16
Algoritmos I Aula 10 – Estrutura de controle: repetição Professor: Max Pereira http://paginas.unisul.br/max.pereira Ciência da Computação

Algoritmos I Aula 10 Estrutura de controle: repetiçãopaginas.unisul.br/max.pereira/Algoritmos I Aula 10.pdf · •No desenvolvimento de algoritmos nos deparamos com situações

  • Upload
    lyngoc

  • View
    241

  • Download
    0

Embed Size (px)

Citation preview

Algoritmos I Aula 10 – Estrutura de controle:

repetição

Professor: Max Pereira

http://paginas.unisul.br/max.pereira

Ciência da Computação

Estrutura de repetição

• São comuns as situações nas quais precisamos repetir determinadas ações enquanto não atingimos um objetivo.

• No desenvolvimento de algoritmos nos deparamos com situações nas quais precisamos repetir um conjunto de instruções até que uma determinada condição ocorra.

• Nessas situações, utilizamos os comandos de repetição, também conhecidos como laços ou loops.

Estrutura de repetição

• Repetição com teste no início

– Consiste em uma estrutura de controle do fluxo de execução que permite repetir diversas vezes um mesmo trecho do algoritmo, porém, sempre verificando antes de cada execução se é “permitido” executar o mesmo trecho.

– Para isso utilizamos a estrutura enquanto, que permite que um trecho seja repetido enquanto uma determinada condição for verdadeira.

Estrutura de repetição

• Repete uma sequência de comandos enquanto uma determinada condição (expressão lógica) for satisfeita.

• Quando o resultado da condição for falso, o comando de repetição é abandonado. Se já da primeira vez o resultado é falso, os comandos não são executados nenhuma vez.

enquanto <expressão-lógica> faca

<sequência de comandos>

fimenquanto

Estrutura de repetição Exemplo

algoritmo "Estrutura enquanto"

var

contador : inteiro

inicio

contador <- 1

enquanto contador <= 10 faca

escreva(contador)

contador <- contador + 1

fimenquanto

fimalgoritmo

Estrutura de repetição Exemplo

var

numero, resto : inteiro

inicio

numero <- 1

enquanto numero<>0 faca

escreva("Insira um número: ")

leia(numero)

resto <- numero%2

se resto = 0 entao

escreval("Par")

senao

escreval("Impar")

fimse

fimenquanto

fimalgoritmo

Estrutura de repetição

• Repetição com teste no final – Para realizar a repetição com teste no final utilizamos a

estrutura repita, que permite que um trecho seja repetido até que uma determinada condição seja verdadeira.

– A sequencia de comandos é executada pelo menos uma vez, independentemente da validade da condição.

repita

<sequencia de comandos>

ate <expressão-lógica>

Estrutura de repetição Exemplo

algoritmo "Estrutura repetição"

var

contador : inteiro

inicio

contador <- 1

repita

escreva(contador)

contador <- contador + 1

ate contador > 10

fimalgoritmo

Estrutura de repetição Exemplo

var

total, nota : real

contador : inteiro

inicio

repita

escreva("Informe a Nota: ")

leia(nota)

se nota <> 0 entao

total <- total + nota

contador <- contador + 1

fimse

ate nota = 0

escreva("Media: ", total/contador:2:2)

Estrutura de repetição

• Repetição com número conhecido de vezes.

– A estrutura de repetição para...faça é utilizada quando um determinado trecho do algoritmo deve ser repetido um número fixo conhecido de vezes

para <variável> de <valor inicial> ate <valor-limite> faca

<sequencia de comandos>

fimpara

Estrutura de repetição Exemplo

algoritmo "Estrutura de repetição"

var

contador : inteiro

inicio

para contador de 1 ate 10 faca

escreva(contador)

fimpara

fimalgoritmo

Estrutura de repetição Exemplo

var

alunos : inteiro

nota1, nota2, media : real

inicio

para alunos de 1 ate 5 faca

escreva("Insira a nota 1: ")

leia(nota1)

escreva("Insira a nota 2: ")

leia(nota2)

media <- (nota1 + nota2)/2

escreval("Média: ", media)

fimpara

fimalgoritmo

Estrutura de repetição

enquanto...faça repita...ate para...faça

var

c : inteiro

inicio

c <- 1

enquanto c <= 10 faca

escreva(c)

c <- c + 1

fimenquanto

fimalgoritmo

var

c : inteiro

inicio

c <- 1

repita

escreva(c)

c <- c + 1

ate c > 10

fimalgoritmo

var

c : inteiro

inicio

para c de 1 ate 10 faca

escreva(c)

fimpara

fimalgoritmo

Exercícios

• Escreva um programa para ler um número de 1 a 10 e calcular a sua respectiva tabuada. Imprima na tela os valores calculados.

• Escreva um programa para ler o valor de n números. Quando o valor for zero, imprima os valores do maior e menor.

• Escreva um programa para simular o processo de escolha das bolas azuis e vermelhas, nas suas respectivas caixas.

Exercícios

• Um exemplo clássico de algoritmo foi criado, entre 400 e 300 d.C. pelo matemático grego Euclides, para encontrar o máximo divisor comum entre dois inteiros positivos. Cálculo do máximo divisor comum (mdc) de dois números inteiros positivos a e b. 1. x = a e y = b

2. r = resto da divisão x / y

3. x = y e y = r

4. Se o valor r é nulo então mdc = x senão retorne ao passo 2.

Exercícios

• Escreva um programa para imprimir na tela um retângulo com 15 linhas e 60 colunas. A aparência do retângulo deve ser parecida com a figura abaixo. Preencha o retângulo com o caractere “+”.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + + + + + + + + + + + + + + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++