terça-feira, 1 de maio de 2012

Maratona de Programação - Parte 2

Resolução dos 3 últimos problemas:


4.    Elabore um algoritmo que:

  • calcule a média geral de uma disciplina, para uma determinada turma;
  •  identifique quantos alunos foram aprovados;
  •  identifique quantos alunos foram reprovados;
Algoritmo



PROGRAMA_MEDIAAPROVADOSREPROVADOS
    DECLARE nota, media, soma: REAL
    DECLARE alunos, aprovados, reprovados: INTEIRO
    DECLARE op: LITERAL
INICIO
    op ← 's'
    soma ← 0
    media ← 0
    alunos ← 0
    reprovados ← 0
    aprovados ← 0
    ENQUANTO (op = 's')
                           LEIA(nota)
                           soma ← soma + nota
                           alunos ← alunos + 1
                           SE (nota >= 5)
                           ENTAO aprovados ← aprovados + 1
                           SENAO reprovados ← reprovados + 1
                           ESCREVA("Existem outros (s/n)?")
                           LEIA(op)
    FIMENQUANTO
    media ← soma / alunos
    ESCREVA(media)
    ESCREVA(aprovados)
    ESCREVA(reprovados)
FIM


5.    Elabore um algoritmo que calcule o capital de uma concessionária de veículos, identificando o carro mais barato e o carro mais caro.  Crie três versões para este algoritmo, uma utilizando a estrutura de repetição PARA, outra utilizando a estrutura do ENQUANTO  e a última utilizando o REPITA.

Algoritmo

PROGRAMA_ CONCESSIONARIA_PARA
    DECLARE capital, preco, maisbarato, maiscaro: REAL
    DECLARE i, quantidadecarros: INTEIRO
INICIO
    LEIA(quantidadecarros)
    LEIA(preco)
    maisbarato ← preco
    maiscaro ← preco
    capital ← preco
    PARA i ← 1 ATÉ quantidadecarros FAÇA
               LEIA(preco)
               capital ← capital + preco
               SE (preco > maiscaro)
               ENTAO maiscaro ← preco
               SE (preco < barato)
               ENTAO maisbarato ← preco
    FIMENQUANTO
    ESCREVA(capital)
    ESCREVA(maisbarato)
    ESCREVA(maiscaro)
FIM


PROGRAMA_ CONCESSIONARIA_ENQUANTO
    DECLARE capital, preco, maisbarato, maiscaro: REAL
    DECLARE op: LITERAL
INICIO
    LEIA(preco)
    maisbarato ← preco
    maiscaro ← preco
    capital ← preco
    ESCREVA("Existem outros (s/n)?")
    LEIA(op)
    ENQUANTO (op = 's')
                           LEIA(preco)
                           capital ← capital + preco
                           SE (preco > maiscaro)
                           ENTAO maiscaro ← preco
                           SE (preco < barato)
                           ENTAO maisbarato ← preco
                           ESCREVA("Existem outros (s/n)?")
                           LEIA(op)
    FIMENQUANTO
    ESCREVA(capital)
    ESCREVA(maisbarato)
    ESCREVA(maiscaro)
FIM


PROGRAMA_ CONCESSIONARIA_REPITA
    DECLARE capital, preco, maisbarato, maiscaro: REAL
    DECLARE contador: INTEIRO
    DECLARE op: LITERAL
INICIO
    LEIA(preco)
    contador ← 0
    REPITA
                  contador ← contador + 1
                  LEIA(preco)
                  SE (contador = 1)
                  ENTAO maisbarato ← preco
                                maiscaro ← preco
                                capital ← preco
                  SENAO capital ← capital + preco
                                SE (preco > maiscaro)
                                ENTAO maiscaro ← preco
                                SE (preco < barato)
                                ENTAO maisbarato ← preco
                  ESCREVA("Existem outros (s/n)?")
                  LEIA(op)
                  ENQUANTO (op = 's')
    FIMREPITA 
    ESCREVA(capital)
    ESCREVA(maisbarato)
    ESCREVA(maiscaro)
FIM


6.    Elabore um algoritmo que calcule a soma dos valores de uma compra de supermercado.

Algoritmo

PROGRAMA_SUPERMERCADO
    DECLARE valor, soma: REAL
    DECLARE op: LITERAL
INICIO
    op ← 's'
    soma ← 0
    valor ← 0
    ENQUANTO (op = 's')
                           LEIA(valor)
                           soma ← soma + valor
                           ESCREVA("Existem outros (s/n)?")
                           LEIA(op)
    FIMENQUANTO
    ESCREVA(soma)
FIM


Até a próxima.


Nenhum comentário:

Postar um comentário