Title: Algoritmos
1Algoritmos
2Estrutura 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.
3Estrutura 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
4Estrutura Condicional
- Desvio condicional simples
- Fluxograma
5Estrutura Condicional
- Desvio condicional simples
- Português estruturado
- se (condição) entao
- ltinstruções para condição verdadeiragt
- fimse
- ltinstruções para condição falsa ou após ser
verdadeiragt
6Estrutura 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.
7Estrutura 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. - 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.
8Estrutura Condicional
Desvio condicional simples
9Estrutura Condicional
- Português estruturado
- algoritmo soma_numeros
- var
- A, B, Res inteiro
- inicio
- leia (A)
- leia (B)
- Res A B
- se (Res gt 10) entao
- escreva (Res)
- fimse
- fimalgoritmo
10Estrutura 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
11Estrutura Condicional
- Desvio condicional composto
- Fluxograma
12Estrutura Condicional
- Desvio condicional composto
- Português estruturado
- se (condição) entao
- ltinstruções para condição verdadeiragt
- senao
- ltinstruções para condição falsagt
- fimse
13Estrutura 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.
14Estrutura 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. - 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.
15Estrutura Condicional
Desvio condicional composto
16Estrutura Condicional
- Português estruturado
- algoritmo soma_numeros
- var
- A, B, res inteiro
- inicio
- leia (A)
- leia (B)
- res A B
- se (res gt 10) entao
- escreva (res 5)
- senao
- escreva (res - 7)
- fimse
- fimalgoritmo
17Estrutura 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.
18Estrutura Condicional
- Desvio condicional encadeado
- Fluxograma
19Estrutura Condicional
- Desvio condicional encadeado
- Português estruturado
- se (condição 1) entao
- ltinstruções para condição 1 verdadeiragt
- senao
- se (condição 2) entao
- ltinstruções para condição 2
verdadeira, porém condição 1 falsagt - senao
- ltinstruções para condição1 e condição 2
falsasgt - fimse
- fimse
20Estrutura 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.
21Estrutura Condicional
- Desvio condicional encadeado
- Percebe-se que o problema estabelece três
condições - Salário lt 500, reajuste de 15
- Salário gt 500, mas lt 1000, reajuste de 10
- Salário gt 1000, reajuste de 5.
22Estrutura 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. - 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 lt 500, se sim
reajustar em 15 - Verificar se o valor de salario lt 1000, se sim
reajustar em 10 - Verificar se o valor de salario gt 1000, se sim
reajustar em 5 - Atribuir o valor reajustado à variável
novo_salario.
23Estrutura Condicional
Desvio condicional encadeado
24Estrutura Condicional
- Português estruturado
-
- algoritmo reajusta_salario
- var
- salario, novo_salario real
- inicio
- leia (salario)
- se (salario lt 500) entao
- novo_salario novo_salario 1.15
- senao
- se (salario lt 1000) entao
- novo_salario novo_salario
1.10 - senao
- novo_salario
novo_salario 1.05 - fimse
- fimse
- escreva (novo_salario)
- fimalgoritmo
25Estrutura 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 com
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.
26Estrutura 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.
27Estrutura Condicional
- Desvio condicional de múltipla escolha
- Fluxograma
28Estrutura Condicional
- Desvio condicional de múltipla escolha
- Português estruturado
- escolha lt expressão-de-seleção gt
- caso lt exp 1 gt , lt exp 2 gt, ... , lt exp n gt
- lt lista-de-comandos-1 gt
- caso lt exp 1 gt , lt exp 2 gt, ... , lt exp n gt
- lt lista-de-comandos-2 gt
- outrocaso
- lt lista-de-comandos-3 gt
- fimescolha
29Estrutura 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 CATEGORIA
- De 05 a 10 Infantil
- De 11 a 15 Juvenil
- De 16 a 20 Junior
- De 21 a 25 Profissional
- Construa um programa que solicite o nome e a
idade de um atleta e imprima a sua categoria.
30Estrutura Condicional
Desvio condicional de múltipla escolha
31Estrutura 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
32Estrutura 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 conhecidos como operadores booleanos
- Atuam sobre expressões e resultam em valores
lógicos verdadeiro ou falso.
33Estrutura 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 lógicos necessitam ser
verdadeiros -
- se (ltcondição 1gt) e (ltcondição 2gt) então
- ltinstrução executada se condição 1 e condição 2
verdadeirasgt - fimse
34Estrutura 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.
35Estrutura 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 gt
20) e (numero lt 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 fimalgoritmo
36Estrutura Condicional
- Operadores Lógicos
- Operador ou utilizado quando pelo menos um
dos relacionamentos lógicos de uma condição
necessita ser verdadeiro -
- se (ltcondição 1gt) ou (ltcondição 2gt) então
- ltinstrução executada se cond. 1 verd. ou se
cond. 2 verd.gt - fimse
37Estrutura 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 ler o sexo de
uma pessoa.
38Estrutura Condicional
- Exemplo fazer um algoritmo para ler o sexo de
uma pessoa.
algoritmo "Testa_lógica_OU" var sexo
caracter inicio leia(sexo) se (sexo
masculino) ou (sexo feminino) entao
escreva(O seu sexo é válido.") senao
escreva(O seu sexo é inválido.")
fimse fimalgoritmo
39Estrutura 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 (ltcondiçãogt) então
- ltinstrução executada se condição não for
verdeiragt - fimse
40Estrutura 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.
41Estrutura Condicional
algoritmo "Testa_lógica_NAO" var A, B, C, X
inteiro inicio leia(A, B, X) se nao (X gt
5) entao C (A B) X senao
C (A - B) X fimse escreva(C) fimalgorit
mo
42Estrutura Condicional
- Operadores Lógicos
- Veja a tabela com um resumo dos operadores lógicos
43Estrutura Condicional
- Operadores Lógicos
- Veja a tabela de decisão dos operadores lógicos