Объясните среди заданных чисел 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, если ложь)Конец программы :)