
Так как язык не указан, приведу пример на SWI-Prolog.
Код:
read_int(Int) :- read(Int), integer(Int).split_int_by_numbers(0, []) :- !.split_int_by_numbers(N, [Number|Ints]) :- Number is mod(N, 10), RestN is div(N, 10), split_int_by_numbers(RestN, Ints).test_to_div(_, []).test_to_div(N, [Number|Ints]) :- mod(N, Number) =:= 0, test_to_div(N, Ints). test(Int) :- split_int_by_numbers(Int, Numbers), test_to_div(Int, Numbers), write(Int), write(" - Yes!"), nl.test(Int) :- write(Int), write(" - No!"), nl.?- read_int(Int), test(Int).

Давайте рассмотрим, что происходит в следующей части кода:
n := Ves[1]нц для k от 1 до 14если Ves[k] < n тоn := Ves[k]всекцСначала мы присваиваем переменной n значение первого элемента массива Ves. Затем создаём цикл с итератором k, который проходит значения от 1 до 14. В каждой итерации (1 проход всех операторов / выражений в цикле) мы проверяем, является ли n больше k-того элемента и, если это условие не выполняется (то есть Ves[k] > n), то это значение присваивается переменной k. Что это значит? То, что мы находим минимальный элемент. Мы можем не работать дальше с этой частью кода, а просто найти минимальное значение в массиве.
ответ21
Задание 2Рассмотрим данную часть кода:
score := 0;нц для k от 1 до 9если A[k] >= 9 тоscore:= score+A[k]всёкцМы объявляем переменную, которая, судя по названию, хранит сумму чего-то. Затем в цикле от 1 до 9 мы проверяем, является ли k-тый элемент массива A больше или равен 9. Если так, то мы добавляем это число в переменную score. Что это значит? Что мы находим сумму всех элементов, которые больше или равны 9. Такие элементы:
11 12 13 9
ответ45
Задание 3Задание абсолютно противоположно первому. Здесь мы находим максимальный элемент.
ответ41