Хотите получать новые статьи блога
прямо себе на почту?
Укажите свой e-mail:


WorldSkills Russia
Яндекс.Метрика Интернет-издание Профобразование

ТЕХНОЛОГИЯ СТРУКТУРНОГО ПРОГРАММИРОВАНИЯ

0

Тема: Технология структурного программирования

План:

  1. Технология структурного программирования
  2. Язык программирования Pascal: состав и структура языка

1. Технология структурного программирования

Историческое развитие ЯП в какой-то момент привело к формированию так называемой нисходящей технологии конструирования программ. Для этого были причины. Аппаратное обеспечение развивалось, программы для него становились всё больше и сложнее. Интуитивное программирование уже не могло быть эффективным. Требовалась какая-нибудь технология программирования.

Технология нисходящего программирования заключается в разбиении одной большой задачи на более мелкие подзадачи, каждая из которых решается отдельно. В результате программа становится похожа на иерархическую структуру. Поэтому в данном случае чаще используют понятие структурного программирования.

При таком подходе важна грамотная декомпозиция задачи, что достигается путём использования ограниченного числа управляющих конструкций (следование, ветвление, цикл).

Обязательным элементом структурного программирования является наличие подпрограмм. Чаще всего во многих языках программирования роль подпрограмм выполняют только функции. В языке Pascal есть деление на функции и процедуры.

Подпрограмма – это обособленный участок кода, который решает одну небольшую задачу. Подпрограммы как раз и являются результатом декомпозиции основной большой задачи. Код подпрограммы располагается либо в отдельном файле (модуле), либо в начале кода основной программы. Из текста программы доступ к коду функции или процедуры осуществляется путём вызова их по имени. Вызов происходит в том месте программы, где следует использовать код данной функции.

Структурное программирование делает программу более понятной. Её легче отлаживать и сопровождать. Разные модули (в которых содержатся функции и процедуры) могут разрабатывать разные люди, в результате чего проще организовать коллективное решение одной большой задачи, так как каждый будет решать свою задачу.

Структурное программирование – это методология разработки программного обеспечения, в основе которой лежит представление программы в виде иерархической структуры блоков.

Технология структурного программирования предложена в 70-х годах 20 века Э. Дейкстрой, разработана и дополнена Н. Виртом.

В соответствии с данной методологией:

  • Любая программа представляет собой структуру построенную из трёх типов базовых конструкций: линейной (следование), ветвление и циклы.
  • Повторяющиеся фрагменты программы (либо не повторяющиеся, но представляющие собой логически целостные вычислительные блоки) могут оформляться в виде подпрограмм (процедур или функций).
  • Разработка программы ведётся пошагово, методом «сверху вниз» — нисходящее программирование.

Перечислим некоторые достоинства структурного программирования:

  • Структурное программирование позволяет значительно сократить число вариантов построения программы по одной и той же спецификации, что значительно снижает сложность программы и облегчает понимание её другими разработчиками.
  • В структурированных программах логически связанные операторы находятся визуально ближе, а слабо связанные – дальше, что позволяет обходиться без блок-схем (по сути сама программа является собственной блок-схемой).
  • Сильно упрощает процесс тестирования и отладки структурированных программ.

Не смотря на то, что структурное программирование было особенно популярным в 70-х годах, на сегодняшний день программирование зачастую начинают изучать именно с него.

2. Язык программирования Pascal: состав и структура языка

Pascal разработан в 1971 году как учебный язык и назван в честь Блеза Паскаля – французского учёного, изобретателя механической вычислительной машины (калькулятора). Автор языка Pascal – швейцарский профессор Никалаус Вирт (стандарт языка был принят в 1979 году).

Достоинства и недостатки языка Pascal:

(+)

  • имеет структурное программирование
  • прост в изучении
  • основа для объектно-ориентированной среды программирования Delphi
  • алгоритмический язык
  • трансляторы с Pascal есть во всех современных ПК

(-)

  • нет операции возведения в степень
  • из-за богатства различных возможностей функций представляет сложность при первом знакомстве

Алфавит языка состоит из трёх групп символов: букв, цифр и спецсимволов.

  1. В качестве букв используются прописные (заглавные) латинские буквы от A до Z . Допускается расширение набора букв, включением в него букв русого алфавита (строчных и прописных) и строчных букв латинского алфавита.
  2. Цифрами являются обычные десятичные (арабские) цифры ( 0, 1, … 9 ) и цифры шестнадцатеричной системы счисления ( 0 … 9, A … F ).
  3. Группа спецсимволов достаточно многочисленна и неоднородна. Её можно разбить на 4 группы:
    • знаки арифметических операций: +, -, *, / .
    • знаки операций сравнения

    Таблица 1. Знаки операций сравнения в языке Pascal

    Знак операции сравнения
    в Pascal
    Его смысл Математический
    эквивалент
    = равно =
    <> не равно
    < меньше <
    <= меньше или равно
    > больше >
    >= больше или равно
    • Группы разделителей образуют следующие символы: . , ; : () [] {} ^ ‘ :=
    Пробел – не имеет графического представления, но тоже считается символом.
    • Группа служебных слов, смысл которых определён однозначно, они не могут быть использованы для других целей: and, array, begin, case, const, div, do, downto, else, end, for function, goto, if, in, label, mod и мн. др.
    С точки зрения языка – это единый символ.

Идентификатором, называется символическое имя определённого программного объекта. Такими объектами являются имена констант, переменных, типов данных, процедур и функций, программ.

Идентификатор – это любая последовательность букв и цифр. В Pascal к буквам приравнивается также знак подчёркивания. Строчные и прописные буквы в идентификаторах и служебных словах не различаются. Первым символом обязательно должна быть буква.

Например: max, MAX, MaX и maX – одно и то же имя.

Длина идентификатора может быть произвольной, но значащими являются только первые 63 символа.

Комментарии необходимы для документирования программы. С их помощью можно объяснить назначение и особенности программы, суть используемого алгоритма, назначение переменных и т.д.

Например:

//это однострочный комментарий

{а это многострочный
комментарий}

Следующие конструкции представляют собой комментарии и поэтому игнорируются компилятором.

Буквы русского алфавита употребляются только в комментариях, в литерных (символьных) и текстовых константах.

Структура программы на языке Pascal

Рис. 1.Структура программы на языке Pascal.

Программа на языке Pascal состоит из заголовка программы и тела программы (блока) за которым следует точка – признак конца программы. В свою очередь, тело содержит раздел описаний и раздел операторов.

Раздел операторов имеется в любой программе и является основным. Предшествующие разделы носят характер описаний и не все обязательно присутствуют в каждой программе.

Также в Pascal возможно следующее:

  • отсутствие заголовка программы;
  • разделы Label, Const, Var, Type, Procedure могут следовать друг за другом в любой последовательности и встречаться в разделе описаний несколько раз.

Заголовок программы начинается со слова Program (программа), за которым следует произвольное имя, придуманное программистом.

Имя программы может включать цифры и буквы латинского алфавита, знак подчёркивания, но всегда должно начинаться с буквы.

Раздел описания переменных начинается со слова var (variables — переменная) за которым идёт список имён переменных через запятую. Тип указывается после двоеточия.

[pascal][/pascal]
var a, b, c: integer;
[pascal][/pascal]

Раздел операторов – основная часть программы. Начало и конец раздела операторов программы отличаются служебными словами begin (начало) и end (конец). В самом конце программы ставится точка.