Buscar

Aulas 8 e 9 - Estrutura condicional

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Curso : Análise e desenvolvimento de Sistemas
ALGORITMOS - CCT0001
Aulas 8 e 9- Estrutura condicional
Estrutura de Decisão: Comando se
Estrutura de Escolha: Comando escolha
Profª. Marília S. Mendes
mariliamendes@gmail.com
02/09/2012
1
Estrutura de decisão
Como o próprio nome apresenta, a estrutura de decisão permite que o algoritmo “tome uma decisão” sobre qual sequencia de comandos deve realizar em seguida.
Isso é útil quando, dependendo de um determinado critério, é possível realizar uma ou outra sequencia de comandos. Em um algoritmo é possível encontrarmos diversas opções a serem seguidas.
O mais importante para a utilização da estrutura de decisão é conhecer quais são os critérios que levam à escolha de uma determinada sequencia de comandos.
Normalmente, esses critérios são determinados pela situação na qual o programa deve operar. Por exemplo, um aluno deve ser considerado aprovado se a média final dele for maior ou igual a 5 e reprovado se a média for menor do que 5.
Observe que esses critérios mudam de acordo com a aplicação. No exemplo, o critério de aprovação do aluno pode ser verdade para uma determinada instituição, mas ser diferente para outra.
Atenção nas identações.
02/09/2012
2
Estrutura de decisão
O comando utilizado para representar uma estrutura de decisão é o comando se. Esse comando fará um teste na condição apresentada, determinando se a condição é verdadeira ou não.
É importante observar que para duas opções de sequencia de comandos é necessário testar somente uma condição. 
Por exemplo, se a média do aluno for maior ou igual a 5 ele estará aprovado, senão estará reprovado.
Atenção nas identações.
02/09/2012
3
Estrutura de decisão
Fluxograma
Pseudocódigo
 
se(MEDIA >= 5)então
escreva (“Aprovado”);
senão
escreva (“Reprovado”);
fim_se
Atenção nas identações.
02/09/2012
4
Estrutura de decisão
Em algumas situações, não existem duas opções de sequencia de comandos a ser seguida, mas sim, uma sequencia a ser seguida, ou então não realize operação nenhuma. 
Por exemplo, se o valor do número for maior do que 10 multiplique esse valor por 2, senão deixe o número como está. Nesse caso, o comando se ficará da seguinte forma:
Fluxograma
Pseudocódigo
 
se(VALOR > 10)então
VALOR <- VALOR * 2;
fim_se
Obs: Importante notar que somente o lado N do comando se pode ficar sem nenhum comando.
Obs: Importante notar que somente o lado N do comando se pode ficar sem nenhum comando.
02/09/2012
5
Estrutura de decisão
Fluxograma
Pseudocódigo
 
programaDECISAO
var
realNOTA1, NOTA2, MEDIA;
inicio
leia(NOTA1);
leia(NOTA2);
MEDIA <- (NOTA1 + NOTA2) / 2;
se(MEDIA >= 5)então
escreva(“Aprovado”);
senão
escreva(“Reprovado”);
fim_se
fim
 
Atenção nas identações.	
02/09/2012
6
Estrutura de decisão
Comandos se aninhados
Na maioria dos algoritmos que devem ser desenvolvidos e que necessitam utilizar estruturas de decisão, não encontramos apenas duas opções a serem seguidas;
Normalmente, encontraremos várias opções diferentes a serem realizadas, de acordo com várias condições diferentes:
Por exemplo: uma determinada escola apresenta os seguintes critérios para a aprovação do aluno: 
MEDIA maior ou igual a 7
“Aprovado”
MEDIA maior que 2 e menor que 7
“Exame”
MEDIA menor ou igual a 2
“Reprovado”
Atenção nas identações.	
02/09/2012
7
Estrutura de decisão
Fluxograma
Pseudocódigo
 
se (MEDIA >= 7) então
escreva (“Aprovado”);
senão
se (MEDIA > 2) então
escreva (“Exame”);
então
escreva (“Reprovado”)
fim_se
fim_se
Obs: observe que temos uma estrutura de decisão “dentro” de outra estrutura de decisão.
Atenção nas identações.	
02/09/2012
8
Estrutura de decisão
Exercício: Faça um fluxograma e um algoritmo em portugol para verificar se um determinado valor está dentro de uma faixa de valores entre 0 e 100:
Fluxograma
Pseudocódigo
 
