sexta-feira, 25 de março de 2011

Exemplos de algoritmos - Portugol

Na aula de hoje o professor abordou diversos conceitos de programação, utilizando novos códivos como, escolha, caso, etc.

OBS: Estão sendo disponibilizados exercicios para download


  •  Exemplo de uma calculadora simples escrita em Portugol:

    algoritmo "scalc"
    // Função : Calculadora simples
    // Autor : Caio Ladislau
    // Data : 24/3/2011
    //
    // Este programa é uma simples calculadora para as operações
    // básicas, ele utiliza os comandos, atribuição (<-), se, fi
    // mse, senao, escreva, escreval, leia, escolha, caso, fimes
    // colha, e por final faz a verificação de divisão por zero,
    // pois caso contrário causaria um erro de execução
    //
    // Seção de Declarações
    var
    n1, n2, saida: real
    oper: caractere
    inicio
    // Seção de Comandos
    escreval // pulo de linha
    escreva("       Insira o primeiro num: ")
    leia(n1)
    escreva("       Operação             : ")
    leia(oper)
    escreva("       Insira o segundo num : ")
    leia(n2)
    escreval // pulo de linha

    escolha (oper)
           caso "+"
           saida <- n1 + n2
               
           caso "-"
           saida <- n1 - n2
               
           caso "*"
           saida <- n1 * n2
          
           caso "/"
           se n2=0 entao // verifica divisão por zero
              escreva("       Erro! Divisão por zero, entre com um denominador diferente de 0")
           senao
              saida <- n1 / n2
           fimse
          
    fimescolha

    escreva("       Resultado da operação:", saida)
    escreval

    fimalgoritmo

    Clique na imagem para ampliar


    • Agora outro programa que realiza uma simples troca de variáveis:
    Algoritmo "trocaval"
    // Função :
    // Autor :
    // Data : 25/3/2011
    //
    // Este programa tem a função de trocar o conteudo de duas v
    // ariáveis, utilizando um código bastante simples.
    //
    // Seção de Declarações
    var
    v1, v2, v3: caractere
    inicio
    // Seção de Comandos
    escreval // gera um pulo de linha
    escreva("     Entre com uma palavra : ")
    leia(v1)
    escreva("     Entre outra palavra   : ")
    leia(v2)
    escreval
    escreval("     Variável 1           : ",v1)
    escreval("     Variável 2           : ",v2)
    escreval
    escreval("     Trocando as variáveis de posição...")
    v3 <- v1
    v1 <- v2
    v2 <- v3
    escreval
    escreval("     Variável 1            : ",v1)
    escreval("     Variável 2            : ",v2)
    fimalgoritmo

    Clique na imagem para ampliar

    • Programa que "calcula o valor do imposto de renda"
     algoritmo "calcimp"
    // Função : Calcula o valor do imposto de renda
    // Autor :
    // Data : 25/3/2011
    //
    // Este programa atribui um valor em uma variável em função
    // do valor de outra variável
    //
    // Seção de Declarações
    var
    sal, imp: real
    condic: caractere
    inicio
    // Seção de Comandos
    escreval
    escreva("     Informe o valo do salário: ")
    leia(sal)

    se sal > 2326.01 entao
      condic <- "c"
      senao
      se sal <= 1164 entao
        condic <- "a"
        senao
        condic <- "b"
      fimse
    fimse

    escolha condic

      caso "a"
      imp <- 0
     
      caso "b"
      imp <- sal * 0.15
     
      caso "c"
      imp <- sal * 0.275

    fimescolha

    escreval("     Valor do imposto de renda:",imp)

    fimalgoritmo

    Clique na imagem para ampliar

    10 comentários:

    Anônimo disse...

    (Composta) Uma empresa deseja dar um aumento de salário para um de seus funcionários
    (funcionário padrão). Este aumento está diretamente relacionado com o tempo de serviço.
    Portanto, faça um algoritmo que leia o Tempo de Serviço (em anos) e o Salário atual do
    funcionário em questão.
    Calcule o novo salário baseado nas informações abaixo:
    - tempo de serviço abaixo de 5 anos: acrescentar R$350,00;
    - tempo de serviço entre 5 e 10 anos: acrescentar R$500,00;

    Anônimo disse...

    inicio
    variavel inteiro ano
    escrever " Digite quantos anos de empresa o funcionario tem: "
    ler ano
    se ano < 5 entao
    escrever " O funcionario tem: " , ano , " então tera aumento de 350 reais"
    senao
    se ano >= 5 e ano < 10 entao
    escrever " O funcionario tem: " , ano , " entao tera aumento de 500 reais "
    fimse
    fimse
    fim

    Anônimo disse...

    queria muito saber como fazer esse daqui alguém pode me ajudar a entender
    Escreva um algoritmo utilizando função que simule um caixa eletrônico. As seguintes operações devem ser possíveis: saldo, depósito, retirada.

    Unknown disse...

    Bom dia ! Poderia me falar como esse cod fica em Portugol ?

    //dist= Distancia do Objeto
    //distf= A segunda medição da distancia do objeto
    //dist= O resultado de dist-distf
    //pc= Porcentagem Certeza
    //pi= Porcentagem Incerteza
    #include
    #define pino_trigger 8
    #define pino_echo 9

    float dist = 0, distf = 0;
    float pc, pi;

    void convertCmPorc() {
    float dir = dist - distf;
    pc = (distf / dist) * 100;
    pi = (dir / dist) * 100;
    }

    //Inicializa o sensor nos pinos definidos acima
    Ultrasonic ultrasonic(pino_trigger, pino_echo);

    void setup() {
    Serial.begin(9600);
    Serial.println("Lendo dados do sensor...");
    }

    void loop() {
    float cmMsec;
    long microsec = ultrasonic.timing();
    cmMsec = ultrasonic.convert(microsec, Ultrasonic::CM);
    if (cmMsec > dist) {
    dist = cmMsec;
    } else {
    distf = cmMsec;
    }
    if (distf != dist) {
    convertCmPorc();
    }
    Serial.print(" Distancia em cm: ");
    Serial.println(dist);
    Serial.print(" Distancia diferenca cm: ");
    Serial.println(distf);
    Serial.print(" Distancia em Porcentagem Certeza: ");
    Serial.println(pc);
    Serial.print(" Distancia em Porcentagem Incerteza: ");
    Serial.print(pi);
    Serial.print("\n\n");
    }

    Anônimo disse...

    PODERIA DAR EXEMPLOS MAIS SIMPLES

    Anônimo disse...

    inicio
    variavel inteiro N<-5
    variavel inteiro Fat<-1
    variavel inteiro i<-1
    enquanto i <= N faz
    Fat <- Fat * i
    i <- i + 1
    fimenquanto
    escrever "O fatorial de ", N, " é ", Fat
    Fim

    Anônimo disse...

    algoritmo "aumento"


    variavel
    ano : inteiro

    inicio
    escreva (" Digite quantos anos de empresa o funcionario tem: ")
    leia (ano)
    se ano < 5 entao
    escreva (" O funcionario tem: " , ano , " então tera aumento de 350 reais")
    senao
    se (ano >= 5) e (ano < 10) entao
    escreva (" O funcionario tem: " , ano , " entao tera aumento de 500 reais ")
    fimse
    fimse
    fimalgoritmo

    Anônimo disse...

    td 2 PASSA ND É O TREM BALA

    Anônimo disse...

    Algoritmo "Aumento"

    Var
    Sal,Al:real
    Tem:inteiro
    Func:caracter


    Inicio
    escreval("Qual o nome do funcionária? ")
    Leia(Func)
    Escreval("Qual o Salário atual do funcionário ",Func,"? ")
    escreva("R$")
    Leia(Sal)
    Escreval(" A quanto tempo o funcionário ",Func," esta empresa? ")
    Leia(Tem)
    se(Tem < 5)entao
    Al <- Sal+350
    senao
    se(Tem >= 5)e(Tem < 10)entao
    Al <- Sal+500
    Fimse
    fimse
    Escreva("O salário do Funcionário ",Func," será R$",Al:5:2)



    Fimalgoritmo
    ===========================================================
    Como não foi especificado qual o valor do aumento para funcionários depois de 10 anos eu não botei nada, mas se o aumento for maior teria que botar mais um
    ===========================================================
    senao
    se(tem >=10)entao
    AL <- Sal+XXX
    Fimse
    ===========================================================
    caso o aumento continue em R$500,00 é só retirar o
    ==========================================================
    e(Tem < 10)
    ==========================================================
    do último "se".

    Anônimo disse...

    como eu resolveria essa problema: ler dois valores numéricos, efetuar a adição e apresentar o seu resultado caso o valor somado seja maior que 10.

    Postar um comentário

    Twitter Delicious Facebook Digg Stumbleupon Favorites More

     
    Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Top WordPress Themes