Algoritmos Prof Carlos Alberto Email carlos 36batistayahoo com
Algoritmos Prof. : Carlos Alberto E-mail: carlos 36_batista@yahoo. com. br
Estrutura Condicional �Existem comandos que, a partir de uma condição, permitem que o programa siga por um caminho ou por outro. �Em programação o uso de condições para permitir a escolha de executar ou não um trecho de programa é muito utilizado, principalmente quando precisamos incluir no programa condições de controle, para evitar situações não permitidas, que podem resultar em erros. Por exemplo, para evitar divisões por zero.
Estrutura Condicional �O fluxo de instruções é escolhido em função do resultado de uma ou mais condições. �Uma condição é uma expressão lógica, podendo ser simples ou composta. �Algoritmos em que determinados passos estão subordinados a uma condição são chamados algoritmos de seleção.
Estrutura Condicional �Desvio condicional simples �Utiliza a instrução se. . . entao. . . fimse, com a finalidade de tomar uma decisão; �Se a condição for verdadeira, serão executadas todas as instruções que estejam entre a instrução se. . . entao e a instrução fimse; �Sendo a condição falsa, serão executadas as instruções após o comando fimse;
Estrutura Condicional �Desvio condicional simples �Fluxograma
Estrutura Condicional �Desvio condicional simples �Português estruturado se (condição) entao <instruções para condição verdadeira> fimse <instruções para condição falsa ou após ser verdadeira>
Estrutura Condicional �Desvio condicional simples �Exemplo Ler dois valores numéricos, efetuar a adição e apresentar o seu resultado caso o valor somado seja maior que 10.
Estrutura Condicional �Desvio condicional simples Ler dois valores numéricos, efetuar a adição e apresentar o seu resultado caso o valor somado seja maior que 10. 1. 2. 3. Conhecer dois valores (variáveis A e B) Efetuar a soma e atribuir o resultado à variável res; Apresentar o valor contido na variável res, caso seja maior que 10.
Estrutura Condicional �Fluxograma Desvio condicional simples
Estrutura Condicional �Português estruturado algoritmo “soma_numeros” var A, B, Res : inteiro inicio leia (A) leia (B) Res : = A + B se (Res > 10) entao escreva (Res) fimse escreval(“Fim do algoritmo”) fimalgoritmo
Estrutura Condicional �Desvio condicional composto �Utiliza a instrução se. . . entao. . . senão. . . fimse, com a finalidade de tomar uma decisão; �Se a condição for verdadeira, serão executadas todas as instruções que estejam entre a instrução se. . . entao e a instrução senao; �Sendo a condição falsa, serão executadas as instruções que estejam entre o senão e a instrução fimse;
Estrutura Condicional �Desvio condicional composto �Fluxograma
Estrutura Condicional �Desvio condicional composto �Português estruturado se (condição) entao <instruções para condição verdadeira> senao <instruções para condição falsa> fimse
Estrutura Condicional �Desvio condicional composto �Exemplo �Ler dois valores numéricos, efetuar a adição. Caso o valor seja maior ou igual a 10, este deverá ser apresentado somando-se a ele mais 5, caso o valor somado não seja maior ou igual a 10, este deverá ser apresentado subtraindo-se 7.
Estrutura Condicional �Desvio condicional composto Ler dois valores numéricos, efetuar a adição. Caso o valor seja maior ou igual a 10, este deverá ser apresentado somando-se a ele mais 5, caso o valor somado não seja maior ou igual a 10, este deverá ser apresentado subtraindo-se 7. 1. 2. 3. Conhecer dois valores (variáveis A e B) Efetuar a soma e atribuir o resultado à variável res; Verificar se res é maior ou igual a 10, caso sim mostre res + 5, senão mostre res - 7.
Estrutura Condicional �Fluxograma Desvio condicional composto
Estrutura Condicional � Português estruturado algoritmo “soma_numeros” var A, B, res : inteiro inicio leia (A) leia (B) res : = A + B se (res >= 10) entao escreva (res + 5) senao escreva (res - 7) fimse fimalgoritmo
Estrutura Condicional �Desvios condicionais encadeados (ou aninhados) �Utilizado quando for necessário estabelecerem verificações de condições sucessivas; �Determinada ação poderá ser executada se um conjunto anterior de condições for satisfeito, e estabelecer novas condições; �Neste caso será utilizada uma condição dentro de outra condição.
Estrutura Condicional �Desvio condicional encadeado �Fluxograma
Estrutura Condicional �Desvio condicional encadeado �Português estruturado se (condição 1) entao <instruções para condição 1 verdadeira> senao se (condição 2) entao <instruções para condição 2 verdadeira, porém condição 1 falsa> senao <instruções para condição 1 e condição 2 falsas> fimse
Estrutura Condicional �Desvio condicional encadeado �Exemplo �Elaborar um algoritmo que efetue o cálculo do reajuste de salário de um funcionário. Considere que o funcionário deverá receber um reajuste de 15% caso seu salário seja menor que 500, se o salário for maior ou igual a 500, mas menor ou igual a 1000, seu reajuste será de 10%, caso seja maior que 1000, o reajuste será de 5%.
Estrutura Condicional �Desvio condicional encadeado �Percebe-se que o problema estabelece três condições: �Salário < 500, reajuste de 15%; �Salário >= 500, mas <= 1000, reajuste de 10%; �Salário > 1000, reajuste de 5%.
Estrutura Condicional � Desvio condicional encadeado Elaborar um algoritmo que efetue o cálculo do reajuste de salário de um funcionário. Considere que o funcionário deverá receber um reajuste de 15% caso seu salário seja menor que 500, se o salário for maior ou igual a 500, mas menor ou igual a 1000, seu reajuste será de 10%, caso seja maior que 1000, o reajuste será de 5%. 1. 2. 3. 4. 5. 6. Definir uma variável para o salário reajustado (novo_salario); Ler um valor para a variável salario; Verificar se o valor de salario < 500, se sim reajustar em 15%; Verificar se o valor de salario <= 1000, se sim reajustar em 10%; Verificar se o valor de salario > 1000, se sim reajustar em 5%; Atribuir o valor reajustado à variável novo_salario.
Estrutura Condicional �Fluxograma Desvio condicional encadeado
Estrutura Condicional � Português estruturado algoritmo “reajusta_salario” var salario, novo_salario : real inicio leia (salario) se (salario < 500) entao novo_salario : = salario * 1. 15 senao se (salario <= 1000) entao novo_salario : = salario * 1. 10 senao novo_salario : = salario * 1. 05 fimse escreva (novo_salario) fimalgoritmo
Estrutura Condicional �Operadores Lógicos �Utilizados quando se necessita trabalhar com o relacionamento de duas ou mais condições ao mesmo tempo, na mesma instrução se; �São também booleanos; conhecidos como operadores �Atuam sobre expressões e resultam em valores lógicos: verdadeiro ou falso.
Estrutura Condicional �Operadores Lógicos �Os operadores lógicos são três: ‘e’, “ou” e “não”. �Operador ‘e’ : utilizado quando dois ou mais relacionamentos verdadeiros; lógicos necessitam se (<condição 1>) e (<condição 2>) então <instrução executada se condição 1 e condição 2 verdadeiras> fimse ser
Estrutura Condicional �Operadores Lógicos �O operador ‘e’ faz com que somente seja executada uma determinada operação se todas as condições mencionadas forem simultaneamente verdadeiras. �Exemplo: fazer um algoritmo para informar se um número está na faixa de 20 a 90.
Estrutura Condicional � Exemplo: fazer um algoritmo para informar se um número está na faixa de 20 a 90. algoritmo "Testa_lógica_E" var numero : inteiro inicio leia(numero) se (numero >= 20) e (numero <= 90) entao escreva("O número está na faixa de 20 a 90. ") senao escreva("O número está fora da faixa de 20 a 90. ") fimse
Estrutura Condicional �Operadores Lógicos �Operador ‘ou’ : utilizado quando pelo menos um dos relacionamentos lógicos de uma condição necessita ser verdadeiro; se (<condição 1>) ou (<condição 2>) então <instrução executada se cond. 1 verd. ou se cond. 2 verd. > fimse
Estrutura Condicional �Operadores Lógicos �O operador ‘ou’ faz com que seja executada uma determinada operação se pelo menos uma das condições mencionadas for verdadeira. �Exemplo: fazer um algoritmo para informar se um número está na faixa de 20 a 90.
Estrutura Condicional � Exemplo: fazer um algoritmo para informar se um número está na faixa de 20 a 90. algoritmo "Testa_lógica_OU" var numero : inteiro inicio leia(numero) se (numero < 20) ou (numero > 90) entao escreva("O número está fora da faixa de 20 a 90. ") senao escreva("O número está na faixa de 20 a 90. ") fimse fimalgoritmo
Estrutura Condicional �Operadores Lógicos �Operador ‘nao’ : utilizado quando se necessita estabelecer que uma determinada condição deve não ser verdadeira; �Recurso utilizado quando mesmo sendo uma condição verdadeira, ela será tratada como falsa. se nao (<condição>) então <instrução executada se condição não for verdeira> fimse
Estrutura Condicional �Operadores Lógicos �O operador ‘nao’ faz com que seja executada uma determinada operação se a condição não for verdadeira, portanto, considerada falsa. �O operador ‘nao’ caracteriza-se por inverter o estado lógico de uma condição.
Estrutura Condicional � Exemplo 1 algoritmo "Testa_lógica_NAO" var A : inteiro inicio leia(A) se nao (A > 5) entao escreval(A, " não é maior que 5") senao escreval(A, " é maior que 5") fimse escreva(A) fimalgoritmo
Estrutura Condicional � Exemplo 2 algoritmo "Testa_lógica_NAO" var A, B, C, X : inteiro inicio leia(A, B, X) se nao (X > 5) entao C : = (A + B) * X senao C : = (A - B) * X fimse escreva(C) fimalgoritmo
Estrutura Condicional �Operadores Lógicos �Veja a tabela com um resumo dos operadores lógicos
Estrutura Condicional �Operadores Lógicos �Veja a tabela de decisão dos operadores lógicos
Estrutura Condicional �Desvio condicional de múltipla escolha �Utilizado quando se deseja, em algum ponto do algoritmo, tomar uma decisão, com um número de alternativas; �Uma decisão múltipla pode ser construída comandos se. . . entao. . . senao encadeados, porém torna-se de difícil leitura; �O comando escolha. . . caso oferece uma alternativa com uma sensível melhoria na legibilidade do algoritmo.
Estrutura Condicional �Desvio condicional de múltipla escolha �A estrutura de decisão escolha. . . caso é utilizada para testar uma única expressão, que produz um resultado, ou, então, o valor de uma variável, em que está armazenado um determinado conteúdo; �Pode ser considerado como uma especialização do comando “se”.
Estrutura Condicional �Desvio condicional de múltipla escolha �Fluxograma
Estrutura Condicional �Desvio condicional de múltipla escolha �Português estruturado escolha < expressão-de-seleção > caso < exp 1 > , < exp 2 >, . . . , < exp n > < lista-de-comandos-1 > caso < exp 1 > , < exp 2 >, . . . , < exp n > < lista-de-comandos-2 > outrocaso < lista-de-comandos-3 > fimescolha
Estrutura Condicional � Desvio condicional de múltipla escolha �Exemplo Um determinado clube de futebol pretende classificar seus atletas em categorias e para isto ele contratou um programador para criar um programa que executasse esta tarefa. Para isso o clube criou uma tabela que continha a faixa etária do atleta e sua categoria. A tabela está demonstrada abaixo: IDADE De 05 a 10 De 11 a 15 De 16 a 20 De 21 a 25 CATEGORIA Infantil Juvenil Junior Profissional Construa um programa que solicite o nome e a idade de um atleta e imprima a sua categoria.
Estrutura Condicional �Fluxograma Desvio condicional de múltipla escolha
Estrutura Condicional � Português estruturado algoritmo “Classificação de Atletas” var nome, categoria : caracter idade : inteiro inicio escreva("Nome do Atleta = ") leia (nome) escreva("Idade do Atleta = ") leia (idade) escolha idade caso 5, 6, 7, 8, 9, 10 categoria : = "Infantil" caso 11, 12, 13, 14, 15 categoria : = "Juvenil“ caso 16, 17, 18, 19, 20 categoria : = "Junior“ caso 21, 22, 23, 24, 25 categoria : = "Profissional“ outrocaso categoria : = "INEXISTENTE" fimescolha escreva ("Categoria = ", categoria) fimalgoritmo
- Slides: 45