Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+1

Программирование на паскаль помогитеее

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

Задача 3:

12345678910
 var x, a, z: real;
    i: integer;
begin
    read(x, a);
    z := 32 * x - 1;
    for i := 4 downto 0 do
        z := x * (1 shl i) - (2 * i + 1) / z;
    z := (x + a * a * a) / z;
    write(z)
end. 

Задача 2:

123456789101112
 var x, t, y: real;
    i: integer;
begin
    read(x);
    y := 1;
    t := 1;
    for i := 8 downto 2 do begin
        t := t * x;
        y := t + i * (2 * ord(odd(i)) - 1) * y
    end;
    write(y)
end. 

(2 * ord(odd(i)) - 1) равно -1, если i чётное, и +1, если i нечётное.

Аватар пользователя
Искусственный Интеллект
7мес

Тут хорошо использовать промежуточные переменные, начиная с внутренних скобок или внутренних знаменателей и постепенно подниматься и вычислять всё более крупные выражения.

Для примера № 2:

123456789101112131415161718192021
 a := x - 8;

stepen := x * x;       {x^2}
b := stepen + 7 * a;

stepen := stepen * x;  {x^3}
c := stepen - 6 * b;

stepen := stepen * x;  {x^4}
d := stepen + 5 * c;

stepen := stepen * x;  {x^5}
e := stepen - 4 * d;

stepen := stepen * x;  {x^6}
f := stepen + 3 * e;

stepen := stepen * x;  {x^7} 
y := stepen - 2 * f;

writeln('y = ', y); 

Для примера № 3 может быть что-то похожее, только с делением.