
- •Основные элементы схем алгоритма
- •Основные элементы схем алгоритма
- •1.1. Порядковые
- •Лексическая структура языка.
- •Математические операции
- •Понятие программного продукта
- •Содержание документа
- •Вопрос 19, но с определением плюс или минус.
- •Константы
- •Типизированные константы
- •2.2. Структура и способы описания языков программирования высокого уровня
- •3.1 Оператор присваивания и выражения
- •3.2 Операторы процедур. Ввод/вывод информации
- •3.3 Оператор перехода goto
- •4. Структурные операторы. Организация ветвлений и циклов
- •4.1 Составной и пустой операторы
- •4.2 Организация ветвлений. Операторы выбора
- •4.3 Организация циклов. Операторы повторения
- •3.1 Оператор присваивания и выражения
- •3.2 Операторы процедур. Ввод/вывод информации
- •4.1 Составной и пустой операторы
- •Общая форма записи цикла со счетчиком
- •Доступ к элементам массива
- •Изменение значения некоторых элементов
- •Нахождение номеров элементов с заданным свойством
- •Понятие структуры
- •Массив – однородная совокупность элементов
- •Индекс массива
- •Ввод массива Паскаля
- •Вывод массива Паскаля
- •Записи с вариантами
- •1. Введение
- •1.1. Интерпретаторы
- •1.2. Компиляторы
- •2. Классификация языков программирования
3.1 Оператор присваивания и выражения
Оператор присваивания относится к простым операторам и его синтаксис, и семантика определяются следующей синтаксической диаграммой:
По этому оператору переменной присваивается значение выражения. Несмотря на кажущуюся простоту оператора присваивания, при его выполнении осуществляется целый набор элементарных действий:
а) переменные выражения получают свои значения;
б) вычисляется значение выражения;
в) переменной присваивается полученное значение.
В простейшем случае, когда выражение задано константой или другой переменной, вычислений не производится и переменная сразу получает свое значение.
3.2 Операторы процедур. Ввод/вывод информации
Оператор процедуры определяет активизацию процедуры, обозначенную с помощью идентификатора (имени) процедуры. Другими словами, с помощью операторов этого типа осуществляется вызов процедур с указанием в них входных и выходных параметров (подробнее об этом будет сказано в разделе "Процедуры"). Мы начнем знакомство с операторами-процедурами на базе организации ввода/вывода данных в языке Паскаль.
Для организации ввода и вывода данных используются следующие встроенные (машинные) процедуры: READ, WRITE, READLN, WRITELN.
Процедура READ вызывается с помощью соответствующего оператора процедуры, который описывается в виде следующей синтаксической диаграммы:
ОБЩАЯ ФОРМА ЗАПИСИ:
READ(X,Y,..., Z),
где X,Y,..., Z - переменные, называемые списком ввода.
3.3 Оператор перехода goto
GOTO - это оператор безусловного перехода на оператор или процедуру с указанной меткой. Все метки должны быть описаны в объявлении в разделе LABEL.
При использовании оператора перехода необходимо соблюдать следующие правила:
1. Недопустимо метить одной меткой несколько операторов или процедур.
2. Метка, которая указывается в операторе перехода, должна находиться в том же блоке, что и сам оператор перехода. Другими словами, недопустим выход из блока или вход внутрь него.
3. Недопустим вход внутрь структурного оператора.
label 12;
12: write('Введите значение N > 0 '); readln(N);
iF N <= 0 then goto 12;
Не рекомендуется часто применять оператор GOTO, т.к. это ведет к нарушению структурности программы. Наиболее распространенным случаем использования оператора GOTO является обработка ошибки неправильного ввода данных с клавиатуры, как это показано в рассмотренном примере.
4. Структурные операторы. Организация ветвлений и циклов
Структурные операторы строятся из других операторов по определенным правилам. Операторы, входящие в структурный оператор, выполняются последовательно в составных операторах и операторах над записями, альтернативно в условных операторах, многократно в операторах цикла.
4.1 Составной и пустой операторы
При формировании структурных операторов существуют некоторые ограничения на число входящих в него операторов. В частности, в операторе выбора IF (в школьном алгоритмическом языке команда "если"), после служебного слова THEN (аналог - "то") может стоять только один оператор. Поэтому в Паскале возникла необходимость группирования операторов в единое целое - в один составной оператор.
Любая группа операторов, размещенных между словами BEGIN и END (иначе, операторные скобки), рассматривается как один - составной оператор. При выполнении составного оператора все его компоненты (операторы) выполняются в порядке их написания (линейно).
Составные операторы обрабатываются как единое целое, как один оператор, что имеет значение там, где синтаксис языка допускает использование одного оператора. Это имеет место практически во всех структурных операторах. Примеры использования составных операторов будут рассмотрены в соответствующих разделах данного пособия.
Наряду с понятием "составной оператор" в языке существует специфическое понятие - "пустой оператор". Пустой оператор - это оператор, который не предусматривает выполнения никаких действий.