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

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

PASCAL – Estruturas de repetição Prof. Ernani Viriato de Melo

Apresentações semelhantes


Apresentação em tema: "PASCAL – Estruturas de repetição Prof. Ernani Viriato de Melo"— Transcrição da apresentação:

1 PASCAL – Estruturas de repetição Prof. Ernani Viriato de Melo
Projeto de Algoritmos PASCAL – Estruturas de repetição Prof. Ernani Viriato de Melo 1º Semestre

2 PASCAL – Estruturas de Repetição
Permite que um determinado bloco de comandos seja executado em um determinado número de vezes. Exemplo: Considere o algoritmo para determinar o fatorial de um número. 0! = 1 1! = 1 2! = 2 * 1 3! = 3 * 2 * 1 n! = n * (n-1) * (n-2) *...*1

3 PASCAL – Estruturas de Repetição
Notação algorítmica para o comando de repetição: ENQUANTO (<condição>) FAÇA <bloco de comandos> Exemplo: ENQUANTO (N > 1) FAÇA INÍCIO FAT  FAT * N N  N - 1 FIM Característica: teste de condição é realizado no início, ou seja, antes da execução do bloco de comandos. Observação: dentro do bloco de comandos deve existir algum comando que venha a invalidar a condição.

4 PASCAL – Estruturas de Repetição
Notação em PASCAL: WHILE (<condição>) DO <bloco de comandos> Exemplo: WHILE (N > 1) DO BEGIN FAT := FAT * N N := N - 1 END

5 PASCAL – Estruturas de Repetição
Exemplo: Descricao: Determinar o fatorial de um número AUTOR: Ernani Melo DATA: 11/03/2007 ALGORITMO FATORIAL DECLARE N, FAT: NUMÉRICO; {Passo1:Interface e leitura de valores} ESCREVA “PROGRAMA DE CALCULAR FATORIAL” ESCREVA “ENTRE COM O NUMERO: “ LEIA N

6 PASCAL – Estruturas de Repetição
{Passo2: Calculo do fatorial} FAT  1 ENQUANTO (N > 1) FAÇA INÍCIO FAT  FAT * N N  N – 1 FIM {Passo3: Escrever o resultado} ESCREVA “O FATORIAL É:”,FAT FIM ALGORITMO

7 PASCAL – Estruturas de Repetição
Exemplo em PASCAL: {Descricao: Determinar o fatorial de um número AUTOR: Ernani Melo DATA: 11/03/2007} PROGRAM FATORIAL; USES wincrt; VAR N, FAT: INTEGER; BEGIN {Passo1:Interface e leitura de valores} WRITELN(‘PROGRAMA DE CALCULO DE FATORIAL’);

8 PASCAL – Estruturas de Repetição
WRITE(‘ENTRE COM O NUMERO:’); READLN(N); {Passo2: Calculo do fatorial} FAT := 1; WHILE (N > 1) DO BEGIN FAT := FAT * N; N := N – 1; END; {Passo3: Escrever o resultado} WRITELN(‘O FATORIAL É:’,FAT); END.

9 PASCAL – Estruturas de Repetição
Estrutura de repetição para número definido de repetições (estrutura PARA): Permite a execução de uma sequência de comandos em um número pré-definido de vezes. Notação algorítmica: PARA <valor_inicial> ATÉ <valor_final> FAÇA <bloco de comandos> Exemplo: PARA i  1 ATÉ FAÇA ESCREVA “ADORO PROGRAMAR” Neste exemplo o contador i possui o valor inicial 1 e vai ser incrementado de um em um até chegar no valor 20.

10 PASCAL – Estruturas de Repetição
Obs: <valor_incial> e <valor_final> devem ser valores inteiros. Comparando o ENQUANTO com o PARA: ENQUANTO: I  1 ENQUANTO ( I < 20 ) FAÇA INÍCIO ESCREVA “ADORO PROGRAMAR” I  I + 1 FIM PARA: PARA i  1 ATÉ FAÇA

11 PASCAL – Estruturas de Repetição
Notação do PARA em PASCAL: FOR <valor_inicial> TO <valor_final> DO <bloco de comandos> Exemplo: FOR I := 1 TO DO WRITELN(‘ADORO PROGRAMAR’);

12 PASCAL – Estruturas de Repetição
Exemplo: Descricao: Imprimir as 20 primeiras potências de 2 AUTOR: Ernani Melo DATA: 17/03/2007 ALGORITMO POTENCIA_2 DECLARE POTENCIA: NUMÉRICO; I: NUMÉRICO; {variável contadora} {Passo1:Interface} ESCREVA “PROGRAMA DE CALCULAR POTENCIAS DE 2” {Passo2:Calcular as 20 potencias iniciais}

