Другие языки программирования и технологии

Вычислить выражение с помощью оператора цикла. Turbo Pascal.

Дали на первый вид простое задание - "Рассчитайте: у = 24х^4 + 18х^3 + 12х^2 + 6х."
Но я уже написал в заголовке в чем соль. Не могу я понять где тут его применить, простая операция присваивания же.
var i,x, y, z, summa: integer;
begin
write ('x=');
readln(x);
y:=1;
summa:=0;
for i:=1 to 4 do
begin
z:=6*i;
y:=y*x;
summa:=summa+z*y;
end;
writeln ('summa = ', summa);
end.
Сергей Соколов
Сергей Соколов
24 309
Лучший ответ
цикл применяй в вычислении степени Х
коэффициенты при Х в степени i заноси в массив A[i]
и дальше простое суммирование по формуле Сумма=Сумма+A[i]*x^i
AG
Alexandr Golenko
22 439
А вот еще один вариант: просто скажи преподу где бы ты мог применить цикл при вычислении этого выражения (ответы выше), ЕСЛИ бы не знал, что выражение решается без циклов.

P.s.:вот крутой вариант:

var x,i,a,b,c,d,sa,sb,sc,sd,tmp,res:integer;g:boolean;ch:string;
begin
for i := 1 to 24 do inc(a);//24
for i := 1 to 18 do inc(b);//18
for i := 1 to 12 do inc(c);//12
for i := 1 to 6 do inc(d);//6

for i := 1 to 4 do inc(sa);//4
for i := 1 to 3 do inc(sb);//3
for i := 1 to 2 do inc(sc);//2
for i := 1 to 1 do inc(sd);//1
while not(g) do begin
write('Введите значение для x: ');readln(x);

tmp := 1;
for i := 1 to sa do tmp := tmp * x;
res := res + tmp*a;

tmp := 1;
for i := 1 to sb do tmp := tmp * x;
res := res + tmp*b;

tmp := 1;
for i := 1 to sc do tmp := tmp * x;
res := res + tmp*c;

tmp := 1;
for i := 1 to sd do tmp := tmp * x;
res := res + tmp*d;

writeln('y=',res);
write('Еще раз? (Y/N): ');readln(ch);
if (ch='N')or(ch='n') then g := true;
end;
end.
Здесь есть несколько вариантов:
Коэффициенты и степени образуют последовательность (для степени каждая последующая меньше на 1 можно использовать цикл downto, а множитель уменьшается на 6)
Степень так же может быть рассчитана через цикл
Так что можно использовать цикл или так, или так. А можно и в обоих случаях
Александр Князь А форму записи можно попросить? Для степени