Вывести нечетное число в Pascal
Из двух чисел с разной четностью вывести на экран нечетное число.
Примеры работы программы
Введите одно четное и одно нечетное число 4 5 5 - нечетное число
Введите одно четное и одно нечетное число 5 4 5 - нечетное число
Исходный код программы (решение задачи) на языке Паскаль
var a, b: integer; begin writeln('Введите одно четное и одно нечетное число'); readln(a, b); if a mod 2 <> 0 then writeln(a, ' - нечетное число') else writeln(b, ' - нечетное число'); end.
Пользователь вводит четное и нечетное число. Последовательность их ввода может быть любой. Таким образом, неизвестно какая из двух переменных (a или b) содержит нечетное число. Чтобы выяснить это, используется конструкция условного ветвления (if-else), а также операция нахождения остатка от целочисленного деления (mod).
Если результат нахождения остатка от деления значения переменной a на 2 неравен (<>) нулю, значит эта переменная содержит нечетное число. Иначе нечетное число находится в переменной b, и тогда его следует вывести на экран.
В данном случае предполагается, что пользователь осуществляет ввод правильно, то есть всегда вводит одно четное и одно нечетное число. Если же ввод был некорректный (два четных или два нечетных числа), то программа будет работать неправильно. В случае двух четных чисел программа выведет второе. В случае двух нечетных — первое введенное. Чтобы избежать подобных недоразумений, программу можно усовершенствовать следующим образом:
var a, b: integer; begin writeln('Введите одно четное и одно нечетное число'); readln(a, b); if (a mod 2 = 0) and (b mod 2 <> 0) then writeln(b,' - нечетное число') else if (a mod 2 <> 0) and (b mod 2 = 0) then writeln(a,' - нечетное число') else writeln('Некорректный ввод'); end.
В данном случае в заголовках условного оператора проверяются оба числа: одно — на четность, другое — на нечетность. Если оба будут четные, или оба будут нечетные, то сработает тело вложенного оператора else.
Введите одно четное и одно нечетное число 3 5 Некорректный ввод
Введите одно четное и одно нечетное число 4 10 Некорректный ввод
Введите одно четное и одно нечетное число 8 13 13 - нечетное число