Паскаль, программа. 10 класс!! Пожалуйста, только без массива!! СРОЧНО

0 голосов
28 просмотров

Паскаль, программа. 10 класс!! Пожалуйста, только без массива!! СРОЧНО


image

Информатика (59 баллов) | 28 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

С массивом было бы гораздо легче и проще, чем так мучатся)), но если нужно именно без массива, то вот:
P.S. Для проверки можно сверить ответ с программы с ответом с калькулятора и он сойдётся, по крайней мере у меня с x=129 - сошёлся (см. скрин в прикреплённых файлах) :)))

var x,p,d,a,b:real;
i:integer;
begin
writeln ('p = ((x-2)(x-4)(x-8)...(x-128))/((x-1)(x-3)(x-7)...(x-127))');
a:=2;
b:=1;
p:=1;
repeat
write ('Введите x: ');
readln (x);
if x<=128 then writeln ('Введите x>128');
until x>128;
for i:=1 to 4 do
begin
d:=((x-a)/(x-b))*p;
a:=a*2;
b:=a-1;
p:=d*((x-a)/(x-b));
a:=a*2;
b:=a-1;
end;
p:=d;
writeln ('p = ',p);
end.


image
(10.7k баллов)
0

спасибо огромное!!)

0

Если не нужны такие длинные ответы p, то можно сократить запись например до сотых (предпоследняя строчка):
writeln ('p = ',p:0:2);
ну или до тысячных:
writeln ('p = ',p:0:3);