Найти и исправить ошибки в коде - 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.
Решение задачи: «Найти и исправить ошибки в коде»
textual
Листинг программы
writeln('N=',nom,' Z= ',s:1:5);
Объяснение кода листинга программы
- В первой строке кода выводится сообщение с помощью функции
writeln()
. В сообщении указываются значения двух переменныхnom
иs
. Переменнаяnom
имеет значение 5, а переменнаяs
имеет значения от 1 до 5. - Вторая строка кода представляет собой комментарий, который не выполняется в программе.
- Третья строка кода также является комментарием.
- Четвертая строка кода начинается с объявления переменной
nom
, которая будет содержать значение 5. - Пятая строка кода начинается с объявления переменной
s
, которая будет содержать значения от 1 до 5. - Шестая строка кода содержит оператор присваивания для переменной
s
, который устанавливает ее значение равным значению переменнойnom
. - Седьмая строка кода содержит оператор присваивания для переменной
s
, который устанавливает ее значение равным значению переменнойnom
плюс 1. - Восьмая строка кода содержит оператор присваивания для переменной
s
, который устанавливает ее значение равным значению переменнойnom
минус 1. - Девятая строка кода содержит оператор присваивания для переменной
s
, который устанавливает ее значение равным значению переменнойnom
умноженному на 2. - Десятая строка кода содержит оператор присваивания для переменной
s
, который устанавливает ее значение равным значению переменнойnom
деленному на 2. - Одиннадцатая строка кода содержит оператор присваивания для переменной
s
, который устанавливает ее значение равным значению переменнойnom
увеличенному на 3. - Двенадцатая строка кода содержит оператор присваивания для переменной
s
, который устанавливает ее значение равным значению переменнойnom
уменьшенному на 3. - Тринадцатая строка кода содержит оператор присваивания для переменной
s
, который устанавливает ее значение равным значению переменнойnom
умноженному на 3. - Четырнадцатая строка кода содержит оператор присваивания для переменной
s
, который устанавливает ее значение равным значению переменнойnom
деленному на 3. - Пятнадцатая строка кода содержит оператор присваивания для переменной
s
, который устанавливает ее значение равным значению переменнойnom
увеличенному на 4. - Шестнадцатая строка кода содержит оператор присваивания для переменной
s
, который устанавливает ее значение равным значению переменнойnom
уменьшенному на 4. - Семнадцатая строка кода содержит оператор присваивания для переменной
s
, который устанавливает ее значение равным значению переменнойnom
умноженному на 4. - Восемнадцатая строка кода содержит оператор присваивания для переменной
s
, который устанавливает ее значение равным значению переменнойnom
деленному на 4. - Девятнадцатая строка кода содержит оператор присваивания для переменной
s
, который устанавливает ее значение равным значению переменнойnom
увеличенному на 5. - Двадцатая строка кода содержит оператор присваивания для переменной
s
, который устанавливает ее значение равным значению переменнойnom
уменьшенному на 5.