Anda di halaman 1dari 40

Aula 8.

Estruturas de
controle
Curso: Engenharia Civil
Disciplina: Algoritmo e Programao
Professor: Rodrigo Monteiro de Lima
E-mail: rodrigo.lima@undb.edu.br
24/08/2016 e 26/08/2016

Atividade relmpago:
Questo desafio: Crie um algoritmo para levar um
Charmander, um Bulbassauro e um Pikachu de um lado para o
outro de um rio, atravessando em cima de um Lapras. Lembrese que fogo efetivo contra grama e grama efetivo contra
eltrico, ou seja, o Charmander nunca pode ficar sozinho com
o Bulbassauro e nem o Bulbassauro sozinho com o Pikachu.
Lembrando que o Lapras s anda se tiver no mnimo um e no
mximo dois Pokmons em cima dele por vez.

Atividade relmpago:
Questo desafio 2: Fazer um algoritmo para levar 3
integrantes da equipe Rocket e 3 oficiais Jenny de uma
margem para a outra de um rio, atravessando com uma lancha
invocada. Tenha em mente que voc nunca pode deixar mais
integrantes da equipe Rocket do que oficiais Jenny, seno os
integrantes da equipe Rocket "metem a peia" nas oficiais
Jenny. O que fazer para levar os 6 de uma margem para a
outra?

Resposta para o algoritmo do leo, cabra e grama

1. Levar o Pikachu e o Charmander;


2. Deixar o Pikachu;
3. Voltar com o Charmander;
4. Deixar o Charmander;
5. Levar o Bulbassauro;
6. Deixar o Bulbassauro;
7. Voltar com o Pikachu;
8. Levar o Charmander e o Pikachu.
9. Deixar o Charmander e o Pikachu

Resposta para o algoritmo dos missionrios


1. Levar uma oficial Jenny e um integrante da
equipe Rocket na lancha;
2. Deixar o integrante da equipe Rocket;
3. Voltar com uma Jenny;
4. Deixar a Jenny;
3. Levar dois integrantes da equipe Rocket;
4. Deixar um integrante da equipe Rocket;
5. Voltar com um integrante da equipe
Rocket;
6. Deixar integrante da equipe Rocket;
6. Levar duas Jenny's;
7. Deixar uma Jenny;
8. Voltar com uma Jenny e um integrante da
equipe Rocket;

9. Deixar o integrante da equipe Rocket;


10. Levar duas Jenny's;
11. Deixar as duas Jenny's;
12. Voltar com um integrante da equipe
Rocket;
13. Levar dois integrantes da equipe Rocket;
14. Deixar um integrante da equipe Rocket;
15. Voltar com um integrante da equipe
Rocket;
16. Levar dois integrantes da equipe Rocket;
17. Deixar os dois integrantes da equipe
Rocket.

Exerccios de algoritmos

Crie um algoritmo que leia um nmero inteiro


positivo e exiba o dobro dele.

Crie um algoritmo para calcular o volume de uma


esfera de raio R, onde R fornecido pelo usurio.
O volume da esfera calculado por 4/3 pi R.

Estruturas de controle

Na criao de algoritmos usamos conceitos de blocos


lgicos, entrada e sada de dados, variveis,
constantes,
atribuies,
expresses
lgicas,
relacionais e aritmticas. Para que esse conjunto de
aes se torne vivel preciso existir uma perfeita
relao lgica no modo como as aes so
executadas. Isso define o fluxo de execuo do
algoritmo.

Estruturas de controle

Podemos definir o fluxo de controle de nosso


algoritmo da seguinte forma:

Sequencial;
Seleo;
Repetio.
Em um mesmo algoritmo podemos combinar as trs
formas de fluxo de execuo.

Estruturas de controle - Sequencial

Corresponde ao fato de que o conjunto de aes


primitivas sero executadas em uma sequncia linear
de cima para baixo e da esquerda para direita, ou
seja, na mesma ordem em que foram implementadas.
At ento, era a forma como estvamos
programando nossos programas.

Estruturas de controle - Sequencial

Estruturas de controle - Seleo

Uma estrutura de seleo permite a escolha de um


grupo de aes a ser executado quando
determinadas condies so satisfeitas. Pode ser
feita da seguinte forma:
Seleo simples;
Seleo composta;
Seleo encadeada.

Estruturas de controle - Seleo

Quando precisamos testar uma certa condio antes


de executar uma ao, usamos a seleo simples
seguindo o seguinte modelo:

Estruturas de controle - Seleo

Estruturas de controle - Seleo

Estruturas de controle - Seleo

Quando tivermos situaes em que duas alternativas


dependem de uma mesma condio, uma para
verdadeiro e outro para o resultado falso, usaremos
uma estrutura de controle de seleo composta.

Estruturas de controle - Seleo

Estruturas de controle - Seleo

Estruturas de controle - Seleo

Estruturas de controle - Seleo

Escreva um algoritmo que calcule a mdia do aluno


da UNDB. Caso o aluno obtenha uma mdia maior
que 7 mostre uma mensagem para ele dizendo que
ele est aprovado. Seno, diga que ele est
reprovado.

Exerccio

Exerccio

Estruturas de controle - Seleo

Quando agruparmos vrias estruturas de seleo


teremos uma seleo encadeada. A seleo
encadeada por ser:
Homognea;
Heterognea.

Estruturas de controle - Seleo

Homognea:

Estruturas de controle - Seleo

Homognea (simplificando):

Estruturas de controle - Seleo

Heterognea:

Heterognea:

Estruturas de controle - Seleo

Podemos transformar uma estrutura de seleo


encadeada homognea, do tipo se-seno-se, em
uma estrutura de mltipla escolha.

Estruturas de controle - Seleo

Estruturas de controle - Seleo

Estruturas de controle - Seleo


Escreva um algoritmo que receba do usurio o preo de um
produto e o cdigo de origem do mesmo. De acordo com o cdigo
inserido pelo usurio o programa deve mostrar o preo e a sua
procedncia de acordo com a tabela abaixo:

Estruturas de controle - Seleo

Estruturas de controle - Repetio

Quando queremos repetir um bloco de instruo mais


de uma vez precisamos utilizar estruturas de controle
do tipo repetio. Por exemplo, caso a questo
pedisse para o seu programa calcular a mdia de 50
alunos do curso de engenharia civil em apenas uma
instncia? Com o contedo visto at aqui
precisaramos escrever o clculo 50 vezes para que a
soluo fosse encontrada.

Estruturas de controle - Repetio

Estruturas de controle - Repetio

Estruturas de controle - Repetio

Estruturas de controle - Repetio

Algumas vezes precisamos criar uma varivel


chamada de contador para nos auxiliar no processo
de repetio. Por exemplo:
..
enquanto (cont <= 50) faa
Bloco de instruo...
Cont <- Cont + 1;
..

Estruturas de controle - Repetio

Faa um algoritmo, pseudocdigo, para calcular a


mdia de 50 alunos da UNDB de Engenharia Civil
usando uma estrutura de repetio.

Estruturas de controle - Repetio

Faa um algoritmo, pseudocdigo, para ler trs


nmeros inteiros diferentes e mostr-los em ordem
decrescente. Dica: Use uma seleo encadeada.

Estruturas de controle - Repetio

Faa um algoritmo que receba como entrada a altura


e sexo de uma pessoa e em seguida calcule o seu
peso ideal. Use as seguintes frmulas:
Homens: (72.7 * h) 58;
Mulheres (62.1 * h) 44.7;

Credits

Alguma dvida?
Obrigado pela ateno e at sexta!