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 Aula 5 - V. 2 - Cida Livi2 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)

3 Aula 5 - V. 2 - Cida Livi3 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!); (…) Writeln (´Não devo conversar em aula!);

4 Aula 5 - V. 2 - Cida Livi4 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).

5 Aula 5 - V. 2 - Cida Livi5 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. Implementação da segunda solução uso do comando FOR

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

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

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

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

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

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

12 Aula 5 - V. 2 - Cida Livi12 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

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

14 Aula 5 - V. 2 - Cida Livi14 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);

15 Aula 5 - V. 2 - Cida Livi15 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);

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

17 Aula 5 - V. 2 - Cida Livi17 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.

18 Aula 5 - V. 2 - Cida Livi18 Cuidados: zValores 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´);

19 Aula 5 - V. 2 - Cida Livi19 Cuidados: zVariá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;

20 Aula 5 - V. 2 - Cida Livi20 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; : Cont2 := Cont2 + 1; : Cont3 := Cont3 + 1 end; {do Case} end; {do begin do For}

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

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

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

24 Aula 5 - V. 2 - Cida Livi24 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) } Trecho em PASCAL que imprime as tabuadas de multiplicação de 1 a 10:

25 Aula 5 - V. 2 - Cida Livi25 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.


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