Buscar

Aula 04 - Estrutura Decisao

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

*
*
*
Estrutura de Decisão 
Aula 04 
Algoritmo e Programação I
*
*
*
Introdução
Os algoritmos vistos até agora seguem mais ou menos o mesmo padrão: entrada de dados, uma série de cálculos e a saída de um resultado
Além disso, o computador é capaz de tomar decisões e determinar um curso de ação durante a execução do programa com base no valor de um dado que pode ser lido ou resultante de um cálculo.
*
*
*
Fluxo de controle
Se refere à ordem na qual os passos individuais do algoritmo são executados
Ex.: Um algoritmo para calcular a média de três notas de um aluno
Fluxo de controle 
linear
*
*
*
Estruturas de controle
O fluxo de controle de um programa ou algoritmo pode ser alterado através de estruturas de controle.
Utilizando uma estrutura de controle é possível repetir um grupo de passos automaticamente e, baseado em certas condições, selecionar um curso para execução do programa. 
*
*
*
Decisão
Os comandos que permitem ao computador tomar uma decisão são: 
Se-então
se – então – senão
Suponha que tenhamos duas variáveis inteiras A e B com valor diferentes, e desejamos imprimir o valor da maior.
Se A é maior do que B, imprimir A
Se B é maior do que A, imprimir B
*
*
*
Decisão
Uma decisão é especificada numa expressão lógica (A>B)
Se A>B é verdade, então será impresso o valor de A.
Se A>B é falso, então será impresso o valor de B.
*
*
*
Se-então
Sintaxe:
	Se (<condição>)
	então {
		<comandos>
	}
Exemplo: Imprimir aprovado se a media do aluno for maior igual a 7.0
	Se (media >= 7.0)
	então {
		escreva (‘Aprovado’)
	}
*
*
*
Se-Então-Senão
Sintaxe:
	Se (<condição>)
	então {
		<comandos>
	}
	senão {
		<comandos>
	}
*
*
*
Se-Então-Senão
Exemplo: ler dois números A e B e imprimir o maior 
Inicio
	Inteiro A, B
	Leia (A, B)
	Se (A>B)
	então { Escreva (A) }
	senão { Escreva (B) }
Fim
*
*
*
Operadores relacionais
>		maior que
<		menor que
= 		igual a
>=		maior que ou igual a
<=		menor que ou igual a
<>		diferente
*
*
*
Exemplo
Algoritmo que verifica se é natal
Inicio
Inteiro dia, mes
Escreva(“Digite o dia e o mês:’’)
Leia (dia, mes)
Se (mes=12 e dia=25)
Entao { 
		Escreva (“Feliz Natal!”)
		Escreva (“bom dia”) }
Senao { Escreva (“Não é natal”) }
Fim
*
*
*
Exercício
Escreva um algoritmo que receba como entrada o tempo e a distância percorrida por um automóvel e escreva se ele está ou não dentro do limite de 80km/h.
*
*
*
Se aninhado
Ex.: Um algoritmo que leia três números (A,B e C) e imprima o maior valor.
É necessário testar os pares de números. Se A>B é verdade temos que verificar também se A>C.
*
*
*
Se aninhado
Inicio
Inteiro A, B, C, Max
Leia (A, B, C)
Se (A>B)
Entao{ Se (A>C)
		Entao { Max ← A }
		Senao { Max ← C }
}
Senao	{ Se (B>C)
		Entao { Max ← B }
		Senao { Max ← C }
}
Escreva (“Maior valor = “, Max)
Fim
*
*
*
Exemplo
Um empresa decidiu utilizar a seguinte fórmula para calcular o prêmio de natal de seus funcionários: 
Subtrair dois terços das horas que ele faltou das suas horas extras e distribuir o prêmio de acordo com a tabela ao lado
X= H.Extra – 2/3*faltas
*
*
*
Exemplo
Faça um algoritmo que leia o nome de um empregado, as suas horas extras, as horas de faltas e determine o prêmio a ser pago.
*
*
*
Inicio
	Real Extra, Falta, horas, Premio
	String Nome
	Leia (Nome, Extra, Falta)
	horas ← (Extra – (2/3 * Falta))
	Se (horas >40)
	entao {	Premio ← 500.0 }
	Senao{	Se (horas >30)
			Entao { Premio ← 400.0 }
			Senao	{ Se (horas > 20)
				Entao { Premio ← 300.0 }
				Senao	{ Se (horas >10)
					Entao { Premio ← 200.0 }
					Senao { Premio ← 100.0 }
				}
			}
	}
	Escreva (“Premio para “, Nome, “ =R$ “, Premio)
Fim
*
*
*
Exemplo
Ler três números e encontrar o valor máximo e mínimo.
*
*
*
Inicio
	Inteiro A, B, C
	Leia (A, B, C)
	Se (A>B)
	Entao { Se (A>C)
		 Entao {Max ← A
			 Se (B < C)
			 entao { Min ← B }
			 senao { Min ← C }}
		 Senao { Max ← C
			 Min ← B } }
	Senao { Se (B >C)
		 Entao { Max ← B }
			 Se ( A < C)
			 Entao { Min ← A }
			 Senao {Min ← C } }
		 Senao {Max ← C
			 Min ← A }}
	Escreva (“Maior = “, Max, “Menor = “, Min)
Fim
*
*
*
Exercício
Construa um algoritmo para determinar o resultado de uma votação particular onde existem quatro candidatos. Lembre-se o candidato para vencer as eleições deve ter o total de votos maior do que a soma dos totais de votos dos outros candidatos. Caso isto não ocorra o candidato com menor número de votos será eliminado da próxima votação.

Teste o Premium para desbloquear

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

Outros materiais