Bom dia Gustavo.
Vou explicar e demonstrar… tente replicar a minha explicação e depois confira o código.
O método que utilizei foi através da biblioteca Tipos.
Como o Portugal é uma linguagem fortemente tipada (precisando dizer qual é o tipo da variável em sua declaração), utilizamos uma entrada neutra do tipo cadeia.
Depois simplesmente pedimos para fazer uma checagem pela biblioteca para saber se é real ou inteiro usando as funções:
cadeia_e_real(var)
ou cadeia_e_inteiro(var)
Ai varia a partir de qual função usou. caso escolha cadeia_e_real, o retorno verdadeiro será real e vice versa.
— Vale algumas ressalvas —
1- este é apenas um método. vc pode fazer também uma busca na entrada procurando por “.”, caso retorne verdadeiro ele será real.
2- lembre-se que 10 é inteiro e 10.0 é real. embora possuam o mesmo valor, são de tipos diferentes.
Aqui vai um exemplo, replique após tentar:
programa
{
inclua biblioteca Tipos --> tp
funcao inicio()
{
cadeia num = ""
escreva("digite um numero: ")
leia(num)
se (tp.cadeia_e_real(num)){
escreva("numero é real")
} senao {
escreva("numero é inteiro")
}
}
}
Bons estudos !