Buscar

Algoritmos I (Unidade Curricular 3.2) - Positivo Tecnologia em Sistemas para Internet

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Comando Caso
• A estrutura de condição equivale a um ninho
de SE’S.
• Útil em situações onde há necessidade de se
testar uma mesma variável ou expressão que
possa conter diversos valores, executando
comandos diferentes para valores diferentes.
Comando Caso
• Testando intervalos com o comando caso:
• – 1,3 – valores inteiros 1 ou 3
• – ‘A’ .. ‘Z’ – caracteres de ‘A’ a ‘Z’
• – 1,3, 12..21 – inteiros 1 e 3 e de 12 a 21
caso <variável> seja
<valor1> : <instrução>;
<valor2> : <instrução>;
...
<valorn> : <instrução>;
outroscasos <instrução>;
fimcaso
A Estrutura CASO
Exemplo 1
• Faça um algoritmo que leia um número 
representando um determinado mês do 
ano. Após a leitura escreva por extenso 
qual o mês lido. Caso o número informado 
não esteja na faixa de 1..12 escreva uma 
mensagem informando o usuário do erro.
Solução
algoritmo meses;
variaveis 
mes:inteiro;
inicio
escreva (“Informe um mes no formato mm”);
leia (mes);
caso (mes) seja
01 : escreva(“janeiro”);
02 : escrever (“fevereiro”);
03 : escreva(“março”);
...
outroscasos 
escreva (“mês inválido”);
fimcaso; \\ existe muitas variações por exemplo fimescolha
fim.
Exemplo 2
• Ler o número referente a um dia da semana e 
imprimir a mensagem ‘Dia Útil’ ou ‘Fim-de-
Semana’, considerando que 1 = domingo, 2 = 
segunda-feira, etc...
Nome dia_da_semana
variaveis
cod_dia : inteiro
Inicio
escreva(“favor informar um valor”);
leia(cod_dia);
caso (cod_dia) seja
2 .. 6: 
escreva(“Dia Útil”);
1, 7:
escreva(“Fim-de-Semana”);
outroscasos 
escreva(“Dia inválido”);
fimcaso
fim
Exemplo 3
• A tabela a seguir mostra o preço de doces da Padaria “Pão Quente”:
• Faça um algoritmo que o cliente escolha um produto, o tamanho e a 
quantidade do mesmo e apresente o valor total a ser pago.
R$ 2,10
R$ 3,00
‘N’ - Normal
‘G’ - Grande
Trufa04
R$ 1,40
R$ 1,90
‘N’ - Normal
‘G’ – Grande
Cajuzinho03
R$ 1,50
R$ 2,00
‘N’ - Normal
‘G’ – Grande
Beijinho02
R$ 1,55
R$ 2,10
‘N’ - Normal
‘G’ – Grande
Brigadeiro01
PreçoTamanhoProdutoCódigo
Nome ‘padaria’;
variaveis
codigo, quantidade : inteiro;
tamanho : caractere;
preco : real;
preco_total : real;
Inicio
leia(codigo);
leia(quantidade);
leia(tamanho);
CASO (código) SEJA
1 :
se (tamanho = ‘N’) entao
preco 1.55;
senao
preco 2.10;
fimse
2 :
se (tamanho = ‘N’) entao
preco  1.50;
senao
preco  2.00;
fimse
3:
se (tamanho = ‘N’) entao
preco 1.40;
senao
preco  1.90;
fimse
4:
se (tamanho = ‘N’) entao
preco  2.10;
senao
preco  3.00;
fimse
OUTROSCASOS escreva (“Codigo de produto invalido”);
FIMCASO
Preco_total  quantidade * preco;
escreval(quantidade, “ unidades de”, codigo, “custa”, preco_total);
FIM
Exercício
• Leia um número inteiro (suponha o número sendo 
maior que 0), caso ele seja par realize as seguintes 
operações:
– Escreva “O número xx é par”
– Encontre seu sucessor par
– Escreva “Seu sucessor par é yy”
– Informe se o sucessor é ou não divisível por 3
• Caso o número informado não seja par, apenas 
escreva “O número xx é ímpar”
Solução
algoritmo numero;
variaveis 
num, sucessor : inteiro;
Inicio
escreva(“favor informar um número maior que 0:”); 
ler num;
se (num % 2 = 0) entao
escrever (“O número”,num, “é par.”);
sucessor  num + 2;
escrever (“Seu sucessor par é”,sucessor);
se (sucessor % 3 = 0) entao
escrever (“Sucessor Divisível por 3”);
senao 
escrever (“Sucessor Não Divisível por 3”);
fim-se;
senao
escrever (“O número”,num, “é ímpar”;
fim-se;
fim.
Exercício
• Entrar com a distância percorrida (Km) e a 
quantidade de combustível (Litros) gasto. 
Depois informe quantos quilômetros são 
percorridos por litro. Sabendo que um carro 
econômico percorre 15Km/l, diga se o veículo 
em questão é econômico ou não.
Solução
algoritmo media_combustivel;
variaveis 
distancia, litros, km_litros : real;
Inicio
escreval(“Informe distância percorida:”);
leia(distancia);
escreval(“Combustível gasto:”);
leia(litros);
km_litros  distancia/litros;
se km_litros >= 15 entao
escreva(“veículo Econômico.”);
senao 
escreva (“Veículo não Econômico.”);
fim-se;
fim.
Exercício
• Um depósito de doces tem a seguinte 
tabela de preços para suas balas:
QUANTIDADE PREÇO UNITÁRIO
<= 50 R$ 0,30
51 a 100 (inc) R$ 0,25
101 a 200 (inc) R$ 0,22
201 a 400 (inc) R$ 0,17
> 400 R$ 0,15
• Faça um algoritmo para ler a quantidade 
de balas de uma compra e exibir o valor a 
pagar pelo cliente
Solução
algoritmo compra_balas;
variaveis 
qtdade:inteiro;
inicio
ler (qtdade);
se (qtdade >= 0) entao
caso qtdade seja
1..50: escrever qtdade * 0.30;
51..100: escrever qtdade * 0.25;
101..200: escrever qtdade * 0.22;
201..400: escrever qtdade * 0.17;
outroscasos 
escrever qtdade * 0.15;
fim-caso;
senão
escrever (“Quantidade Inválida!”);
fimse;
fim.
A nota final de um estudante é calculada a partir de três notas atribuídas respectivamente a
um trabalho de laboratório, a uma avaliação semestral e a um exame final. A média das três
notas mencionadas anteriormente obedece aos pesos a seguir:
• Trabalho de laboratório peso 2
• Avaliação semestral peso 3
• Exame final peso 5
Faça um programa que receba as três notas, calcule e mostre a média ponderada e o
conceito que segue a tabela abaixo:
Obs: O Caso não aceita comparação com variável real, apenas inteira, então use o comando 
trunc para utilizar apenas a parte inteira da média. 
Trunc(x) - Retorna o valor de x com a parte decimal removida.

Continue navegando