Найти ошибку в программе определения типа целого числа - Pascal

Узнай цену своей работы

Формулировка задачи:

Почему не выводит отрицательное нечётное число?? в чём ошибка, помогите пожалуйста исправить сильно не изменяя код, я конечно понимаю что он не оптимизирован, но всё же...
program if_29;
var a: integer;
begin
readln(a);
if a = 0 then
writeln('нулевое число') 
else
begin
if (a < 0) and (a mod 2 = 0) then
writeln('отрицательное четное число')
else
if (a > 0) and (a mod 2 = 0) then
writeln('положительное четное число')
else
if (a < 0) and (a mod 2 = 1) then
writeln('отрицательное нечетное число')
else
if (a > 0) and (a mod 2 = 1) then
writeln('положительное нечетное число');
end;
end.

Решение задачи: «Найти ошибку в программе определения типа целого числа»

textual
Листинг программы
var a: Integer;
begin
  Write('Введите число: '); ReadLn(a);
  if a=0 then WriteLn('ноль')
  else begin
    if a<0 then Write('отрицательное')
    else Write('положительное');
    if Odd(a) then Write(' нечетное')
    else Write(' четное');
    WriteLn(' число');
  end;
end.

Объяснение кода листинга программы

  1. Переменная a объявлена как целочисленная.
  2. Выводится сообщение «Введите число: », а затем считывается значение переменной a с помощью функции ReadLn.
  3. Выполняется проверка условия a=0. Если это условие истинно, то выводится сообщение «ноль».
  4. Если условие a=0 ложно, то выполняется следующая ветвь кода.
  5. Выполняется проверка условия a<0. Если это условие истинно, то выводится сообщение «отрицательное».
  6. Если условие a<0 ложно, то выполняется следующая ветвь кода.
  7. Выполняется проверка условия Odd(a). Если это условие истинно, то выводится сообщение «нечетное».
  8. Если условие Odd(a) ложно, то выполняется следующая ветвь кода.
  9. Выполняется проверка условия a>=0. Если это условие истинно, то выводится сообщение «положительное».
  10. Если условие a>=0 ложно, то выводится сообщение «отрицательное».
  11. Выводится сообщение « число».
  12. Код завершается.

Оцени полезность:

10   голосов , оценка 3.8 из 5
Похожие ответы