Buscar

Estruturas Sequenciais e Condicionais

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 27 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 27 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 27 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Continue navegando