Воробьева А.П., Соппа М.С. - Система программирования Турбо Паскаль 7.0 (1092189), страница 7
Текст из файла (страница 7)
-
Выполнить оператор присваивания
№ вар | Запись оператора в Турбо Паскале | Исх. данные | Тип переменных |
1 | Y:= 3 * 7 DIV 2 MOD 7 / 3; | - | y-веществ. |
2 | a:= exp(trunc(m + 1/2)*ln(x+2.5E-2)); | x=8.9 m=1 | a,x-веществ. m-целая |
3 | k:= n + trunc (m + b); | n=-6 b=0.8 m=2 | k,n,m-целые b- веществ. |
4 | m:= a * a * c + trunc(b); | a=45 b=0.8 c=2 | a,c-целые b,m- веществ. |
5 | k:= exp(trunc(x * b) * ln(y)); | x=1.2 b=2 y= -4 | k,x- веществ. b,y-целые |
6 | d:= -a MOD b +a DIV d * c; | a=5 b=2 c=3 | a,b,c-целые d- веществ. |
7 | i:= trunc(k / n * n + a); | k=99 n=100 a=5.871 | i,k,n-целые a- веществ. |
8 | f:= a + trunc(b/c) - 64/sqr(a) + 1; | a=4 b=0.8 c=2 | f,b- веществ. a,c-целые |
9 | b:= 4*d*1E-2/cos(4*d-c) + frac(57.12); | c=12 d=3 | c,d-целые b- веществ. |
10 | k:= a * b / c + frac(12.7E-1); | a=6 b=2 c=4 | a,b,c-целые k1-веществ. |
11 | b:= exp(trunc(n/m) * ln(a+sqrt(a/m))); | a=4 m=3 n=2 | a,n,m-целые b-веществ. |
12 | m:= trunc(a*(b DIV c) + 0.57E1); | a=6 b=1 c=4 | m,a,b,c-целые |
13 | a:= exp(5 DIV 2 * ln(4)) - 2; | - | a-веществ. |
14 | z:=(a+sqrt(b+1)+24E-1*c)* trunc(b/4); | a=4 b=1 c=10 | a,b,c-целые z-веществ. |
15 | p:= trunc(abs(b-a)) DIV c – d MOD10; | a=4.8 b=0.8 c=2 d=34 | p,a,b-веществ. c,d-целые |
16 | a:=19 DIV 4 * 4 + trunc(5.4) MOD 4; | - | a-целая |
Глава 5. Разветвляющиеся вычислительные
процессы
Вычислительный процесс называется разветвляющимся, если он реализуется по одному из нескольких направлений – ветвей. В программе должны быть учтены все возможные ветви вычислений. Выбор той или иной ветви осуществляется по условию, включенному в состав условного оператора. Для программной реализации условия используется логическое выражение. В сложных структурах с большим числом ветвей применяют оператор выбора.
5.1. Логические выражения
Логические выражения строятся из операндов, отношений, логических операций и круглых скобок.
Результатом вычисления логического выражения является одно из двух логических значений: TRUE или FALSE.
В качестве операндов используются константы, переменные и функции логического типа.
Отношения
Отношение – это простейший вид логического выражения, состоящего из двух выражений арифметического, символьного или строкового типов, соединенных знаком операции отношения.
Операция отношения – это операция сравнения двух операндов: | < | <= | > | >= | = | <> |.
Примеры записи отношений в Турбо Паскале
Отношение | Результат |
5 > 3 | TRUE |
cos(x) > 1 | FALSE |
x*x + y*y < 1 | TRUE для всех точек, лежащих внутри круга с единичным радиусом и центром в начале координат |
а <> ’Y’ | TRUE, если значение символьной переменной a не равно символу ’Y’ |
Следует помнить, что к операндам вещественного типа неприменима операция ‘=’ из-за неточного представления чисел в памяти компьютера. Поэтому для вещественных переменных a и b отношение вида a=b надо заменить отношением abs(a - b) < E, где Е - малая величина, определяющая допустимую погрешность.
Логические операции
Логические операции применимы только к операндам логического типа. Ниже приведены обозначения трех наиболее распространенных операций.
Математическая запись | Запись в Турбо Паскале | Название операции |
| NOT | Отрицание |
AND | Операция “И” (логическое умножение) | |
OR | Операция “ИЛИ” (логическое сложение) |
Результаты выполнения логических операций приведены в таблицах истинности, в которых обозначено: a, b - логические операнды; T – TRUE, F – FALSE.
a | NOT a | a | b | a AND b | a | b | a OR b | ||
T | F | T | T | T | T | T | T | ||
F | T | T | F | F | T | F | T | ||
F | T | F | F | T | T | ||||
F | F | F | F | F | F |
Порядок выполнения операций в логических выражениях
В бесскобочных логических выражениях операции выполняют слева направо в соответствии с их приоритетом:
-
NOT;
-
AND;
-
OR;
-
Отношения.
Поскольку отношения имеют самый низкий приоритет, то их необходимо заключать в круглые скобки.
Пример. Вычислить логическое выражение:
-3 5 7 < 9 0 3.
Запись в Турбо Паскале имеет вид:
1 6 4 2 5 3
(-3 >= 5) OR NOT (7 < 9) AND (0 <= 3)
Сверху над операциями проставлен порядок выполнения действий.
1) –3 >= 5 F; | 2) 7 < 9 T; | 3) 0 <= 3 T; |
4) NOT(T) F; | 5) F AND T F; | 6) F OR F F. |
Ответ: FALSE.
Примеры записи логических выражений
Записать в Турбо Паскале логическое выражение, реализующее условие:
а) переменная принадлежит интервалу
.
б) переменная не принадлежит интервалу
.
Ответ. Данное условие можно записать в одном из двух вариантов:
б) или воспользоваться операцией NOT.
5.2. Условные операторы
В Турбо Паскале различают два вида условных операторов: короткий и полный.
Короткий условный оператор
Общий вид записи:
IF <логическое выражение> THEN <P>;
где P – любой оператор.
Работа оператора
Сначала вычисляется логическое выражение (ЛВ), и если оно имеет значение TRUE, то выполняется оператор P, стоящий за служебным словом THEN. В противном случае оператор P игнорируется.
Графическая интерпретация оператора
В блок-схемах короткому условному оператору соответствует структура ЕСЛИ – ТО.
Замечание. По определению в конструкцию короткого условного оператора может входить только один оператор P. Если по заданному условию необходимо выполнить несколько операторов, то их заключают в операторные скобки BEGIN ... END, образуя таким образом единый составной оператор. Тогда запись оператора с использованием операторных скобок имеет следующий вид:
IF <логическое выражение> THEN
begin
Составной оператор P
<оператор 1>;………………
<оператор n>;
end;
Пример
Переменной y присвоить минимальное значение из трех различных чисел, т.е. y = min (a, b, c).
Б лок-схема
Программа
Program P;
Var
a, b, c, y: real;
Begin