§ . № Трассировка вычисления площади
Определите результат работы программы. Запишите математическую формулу для вычисления значения s.
var
a, b, c: integer;
p, s: real;
begin
a := 12;
b := 5;
c := 13;
p := (a + b + c) / 2;
s := p;
s := s * (p - a);
s := s * (p - b);
s := s * (p - c);
s := sqrt(s);
write('s = ', s)
end.
Решение
Операторы линейной программы выполняются последовательно. Сначала переменные получают значения
Далее каждая строка меняет прежнее значение s, поэтому проследим его отдельно.
| Оператор | Вычисление | Новое s |
|---|---|---|
s := p |
||
s := s * (p-a) |
||
s := s * (p-b) |
||
s := s * (p-c) |
||
s := sqrt(s) |
Следовательно, математическая формула всей последовательности — write выводит конечное значение
Ответ
Помогло?
