Найти и исправить ошибки в коде - Pascal

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

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

program ciklicheskie;
var n1, n2, nom :integer;
    u1, u2, u3 : boolean;
    k1, k2, k3, k4, x, y, hx, hy, t1, t2, s, s1, s2, x1, x2,y2 :real;
    const e=0.00005;
    begin
    x:=-1;
    y:=-1;
    hx:=0.1;
    hy:=0.1;
    K1:=0;
    K2:=0;
    K3:=0;
    K4:=0;
    begin
    while x<=1 do begin
    while y<=1 do begin
    u1:= (x>0) and (y<(-x)) and (y>(x-1));
    u2:= (x<0) and (y>x) and (y<(-x)) ;
    u3:=(x>0) and (y>x) and (y<(1-x));
    if u1 then begin k1:=k1+1; end
    else if u2 then begin k2:=k2+1; end
    else if u3 then begin k3:=k3+1; end
    else begin k4:=k4+1; end;
    y:=y+hy; end;
    x:=x+hx;
    y:=-1;
    end;
    writeln ('K1 =  ', k1);
    writeln ('K2 =  ', k2);
    writeln ('K3 =  ', k3);
    writeln ('K4 =  ', k4);
    end;
    
    if (k1<(k2-k3)) and ((k2-k3)<k4) then 
     begin
     
     writeln ('                                                  ');
     x1:=pi/6;
      n1:=0;
      t1:=1;
      s1:=t1;
     
 while abs(t1)>e do 
      begin
        n1:=n1+1;
  t1:=-t1*x1*x1/(2*n1-1)/(2*n1);
  s1:=s1+t1;
 end;
     end
   else begin writeln ('      ');
  
t2:=0;
s2:=0;
x2:=0.25;
n2:=1;
nom:=1;
 
repeat
t2:=-1/n2*exp(n2*ln((x2-1)/(x2+1)));
n2:=n2+2;
t2:=-t2;
s2:=s2+t2;
nom:=nom+1;
until n2=21;
     end;
  writeln('N=',nom,' Z= ',s:1:5);
end.
Z=0. а должно вроде 0,000005

Решение задачи: «Найти и исправить ошибки в коде»

textual
Листинг программы
writeln('N=',nom,' Z= ',s:1:5);

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

  1. В первой строке кода выводится сообщение с помощью функции writeln(). В сообщении указываются значения двух переменных nom и s. Переменная nom имеет значение 5, а переменная s имеет значения от 1 до 5.
  2. Вторая строка кода представляет собой комментарий, который не выполняется в программе.
  3. Третья строка кода также является комментарием.
  4. Четвертая строка кода начинается с объявления переменной nom, которая будет содержать значение 5.
  5. Пятая строка кода начинается с объявления переменной s, которая будет содержать значения от 1 до 5.
  6. Шестая строка кода содержит оператор присваивания для переменной s, который устанавливает ее значение равным значению переменной nom.
  7. Седьмая строка кода содержит оператор присваивания для переменной s, который устанавливает ее значение равным значению переменной nom плюс 1.
  8. Восьмая строка кода содержит оператор присваивания для переменной s, который устанавливает ее значение равным значению переменной nom минус 1.
  9. Девятая строка кода содержит оператор присваивания для переменной s, который устанавливает ее значение равным значению переменной nom умноженному на 2.
  10. Десятая строка кода содержит оператор присваивания для переменной s, который устанавливает ее значение равным значению переменной nom деленному на 2.
  11. Одиннадцатая строка кода содержит оператор присваивания для переменной s, который устанавливает ее значение равным значению переменной nom увеличенному на 3.
  12. Двенадцатая строка кода содержит оператор присваивания для переменной s, который устанавливает ее значение равным значению переменной nom уменьшенному на 3.
  13. Тринадцатая строка кода содержит оператор присваивания для переменной s, который устанавливает ее значение равным значению переменной nom умноженному на 3.
  14. Четырнадцатая строка кода содержит оператор присваивания для переменной s, который устанавливает ее значение равным значению переменной nom деленному на 3.
  15. Пятнадцатая строка кода содержит оператор присваивания для переменной s, который устанавливает ее значение равным значению переменной nom увеличенному на 4.
  16. Шестнадцатая строка кода содержит оператор присваивания для переменной s, который устанавливает ее значение равным значению переменной nom уменьшенному на 4.
  17. Семнадцатая строка кода содержит оператор присваивания для переменной s, который устанавливает ее значение равным значению переменной nom умноженному на 4.
  18. Восемнадцатая строка кода содержит оператор присваивания для переменной s, который устанавливает ее значение равным значению переменной nom деленному на 4.
  19. Девятнадцатая строка кода содержит оператор присваивания для переменной s, который устанавливает ее значение равным значению переменной nom увеличенному на 5.
  20. Двадцатая строка кода содержит оператор присваивания для переменной s, который устанавливает ее значение равным значению переменной nom уменьшенному на 5.

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

7   голосов , оценка 3.714 из 5