Begin

Transcrição

Begin
ESTRUTURAS DE REPETIÇÃO:
Suponha que você tivesse que fazer um programa para resolver cada um dos
problemas abaixo:
(1) Ler 50 valores reais correspondentes às notas de uma turma de 50 alunos e calcular a
média da turma.
(2) Imprimir os 100 primeiros termos da sequência xn=n2.
(3) Imprimir todos os divisores de um número inteiro N.
(4) Ler 100 valores inteiros e encontrar o seu máximo.
(5) Verificar se um número é primo.
• Uma análise desses problemas indica que, ao desenvolvermos os seus programas
associados, haverá a necessidade de repetição de um ou mais comandos (conjunto
de instruções ou bloco de comandos) por determinado número de vezes.
• A resolução para esses problemas depende, então, da utilização de uma nova
estrutura da linguagem Pascal (também comum em outras linguagens), conhecida
como a estrutura de repetição.
• Na linguagem Pascal, temos três tipos de estruturas de repetição, quais sejam:
FOR
WHILE
REPEAT
• Em geral, utilizamos a estrutura de repetição FOR quando temos o conhecimento
prévio do número total de repetições de determinado bloco de comandos.
FOR <var_contador> := <valor_inicial> TO <valor_final> DO comando1;
Repetição de dois ou mais comandos (bloco de comandos):
FOR <var_contador> := <valor_inicial> TO <valor_final> DO
begin
comando 1;
comando 2;
...
comando n;
end;
<var_contador> = É uma variável do tipo inteiro declarada na área de variáveis do programa.
<valor_inicial> = Um valor inteiro
<valor_final> = Um valor inteiro.
Obs1: A diferença entre <valor_final> e o <valor_inicial> deve ser não negativa.
Obs2: Na segunda forma do comando for o “begin end” funciona como um delimitador
de comandos.
Ou seja, toda vez que houver a necessidade de repetir dois ou mais comandos utilizando a
estrutura de repetição for, deve-se, obrigatoriamente, escrever esses comandos entre um
begin end. Caso contrário, apenas o primeiro comando após o do será repetido e os
demais comandos serão executados apenas uma vez.
Funcionamento da Estrutura:
Program quadrados;
Var
i : integer;
Begin
for i := 1 to5 do writeln(sqr(i));
End.
Iterações Valor de i
1ª
2ª
3ª
4ª
5ª
1
2
3
4
5
Comando
Incremento
Executado
writeln(sqr(1)) = 1 i:=i+1 (2)
writeln(sqr(2)) = 4 i:=i+1 (3)
writeln(sqr(3)) = 9 i:=i+1 (4)
writeln(sqr(4)) = 16 i:=i+1 (5)
writeln(sqr(5)) = 25 i:=i+1 (6)
Valor de i
Iterações
1ª
2ª
3ª
4ª
5ª
1
2
3
4
5
Comando
Executado
writeln(sqr(1)) = 1
writeln(sqr(2)) = 4
writeln(sqr(3)) = 9
writeln(sqr(4)) = 16
writeln(sqr(5)) = 25
Incremento
i:=i+1
i:=i+1
i:=i+1
i:=i+1
i:=i+1
(2)
(3)
(4)
(5)
(6)
Valor de i
Iterações
1ª
2ª
3ª
4ª
5ª
1
2
3
4
5
Comando
Executado
writeln(sqr(1)) = 1
writeln(sqr(2)) = 4
writeln(sqr(3)) = 9
writeln(sqr(4)) = 16
writeln(sqr(5)) = 25
Incremento
i:=i+1
i:=i+1
i:=i+1
i:=i+1
i:=i+1
(2)
(3)
(4)
(5)
(6)
Iterações
Valor de i
1ª
2ª
3ª
4ª
5ª
1
2
3
4
5
Comando
Executado
writeln(sqr(1)) = 1
writeln(sqr(2)) = 4
writeln(sqr(3)) = 9
writeln(sqr(4)) = 16
writeln(sqr(5)) = 25
Incremento
i:=i+1
i:=i+1
i:=i+1
i:=i+1
i:=i+1
(2)
(3)
(4)
(5)
(6)
Iterações
Valor de i
1ª
2ª
3ª
4ª
5ª
1
2
3
4
5
Comando
Executado
writeln(sqr(1)) = 1
writeln(sqr(2)) = 4
writeln(sqr(3)) = 9
writeln(sqr(4)) = 16
writeln(sqr(5)) = 25
Incremento
i:=i+1
i:=i+1
i:=i+1
i:=i+1
i:=i+1
(2)
(3)
(4)
(5)
(6)
Iterações
Valor de i
1ª
2ª
3ª
4ª
5ª
1
2
3
4
5
Comando
Executado
writeln(sqr(1)) = 1
writeln(sqr(2)) = 4
writeln(sqr(3)) = 9
writeln(sqr(4)) = 16
writeln(sqr(5)) = 25
Incremento
i:=i+1
i:=i+1
i:=i+1
i:=i+1
i:=i+1
(2)
(3)
(4)
(5)
(6)
Funcionamento da Estrutura:
FOR x := <valor1> to <valor2> DO
begin
<comando1;>
<comando2;>
<comando3;>
<comando4;>
...
<comando n-1;>
<comando n;>
end;
Funcionamento da Estrutura:
FOR x := <valor1> to <valor2> DO
begin
<comando1;>
<comando2;>
<comando3;>
<comando4;>
...
<comando n-1;>
<comando n;>
end;
Funcionamento da Estrutura:
FOR x := <valor1> to <valor2> DO
begin
<comando1;>
<comando2;>
<comando3;>
<comando4;>
...
<comando n-1;>
<comando n;>
end;
Funcionamento da Estrutura:
FOR x := <valor1> to <valor2> DO
begin
<comando1;>
<comando2;>
<comando3;>
<comando4;>
...
<comando n-1;>
<comando n;>
end;
Funcionamento da Estrutura:
FOR x := <valor1> to <valor2> DO
begin
<comando1;>
<comando2;>
<comando3;>
<comando4;>
...
<comando n-1;>
<comando n;>
end;
Funcionamento da Estrutura:
FOR x := <valor1> to <valor2> DO
begin
<comando1;>
<comando2;>
<comando3;>
<comando4;>
...
<comando n-1;>
<comando n;>
end;
Funcionamento da Estrutura:
FOR x := <valor1> to <valor2> DO
begin
<comando1;>
<comando2;>
<comando3;>
<comando4;>
...
<comando n-1;>
<comando n;>
end;
Funcionamento da Estrutura:
FOR x := <valor1> to <valor2> DO
begin
<comando1;>
<comando2;>
<comando3;>
<comando4;>
...
<comando n-1;>
<comando n;>
end;
Funcionamento da Estrutura:
FOR x := <valor1> to <valor2> DO
begin
<comando1;>
<comando2;>
<comando3;>
<comando4;>
...
<comando n-1;>
<comando n;>
end;
FOR x := <valor1> to <valor2> DO
begin
<comando1;>
<comando2;>
<comando3;>
<comando4;>
...
<comando n-1;>
<comando n;>
end;

