Контрольные задания > Задание: Определите, какое число будет напечатано в результате работы следующей программы (на трех языках программирования: Алгоритмический язык, Бейсик, Паскаль).
Вопрос:
Задание: Определите, какое число будет напечатано в результате работы следующей программы (на трех языках программирования: Алгоритмический язык, Бейсик, Паскаль).
Ответ:
Разберем алгоритм на алгоритмическом языке (логика идентична для всех трех языков):
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