se (VALOR >= 0) então
se (VALOR <= 100) então
escreva (“Valor dentro da faixa”);
senão
escreva (“Valor fora da faixa”);
fim_se
senão
escreva (“Valor fora da faixa”);
fim_se
02/09/2012
9
Estrutura de decisão
Fluxograma
Pseudocódigo
 
se (VALOR >=0)e(VALOR<= 100) então
escreva (“Valor dentro da faixa”);
senão
escreva (“Valor fora da faixa”);
fim_se
02/09/2012
10
Estrutura de decisão
Exercício: Faça um fluxograma e um algoritmo em portugol para verificar se uma determinada pessoa mora no estado de “SP” ou no estado “RJ”:
Fluxograma
Pseudocódigo
 
se (ESTADO = “SP”)ou(ESTADO= “RJ”) então
escreva (“É paulista ou carioca”);
senão
escreva (“Não é paulista, nem carioca”);
fim_se
02/09/2012
11
Estrutura de decisão
Exercício: Faça um fluxograma e um algoritmo em portugol para apresentar uma mensagem de boas vindas para as pessoas que forem de qualquer estado, menos para aquelas que forem de “SP”.
Fluxograma
Pseudocódigo
 
se (ESTADO<>“SP”) então
escreva (“Seja bem vindo!”);
fim_se
se (nãoESTADO = “SP”) então
escreva (“Seja bem vindo!”);
fim_se
02/09/2012
12
1. Faça um algoritmo em pseudocódigo e em fluxograma para dados três valores X, Y e Z, verifique se eles podem ser os comprimentos dos lados de um triângulo e, se forem, verificar se é um triângulo equilátero, isóceles ou escaleno. Se não formarem um triângulo, escrever uma mensagem.
Considerar que: 
O comprimento de cada lado de um triângulo é menor que a soma dos outros dois lados;
Chama-se triângulo equilátero o triângulo que tem três lados iguais;
Chama-se triângulo isóceles o triângulo que tem o comprimento de dois lados iguais; 
Chama-se triângulo escaleno o triângulo que tem os três lados diferentes. 
Exercícios – Estrutura de decisão
Estrutura de decisão
Comando escolha
O comando escolha é utilizado para simplificar o algoritmo quando existe a necessidade de se usar o comando se com múltiplas opções. 
Atenção nas identações.
02/09/2012
14
Estrutura de decisão
se (COND = 1) então
 escreva (“Matemática”);
senão
 se (COND = 2) então
 escreva (“Português”);
 senão
 se (COND = 3) então
 escreva (“Física”);
 senão
 se (COND = 4) então
 escreva (“Biologia”);
 senão
 escreva (“Química”);
 fim_se
 fim_se
 fim_se
fim_se
Atenção nas identações.
02/09/2012
15
Estrutura de decisão
Comando escolha
Para esse tipo de estrutura existe uma forma de simplificação, utilizando o comando escolha. Mas para que seja possível utilizá-la, alguns detalhes são importantes:
Todas as condições dos comandos se devem testar a mesma variável;
Todas as condições dos comandos se devem testar a igualdade da variável com um determinado valor;
Todo comando se (exceto o primeiro) se encontra no lado “N” do comando se anterior.
Se todas essas condições forem satisfeitas, é possível substituir (somente no pseudocódigo) o conjunto de comandos se pelo comando escolha.
Obs: Não será utilizada uma simbologia específica para o comando escolha (fluxograma).
Atenção nas identações.
02/09/2012
16
Estrutura de decisão
Comando escolha
escolha (COND)
caso 1:
escreva (“Matemática”);
caso 2:
escreva (“Português”);
caso 3:
escreva (“Física”);
caso 4:
escreva (“Biologia”);
caso 5:
escreva (“Química”);
fim_escolha
Atenção nas identações.
02/09/2012
17
Estrutura de decisão
Comando escolha
As palavras reservadas escolha e fimescolha delimitam a região que fará a seleção múltipla;
O comando escolha seleciona uma expressão ou variável para ser comparada com os valores especificados nos comandos caso;
O comando caso tem funcionamento similar ao comando se, visto anteriormente;
O comando outrocaso tem funcionamento similar ao comando senao, visto anteriormente.
Atenção nas identações.
02/09/2012
18
Estrutura de decisão
Comando escolha
Algoritmo verifica_sexo
Var sexo:caractere;
Inicio
 escreva(“Digite o sexo: ”);
 leia(sexo);
 escolha (sexo)
 caso “M”:
		escreva(“Sexo Masculino:”);
 caso “F”:
		escreva(“Sexo Feminino:”);
 fimescolha
