Информатика, вопрос задал zxsw , 7 лет назад

Используя метод нисходящего проектирования, разработать схему алгоритма и составить программу вычисления функции при заданных значениях аргументов. Результаты вычислений напечатать.

Приложения:

Ответы на вопрос

Ответил Аноним
0
Укрупненная блок-схема алгоритма, полученная нисходящим проектированием, приведена во вложении слева (песочный фон).
Последующая детализация функций приведена справа (серо-голубой фон).

// PascalABC.NET 3.3, сборка 1590 от 03.12.2017
// Внимание! Если программа не работает, обновите версию!

function a(x:real):real;
begin
  if x<=1 then Result:=Pi/4 else Result:=Pi
end;

function z(a,x:real):real;
begin
  Result:=0;
  for var k:=0 to 10 do
    Result+=Ln(x)*Sin(k*(x-a))
end;

begin
  var x:=0.6;
  repeat
    Writeln(x:3:1,z(a(x),x):15:8);
    x+=0.2
  until x>1.81
end.

Результат
0.6     3.76029679
0.8    -0.17885683
1.0     0.00000000
1.2    -0.05865268
1.4     0.04432873
1.6    -0.54134665
1.8    -0.34651256
Приложения:
Ответил Аноним
0
Замечание. Как обычно и бывает при нисходящем проектировании, реализация программы несколько отходит от использованных при проектировании блок-схем.
Ответил Аноним
0
Вместо последовательных вызовов a(x) и z(a,x) использован вложенный вызов z(a(x),x). Вместо цикла со счетчиком х использован цикл с постусловием.
Ответил Аноним
0
Это нормально, потому что блок-схема при нисходящем проектировании не ориентирована на язык программирования. Если бы это, например, был Бейсик, то цикл был бы именно со счетчиком.
Ответил zxsw
0
Спасибо вам огромное!
Ответил Аноним
0
Пожалуйста.
Новые вопросы