Упростить программу. Избавиться от Goto - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Нужно, чтобы не было лейбел, но программа не меняла своей сути . ОЧЕНЬ СРОЧНО!!!

Решение задачи: «Упростить программу. Избавиться от Goto»

textual
Листинг программы
program slogno;
 
var
  s, x: real;
  a, b, h, z, s1, sum: real;
  i, v, k, n, g, c, fiks: integer;
 
 
procedure menu(k: integer);
begin
  writeln('1.Выполнение вычислений с заданным числом повторений');
  writeln('2.Выполнение вычислений с заданной точностью');
  writeln('Введите номер пункта:');
  readln(g);
end;
 
procedure vivod(var sum: real);
begin
  writeln('Sum=', sum);
end;
 
function integral(x: real): real;
begin
  integral := 1 / sqrt(1 + 3 * x + 2 * x * x);
end;
 
procedure povt(var a, b: real; var n: integer; var sum: real);
var
  h, s: real;
  i: integer;
begin
  x := a;
  s := 0;
  sum := 0;
  h := (b - a) / n;
  for i := 1 to n do
  begin
    s := integral(x) * h;
    x := x + h;
    sum := sum + s;
  end;
end;
 
 
procedure tocn(var a, b, s1: real);
var
  sum: real;
var
  i, n: integer;
  f, r: real;
begin
  n := 3;
  s1 := 0;
  f := 0.0001;
  h := (b - a) / n;
  povt(a, b, n, sum);
  while true do
  begin
    n := 2 * n;
    h := (b - a) / n;
    s1 := sum;
    povt(a, b, n, sum);
    if f >= abs(sum - s1) then 
      break;
  end;    
  writeln('S1=', s1:3:5);
end;
 
procedure vibor(var k: integer);
begin
  case g of
    1: povt(a, b, n, sum);
    2: tocn(a, b, s1);
  else writeln('Некоректный ввод')
  end;
end;
 
//Основная программа
begin
  a := 0;
  b := 1;
  n := 44;
  while true do 
  begin
    menu(k);
    vibor(k);
    vivod(sum);
    writeln('Выбрать еще раз?');
    writeln('1 ---Да');
    writeln('0 --- Нет');
    readln(v);
    if v = 0 then 
    begin
      writeln('Программа отработала');
      exit;
    end;
  end;
end.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.5 из 5
Похожие ответы