Вычисление суммы значений функции в заданных точках с помощью циклов while, repeat, for - Pascal

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

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

Здравствуйте, помогите разобраться! Есть функция: количество точек n=20 надо найти с помощью след. циклов: while, repeat, for сумму, причем h (шаг) вычисляется по формуле h=(b-a)/(n-1), в моем случае шаг = 9/19. Для while и repeat я составила решение:
var a, b, h, s, s1, x :real;
begin
a:=12;
b:=21;
h:=9/19;
x:=a;
s:=0;
s1:=0;
while x<=b do begin
      s:=s+exp((-2/3)*ln(x));
      x:=x+h;
      end;
writeln('s=',s:5:3);
repeat 
      s1:=s1+exp((-2/3)*ln(x));
      x:=x+h;
until x>=b;
writeln('s1=',s:5:3);
end.
, а вот на for зациклилась. Помогите..... Заранее благодарю

Решение задачи: «Вычисление суммы значений функции в заданных точках с помощью циклов while, repeat, for»

textual
Листинг программы
const n=20;
var a, b, h, s, x :real;
    i:integer;
begin
a:=12;
b:=21;
h:=(b-a)/(n-1);
x:=a;
s:=0;
while x<=b+h/2 do
 begin
  s:=s+exp((-2/3)*ln(x));
  x:=x+h;
 end;
writeln('S while= ',s:5:3);
s:=0;
x:=a;
repeat
s:=s+exp((-2/3)*ln(x));
x:=x+h;
until x>=b;
writeln('S repeat=',s:5:3);
s:=0;
for i:=0 to n-1 do
s:=s+exp((-2/3)*ln(a+i*h));
writeln('S for=   ',s:5:3);
end.

Объяснение кода листинга программы

Этот код на языке Pascal представляет собой программу для вычисления суммы значений функции в заданных точках с помощью циклов while, repeat, for. В начале кода объявляются переменные: n, a, b, h, s, x, i. Переменная n инициализируется значением 20. Переменные a и b инициализируются значениями 12 и 21 соответственно. Переменная h вычисляется как (b-a)/(n-1). Переменная x инициализируется значением a. Переменная s инициализируется значением 0. Затем следует цикл while, который выполняется, пока значение переменной x не станет больше или равным значению переменной b плюс h/2. Внутри цикла переменная s инициализируется значением 0. Затем происходит вычисление суммы значения функции в точке x с помощью формулы s=s+exp((-2/3)ln(x)). После этого значение переменной x увеличивается на h. После завершения цикла while переменная s инициализируется значением 0. Затем следует повторный цикл repeat, который выполняется до тех пор, пока значение переменной x не станет больше или равным значению переменной b. Внутри цикла переменная s инициализируется значением 0. Затем происходит вычисление суммы значения функции в точке x с помощью формулы s=s+exp((-2/3)ln(x)). После этого значение переменной x увеличивается на h. После завершения цикла repeat переменная s инициализируется значением 0. Затем следует цикл for, который выполняется от 0 до n-1. Внутри цикла переменная s инициализируется значением 0. Затем происходит вычисление суммы значения функции в точке a+ih с помощью формулы s=s+exp((-2/3)ln(a+ih)). После этого значение переменной x инициализируется значением a+ih. После завершения цикла for переменная s инициализируется значением 0. Затем программа завершается. Таким образом, данный код выполняет вычисление суммы значений функции в заданных точках с помощью трех различных циклов.

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


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

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

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