Top.Mail.Ru

Turbo Pascal. Структура программы

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

Составим программу вычисления площади прямоугольника. Обозначим буквами  a,b,с  длины сторон прямоугольника, буквой s площадь прямоугольника. Таким образом, мы имеем три переменные, имена которых a, b. s. 

Значение переменных a,b будем вводить с клавиатуры. Результат вычисления выведем на экран монитора.

ЗАДАЧА. Составить программу вычисления площади прямоугольника.


Program a1; {заголовок программы, имеющей имя a1}

(*программа вычисления площади прямоугольника*) {это комментарий}

Var {раздел объявления переменных}

a,b,s:integer; {объявление переменных}

Begin {начало раздела операторов}

Write(‘Введите длину 1-й стороны:’); {вывод текста на экран монитора}

Readln(a); {ввод переменной a с клавиатуры}

Write(‘Введите длину 2-й стороны:’); {вывод текста на экран монитора}

Readln(b); {ввод переменной b с клавиатуры}

S:=a*b; {вычисление площади}

Writeln(‘Площадь равна: ’, s); {вывод результата на экран монитора}

end. {окончание раздела операторов – программы}

 Результаты работы программы:

 Введите длину 1-й стороны: 12 
 Введите длину 2-й стороны: 24 
 Площадь равна: 288 

Примечание: данные, введенные пользователем, выделены полужирным шрифтом.

Программа вычисления площади прямоугольника начинается с зарезервированного слова Program , которое не может использоваться ни в каких иных целях, кроме как для объявления имени программы. Кроме того, слово Program означает начало программы. Далее записывается имя программы. В нашем случае a1 . Первая строка заканчивается особым разделителем – точкой с запятой. Этот разделитель отмечает конец оператора или описания.

После заголовка программы следует текст, заключенный в скобки типа(* *). Это комментарий.

После комментария следует описание данных. Слово Var зарезервировано для объявления, т.е. для описания переменных, используемых в программе. В нашем примере объявлены три переменные a,b,s как переменные целого типа, на это указывает зарезервированное слово integer . Имена переменных записаны через запятую, а перед словом integer стоит двоеточие. Эта строка также заканчивается точкой с запятой.

Все вышеперечисленные строки не связаны с какими-либо действиями при работе программы. Они сообщают компилятору сведения о самой программе и используемых объектах. Эта часть программы называется разделом описаний.

Далее между зарезервированными словами begin и end располагается другая часть программы – раздел операторов. В нашем примере это стандартные процедуры: Write() , Writeln() , Readln() , а также оператор S:=a*b; 

Процедура Write() – написать (вывести) – осуществляет вывод на экран монитора объекта, заключенного в скобки. В данном случае объектом является текстовая строка «Введите длину 1-й стороны: » . Процедура Writeln() (сокращение Write Line) в отличие от Write() после вывода переводит курсор на новую строку экрана монитора.

 Readln() – читать строку – стандартная процедура ввода значения переменной, заключенной в скобки. При выполнении этой процедуры необходимо будет ввести с клавиатуры численное значение переменной a.

Процедура – это некоторая последовательность операторов, к которой можно обратиться по имени. Процедуры Write() , Writeln() , Readln() являются стандартными процедурами. Стандартные процедуры заранее запрограммированы и встроены в транслятор языка, поэтому они не нуждаются в описании. Они доступны в любой программе, в которой содержатся к ним обращения.
Два последующих оператора нашей программы аналогичны ранее рассмотренным.

Строка S:=a*b; содержит оператор присваивания «:=» , который является одним из основных операторов языка программирования. В его левой части указывается имя переменной, правая часть представляет собой выражение. Выполняется оператор так: вычисляется численное значение выражения в правой части и результат записывается в переменную слева.


Оператор Writeln(‘Площадь равна: ’, s); выводит на экран монитора два объекта: текстовую строку «Площадь равна: » и значение переменной s .


Завершает всю программу зарезервированное слово end с точкой. Точка оповещает компилятор о конце текста программы. Далее, после end с точкой, можно размещать какой угодно текст – он не будет обрабатываться компилятором.

Структура программы на языке Турбо Паскаль имеет вид:

Program имя;

– заголовок программы

 Раздел описаний

    Type
    <описание типов>;

– подраздел типов

    Const
    <описание констант>;

– подраздел констант

    Var
    <описание переменных>;

– подраздел переменных

    Label
    <описание меток>;

– подраздел меток

    procedure, function
    <описание процедур и функций>;

– подраздел процедур и функций

Begin

Раздел операторов 

<samp    >оператор 1;

    оператор 2;

    ...

    оператор n-1;

    оператор n-1;

End.

С упрощениями, допустимыми для начального курса программирования, программа на языке Паскаль состоит из трех основных частей:

  • заголовок;
  • раздел описаний;
  • раздел операторов.

Заголовок. Строка заголовка состоит из зарезервированного слова  PROGRAM и имени программы. В Паскале эта строка не обязательна, и ее можно опустить. Но правила хорошего стиля программирования требуют задания некоторого имени программы, чтобы при чтении можно было получить информацию о назначении программы.

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

Не все подразделы обязательны в каждой программе. В простых программах может потребоваться только раздел переменных. После каждого описания подраздела обязательно ставится точка с запятой.

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

В разделе описаний порядок следования подразделов (type, const, var, label, procedure, function) произвольный и подразделы могут многократно повторяться в рамках раздела описаний. Например:

Vari, j, k, z: inteder;

Var flag, dx, dy, dz :integer;

Раздел операторов. Этот раздел ограничен зарезервированными словами  BEGIN и  END. После оператора  END всегда ставится точка, являющаяся признаком конца программы. В разделе операторов записывается последовательность исполняемых операторов. Работа программы начинается с исполнения первого оператора.

Операторы отделяются друг от друга точкой с запятой «;».