Раздел команд простой (линейной) программы складывается из команд присваивания, ввода-вывода данных и вызовов процедур.
1. Команда присваивания.Команда присваивания выглядит таким образом:
<имя переменной> := <выражение>;
Действие команды. Вычисляется выражение, и его значение присваивается переменной. Выражение служит для описания формул, по которым выполняются вычисления, и может состоять из чисел, имен переменных, констант, функций, соединенных символами операций.
Переменная и выражения должны быть одного типа или согласованными: переменным вещественного типа можно присваивать значения выражений целого типа, а переменным строкового типа - значения выражений символьного типа, но не наоборот.
Пример. Рассмотрим действие команд присваивания в программе triangle из первого параграфа:
р := а + b + с;
р:=р/2;
s := sqrt(p * (р - а) * (р - Ь) * (р - с));
Здесь вычисляется значение периметра, которое присваивается переменной р, полупериметра (присваивается тоже переменной р) и площади (присваивается переменной s).
2. Основные операции, стандартные функции и некоторые процедурыязыка Паскаль описаны в таблицах 3 и 4 соответственно.
Табл. 3. Основные операции
Приоритет
Операция
Действие операции
+, ~ not
Присваивания знака Логическое отрицание
*, /div, mod and
Умножение, деление Целочисленные операции Логическое произведение
+, -or, xor
Сложение, вычитание Логические суммы
=,<>,<,>,<=,>=in
Отношения (сравнения) Принадлежность к множеству
Операции выполняются с учетом их приоритета (1 — самый высокий). Для изменения естественного порядка выполнения операций используют круглые скобки, например:
3. Команды ввода данных (read, readln).Присвоить значения переменным можно двумя способами: при помощи команды присваивания, например, х := 5, или команды ввода данных с клавиатуры read. Второй способ делает программу более универсальной (массовой), поскольку даёт возможность решать одни и те же задачи для разных значений переменных. Команда read в общем виде выглядит так:
reаd(<переменная 1> ,...,< переменная n>);
Действие команды. Выполнение программы приостанавливается. Система переходит в режим ожидания ввода данных (экран темный, мигает курсор ввода). Значения данных пользователь набирает на клавиатуре через пропуск или нажимает после каждого данного клавишу ввода. В результате соответственным переменным будут присвоены конкретные значения.
Команда readln выглядит так:
readln(<переменная 1>, ..., < переменная n>);
Различие между командами read и readln заключается в том, что во время выполнения команды readln лишние данные в строке ввода игнорируются. Следующая команда ввода будет считывать данные с новой строки. Эту команду используют обычно при работе с текстовыми файлами.
Рассмотрим программу triangle. Значения сторон треугольника можно ввести, например, так: readln(a, b); read(c).
Тогда во время выполнения программы на клавиатуре набираем
5 3.6 (нажимаем клавишу ввода)
4.2 (нажимаем клавишу ввода)
В результате выполнения команд readln(a, b) и read(c) переменные получат следующие значения: а = 5; b = 3.6; с = 4.2.
Замечание 1. Команду readln без параметров можно использовать в среде ТР для MS-DOS для просмотра окна с результатами. Для того, чтоб перейти в режим редактирования программы, достаточно нажать любую клавишу. В среде ТР для Windows результаты выполнения программы система выводит в отдельном окне, поэтому там этим приёмом не пользуются.
Замечание 2. Значения переменных логического и перечислимого типов вводить с клавиатуры нельзя.
4. Команды вывода данных (write, writeln).Для вывода на экран сообщений и результатов работы программы используют команды write и writeln. Команда write выглядит так:
write(<выражение 1>, ..., <выражение n>);
В списке вывода могут быть константы, переменные или выражения.
Действие команды. Константы, значения переменных и выражений выводят на экран в окно вывода. В среде ТР для MS-DOS это окно можно активизировать, например, с помощью комбинации клавиш Alt+F3.
Команда
write1n(<выражение 1>, ..., <выражение n>);
действует почти так же, как и команда write. Различие в том, что следующая после нее команда вывода будет печатать значения в новой строке.
Для перехода на новую строку экрана или для пропуска строки используют команду writeln без параметров.
Рассмотрим программу triangle. Если написать такие команды вывода:
то для входных данных а = 5, b = 3.6, с = 4.2, на экране получим такой результат:
р = 1.2800000000E+01s = 7.429239530E+00. Программу составил Панчишин Ю.
5. Форматированный вывод данных.С помощью команд write и writeln можно осуществлять форматированный вывод данных. Форматирование - это представление результатов в нужном для пользователя виде. Для этого после выражения записывают формат - двоеточие и число (:n), обозначающее количество позиций на экране, которые необходимо выделить для вывода значения этого выражения. Формат :n применяют для данных целого и строкового типов. При выводе данного действительного типа указывают общее количество позиций (n) и количество позиций для дробной части (m), то есть формат выглядит так :n:m.
Рассмотрим команду вывода writeln('p =', р:5:2) в программе triangle. Она обеспечивает вывод на экран (с целью объяснения результата работы программы) строковой константы 'р =' без кавычек и числа 12,8 в формате :5:2, то есть так:
р = 12.80.
Задача 1. Пусть заданы координаты трех вершин треугольника А(1; 1), В(2; 2) и С(-1; 2). Вычислить медиану т^ и радиус описанной окружности.
programTriangle!;
usesCrt;
varxl, yl, x2, y2, хЗ, y3, a, b, c, mb, r, x, y, p, s: real;
Замечание. Если не использовать форматированный вывод, то для данных целого и логического типов на экране выделяется до 15 позиций, для данных вещественного типа - 18. Данные вещественного типа выводятся в виде
х.ххххххххххЕзнакхх,
где х — любая цифра, что часто является избыточным. Такие числа на экране могут сливаться.
Задание 1. Решить задачу № 2 своего варианта из раздела «Задачи».
Справка. Приведём формулы вычисления некоторых величин для решения задачи № 2:
расстояние между точками
координаты середины отрезка:
полупериметр треугольника:
площадь треугольника:
высоты треугольника:
биссектрисы треугольника:
радиус описанной окружности:
радиус вписанной окружности: , где а, b, с — стороны треугольника.