Ir ao conteúdo
  • Cadastre-se

Calculadora simples (Portugol IDE)


Emerson111

Posts recomendados

Preciso de ajuda com o algoritimo abaixo. Consegui fazê-lo funcionar uma vez, mas depois ele não funciona mais, fique num loop pedindo o tipo de operação. Fiz no Portugol IDE.

Crie um algoritmo que simule uma calculadora simples. O algoritmo deve realizar as operações básicas adição, subtração, divisão e multiplicação (+ - / *). O algoritmo deve terminar quando o usuário digitar zero nos dois valores (0 e 0). Utilize a estrutura “para” ou “enquanto”. Exemplo da execução do algoritmo:

1+3 = 4

20/4 = 5

50*3 = 150

0 – 0

inicio
inteiro num1 , num2 , soma , sub , mult , div , operacao


escrever "Digite um número. "
ler num1
escrever "Digite um número. "
ler num2

enquanto num1 > 0 e num2 > 0 faz
escrever "\n\nEscolha a operação:"
escrever "\n1 = soma"
escrever "\n2 = sub"
escrever "\n3 = mult"
escrever "\n4 = div"
ler operacao

se operacao = 1 então
soma <- num1 + num2
escrever num1 , " + " , num2 , " = " , soma

se operacao = 2 então
sub <- num1 - num2
escrever num1 , " + " , num2 , " = " , sub

se operacao = 3 então
mult <- num1 * num2
escrever num1 , " + " , num2 , " = " , mult

se operacao = 4 então
div <- num1 / num2
escrever num1 , " + " , num2 , " = " , div

fim se
fim se
fim se
fim se

fim enquanto

escrever "FIM DO PROGRAMA"

fim

Link para o comentário
Compartilhar em outros sites

Pelo que percebi do que querias, tens que inserir sempre os dois números e só depois escolher a operação. Correcto?

Caso seja isso, apenas tem que colocar a estrutura de repetição antes de tudo o resto. Neste caso ficaria algo semelhante a:


inteiro num1 , num2 , soma , sub , mult , div , operacao

enquanto num1 > 0 e num2 > 0 faz
escrever "Digite um número. "
ler num1
escrever "Digite um número. "
ler num2

escrever "\n\nEscolha a operação:"
escrever "\n1 = soma"
escrever "\n2 = sub"
escrever "\n3 = mult"
escrever "\n4 = div"
ler operacao

se operacao = 1 então
soma <- num1 + num2
escrever num1 , " + " , num2 , " = " , soma

se operacao = 2 então
sub <- num1 - num2
escrever num1 , " + " , num2 , " = " , sub

se operacao = 3 então
mult <- num1 * num2
escrever num1 , " + " , num2 , " = " , mult

se operacao = 4 então
div <- num1 / num2
escrever num1 , " + " , num2 , " = " , div

fim se
fim se
fim se
fim se

fim enquanto

escrever "FIM DO PROGRAMA"

fim
inicio

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...

Olá boa tarde cara da uma sacada nesse codigo pode ser que te ajude na sua duvida!


algoritmo "semnome"
// Função :
// Autor :
// Data : 24/06/2013
// Seção de Declarações
var
op: inteiro
num1: real
num2: real
soma: real
sub: real
mult: real
divi: real
perc: real
fat: inteiro
cont: inteiro
avancar: caractere

procedimento Somar (var somando,n1,n2: real)
inicio
somando<- n1 + n2
fimprocedimento

procedimento Subtrair (var subtraindo,n1,n2: real)
inicio
subtraindo<- n1 - n2
fimprocedimento

procedimento Multiplicar (var multiplicando,n1,n2: real)
inicio
multiplicando<- n1 * n2
fimprocedimento

procedimento Dividir (var dividindo,n1,n2: real)
inicio
dividindo<- n1 / n2
fimprocedimento

procedimento Fatorial (var fator,n1,i: inteiro)
inicio
fator <- 1
i <- 1
repita
se n1 >= i então
i<- i + 1
fator<- fator * i
fimse
ate i >= n1
fimprocedimento

procedimento Percentual (var percent,n1,n2: real)
inicio
se n1 > n2 então
percent<- (n2 * n1) / 100
senao
se n2 > n1 então
percent<- (n1 * n2) / 100
fimse
fimse
fimprocedimento

inicio
// Seção de Comandos
repita
escreval("-------------------------------------------")
escreval("+ +")
escreval("+ B E M V I N D O +")
escreval("+ C A L C S Y S T E M +")
escreval("+ +")
escreval("-------------------------------------------")
escreval(" Escolha a Operação")
escreval("-------------------------------------------")
escreval(" 1- Somar")
escreval(" 2- Subtrair")
escreval(" 3- Multiplicar")
escreval(" 4- Dividir")
escreval(" 5- Fatorial")
escreval(" 6- Percentual")
escreval(" 0- Sair do Sistema")
escreval("-------------------------------------------")
escreval("Informe a Operação")
escreva(">> ")
leia(op)

