Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Informatika.docx
Скачиваний:
15
Добавлен:
27.10.2018
Размер:
322.84 Кб
Скачать

21. Операторы языка Паскаль. Их классификация. Оператор ввода-вывода, присваивания.

Операторы.

1. Составной и пустой операторы

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

2. Операторы ветвлений

Условный оператор

IF <условие> THEN <оператор1> [ELSE <оператор2>]

Условие – значение типа BOOLEAN или логическая операция. Если условие верно, выполняется оператор, или блок операторов, следующий за THEN, в противном случае выполняется блок операторов после ELSE, если он есть.

Условия могут быть вложенными и в таком случае, любая встретившаяся часть ELSE соответствует ближайшей к ней "сверху" части THEN.

3. Операторы повторений

Цикл с предопределенным числом повторений.

For <переменная цикла>:=<начальное значение> To(DownTo) <конечное значение> Do <блок операторов>

Переменная должна быть целого или перечислимого типа. При исполнении цикла переменная цикла изменяется от начального до конечного значения с шагом 1. Если стоит to, то переменная увеличивается, если downto – уменьшается.

Условия выполнения цикла проверяются перед выполнением блока операторов. Если условие не выполнено, цикл For не выполняется. Следующая программа подсчитывает сумму чисел от 1 до введенного:

Условный цикл с проверкой условия перед исполнением блока операторов.

While <условие> Do <блок операторов>

Блок операторов будет исполняться, пока условие имеет значение true. Необходимо, чтобы значение условия имело возможность изменения при исполнении блока операторов, иначе исполнение цикла не закончится никогда (в DOS это приведет к зависанию компыютера). Если условие зарание ложно, блок операторов не исполнится ни разу.

Условный цикл с проверкой после выполнения блока операторов.

Repeat <тело цикла> Until <условие>

Блок операторов независимо от значения условия будет выполнен хотябы один раз. Цикл заканчивается, если после очередного исполнения блока операторов условие имеет значение true.

Оператор выбора одного из вариантов.

Case <ключ выбора> Of <список выбора> Else <оператор> End;

<ключ выбора> - выражение любого перечислимого типа,

<список выбора> - одна или более конструкций вида <значение ключа>:<блок операторов>.

Оператор безуслов ного перехода на строку с меткой.

Goto <метка>

Метка, должна быть описана в разделе описаний. Метка, описанная в процедуре (функции) локализуется в ней, поэтому передача управления извне процедуры (функции) на метку внутри нее невозможна.

Классификация операторов языка Паскаль.

-Оператор условной передачи управления (Используют для программирования ветвлений, т. е. ситуаций, когда возникает необходимость при выполнении условия реализовывать одни действия, а при нарушении - другие. Условие записывают в виде логического выражения, в зависимости от результата которого осуществляется выбор одной из ветвей: если результат true, то выполняется оператор, следующий за служебным словом then, иначе - оператор, следующий за служебным словом else.

- Оператор выбора (Используется для реализации нескольких альтернативных

вариантов действий, каждый из которых соответствует своим значениям

некоторого параметра.)

- Операторы организации циклической обработки:

Для реализации циклических процессов используют операторы циклов.

Основные виды циклов:

• цикл-пока (while) (а);

• цикл-до (repeat until) (б);

• счетный цикл (цикл с заданным числом повторений) (в).

Организация программ линейной структуры.

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

Ввод данных

Для ввода исходных данных чаще всего используется процедура ReadLn:

ReadLn(A1,A2,...AK);

Процедура производит чтение К значений исходных данных и присваивает эти значения переменным А1, А2, ..., АК.

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

Значения исходных данных могут отделяться друг от друга пробелами и нажатием клавиш табуляции и Enter.

Не допускается разделение вводимых чисел запятыми!

Вывод данных

Для вывода результатов работы программы на экран используются процедуры:

Write(A1,A2,...AK);

WriteLn(A1,A2,...AK);

Первый из этих операторов производит вывод значений переменных А1, А2,...,АК в строку экрана. Второй оператор, в отличие от первого, не только производит вывод данных на экран, но и производит переход к началу следующей экранной строки. Если процедура writeln используется без параметров, то она просто производит пропуск строки и переход к началу следующей строки.

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

Форма представления значений в поле вывода соответствует типу переменных и выражений: величины целого типа выводятся как целые десятичные числа, действительного типа - как действительные десятичные числа с десятичным порядком, символьного типа и строки - в виде символов, логического типа - в виде логических констант TRUE и FALSE.

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

Для величин действительного типа элемент списка вывода может иметь вид А:К:М, где А - переменная или выражение действительного типа, К - ширина поля вывода, М - число цифр дробной части выводимого значения. К и М - выражения или константы целого типа. В этом случае действительные значения выводятся в форме десятичного числа с фиксированной точкой.

Оператор присваивания

Оператор присваивания. В Паскале знак присваивания выглядит как :=. Оператор присваивания записывается в соответствии с общим правилом: Х:=А, где X — идентификатор переменной, А — выражение. Набор операций, используемых для образования выражений, будет приведен в следующем параграфе.

Условный оператор. Этот оператор в точности реализует управляющую структуру РАЗВИЛКА. Он имеет вид:

IF Q THEN Р, ELSE Р2

Здесь Q — булевское выражение, Pi и Р2 — операторы (каждый из них может быть составным). Если Q имеет значение «истина», то выполняется оператор Pi, в противном случае выполняется оператор Р2 (служебное слово ELSE и переводится «иначе»). Краткая форма условного оператора:

IF Q THEN Р

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

ЦИКЛ-ПОКА имеет вид:

WHILE Q DO Р

ЦИКЛ-ДО записывается так:

REPEAT Р UNTIL Q

Выполняются эти операторы в точном соответствии со смыслом представляемых ими управляющих структур. (Служебные слова WHILE ... DO переводятся как пока...выполнять, a REPEAT... UNTIL — повторять...до.)

В ЦИКЛЕ С ПАРАМЕТРОМ шаг его изменения может равняться либо 1, либо —1. Первый вариант оператора цикла записывается так:

FOR I=A ТО В DO Р а второй вариант так: FOR I=A DOWN ТО В DO Р

Оператор перехода. Этот оператор имеет вид GO ТО N, где N — метка.

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