Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на языке Паскаль в среде Turbo Pascal версии 6 и 7 (Курс лекций). Воронов Г.И.Санкт-Петербург 2010г.doc
Скачиваний:
64
Добавлен:
15.04.2015
Размер:
754.69 Кб
Скачать

Глава 5. Выполняемые операторы языка (для программ линейной структуры) Понятие и классификация

Программа на Паскале представляет собой последовательность операторов, часть которых служит для описания данных и других объектов программы, а остальные служат для реализации алгоритма решения задачи. Кроме операторов в тексте программ могут встречаться комментарии и директивы компилятору. Рассмотрим основные группы предложений (инструкций) Паскаля

Классификация инструкций Паскаля

Рисунок 1. Классификация инструкций Паскаля

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

Рассмотрим сначала выполняемые операторы.

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

Полое название оператора – Оператор присваивания нового значения переменой.

Оператор присваивания - основной оператор любого языка программирования, т.к. именно он позволяет получить новые данные по уже имеющимся. Фактически он состоит из трех частей: вычисления значения выражения, записанного в правой части оператора; необязательного преобразования результата к типу переменной, имя которой записано в левой части оператора; записи приведенного результата в область памяти, занимаемую этой переменной. Правая и левая части оператора разделены знаком ":=".

Формат оператора:

<имя переменной> := <выражение>;

Оператору присваивания в блок-схеме соответствует блок процесс:

Рисунок 2. Изображение присваивания в блок-схеме

Примеры:

Name := 'Иванов';

InformBall := 5;

X1:= (-B -sqrt(sqr(B)-4.0*A*C))/2.0/A;

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

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

Лекция 13

Простейшие операторы ввода с клавиатуры

Если оператор присваивания реализует основную функцию обработки информации с помощью ЭВМ - преобразование данных, то вспомогательные функции реализуются операторами ввода и вывода. Рассмотрим простейшие операторы ввода и вывода в Паскале. Строго говоря, язык не имеет операторов ввода и вывода, а использует для этого специальные процедуры. Однако, традиционно такие простейшие процедуры рассматривают как операторы.

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

Read(<список переменных>); или

Readln(<список переменных>);

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

Вводу данных в блок схеме соответствует блок ввод:

Рисунок 3. Изображение простейшего ввода в блок-схеме

Примеры:

Read(N); {программа ждет, пока не будет набрано число на клавиатуре и не нажата клавиша <Enter>, после чего переменная с именем N получит набранное значение}

Read(A,B,C); {необходимо набрать через пробел три числа и нажать <Enter>, первое попадет в ячейку с именем A и т.д.}

Нельзя в списке имен писать константы или выражения.

Если в программе требуется выполнить ввод данных с клавиатуры, предварительно следует предусмотреть команды вывода на экран запроса, какие параметры и в каком порядке пользователь должен вводить, например:

Writeln('задай коэффициенты уравнения: A,B,C');

Readln(A,B,C);

или

Writeln('Сколько вариантов будем считать?');

Readln(N);