ТОП 10:

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



 

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

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

 

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

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

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

Пересчёт основан на том, что температура (°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 перечислены операторы и математические функции, используемые в арифметических выражениях 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).

Задание

Составьте программу для вычисления следующих выражений:

№ ва Выражение Значения переменных Результат
рианта   а b c  
1. 1,5 10,2 10,034 6,00
2. 13,5 0,92 1,05 -20,00
3. 0,785 1,5708 3,777 5,00
4. 9,01 7,7058 ¾ 0,05
5. 2,0 13,0 0,8 2,00
6. 3,1415 96,6 18,4 1,00
7. 1,5 1,725 5,2425 34,00
8. 3,1416 1,5708 -1,884 0,50
9. 0,5 6,385 4,201 1,00
10. 9,5 -4,51 2,2093 -100,00

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

Тема 6







Последнее изменение этой страницы: 2016-04-18; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.235.29.190 (0.003 с.)