1-11 класс
  • 1-11 класс
  • 1 класс
  • 2 класс
  • 3 класс
  • 4 класс
  • 5 класс
  • 6 класс
  • 7 класс
  • 8 класс
  • 9 класс
  • 10 класс
  • 11 класс
Выберите класс
Предметы
Босова (Сам и контр)
Вариант 1 Самостоятельная работа 4 ГДЗ Самостоятельные и контрольные работы Босова 9 класс (Информатика)
Босова, Босова, Лобанов
9 класс
Класс
9
Предмет
Информатика
Автор
Босова, Босова, Лобанов

Вариант 1 Самостоятельная работа 4 ГДЗ Самостоятельные и контрольные работы Босова 9 класс (Информатика)

Задача
  1. Дан одномерный массив a из шести элементов: $$-125,\ 200,\ 10,\ 6,\ 43,\ 11$$.

    1) Как объявить этот массив в программе, записанной на языке Паскаль?

    2) Чему равно значение элемента массива с индексом $$4$$?

    3) Чему равно значение элемента массива $$a[a[4]]$$?

  2. Программа обрабатывает одномерный целочисленный массив Dat:

    i12345678910
    Dat[i]708090100804040708090

    Заполните трассировочную таблицу и определите, какие числа будут выведены в результате выполнения следующего фрагмента программы.

  3. Дополнительное задание.

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

    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];



Общая оценка
3.7 / 5
Другие учебники
Другие предметы