Найдите ошибку в задаче и исправьте. В ответе выписать исправный код. Найти сумму...

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

Найдите ошибку в задаче и исправьте. В ответе выписать исправный код. Найти сумму элементов одномерного массива. Размер произвольный. Элементы вводятся с клавиатуры. Program summa; Var a: array[1..100] of string; i, n: integer; s: integer; Begin Write (‘n=’); Readln (n); For i:=n to 1 do begin write (‘введите число’); readln (a[i]); s:=s+a[i]; end; writeln(‘сумма элементов равна ‘,s); End.


Информатика (243 баллов) | 37 просмотров
Дан 1 ответ
0 голосов

Ошибка 1. Объявлен массив с типом данных значений string, хотя нужно заполнять массив целыми числами, а потом находить их сумму. Необходимо заменить тип string на integer.

Ошибка 2. Цикл не выполнится ни один раз, т.к. неправильно задан параметр. Необходимо либо написать конструкцию так: For i:=n downto 1 do , либо For i:=1 to n do .

Исправленный код:

Program summa;

Var a: array[1..100] of integer;

i, n: integer;

s: integer;

Begin

Write ('n='); Readln (n);

For i:=1 to n do

begin

write ('введите число');

readln (a[i]);

s:=s+a[i];

end;

writeln('сумма элементов равна ',s);

End.

(4.3k баллов)