Vous êtes sur la page 1sur 21

Algoritmos

Prof. Leonardo Minelli


Laços de Repetição
• Muitas vezes é necessário efetuar a repetição
de um trecho de programa um determinado
número de vezes.
• Neste caso, será criado o chamado looping,
que tem por finalidade efetuar o
processamento de um determinado trecho,
tantas vezes quantas forem necessárias.

Algoritmos (Prof. Leonardo Minelli) 2


Laços de Repetição
• Os loopings também são chamados de laços
de repetição ou malhas de repetição.

• Para que um laço de repetição ocorra é


necessário que ocorra um teste lógico
– Teste pode ser feito no início
– Teste pode ser feito no fim

Algoritmos (Prof. Leonardo Minelli) 3


Exemplos
• Exemplo 1
– Considere o problema: "Pedir a leitura de um
valor para a variável X, multiplicar este valor por 3,
implicando-o à variável de resposta R e apresentar
o valor de R obtido. Esta sequência deve ser
repetida por cinco vezes".

5x

Algoritmos (Prof. Leonardo Minelli) 4


Resolução sem loop Exemplo 1
• Pseudocódigo
algoritmo "multiplicacao"
escreval("R= ", R)
escreval("Qual o valor de X? ")
var
leia (X)
X, R : inteiro
R<-X*3
inicio
escreval("R= ", R)
escreval("Qual o valor de X? ")
escreval("Qual o valor de X? ")
leia (X)
leia (X)
R<-X*3
R<-X*3
escreval("R= ", R)
escreval("R= ", R)
escreval("Qual o valor de X? ")
leia (X)
fimalgoritmo
R<-X*3
escreval("R= ", R)
escreval("Qual o valor de X? ")
leia (X)
R<-X*3

Algoritmos (Prof. Leonardo Minelli) 5


Laços de Repetição
• Diagrama de blocos

O laço parará de repetir no


... momento que a condição
for falsa
V F
<condição> ...

<comando
composto>

Instruções são executadas enquanto <condição> faca


enquanto a condição for
<instruções para a condição verdadeira>
verdadeira
fimenquanto
Algoritmos (Prof. Leonardo Minelli) 6
Resolução com loop Exemplo 1
• Pseudocódigo e diagrama de bloco (enquanto)
algoritmo "multiplicacao_com_loop"
var
X, R, count : inteiro
inicio
count <- 1
enquanto count <= 5 faca
escreval("Qual o valor de X? ")
leia (X)
R<-X*3
escreval("R= ", R)
count<-count+1
fimenquanto
fimalgoritmo

Algoritmos (Prof. Leonardo Minelli) 7


Laços de Repetição
• Loop com Teste Lógico no Fim
– É a estrutura que efetua o teste lógico no final de
um Loop.
– Esta estrutura também tem o seu funcionamento
controlado por uma decisão, porém irá efetuar a
execução de um conjunto de instruções pelo
menos uma vez antes de verificar a validade da
condição estabelecida.

Algoritmos (Prof. Leonardo Minelli) 8


Laços de Repetição
• Loop com Teste Lógico no Fim
– Nesta estrutura um conjunto de instruções é
executado enquanto a condição se mantém Falsa
e até que ela seja Verdadeira.

Algoritmos (Prof. Leonardo Minelli) 9


Resolução com loop Exemplo 1
• Pseudocódigo e diagrama de bloco (repita)
algoritmo "multiplicacao_loop_FIM"
var
X, R, count : inteiro
inicio
count <- 1
repita
escreval("Qual o valor de X? ")
leia (X)
R<-X*3
escreval("R =", R)
count<-count+1
ate count > 5
fimalgoritmo

Algoritmos (Prof. Leonardo Minelli) 10


Laços de Repetição
• Laço com variável de Controle
– Os laços que possuem um número finito de
execução podem ser processados pela estrutura
para. Essa estrutura tem seu funcionamento
controlado por uma variável do tipo contador.

para <variável> de <valor-inicial> ate <valor-limite> [passo <incremento>] faca


<sequência-de-comandos>
fimpara

Algoritmos (Prof. Leonardo Minelli) 11


Resolução Exemplo 1
• Pseudocódigo e diagrama de bloco (para)

algoritmo "multiplicacao_com_controle"
var
X, R, count : inteiro
inicio
para count de 1 ate 5 faca
escreval("Qual o valor de X? ")
leia (X)
R<-X*3
escreval("R =", R)
fimpara
fimalgoritmo

Algoritmos (Prof. Leonardo Minelli) 12


Exercícios
• Exercício 1
– Elaborar um programa que apresente no final o
somatório dos valores pares existentes na faixa de
1 até 500.

Algoritmos (Prof. Leonardo Minelli) 13


Exercícios
• Exercício 2
– Elaborar um programa que calcule o fatorial de
um número qualquer

Ex: 5!=5.4.3.2.1=120

Algoritmos (Prof. Leonardo Minelli) 14


Exercícios
• Exercício 3
– Escreva um programa que apresente a série de
Fibonacci até o décimo quinto termo. A série de
Fibonacci é formada pela sequência: l, l, 2, 3, 5, 8,
13, 21, 34, ...etc. Esta série se caracteriza pela
soma de um termo posterior com o seu anterior
subsequente.

Algoritmos (Prof. Leonardo Minelli) 15


Exercícios
• Exercício 4
– Ler um número N qualquer, menor ou igual a 50, e
apresentar o valor obtido da multiplicação
sucessiva de N por 2 enquanto o produto for
menor que 250 (N*2; N*2*2; N*2*2*2; etc).

Algoritmos (Prof. Leonardo Minelli) 16


Exercícios
• Exercício 5
– Ler um número qualquer (inteiro) e determine se
ele é par ou impar.

Algoritmos (Prof. Leonardo Minelli) 17


Exercícios
• Exercícios 6
– Escreva um algoritmo que simule uma calculadora
com suas operações básicas. Você deve fornecer 2
valores numéricos e um símbolo (veja relação abaixo).
Atenção para a divisão por zero.
• “+” operação de soma
• “-” operação de subtração
• “*” operação de multiplicação
• “/” operação de divisão

OBS: Ao final da execução o programa deve


solicitar se o usuário quer fazer uma nova
operação.

Algoritmos (Prof. Leonardo Minelli) 18


Exercícios
• Exercício 7
– Construa um programa que apresente os 100
primeiros números de uma Progressão Aritmética,
sendo lidos o primeiro termo e a razão

Ex:
Razão=3
PA = 1 4 7 10 13 16...

Algoritmos (Prof. Leonardo Minelli) 19


Exercícios
• Exercício 8
– Prepare um algoritmo que calcule o valor de H,
sendo que ele é determinado pela série:
– H = 1/1 + 3/2 + 5/3 + 7/4 + ... + 99/50

Algoritmos (Prof. Leonardo Minelli) 20


Exercícios
• Exercício 9
– Elabore um algoritmo que determine o valor de S,
onde:
– S = 1/1 - 2/4 + 3/9 - 4/16 + 5/25 - 6/36 ... - 10/100.

Algoritmos (Prof. Leonardo Minelli) 21

Vous aimerez peut-être aussi