Você está na página 1de 35

Disciplina: Tópicos Especiais em

Programação de Computadores/Softwares

Aula - Construção de Algoritmos:


Estruturas de Controle
(Estruturas de Seleção Encadeada)

Prof. Msc. Juliana

UNIFOA

15 de maio de 2023
Aula: Objetivos

• Apresentar o conceito de estrutura de seleção encadeada.


• Abordar as técnicas para entrada e saı́da de dados em estruturas
de seleção encadeada.
• Ilustrar a construção de algoritmos através de etapas lógicas
envolvendo estruturas de seleção encadeada.
• Explicar a aplicabilidade das estruturas de seleção, suas variantes,
combinações e equivalências.

./img/logoSBPO

Prof. Msc. Juliana (UNIFOA) Tópicos Especiais em Programação de Computadores/Softwares


15 de maio de 2023 2 / 322/
Aula: Objetivos

• Apresentar o conceito de estrutura de seleção encadeada.


• Abordar as técnicas para entrada e saı́da de dados em estruturas
de seleção encadeada.
• Ilustrar a construção de algoritmos através de etapas lógicas
envolvendo estruturas de seleção encadeada.
• Explicar a aplicabilidade das estruturas de seleção, suas variantes,
combinações e equivalências.

./img/logoSBPO

Prof. Msc. Juliana (UNIFOA) Tópicos Especiais em Programação de Computadores/Softwares


15 de maio de 2023 2 / 322/
Aula: Objetivos

• Apresentar o conceito de estrutura de seleção encadeada.


• Abordar as técnicas para entrada e saı́da de dados em estruturas
de seleção encadeada.
• Ilustrar a construção de algoritmos através de etapas lógicas
envolvendo estruturas de seleção encadeada.
• Explicar a aplicabilidade das estruturas de seleção, suas variantes,
combinações e equivalências.

./img/logoSBPO

Prof. Msc. Juliana (UNIFOA) Tópicos Especiais em Programação de Computadores/Softwares


15 de maio de 2023 2 / 322/
Aula: Objetivos

• Apresentar o conceito de estrutura de seleção encadeada.


• Abordar as técnicas para entrada e saı́da de dados em estruturas
de seleção encadeada.
• Ilustrar a construção de algoritmos através de etapas lógicas
envolvendo estruturas de seleção encadeada.
• Explicar a aplicabilidade das estruturas de seleção, suas variantes,
combinações e equivalências.

./img/logoSBPO

Prof. Msc. Juliana (UNIFOA) Tópicos Especiais em Programação de Computadores/Softwares


15 de maio de 2023 2 / 322/
Aula: Recapitulando

./img/logoSBPO

Prof. Msc. Juliana (UNIFOA) Tópicos Especiais em Programação de Computadores/Softwares


15 de maio de 2023 3 / 323/
Aula : Estrutura de Seleção Composta

Recapitulando: Exemplo de Estrutura de Seleção Composta


• Faça um algoritmo para calcular o novo salário de um funcionário.
Sabe-se que os funcionários que recebem atualmente salário de até
R$500 terão aumento de 20%; os demais terão aumento de 10%.
Por fim, escreva o novo salário do funcionário.

./img/logoSBPO

Prof. Msc. Juliana (UNIFOA) Tópicos Especiais em Programação de Computadores/Softwares


15 de maio de 2023 4 / 324/
Aula : Algoritmo Seleção Composta

Recapitulando: Algoritmo - Aumento Salarial


inı́cio
real: salarioatual, aumento, novosalario;
escreva (“Digite o salário atual do funcionário:”);
leia (salarioatual);
se (salario <= 500) então
inı́cio
aumento ← (salario * 0,20);
novosalario ← (salario + aumento);
fim;
senão
inı́cio
aumento ← (salario * 0,10);
novosalario ← (salario + aumento);
fim;
fimse;
escreva (“O salário do funcionário será:”, novosalario);

fim.

./img/logoSBPO

Prof. Msc. Juliana (UNIFOA) Tópicos Especiais em Programação de Computadores/Softwares


15 de maio de 2023 5 / 325/
Aula :Estrutura de Seleção Simples e Composta

Recapitulando:
Resumidamente temos:
1 Estrutura de Seleção Simples: se - então.
2 Estrutura de Seleção Composta: se - então - senão.

./img/logoSBPO

Prof. Msc. Juliana (UNIFOA) Tópicos Especiais em Programação de Computadores/Softwares


15 de maio de 2023 6 / 326/
Aula : Estrutura de Seleção Composta

Recapitulando:

./img/logoSBPO

