Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Algoritmo de uma calculadora.

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Algoritmo de uma calculadora.

    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:

    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
    
    {=====================================================================================}
    Last edited by M2G; 22-08-2011, 18:50.
X
Working...
X