Вопрос:

Задание: Определите, какое число будет напечатано в результате работы следующей программы (на трех языках программирования: Алгоритмический язык, Бейсик, Паскаль).

Ответ:

Разберем алгоритм на алгоритмическом языке (логика идентична для всех трех языков): 1. Объявление массива: `целтаб Dat[1:10]` - объявляется целочисленный массив `Dat` из 10 элементов. 2. Инициализация массива: Элементам массива `Dat` присваиваются следующие значения: * Dat[1] = 12 * Dat[2] = 15 * Dat[3] = 17 * Dat[4] = 15 * Dat[5] = 14 * Dat[6] = 12 * Dat[7] = 10 * Dat[8] = 13 * Dat[9] = 14 * Dat[10] = 15 3. Инициализация переменной: `m := 20` - переменной `m` присваивается значение 20. 4. Цикл: `нц для k от 1 до 10` - начинается цикл, в котором переменная `k` принимает значения от 1 до 10. 5. Условие: `если Dat[k] < m то` - проверяется условие: если значение элемента массива `Dat` с индексом `k` меньше текущего значения переменной `m`, то выполняется следующее действие. 6. Присваивание: `m := Dat[k]` - если условие выполняется, то переменной `m` присваивается значение элемента массива `Dat` с индексом `k`. 7. Конец условия: `все` - конец условного оператора. 8. Конец цикла: `КЦ` - конец цикла. 9. Вывод: `вывод m` - выводится значение переменной `m`. Теперь проследим за изменением переменной `m` в цикле: * k = 1: Dat[1] = 12, 12 < 20 - условие истинно, m = 12 * k = 2: Dat[2] = 15, 15 < 12 - условие ложно, m = 12 * k = 3: Dat[3] = 17, 17 < 12 - условие ложно, m = 12 * k = 4: Dat[4] = 15, 15 < 12 - условие ложно, m = 12 * k = 5: Dat[5] = 14, 14 < 12 - условие ложно, m = 12 * k = 6: Dat[6] = 12, 12 < 12 - условие ложно, m = 12 * k = 7: Dat[7] = 10, 10 < 12 - условие истинно, m = 10 * k = 8: Dat[8] = 13, 13 < 10 - условие ложно, m = 10 * k = 9: Dat[9] = 14, 14 < 10 - условие ложно, m = 10 * k = 10: Dat[10] = 15, 15 < 10 - условие ложно, m = 10 После завершения цикла значение переменной `m` равно 10. Это значение и будет выведено. Ответ: 10
Смотреть решения всех заданий с фото

Похожие