По просьбе
Vladimir_S создаю новую тему . Как он предупредил меня в прошлой теме “ Если чего непонятно - спрашивай, объясню”. Так вот и спрашиваю собственно вот по этой задаче
1. Вычислить приближенно значение суммы с точностью до
e=0.0001, S= 1 - 1/(2*3) + 1/(3*4)**2 - 1/(4*5)**3...
(S= 0,84015)
Код:
CONST
e=0.0001;
VAR
i:INTEGER;
S,a:REAL;
function X2np(X:Extended; n:WORD):Extended;
Var i:INTEGER;
Y:Extended;
BEGIN
IF n=0 THEN X2np:=1 ELSE
IF n=1 THEN X2np:=X ELSE
BEGIN
Y:=X;
FOR i:=2 TO n DO Y:=Y*X;
X2np:=Y;
END;
END;
BEGIN
S:=1;
i:=0;
REPEAT
INC(i);
a:=X2np(-1,i)/X2np((i+1)*(i+2),i);
S:=S+a;
UNTIL ABS(a)<e;
WriteLn('S= ',S:7:5);
ReadLn;
END.
function X2np(X:Extended; n:WORD):Extended; что мы сделали вот этой строчкой,
WriteLn('S= ',S:7:5); и что в этой строке означает вот это
S:7:5 я так понимаю это сокрашение результата. Но как это работает я что то не очень понемаю.
И еще вот дали задачку : Создать программу типа лазерного резака. Т.е нам дан квадрат 1000х1000. В нем нужно вырезать два квадрата, но так чтобы они не соприкасались друг стругом и не выходили за пределы б.квадрата(в противном случаее программа нам сообщала что чтото не так). Координаты малых квадратов задаются 2 точками левой нижней и правой верхней.
Язык паскаль
без графики только вычесления.
Подскажите хотя бы в какаю сторону начинать думать. И как реализовать в прграмме Поле(те. Б.квадрат 1000х1000).