Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...
Топ:
Устройство и оснащение процедурного кабинета: Решающая роль в обеспечении правильного лечения пациентов отводится процедурной медсестре...
Проблема типологии научных революций: Глобальные научные революции и типы научной рациональности...
История развития методов оптимизации: теорема Куна-Таккера, метод Лагранжа, роль выпуклости в оптимизации...
Интересное:
Влияние предпринимательской среды на эффективное функционирование предприятия: Предпринимательская среда – это совокупность внешних и внутренних факторов, оказывающих влияние на функционирование фирмы...
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Дисциплины:
2023-01-02 | 32 |
5.00
из
|
Заказать работу |
№ вар | Запись оператора в Турбо Паскале | Исх. данные | Тип переменных |
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. Разветвляющиеся вычислительные
процессы
Вычислительный процесс называется разветвляющимся, если он реализуется по одному из нескольких направлений – ветвей. В программе должны быть учтены все возможные ветви вычислений. Выбор той или иной ветви осуществляется по условию, включенному в состав условного оператора. Для программной реализации условия используется логическое выражение. В сложных структурах с большим числом ветвей применяют оператор выбора.
Логические выражения
Логические выражения строятся из операндов, отношений, логических операций и круглых скобок.
Результатом вычисления логического выражения является одно из двух логических значений: 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 |
Порядок выполнения операций в логических выражениях
В бесскобочных логических выражениях операции выполняют слева направо в соответствии с их приоритетом:
1. NOT;
2. AND;
3. OR;
4. Отношения.
Поскольку отношения имеют самый низкий приоритет, то их необходимо заключать в круглые скобки.
Пример. Вычислить логическое выражение:
-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.
Примеры записи логических выражений
Записать в Турбо Паскале логическое выражение, реализующее условие:
а) переменная принадлежит интервалу .
Ответ. and
б) переменная не принадлежит интервалу .
Ответ. Данное условие можно записать в одном из двух вариантов:
а) or ;
б) или воспользоваться операцией NOT.
not and
Условные операторы
В Турбо Паскале различают два вида условных операторов: короткий и полный.
Короткий условный оператор
Общий вид записи:
IF <логическое выражение> THEN <P>;
где P – любой оператор.
Работа оператора
Сначала вычисляется логическое выражение (ЛВ), и если оно имеет значение TRUE, то выполняется оператор P, стоящий за служебным словом THEN. В противном случае оператор P игнорируется.
Графическая интерпретация оператора
В блок-схемах короткому условному оператору соответствует структура ЕСЛИ – ТО.
Замечание. По определению в конструкцию короткого условного оператора может входить только один оператор P. Если по заданному условию необходимо выполнить несколько операторов, то их заключают в операторные скобки BEGIN... END, образуя таким образом единый составной оператор. Тогда запись оператора с использованием операторных скобок имеет следующий вид:
IF <логическое выражение> THEN
begin
|
………………
<оператор n>;
end;
Пример
Переменной y присвоить минимальное значение из трех различных чисел, т.е. y = min (a, b, c).
Блок-схема
Программа
Program P;
Var
a, b, c, y: real;
Begin
writeln (‘Введите числа a, b, c’);
read (a, b, c);
y:= a;
if b<y then y:= b;
if c<y then y:= c;
writeln (‘y =’, y:6:2);
End.
Полный условный оператор
Общий вид записи:
IF <логическое выражение> THEN P1 ELSE P2;
где P1, P2 – любые операторы.
Работа оператора
Вычисляется логическое выражение, и если оно имеет значение TRUE, то выполняется оператор P1, стоящий после служебного слова THEN. В противном случае выполняется оператор P2, стоящий после служебного слова ELSE.
Графическая интерпретация оператора
В блок-схемах полному условному оператору соответствует структура ЕСЛИ – ТО – ИНАЧЕ.
Замечание. Операторы P1 и P2 входят в конструкцию полного условного оператора как единственные. Если возникает необходимость выполнить в ветвях несколько операторов, то их заключают в операторные скобки BEGIN…..END. Вид записи условного оператора в этом случае следующий.
IF <логическое выражение> THEN
begin
<оператор 1>;
……………... P1
<оператор n>;
end
ELSE
begin
<оператор 1>;
……………... P2
<оператор m>;
end;
Пример1. Вычислить значение переменной у по одной из двух ветвей:
y =
Блок-схема
Программа
Program P_1;
Var
x, y: real;
Begin
writeln (‘Введите число x’);
read (x);
if x>0 then y:= ln(x) else y:= exp(x);
writeln (‘y =’, y:6:2);
End.
Пример 2. Вычислить корни полного квадратного уравнения ax2+bx+c=0. В программе предусмотреть проверку дискриминанта на знак. Если дискриминант окажется отрицательным, то вывести сообщение “Корни мнимые”.
Программа
Program P_2;
Var
a, b, c, d, x1, x2: real;
Begin
writeln(‘Введите коэффициенты уравнения’);
read (a, b, c);
d:= b*b – 4*a*c;
if d<0 then
writeln (‘Корни мнимые’)
else
begin
x1:= (-b + sqrt(d)) / (2*a);
x2:= (-b - sqrt(d)) / (2*a);
writeln(‘x1=’, x1:5:2, ‘ x2=’, x2:5:2);
end;
End.
Вложенные структуры условных операторов
Структура называется вложенной, если после служебных слов THEN и ELSE используются вновь условные операторы. Число вложений может быть произвольным. При этом справедливо следующее правило: служебное слово ELSE всегда относится к ближайшему выше слову THEN. Для удобства чтения вложенных структур рекомендуется при программировании избегать по-возможности запись вложенного условного оператора после слова THEN.
Пример. Вычислить значение y по одной из трех ветвей:
При решении данной задачи возможны варианты программирования без использования вложенной структуры и с вложенной структурой.
Вариант 1. (Без использования вложенной структуры).
Блок-схема
Программа
Program P_V1;
Var
x, y: real;
Begin
writeln(‘Введите число x’);
read(x);
if x>=1 then y:= sqrt(x)/2;
if (x>0) and (x<1) then y:= exp(1/3*ln(x))/3;
if x<= 0 then y:= exp(1/4*ln(abs(x)))/4;
writeln(‘y =’, y:6:2);
End.
Вариант 2. (Использование вложенной структуры).
Блок-схема
Программа
Program P_V2;
Var
x, y: real;
Begin
writeln(‘Введите число x’);
read(x);
if x>=1 then
y:= sqrt(x)/2
else
if x>0 then
y:= exp(1/3*ln(x))/3
else
y:= exp(1/4*ln(abs(x)))/4;
writeln(‘y =’, y:6:2);
End.
Оператор выбора
При многократном вложении условных операторов программа становится громоздкой и ее трудно понять. Считается, что число вложений не должно превышать двух–трех вложений. При большем числе вложений рекомендуется использовать оператор выбора CASE.
Общий вид записи:
CASE <селектор> OF
<список констант выбора 1>: <оператор 1>;
………………………………………………
<список констант выбора n>: <оператор n>;
END;
Селектор – это выражение целого или символьного типа.
Константы выбора – всевозможные значения селектора. Константы выбора в списке перечисляются через запятую.
Работа оператора CASE
По вычисленному значению селектора выбирается для исполнения оператор той строки, в списке которой содержится константа, равная значению селектора. После выполнения выбранного оператора управление передается на конец оператора CASE.
Пример 1. Написать оператор выбора для вычисления y.
case n of
1: y:= x;
2, 3: y:= 2 * sqrt(abs(x));
4: y:= exp(x);
end;
Графическая интерпретация оператора
В блок-схемах оператору CASE соответствует структура ВЫБОР.
Для приведенного выше примера эта структура выглядит следующим образом:
Замечание. Если в строке выбора необходимо записать несколько операторов, то их заключают в операторные скобки BEGIN....END.
Пример 2. Вычислить значение y.
Если значение x не принадлежит рассматриваемым промежуткам, то вывести на экран соответствующее сообщение.
В задаче переменная x является вещественной и не может использоваться в качестве селектора оператора CASE. Введем новую переменную целого типа, которой присваивается целая часть значения x:
n:= trunc(x);
Тогда программа решения данной задачи с использованием оператора выбора может быть составлена следующим образом.
Program P_2;
Var
x, y: real;
n: integer;
Begin
writeln(‘Введите число x’);
read (x);
if (x<1) or (x>=5) then
writeln(‘x не принадлежит ‘,
‘рассматриваемой области’)
else
begin
n:= trunc(x);
case n of
1: y:= sin(x);
2: y:= exp(-x);
3: y:= ln(x);
4: y:= sin (x)/cos(x);
end;
writeln(‘y=’, y:6:2);
end;
End.
5.4. Контрольные задания
I. Записать в Турбо Паскале логические выражения.
а) Ø а Ú b;
б) –1 £ x £1 или 2 £ x £ 4;
в) переменная x находится вне интервала [a, b];
г) все точки на плоскости находятся выше оси абсцисс;
д) все точки на плоскости находятся либо в первом, либо в третьем квадрантах;
е) все точки на плоскости лежат выше прямой: y = 1 + x.
II. Записать логические выражения, принимающие значе-ние TRUE для точек, принадлежащих заштрихованной области.
а) б)
в) г)
|
д) e)
III. Начертить на плоскости область, в которой логическое выражение имеет значение TRUE.
а) (x >= 0) and (y >= 0) and (y <= x) or (y <= -1);
б) (x*x +y*y <= 1) and (y >= 0) and not(y < x);
в) (y >= x) and (y >= -x);
г) (y <= 2) and (x <= 2) or (x*y < 0);
д) (x*y >= 0) and (y <= x) and (x < 1) and (y >-1);
е) (x*x + y*y <= 4) and (y >= x*x).
IV. Записать в Турбо Паскале логические выражения и вычислить их при: i =5; j =2; k =2; a =TRUE; b =FALSE.
а) i ¹1Ú a Ù Ø (b Ù j > k);
б) (i £1Úa) Ù (b Ú j= k);
в) Ø(i = j2 + 1) Ú a Ù b;
г) i> j + k Ù a Ù Ø b;
д) a Ú b Ù (i*j > k2);
е) (a Ú Ø b Ù j2 = k2) Ù Ø b.
Глава 6. Циклические вычислительные
процессы
Циклические вычислительные процессы характеризуются наличием многократно повторяющихся участков вычислений (циклов).
Переменная, изменяющаяся в цикле, называется управляющей переменной. Для программирования циклических задач используются операторы цикла с условием или с параметром.
Операторы цикла с условием
Различают два вида операторов с условием:
1) оператор цикла WHILE (пока);
2) оператор цикла REPEAT (повторять до тех пор пока).
Оператор цикла WHILE
Общий вид записи:
WHILE < логическое выражение > DO < тело цикла>;
Тело цикла – единичный оператор, выполняемый в цикле.
Работа оператора
Тело цикла выполняется, пока логическое выражение, определяющее условие выхода из цикла, имеет значение TRUE. В противном случае оператор цикла WHILE завершает свою работу. В состав логического выражения входит управляющая переменная, которая должна обязательно изменяться в теле цикла.
Графическая интерпретация оператора
В блок-схемах оператору цикла WHILE соответствует структура ЦИКЛ-ПОКА.
Пример 1. Алгоритм табулирования функции с одной переменной.
Вычислить таблицу значений функции:
при , изменяющемся в интервале [-0.5, 2.5] с шагом 0.1.
заданные вещественные числа.
В данной задаче переменная является управляющей переменной цикла.
Блок-схема
|
Программа
Program TAB_1;
Var
a, b, x, y: real;
Begin
writeln(‘Введите исходные данные’);
read(a, b);
writeln (‘ x y(x)’);
x:= -0.5;
while x <= 2.5 do
begin
y:= ln(abs(x))/(a*a - b*b);
writeln(x:8:1, y:8:1)
x:= x + 0.1;
end;
End.
Оператор цикла REPEAT
Общий вид записи:
REPEAT
<тело цикла>;
UNTIL <логическое выражение>;
Работа оператора
Выполняется тело цикла, после чего вычисляется логическое выражение, определяющее условие выхода из цикла. Если логическое выражение имеет значение FALSE, то повторяется выполнение тела цикла. В противном случае оператор цикла REPEAT завершает свою работу.
Управляющая переменная, как и в случае оператора цикла WHILE, должна включаться в состав логического выражения и изменяться в теле цикла.
Графическая интерпретация оператора
В блок-схемах оператору цикла REPEAT соответствует структура ЦИКЛ-ДО.
Выход из цикла |
Пример 2. Решить предыдущую задачу табулирования функции с использованием оператора цикла REPEAT.
Программа
Program TAB_2;
Var
a, b, x, y: real;
Begin
writeln(‘Введите исходные данные’);
read(a, b);
writeln(‘ x y(x)’);
x:= -0.5;
repeat
y:= ln(abs(x))/(a*a - b*b);
writeln(x:8:1, y:8:1)
x:= x + 0.1;
until x > 2.5;
End.
Блок-схема
|
Основные отличия оператора цикла WHILE
от оператора цикла REPEAT.
1. В теле цикла оператора WHILE может стоять только один оператор. Для выполнения в цикле нескольких операторов тело цикла должно заключаться в операторные скобки BEGIN … END.
В операторе REPEAT операторные скобки не ставятся, так как их целиком заменяют служебные слова REPEAT … UNTIL.
2. В операторе WHILE тело цикла может не выполняться ни разу, если логическое выражение сразу окажется ложным.
В операторе REPEAT логическое выражение записывается после тела цикла. Поэтому тело цикла обязательно выполнится хотя бы один раз.
Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!