Buscar

4_Comando_de_Repeticao_para

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Comando de Repetição "para" 
Comandos de Repetição 
Os comandos de repetição executam um mesmo bloco de comandos diversas 
vezes. Esses comandos são úteis em ocasiões nas quais é necessário realizar 
uma mesma tarefa repetidas vezes. São três os comandos de repetição: para, 
enquanto e faça-enquanto. Esses três comandos são apresentados em detalhes 
na aula de hoje e nas próximas duas aulas. 
O comando de repetição "para" 
Como já foi dito anteriormente, o comando de repetição para executa um bloco de 
comandos repetidamente. Sua estrutura é: 
para (<inicialização>; <expressão lógica>; <atualização>) 
{ 
 <comandos>; 
 } 
O comando para possui a sintaxe mostrada acima. Na sua forma mais simples, 
em <inicialização> deve ser declarada uma inicialização de uma variável. Essa 
variável é chamada de variável de controle do laço. Dizemos laço, pois o 
comando de repetição executa o bloco de comandos repetidas vezes como se 
estivesse dentro de um laço. Outra expressão muito utilizada é loop. 
Ao iniciar a execução de um comando para, o algoritmo atribui o valor 
especificado em <inicialização> à variável de controle do laço. Após ser realizada 
essa atribuição, o comando para avalia a expressão lógica declarada em 
<expressão lógica>. Caso essa expressão for avaliada como verdadeiro, os 
comandos pertencentes ao bloco de comandos associado são executados pela 
primeira vez. Ao final da execução dos comandos do bloco de comandos, o 
algoritmo atualiza a variável de controle do laço conforme a declaração em 
<atualização>. Logo em seguida, a expressão declarada em <expressão lógica> é 
avaliada novamente e caso seu resultado for verdadeiro, os comandos do bloco 
de comandos são executados novamente. Esses passos são repetidos até que a 
<expressão lógica> é avalida como falso pela primeira vez. Quando isso ocorre o 
comando para termina, e o algoritmo prossegue. Cada execução do bloco de 
comandos de um comando de repetição é chamada de iteração (não confunda 
com interação). 
Vamos ver um exemplo de algoritmo com um comando para: 
01 | Algoritmo exemplo_para; 
02 | { 
03 | i:inteiro; 
04 | 
05 | 
06 | para (i 1; i <= 3; i i + 1) 
07 | { 
08 | escreva('O valor da variável de controle do laço é: ', i); 
09 | } 
10 | } 
A execução do algoritmo acima inicia na linha 05. Na linha 06, está a declaração 
de um comando para. Nesse comando, a variável de controle do laço é a variável 
i. A essa variável é atribuído o valor 1 (inicialização). Logo em seguida, a 
expressão lógica i <=3 é avaliada como verdadeiro e, então, o bloco de 
comandos associado ao para é executado pela primeira vez. O bloco de 
comandos está localizado nas linhas 07, 08 e 09, entretanto, o único comando a 
ser executado é um escreva. Portanto, a execução do bloco de comandos irá 
gerar a seguinte mensagem na tela do computador: 
O valor da variável de controle do laço é: 1 
Como não existem mais comandos dentro do bloco de comandos associado ao 
para, a execução volta para a linha 06. O valor da variável de controle do laço é 
atualizado pela expressão i i + 1, portanto a variável i passa a ter o valor 2. A 
expressão lógica i <=3 é avaliada novamente, e como a variável i ainda possui um 
valor menor ou igual a 3, essa expressão lógica é avaliada como verdadeiro. 
Portanto, o bloco de comando é executado novamente, e a seguinte mensagem é 
escrita na tela do computador: 
O valor da variável de controle do laço é: 2 
A execução volta para a linha 06, e o comando para é repetido mais uma vez. O 
valor da variável i é incrementado, e passa a ter o valor 3. Repare que 3 é o valor 
limite na expressão lógica do comando para, portanto, o laço será executado pela 
última vez. A execução do bloco de comandos irá gerar a seguinte mensagem: 
O valor da variável de controle do laço é: 3 
A execução volta para a linha 06, a variável i é atualizada para 4, e a expressão 
lógica é avaliada novamente. Nesse caso, a expressão é avaliada como falso 
uma vez que i não é menor nem igual a 3. O laço é, portanto, encerrado, e a 
execução do algoritmo prossegue na linha 07. Como a linha 07 é a última linha do 
algoritmo, a execução do algoritmo é encerrada. 
É importante ressaltar que os valores especificados nos campos <inicialização>, 
<expressão lógica> e <atualização> podem ser quaisquer valores inteiros ou reais. 
Portanto é possível modificar o programa anterior para a seguinte forma: 
01 | Algoritmo exemplo_para; 
02 | { 
03 | i:inteiro; 
04 | 
05 | 
06 | para (i 5; i <= 12; i i + 1) 
07 | { 
08 | escreva('O valor da variável de controle do laço é: ', i); 
09 | } 
10 | } 
Esse algoritmo irá gerar as seguintes mensagens na tela: 
O valor da variável de controle do laço é: 5 
O valor da variável de controle do laço é: 6 
O valor da variável de controle do laço é: 7 
O valor da variável de controle do laço é: 8 
O valor da variável de controle do laço é: 9 
O valor da variável de controle do laço é: 10 
O valor da variável de controle do laço é: 11 
O valor da variável de controle do laço é: 12 
Apesar de que é possível modificar o valor da variável de controle do laço dentro 
do bloco de comandos de um comando para, isso é um péssimo hábito de 
programação. Quando utilizamos um comando para, nós estamos, indiretamente, 
dizendo que o bloco de comandos será executado um determinado número de 
vezes, e esse número de vezes está especificado nos valores utilizados na 
inicialização, na condição de parada e na atualiação da variável de controle do 
laço. Se o algoritmo modifica o valor da variável de controle do laço dentro do 
bloco de comandos, então essa regra é quebrada. A principal conseqüência disso 
é que o código se torna mais difícil de entender, portanto, mais difícil de ser feita 
manutenção do código. 
Variações do Comando "para" 
Vamos agora estudar algumas possíveis variações do comando para. 
para (i 10; i >= 1; i i - 1) 
{ 
 escreva('O valor da variável de controle do laço é: ', i); 
 } 
