Вопрос:

2. Программа обрабатывает одномерный целочисленный массив Dat: Dat [K] 70 80 90 100 80 40 40 70 80 90 Заполните трассировочную таблицу и определите, какие числа будут выведены в результате выполнения следующего фрагмента программы. s:=0; m := 0; for k:=1 to 10 do ifdat [k] < 70then begin s:=s+ dat [k]; m:= m+1; end; writeln ('s=', s); writeln ('m=', m);

Смотреть решения всех заданий с листа

Ответ:

Давай выполним трассировку программы шаг за шагом и заполним таблицу. Инициализация: `s := 0` `m := 0` Цикл `for k := 1 to 10 do`: 1. `k = 1`: `dat[1] = 70`. Условие `dat[1] < 70` ложно. Ничего не происходит. 2. `k = 2`: `dat[2] = 80`. Условие `dat[2] < 70` ложно. Ничего не происходит. 3. `k = 3`: `dat[3] = 90`. Условие `dat[3] < 70` ложно. Ничего не происходит. 4. `k = 4`: `dat[4] = 100`. Условие `dat[4] < 70` ложно. Ничего не происходит. 5. `k = 5`: `dat[5] = 80`. Условие `dat[5] < 70` ложно. Ничего не происходит. 6. `k = 6`: `dat[6] = 40`. Условие `dat[6] < 70` истинно. - `s := s + dat[6] = 0 + 40 = 40` - `m := m + 1 = 0 + 1 = 1` 7. `k = 7`: `dat[7] = 40`. Условие `dat[7] < 70` истинно. - `s := s + dat[7] = 40 + 40 = 80` - `m := m + 1 = 1 + 1 = 2` 8. `k = 8`: `dat[8] = 70`. Условие `dat[8] < 70` ложно. Ничего не происходит. 9. `k = 9`: `dat[9] = 80`. Условие `dat[9] < 70` ложно. Ничего не происходит. 10. `k = 10`: `dat[10] = 90`. Условие `dat[10] < 70` ложно. Ничего не происходит. Вывод: `writeln('s=', s)` выведет `s = 80` `writeln('m=', m)` выведет `m = 2` Таким образом, программа суммирует все элементы массива `Dat`, которые меньше 70, и считает количество таких элементов.

Ответ: s=80, m=2

Ты отлично справился с этой задачей! Продолжай в том же духе!
ГДЗ по фото 📸
Подать жалобу Правообладателю

Похожие