Ir ao conteúdo
  • Cadastre-se

VisualG calculadora algoritmo fat dando erro de sintaxe


Ir à solução Resolvido por Simon Viegas,

Posts recomendados

o que esta de  errado no FAT? ja vi e mudei varias vezes e nada

 

Algoritmo "Calculadora"

Var
   // Seção de Declarações das variáveis
   operacao, i: inteiro
   a, b, resultado, N, FAT,: real
   Sair : logico

Inicio

   repita

      escreval("Escolha o número de uma operação: ") //Pede ao usuário que escolha uma das operações
      escreval("    1.- Soma")
      escreval("    2.- Subtração")
      escreval("    3.- Multiplicação")
      escreval("    4.- Divisão")
      escreval("    5.- Fatorial")
      escreval("    6.- Sair")
      escreva("    : ")
      leia(operacao)                   //Armazena o valor digitado em OPERAÇÃO
      se (operacao = 6) entao
         escreval ("Você Saiu. ")
         fimalgoritmo
      senao
         escreva("Digite o valor de a: ") //Pede um número ao usuário para A
         leia(a)                          //Armazena o valor digitado em A
         se (operacao <> 5) entao
            escreva("Digite o valor de b: ") //Pede um número ao usuário para B
            leia(b)
         fimse
      fimse
      repita
         se (operacao<1) ou (operacao>6) entao //Verifica se o número digitado está entre 1 e 4
            escreva ("Número inválido. Digite novamente. ")
         fimse
      ate (operacao>=1) e (operacao<=6)

      se (operacao = 1) entao
         resultado <- a+b              //Soma A e B quando a operação escolhida é 1
      fimse
      se (operacao = 2) entao
         resultado <- a-b              //Subtrai A e B quando a operação escolhida é 2
      fimse
      se (operacao = 3) entao
         resultado <- a*b              //Multiplica A e B quando a operação escolhida é 3
      fimse
      se (operacao = 4) e (b <> 0) entao //Verifica se B é diferente de zero
         resultado <- a/b                //Divide A por B quando a operação escolhida é 4
      fimse
      se (operacao = 5) entao
         FAT:=1
         para i:=2 ate a faca			//erro comeca aqui
            FAT:=FAT*i
         fimpara						//termina aqui
      fimse
      escreval("O resultado é: ", resultado) //Exibe o resultado de acordo com a operação escolhida
   ate Sair
Fimalgoritmo

 

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP
  • Solução

Olá @Hotaru.

 

Sobre:

1 hora atrás, Hotaru disse:

a, b, resultado, N, FAT,: real

 

Tem uma vírgula a mais ali no final. Basta apagar.

 

 

 

1 hora atrás, Hotaru disse:

      escreva("    : ")
      leia(operacao)                   //Armazena o valor digitado em OPERAÇÃO
      se (operacao = 6) entao
         escreval ("Você Saiu. ")
         fimalgoritmo

 

Esse fimAlgoritmo está perdido aí... só remover também.

 

 

Sobre:

1 hora atrás, Hotaru disse:

o que esta de  errado no FAT? ja vi e mudei varias vezes e nada

 

Dois pontos:

A sintaxe padrão seria:

para <variável> de <valor-inicial> ate <valor-limite> [passo <incremento>] faca
   <seqüência-de-comandos>
fimpara

Fonte: https://www.apoioinformatica.inf.br/produtos/item/14-comandos-de-repeticao

 

No caso ficaria:

         para i de 2 ate a faca
            FAT:=FAT*i
         fimpara	

 

Mas o principal problema é que a é do tipo real, e o para não aceita esse tipo... tem que usar uma variável do tipo inteiro.

 

Uma forma de resolver seria:

         para i de 2 ate int(a) faca
            FAT:=FAT*i
         fimpara

Ou você utiliza outra variável...

 

Aí fica faltando apenas jogar o valor de FAT no resultado.

 

No aguardo.

  • Curtir 1
  • Amei 1
Link para o comentário
Compartilhar em outros sites

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!