Prof. Msc. Juliana (UNIFOA) Tópicos Especiais em Programação de Computadores/Softwares


15 de maio de 2023 7 / 327/
Aula : Estrutura de Seleção Encadeada

• É uma sequência de testes de seleção,


• os quais serão executados ou não de acordo com o resultado das
condições
• e com o encadeamento dos testes.

./img/logoSBPO

Prof. Msc. Juliana (UNIFOA) Tópicos Especiais em Programação de Computadores/Softwares


15 de maio de 2023 8 / 328/
Aula : Estrutura de Seleção Encadeada

Um teste de seleção pode ter dois conjuntos de instruções, conforme


visto em Estruturas de Seleção Composta,
• um para resultado verdadeiro e outro para falso,
• porém esses conjuntos de instruções podem conter outros testes de
seleção,
• que, por sua vez, também podem conter outros,
• e assim por diante.

./img/logoSBPO

Prof. Msc. Juliana (UNIFOA) Tópicos Especiais em Programação de Computadores/Softwares


15 de maio de 2023 9 / 329/
Aula : Modelo de Seleção Encadeada

• A Estrutura de Seleção Encadeada ocorre quando uma


seleção tem como ação uma outra seleção e assim por diante.
Linguagem Estruturada (Pseudocódigo)
se (condição 1) então
se (condição 2) então [se encadeado]
conjunto de instruções A;
senão
Conjunto de instruções B;
fimse;
senão
Conjunto de instruções C;
fimse;

./img/logoSBPO

Prof. Msc. Juliana (UNIFOA) Tópicos Especiais em Programação de Computadores/Softwares


15 de maio de 2023 10 / 3210
Aula : Modelo de Seleção Encadeada

No modelo temos que


• se a condição 1 resultar verdadeiro, então será realizado o teste
da condição 2;
• se esse teste resultar verdadeiro, será realizado o Conjunto de
instruções A;
• se resultar falso, será realizado o Conjunto de instruções B.
• Se o teste da condição 1 resulta falso, será realizado o
Conjunto de instruções C.

./img/logoSBPO

Prof. Msc. Juliana (UNIFOA) Tópicos Especiais em Programação de Computadores/Softwares


15 de maio de 2023 11 / 3211
Aula : Estruturas de Seleções Encadeadas

• Podemos construir uma estrutura de seleção de diversas formas,


• sendo que, ao encadearmos várias seleções,
• as diferentes possibilidades de construção tendem a um número
elevado.
I Uma seleção encadeada pode ser:
• Heterogênea: Quando não é possı́vel identificar um padrão de
comportamento.
• Homogênea: Quando é possı́vel identificar um padrão de
comportamento.

./img/logoSBPO

Prof. Msc. Juliana (UNIFOA) Tópicos Especiais em Programação de Computadores/Softwares


15 de maio de 2023 12 / 3212
Aula : Seleção Encadeada Heterogênea

Exemplo: Dados três valores A, B e C, diferentes de zero (0),


verifique se eles podem ser os comprimentos dos lados de um triângulo,
se forem, verifique se compõem um triângulo equilátero, isósceles ou
escaleno. Por último, informe senão compuserem nenhum triângulo.

./img/logoSBPO

Prof. Msc. Juliana (UNIFOA) Tópicos Especiais em Programação de Computadores/Softwares


15 de maio de 2023 13 / 3213
Aula : Resolução do Exemplo

• Dados de entrada:
I três lados de um suposto triângulo (A, B, C).
• Dados de saı́da:
I mensagens:
• não compõem triângulo,
• triângulo equilátero,
• triângulo isósceles,
• triângulo escaleno.

./img/logoSBPO

Prof. Msc. Juliana (UNIFOA) Tópicos Especiais em Programação de Computadores/Softwares


15 de maio de 2023 14 / 3214
Aula : Resolução do Exemplo

• O que é triângulo?
I Resposta: figura geométrica fechada de três lados, em que cada
um é menor que a soma dos outros dois.
I É triângulo: (A < B + C) e (B < A + C) e (C < A + B).
• O que é um triângulo equilátero?
I Resposta: um triângulo com três lados iguais.
I É equilátero: (A = B) e(B = C).
• O que é um triângulo isósceles?
I Resposta: um triângulo com dois lados iguais.
I É isósceles: (A = B) ou (A = C) ou (B = C).
• O que é um triângulo escaleno?
I Resposta: um triângulo com todos os lados diferentes.
I É escaleno: (A <> B) e (B <> C) e (A <> C).

./img/logoSBPO

Prof. Msc. Juliana (UNIFOA) Tópicos Especiais em Programação de Computadores/Softwares


