Escola de Ciências e Tecnologia - Aquiles...

34
UFRN Escola de Ciências e Tecnologia Estrutura de Seleção ECT1103 INFORMÁTICA FUNDAMENTAL

Transcript of Escola de Ciências e Tecnologia - Aquiles...

UFRN

Escola de Ciências e Tecnologia

Estrutura de Seleção

ECT1103 – INFORMÁTICA FUNDAMENTAL

• Manter o telefone celular sempre desligado/silencioso quando estiver em sala de aula;

• Nunca atender o celular na sala de aula;

Objetivo da Aula

• Introduzir os conceitos de:

– Estrutura Seqüencial

– Estrutura de Decisão• Se

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

Símbolo Função

e Conjunção

Ou Disjunção

Não Negação

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

Site

• http://www.ect.ufrn.br/modulo/ect1103/

Lógica de Programação

André Luiz Villar Forbellone