Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Воробьева Соппа Программирование в Паскаль 2006...doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.4 Mб
Скачать

Глава 4. Линейные вычислительные процессы

Линейный вычислительный процесс представляет собой последовательность действий, выполняемых один за другим. Основу программы линейного вычислительного процесса составляют оператор присваивания и операторы ввода-вывода данных.

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

Оператор присваивания служит для вычисления выражения и записи результата в память компьютера.

Общий вид записи оператора

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

Знак := читается как «присвоить». Конец любого оператора на языке Турбо Паскаль фиксируется точкой с запятой.

Работа оператора

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

k:=k+1;

текущее значение переменной k увеличится на 1.

Тип результата выполнения оператора

При записи оператора присваивания необходимо строго следить за типом переменной, стоящей в левой части оператора, и типом выражения:

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

m:=20+15DIV4;

вещественной переменной m будет присвоено значение 23.0;

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

Var

a, b, c: real;

n: integer;

Тогда записать оператор присваивания в виде: n:=ab/c; нельзя, так как целой переменной нельзя присваивать вещественное значение. В этом случае надо воспользоваться функцией trunc и записать оператор следующим образом: n:=trunc(ab/c);

Примеры использования оператора присваивания

1. Записать оператор присваивания, который позволяет вычислить расстояние между двумя точками на плоскости с координатами (x1, y1) и (x2, y2).

Ответ: d:=sqrt(sqr(x1–x2)+sqr(y1–y2));

2. Записать последовательность операторов присваивания, обеспечивающих обмен значениями переменных x и y в памяти компьютера.

Ответ: c:=x;

x:=y;

y:=c;

4.2. Операторы ввода-вывода

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

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

Операторы ввода исходных данных с клавиатуры

Общий вид записи операторов

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

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

Переменные в списке перечисляются через запятую.

Работа операторов

Операторы ввода обеспечивают чтение данных с клавиатуры, преобразование их из внешнего представления во внутреннее и присваивание значений переменным, указанным в списке.

Оператор readln отличается от оператора read лишь тем, что после окончания чтения данных из списка, указанного в операторе readln, необходимо перевести курсор на следующую строку, т.е. нажать клавишу [Enter]. При вводе числовых данных с помощью оператора read клавишу [Enter] можно нажимать в любое время.

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

Пример ввода

Пусть в задаче определены следующие исходные данные:

a = 4; x = 3,8; y = 1,2104; k = 5; m = 74

Оператор ввода:

read(a, x, y, k, m);

вызывает чтение данных с клавиатуры, набранных следующим образом:

4 3.8 1.2E4 5 74 [Enter]