Fim
Estrutura de decisão
Algoritmo Menor_de_idade
Var idade:inteiro;
Início
	escreva(“Digite a idade:”);
	leia(idade);
	escolha(idade)
		caso 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17:
			escreva(“menor
de idade”);
		outrocaso:
			escreva(“Maior de idade”);
	fimescolha
Fim
Estrutura de decisão
Comando escolha
algoritmo "Times"
var time: caractere
inicio
escreva ("Entre com o nome de um time de futebol: ")
leia (time)
escolha time:
caso “Flamengo”, “Fluminense”, “Vasco”, “Botafogo”:
 escreva ("É um time carioca.")
caso “São Paulo”, “Palmeiras”, “Santos”, “Corínthians”:
 escreva ("É um time paulista.")
outrocaso:
 escreva ("É de outro estado.")
fimescolha
fimalgoritmo
Exercícios
1. Faça um algoritmo (utilizando o comando escolha) que, baseado no código digitado pelo usuário, retorne o nome e valor do produto.
Sabendo que:
001 – Parafuso (R$ 0,15)
002 – Porca (R$ 0,05)
003 – Prego (R$ 0,10)
004 – Martelo (R$ 40,00)
005 – Tomada (R$ 3,00)
Exercícios
2. Fazer um programa que imprime na tela a situação do aluno após a sua nota ser digitada. Usar o comando CASE. Baseie-se na tabela abaixo:
Exercícios
3. Faça um algoritmo que receba dois números e execute uma das operações listadas a seguir, de acordo com a escolha do usuário. Se for digitada uma opção inválida mostrar mensagem de erro e terminar a execução do programa. 
As opções são:
	1. Média entre os dois números;
	2. Diferença do maior pelo menor;
	3. O produto entre os dois números.
Exercícios
4. Faça um algoritmo que lê um número de 1 a 7 e informa o dia da semana correspondente, sendo domingo o número 1. Caso o número não corresponder a um dia da semana, é exibida uma mensagem de erro.
Exercícios
5. Escreva um algoritmo em Portugol que permita fazer o pagamento de um funcionário, de acordo com a seguinte tabela:
O algoritmo deve ler o nome do funcionário, o código correspondente ao seu cargo e indicar o valor a 
ser recebido. Caso haja dados extras necessários para o cálculo do pagamento, o algoritmo deve perguntar por eles somente se houver necessidade. Obs.: use somente comandos escolha-caso.
Exercícios
Exercícios
7. Faça um algoritmo que receba dois números, um operador matemático (+, -, *, /) e efetue o cálculo matemático baseado no operador digitado. O resultado deverá ser exibido em seguida. Utilize o comando escolha.
8. Elabore um algoritmo que, dada a idade válida de um nadador, classifique-o em uma das seguintes categorias:
Não aceito: 0 a 4 anos
Infantil: 5 a 10 anos
Juvenil: 11 a 17 anos
Sênior: 17 a 20 anos
Exercícios
9. Faça um algoritmo que mostre o mês do pagamento do IPVA dos carros cujas as placas terminem em:
Final 1: Pagamento em março
Final 2: Pagamento em abril
Final 3: Pagamento em maio
Final 4: Pagamento em junho
Final 5: Pagamento em julho
Final 6: Pagamento em agosto
Final 7: Pagamento em setembro
Final 8: Pagamento em outubro
Final 9: Pagamento em novembro
Final 0: Pagamento em dezembro
Exercícios
10. Escreva um algoritmo para apresentar o nome de um mês do ano, considerando a relação abaixo::

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais