Составители:
Рубрика:
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
- …
- следующая ›
- последняя »
