• Объясните программу!!!!
    Среди заданных чисел 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.

Ответы 3

  • Вообще, программу можно написать намного легче и понятнее, но она будет не так красиво выглядеть в плане кода и вывода сообщений
  • Если нужен упрощённый вариант программы, то вы можете задать новый вопрос с заданием
    • Автор:

      cooper14
    • 5 лет назад
    • 0
  • i - Счётчик количества чисел

    e - Вывод ошибки

    t - Введённое число (преобразованная строка)

    k - Счётчик количества чётных чисел

    s - Введённое число в виде строки

    1. Начало программы
    2. Начинается цикл for i:=0 to 3 do всё что внутри него будет повторено 4 раза пока i не больше 3 (0, 1, 2, 3)
    3. Начинается цикл repeat ... until e=0; если к концу выполнения команд, которые находятся внутри цикла переменная e будет равна нулю, то цикл закончится и не будет повторятся снова
    4. Вывод Write(Chr(Ord('a')+i),': '); функция Ord преобразует символ (в данном случае символ "a" англ. алфавита) в кодировку Unicode. (В unicode символы пронумерованы в алфавитном порядке. То есть +1 к коду означает сдвиг по алфавиту вправо на 1 позицию). Затем к коду символа "a" прибавляется значение i. Затем функция Chr преобразует новый код в символ.
    5. Ввод переменной s
    6. Функция Val преобразует строку s в число и записывает в переменную t. Если преобразование удалось, то переменная e равняется нулю, если нет, то переменная e больше нуля.
    7. Условие - Если e не равняется нулю, то вывести сообщение "Это не целое число, повторите ввод"
    8. Цикл со вводом числа не повторяется если e = 0
    9. Условие - Если t чётное, то функция Inc прибавляет к переменной k единицу.
    10. Вывод логического значения выражения k >= 2 (True если истина и False, если ложь)
    11. Конец программы :)
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years