?>
Объясните среди заданных чисел a, b, c, d есть хотя бы два четных. var i, e, t, k: integer; s: string; begin for i: =0 to 3 do begin repeat write(chr(ord('a')+i), ': '); readln(s); val(s, t, e); if e< > 0 then writeln('это не целое число, повторите ввод'); until e=0; if t mod 2=0 then inc(k); end; writeln(k> =2); end.
Ответы
i - счётчик количества чисел
e - вывод ошибки
t - введённое число (преобразованная строка)
k - счётчик количества чётных чисел
s - введённое число в виде строки
начало программыначинается цикл for i: =0 to 3 do всё что внутри него будет повторено 4 раза пока i не больше 3 (0, 1, 2, 3)начинается цикл repeat until e=0; если к концу выполнения команд, которые находятся внутри цикла переменная e будет равна нулю, то цикл закончится и не будет повторятся снова вывод write(chr(ord('a')+i),': '); функция ord преобразует символ (в данном случае символ "a" . алфавита) в кодировку unicode. (в unicode символы пронумерованы в алфавитном порядке. то есть +1 к коду означает сдвиг по алфавиту вправо на 1 позицию). затем к коду символа "a" прибавляется значение i. затем функция chr преобразует новый код в символ.ввод переменной sфункция val преобразует строку s в число и записывает в переменную t. если преобразование удалось, то переменная e равняется нулю, если нет, то переменная e больше нуля.условие - если e не равняется нулю, то вывести сообщение "это не целое число, повторите ввод"цикл со вводом числа не повторяется если e = 0условие - если t чётное, то функция inc прибавляет к переменной k единицу.вывод логического значения выражения k > = 2 (true если истина и false, если ложь)конец программы : )