Упростить программу. Избавиться от 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д