escolha op
caso 1
escreval("-------------------------------------------")
escreval(" S O M A R ")
escreval("-------------------------------------------")
escreval("Informe um valor")
escreva(">> ")
leia(num1)

escreval("Informe outro valor")
escreva(">> ")
leia(num2)
Somar(soma,num1,num2)
escreval("A soma é: ",Soma)
escreval("-------------------------------------------")
escreval(" Pressione Enter Para ")
escreval(" Realizar um Novo Cálculo")
escreval(" ou [ E ] Para Encerrar o Sistema")
escreval("-------------------------------------------")
escreva(">> ")
leia(avancar)
limpatela
caso 2
escreval("-------------------------------------------")
escreval(" S U B T R A Ç Ã O ")
escreval("-------------------------------------------")
escreval("Informe um valor")
escreva(">> ")
leia(num1)

escreval("Informe outro valor")
escreva(">> ")
leia(num2)
Subtrair(sub,num1,num2)
escreval("A subtração é: ",Sub)
escreval("-------------------------------------------")
escreval(" Pressione Enter Para ")
escreval(" Realizar um Novo Cálculo")
escreval(" ou [ E ] Para Encerrar o Sistema")
escreval("-------------------------------------------")
escreva(">> ")
leia(avancar)
limpatela
caso 3
escreval("-------------------------------------------")
escreval(" M U L T I P L I C A Ç Ã O ")
escreval("-------------------------------------------")
escreval("Informe um valor")
escreva(">> ")
leia(num1)

escreval("Informe outro valor")
escreva(">> ")
leia(num2)
Multiplicar(mult,num1,num2)
escreval("A multiplicação é: ",Mult)
escreval("-------------------------------------------")
escreval(" Pressione Enter Para ")
escreval(" Realizar um Novo Cálculo")
escreval(" ou [ E ] Para Encerrar o Sistema")
escreval("-------------------------------------------")
escreva(">> ")
leia(avancar)
limpatela
caso 4
escreval("-------------------------------------------")
escreval(" D I V I S Ã O ")
escreval("-------------------------------------------")
escreval("Informe um valor")
escreva(">> ")
leia(num1)

escreval("Informe outro valor")
escreva(">> ")
leia(num2)
Dividir(Divi,num1,num2)
escreval("A divisão é: ",Divi)
escreval("-------------------------------------------")
escreval(" Pressione Enter Para ")
escreval(" Realizar um Novo Cálculo")
escreval(" ou [ E ] Para Encerrar o Sistema")
escreval("-------------------------------------------")
escreva(">> ")
leia(avancar)
limpatela
caso 5
escreval("-------------------------------------------")
escreval(" F A T O R I A L ")
escreval("-------------------------------------------")
escreval("Informe um valor")
escreva(">> ")
leia(num1)

se num1 < 0 então
repita
escreval("Não é Permitido valores Negativos em Cálculo de Fatorial")
escreval(" Informe Outro Valor")
escreva(">> ")
leia(num1)
ate num1 >= 0
fimse

Fatorial(fat,num1,cont)
escreval("O fatorial é: ",Fat)
escreval("-------------------------------------------")
escreval(" Pressione Enter Para ")
escreval(" Realizar um Novo Cálculo")
escreval(" ou [ E ] Para Encerrar o Sistema")
escreval("-------------------------------------------")
escreva(">> ")
leia(avancar)
limpatela
caso 6
escreval("-------------------------------------------")
escreval(" P E R C E N T U A L ")
escreval("-------------------------------------------")
escreval("Informe um valor")
escreva(">> ")
leia(num1)

escreval("Informe outro valor")
escreva(">> ")
leia(num2)
Percentual(Perc,num1,num2)
escreval("O percentual é: ",Perc,"%")
escreval("-------------------------------------------")
escreval(" Pressione Enter Para ")
escreval(" Realizar um Novo Cálculo")
escreval(" ou [ E ] Para Encerrar o Sistema")
escreval("-------------------------------------------")
escreva(">> ")
leia(avancar)
limpatela
fimescolha

se (op = 0) ou (avancar = "E") então
limpatela
escreval("-------------------------------------------")
escreval("+ +")
escreval("+ C A L C S Y S T E M +")
escreval("+ E N C E R R A D O +")
escreval("+ +")
escreval("-------------------------------------------")
escreval(" Desenvolvido por: Tiago Grunge!")
escreval("-------------------------------------------")
interrompa
fimse
fimrepita
fimalgoritmo

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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!