15 de maio de 2023 15 / 3215
Aula : Algoritmo – Tipos de Triângulos

inı́cio
inteiro: A, B, C; // tamanho dos lados
leia (A, B, C);
se (A < B + C) e (B < A + C) e (C < A + B) então
se (A = B) e (B = C) então
escreva (“Triângulo Equilátero”);
senão
se (A = B) ou (B = C) ou (A = C) então
escreva (“Triângulo Isósceles”);
senão
escreva (“Triângulo Escaleno”);
fimse;
fimse;
senão
escreva (“Estes valores não formam um triângulo”);
fimse;

fim.

./img/logoSBPO

Prof. Msc. Juliana (UNIFOA) Tópicos Especiais em Programação de Computadores/Softwares


15 de maio de 2023 16 / 3216
Aula : Seleção Encadeada Homogênea

Chamamos de Seleção Encadeada Homogênea a construção de


diversas estruturas de seleção encadeadas que seguem um determinado
padrão lógico.
• Homogênea: Quando é possı́vel identificar padrão de
comportamento:
I se – então – se: quando depois de cada então ocorre outro se.
I se – senão – se: quando depois de cada senão ocorre outro se.

./img/logoSBPO

Prof. Msc. Juliana (UNIFOA) Tópicos Especiais em Programação de Computadores/Softwares


15 de maio de 2023 17 / 3217
Aula : Seleção Encadeada Homogênea

Se então se
Vamos supor, que um dado algoritmo, um comando genérico W deva
ser executado apenas forem satisfeitas as condições:
• Condição 1
• Condição 2
• Condição 3
• Condição 4

./img/logoSBPO

Prof. Msc. Juliana (UNIFOA) Tópicos Especiais em Programação de Computadores/Softwares


15 de maio de 2023 18 / 3218
Aula : Seleção Encadeada Homogênea

Terı́amos:
se – então – se
se <Cond1> então
se <Cond2> então
se <Cond3> então
se <Cond4> então W;
fimse;
fimse;
fimse;
fimse;

./img/logoSBPO

Prof. Msc. Juliana (UNIFOA) Tópicos Especiais em Programação de Computadores/Softwares


15 de maio de 2023 19 / 3219
Aula : Seleção Encadeada Homogênea

Observamos que,
• Esta construção segue um padrão lógico.
• Após cada então existe outro se,
• não existem senões;
• temos uma estrutura encadeada homogênea.

./img/logoSBPO

Prof. Msc. Juliana (UNIFOA) Tópicos Especiais em Programação de Computadores/Softwares


15 de maio de 2023 20 / 3220
Aula : Seleção Encadeada Homogênea

• Outro fator importante é que o comando W só será executado


quando todas as condições forem ao mesmo tempo verdadeiras;
• portanto, seria equivalente a escrever, simplificadamente:
I se (<Cond1> e <Cond2> e <Cond3> e <Cond4>)
então W;
fimse;

./img/logoSBPO

Prof. Msc. Juliana (UNIFOA) Tópicos Especiais em Programação de Computadores/Softwares


15 de maio de 2023 21 / 3221
Aula : Tabela Seleção Encadeada Homogênea

A tabela 1 expressa nitidamente a necessidade de todas as condições


serem verdadeiras simultaneamente.

Tabela: 1- Seleção Encadeada Homogênea


Condição 1 Condição 2 Condição 3 Condição 4 Ação
V V V V W

./img/logoSBPO

Prof. Msc. Juliana (UNIFOA) Tópicos Especiais em Programação de Computadores/Softwares


15 de maio de 2023 22 / 3222
Aula : Seleção Múltipla Escolha

• Uma estrutura de seleção de múltipla escolha é uma estrutura de


seleção que funciona como um conjunto de opções para escolha.
• É também denominada Estrutura de Seleção Encadeada
Homogênea.

./img/logoSBPO

Prof. Msc. Juliana (UNIFOA) Tópicos Especiais em Programação de Computadores/Softwares


15 de maio de 2023 23 / 3223
Aula 4: Modelo de Seleção Múltipla Escolha

Para representá-la utilizamos o seguinte modelo:


escolha X
caso V1:C1
caso V2:C2
caso V3:C3
caso V4:C4
fimescolha;

./img/logoSBPO

Prof. Msc. Juliana (UNIFOA) Tópicos Especiais em Programação de Computadores/Softwares


15 de maio de 2023 24 / 3224
Aula : Seleção Múltipla Escolha

• Caso conteúdo da variável X seja igual ao Valorn , então, o


comando Cn será executado;
• caso contrário, serão inspecionados os outros casos até ser
encontrado uma igualdade ou terminarem os casos.

