Baixe o app para aproveitar ainda mais
Prévia do material em texto
ESTRUTURAS SEQUENCIAL E DE SELEÇÃO (CONTROLE CONDICIONAL) Douglas Dutra douglas_dutra@hotmail.com Introdução Conceitos utilizados nos algoritmos (aula anterior): • Variáveis • Atribuições • Expressões lógicas, relacionais e aritméticas • Entrada e saída de dados • Blocos lógicos • Obs.: a partir deste slide sempre que aparecer algoritmo lembrar que o formalismo adotado é o pseudocódigo 2 Fluxo de execução • Para que um conjunto de ações se torne viável é preciso definir como elas se relacionam, ou seja, é preciso definir o fluxo de execução do algoritmo; • Estruturas básicas de controle de fluxo de execução (e a combinação delas) permitem que criemos algoritmos; • Estruturas de controle de fluxo: • Sequencial; • Seleção; • Repetição. 3 Estrutura sequencial • Um conjunto de ações primitivas será executado na ordem em que foram escritas; • Todos os comandos são encerrados com “;”; • A indentação organiza o algoritmo; 4 Início // identifica o início do bloco // declaração de variáveis ação 1; // corpo do algoritmo ação 2; ação 3; ⁞ ação n; Fim. // fim do algoritmo Estrutura sequencial • Exemplo 1: • Escreva um algoritmo que calcule a média aritmética de quatro notas quaisquer fornecidas por um usuário; • Dados de entrada: • notas N1, N2, N3 e N4; • Dados de saída: • média M; • O que fazer para obter a média das quatro notas? • Somar as 4 notas e dividir por 4. 5 Estrutura sequencial • Exemplo 1 (cont.): 6 Início // começo do algoritmo real: N1, N2, N3, N4, MA; // declaração de variáveis leia (N1, N2, N3, N4); // entrada de dados MA ← (N1 + N2 + N3 + N4)/4; // processamento escreva (MA); // saída de dados Fim. // término do algoritmo Estrutura sequencial • Exemplo 2: • Escreva um algoritmo que calcule a quantidade de latas de tinta necessárias e o custo para pintar tanques cilíndricos de combustível, dados: • A lata de tinta custa R$ 50,00; • Cada lata contém 5 litros; • Cada litro de tinta pinta 3 m2. • Quais os dados de entrada do problema? • Quais os dados de saída do problema? 7 Estrutura sequencial • Exemplo 2 (cont.): • Dados de entrada: • Altura e raio do tanque (cilindro); • Dados de saída: • Custo e quantidade de latas; • O que é preciso calcular? • Área do cilindro; • Quantidade total de litros necessários; • Quantidade total de latas necessárias; • Custo total. 8 Estrutura sequencial • Exemplo 2 (cont.): 9 Início real: Altura, Raio, Custo, // declaração de variáveis Latas, Área, Litros; real: pi; // “constante” pi ← 3,14; // leia (Altura, Raio); Área ← (2*pi*pot(Raio, 2)) + (2*pi*Raio*Altura); Litros ← Área/3; Latas ← Litros/5; Custo ← Latas*50,00; escreva (Custo, Latas); Fim. Estrutura sequencial • Exemplo 3: • E se daqui a 6 meses a lata de tinta não custar mais R$ 50,00? 10 Estrutura sequencial • Exemplo 3 (cont.): 11 Início real: Altura, Raio, Custo, // declaração de variáveis Latas, Área, Litros Preço; real: pi; // “constante” pi ← 3,14; // leia (Altura, Raio, Preço); Área ← (2*pi*pot(Raio, 2)) + (2*pi*Raio*Altura); Litros ← Área/3; Latas ← Litros/5; Custo ← Latas*Preço; escreva (Custo, Latas); Fim. Estruturas de seleção • Uma estrutura de seleção permite a escolha de um grupo de ações (bloco) a ser executado quando determinadas condições, representadas por expressões lógicas e/ou relacionais, são ou não satisfeitas; • Estudaremos as seguintes estruturas: • Seleção simples; • Seleção composta; • Seleção encadeada. 12 Estruturas de seleção • Seleção simples (execução condicional): • Quando precisamos testar uma certa condição antes de executar uma ação, usamos uma seleção simples: 13 se <condição> então Comando1; // comando único (ação primitiva) fimse se <condição> então Comando2; // vários comandos Comando3; fim se; Estruturas de seleção • Seleção simples (cont.): • <condição> é uma expressão lógica, que quando inspecionada, pode gerar um resultado falso ou verdadeiro; • Se <condição> for verdadeira, a ação sob cláusula então será executada; caso contrário (<condição> for falsa), encerra-se a seleção (fimse) sem executar nenhum comando. 14 Estruturas de seleção • Seleção simples (cont.): • Exemplo 1 (revisitado): • Apresentar uma mensagem que informa que o aluno foi aprovado se a média for maior ou igual a 7,0. 15 Início // começo do algoritmo real: N1, N2, N3, N4, MA; // declaração de variáveis leia (N1, N2, N3, N4); // entrada de dados MA (N1 + N2 + N3 + N4)/4; // processamento escreva ← (MA); // saída de dados se (MA >= 7) então escreva (“Aluno aprovado!”); fimse; Fim. // término do algoritmo Estruturas de seleção • Seleção composta (execução alternativa): • Utilizada quando temos situações em que duas alternativas dependem de uma mesma condição, uma de a condição ser verdadeira e outra de a condição ser falsa: 16 se <condição> então Comando1; // início do bloco verdade Comando2; Comando3; senão Comando4; // início do bloco falso Comando5; fim se; Estruturas de seleção • Seleção composta (cont.): • Exemplo 1 (revisitado): • Acrescentar uma mensagem que informa que o aluno foi reprovado se a média for menor do que 7,0. 17 Início // começo do algoritmo real: N1, N2, N3, N4, MA; // declaração de variáveis leia (N1, N2, N3, N4); // entrada de dados MA ← (N1 + N2 + N3 + N4)/4; // processamento escreva (MA); // saída de dados se (MA >= 7) então escreva (“Aluno aprovado!”); senão // se (MA < 7) escreva (“Aluno reprovado!”); fimse; Fim. // término do algoritmo Estruturas de seleção • Seleção encadeada (e aninhada): • Utilizada quando é preciso agrupar várias seleções; • Esta formação ocorre quando uma determinada ação (ou conjunto de ações) deve ser executada se um grande conjunto de possibilidades ou combinações de situações for satisfeito; • Seleção encadeada heterogênea: • não é possível identificar um padrão lógico de construção da seleção encadeada; • Seleção encadeada homogênea: • quando diversas estruturas de seleção encadeada seguem um padrão lógico; 18 Estruturas de seleção • Seleção encadeada (cont.): • Heterogênea: 19 se <condição1> então se <condição2> então Comando1; fim se; senão se <condição3> então Comando3; senão se <condição4> então Comando5; Comando6; fim se; fim se; fim se; Estruturas de seleção • Seleção encadeada (cont.): • Homogênea: 20 se <condição1> então se <condição2> então se <condição3> então Comando1; Comando2; fim se; fim se; fim se; se (<condição1> e <condição2> e <condição3>) então Comando1; Comando2; fim se; Estruturas de seleção • Exemplo 4: • Dados três valores A, B, C, verificar se eles podem ser os comprimentos dos lados de um triângulo. Se forem, verificar se compõem um triângulo equilátero, isósceles, ou escaleno. Informar se não compuserem nenhum triângulo; • Dados de entrada: • Três lados de um triângulo; • Dados de saída: • Mensagens; 21 Estruturas de seleção • Exemplo 4 (cont.): • O que é um triângulo? • Figura geométrica fechada de três lados, em que cada um é menor que a soma dos outros dois. • O queé um triângulo equilátero? • O que é um triângulo isósceles? • O que é um triângulo escaleno? 22 Estruturas de seleção • Exemplo 4 (cont.): 23 Início inteiro: ladoA, ladoB, ladoC; leia (ladoA, ladoB, ladoC); se ((ladoA < ladoB + ladoC) e (ladoB < ladoA + ladoC) e (ladoC < ladoA + ladoB)) se ((ladoA = ladoB) e (ladoB = ladoC)) então escreva (“Triângulo equilátero!”); senão se ((ladoA = ladoB) ou (ladoA = ladoC) ou (ladoB = ladoC)) então escreva (“Triângulo isósceles!”); senão se ((ladoA <> ladoB) e (ladoA <> ladoC) e (ladoB <> ladoC)) então escreva (“Triângulo escaleno!”); fimse; fimse; fimse; senão escreva (“Estes valores não formam um triângulo!”); fimse; Fim. Estruturas de seleção • Exemplo 4 (cont.): 24 Início inteiro: ladoA, ladoB, ladoC; leia (ladoA, ladoB, ladoC); se ((ladoA < ladoB + ladoC) e (ladoB < ladoA + ladoC) e (ladoC < ladoA + ladoB)) se ((ladoA = ladoB) e (ladoB = ladoC)) então escreva (“Triângulo equilátero!”); senão se ((ladoA = ladoB) ou (ladoA = ladoC) ou (ladoB = ladoC)) então escreva (“Triângulo isósceles!”); senão se ((ladoA <> ladoB) e (ladoA <> ladoC) e (ladoB <> ladoC)) então escreva (“Triângulo escaleno!”); fimse; fimse; fimse; senão escreva (“Estes valores não formam um triângulo!”); fimse; Fim. Estruturas de seleção • Escolha - Caso • Estrutura muito utilizada em Menus de escolha • Coloca a variável em TESTE e compara com valores constantes • Não devemos realizar comparações com expressões lógicas 25 escolha variável caso valor1 Comando1; // início do bloco verdade fim caso; caso valor2 Comando2; // início do bloco verdade fim caso; senão Comando3; fim escolha; Estruturas de seleção • Exemplo Escolha: 26 Início inteiro: op; escreva (“Digite 1 para banana e 2 para Laranja”); leia (op); escolha (op) caso (1) escreva (“Banana”); fim caso; caso (2) escreva (“Laranja”); fim caso; senão escreva (“Nem banana nem Laranja!”); fim escolha; Fim. Exercícios • Disponível no Moodle2 -> • Lista 5 – Estruturas Sequenciais. 27
Compartilhar