Составители:
Рубрика:
61
Блок-схема Программа
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. Вычислить корни полного квадратного уравнения
ax
2
+ 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 (‘Корни мнимые’)
H
x
x
>0
Д
Н
y := lnx y := e
x
y
K
62
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 по одной из трех ветвей:
⎪
⎪
⎪
⎩
⎪
⎪
⎪
⎨
⎧
≤
<<
≥
=
.0если,
4
1
,10если,
3
1
,1если,
2
1
4
3
xx
xx
xx
y
При решении данной задачи возможны два варианта про-
граммирования: 1) без вложенной структуры; 2) с вложенной
структурой. Заметим, что программа без вложенной структуры,
если это возможно, предпочтительнее, так как легче читается и
меньше вероятность допустить ошибку при программировании.
Ниже рассмотрены оба варианта решения задачи.
Блок-схема Программа else Program P_1; begin H Var x1 := (–b + sqrt(d))/(2∗a); x, y: real; x2 := (–b – sqrt(d))/(2∗a); Begin writeln(‘x1=’, x1:5:2, ‘ x2=’, x2:5:2); x writeln(‘Введите’, end; ‘ число x’); End. Д Н read(x); x>0 if x>0 then Вложенные структуры условных операторов y := ln(x) else Структура называется вложенной, если после служебных y := lnx y := ex y := exp(x); слов then и else вновь используются условные операторы. Число writeln(‘y =’, y:6:2); вложений может быть произвольным. При этом справедливо сле- End. дующее правило: служебное слово else всегда относится к ближайшему выше слову then. Для удобства чтения вложен- ных структур при программировании рекомендуется избегать по y возможности записи вложенного условного оператора после сло- ва then. Пример. Вычислить значение y по одной из трех ветвей: K ⎧1 Пример 2. Вычислить корни полного квадратного уравнения ⎪ 2 x , если x ≥ 1, ⎪ ax2 + bx + c = 0. ⎪1 В программе предусмотреть проверку дискриминанта на y = ⎨ 3 x , если 0 < x < 1, знак. Если дискриминант окажется отрицательным, то вывести ⎪3 ⎪1 4 сообщение «Корни мнимые». ⎪ 4 x , если x ≤ 0. ⎩ Program P_2; Var При решении данной задачи возможны два варианта про- a, b, c, d, x1, x2: real; граммирования: 1) без вложенной структуры; 2) с вложенной Begin структурой. Заметим, что программа без вложенной структуры, writeln(‘Введите коэффициенты уравнения’); если это возможно, предпочтительнее, так как легче читается и read(a, b, c); меньше вероятность допустить ошибку при программировании. d := b∗b – 4∗a∗c; Ниже рассмотрены оба варианта решения задачи. if d<0 then writeln (‘Корни мнимые’) 61 62
Страницы
- « первая
- ‹ предыдущая
- …
- 28
- 29
- 30
- 31
- 32
- …
- следующая ›
- последняя »