./img/logoSBPO

Prof. Msc. Juliana (UNIFOA) Tópicos Especiais em Programação de Computadores/Softwares


15 de maio de 2023 25 / 3225
Aula : Seleção Múltipla Escolha

• Para executar um comando que possui mais de um valor em que se


verifica sua necessidade,
• agrupamos todos esses valores em único caso.
• E, para executar um comando que se verifica com todos os outros
valores,
• exceto os discriminados caso a caso, incluı́mos outra situação:
caso contrário.
Para representá-la utilizaremos o modelo:
escolha X
caso V1:C1
caso V2:C2
caso V3:C3
caso V4:C4
caso contrário: C5;
./img/logoSBPO
fimescolha;

Prof. Msc. Juliana (UNIFOA) Tópicos Especiais em Programação de Computadores/Softwares


15 de maio de 2023 26 / 3226
Aula : Seleção Múltipla Escolha
Exemplos: Construa um algoritmo que, tendo como dados de entrada
o preço de um produto e seu código de origem, mostre o preço junto de
sua procedência. Caso o código não seja nenhum dos especificados, o
produto deve ser encarado como importado. Siga a tabela de códigos a
seguir:

Tabela: Tabela para Referência


Código Procedência
1 Sul
2 Norte
3 Leste
4 Oeste
5 ou 6 Nordeste
7, 8 ou 9 Sudeste
10 até 20 Centro-Oeste ./img/logoSBPO
25 até 30 Nordeste
Prof. Msc. Juliana (UNIFOA) Tópicos Especiais em Programação de Computadores/Softwares
15 de maio de 2023 27 / 3227
Aula : Seleção Múltipla Escolha

inı́cio
Algoritmo: Múltipla Escolha
real:Preço;
inteiro:Origem;
escreva (”Digite o preço e a origem do produto:”)
leia (Preço, Origem);
escolha Origem;
caso 1: escreva (Preço, - produto do Sul”);
caso 2: escreva (Preço, - produto do Norte”);
caso 3: escreva (Preço, - produto do Leste”);
caso 4: escreva (Preço, - produto do Oeste”);
caso 7, 8, 9: escreva (Preço, - produto do Sudeste”);
caso 10 . . 20: escreva (Preço, - produto do Centro-Oeste”);
caso 5, 6, 25 ... 30: escreva (Preço, - produto do Nordeste”);
caso contrário: escreva (Preço, - produto importado”);
fimdeescolha;

fim.

./img/logoSBPO

Prof. Msc. Juliana (UNIFOA) Tópicos Especiais em Programação de Computadores/Softwares


15 de maio de 2023 28 / 3228
Aula 4: Estruturas de Seleção Encadeada

Nessa aula vimos que


• quando uma estrutura é encadeada, pode ser homogênea ou
heterogênea.
• seleções encadeadas homogêneas são muito comuns, por isso
especificamos a seleção de múltipla escolha, que apresenta casos
que são avaliados.

./img/logoSBPO

Prof. Msc. Juliana (UNIFOA) Tópicos Especiais em Programação de Computadores/Softwares


15 de maio de 2023 29 / 3229
Aula : Bibliografia Básica

• Lógica de Programação. A construção de algoritmos e


estruturas de dados. Autor: André Luiz Villar Forbellone e Henri
Frederico Eberspacher.3.ed. Rio de Janeiro:Pearson Prentice Hall.
2005. 218p.
• Lógica de programação e estruturas de dados. Com
aplicações em JAVA. Autor: Sandra Puga e Gerson Rissetti. 2. ed.
São Paulo:Pearson Prentice Hall. 2009. 254 p.
• Estrutura de dados. Algoritmos, análise da complexidade e
implementações em JAVA e C/C++. Autores: Ana Fernanda
Gomes Ascencio e Graziela Santos de Araújo. São Paulo:Pearson
Prentice Hall. 2010. xii, 432 p.

./img/logoSBPO

Prof. Msc. Juliana (UNIFOA) Tópicos Especiais em Programação de Computadores/Softwares


15 de maio de 2023 30 / 3230
Aula : Lista de Exercı́cios

Resolução da Lista 4 de Exercı́cios

./img/logoSBPO

Prof. Msc. Juliana (UNIFOA) Tópicos Especiais em Programação de Computadores/Softwares


15 de maio de 2023 31 / 3231
Aula : Estruturas de Seleção Encadeada

FIM!

./img/logoSBPO

Prof. Msc. Juliana (UNIFOA) Tópicos Especiais em Programação de Computadores/Softwares


15 de maio de 2023 32 / 3232

Você também pode gostar