Top.Mail.Ru
Ответы

Как в паскале осуществить чередование знаков

Имеется выражение с чередующимся знаком требуется найти его значение при помощи оператора for: 23/9-36/33+49/57-62/81+...-933/1683

Дополнен

program pr4;
var a,b,n,i :integer;
d :real;
begin
n:=71;
for i:=1 to n do begin
a:=23;
b:=9;
d:=d+A/b;
A:=a+13;
b:=b+24 end;
writeln('d=',d)
end.

По дате
По рейтингу
Аватар пользователя
Новичок
10лет

program pr4;
var
 a, b, i: integer;
 d: real;
begin
 a := 23;
 b := 9;
 d := 0;
 i := 0;
 repeat
  if i mod 2 = 1 then
   d := d - a / b
  else
   d := d + a / b;
  a := a + 13;
  b := b + 24;
  Inc(i);
 until a > 933;
 WriteLn('d = ', d);
 ReadLn;
end.

Аватар пользователя
Профи
10лет

Вставить проверку в твой цикл:
var Znak: Shortint;
...
if (i mod 2 = 0) then Znak:= 1
else Znak:= -1;
А дальше умножаешь требуемое выражение на переменную Znak.
Как то так :)

Аватар пользователя
Оракул
10лет

получится 2.2018