24
Componente Lógica de Programação Estrutura de Repetição Programação Prof. Esp. MBA Heuber G. F. Lima Aula 4

Estrutura de Repetição · Estruturas de Repetição São muito comuns as situações em que se deseja repetir um ... Estrutura dotada de mecanismos para contar o número de vezes

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Estrutura de Repetição · Estruturas de Repetição São muito comuns as situações em que se deseja repetir um ... Estrutura dotada de mecanismos para contar o número de vezes

Componente Lógica de Programação

Estrutura de Repetição

Programação

Prof. Esp. MBA Heuber G. F. Lima

Aula 4

Page 2: Estrutura de Repetição · Estruturas de Repetição São muito comuns as situações em que se deseja repetir um ... Estrutura dotada de mecanismos para contar o número de vezes

Estruturas de Repetição

� São muito comuns as situações em que se deseja repetir um determinado trecho de um programa um certo número de vezes.

� As estruturas de repetição são muitas vezes chamadas de Laços ou também de Loops.

� Classificação:

– Laços Contados

Page � 2

– Laços Contados

• Conhecimento previo de quantas vezes o comando no interior da construção será executado;

– Laços Condicionais

• Não se conhece de antemão o número de vezes que o conjunto de comandos no interior do laço será repetido.

• Amarrado a uma condição sujeita à modificação pelas instruções do interior do laço.

Page 3: Estrutura de Repetição · Estruturas de Repetição São muito comuns as situações em que se deseja repetir um ... Estrutura dotada de mecanismos para contar o número de vezes

Laços condicionais

� O conjunto de comandos em seu interior é executado até que uma determinada condição seja satisfeita.

� Laços condicionais mais comuns nas linguagens de programação modernas:

– Enquanto - laço condicional com teste no início

– Repita - laço condicional com teste no final

Page � 3

– Repita - laço condicional com teste no final

� A variável que é testada dever sempre estar associada a um comando que a atualize no interior do laço.

– Caso isso não ocorra, o programa ficará repetindo indefinidamente este laço, gerando um “laço infinito”.

Page 4: Estrutura de Repetição · Estruturas de Repetição São muito comuns as situações em que se deseja repetir um ... Estrutura dotada de mecanismos para contar o número de vezes

Laços Condicionais com Teste no Início (enquanto .. . faca)

�Caracteriza-se por uma estrutura que efetua um teste lógico no início de um laço, verificando se é permitido ou não executar o conjunto de comandos no interior do laço.

enquanto <condição> faca

<comando_composto>

Page � 4

fimenquanto

Page 5: Estrutura de Repetição · Estruturas de Repetição São muito comuns as situações em que se deseja repetir um ... Estrutura dotada de mecanismos para contar o número de vezes

Fluxograma

Page � 5

Page 6: Estrutura de Repetição · Estruturas de Repetição São muito comuns as situações em que se deseja repetir um ... Estrutura dotada de mecanismos para contar o número de vezes

Diagrama de Chapin

Page � 6

Page 7: Estrutura de Repetição · Estruturas de Repetição São muito comuns as situações em que se deseja repetir um ... Estrutura dotada de mecanismos para contar o número de vezes

Laços condicionais (enquanto ... faca)

algoritmo "numeros“Inicio

declare

num_inicial, num_final, i numérico

escreva ( "Digite o número inicial: " )

leia (num_inicial)

escreva ( "Digite o número final: " )

leia (num_final)

Page � 7

leia (num_final)

i <- num_inicial

enquanto (i <= num_final) faca

escreva (i)

i <- i + 1

Fim enquanto

escreva ( "fim" )

fimalgoritmo

Page 8: Estrutura de Repetição · Estruturas de Repetição São muito comuns as situações em que se deseja repetir um ... Estrutura dotada de mecanismos para contar o número de vezes

Exemplo

algoritmo "exemplo_enquanto"

var soma, num : inteiro

inicio

num <- 1

soma <- num

enquanto soma < 1000 faca

Page � 8

enquanto soma < 1000 faca

escreval( num, " - " , soma)

num <- num + 1

soma <- soma + num

fimenquanto

fimalgoritmo

Page 9: Estrutura de Repetição · Estruturas de Repetição São muito comuns as situações em que se deseja repetir um ... Estrutura dotada de mecanismos para contar o número de vezes

Exemplo

Page � 9

Page 10: Estrutura de Repetição · Estruturas de Repetição São muito comuns as situações em que se deseja repetir um ... Estrutura dotada de mecanismos para contar o número de vezes

Laços Condicionais com Teste no Final ( repita ... ate )

�Efetua um teste lógico no final de um laço, verificando se é permitido ou não executar novamente o conjunto de comandos no interior do mesmo.

�Na construção Repita o comando é executado uma ou mais vezes (pelo menos uma vez). Além disso, a variável

Page � 10

mais vezes (pelo menos uma vez). Além disso, a variável pode ser inicializada ou lida dentro do laço.

�Na construção Enquanto o comando é executado zero ou mais vezes.

repita

<comando_composto>

ate <condição>

