Aula 11
Prof. Gracon Lima
Estruturas de Repetição
Prof. Gracon Lima
Estruturas de Repetição
• Até o momento
– algoritmos numa sequencia de execuções até
atingir o final
– impossibilidade de executar novamente qualquer
parte do código
• Antigamente haviam os rótulos
– Informava uma parte do código para redirecionar
– Praticamente abolido
• Atualmente utilizamos laços (loops)
Prof. Gracon Lima
Estruturas de Repetição
• Uso: quando um bloco de instruções precisa ser repetido
(atrelado a um numero de vezes ou condição);
– execução de determinados trechos algumas vezes.
• Exemplo
– cálculo da média aritmética entre alguns valores.
• Se ao invés de desejarmos obter apenas uma média, o objetivo fosse
obter um conjunto de médias.
• Para o cálculo de cada uma das médias o mesmo conjunto de
operações seria executado.
• Para situações assim foram criadas estruturas de repetição
• Dois tipos de estruturas
– Número definido de repetições
– Controlado por condição
Prof. Gracon Lima
Contador e Acumulador
• Variáveis usadas de maneira especial:
– Contador: qualquer variável que recebe um valor
inicial (geralmente 0) e é incrementada em algum
outro ponto do algoritmo de um valor constante
(geralmente 1)
Prof. Gracon Lima
Contador e Acumulador
• Variáveis usadas de maneira especial:
– Acumulador: qualquer variável que recebe um
valor inicial constante (geralmente 0) e é
incrementada em algum outro ponto do
algoritmo de um valor variável
Prof. Gracon Lima
• PARA: quando se sabe o número de vezes que
o bloco deve ser repetido
Principais Estruturas
Prof. Gracon Lima
Estruturas de Repetição - PARA
• <variável > É a variável contadora do
número de repetições do laço
– deve ser necessariamente uma variável
do tipo inteiro.
• <valor-inicial> É uma expressão que
especifica o valor de inicialização da
variável contadora.
• <valor-limite> É uma expressão que
especifica o valor máximo que a
variável contadora pode alcançar.
• <incremento> Quando presente, é
precedido pela palavra-reservada
passo,
– especifica valor do incremento que será
acrescentado à variável contadora em
cada repetição do laço. O valor padrão,
assumido por omissão, de
<incremento>. É opcional.
– É possível especificar valores negativos
para <incremento>.
para <variável> de <valor-inicial> ate
<valor-limite> [passo <incremento>]
faca
<sequência de comandos>
fimpara
Aqui:
•contador recebe o valor de <incremento>,
e comparado a <valorlimite>.
•Se for menor ou igual (ou maior ou
igual, quando <incremento > for
negativo), a seqüência de comandos
será executada mais uma vez;
•caso contrário, a execução
prosseguirá a partir do primeiro
comando que esteja após o fimpara.
•<valor-inicial>, <valor-limite> e <incremento>
•avaliados uma única vez antes da
execução da primeira repetição, e não se
alteram durante a execução do laço,
mesmo que variáveis eventualmente
presentes nessas expressões tenham seus
valores alterados.
Prof. Gracon Lima
Exemplos PARA
• Exemplo Passo2:
algoritmo "Exemplo Para“
var
a:inteiro
inicio
para a:=1 ate 10 passo 2 faca
escreva(a)
fimpara
fimalgoritmo
• A saída será os valores
1,3,5,7,9
• J varia de 1 a 9 de 2 em 2
• Exemplo:
algoritmo "Exemplo Para“
var
a:inteiro
inicio
para a:=1 ate 10 faca
escreva(a)
fimpara
fimalgoritmo
• A saída será os valores
1,2,3,4,5,6,7,8,9,10
• J varia de 1 a 10 de 1 em 1
Prof. Gracon Lima
Exemplos PARA
• Exemplo Decrescente -2:
algoritmo "Exemplo Para“
var
a:inteiro
inicio
para a:=15 ate 1 passo -2 faca
escreva(a)
fimpara
fimalgoritmo
• A saída será os valores
15,13,11,9,7,5,3,1
• J decresce de 15 a 1 reduzindo
2 a cada passo
• Exemplo Decrescente:
algoritmo "ExemploPara“
var
a:inteiro
inicio
para a:=10 ate 5 passo -1 faca
escreva(a)
fimpara
fimalgoritmo
• A saída será os valores
10,9,8,7,6,5
• a decresce de 10 a 5 reduzindo
1 a cada passo
Prof. Gracon Lima

