
- •Постановка задачи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
- •Задание 1
- •I. Постановка задачи
- •II. Алгоритм задачи, описанный в виде блок-схемы:
- •III. Алгоритм задачи, описанный на языке программирования Pascal-программа:
- •IV. Описание используемых модулей и основных операторов.
- •Алгоритмы циклической структуры (повторение) — алгоритмы, отдельные действия в которых многократно повторяются.
- •V . Результаты работы программы
IV. Описание используемых модулей и основных операторов.
При решении задачи № 1 использовались следующие операторы
Операторы — отдельные инструкции, входящие в программу.
Простые операторы. Простыми называются операторы, которые не содержат в себе других операторов.
К простым операторам относятся:
оператор присваивания;
оператор безусловного перехода;
пустой оператор;
операторы ввода-вывода.
Оператор присваивания
Оператор присваивания является важнейшим оператором любого языка программирования. С его помощью можно присвоить переменной значение выражения.
Имеет вид:
<имя> := <выражение>;
Оператор работает следующим образом:
вначале оценивается выражение, т.е. определяется его значение;
полученное значение присваивается идентификатору, стоящему в левой части оператора.
В результате прежнее значение идентификатора перезаписывается, а поэтому старое значение утрачивается. Знаком присваивания в Паскале является совокупность знаков ( := ).
Нужно запомнить: слева от знака присваивания не может быть выражение.
При использовании оператора присваивания следует учитывать, что идентификатор и выражение должны иметь одинаковый тип. Имеется лишь одно исключение из этого правила: идентификатор может иметь тип REAL, а выражение значение типа INTEGER.
Операторы ввода данных
Для ввода данных в языке Паскаль предусмотрены стандартные зарезервированные слова — READ и READLN.
Оператор ввода служит для ввода данных в процессе выполнения программы и используется в виде:
READ (а1, а2, а3, …,аn) — каждое вводимое значение присваивается последовательно переменным а1, а2, а3, …,аn;
READLN (а1, а2, а3, …,аn) — каждое вводимое значение присваивается последовательно переменным а1, а2, а3, …,аn, после чего происходит переход на новую строку (следующий оператор ввода будет вводить данные с новой строки);
READLN — переход на новую строку при вводе данных.
Логические данные в Паскале вводить не разрешается.
При вводе числовые данные должны разделяться пробелом или символом окончания ввода (клавиша enter).
Пример ввода:
VAR a, b, c : REAL;
k, t : INTEGER;
. . . .
READ (a, b, c);
READLN;
READ (k, t);
После набора на экране дисплея всей программы и запуска ее на выполнение происходит останов машины при встрече READ (a, b, c). На клавиатуре компьютера необходимо набрать три действительных числа, затем с новой строки (выполняется оператор READLN) — два
Числа можно отделять друг от друга не только пробелами, но и символом окончания ввода (клавиша enter), т.е. каждое число вводится с новой строки.
Операторы вывода
Для вывода значений в языке Паскаль предусмотрены стандартные зарезервированные слова — WRITE и WRITELN.
Общий вид записи при выводе значений целого типа:
WRITE (b : m);
WRITELN (b : m); где b — имя выводимой переменной, m — константа или выражение целого типа.
Например: WRITE (х : 6, у : 8);
Значения переменных х и у размещаются в одной строке и занимают соответственно шесть и восемь позиций. Каждое значение размещается в отведенном поле и занимает крайние правые позиции. При этом незаполненные позиции остаются свободными, образуя пробелы. Если значение переменной не размещается в отведенном поле, то увеличивается число позиций.
Общий вид записи при выводе значений действительного типа с фиксированной точкой:
WRITE (b : m : n);
WRITELN (b : m : n); где m — поле, отводимое под все значение, n — часть поля, отводимого под дробную часть числа.
С т р у к т у р и р о в а н н ы е о п е р а т о р ы. Структурированными называются операторы, состоящие из других операторов.
Они подразделяются:
составной оператор;
условный оператор;
операторы повтора.
Составной оператор
Составной оператор — это последовательность произвольных операторов программы, заключенная в операторные скобки – зарезервированные слова BEGIN…END. Операторы разделяются “ ; ”.
Составной оператор служит, в первую очередь, для того, чтобы несколько операторов синтаксически объединить в один. Это часто требуется там, где нужно выполнить несколько операторов, когда допустим лишь один. Понятие составного оператора позволяет с помощью команд BEGIN и END объединить несколько операторов и рассматривать их с точки зрения синтаксиса как один оператор. На характер операторов, входящих в составной оператор, не накладывается никаких ограничений.
Среди них могут быть и другие составные операторы.
BEGIN
………
BEGIN
………
………
END;
………
END;
Условный оператор
Условный оператор позволяет проверить некоторое условие и в зависимости от результата выполнить то или иное действие. С помощью этого оператора программируются алгоритмы разветвляющейся структуры.
Структура условного оператора:
IF <условие> THEN <оператор 1> ELSE<оператор 2>, где IF, THEN, ELSE — зарезервированные слова (если, то, иначе); <условие> — произвольное выражение логического типа; <оператор 1>, <оператор 2> — любые операторы языка.
Условный оператор работает по следующему алгоритму:
вначале вычисляется выражение <условие>;
если результат есть TRUE (истина), то выполняется <оператор 1>, а оператор <оператор 2> пропускается;
если результат есть FALSE (ложь), наоборот, <оператор 1> пропускается, а выполняется <оператор 2>.
Правила использования условного оператора:
Перед ELSE никогда не ставится точка с запятой (поскольку это еще не конец оператора IF).
Если требуется выполнить после THEN и ELSE несколько операторов, они обрамляются командами BEGIN и END, образуя тем самым составной оператор.
Часть ELSE<оператор 2> условного оператора может быть опущена. Тогда при значении TRUE условного выражения выполняется <оператор 1>, в противном случае этот оператор пропускается.
Если ELSE отсутствует, а после оператора THEN вновь стоит оператор IF , то возникает неоднозначность трактовки условий. Эта неоднозначность решается следующим образом: любая встретившаяся часть ELSE соответствует ближайшей к ней “сверху” части THEN условного оператора.
Операторы повтора. Циклы