Aula 17 – 08.06.2011 Logica e Algoritmos
Hoje, mais uma vez a aula foi de exercícios.
Porem foi dado um trabalho para amenizar a nota da prova.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 |
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.
var
c1,c2,c3,c4,c5,c6,votos,voto,x:inteiro
porc_n,porc_b:real
inicio
c1<-0
c2<-0
c3<-0
c4<-0
c5<-0
c6<-0
votos<-0
repita
escreva("Digite 1, 2, 3, 4, 5, 6, para votar: ")
leia(voto)
votos<-votos+1
se (voto <> 0) e (voto <> 6) e (voto <> 1) e (voto <> 2) e (voto<>3) e (voto<>4) e (voto<>5)entao
repita
escreva("Digite novamente seu voto: ")
leia(voto)
ate (voto > 0) e (voto < 6)
fimse
se (voto=1) entao
c1<-c1+1
senao
se (voto=2) entao
c2<-c2+1
senao
se (voto=3) entao
c3<-c3+1
senao
se (voto=4) entao
c4<-c4+1
senao
se (voto=5) entao
c5<-c5+1
senao
se (voto=6) entao
c6<-c6+1
fimse
fimse
fimse
fimse
fimse
fimse
ate (voto=0)
escreval("O candidato 1 recebeu",c1,".")
escreval("O candidato 2 recebeu",c2,".")
escreval("O candidato 3 recebeu",c3,".")
escreval("O candidato 4 recebeu",c4,".")
escreval("O total de votos nulos é",c5,".")
escreval("O total de votos em branco é",c6,".")
se (c5 <> 0) entao
porc_n<-((votos/100)*c5)
escreval("A porcetagem de nulos é",porc_n,"%.")
senao
escreval("Nenhum voto nulo.")
fimse
se (c6<>0) entao
porc_b<-((votos/100)*c6)
escreval("A porcentagem de brancos é",porc_b,"%.")
senao
escreval("Ninguém votou em branco.")
fimse
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 "aula17_02"
var
top,less,n:inteiro
inicio
top<-0
less<-0
repita
escreva("Digite um número: ")
leia(n)
se (n<0) entao
repita
escreva("Digitou negativo! Digite novamente: ")
leia(n)
ate (n>=0)
fimse
se (top = 0) entao
top<-n
fimse
se (less = 0) entao
less<-n
fimse
se (n > top) e (n <> 0) entao
top <- n
fimse
se (n < less) e (n <> 0) entao
less <- n
fimse
ate (n=0)
se (n=0) e (top=0) entao
escreval("Nenhum número foi digitado")
senao
escreval ("O maior número é",top,".")
escreval ("O menor número é",less,".")
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 doseguro.
O total dos impostos (somando impostos de todos os produtos).
algoritmo "aula17_03"
var
p,imposto:real
cod_p:inteiro
t,c:caracter
inicio
imposto<-0
repita
escreva("Valor do produto: ")
leia(p)
escreva("Digite (1- Brasil, 2- Portugal e 3 - outros): ")
leia(cod_p)
escreva(" Digite meio de Transporte (T - terrestre, F - fluvial e A - aéreo): ")
leia(t)
escreva("Digite se é Carga perigosa (S- sim, N - não): ")
leia(c)
se (p <= 280) entao
p<-p+((p/100)*5)
senao
p<-p+((p/100)*10)
fimse
se (cod_p = 1) e (c = "n") e ((t="t") ou (t="f")) entao
p<-p+34
imposto<-imposto+34
fimse
se (cod_p = 1) e (c = "n") e (t="a") entao
p<-p+34
p<-p+(p/2)
imposto<-imposto+34
fimse
se (cod_p = 1) e (c = "s") e ((t="t") ou (t="f")) entao
p<-p+140
imposto<-imposto+140
fimse
se (cod_p = 1) e (c = "s") e (t="a") entao
p<-p+140
p<-p+(p/2)
imposto<-imposto+140
fimse
se (cod_p = 2) entao
p<-p+59
imposto<-imposto+59 fimse
se (cod_p = 3) e (c = "s") e ((t="t") ou (t="f")) entao
p<-p+67
imposto<-imposto+67
fimse se (cod_p = 3) e (c = "n") e ((t="t") ou (t="f")) entao
p<-p+168
imposto<-imposto+168
fimse
se (cod_p = 3) e (c = "n") e (t="a") entao
p<-p+168
p<-p+(p/2)
imposto<-imposto+168
fimse
se (cod_p = 3) e (c = "s") e (t="a") entao
p<-p+67
p<-p+(p/2)
imposto<-imposto+67
fimse
escreval("Valor total",p,".")
ate (p<=0)
escreval("Total dos impostos é",imposto,".")
fimalgoritmo
Nenhum comentário:
Postar um comentário