1. Programação de Computadores para
Iniciantes
Apostila de Construção de Algoritmos
Professor Glauco Amorim
glauco.amorim@gmail.com
Atualizado em Fev/2009
Glauco Amorim
1
2. Capítulo 1
Introdução à Construção de Algoritmos
1.1 Definição: algoritmo é uma seqüência finita de ações que descrevem como um problema
pode ser resolvido.
Tipos de algoritmos: descrição narrativa, fluxograma e pseudo-código (Portugol).
Quando as ações de um algoritmo obedecem à sintaxe de uma linguagem de programação,
passamos a chamá-lo de programa.
Exemplos:
1. Receita culinária;
2. Instruções para a operação de um equipamento;
3. Partitura musical.
Instruções são frases que indicam as ações a serem executadas. São compostas de um verbo
imperativo mais um complemento.
Exemplos:
1. Bata duas claras em neve.
2. Ligue os faróis.
3. Abra a porta.
Desenvolver um bom algoritmo é a principal chave para a programação de computadores.
Só comece a codificar um programa após o algoritmo estar totalmente desenvolvido e testado.
Existem qualidades que devem ser buscadas em qualquer algoritmo. São elas:
1. Perfeitamente Definido: deve descrever exatamente quais são as instruções que devem ser
executadas e em que seqüência. Deve ser tornado explícito o maior número possível de
informações, pois a falta de alguma informação pode levar a uma interpretação errônea do
algoritmo.
2. Não Ambíguo: não deve deixar dúvidas sobre o que deve ser feito. A ambigüidade também
pode levar a uma interpretação errônea do algoritmo.
3. Eficaz: consegue resolver o problema em qualquer situação. Todas as situações de exceção
que possam alterar o comportamento do algoritmo devem ser especificadas e tratadas.
4. Eficiente: resolve o problema com o mínimo de recursos. Sempre devemos buscar aquele
algoritmo que, dentre os diversos algoritmos que resolvam um mesmo problema, utilize a
menor quantidade de recursos. No caso de algoritmos para processamento de dados, os
recursos a serem considerados são espaço na memória (principal e auxiliar), tempo de
processamento, entre outros.
Vamos analisar um algoritmo (descrição narrativa)
algoritmo lavar_cabelo
Glauco Amorim
2
3. 1. molhe o cabelo
2. coloque o xampu
3. massageie
4. enxágue
5. repita
Análise do algoritmo lavar_cabelo
não está definido quanto de xampu deve ser colocado;
não diz quanto tempo deve massagear;
não diz quando paramos a repetição;
não diz até quando enxaguar.
Vamos ver uma versão melhorada do algoritmo descrito acima:
algoritmo lavar_cabelo_2
1. molhe o cabelo
2. repita duas vezes
2.1. coloque a quantidade correspondente a uma tampa de xampu no cabelo
2.2. massageie o cabelo até fazer espuma
2.3. enxágue até tirar o xampu
1.2 COMO CONSTRUIR ALGORITMOS
PROBLEMA
ANÁLISE PRELIMINAR
SOLUÇÃO
TESTE DE QUALIDADE
ALTERAÇÃO
PRODUTO FINAL
Problema: questão proposta a ser resolvida.
Análise Preliminar: entender o problema com a maior precisão possível e identificar os
dados. Identificar os resultados desejados.
Solução: desenvolver um algoritmo para resolver o problema.
Teste de Qualidade: execute o algoritmo desenvolvido com dados para os quais o
resultado seja conhecido. O ideal é que o universo dos dados tenha todas as combinações
possíveis.
Note que a qualidade de um algoritmo pode ser limitada por fatores como o tempo para a
sua confecção e recursos disponíveis.
Glauco Amorim
3
4. Alteração: se o resultado do teste de qualidade não for satisfatório, altere o algoritmo e
submeta-o a um novo teste de qualidade.
Produto Final: algoritmo concluído e testado, pronto para ser aplicado.
1.3 TIPOS DE PROCESSAMENTO
Em termos de algoritmos, existem três modos fundamentais de executar informações:
a) Processamento Seqüencial: as instruções do algoritmo são executadas uma após a outra,
sem que haja desvios na seqüência das instruções. Cada instrução é executada uma e somente
uma vez.
Exemplo:
Problema: obtenha a média aritmética de cinco notas:
Solução (descrição narrativa):
1. Some as duas primeiras notas
2. Some a terceira nota com o resultado da instrução 1
3. Some a quarta nota com o resultado da instrução 2
4. Some a quinta nota com o resultado da instrução 3
5. Divida o resultado da instrução 4 por 5 (quantidade de notas)
Teste de qualidade: se as notas são 10, 5, 7, 1, 2:
1. 10 + 5 = 15
2. 7 + 15 = 22
3. 1 + 22 = 23
4. 2 + 23 = 25
5. 25/5 = 5
b) Processamento Condicional: um conjunto de instruções (pode ser uma instrução apenas) é
executado ou não. A sua execução depende de uma condição. Se a condição pela qual estamos
perguntando tiver resposta afirmativa, o conjunto de intruções é executado.
Exemplo:
Problema: obtenha a média aritmética de cinco notas. Se a média for maior ou igual a sete, o
aluno está aprovado, caso contrátio, está reprovado.
Solução (descrição narrativa):
1. Some as duas primeiras notas
2. Some a terceira nota com o resultado da instrução 1
3. Some a quarta nota com o resultado da instrução 2
4. Some a quinta nota com o resultado da instrução 3
Glauco Amorim
4
5. 5. Divida o resultado da instrução 4 por 5 (quantidade de notas)
6. Se o resultado da instrução 5 for maior ou igual a 7
7.
Aprove o aluno
8. Se o resultado da instrução 5 for menor do que 7
9.
Reprove o aluno
Teste de qualidade: se as notas são 10, 5, 7, 1, 2:
1. 10 + 5 = 15
2. 7 + 15 = 22
3. 1 + 22 = 23
4. 2 + 23 = 25
5. 25/5 = 5
6. Resposta negativa
8. Resposta positiva
9. Aluno reprovado
Observe que a pergunta da instrução 6 foi executada. Como a resposta foi negativa (a média é
5, que é menor do que sete), o aluno não foi aprovado (a instrução 7 não foi executada).
Porém, como podemos afirmar que a instrução 7 está subordinada à instrução 6? Por que a
instrução 8 não está subordinada à instrução 6 ?
Estas perguntas são respondidas pelo conceito de IDENTAÇÃO. Identar significa deslocar
para a direita as instruções subordinadas. Por exemplo, a instrução 7 está identada em relação
à instrução 6, logo a instrução 7 é subordinada à instrução 6. A instrução 8 não está identada
em relação à instrução 6, logo não está subordinada a ela. Note que a instrução 9 está
subordinada em relação à instrução 8.
O conceito de identação torna a visualização do algoritmo mais simples.
c) Processamento com Repetição: conjunto de instruções (pode ser apenas uma) que é
executado um determinado número de vezes. Existem várias formas de determinar até quando
as instruções devem ser repetidas (isso será falado futuramente).
Exemplo:
Problema: obtenha a média aritmética de cinco notas de todos os alunos da sala.
Solução (descrição narrativa):
1. Para cada aluno da sala faça
2.
Some as duas primeiras notas
3.
Some a terceira nota com o resultado da instrução 2
4.
Some a quarta nota com o resultado da instrução 3
5.
Some a quinta nota com o resultado da instrução 4
6.
Divida o resultado da instrução 5 por 5 (quantidade de notas)
Observe que as instruções 2, 3, 4, 5 e 6 estão identadas em relação à instrução 1, logo estão
subordinadas a ela.
Glauco Amorim
5
6. Teste de qualidade: se existem três alunos na sala e suas respectivas notas são:
10, 5, 8, 1, 3
4, 6, 7, 3, 10
9, 3, 8, 8, 7
2. 10 + 5 = 15
3. 8 + 15 = 23
4. 1 + 23 = 24
5. 3 + 24 = 27
6. 27/5 = 5,4
2. 4 + 6 = 10
3. 7 + 10 = 17
4. 3 + 17 = 20
5. 10 + 20 = 30
6. 30/5 = 6
2. 9 + 3 = 12
3. 8 + 12 = 20
4. 8 + 20 = 28
5. 7 + 28 = 35
6. 35/5 = 7
1.4 CONCEITO DE VARIÁVEL
Um algoritmo para ser executado pelo computador possui as seguintes fases:
1. Coleta das informações de que o algoritmo necessita (Entrada);
2. Processamento;
3. Apresentação dos resultados (Saída).
Todo algoritmo trata com informações. No computador estas informações sempre estão
representadas em variáveis.
Quando um computador está executando um programa (e não um algoritmo) todas as
informações necessárias precisam estar na memória. Para o programa poder usar estas
informações, ele precisa saber onde elas estão, ou seja, seu endereço.
Exemplo de endereços de memória: 10CF, 2A00, 0200
É muito difícil (e muito sujeito a erros) trabalhar com estes endereços. A solução é fazer uma
referência aquele endereço na memória, ou seja, dar um nome a ele. Como analogia, podemos
pensar na Internet. Para acessar, por exemplo, um determinado site, você simplesmente digita
o nome: www.uva.br e não o seu endereço numérico 191.221.113.001 (supondo que seja
este).
Glauco Amorim
6
7. O nome escolhido para a variável deve sempre indicar a sua finalidade. Utilizando o exemplo
acima, é muito mais fácil identificar o nome “uva” e saber que este nome está fazendo
referência à Universidade Veiga de Almeida, do que colocar como nome, xxxx (www.xxx.br)
e identificar o que ele significa.
Exemplo de endereços de memória e nomes:
Endereço
10CF
2A00
0200
Nome
Número de faltas
Nome do Aluno
Média Final
Depois de informarmos onde está a informação (via nome), devemos determinar agora qual é
o seu domínio de valores, ou seja, qual é o conjunto de valores possíveis que podem ser
representados em uma certa variável. A este domínio chamamos de tipo.
Exemplo:
Nome
Número de faltas
Nome do Aluno
Média Final
Tipo
valores do tipo inteiro
valores do tipo caracter
valores do tipo real
Os tipos básicos de informações que as linguagens de programação em geral fornecem são:
a) inteiro: para o conjunto de números naturais (positivo ou negativo).
b) real: para o conjunto de números reais (positivo ou negativo)
c) caracter: para o conjunto alfanumérico (composto de letras e dígitos).
d) lógico (booleano): composto de valores lógicos (verdadeiro, falso).
Além do nome e do tipo, toda variável possui um conteúdo.
Exemplo:
Nome
Número de faltas
Nome do Aluno
Média Final
Tipo
valores do tipo inteiro
valores do tipo caracter
valores do tipo real
Conteúdo
2
Maria
6,7
Depois de tudo especificado, podemos trabalhar com as variáveis, ou seja, realizar
determinadas operações com elas. Existem operações que podem ser aplicadas em variáveis
de qualquer tipo e outras que são específicas. O principal exemplo de uma operação aceita por
todas é a de atribuição. Esta operação permite que o conteúdo de uma variável seja alterado.
Seu formato é:
<nome_da_variável> ← <expressão>
Exemplo: sejam A e B duas variáveis de tipo inteiro:
Operação
Glauco Amorim
A
B
os valores nas colunas A e B representam os conteúdos
das variáveis A e B, respectivamente.
7
8. A←2
B←A
B←B+3
2
2
2
2
5
Na terceira operação a expressão à direita do sinal de
atribuição foi avaliada (B + 3 = 2 + 3 = 5) e em seguida
o resultado foi atribuído à variável B.
Atenção
As operações específicas são apresentadas
junto a cada tipo, porém, claramente, não
podemos fazer as seguintes operações:
Seja A de tipo inteiro e B de tipo lógico:
Operação
B←B+3
A ← falso
B←A
A←B
Motivo do Erro
var. tipo lógico x expressão numérica
var. tipo inteiro x valor lógico
var. tipo lógico x var. tipo inteiro
var. tipo inteiro x var. tipo lógico
1.5 CONCEITO DE CONSTANTE
Constante é, por definição, aquilo que não muda. Da mesma forma, em termos de algoritmos,
constante é uma informação que não se altera. Por exemplo, PI (3,1415...) possui a mesma
informação ao longo de qualquer algoritmo. Em contrapartida, se um algoritmo calcula o
número total de funcionários de uma empresa, não podemos considerar a variável usada para
armazenar o total como uma constante, pois seu conteúdo está sempre sendo modificado.
Pode-se utilizar constantes no algoritmo, para isso basta especificá-la:
const nome_da_constante = valor
Exemplo:
const PI = 3.1415
No algoritmo, a constante PI não poderá ter seu valor alterado. Em todo o algoritmo seu
conteúdo será de 3.1415. Isso significa que PI não pode receber outro valor, por exemplo:
PI ← 5
1.6 TIPOS DE INFORMAÇÃO
a) Números: representam quantidades. Existem em geral dois tipos numéricos:
Inteiro: valores inteiros, positivos ou negativos. Exemplos: 0, 234, -567
Real: valores fracionários, positivos ou negativos. Exemplo: -1,2; +3,15
Pode ser utilizada também uma notação exponencial do tipo xEy que significa dizer: número
real x multiplicado por 10 elevado a um número inteiro y. Exemplos: -3,15E2; 6E-15
Glauco Amorim
8
9. A ausência de sinal indica que um número é positivo. As linguagens de programação não
permitem o uso de milhar, milhão etc. (1.000.000 → 1000000), e geralmente um ponto (e não
uma vírgula) é usado para mostrar o início da parte fracionária (decimal) de um número (3,14
→ 3.14).
Operações
As operações aplicáveis a números são:
Operação
soma
subtração
multiplicação
divisão
exponenciação
Símbolo
+
*
/
**
Exemplo
Operação
A ← 10
B←2
C←A+B
C←A*B
C ← A ** B
A
10
10
10
10
10
B
C
2
2
2
2
12
20
100
b) Caracteres: representam as letras, os dígitos numéricos e sinais especiais (pontuação etc).
Geralmente podem ser agrupados para formar uma seqüência de caracteres (cadeia de
caracteres). Exemplos: A, B_G, C3, Maria, Banana. Nunca começar com dígitos numéricos.
Constantes do tipo caracter aparecem entre delimitadores especiais (aspas simples ‘ ’ ou
duplas “ ”). Usaremos aspas duplas.
Operação
A ← “banana”
B←A
B ← “A”
A
banana
banana
banana
B
banana
A
Se não fosse o uso de delimitadores, não seria
possível diferenciar a segunda operação da
terceira operação.
Se o caracter delimitador deve fazer parte de uma cadeia de caracteres, então ele deverá
aparecer duplicado: A ← “ “banana” ” = “banana”
Operações
As linguagens em geral, não fornecem operações específicas. Por isso, quando for realizar
alguma operação nos caracteres, você deverá procurar informar-se.
c) Lógicos (booleanos): um valor lógico pode estar em apenas um de dois estados: verdadeiro
(V) ou falso (F). Nem todas as linguagens permitem usar variáveis lógicas, porém os seus
valores estão presentes em qualquer comparação.
Operações Lógicas
As operações principais são:
a) E
A
b) OU se algum estado for Verdadeiro,
então Verdadeiro.
c) NÃO
troca o estado
Glauco Amorim
Exemplo
B
A ou B
AeB
não A
V
se algum estado for Falso, então Falso.
V
V
V
F
V
F
V
F
F
F
V
V
F
V
F
F
F
F
V
9
10. 1.7 EXPRESSÕES
Uma das características importantes de um algoritmo é a capacidade de resolver expressões.
Existem basicamente três tipos de expressões:
a) Aritmética: operações entre valores de tipo numérico (inteiro ou real) e que têm como
resultado um valor numérico.
Operadores
adição
subtração
multiplicação
divisão
exponenciação
Símbolo
+
*
/
**
Exemplo
A = 1; B = 2; C = 3; D = 4
Expressão
Resultado
A+1
2
B + (C – d) * 4 / 2
0
b) Relacional: operações de comparação entre dois valores de mesmo tipo, e que têm como
resultado um valor lógico.
Operadores
igual
diferente
maior
menor
menor ou igual
maior ou igual
Símbolo
=
<>
>
<
<=
>=
Exemplo
A = “ABC”; B = “XYZ”
Expressão
Resultado
A<B
verdadeiro
A<>B
verdadeiro
5<=1
falso
c) Lógica: operações lógicas entre valores lógicos, e que têm como resultado um valor lógico.
Operadores
E
OU
NÃO
Exemplo
A = 5; B = “XYZ”; C = verdadeiro
Expressão
Resultado
NÃO (A =5)
falso
(B = “XYZ”) E C
verdadeiro
(A = 4) OU (NÃO C)
falso
1.8 ENTRADA e SAÍDA
Todo programa possui comandos que transportam informações entre a memória principal do
computador e os seus períféricos. Em algoritmo, usaremos os seguintes comandos:
leia: transfere informações de um periférico (normalmente do teclado ou do disco) para a
memória principal;
escreva: transfere informações da memória principal para um periférico (normalmente o
vídeo, o papel – se for impresso, ou o disco).
Exemplos:
leia (numero)
Glauco Amorim
10
11. leia (A, B, SOMA)
escreva (“Média =”, M)
escreva (“Valor lido:”, N, “resultado =”, N ** 2 + 5)
1.9 COMENTÁRIO
Colocar comentários no algoritmo, ajuda a identificar o que está sendo utilizado, qual a
operação que será realizada, qual o objetivo da estrutura usada etc.
Para mostrar ao algoritmo que o conjunto de caracteres a seguir é um comentário, basta usar
os símbolos abrir e fechar chaves: { }. Exemplo:
{Este algoritmo calcula o salário reajustado} → comentário (entre chaves)
algoritmo Salario
...
1.10 ESTRUTURA DO ALGORITMO
Todo algoritmo deve ter um nome e deve ficar delimitado entre um espaço (início e fim). Por
exemplo:
algoritmo MeuAlgoritmo
declare
{espaço para a declaração das variáveis}
inicio
comando 1
comando 2
...
comando n
fim
1.11 METODOLOGIA DE DESENVOLVIMENTO DE ALGORITMOS
Uma das dificuldades naturais de um iniciante em programação é como começar a
desenvolver um algoritmo para resolver um dado problema. Os passos seguintes, se seguidos,
podem auxiliar nesta tarefa:
passo 1: leia cuidadosamente a especificação do problema até o final.
(fazer anotações)
ENTENDEU ← falso
VEZES ← 0
passo 2: levantar e analisar todas as entradas citadas na especificação do problema;
passo 3: levantar e analisar todas as saídas exigidas na especificação do problema;
passo 4: verificar se é necessário gerar valores internamente ao algoritmo e levantar as
variáveis necessárias e os valores iniciais de cada uma (comentar);
passo 5: levantar e analisar todas as transformações necessárias para, dadas as entradas e
valores gerados internamente, produzir as saídas especificadas (comentar);
Glauco Amorim
11
12. passo 6: testar cada passo do algoritmo, verificando se as transformações intermediárias
executadas estão conduzindo aos objetivos desejados. Utilizar, sempre que possível, valores
de teste que permitam prever os resultados a priori;
1.12 REGRAS PRÁTICAS PARA CONSTRUÇÃO DE ALGORITMOS LEGÍVEIS
1. Algoritmos devem ser feitos para serem lidos por seres humanos. Tenha em mente que seus
algoritmos deverão ser lidos e entendidos por outras pessoas (e por você mesmo) de tal forma
que possam ser corrigidos, receber manutenção e serem modificados.
2. Procure incorporar comentários no algoritmo, pelo menos para descrever o significado das
variáveis utilizadas. Comentários podem ocorrer em qualquer parte do algoritmo, encerrados
entre chaves {comentário}.
3. Escreva os comentários no momento em que estiver escrevendo o algoritmo. Um algoritmo
não documentado é um dos piores erros que um programador pode cometer e é sinal de
amadorismo. Como o objetivo de se escrever comentários é facilitar o entendimento do
algoritmo, eles devem ser tão bem concebidos quanto o próprio algoritmo.
4. Os comentários deverão acrescentar alguma coisa, não apenas para frasear os comandos. O
conjunto de comandos nos diz o que está sendo feito; os comentários deverão nos dizer o por
quê.
5. Use comentários no prólogo. Todo algoritmo ou procedimento deverá ter comentários no
seu prólogo para explicar o que ele faz e fornecer instruções para seu uso. Alguns destes
comentários seriam:
a) uma descrição do que faz o algoritmo;
b) como utilizá-lo;
c) explicação do significado das variáveis mais importantes;
d) estruturas de dados utilizadas;
e) os nomes de quaisquer métodos especiais utilizados, juntamente com referências nas quais
mais informações possam ser encontradas;
f) autor
g) data de escrita
6. Escolha nomes de variáveis que sejam significativos, isto é, que traduzam o tipo de
informação a ser armazenada na variável.
Ex:
NOTA, MATRICULA, CPF
7. Procure alinhar os comandos de acordo com o nível a que pertençam, isto é, destaque a
estrutura na qual estão contidos. Utilize o conceito de identação explicado na terceira seção
(página 4).
8. Utilize espaços em branco e parênteses para melhorar a legibilidade e evitar erros. Espaços
em branco, inclusive entre linhas.
Glauco Amorim
12
13. Capítulo 2
Estruturas Lógicas de um Algoritmo
2.1 Blocos
A seguir são descritos os blocos e os comandos básicos de controle do PORTUGOL.
Blocos: um bloco pode ser definido como um conjunto de comandos com uma função bem
definida. Ele serve também para definir os limites onde as variáveis declaradas em seu interior
são conhecidas.
algoritmo exemplo
<declaração de variáveis>
início
<comandos>
fim
2.2 Estruturas Lógicas de um Algoritmo
Do ponto de vista lógico, um algoritmo é constituído por três estruturas lógicas: seqüencial,
seletiva e repetitiva. Isto é, um algoritmo pode ser constituído por qualquer combinação
dessas três estruturas.
2.2.1 Estrutura Seqüêncial
Conjunto de comandos (C) que serão executados numa seqüência linear de cima para baixo:
C1
C2
C3
.
.
.
Cn
2.2.2 Estrutura Condicional simples ou Alternativa Simples
Quando a ação a ser executada depender de uma inspeção ou teste, teremos uma alternativa
simples ou composta:
se <condicao> entao
C1
C2
Glauco Amorim
13
14. fim-se
.
.
.
Cn
Os comandos 1, 2, ..., n só serão executados se a <condição> for verdadeira.
Exemplo:
se sexo = masculino então
escreva(“Homem!”)
fim-se
2.2.3 Estrutura Condicional Composta ou Alternativa Composta:
se <condicao> entao
C1
C2
senao
C3
C4
.
.
.
Cn
fim-se
Nos comandos acima, <condição> é qualquer expressão cujo resultado seja falso ou
verdadeiro (ou seja, do tipo lógico). Exemplo:
algoritmo ExemploCondicao
declare A, B: inteiro
inicio
A←1
B←2
se A > B entao
A←5
senao
A ← 10
fim-se
fim
2.2.4 Estrutura de Repetição
Quando um conjunto de ações é executado repetidamente enquanto uma determinada
condição permanecer válida.
Glauco Amorim
14
15. Repetição Com teste no início
enquanto <condicao> faca
C1
C2
.
.
.
Cn
fim-enquanto
Enquanto o valor da <condicao> for verdadeiro, as ações dos comandos são executadas.
Quando for falso, o comando é abandonado. Se já da primeira vez o resultado for falso, os
comandos não são executados nenhuma vez.
Exemplo:
Algoritmo ExemploRepeticao1
declare A, B, I, C: inteiro
inicio
A←1
B←1
I←1
enquanto I ≤ 18 faca
C←A+B
escreva (C)
A←B
B←C
I←I+1
fim-enquanto
fim
Repetição com teste no final
repita
C1
C2
.
.
.
Cn
até <condicao>
Neste caso os comandos C1, C2, ..., Cn são executados pelo menos uma vez. Quando a
condição é encontrada, ela é testada. Se for verdadeira o comando seguinte será executado. Se
for falsa, os comandos C1, C2, ..., Cn voltam a ser executados até que a condição se torne
Glauco Amorim
15
16. verdadeira. O comando repita-até é equivalente ao comando enquanto, veja o exemplo a
seguir:
Exemplo
Glauco Amorim
16
17. Algoritmo ExemploRepeticao2
declare A, B, C, I: inteiro
inicio
A←1
B←1
I←1
repita
C←A+B
escreva (C)
A←B
B←C
I←I+1
ate I > 18
fim
Repetição com variável de controle
para i de n ate x passo y faca
C1
C2
.
.
.
Cn
fim-para
A semântica do comando é a seguinte: i, n, x e y são variáveis quaisquer e que, de acordo com
as regras da programação estruturada não devem ser modificadas nos comandos C1, C2, ..., Cn.
O comando para é, na realidade, o comando enquanto utilizando uma variável de controle,
escrito numa notação compacta. Neste caso existirá sempre uma inicialização da variável de
controle, um teste para verificar se a variável atingiu o limite e um acréscimo na variável de
controle.
Os comandos do para serão executados de n até x incrementando a quantidade de passos y.
Exemplo:
Algoritmo ExemploRepeticao3
declare
A, B, C, I: inteiro
inicio
A←1
B←1
para I de 1 ate 18 passo 1 faca
C←A+B
escreva (C)
A←B
Glauco Amorim
17
18. B←C
fim-para
fim
Observe que:
1. Assim como no comando enquanto, se o valor inicial (n) já for superior ao limite (x), os
comandos C1, C2, ..., Cn não serão executados.
2. Toda vez que o fim-para é encontrado, a variável de controle (n) é incrementada pelo passo
(y) e o teste (n ≤ x) é realizado.
Glauco Amorim
18