Ir ao conteúdo

Posts recomendados

Postado

< Algoritmo "CONVERSAO DE UM EM EXTENSO"
// *****************************************
Procedimento cabecalho
var

inicio
   Limpatela
   Escreval("CÁLCULO DO VALOR EXTENSO DE UM NUMERO")
   Escreval("=====================================")
   Escreval
FimProcedimento
// *****************************************
Funcao consistencia: inteiro
var
   n, numero: inteiro
   certo: logico

inicio
   certo <- falso
   Enquanto (não certo) faca
      Limpatela
      Escreva("INFORME O NÚMERO: ")
      Leia(numero)
      Se(numero < 0) ou (numero > 999) entao
         Para n de 1 ate 3 faca
            Limpatela
            Escreva(" INVÁLIDO !!")
            Timer 50
         FimPara
      Senao
         certo <- verdadeiro
      FimSe
   FimEnquanto
   Timer 0
   Retorne numero
FimFuncao
//******************************************
Procedimento resultado
var
inicio
   Escreval
   Escreval("----------------------------------------")
   Escreva("O NÚMERO ",numero," extenso é: ")
   Escreval(Maiusc(saida))
   Escreval("----------------------------------------")
   Escreval
FimProcedimento
//******************************************


Var

   Extenso: vetor[0..3,0..9] de caractere
   saida: caractere
   numero,cent,deze,unid: caractere
   uni,dez,cen: inteiro

Inicio
   Extenso[0,0] <- ""
   Extenso[0,1] <- "um"
   Extenso[0,2] <- "dois"
   Extenso[0,3] <- "tres"
   Extenso[0,4] <- "quatro"
   Extenso[0,5] <- "cinco"
   Extenso[0,6] <- "seis"
   Extenso[0,7] <- "sete"
   Extenso[0,8] <- "oito"
   Extenso[0,9] <- "nove"

   Extenso[1,0] <- "dez"
   Extenso[1,1] <- "onze"
   Extenso[1,2] <- "doze"
   Extenso[1,3] <- "treze"
   Extenso[1,4] <- "quatorze"
   Extenso[1,5] <- "quinze"
   Extenso[1,6] <- "dezesseis"
   Extenso[1,7] <- "dezessete"
   Extenso[1,8] <- "dezoito"
   Extenso[1,9] <-"dezenove"

   Extenso[2,0] <- ""
   Extenso[2,1] <- ""
   Extenso[2,2] <- "vinte"
   Extenso[2,3] <- "trinta"
   extenso[2,4] <- "quarenta"
   Extenso[2,5] <- "cinquenta"
   Extenso[2,6] <- "sessenta"
   Extenso[2,7] <- "setenta"
   Extenso[2,8] <- "oitenta"
   Extenso[2,9] <- "noventa"

   Extenso[3,0] <- ""
   Extenso[3,1] <- "cento"
   Extenso[3,2] <- "duzentos"
   Extenso[3,3] <- "trezentos"
   Extenso[3,4] <- "quatrocentos"
   Extenso[3,5] <- "quinhentos"
   Extenso[3,6] <- "seiscentos"
   Extenso[3,7] <- "setecentos"
   Extenso[3,8] <- "oitocentos"
   Extenso[3,9] <- "novecentos"

   cabecalho

   numero <- numpcarac(consistencia)

   uni <- caracpnum(copia(numero;3;1))
   dez <- caracpnum(copia(numero;2;1))
   cen <- caracpnum(copia(numero;1;1))

   Se (dez = 0) e (uni = 0) entao
      Escolha cen
      Caso 1
         Se (dez = 0) e (uni = 0) entao
            saida <- "cem"
         Senao
            saida <- Extenso(3,cen)
         FimSe
      OutroCaso
         saida <- Extenso[3,cen]
      FimEscolha
      resultado
fimalgoritmo
   FimSe


cent <- Extenso[3,cen]
deze <- Extenso[2,dez]
unid <- Extenso[0,uni]

saida <- cent + " e " + deze + " e " + unid
resultado

Fimalgoritmo >

  • Obrigado 1
Postado

Se eu coloco "106" para converter em extenso fica "CENTO E E SEIS",

sendo que almejo o "CENTO E SEIS".

 