Nesse primeiro caso, temos um laço decrescente. Repare que a variável i inicia 
com valor 10 e o laço prossegue enquanto essa variável tiver valor maior ou igual 
a 1. Repare também que a variável i é subtraída de 1 a cada iteração do laço. 
Dessa forma, esse laço irá produzir a seguinte saída: 
O valor da variável de controle do laço é: 10 
O valor da variável de controle do laço é: 9 
O valor da variável de controle do laço é: 8 
O valor da variável de controle do laço é: 7 
O valor da variável de controle do laço é: 6 
O valor da variável de controle do laço é: 5 
O valor da variável de controle do laço é: 4 
O valor da variável de controle do laço é: 3 
O valor da variável de controle do laço é: 2 
O valor da variável de controle do laço é: 1 
Vamos ver agora um outro caso. 
para (i 10; i <= 1; i i + 1) 
{ 
 escreva('O valor da variável de controle do laço é: ', i); 
 } 
Nesse segundo caso, repare na inicialização da variável i e a condição da 
expressão lógica. Quantas vezes o bloco de comandos será executado, se 
alguma? 
Nesse caso, o bloco de comandos não será executado nenhuma vez, pois a 
expressão lógica é avaliada como falso logo de início. 
Vamos fazer agora um algoritmo que calcula e imprime na tela a tabuada de um 
número especificado pelo usuário. Ou seja, o algoritmo deve ler um número do 
teclado e calcular a sua tabuada de 1 a 10. 
01 | Algoritmo tabuada; 
02 | { 
03 | número, resultado, i: integer; 
04 | 
05 | 
06 | escreva('Entre com um número: '); 
07 | leia(número); 
08 | para (i 1; i <= 10; i i + 1) 
09 | { 
10 | resultado número * i; 
11 | escreva(número, ' x ', i, ' = ', resultado); 
12 | } 
13 | } 
Resumo 
Algumas coisas que você deve lembrar da aula de hoje: 
• Os comandos de repetição executam um bloco de comandos diversasvezes; 
• O comando para utiliza uma variável de controle do laço e uma expressão 
lógica para controlar a execução do laço; 
• Nunca altere o valor da variável de controle de um laço para durante a 
execução do laço para; 
• A variável de controle de um laço só pode ser de um tipo ordinal, ou seja, 
tipos de dados em que dado um valor, sabemos quem é seu antecessor e 
seu sucessor. Os tipos inteiro (integer) e caracter (char) são ordinais, o tipo 
real não é ordinal. 
Exercícios 
1. Faça um algoritmo e um programa que calcule n! (fatorial de n) sendo n um 
valor entrado pelo usuário. Lemre-se que: 
i. n! = 1 × 2 × 3 × � × (n-1) × n; 
ii. 0! = 1, por definição. 
2. A conversão de graus Farenheit para centígrados é obtida por C = 5/9 × (F - 
32). Faça um algoritmo e um programa que calcule e escreva uma tabela 
de conversão de graus Farenheit para centígrados. A tabela deve variar de 
50°F até 150°F, de 1°F em 1°F. 
3. Faça um algoritmo e um programa capaz de calcular o valor de S para a 
seguinte série: S = (1 / 1) + (3 / 2) + (5 / 3) + (7 / 4) + � + (99 / 50) 
4. Séries são muito úteis para calcular, numericamente, valores aproximados 
para algumas funções matemáticas, como por exemplo, as funções 
trigonométricas sen e cos. A série: A - (A^3 / 6) + (A^5 / 120) - (A^7 / 
5040), é capaz de aproximar a função trigonométrica sen A, sendo A um 
ângulo em radianos e A^X a representação do valor A elevado a X. 
Escreva um algoritmo e um programa para gerar e escrever uma tabela 
com os valores do seno de um ângulo A em radianos, utilizando a série 
apresentada acima. Os valores de A devem variar entre 0 e 6,3 (2×Pi), de 
0.1 em 0.1

Continue navegando