
В программе используется одномерный целочисленный массив A с индексами от 0 до 9. Значения
элементов равны 1, 2, 4, 3, 5, 6, 8, 7, 3, 4, т.е. A[0]=1, A[1]=2 и т.д. Определите значение переменной s после выполнения следующего фрагмента программы: s := 0; for i:=1 to 9 do if A[i-1] < A[i] then begin A[i] := A[i-1] + 1; s := s + A[i] end

Ответы на вопрос

Ответ:
31
Объяснение:
s := 0;
for i:=1 to 9 do
if A[i-1] < A[i] then begin
A[i] := A[i-1] + 1;
s := s + A[i]
end
В цикле программы выполняются такие действия: если элемент массива с индексом i меньше предыдущего элемента, то элементу массива с индексом i присваивается значение предыдущего элемента, увеличенное на единицу. А затем это новое значение суммируется со значением переменной s.
Если элемент массива с индексом i больше или равен предыдущему элементу, то выполнение переходит к следующему шагу цикла.
При разборе программы стоит составить таблицу трассировки.





Давайте разберемся, как изменяется массив A и значение переменной s в результате выполнения данного фрагмента программы.
Исходный массив A: [1, 2, 4, 3, 5, 6, 8, 7, 3, 4]
Первая итерация (i = 1): A[0] (1) < A[1] (2), поэтому A[1] = A[0] + 1 = 2 + 1 = 3 s = 0 + 3 = 3
Вторая итерация (i = 2): A[1] (3) < A[2] (4), поэтому A[2] = A[1] + 1 = 3 + 1 = 4 s = 3 + 4 = 7
Третья итерация (i = 3): A[2] (4) < A[3] (3), условие не выполняется, ничего не изменяется
Четвертая итерация (i = 4): A[3] (3) < A[4] (5), поэтому A[4] = A[3] + 1 = 3 + 1 = 4 s = 7 + 4 = 11
Пятая итерация (i = 5): A[4] (4) < A[5] (6), поэтому A[5] = A[4] + 1 = 4 + 1 = 5 s = 11 + 5 = 16
Шестая итерация (i = 6): A[5] (5) < A[6] (8), поэтому A[6] = A[5] + 1 = 5 + 1 = 6 s = 16 + 6 = 22
Седьмая итерация (i = 7): A[6] (6) < A[7] (7), условие не выполняется, ничего не изменяется
Восьмая итерация (i = 8): A[7] (7) < A[8] (3), условие не выполняется, ничего не изменяется
Девятая итерация (i = 9): A[8] (3) < A[9] (4), поэтому A[9] = A[8] + 1 = 3 + 1 = 4 s = 22 + 4 = 26
Итак, после выполнения данного фрагмента программы:
- Значения массива A станут [1, 2, 3, 3, 4, 5, 6, 7, 4, 4]
- Значение переменной s будет равно 26.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili