escola de ciências e tecnologia - aquiles...
TRANSCRIPT
• Manter o telefone celular sempre desligado/silencioso quando estiver em sala de aula;
• Nunca atender o celular na sala de aula;
Estruturas de controle de fluxo
• Estrutura Sequencial: Execução das ações primitivasem uma seqüência linear (na mesma ordem em queforam escritas)
• Estrutura de Seleção : Verifica-se uma condiçãológica antes de executar um bloco de ações.
• Estrutura de Repetição: Execução de uma seqüênciade ações repetidas vezes. O computador abandonao fluxo natural da execução (de cima para baixo) evolta a executar a seqüência de ações desejada.
Estruturas de Controle de Fluxo
• Estruturas utilizadas para reger o fluxo de execução de um algoritmo:
– Estrutura Seqüencial
– Estrutura de Seleção
– Estrutura de Repetição
Estrutura Seqüencial
• Conjunto de ações executadas em seqüência linear, na ordem em que foram escritas
• Ações separadas por:
– ponto-e-vírgula (;) em linguagens como C, Java, etc.
• Bloco delimitado por início e fim
Exemplo de Estrutura Seqüencial
1. Algoritmo “nome_do_algoritmo”
2. início // marca o início do bloco
3. // declaração das variáveis
4. // corpo do algoritmo
5. ação 1;
6. ação 2;
7. ...
8. ação n;
9. fim // fim do algoritmo
Estrutura Seqüencial
• Cada comando é executado somente após o término do comando anterior.
Ex:algoritmo “porcentagem”
Inicio
Real: a,b,x
Escreva("Qual o valor da conta?")
Leia(b)
a <- b * 0.1
Escreva("10 % do garçom dá:",a)
fim
Estrutura de Seleção
• Permite a seleção de um grupo de ações (bloco) a ser executado quando determinadas condições forem satisfeitas;
• Condições são representadas por expressões lógicas ou relacionais;
– Seleção Simples
– Seleção Composta
Seleção Simples
Estrutura Condicional SimplesFormato :
Se condição entãoseqüência de comandos
Fim se
Seleção Simples
• Verifica se uma condição é satisfeita, antes de executar um bloco;
1. se <condição> então
2. início // início do bloco verdade
3. C1;
4. C2; // Seqüência de comandos
5. ...
6. Cn;
7. fim;
8. fimse;
Seleção Simples
Se condição entãoseqüência de comandos
Fim_seExemplo:
InicioReal: medialeia (media);se (media >= 70) então
escreva (“Aluno Aprovado”);fim se;
Fim
Operadores relacionais
Símbolo Função
= Igual
> Maior que
< Menor que
<> Diferente
>= Maior ou igual que
<= Menor ou igual que
O resultado obtido de uma relação é sempre um
valor lógico.
Atividade
VARIÁVEIS RELAÇÕES
A B NOME PROFISSÃO A+2 > B NOME<>”ANA” PROFISSÃO=“MEDICO”
3 16 “MIRIAM” “ADVOGADO”
5 64 “PEDRO” “MÉDICO”
2,5 9 “ANA” “PROFESSOR”
Dadas as variáveis numéricas A e B, e as variáveis
literais NOME e PROFISSÃO, completar o quadro
a seguir.
Operadores lógicos - e
p q p e q
V V V
V F F
F V F
F F F
A conjunção de duas proposições p e q representa-
se por: p e q e é verdadeira se e somente se ambas
as proposições são verdadeiras.
Operadores lógicos - ou
p q p ou q
V V V
V F V
F V V
F F F
A disjunção de duas proposições p e q representa-
se por: p ou q e é verdadeira se e somente se,
pelo menos, uma delas for verdadeira.
Operadores lógicos - não
p não (p)
V F
F V
O operador negação (não) atribui o valor lógico
falso a uma proposição com valor verdade, e o
valor lógico verdade a uma proposição com valor
falso.
Operadores - Prioridades
• 1º prioridade : aritmético
• 2º prioridade : relacional
• 3º prioridade : não
• 4º prioridade : e
• 5º prioridade : ou
• Exemplo:
– 2 < 5 e 15/3 = 5
– 5*4 > 20 e 17/4 < 3 ou 2+3 = 5
Atividades
• Determine os resultados obtidos na avaliação das expressões lógicas seguintes, sabendo que A=2, B=7, C=3:
1. A > B-1 ou A > B- 2 / F
2. B = A * C e (A > C) / F
3. C > A ou B < C e A + 5 > B / V
4. A = C-1 e B * 2 > A*C e (A+B+C)/2 < B / V
5. C-A > B / 3 ou 5+C – A <= 12 / V
6. B > C e C > A e A + 1 >= B / F
7. C*3 >= B e 5+A <= B e B-C >= A*2 e B*3 > (B+C)*2 / V
Seleção Composta
• Dois blocos alternativos dependem de uma mesma condição
• Se condição resultar verdadeira, o primeiro bloco é executado. Caso contrário, o segundo
Estrutura de Seleção Composta
Formato :
Se condição então
seqüência A de comandos
senão
seqüência B de comandos
Fim se
Seleção Composta
Estrutura de Seleção Composta
Exemplo:
Inicio
Inteiro: a,b,c
leia (a,b)
se (a+b)=6 então
c ←1000
senão
c ←2500
fim se
escreva (c)
Fim
Seleção Composta
Seleção Composta
Faça um algoritmo que dadas três notas de um aluno, determine a média eimprima o conceito Aprovado ou Reprovado, para média >=7 e <7respectivamente.
Algoritmo media
InicioReal: nota1,nota2,nota3,media
leia (nota1,nota2,nota3)media ←(nota1+nota2+nota3)/3se media>=7 então
escreva (“Aprovado”)senão
escreva (“Reprovado”)fim se
Fim
Seleção Encadeada(Aninhada)
• Várias seleções agrupadas
• Um grande conjunto de combinações de situações deve ser satisfeito
– Seleção Encadeada Heterogênea
– Seleção Encadeada Homogênea
Seleção Encadeada Heterogênea
• Não é possível encontrar um padrão lógico na estrutura da seleção encadeada
1. se <condição 1> então
2. se <condição 2> então
3. C1;
4. fimse
5. senão
6. se <condição 3> então
7. C4;
8. senão
9. se <condição 4> então
10. se <condição 5> então
11. C5;
12. fimse;
13. senão
14. C6;
15. fimse;
16. fimse;
17. fimse;
Tabela de Decisão
Seleção Encadeada Homogênea
• Existe um padrão lógico no encadeamento da estrutura de seleção• Se então se
1. se <Condição 1> então
2. se <Condição 2> então
3. se <Condição 3> então
4. se <Condição 4> então
5. C1;
6. fimse;
7. fimse;
8. fimse;
9. fimse;
10. Se ( <condição 1> e <condição 2> e <condição 3> e <condição 4> e
<condição 5> ) então
11. C1;
12. fimse
Seleção Encadeada Homogênea
• Se senão se
1. se (x = v1) então
2. C1;
3. fimse;
4. se (x = v2) então
5. C2;
6. fimse;
7. se (x = v3) então
8. C3;
9. fimse;
10. se (x = v4) então
11. C4;
12. fimse;
Testes Desnecessários
Seleção Encadeada Homogênea
1. se (x = v1) então
2. C1;
3. senão
4. se (x = v2) então
5. C2;
6. senão
7. se (x = v3) então
8. C3;
9. senão
10. se (x = v4) então
11. C4;
12. fimse;
13. fimse;
14. fimse;
15.fimse;
Seleção Aninhada
Indice Massa corpórea Grau de obesidade
<26 Normal
>=26 e <30 Obeso
>=30 Obeso mórbido
Exemplo de desvio condicional aninhado:Escreva um algoritmo que determine o grau de obesidade de uma pessoa, sendo fornecido o peso e a altura da pessoa. O grau de obesidade é determinado pelo índice de massa corpórea (massa=peso/altura2) através da tabela abaixo
Seleção Aninhada
Inicio
Real : peso,altura,indicemassa
Caractere:grauobesidade
leia (peso,altura)
indicemassa←peso/(altura*altura)
se indicemassa<26 então
grauobesidade ←”normal”
senão
se indicemassa<30 então
grauobesidade ←”obeso”
senão
grauobesidade ←”obeso morbido”
fim se
fim se
escreva (grauobesidade)
Fim
Seleção Aninhada
Faça um algoritmo que leia três valores inteiros, determine eimprima o menor deles.
Seleção Aninhada
Inicio
Inteiro: num1,num2,num3,menor
leia (num1,num2,num3)
se (num1<num2) e (num1<num3) então
menor ←num1
senão
se (num2<num3) então
menor ← num2
senão
menor ← num3
fim se
fim se
escreva (menor)
Fim