Page 11: Estrutura de Repetição · Estruturas de Repetição São muito comuns as situações em que se deseja repetir um ... Estrutura dotada de mecanismos para contar o número de vezes

Laços condicionais (repita ... ate)algoritmo "numeros"

var

num_inicial, num_final, i : inteiro

inicio

escreva ("Digite o número inicial: " )

leia (num_inicial)

escreva ( "Digite o número final: " )

Page � 11

leia (num_final)

i <- num_inicial

repita

escreval (i)

i <- i + 1

ate (i > num_final)

escreva ( "fim" )

fimalgoritmo

Page 12: Estrutura de Repetição · Estruturas de Repetição São muito comuns as situações em que se deseja repetir um ... Estrutura dotada de mecanismos para contar o número de vezes

Fluxograma

Page � 12

Page 13: Estrutura de Repetição · Estruturas de Repetição São muito comuns as situações em que se deseja repetir um ... Estrutura dotada de mecanismos para contar o número de vezes

Diagrama de Chapin

Page � 13

Page 14: Estrutura de Repetição · Estruturas de Repetição São muito comuns as situações em que se deseja repetir um ... Estrutura dotada de mecanismos para contar o número de vezes

Exemplo

algoritmo "exemplo_repita"

var num : inteiro

inicio

repita

leia (num)

escreva (num, " - " , num * num)

Page � 14

ate num % 2 = 0

fimalgoritmo

Page 15: Estrutura de Repetição · Estruturas de Repetição São muito comuns as situações em que se deseja repetir um ... Estrutura dotada de mecanismos para contar o número de vezes

Fluxograma

Page � 15

Page 16: Estrutura de Repetição · Estruturas de Repetição São muito comuns as situações em que se deseja repetir um ... Estrutura dotada de mecanismos para contar o número de vezes

Laços contados

�São úteis quando se conhece previamente o número exato de vezes que se deseja executar um determinado conjunto de comandos.

�Estrutura dotada de mecanismos para contar o número de vezes que o corpo do laço é executado.

Page � 16

para <variável> de <início> ate <final> faca

<comando_composto>

fimpara

Page 17: Estrutura de Repetição · Estruturas de Repetição São muito comuns as situações em que se deseja repetir um ... Estrutura dotada de mecanismos para contar o número de vezes

Laços contados (para ... de ... ate ... faca)

algoritmo "numeros"

var

num_inicial, num_final, i : inteiro

inicio

escreva ( "Digite o número inicial: " )

leia (num_inicial)

escreva ( "Digite o número final: " )

Page � 17

escreva ( "Digite o número final: " )

leia (num_final)

para i de num_inicial ate num_final faca

escreval (i)

fimpara

escreva ( "fim" )

fimalgoritmo

Page 18: Estrutura de Repetição · Estruturas de Repetição São muito comuns as situações em que se deseja repetir um ... Estrutura dotada de mecanismos para contar o número de vezes

Laços contados

� Existe uma condição especial em que a contagem pode ser de forma decrescente, onde o valor da variável é decrementado.

para <variável> de <início> ate <final> passo –1 faca

<comando_composto>

fimpara

Page � 18

Page 19: Estrutura de Repetição · Estruturas de Repetição São muito comuns as situações em que se deseja repetir um ... Estrutura dotada de mecanismos para contar o número de vezes

Fluxograma

Page � 19

Page 20: Estrutura de Repetição · Estruturas de Repetição São muito comuns as situações em que se deseja repetir um ... Estrutura dotada de mecanismos para contar o número de vezes

Diagrama de Chapin

Page � 20

Page 21: Estrutura de Repetição · Estruturas de Repetição São muito comuns as situações em que se deseja repetir um ... Estrutura dotada de mecanismos para contar o número de vezes

Exemplo

algoritmo "tabuada"

var i, tab, num : inteiro

inicio

escreva( "Tabuada: " )

leia( tab)

escreva( "Até que número: " )

leia( num)

Page � 21

leia( num)

para i de 1 ate num faca

escreva( i, " x " , tab, " = " , i * tab)

fimpara

fimalgoritmo

Page 22: Estrutura de Repetição · Estruturas de Repetição São muito comuns as situações em que se deseja repetir um ... Estrutura dotada de mecanismos para contar o número de vezes

Fluxograma

Page � 22

Page 23: Estrutura de Repetição · Estruturas de Repetição São muito comuns as situações em que se deseja repetir um ... Estrutura dotada de mecanismos para contar o número de vezes

Estruturas de Controle Encadeadas ou aninhadas

�Um aninhamento ou encadeamento é o fato de se ter qualquer um dos tipos de construção apresentados anteriormente dentro do conjunto de comandos (comando composto) de uma outra construção.

�Em qualquer tipo de aninhamento é necessário que a construção interna esteja completamente embutida na construção externa.

Page � 23

construção externa.

Aninhamento inválidoAninhamento válido

Page 24: Estrutura de Repetição · Estruturas de Repetição São muito comuns as situações em que se deseja repetir um ... Estrutura dotada de mecanismos para contar o número de vezes

[email protected]

Obrigado!Obrigado!