Algoritmo "CONVERSAO DE UM EM EXTENSO - PARTE 2"
// *****************************************
Procedimento cabecalho
var

inicio
   Limpatela
   Escreval("CÁLCULO DO VALOR EXTENSO DE UM NUMERO")
   Escreval("=====================================")
   Escreval
FimProcedimento
// *****************************************
Funcao consistencia: inteiro
var
   n, numero: inteiro
   certo: logico

inicio
   certo <- falso
   Enquanto (não certo) faca
      Limpatela
      Escreva("INFORME O NÚMERO: ")
      Leia(numero)
      Se(numero < 0) ou (numero > 999) entao
         Para n de 1 ate 3 faca
            Limpatela
            Escreva("NÚMERO INVÁLIDO !!")
            Timer 50
         FimPara
      Senao
         certo <- verdadeiro
      FimSe
   FimEnquanto
   Timer 0
   Retorne numero
FimFuncao
//******************************************
Procedimento resultado
var
inicio
   Escreval
   Escreval("----------------------------------------")
   Escreva("O NÚMERO ",numero," em extenso é: ")
   Escreval(Maiusc(saida))
   Escreval("----------------------------------------")
   Escreval
FimProcedimento
//******************************************

Var
   extenso: vetor[0..3,0..9] de caractere
   saida: caractere
   numero,cent,deze,unid: caractere
   uni,dez,cen: inteiro

Inicio
   Extenso[0,0] <- ""
   Extenso[0,1] <- "um"
   Extenso[0,2] <- "dois"
   Extenso[0,3] <- "tres"
   Extenso[0,4] <- "quatro"
   Extenso[0,5] <- "cinco"
   Extenso[0,6] <- "seis"
   Extenso[0,7] <- "sete"
   Extenso[0,8] <- "oito"
   Extenso[0,9] <- "nove"

   Extenso[1,0] <- "dez"
   Extenso[1,1] <- "onze"
   Extenso[1,2] <- "doze"
   Extenso[1,3] <- "treze"
   Extenso[1,4] <- "quatorze"
   Extenso[1,5] <- "quinze"
   Extenso[1,6] <- "dezesseis"
   Extenso[1,7] <- "dezessete"
   Extenso[1,8] <- "dezoito"
   Extenso[1,9] <-"dezenove"

   Extenso[2,0] <- ""
   Extenso[2,1] <- ""
   Extenso[2,2] <- "vinte"
   Extenso[2,3] <- "trinta"
   extenso[2,4] <- "quarenta"
   Extenso[2,5] <- "cinquenta"
   Extenso[2,6] <- "sessenta"
   Extenso[2,7] <- "setenta"
   Extenso[2,8] <- "oitenta"
   Extenso[2,9] <- "noventa"

   Extenso[3,0] <- ""
   Extenso[3,1] <- "cento"
   Extenso[3,2] <- "duzentos"
   Extenso[3,3] <- "trezentos"
   Extenso[3,4] <- "quatrocentos"
   Extenso[3,5] <- "quinhentos"
   Extenso[3,6] <- "seiscentos"
   Extenso[3,7] <- "setecentos"
   Extenso[3,8] <- "oitocentos"
   Extenso[3,9] <- "novecentos"

   cabecalho

   // TAREFA: FAZER A CONSISTENCIA PARA NÃO ENTRAR COM No DECIMAL,
   //         No MENOR OU IGUAL A ZERO E No MAIOR DO QUE 999
   numero <- numpcarac(consistencia)

   uni <- caracpnum(copia(numero;3;1))
   dez <- caracpnum(copia(numero;2;1))
   cen <- caracpnum(copia(numero;1;1))

   se (dez = 0) e (uni = 0) entao
      escolha cen
      caso 1
         se (dez = 0) e (uni = 0) entao
            saida <- "cem"
         senao
            saida <- Extenso(3,cen)
         fimse
      outrocaso
         saida <- Extenso[3,cen]
      fimescolha
      resultado
fimalgoritmo
fimse

cent <- Extenso[3,cen]
deze <- Extenso[2,dez]
unid <- Extenso[0,uni]

saida <- cent + " e " + deze + " e " + unid
resultado

Fimalgoritmo

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!