Система программирования Турбо Паскаль. Воробьева А.П - 30 стр.

UptoLike

Составители: 

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 := bb – 4ac;
if d<0 then
writeln (‘Корни мнимые’)
H
x
x
>0
Д
Н
y := lnx y := e
x
y
K
62
else
begin
x1 := (–b + sqrt(d))/(2a);
x2 := (–b – sqrt(d))/(2a);
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