quinta-feira, 23 de junho de 2011

Aula 17 - 08/06/11

Algoritmos – exercícios aula 17


1) Em uma eleição presidencial existem quatro candidatos. Os votos são informados por meio de código. Os códigos utilizados são:
           
1, 2, 3, 4
Votos para os respectivos candidatos
5
Voto nulo
6
Voto em branco
            Faça um programa que calcule e mostre:
-        o total de votos para cada candidato;
-        o total de votos nulos;
-        o total de votos em branco;
-        a percentagem de votos nulos sobre o total de votos;
-        a percentagem de votos em branco sobre o total de votos.
           
            Para finalizar o conjunto de votos, tem-se o valor ZERO e, para códigos inválidos, o programa deverá mostrar uma mensagem.

Allgoritmo "Trabalho 1"

var
prime,secon,terce,quart,nulo,branco,totalvotos :inteiro
porcentnulo,porcentbranco,x :real
inicio
prime <- 0
secon <- 0
terce <- 0
quart <- 0
nulo <- 0
branco <- 0
totalvotos <- 0
porcentnulo <- 0
porcentbranco <- 0
repita
   escreval ("Digite 1,2,3,4 para escolher seu canditado")
   escreval ("5 para nulo, 6 para voto em branco ou 0 (ZERO) para encerrar o programa.")
   leia (x)
   se (x >= 0) e (x < 7) entao
      se (x <> 0) entao
         totalvotos <- totalvotos + 1
         se (x = 1) entao
            prime <- prime + 1
            escreval ("Voce escolheu o primeiro candidato.")
         senao
            se (x = 2) entao
               secon <- secon + 1
               escreval ("Voce escolheu o segundo candidato.")
            senao
               se (x = 3) entao
                  terce <- terce + 1
                  escreval ("Voce escolheu o terceiro candidato.")
               senao
                  se (x = 4) entao
                     quart  <- quart + 1
                     escreval ("Voce escolheu o quarto candidato.")
                  senao
                     se (x = 5) entao
                        nulo <- nulo + 1
                        escreval ("Seu voto foi nulo.")
                     senao
                        se (x = 6) entao
                           branco <- branco + 1
                           escreval ("Seu voto foi em branco.")
                        senao
                           escreval ("Os numeros digitados devem estar entre 1 e 6")
                        fimse
                     fimse
                  fimse
               fimse
            fimse
         fimse
      senao
         escreval ("Voce digitou 0(ZERO)")
      fimse
   senao
      escreval ("Os numeros digitados devem estar entre 1 e 6")
   fimse
ate (x = 0)
escreval ("Voce encerrou o programa logo abaixo consta os resultados.")
se (totalvotos <> 0) entao
porcentnulo <- (nulo * 100) / totalvotos
porcentbranco <- (branco * 100) /  totalvotos
fimse
escreval ("Candidato numero 1 tem: ",prime," voto(s).")
escreval ("Candidato numero 2 tem: ",secon," voto(s).")
escreval ("Candidato numero 3 tem: ",terce," voto(s).")
escreval ("Candidato numero 4 tem: ",quart," voto(s).")
escreval ("Teve : ",nulo," voto(s) nulo.")
escreval ("Teve : ",branco," voto(s) em branco.")
escreval ("A porcentagem de votos nulos sao: ",porcentnulo," %.")
escreval ("A porcentagem de votos em branco sao: ",porcentbranco," %.")
fimalgoritmo





2) Faça um programa que receba um conjunto de valores inteiros e positivos, calcule e mostre o maior e o menor valor do conjunto. Considere que:
-        para encerrar a entrada de dados, deve ser digitado valor zero;
-        para valores negativos, deve ser enviada uma mensagem;
-        os valores negativos ou iguais a zero não entram nos cálculos.

Algoritmo "Trabalho 2" 
var
x,maior,menor:inteiro
inicio
repita
   escreval ("digite um numero inteiro positivo")
   leia (x)
   se (x < 0) entao
      escreval ("Voce digitou um numero negativo")
   senao
      maior <- x
      menor <- x
      enquanto (x <> 0) faca
         escreval ("digite um numero inteiro positivo")
         leia (x)
         se (x < 0) entao
            escreval ("Voce digitou um numero negativo")
         senao
            se (x <> 0) entao
               se (maior < x) entao
                  maior <- x
               fimse
               se (menor > x) entao
                  menor <- x
               fimse
            fimse
         fimse
      fimenquanto
   fimse
ate (x = 0)
se (maior = 0) e (menor = 0) entao
   escreval ("Voce encerrou o programa sem digitar um número inteiro e positivo.")
senao
   escreval ("O maior número digitado é: ",maior)
   escreval ("O menor número digitado é: ",menor)
