Introdução
Como prometido aqui está a análise do algoritmo
da
aula
anterior
. Vamos entender o código!
Análise da estrutura PARA
Primeira análise: A seção de
declaração de variáveis
Declare Nome, EstCiv, TimeQTorce, Origem: texto
Sexo: caracter
i, Idade, contMulher, contMFilhos, ContTPalmeiras:
inteiro
A primeira seção de um algoritmo é sempre a
DECLARAÇÃO DE VARIÁVEIS. Variáveis estas,
que serão utilizadas no decorrer do algoritmo. É
necessária a declaração, pois se uma
variável utilizada no corpo do algoritmo não
estiver declarada, o algoritmo não será executado.
Provavelmente ocorrerá o erro ? váriavel
desconhecida ? e o programa será abortado.
Segunda análise: A inicialização de
variáveis
Quando declaramos uma variável, simplesmente estamos
reservando um espaço de memória que poderá
conter qualquer valor no decorrer do algoritmo. Mas o
endereço ao qual a nossa variável está
apontando provavelmente contém informações
deixadas por outros programas ou se tivermos sorte
estará vazia. A inicialização de
variáveis se faz necessária quando devemos conhecer
previamente o valor de uma variável.
É o caso dos contadores. Precisamos ter certeza de
que o valor inicial de um contador é 0 (zero).
Então iniciamos seu valor utilizando o comando de
atribuição "".
ContMulher 0
ContMFilhos 0
ContTPalmeiras 0
NOTA:
Um detalhe muito importante que deve ser observado é o
nome de uma variável. Devemos dar preferência para
nomes SIGNIFICATIVOS, isto é, ao criar uma
variável, escolha um nome que possibilite a
vizualização de seu conteúdo simplesmente pela
leitura do mesmo. Como no caso acima, onde:
- ContMulher é a variável que contará
todas as mulheres da pesquisa;
- ContMFilhos é a variável que contará
todas as mulheres casadas e com mais de três
filhos;
- ContTPalmeiras é a variável que contará
todos os torcedores do Palmeiras da pesquisa.
Terceira análise: A implementação do Para
e tudo que se irá repetir em seu escopo
PARA i <-- 1 ATÉ 3000 FAÇA
escreva('Digite um nome: ')
leia (nome)
Escreva('Digite a idade: ')
leia(idade)
Escreva(Digite o Sexo (F para Feminino, M para Masculino):
')
leia(Sexo)
Escreva('Digite o Estado Civil (Solteiro(a), Casado(a): ')
Leia(EstCiv)
SE (sexo = 'F') or (sexo = 'f')
ENTÃO
ContMulher ContMulher + 1
SE EstCiv = 'Casada'
ENTÃO
Escreva('Digite o Numero de filhos: ')
Leia(NumFilhos)
SE NumFilhos > 3
ENTÃO
ContMFilhos ContMFilhos + 1
FIMSE
FIMSE
//fim do então
SENÃO
Escreva('Digite o Time para o qual Torce: ')
Leia(TimeQTorce)
SE TimeQTorce = 'Palmeiras'
ENTÃO
contTPalmeiras ContTPalmeiras +1
FIMSE
//fim do senão
FIMSE
Escreva('Digite a Origem (BR,US,UC...): ')
leia(Origem)
FIMPARA
Muito bem, observando a estrutura acima, podemos notar:
Todas as instruções entre o PARA e o FIMPARA
serão executadas 3000 vezes. A estrutura de SE utilizada
será tratada na Quarta análise. Todo o
processamento do programa está dentro do para As
primeiras oito linhas após o PARA são de leitura
das variáveis (NOME, IDADE, SEXO e ESTCIV). Os comandos
Escreva que antecedem cada comando Leia, são para
informar o usuário quanto ao que o programa está
esperando que ele digite.
A posição de implementação dos
contadores dentro da estrutura é estratégica, e
não poderia ser outra. De acordo com a lógica do
algoritmo, as leituras que estão dentro dos SE, mais
internos, somente ocorrerão se a condição de
entrada do ENTÃO ou SENÃO correspondente forem
satisfeitas. Isto é, para o nosso algoritmo, se uma
mulher não estiver com estado civil "Casada", o
algoritmo não lerá número de filhos para esta
mulher.
Notamos que alguns valores recebidos não estão
servindo para nenhum calculo especial, somente sendo
necessários se, forem ser guardados em um banco de
dados.