Boa noite!
Sendo um pouco direto, sua definição de números ímpares está um pouco distorcida.
Números inteiros são os que podem ser escritos sem parte fracionária (incluindo o zero e os inteiros negativos). Números pares são números inteiros que são divisíveis por 2, sem deixar resto. Assim, 1 é ímpar, 4 é par. Como 1,2 não é inteiro, não se encaixa na definição de par ou ímpar, não sendo nenhum dos dois.
Em pseudocódigo, talvez você queira fazer o teste da seguinte forma (se o programa não sabe se x é inteiro mesmo ou não):
if IsInteger(x) & mod(x,2) == 0
do_something
else
do_another_thing
end
Ou então, declarando x como inteiro no início do programa (assim já se certificando desde o começo que é inteiro):
declare x as Integer
if mod(x,2) == 0
do_something
else
do_another_thing
end
Claro que o código final depende da linguagem, mas só para você entender como deveria fazer.