Sie sind auf Seite 1von 14

LógicadeProgramaçãoUniversidade Tecnológica Federal do Paraná

Professora Karla de Souza Disciplina IF55Z http://www.dainf.ct.utfpr.edu.br/~kar


la/
EstruturasdeControleLógicadeProgramaçãoUniversidade Tecnológica Federal do Paraná
Professora Karla de Souza Disciplina IF55Z http://www.dainf.ct.utfpr.edu.br/~kar
la/
EstruturasdeControle
EstruturasdeControle São utilizadas para especificar a ordem em que as instruções
devem ser executadas.
Tipos de estruturas de controle:
1. Estrutura de sequência
2. Estruturas de seleção
3. Estruturas de repetição
Estrutura
de
Sequência
Estrutura
de
Sequência

Está essencialmente inserida no conceito de algoritmos e foi o que


vimos até agora.
EstruturadeSequência Está essencialmente inserida no conceito de algoritmos e foi o q
ue
vimos até agora.
A menos que seja especificado de outra forma, as instruções serão
executadas segundo a estrutura de sequência, isto é, uma após
outra, de cima para baixo.
Estruturas
de
Seleção
Estruturas
de
Seleção

Permitem escolher blocos de instruções diferentes (caminhos


diferentes durante a execução das instruções)
Permitem escolher blocos de instruções diferentes (caminhos
diferentes durante a execução das instruções)
Existem três tipos de estruturas de seleção:
1. Estrutura de seleção simples
2. Estruturas de seleção dupla
3. Estruturas de seleção múltipla
EstruturasdeSeleção
EstruturasdeSeleçãoSeleção Simples
SE -Seleciona ou ignora um bloco de comandos (ou instruções)
EstruturasdeSeleçãoSeleção Simples
SE -Seleciona ou ignora um bloco de comandos (ou instruções)
SE <condição>
ENTÃO
<comandos>
FIM_SE
EstruturasdeSeleçãoSeleção Simples
SE -Seleciona ou ignora um bloco de comandos (ou instruções)
SE <condição>
ENTÃO
<comandos>
FIM_SE
EstruturasdeSeleçãoSeleção Simples
Exemplo:
SE nota >= 7.0
ENTÃO
Escreva( Aprovado );
FIM_SE
EstruturasdeSeleçãoSeleção Dupla
SE / SENÃO Seleciona entre dois blocos de comandos diferentes.
EstruturasdeSeleçãoSeleção Dupla
SE / SENÃO Seleciona entre dois blocos de comandos diferentes.
SE <condição>
ENTÃO
<comandos_1>
SENÃO
<comandos_2>
FIM_SE
EstruturasdeSeleçãoSeleção Dupla
SE / SENÃO Seleciona entre dois blocos de comandos diferentes.
SE <condição>
ENTÃO
<comandos_1>
SENÃO
<comandos_2>
FIM_SE
Estruturas
de
Seleção

Seleção Dupla

EstruturasdeSeleçãoSeleção Dupla
Exemplo:
SE nota >= 7.0
ENTÃO
Escreva( Aprovado );
SENÃO
Escreva( Reprovado );
FIM_SE
Estruturas
de
Seleção

Seleção Múltipla
ESCOLHA Seleciona entre muitos blocos de instruções diferentes.
EstruturasdeSeleçãoSeleção Múltipla
ESCOLHA Seleciona entre muitos blocos de instruções diferentes.
ESCOLHA
CASO <condição_1>
<Comandos_1>
CASO <condição_2>
<Comandos_2>
CASO <condição_N>
<Comandos_N>
...
SENÃO
<Comandos_S>
FIM_ESCOLHA
EstruturasdeSeleçãoSeleção Múltipla
Exemplo:
ESCOLHA
CASO cargo == 1
Escreva ( Técnico. );
CASO cargo == 2
Escreva ( Gerente. );
CASO cargo == 3
Escreva ( Chefe. );
SENÃO
Escreva ( Opção inválida. );
FIM_ESCOLHA
EstruturasdeSeleçãoSeleção Múltipla
Exemplo:
ESCOLHA
CASO cargo == 1
Escreva ( Técnico. );
CASO cargo == 2
Escreva ( Gerente. );
CASO cargo == 3
Escreva ( Chefe. );
SENÃO
Escreva ( Opção inválida. );
FIM_ESCOLHA
Exercícios1 Elabore um um algoritmo em pseudo-código e fluxograma para ler um
número e imprimir uma mensagem informando se ele é positivo ou negativo.
2 Escrever um algoritmo em pseudo-código e fluxograma que leia um número
de 1 a 7 indicando o dia da semana. O programa deve imprimir o dia em
extenso e uma mensagem dizendo se é dia útil ou final de semana.
-Por exemplo, se for digitado 1, o algoritmo imprime: Domingo -final de
semana. Se for digitado 2, o programa imprime: Segunda -dia útil e assim por
diante.
ExercíciosIMC em adultos Condição
Abaixo de 18,5 Abaixo do peso
Entre 18.5 e 25 Peso normal
Entre 25 e 30 Acima do peso
Acima de 30 Obeso
3 O IMC Índice de Massa Corporal é um critério da Organização Mundial de
Saúde para dar uma indicação sobre a condição de peso de uma pessoa adulta. A
fórmula é IMC = peso / (altura)2. Elabore um algoritmo em pseudo-código, que tenha
como entrada o peso e a altura de um adulto e mostre sua condição, segundo a tabela
abaixo:
Estruturas
de
Repetição

