Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otvety.doc
Скачиваний:
1
Добавлен:
27.09.2019
Размер:
391.68 Кб
Скачать

Процедуры и функции

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

Процедуры и функции позволяют разделить логику программы на более мелкие и управляемые фрагменты и аналогичны подпрограммам в других языках. Как и в основном блоке программы, все действия в процедурах и функциях заключаются в begin и end. Каждый из этих сегментов кода выполняет конкретную задачу.

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

  1. Получение числа от пользователя.

  2. Выполнение с этим числом необходимых вычислений.

  3. Печать отчета.

Операторы

Исходный код между begin и end содержит операторы, которые описывают выполняемые программой действия. Это называются операторной частью программы. Приведем примеры операторов:

A := B + C; { присвоить значение }

Calculate(Length, Height); { активизировать процедуру }

if X < 2 then { оператор условия }

Answer := X * Y;

Begin { составной оператор }

while not EOF(InFile) do { оператор цикла }

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

Выражения

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

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

X + Y

Done <> Error

I <= Length

-X

Лексемы

Лексемы - это наименьшие значащие элементы в программе Паскаля. Они образуются операндами и операциями выражений. Лексемы - это специальные символы, зарезервированные слова, идентификаторы, метки и строковые константы. Приведем примеры лексем Паскаля:

Function { зарезервированное слово }

( { специальный символ }

:= { специальный символ }

Calculate { идентификатор процедуры }

9 { число }

30.

Типы, переменные, константы и типизированные константы

Переменная может содержать изменяемое значение. Каждая переменная должна иметь тип. Тип переменной определяет множество значений, которые может иметь переменная.

Например, в следующей программе описываются переменные X и Y, имеющие тип Integer. Таким образом, X и Y могут содержать только целые значения (числа). Если в вашей программе предпринимается попытка присвоить этим переменным значения другого типа, Pascal сообщает об ошибке.

program Example;

const A = 12; {константа A не изменяет значения}

B: Integer = 23; {типизированная константа B получает начальное значение}

Var

X, Y: Integer; { переменные X и Y имеют тип Integer }

J: Real; { переменная J имеет тип Real }

Begin

X := 7; { переменной X присваивается значение }

Y := 7; { переменной Y присваивается значение }

X := Y + Y; { значение переменной X изменяется }

J := 0.075; { переменной J присваивается значение с плавающей точкой }

End.

В этой простой и не очень полезной программе X первоначально присваивается значение 7; двумя операторами ниже ей присваивается новое значение: Y + Y. Как можно видеть, значение переменной может изменяться.

A - это константа. Программа назначает ей значение 12, и это значение изменяться не может - в ходе выполнения программы оно остается постоянным.

B представляет собой типизированную константу. Ей присваивается значение при описании, но дается также тип Integer. Типизированую константу можно рассматривать как переменную с начальным значением. Позднее программа может изменить первоначальное значение B на какое-то другое значение.

Если вы вернетесь обратно к приведенному в начале главы примеру кода, то увидите, что функция GetNumber имеет раздел описаний, в котором описывается переменная. Процедуры и функции могут содержать разделы описаний также как программы и модули.

31.

Структура программ

В своей простейшей форме программа Pascal состоит из заголовка программы, который именует программу, и основного программного блока, выполняющего назначение программы. В основном программном блоке находится секция кода, заключенная между ключе- выми словами begin и end. Приведем простейшую программу, иллюстрирующую эти принципы:

program Privet;

begin

Writeln('Добро пожаловать в Pascal');

end.

Первая строка - это заголовок программы, который именует данную программу. Остальная часть программы - это исходный код, который начинается ключевым словом begin и заканчивается end. Хотя данная конкретная программа содержит только одну строку, их может быть много. В любой программе Pascal все действия выполняются между begin и end.

Ввод и вывод данных

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

Процедура вывода Write производит вывод данных.

Общий вид: Write(<список вывода>);

В списке вывода могут быть представлены выражения допустимых типов данных (integer, real, char и т.д.) и произвольный текст, заключенный в апострофы.

Например, Write(‘Привет’); Write(34.7); Write(45+55); Write(b, d);

Процедура Writeln аналогична процедуре Write. Отличие в том, что после вывода последнего в списке выражения курсор переходит на начало новой строки.

В процедурах вывода Write и Writeln имеется возможность записи выражения, определяющего ширину поля вывода.

Процедура чтения Read обеспечивает ввод данных для последующей их обработки программой. Общий вид: Read (<список переменных>);

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

Процедура чтения Readln аналогична процедуре Read, единственное отличие в том, что после считывания последнего в списке значения курсор переходит на начало новой строки.

32.

Простые условия

Как известно, операторы (команды) ввода и вывода, оператор (команда) присваивания позволяют составлять линейные программы, в которых все команды выполняются последовательно, одна за другой. В программировании можно создавать программы, умеющие выполнять выбор. Для этого существуют команды, которые позволяют компьютеру принимать решения в зависимости от выполнения некоторого условия. Одной из таких команд является условный оператор языка программирования Pascal

If условие then оператор_1 else оператор_2;

В переводе на русский язык данная форма записи означает: если выполняется условие, то исполняется оператор_1, иначе исполняется оператор_2.

Рассмотрим на примере, как работает оператор if.

Например, необходимо дать задание компьютеру проверить, знают ли ученики таблицу умножения.

Условие - это выражение, стоящее в операторе if..then сразу после слова if. В зависимости от этого условия (его истинности или ложности) компьютер выполняет ту либо иную ветвь программы.

Простое условие - это математическое сравнение двух выражений по величине (сравнение двух величин).

Составные условия

При решении различных задач иногда возникает необходимость проверять выполнение двух (как например, 0<a<5) и более условий. Такие условия называют составными. Для записи составных условий на языке программирования используют следующие логические операции:

  • and – логическое «и»;

  • or – логическое «или»;

  • xor – логическое «исключающее или»;

  • not – логическое отрицание.

Простые условия при этом обязательно заключаются в скобки, так как логические операции имеют более высокий приоритет, чем операции сравнения.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]