fimse
fimalgoritmo





3) Faça um programa que receba os dados a seguir de vários produtos: preço unitário, país de origem (1- Brasil, 2- Portugal e 3 – outros), meio de transporte (T – terrestre, F – fluvial e A – aéreo), carga perigosa (S- sim, N – não), finalize a entrada de dados com um preço inválido, ou seja, menor ou igual a zero e que calcule e mostre:
  • O valor do imposto, usando a tabela a seguir.
Preço unitário
Percentual de imposto sobre o preço unitário
Até R$ 280,00
5.00%
Maior que R$ 280,00
10.00%

  • O valor do transporte usando a tabela a seguir
Carga Perigosa
País de Origem
Valor do Transporte
S
1
R$ 140,00
2
R$ 59,00
3
R$ 67,00
N
1
R$ 34,00
2
R$ 59,00
3
R$ 168,00

  • O valor do seguro, usando a regra a seguir:
                        Os produtos que vêm de Portugal e os produtos que utilizam transporte                          aéreo pagam metade do valor do seu preço unitário como seguro.

  • O preço final, ou seja, preço unitário mais imposto mais valor do transporte mais valor do seguro.
  • O total dos impostos (somando impostos de todos os produtos).


Algoritmo "Trabalho 3"

var
totalimposto,precouni,pais,calcseguro,impostoprecouni,valortrans:real
trans,carga:caracter
inicio
totalimposto <- 0
repita
   escreval ("***********************************************************************")
   escreval ("Preço unitário")
   leia (precouni)
   se (precouni <= 0) entao
      escreval ("Voce encerrou o programa")
   senao
   valortrans <- 0
      escreval ("País de origem (1- Brasil, 2- Portugal e 3 - outros)")
      leia (pais)
      enquanto (pais < 1) ou (pais > 3) faca
         escreval ("Opçao incorreta.Digite dinovo.")
         escreval ("País de origem (1- Brasil, 2- Portugal e 3 - outros)")
         leia (pais)
      fimenquanto
      escreval ("Meio de transporte (T - terrestre, F - fluvial e A - aéreo)")
      leia (trans)
      enquanto (trans <> "T") e (trans <> "F") e (trans <> "A") faca
         escreval ("Opçao incorreta.Digite dinovo.")
         escreval ("Meio de transporte (T - terrestre, F - fluvial e A - aéreo)")
         leia (trans)
      fimenquanto
      escreval ("carga perigosa (S- sim, N - não)")
      leia (carga)
      enquanto (carga <> "S") e (carga <> "N") faca
         escreval ("Opçao incorreta.Digite dinovo.")
         escreval ("carga perigosa (S- sim, N - não)")
         leia (carga)
      fimenquanto
      limpatela
      se (pais = 2) ou (trans = "A") entao
         calcseguro <- precouni / 2
      senao
         calcseguro <- 0
      fimse
      se (precouni <= 280) entao
         impostoprecouni <- precouni * (5/100)
         precouni <- precouni + impostoprecouni
      senao
         impostoprecouni <- precouni * (10/100)
         precouni <- precouni + impostoprecouni
      fimse
      se (carga = "S") entao
         se (pais = 1) entao
            precouni <- precouni + 140
            valortrans <-  valortrans + 140
         senao
            se (pais = 2) entao
               precouni <- precouni + 59
               valortrans <-  valortrans + 59
            senao
               se (pais = 3) entao
                  precouni <- precouni + 67
                  valortrans <-  valortrans + 67
               fimse
            fimse
         fimse
      senao
         se (pais = 1) entao
            precouni <- precouni + 34
            valortrans <-  valortrans + 34
         senao
            se (pais = 2) entao
               precouni <- precouni + 59
               valortrans <-  valortrans + 59
            senao
               se (pais = 3) entao
                  precouni <- precouni + 168
                  valortrans <-  valortrans + 168
               fimse
            fimse
         fimse
      fimse
      precouni <- precouni + calcseguro
      totalimposto <- totalimposto + impostoprecouni
      escreval ("***********************************************************************")
      escreval ("Valor do Seguro: ",calcseguro)
      escreval ("O valor do imposto desse produto é: ",impostoprecouni)
      escreval ("O valor do transporte desse produto é: ",valortrans)
      escreval ("O preço final do produto é: ",precouni)
      escreval ("O total de imposto é: ",totalimposto)
   fimse
ate (precouni <= 0)
fimalgoritmo


Bom esses não foi um trabalho tao fácil assim, achei um pouco de dificuldade na terceira questão mais quando fui ver ela não era tão difícil assim só pedia bastante coisa, espero ter ido com no trabalho pra dar uma forcinha pra nota da prova.

Nenhum comentário: