Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
algoritm.doc
Скачиваний:
42
Добавлен:
13.02.2015
Размер:
923.14 Кб
Скачать

Тема 5 Реализация линейных алгоритмов

Самый простой вариант программы для ЭВМ – линейный алгоритм. При выполнении такой программы последовательность действий от начала программы до ее конца никогда не изменяется. На практике такие алгоритмы являются фрагментами более сложных программ.

Следующая программа производит пересчёт температуры из шкалы Цельсия в шкалу Фаренгейта. Словесное описание алгоритма программы можно представить так:

 получить с клавиатуры значение температуры в градусах Цельсия;

 пересчитать температуру из шкалы Цельсия в шкалу Фаренгейта

 вывести на экран вычисленное значение температуры в градусах Фаренгейта

Пересчёт основан на том, что температура (F) = температура (С)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.

Сложные выражения

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

При записи выражений между операндом и оператором, за исключением операторов 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

Как видно из таблицы, в языке TurboPascalотсутствуют следующие математические выражения:y=lgx;y=ax;y=tgx.

Для вычисления этих величин можно использовать выражения: y:=ln(x)/ln(10); y:=EXP(x*ln(a)); y:=sin(x)/cos(x)соответственно.

Аргумент для тригонометрических функций задаётся в радианах. Для пересчёта из градусов в радианы используется соотношение

Радианы = градусы (180)

Например, чтобы вычислить sin45надо записатьsin(45*pi/180).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]