Estruturas
de
Repetição

Permitem realizar um bloco de comandos várias vezes.


EstruturasdeRepetição
Permitem realizar um bloco de comandos várias vezes.
Podem ser de dois tipos:
1. Laços contados Quando se conhece a priori o número de vezes
que o bloco de comandos deve ser executado.
EstruturasdeRepetição
Permitem realizar um bloco de comandos várias vezes.
Podem ser de dois tipos:
1. Laços contados Quando se conhece a priori o número de vezes
que o bloco de comandos deve ser executado.
2. Laços condicionais Quando não se conhece de antemão o
número de vezes que o bloco de comandos deve ser executado e o
número de repetições é dependente de uma condição.
Esta condição está sujeita a modificões no interior do laço
EstruturasdeRepetição
Permitem realizar um bloco de comandos várias vezes.
Podem ser de dois tipos:
1. Laços contados Quando se conhece a priori o número de vezes
que o bloco de comandos deve ser executado.
2. Laços condicionais Quando não se conhece de antemão o
número de vezes que o bloco de comandos deve ser executado e o
número de repetições é dependente de uma condição.
Esta condição está sujeita a modificões no interior do laço
EstruturasdeRepetiçãoLaços Contados
Todos os detalhes da repetição são controlados por um contador.
EstruturasdeRepetiçãoLaços Contados
Todos os detalhes da repetição são controlados por um contador.
PARA <var> DE <início> ATÉ <final> INCR DE <inc>
FAÇA
<comandos>
FIM_PARA
Estruturas
de
Repetição

Laços Contados
EstruturasdeRepetiçãoLaços Contados
Exemplo:
PARA i DE 0 ATÉ 10 INCR DE 1
FAÇA
Escreva(i);
FIM_PARA
EstruturasdeRepetiçãoLaços Condicionais
Repete um bloco de comandos até que uma condição é satisfeita.
Podem ser de dois tipos:
Laço Enquanto
Laço Repita
EstruturasdeRepetiçãoLaço Enquanto
Repete um bloco de comandos enquanto uma condição é satisfeita.
ENQUANTO <condição>
FAÇA
<Comandos>;
FIM_ENQUANTO
EstruturasdeRepetiçãoLaço Enquanto
Repete um bloco de comandos enquanto uma condição é satisfeita.
ENQUANTO <condição>
FAÇA
<Comandos>;
FIM_ENQUANTO
Estruturas
de
Repetição

Laço Enquanto
EstruturasdeRepetiçãoLaço Enquanto
Exemplo:
Escreva( Entre com um número positivo: );
Leia(num);
ENQUANTO num < 0
FAÇA
Escreva( Entre com um número positivo: );
Leia(num);
FIM_ENQUANTO
EstruturasdeRepetiçãoLaço Repita
Nessa estrutura a condição é testada depois da primeira execução do
bloco de comandos:
EstruturasdeRepetiçãoLaço Repita
Nessa estrutura a condição é testada depois da primeira execução do
bloco de comandos:
EstruturasdeRepetiçãoLaço Repita
Nessa estrutura a condição é testada depois da primeira execução do
bloco de comandos:
REPITA
<Comandos>;
ATÉ QUE <condição>
Estruturas
de
Repetição

Laço Repita
EstruturasdeRepetiçãoLaço Repita
Exemplo:
REPITA
Escreva( Entre com um número positivo: );
Leia(num);
ATÉ QUE num > 0
EstruturasdeRepetiçãoLaço Repita
Exemplo:
REPITA
Escreva( Entre com um número positivo: );
Leia(num);
ATÉ QUE num > 0
Exercícios4 Elabore um algoritmo em pseudo-código e fluxograma que receba o nome e
a idade de 100 funcionários de uma empresa.
5 Elabore um algoritmo em pseudo-código e fluxograma que leia n números
inteiros até que o número zero seja lido e calcule a média aritmética dos
mesmos.
Algumasreferências
Algoritmos
http://equipe.nce.ufrj.br/adriano/c/apostila/algoritmos.htm#amm-tipos
Souza, et al., Algoritmos e Lógica de Programação. Cengage
Learning.