Вариант № EGE_INF_1801
Добавлен 13 октября 2017 г. в 1:51. Изменён 15 июня 2018 г. в 1:20.Скачать PDFЗадание
Требовалось написать программу, которая вычисляет значение многочлена \[p\left(x\right)=a_{n}x^{n}+a_{n-1}x^{n-1}+\ldots+a_{2}x^{2}+a_{1}x+a_{0}\] при заданном значении аргумента \(x\). На вход последовательно подаются неотрицательная целая степень многочлена \(n\), значение аргумента \(x\) и \(n+1\) значение коэффициентов многочлена \(a_{n},\ldots,a_{0}\).
Приведённая ниже программа содержит ошибки.
-
Копировать
var n, x, a, p, i : integer; begin read(n, x); p := x; for i := n downto 1 do begin read(a); p := p * x + a end; write(p) end.
-
Копировать
#include <iostream> int main(){ int n, x, a; std::cin >> n >> x; int p = x; for (int i = n; i >= 1; i--){ std::cin >> a; p = p * x + a; } std::cout << p; return 0; }
-
Копировать
DIM N, X, A, P, I AS INTEGER INPUT N, X P = X FOR I = N TO 1 STEP -1 INPUT A P = P * X + A NEXT I PRINT P
-
Копировать
n = int(input()) x = int(input()) p = x for i in range(n, 0, -1) : a = int(input()) p = p * x + a print(p)
Последовательно выполните следующее.
1) Напишите, что выведет эта программа при вводе чисел 2 1 2 1 0.
2) Приведите пример входных данных, при которых, не смотря на ошибки, программа выведет верный ответ и укажите этот ответ.
3) Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.
Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание: необходимо исправить приведённую программу, а не написать свою. Требуется заменить только ошибочные строки, но нельзя удалять строки или добавлять новые. За исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.