Вариант 1 Самостоятельная работа 4 ГДЗ Самостоятельные и контрольные работы Босова 9 класс (Информатика)
Дан одномерный массив a из шести элементов: $$-125,\ 200,\ 10,\ 6,\ 43,\ 11$$.
1) Как объявить этот массив в программе, записанной на языке Паскаль?
2) Чему равно значение элемента массива с индексом $$4$$?
3) Чему равно значение элемента массива $$a[a[4]]$$?
Программа обрабатывает одномерный целочисленный массив Dat:
i 1 2 3 4 5 6 7 8 9 10 Dat[i] 70 80 90 100 80 40 40 70 80 90 Заполните трассировочную таблицу и определите, какие числа будут выведены в результате выполнения следующего фрагмента программы.
Дополнительное задание.
Программисту было поручено написать программу нахождения суммы отрицательных элементов одномерного целочисленного массива. Программист разработал программу, но допустил в ней одну ошибку. Текст программы с ошибкой представлен ниже:
program nl;
var a: array [1..8] of integer; s, k: integer;
begin
for k := 1 to 8 do readln(a[k]);
s := 0;
for k := 1 to 8 do if a[k] < 0 then s := s + a[l];
writeln(s)
endКаким окажется ответ после исполнения этой программы, если в качестве элементов массива будут введены числа $$1,\ 2,\ 3,\ 4,\ -1,\ -2,\ -3,\ -4$$?
Как исправить программу, чтобы она решала поставленную перед программистом задачу?
1) Массив из шести элементов можно объявить в Паскале так:
var
a: array [1..6] of integer = (-125, 200, 10, 6, 43, 11);
Если массив задаётся как константа, то:
const
a: array [1..6] of integer = (-125, 200, 10, 6, 43, 11);
2) Элемент с индексом 4 равен $$a[4]=6$$.
3) Тогда $$a[a[4]] = a[6] = 11$$.
2. По трассировочной таблице видно, что после выполнения программы получаются значения $$m=40$$ и $$k=6$$.
3. В программе ошибка в строке сложения: вместо текущего элемента массива используется первый элемент. Поэтому при данных $$1, 2, 3, 4, -1, -2, -3, -4$$ программа сложит отрицательные элементы, но каждый раз прибавит $$a[1]=1$$. Таких элементов четыре, значит результат будет:
$$s=1+1+1+1=4$$
Исправленная строка:
s := s + a[k];
Ответ
1)
var
a: array [1..6] of integer = (-125, 200, 10, 6, 43, 11);
2) $$6$$
3) $$11$$
2. $$m=40,\ k=6$$
3. Вывод программы: $$4$$. Исправление: s := s + a[k];



