Escola de Ciências e Tecnologia UFRN 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 primitivas em uma seqüência linear (na mesma ordem em que foram escritas) Estrutura de Seleção : Verifica-se uma condição lógica antes de executar um bloco de ações. Estrutura de Repetição: Execução de uma seqüência de ações repetidas vezes. O computador abandona o fluxo natural da execução (de cima para baixo) e volta 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 Simples Formato : Se condição então seqüê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ão seqüência de comandos Fim_se Exemplo: Inicio Fim Real: media leia (media); se (media >= 70) então escreva ( Aluno Aprovado ); fim se;
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 Dadas as variáveis numéricas A e B, e as variáveis literais NOME e PROFISSÃO, completar o quadro a seguir. 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
Operadores lógicos Símbolo Função e Ou Não Conjunção Disjunção Negação
Operadores lógicos - e A conjunção de duas proposições p e q representase por: p e q e é verdadeira se e somente se ambas as proposições são verdadeiras. p q p e q V V V V F F F V F F F F
Operadores lógicos - ou A disjunção de duas proposições p e q representase por: p ou q e é verdadeira se e somente se, pelo menos, uma delas for verdadeira. p q p ou q V V V V F V F V V F F F
Operadores lógicos - não p V F não (p) 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
Seleção Composta 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
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 e imprima o conceito Aprovado ou Reprovado, para média >=7 e <7 respectivamente. Algoritmo media Inicio Real: nota1,nota2,nota3,media leia (nota1,nota2,nota3) media (nota1+nota2+nota3)/3 se 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
Se senão se Seleção Encadeada Homogênea 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 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/altura 2 ) através da tabela abaixo Indice Massa corpórea Grau de obesidade <26 Normal >=26 e <30 Obeso >=30 Obeso mórbido
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 e imprima 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