Aula 11

  • 1.
  • 2.
  • 3.
    Estruturas de Repetição •Até o momento – algoritmos numa sequencia de execuções até atingir o final – impossibilidade de executar novamente qualquer parte do código • Antigamente haviam os rótulos – Informava uma parte do código para redirecionar – Praticamente abolido • Atualmente utilizamos laços (loops) Prof. Gracon Lima
  • 4.
    Estruturas de Repetição •Uso: quando um bloco de instruções precisa ser repetido (atrelado a um numero de vezes ou condição); – execução de determinados trechos algumas vezes. • Exemplo – cálculo da média aritmética entre alguns valores. • Se ao invés de desejarmos obter apenas uma média, o objetivo fosse obter um conjunto de médias. • Para o cálculo de cada uma das médias o mesmo conjunto de operações seria executado. • Para situações assim foram criadas estruturas de repetição • Dois tipos de estruturas – Número definido de repetições – Controlado por condição Prof. Gracon Lima
  • 5.
    Contador e Acumulador •Variáveis usadas de maneira especial: – Contador: qualquer variável que recebe um valor inicial (geralmente 0) e é incrementada em algum outro ponto do algoritmo de um valor constante (geralmente 1) Prof. Gracon Lima
  • 6.
    Contador e Acumulador •Variáveis usadas de maneira especial: – Acumulador: qualquer variável que recebe um valor inicial constante (geralmente 0) e é incrementada em algum outro ponto do algoritmo de um valor variável Prof. Gracon Lima
  • 7.
    • PARA: quandose sabe o número de vezes que o bloco deve ser repetido Principais Estruturas Prof. Gracon Lima
  • 8.
    Estruturas de Repetição- PARA • <variável > É a variável contadora do número de repetições do laço – deve ser necessariamente uma variável do tipo inteiro. • <valor-inicial> É uma expressão que especifica o valor de inicialização da variável contadora. • <valor-limite> É uma expressão que especifica o valor máximo que a variável contadora pode alcançar. • <incremento> Quando presente, é precedido pela palavra-reservada passo, – especifica valor do incremento que será acrescentado à variável contadora em cada repetição do laço. O valor padrão, assumido por omissão, de <incremento>. É opcional. – É possível especificar valores negativos para <incremento>. para <variável> de <valor-inicial> ate <valor-limite> [passo <incremento>] faca <sequência de comandos> fimpara Aqui: •contador recebe o valor de <incremento>, e comparado a <valorlimite>. •Se for menor ou igual (ou maior ou igual, quando <incremento > for negativo), a seqüência de comandos será executada mais uma vez; •caso contrário, a execução prosseguirá a partir do primeiro comando que esteja após o fimpara. •<valor-inicial>, <valor-limite> e <incremento> •avaliados uma única vez antes da execução da primeira repetição, e não se alteram durante a execução do laço, mesmo que variáveis eventualmente presentes nessas expressões tenham seus valores alterados. Prof. Gracon Lima
  • 9.
    Exemplos PARA • ExemploPasso2: algoritmo "Exemplo Para“ var a:inteiro inicio para a:=1 ate 10 passo 2 faca escreva(a) fimpara fimalgoritmo • A saída será os valores 1,3,5,7,9 • J varia de 1 a 9 de 2 em 2 • Exemplo: algoritmo "Exemplo Para“ var a:inteiro inicio para a:=1 ate 10 faca escreva(a) fimpara fimalgoritmo • A saída será os valores 1,2,3,4,5,6,7,8,9,10 • J varia de 1 a 10 de 1 em 1 Prof. Gracon Lima
  • 10.
    Exemplos PARA • ExemploDecrescente -2: algoritmo "Exemplo Para“ var a:inteiro inicio para a:=15 ate 1 passo -2 faca escreva(a) fimpara fimalgoritmo • A saída será os valores 15,13,11,9,7,5,3,1 • J decresce de 15 a 1 reduzindo 2 a cada passo • Exemplo Decrescente: algoritmo "ExemploPara“ var a:inteiro inicio para a:=10 ate 5 passo -1 faca escreva(a) fimpara fimalgoritmo • A saída será os valores 10,9,8,7,6,5 • a decresce de 10 a 5 reduzindo 1 a cada passo Prof. Gracon Lima