Begin
Transcrição
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
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 maisProgramando 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 maisINTRODUÇÀ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 maisté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