Самый простой вариант программы для ЭВМ – линейный алгоритм. При выполнении такой программы последовательность действий от начала программы до ее конца никогда не изменяется. На практике такие алгоритмы являются фрагментами более сложных программ.
Следующая программа производит пересчёт температуры (t) из шкалы Цельсия в шкалу Фаренгейта. Словесное описание алгоритма программы можно представить так:
· получить с клавиатуры значение температуры в градусах Цельсия;
· пересчитать температуру из шкалы Цельсия в шкалу Фаренгейта;
· вывести на экран вычисленное значение температуры в градусах Фаренгейта.
Пересчёт основан на том, что t (°F) = t (°С)´1.8+32;
ниже приведён текст программы:
Program Temperature;
Uses crt;
Var
t,f:real;
begin
Clrscr;
Writeln('Пересчёт температуры из шкалы Цельсия в шкалу Фаренгейта');
Writeln('Введите температуру в градусах Цельсия');
Readln(t);
f:=t*1.8+32;
Writeln('Температура в градусах Фаренгейта =',f:6:1);
Readln;
End.
Наберите текст программы, сохраните на диске в своей папке под именем Temper.pas, скомпилируйте программу и запустите её на выполнение. Выполните пересчёт для следующих значений температуры по Цельсию: –273.15; –42; –17.78; 0; +25, +100.
Выражения в языке Pascal состоят из операндов и операторов. Операндами выражений могут быть константы и переменные. Операторы находятся между операндами и обозначают действия, выполняемые над операндами. Значения переменных должны быть определены до их появления в арифметическом выражении. В табл.3.1 перечислены операторы и математические функции, используемые в арифметических выражениях Turbo Pascal.
При записи выражений между операндом и оператором, за исключением операторов div и mod, пробел можно не ставить. Операторы имеют разный приоритет. Наивысший приоритет имеют функции, далее – умножение и деление, наименьший – сложение и вычитание. Приоритет операторов влияет на порядок их выполнения. При вычислении выражения сначала выполняются операторы с более высоким приоритетом. Если приоритет операторов в выражениях одинаковый, то сначала выполняется тот оператор, который находится левее. Выражение записывается в одну строку. Порядок вычислений можно изменить с использованием круглых скобок:
Y:=(R*T+25)/(a*(b+c*(d+f*(x+g))));
При записи выражений, содержащих скобки, должна соблюдаться парность скобок, т.е. число открывающих скобок должно быть равно числу закрывающих скобок.
При записи сложных выражений можно использовать вспомогательные переменные для хранения результатов промежуточных вычислений. Это позволяет проконтролировать результаты промежуточных вычислений.
Таблица 3.1
Операторы и математические функции языка Turbo Pascal
Оператор, функция
Действие
Пример записи на языке Паскаль
Тип результата
+
Сложение
y:=a+b
Как у операндов
-
Вычитание
y:=a-b
*
Умножение
y:=a*b
/
Деление
y:=a/b
Real
Div
Деление нацело
y:=a Div b
Integer
Mod
Вычисление остатка от деления
y:=a Mod b
Integer
Abs
Абсолютное значение аргумента
y:=Abs(x)
Real
Sqr
Квадрат аргумента
y:=Sqr(x)
Real
Sqrt
Квадратный корень аргумента
y:=Sqrt(x)
Real
Sin
Синус аргумента
y:=Sin(x)
Real
Cos
Косинус аргумента
y:=Cos(x)
Real
Arctan
Арктангенс аргумента
y:=Arctan(x)
Real
Exp
Экспонента аргумента
y:=Exp(x)
Real
Ln
Натуральный логарифм аргумента
y:=Ln(x)
Real
Int
Целая часть аргумента
y:=Int(x)
Real
Trunc
Целая часть аргумента
y:=Trunc(x)
Integer
Round
Округление до ближайшего целого
y:=Round(x)
Integer
Как видно из таблицы, в языке Turbo Pascal отсутствуют следующие математические выражения: y=lg x; y=ax; y=tg x.
Для вычисления этих величин можно использовать выражения: y:=ln(x)/ln(10); y:=Exp(x*ln(a)); y:=sin(x)/cos(x) соответственно.
Аргумент для тригонометрических функций задаётся в радианах. Для пересчёта из градусов в радианы используется соотношение
Радианы = градусы ´ (p ¤ 180).
Например, чтобы вычислить sin 45° надо записать sin(45*pi/180).