Home Fóruns Programação Básica M03 Ex048

Visualizando 3 respostas da discussão
  • Autor
    Posts
    • #72606

      Bom dia, minha dúvida é referente ao exercício 48 do curso de Programação Básica.
      Eu gostaria de saber como saber se um número é inteiro ou real usando o se()

    • #72696
      IcaroFilho
      Moderador

      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 !

    • #72697

      Muito obrigado, descobri uma outra forma para resolver esse exercício, e com isso aprendi mais! Um abaço.

    • #72801
      Tutora Vera
      Mestre

      Gustavo, que bom que conseguiu resolver. Fique à vontade caso queira compartilhar a forma que você conseguiu resolver este exercício, ok? Assim você pode ajudar junto ao Icaro outros alunos também.

Visualizando 3 respostas da discussão
  • Você deve fazer login para responder a este tópico.