Aprenda a fazer programas de Computador

Olá algoritmizeiros de plantão, nada melhor do que começar a semana com post novo sobre algoritmos.

No começo desse mês, começamos a falar sobre estruturas de repetição, as estruturas repita .. ate e enquanto .. faca.

Hoje para finalizar essa parte, iremos abordar a estrutura PARA .. FACA.

Para .. Faça

A sintaxe geral da estrutura de repetição para .. faca é a seguinte:

para X de N ate M [passo Y] faca
    <comandos>
fimpara

Explicando…

O X é a variável que deve ser previamente declarada, o N é o número que começará a contagem, M até onde vai essa contagem, e o passo Y só será necessário se você não quiser que seja de 1 em 1…

Sei que não entenderam nada, então vou mostrar um exemplo de uma estrutura de repetição utilizando enquanto .. faca e após, um utilizando o para .. faca, você verá que irá ficar bem mais simples!

algoritmo "repetição 1"

var
num: inteiro

inicio

num <- 1
enquanto num <= 10 faca
    escreva(num)
    num <- num + 1
fimenquanto

fimalgoritmo

Nesse algoritmo, foi utilizado a estrutura de repetição enquanto .. faca, como vocês podem notar, foi declarado a variável num para servir como condição para execução do laço, e ao mesmo tempo, imprimimos o valor da mesma na tela através do comando escreva.

Essa estrutura vai imprimir o seguinte resultado na tela do usuário: 1 2 3 4 5 6 7 8 9 10

Agora, a mesma estrutura, agora utilizando o para .. faca.

algoritmo "repetição 2"

var
num: inteiro

inicio

para num de 1 ate 10 faca
    escreva(num)
fimpara

fimalgoritmo

Esse algoritmo, tem a mesma função do algoritmo acima, porém dessa vez utilizando a estrutura para .. faca.

Vamos entender o algoritmo…

Declaração de variáveis, nós já aprendemos no quarto post da série, então vamos direto ao laço de repetição:

para num de 1 ate 10 faca

Neste comando, estamos dizendo ao interpretador VisualG que a variável num receberá o valor 1 e a cada iteração, ou seja, toda vez que os comandos dentro do para .. faca forem executados, a variável num receberá +1 em seu valor por padrão, e assim sucessivamente, até que o valor de num seja 10.

escreva(num) // já abordado anteriormente.

e o fimpara, que serve para indicar o fim do laço.

O Comando PASSO N:

1 – Imprimir na tela todos os números pares de 2 até 200

algoritmo "numeros pares"

var
num: inteiro

inicio

para num de 2 ate 200 passo 2 faca
    escreva(num)
fimpara

fimalgoritmo

Passo 2…

Vocês devem estar se perguntando de onde surgiu esse passo 2 agora…

Lembram que na sintaxe do para .. faca expliquei que ele não é obrigatório, mas poderia surgir?

então! por padrão no portugol, ele sempre acrescentará +1 a variável que agente está utilizando no laço, mas nesse exemplo, eu preciso pegar apenas os números pares, ou seja, de 2 em 2.

Bingo!

Está explicado então, o porquê do passo 2, assim em cada iteração, ele acrescentará +2 na variável num, esta que sempre será um valor par, que é o que queremos nesse exemplo.

Nos exemplos até agora, você escreveu do 1 até um número maior, como o 100 por exemplo… Teria como fazer o inverso? do 100 até o 1?

Sim!

Para isso, mais uma vez utilizaremos o passo N.

para num de 100 ate 1 passo -1 faca
    escreva(num)
fimpara

Sim, também podemos utilizar passo -N, ou seja, um passo negativo.

Porque?

Porque se o padrão do para .. faca é acrescentar mais 1 na variável, o objetivo do passo N é justamente te dar o poder de escolher qual o valor que você quer acrescentar ou reduzir no laço.

E agente fica por aqui… A partir do próximo post, iniciaremos nossos estudos em vetores e matrizes, então é necessário que você já esteja bastante familiarizado com tudo o que já foi dito até aqui.

para x de 1 ate 2 faca

….se x = 1 entao

……..Nos siga no Twitter!

….senao

…….. Assine nosso Feed!

….fimse

fimpara

Abraços.