Algoritmos I Aula 1 - Introduç

Propaganda
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.
2.
3.
4.
x=aey=b
r = resto da divisão x / y
x=yey=r
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 “+”.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+
+
+
+
+
+
+
+
+
+
+
+
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Download