Documentos relacionados

solução

solução FUNCTION Palindrome(s: string): boolean; Var i: integer; begin Palindrome := TRUE; for i := 1 to Length(s) DIV 2 do if s[i]<>s[Length(s)-i+1] then Palindrome := FALSE; end; PROGRAM PSI20; type acca...

Leia mais

Programando o Computador com PascaL: um ambiente para Auto

Programando o Computador com PascaL: um ambiente para Auto Resolução do Desafio 8.8 Fazer as alterações destacadas em negrito no programa da Figura 9.23 do livro: program Desafio88; { Desafio 8.8 } {Este programa implementa e manipula um conjunto de seis ...

Leia mais

Solução – 1ª Lista de Exercícios

Solução – 1ª Lista de Exercícios Linguagem de Programação – 3 VAR RAIO : REAL;

Leia mais

INTRODUÇÀO COMPUTAÇÀO

INTRODUÇÀO COMPUTAÇÀO É possível acrescentar novos tipos de dados (como tipo fruta, tipo coisa etc.) ao conjunto de tipos conhecidos do Pascal (Integer, Real etc.). Esse tema será tratado posteriormente.

Leia mais

técnico em informática

técnico em informática var val: Integer = 2; //inicialização na declaração só em variáveis globais begin case val of //O case não tem begin mas tem end

Leia mais