Bom, galera eu estarei postando aqui um algoritmo de uma calculadora.
Estou fazendo isso para que programadores iniciantes tenham uma noção do que é um algoritmo.
Por favor comentem!!
Preciso saber como "estou me saindo" em "escrever algoritmos".
-- "Haaa, é muito grande!!"
Eu sei mas, esta bem legal.
Aqui esta:
Estou fazendo isso para que programadores iniciantes tenham uma noção do que é um algoritmo.
Por favor comentem!!
Preciso saber como "estou me saindo" em "escrever algoritmos".
-- "Haaa, é muito grande!!"
Eu sei mas, esta bem legal.
Aqui esta:
Código:
{***************************************************************************} {* Programador: evoluti0n *} {* Algoritmo: Calc_Test *} {* Versão: 0.1 *} {* Função: "Calculadora com as [4 operações basicas], usada para estudo." *} {* Observação: "Pode e deve ser altedo." *} {***************************************************************************} Algoritmo Calc_Test; {=====================================================================================} {=====================================================================================} Soma_Simples( ) : REAL; Subtracao_Simples( ) : REAL; Multiplicacao_Simples( ) : REAL; Divisao_Simples( ) : REAL; {-------------------------------------------------------------------------------------} Continuar_Calc_Simples( ValorContinuar : REAL ) : REAL; {-------------------------------------------------------------------------------------} Fechar( ) : NEUTRO; {=====================================================================================} {=====================================================================================} Principal( NEUTRO ) VAR: eOperacao : INTEIRO; INICIO ESCREVA( "Calc_Test..." ); {----------------------------} {Parte 1} {----------------------------} ESCREVA( "O que você deseja fazer?" ); ESCREVA( "[1]Soma Simples." ); ESCREVA( "[2]Subtração Simples." ); ESCREVA( "[3]Multiplicação Simples." ); ESCREVA( "[4]Divisão Simples. " ); ESCREVA( "[5]Sair." ); LEIA( eOperacao ); CASO( eOperacao ) INICIO SEJA 1: Soma_Simples( ); SEJA 2: Subtracao_Simples( ); SEJA 3: Multiplicacao_Simples( ); SEJA 4: Divisao_Simples( ); SEJA 5: Fechar( ); SEJA_NENHUM: ESCREVA( "Erro: Operação incorreta!" ); Principal( ); FIM RETORNE( 0 ); FIM {=====================================================================================} Soma_Simples( ) : REAL VAR: ssValor1, ssValor2 : REAL; ssResultado : REAL; eContinuar : CHARACTER; INICIO {----------------------------} {Parte 2} {----------------------------} ESCREVA( "Opção: Soma Simples" ); ESCREVA( "Digite o numero: " ); LEIA( ssValor1 ); ESCREVA( "Digite o outro numero: " ); LEIA( ssValor2 ); ssResultado <-- ssValor1 + ssValor2; {----------------------------} {Parte 3} {----------------------------} ESCREVA( "O resultado é: ", ssResultado ); {----------------------------} {Parte 4} {----------------------------} ESCREVA( "Deseja continuar? [S/N]" ); LEIA( eContinuar ); CASO( eContinuar ) INICIO SEJA 'S': Continuar_Calc_Simples( ssResultado ); SEJA 's': Continuar_Calc_Simples( ssResultado ); SEJA 'N': Fechar( ); SEJA 'n': Fechar( ); SEJA_NENHUM: ESCREVA( "Erro: Opção incorreta!" ); Soma_Simples( ); FIM RETORNE( 0 ); FIM {=====================================================================================} Subtracao_Simples( ) : REAL VAR: sbsValor1, sbsValor2 : REAL; sbsResultado : REAL; eContinuar : CHARACTER; INICIO {----------------------------} {Parte 2} {----------------------------} ESCREVA( "Opção: Subtração Simples" ); ESCREVA( "Digite o numero: " ); LEIA( sbsValor1 ); ESCREVA( "Digite o outro numero: " ); LEIA( sbsValor2 ); sbsResultado <-- sbsValor1 - sbsValor2; {----------------------------} {Parte 3} {----------------------------} ESCREVA( "O resultado é: ", sbsResultado ); {----------------------------} {Parte 4} {----------------------------} ESCREVA( "Deseja continuar? [S/N]" ); LEIA( eContinuar ); CASO( eContinuar ) INICIO SEJA 'S': Continuar_Calc_Simples( sbsResultado ); SEJA 's': Continuar_Calc_Simples( sbsResultado ); SEJA 'N': Fechar( ); SEJA 'n': Fechar( ); SEJA_NENHUM: ESCREVA( "Erro: Opção incorreta!" ); Subtracao_Simples( ); FIM RETORNE( 0 ); FIM {=====================================================================================} Multiplicacao_Simples( ) : REAL VAR: msValor1, msValor2 : REAL; msResultado : REAL; eContinuar : CHARACTER; INICIO {----------------------------} {Parte 2} {----------------------------} ESCREVA( "Opção: Multiplicação Simples" ); ESCREVA( "Digite o numero: " ); LEIA( msValor1 ); ESCREVA( "Digite o outro numero: " ); LEIA( msValor2 ); msResultado <-- msValor1 * msValor2; {----------------------------} {Parte 3} {----------------------------} ESCREVA( "O resultado é: ", msResultado ); {----------------------------} {Parte 4} {----------------------------} ESCREVA( "Deseja continuar? [S/N]" ); LEIA( eContinuar ); CASO( eContinuar ) INICIO SEJA 'S': Continuar_Calc_Simples( msResultado ); SEJA 's': Continuar_Calc_Simples( msResultado ); SEJA 'N': Fechar( ); SEJA 'n': Fechar( ); SEJA_NENHUM: ESCREVA( "Erro: Opção incorreta!" ); Multiplicacao_Simples( ); FIM RETORNE( 0 ); FIM {=====================================================================================} Divisao_Simples( ) : REAL VAR: dsValor1, dsValor2 : REAL; dsResultado : REAL; INICIO {----------------------------} {Parte 2} {----------------------------} ESCREVA( "Opção: Divisão Simples" ); ESCREVA( "Digite o numero: " ); LEIA( dsValor1 ); ESCREVA( "Digite o outro numero: " ); LEIA( dsValor2 ); dsResultado <-- dsValor1 / dsValor2; {----------------------------} {Parte 3} {----------------------------} ESCREVA( "O resultado é: ", dsResultado ); {----------------------------} {Parte 4} {----------------------------} ESCREVA( "Deseja continuar? [S/N]" ); LEIA( eContinuar ); CASO( eContinuar ) INICIO SEJA 'S': Continuar_Calc_Simples( dsResultado ); SEJA 's': Continuar_Calc_Simples( dsResultado ); SEJA 'N': Fechar( ); SEJA 'n': Fechar( ); SEJA_NENHUM: ESCREVA( "Erro: Opção incorreta!" ); Divisao_Simples( ); FIM RETORNE( 0 ); FIM {=====================================================================================} Continuar_Calc_Simples( ValorContinuar : REAL ) : REAL; VAR: NovoValor1 : REAL; ultResultado : REAL; eOperacao : INTEIRO; eContinuar : CHARACTER; INICIO {----------------------------} {Parte 5} {----------------------------} ESCREVA( "Continuar..." ); ESCREVA( "Digite o outro numero: " ); LEIA( NovoValor1 ); ESCREVA( "O que você deseja fazer?" ); ESCREVA( "[1]Continuar, Soma Simples." ); ESCREVA( "[2]Continuar, Subtração Simples." ); ESCREVA( "[3]Continuar, Multiplicação Simples." ); ESCREVA( "[4]Continuar, Divisão Simples. " ); ESCREVA( "[5]Sair." ); LEIA( eOperacao ); CASO( eOperacao ) INICIO SEJA 1: {----------------------------} {Parte 6} {----------------------------} UltResultado <-- ValorContinuar + NovoValor1; ESCREVA( "O resultado é: ", UltResultado ); {----------------------------} {Parte 7} {----------------------------} ESCREVA( "Deseja continuar? [S/N]" ); LEIA( eContinuar ); CASO( eContinuar ) INICIO SEJA 'S': Continuar_Calc_Simples( UltResultado ); SEJA 's': Continuar_Calc_Simples( UltResultado ); SEJA 'N': Fechar( ); SEJA 'n': Fechar( ); SEJA_NENHUM: ESCREVA( "Erro: Opção incorreta!" ); Continuar_Calc_Simples( UltResultado ); FIM SEJA 2: {----------------------------} {Parte 6} {----------------------------} UltResultado <-- ValorContinuar - NovoValor1; ESCREVA( "O resultado é: ", UltResultado ); {----------------------------} {Parte 7} {----------------------------} ESCREVA( "Deseja continuar? [S/N]" ); LEIA( eContinuar ); CASO( eContinuar ) INICIO SEJA 'S': Continuar_Calc_Simples( UltResultado ); SEJA 's': Continuar_Calc_Simples( UltResultado ); SEJA 'N': Fechar( ); SEJA 'n': Fechar( ); SEJA_NENHUM: ESCREVA( "Erro: Opção incorreta!" ); Continuar_Calc_Simples( UltResultado ); FIM SEJA 3: {----------------------------} {Parte 6} {----------------------------} UltResultado <-- ValorContinuar * NovoValor1; ESCREVA( "O resultado é: ", UltResultado ); {----------------------------} {Parte 7} {----------------------------} ESCREVA( "Deseja continuar? [S/N]" ); LEIA( eContinuar ); CASO( eContinuar ) INICIO SEJA 'S': Continuar_Calc_Simples( UltResultado ); SEJA 's': Continuar_Calc_Simples( UltResultado ); SEJA 'N': Fechar( ); SEJA 'n': Fechar( ); SEJA_NENHUM: ESCREVA( "Erro: Opção incorreta!" ); Continuar_Calc_Simples( UltResultado ); FIM SEJA 4: {----------------------------} {Parte 6} {----------------------------} UltResultado <-- ValorContinuar / NovoValor1; ESCREVA( "O resultado é: ", UltResultado ); {----------------------------} {Parte 7} {----------------------------} ESCREVA( "Deseja continuar? [S/N]" ); LEIA( eContinuar ); CASO( eContinuar ) INICIO SEJA 'S': Continuar_Calc_Simples( UltResultado ); SEJA 's': Continuar_Calc_Simples( UltResultado ); SEJA 'N': Fechar( ); SEJA 'n': Fechar( ); SEJA_NENHUM: ESCREVA( "Erro: Opção incorreta!" ); Continuar_Calc_Simples( UltResultado ); FIM SEJA 5: Fechar( ); SEJA_NENHUM: ESCREVA( "Erro: Operação incorreta!" ); Continuar_Calc_Simples( UltResultado ); FIM RETORNE( 0 ); FIM {=====================================================================================} Fechar( ) : NEUTRO INICIO RETORNE( 0 ); FIM {=====================================================================================}