13 PASCAL – Estruturas de Repetição
POTENCIA  1 PARA I  1 ATÉ 20 FAÇA INÍCIO {Passo de cada iteração: multiplicar a potencia anterior por 2 e exibir na tela} POTENCIA  POTENCIA * 2 ESCREVA ‘2 ELEVADO A‘,I,’É UGUAL A’, POTENCIA FIM FIM ALGORITMO.

14 PASCAL – Estruturas de Repetição
Exemplo em PASCAL: {Descricao: Imprimir as 20 primeiras potências de 2 AUTOR: Ernani Melo DATA: 17/03/2007} PROGRAM POTENCIA_2; USES wincrt; VAR POTENCIA: INTEGER; I: INTEGER; {variável contadora} {Passo1:Interface} WRITELN(“PROGRAMA DE CALCULAR POTENCIAS DE 2”); {Passo2:Calcular as 20 potencias iniciais}

15 PASCAL – Estruturas de Repetição
POTENCIA := 1; FOR I := 1 TO 20 DO BEGIN {Passo de cada iteração: multiplicar a potencia anterior por 2 e exibir na tela} POTENCIA := POTENCIA * 2; WRITELN(‘2 ELEVADO A‘,I,’É UGUAL A’, POTENCIA); END; END.

16 PASCAL – Estruturas de Repetição
E quando o valor inicial é menor que o valor final... como fica em PASCAL ??? Exemplo: PARA i  20 ATÉ FAÇA ESCREVA “ADORO PROGRAMAR” Em PASCAL: FOR i := 20 DOWNTO 1 DO WRITELN (‘ADORO PROGRAMAR’);

17 PASCAL – Estruturas de Repetição
Estrutura de repetição REPITA: O teste do critério de parada é realizado no final do laço. O bloco de comandos é executado no mínimo uma vez. O laço é executado até a condição se tornar verdadeira. Notação algorítmica: REPITA <bloco de comandos> ATÉ <condição> Exemplo: i  1 REPITA ESCREVA “ADORO PROGRAMAR” i  i + 1 ATÉ (i = 20)

18 PASCAL – Estruturas de Repetição
Exemplo: Descricao: Escrever o resultado de 2 elevado a um número AUTOR: Ernani Melo DATA: 17/03/2007 ALGORITMO POTENCIA_2_N DECLARE POTENCIA: NUMÉRICO N: NUMÉRICO I: NUMÉRICO {contador} {Passo1:Interface} ESCREVA “PROGRAMA DE CALCULAR POTENCIA DE 2 ELEVADO A N”

19 PASCAL – Estruturas de Repetição
{Passo1.1: validação das valores a serem lidos} N  0 REPITA ESCREVA “ENTRE COM O NUMERO N:” LEIA(N) SE ( N < 0 ) ENTÃO ESCREVA “O NUMERO DEVE SER MAIOR QUE 0” ATÉ ( N > 0 ) {o valor de N é positivo} {Passo2: calcular a potencia de 2 a N} POTENCIA  1 PARA I  1 ATÉ N FAÇA POTENCIA  POTENCIA * 2

20 PASCAL – Estruturas de Repetição
{Passo3: Escrever o resultado} ESCREVA “ O VALOR DA POTENCIA DE 2 ELEVADO A “, N, “ É = “,POTENCIA FIM ALGORITMO.

21 PASCAL – Estruturas de Repetição
Exemplo em PASCAL: {Descricao: Escrever o resultado de 2 elevado a um número AUTOR: Ernani Melo DATA: 17/03/2007} PROGRAM POTENCIA_2_N; USES wincrt; VAR POTENCIA: INTEGER; N: INTEGER; I: INTEGER; {contador} {Passo1:Interface} WRITELN(“PROGRAMA DE CALCULAR POTENCIA DE 2 ELEVADO A N”);

22 PASCAL – Estruturas de Repetição
{Passo1.1: validação das valores a serem lidos} N := 0; {inicializacao de N} REPEAT WRITE(“ENTRE COM O NUMERO N:”); READLN(N); IF ( N < 0 ) THEN WRITEON(“O NUMERO DEVE SER MAIOR QUE 0”); UNTIL ( N > 0 ); {o valor de N é positivo} {Passo2: calcular a potencia de 2 a N} POTENCIA := 1; FOR I := 1 TO N DO POTENCIA := POTENCIA * 2;

23 PASCAL – Estruturas de Repetição
{Passo3: Escrever o resultado} WRITELN(“ O VALOR DA POTENCIA DE 2 ELEVADO A “, N, “ É = “,POTENCIA); END.


Carregar ppt "PASCAL – Estruturas de repetição Prof. Ernani Viriato de Melo"

Apresentações semelhantes


Anúncios Google