algoritmos e programação - 2016.2 - aula 7

23
Algoritmos e Programação Prof.º Thyago Maia

Upload: thyago-maia

Post on 18-Jan-2017

182 views

Category:

Education


1 download

TRANSCRIPT

Page 1: Algoritmos e Programação - 2016.2 - Aula 7

Algoritmos e Programação

Prof.º Thyago Maia

Page 2: Algoritmos e Programação - 2016.2 - Aula 7

Estruturas de Repetição

Page 3: Algoritmos e Programação - 2016.2 - Aula 7

Estruturas de Repetição

• Uma estrutura de repetição é utilizada quando...– Um trecho do algoritmo (lista de instruções) ou até mesmo

o algoritmo inteiro precisa ser repetido;

• O número de repetições poderá ser fixo ou estar relacionado a uma condição;– Fixo, quando sabemos quantas vezes um determinado

trecho de código será executado;– Relacionado a uma condição, quando a repetição de

instruções depende de uma ação, de um cálculo, etc.;

3

Page 4: Algoritmos e Programação - 2016.2 - Aula 7

Enquanto

Page 5: Algoritmos e Programação - 2016.2 - Aula 7

Enquanto

• Nesta estrutura, uma expressão lógica é avaliada. Enquanto a mesma for verdadeira, uma lista de comandos será executada;

• A execução da lista se repetirá até que a avaliação da condição resulte em FALSO;

5

Page 6: Algoritmos e Programação - 2016.2 - Aula 7

Enquanto

• Forma geral:

6

ENQUANTO (condição) FACA

// Lista de instruções

FIMENQUANTO

Page 7: Algoritmos e Programação - 2016.2 - Aula 7

Exemplo

• Faça um algoritmo que lê diversos números positivos e escreve o dobro de cada um. Quando um número negativo for digitado, o algoritmo deverá parar de ler números.

7

Page 8: Algoritmos e Programação - 2016.2 - Aula 7

ExemploALGORITMO “exemplo”VAR numero, dobro: REALINICIO ESCREVAL (“Digite um número:”)

LEIA (numero)ENQUANTO (numero >= 0) FACA

dobro <- numero * 2 ESCREVAL (dobro)ESCREVAL (“Digite um número:”)LEIA (numero)

FIMENQUANTOFIMALGORITMO

8

Page 9: Algoritmos e Programação - 2016.2 - Aula 7

Exemplo

• Faça um algoritmo que escreve os números entre 1 e 10 (incluindo-os).

9

Page 10: Algoritmos e Programação - 2016.2 - Aula 7

Exemplo

ALGORITMO “teste”VAR numero: INTEIROINICIO

numero <- 1 ENQUANTO (numero <= 10) FACA

ESCREVAL (numero)numero <- numero + 1

FIMENQUANTOFIMALGORITMO

10

Page 11: Algoritmos e Programação - 2016.2 - Aula 7

Estruturas de Repetição

• Enquanto...faca

– Atenção: Cuidado com laços infinitos! Devemos nos certificar que em algum momento a expressão lógica próxima a palavra reservada enquanto será FALSA!

11

Page 12: Algoritmos e Programação - 2016.2 - Aula 7

Estruturas de Repetição

• Exemplo - Algoritmo com laço infinito:

12

ALGORITMO “infinito”VAR contador: INTEIROINICIO

ENQUANTO (contador < 10) FACAcontador <- 1 ESCREVA (contador)contador <- contador + 1

FIMENQUANTOFIMALGORITMO

Page 13: Algoritmos e Programação - 2016.2 - Aula 7

Exercícios

Page 14: Algoritmos e Programação - 2016.2 - Aula 7

Exercícios

• Faça um algoritmo que receba números inteiros e, enquanto números positivos forem digitados, verifica se cada número é menor que 5 (escrevendo uma mensagem afirmando o referido fato);

14

Page 15: Algoritmos e Programação - 2016.2 - Aula 7

Exemplo

ALGORITMO “teste”VAR numero: INTEIROINICIO

ESCREVAL (“Digite um número:”)LEIA (numero)ENQUANTO (numero >= 0) FACA

SE (numero < 5) ENTAO ESCREVAL (“O número digitado é menor que 5!”)

FIMSEESCREVA (“Digite um número:”)LEIA (numero)

FIMENQUANTOFIMALGORITMO

15

Page 16: Algoritmos e Programação - 2016.2 - Aula 7

Exercícios

• Faça um algoritmo que lê a idade de várias pessoas, até que uma idade negativa seja digitada. O algoritmo deverá calcular e exibir a quantidade de pessoas, de acordo com as faixas etárias apresentadas na tabela abaixo:

16

FAIXA ETÁRIA IDADE1ª <= 15 anos2ª De 16 a 30 anos3ª > 30 anos

Page 17: Algoritmos e Programação - 2016.2 - Aula 7

Exercício

ALGORITMO “exercicio”VAR idade, faixa1, faixa2, faixa3: INTEIROINICIO ESCREVAL (“Digite sua idade:”)

LEIA (idade)ENQUANTO (idade >= 0) FACA

SE (idade <= 15) ENTAO faixa1 <- faixa1 + 1

FIMSE

17

Page 18: Algoritmos e Programação - 2016.2 - Aula 7

Exercício SE (idade >= 16) E (idade <= 30) ENTAO

faixa2 <- faixa2 + 1FIMSESE (idade > 30) ENTAO

faixa3 <- faixa3 + 1FIMSEESCREVAL (“Digite sua idade:”)LEIA (idade)

FIMENQUANTOESCREVAL (“Quantidade de pessoas na faixa 1: ”, faixa1)ESCREVAL (“Quantidade de pessoas na faixa 2: ”, faixa2)ESCREVAL (“Quantidade de pessoas na faixa 3: ”, faixa3)

FIMALGORITMO

18

Page 19: Algoritmos e Programação - 2016.2 - Aula 7

Exercícios

• Faça um algoritmo que receba vários números inteiros positivos (o algoritmo deverá encerrar quando um número negativo for digitado). O mesmo deverá exibir o maior número digitado;

19

Page 20: Algoritmos e Programação - 2016.2 - Aula 7

ExercícioALGORITMO “exercicio”VAR numero, maior: INTEIROINICIO ESCREVAL (“Digite um número:”)

LEIA (numero)ENQUANTO (numero >= 0) FACA

SE (numero > maior) ENTAO maior <- numero

FIMSEESCREVAL (“Digite outro número:”)LEIA (numero)

FIMENQUANTO

20

Page 21: Algoritmos e Programação - 2016.2 - Aula 7

Exercício ESCREVAL (“O maior número digitado: ”, maior)

FIMALGORITMO

21

Page 22: Algoritmos e Programação - 2016.2 - Aula 7

Explore o assunto!

Page 23: Algoritmos e Programação - 2016.2 - Aula 7

Explore o assunto!

• Referências– Introdução aos

algoritmos(TONET, B., KOLIVER, C.): Tópicos 12 e 13;

– Disponível em http://www.claudiorodolfo.com/ftc/ap/manual_visualg.pdf

23