A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Algoritmos com laços (ou seja, com conjuntos de instruções que devem ser executados repetidas vezes)

Apresentações semelhantes


Apresentação em tema: "Algoritmos com laços (ou seja, com conjuntos de instruções que devem ser executados repetidas vezes)"— Transcrição da apresentação:

1 Algoritmos com laços (ou seja, com conjuntos de instruções que devem ser executados repetidas vezes)

2 Problema do Aluno Conversador:
Aluno deve escrever 100 vezes: Não devo conversar em aula! (ou seja, uma ação deve ser realizada um número preciso e conhecido de vezes) Aula 5 - V. 2 - Cida Livi

3 Primeira solução: Fazer um programa em Pascal com 100 writeln´s, ou seja, fazendo 100 vezes a ação : Writeln (´Não devo conversar em aula!); (…) Aula 5 - V. 2 - Cida Livi

4 Segunda solução: fazer com que a instrução de escrita seja
repetida o número necessário de vezes (100) Elementos para implementar este tipo de solução: a ação a ser realizada; uma forma de indicar a repetição da ação; um contador que registre o número de vezes que a ação foi realizada; um teste para verificar, com base no contador, quando a ação deve parar de ser repetida (executada). Aula 5 - V. 2 - Cida Livi

5 Implementação da segunda solução
uso do comando FOR Semântica do FOR: Permite a execução de um ou mais comandos um número determinado de vezes. O controle das execuções é por contagem , utilizando uma variável contador. Execuções acontecem até que um valor limite para a variável contador seja ultrapassado. Aula 5 - V. 2 - Cida Livi

6 Comando FOR LAÇOS CONTADOS permite a criação de
Aula 5 - V. 2 - Cida Livi

7 ´Não devo conversar em aula!´ será escrito 100 vezes.
for I := 1 to 100 do Writeln (´Não devo conversar em aula!´); Resultado: ´Não devo conversar em aula!´ será escrito 100 vezes. Aula 5 - V. 2 - Cida Livi

8 Diagrama de funcionamento do FOR:
Incremento da variável de controle a cada nova iteração Início I := 1 Inicialização da variável de controle, com valor inicial indicado no comando I := I + 1 Não Não devo conversar em aula I > 100 Avaliação da condição de término, com o valor final indicado no comando Sim Fim Aula 5 - V. 2 - Cida Livi

9 Representação do FOR em um fluxograma:
Inicialização do I (só ocorre 1 vez) Início Teste do I quanto a seu valor final, a cada iteração Incremento do I ( da 2a iteração em diante) I <-- 1 I > 100 Sim I <-- I + 1 Não Escrever (´Não devo conversar em aula´) Fim Aula 5 - V. 2 - Cida Livi

10 Diagrama de Chapin: Operação Repetitiva <condição>
<comando> Semântica: enquanto condição for verdadeira, comando será executado. Aula 5 - V. 2 - Cida Livi

11 FOR usando diagrama de CHAPIN:
Para I de 1 até 100 Escrever “Não devo conversar em aula” Obs.: neste caso, condição é I <= 100. Aula 5 - V. 2 - Cida Livi

12 Duas modalidades do FOR em TURBO PASCAL:
FOR …TO: incremento da variável do FOR é de +1, a cada iteração FOR…DOWNTO: decremento da variável do FOR é de -1, a cada iteração Aula 5 - V. 2 - Cida Livi

13 Impressão de inteiros entre 1 e 50:
For J := 1 to 50 do write (J:4); Resultado: … 20 etc... Aula 5 - V. 2 - Cida Livi

14 Impressão da tabuada de multiplicação de um número informado:
Readln(Valor); for K := 1 to 10 do writeln(K:4 ,´ X ´, Valor:4 , ´ = ´ , K * Valor:5); Aula 5 - V. 2 - Cida Livi

15 Duas formas de imprimir o alfabeto em ordem inversa:
for I := 122 downto 97 do write(chr(I):4); (função CHR fornece o caracter ASCII correspondente a um determinado valor) for carac := ´z´ downto ´a´ do write (carac:4); Aula 5 - V. 2 - Cida Livi

16 identificador := expressão1 FOR Comando* to expressão2 do downto
Sintaxe identificador := expressão1 FOR Comando* to expressão2 do * Simples ou composto (dois ou mais comandos delimitados por begin…end) downto Aula 5 - V. 2 - Cida Livi

17 Identificador (ou variável de controle):
tipo ordinal simples (integer, char, etc.). Expressões 1 e 2: Seu tipo deve coincidir com aquele do identificador. Aula 5 - V. 2 - Cida Livi

18 Cuidados: Valores Inicial e Final (expressões 1 e 2) devem ser molde a permitir pelo menos uma execução do FOR. Ex.: for K := 7 to 7 do writeln(´Só executa uma vez´); for Y := 12 to 10 do writeln(´Nunca vai executar este write´); Aula 5 - V. 2 - Cida Livi

19 Cuidados: Variável de controle não deve ser modificada durante a execução do FOR (mas seu conteúdo pode ser utilizado em testes, expressões ou ser escrito). Ex.: for J := 5 to 35 do {J é a variável de controle} begin if J mod 5 = 0 then writeln else write(J:5) end; Aula 5 - V. 2 - Cida Livi

20 Levantamento de uso da Internet, por número de horas, realizado em um universo de 200 usuários:
For I := 1 to 200 do begin readln(Horas); case Horas of 1..10: Cont1 := Cont1 + 1; 11..40: Cont2 := Cont2 + 1; : Cont3 := Cont3 + 1 end; {do Case} end; {do begin do For} Aula 5 - V. 2 - Cida Livi

21 FORs aninhados Funcionamento:
Para cada variação de valor da variável de controle do FOR externo, todo o FOR interno será executado integralmente. Aula 5 - V. 2 - Cida Livi

22 das tabuadas de multiplicação do 1 ao 10
FORs Aninhados Início Em Fluxograma I <-- 1 I > 10 Sim I <-- I + 1 Não Impressão das tabuadas de multiplicação do 1 ao 10 Sim J <-- 1 J > 10 J <-- J + 1 Não J , ´ x ´ , I , ´ = ´, J * I Aula 5 - V. 2 - Cida Livi Fim

23 das tabuadas de multiplicação do 1 ao 10
FORs Aninhados Em diagrama de Chapin Impressão das tabuadas de multiplicação do 1 ao 10 Para I de 1 até 10 Para J de 1 até 10 Escrever J , ´ x ´ , I , ´ = ´, J * I Aula 5 - V. 2 - Cida Livi

24 writeln(J , ´ X´, I , ´ = ´, J * I); {
Trecho em PASCAL que imprime as tabuadas de multiplicação de 1 a 10: for I := 1 to 10 do for J := 1 to 10 do writeln(J , ´ X´, I , ´ = ´, J * I); { mesmo writeln acima, apenas agora editado: writeln(J:5 , ´X´ , I:5 , ´=´ , J * I: 5) } Aula 5 - V. 2 - Cida Livi

25 Em Algoritmos com LAÇOS CONTADOS!!!!
USO DO COMANDO FOR Em Algoritmos com LAÇOS CONTADOS!!!! O Comando FOR deve ser utilizado tão somente nos casos de laços contados, em que a repetição de ações deve acontecer um número determinado e conhecido de vezes. Aula 5 - V. 2 - Cida Livi


Carregar ppt "Algoritmos com laços (ou seja, com conjuntos de instruções que devem ser executados repetidas vezes)"

Apresentações semelhantes


Anúncios Google