LÓGICA - Variáveis Compostas Homegêneas Unidimensionais
Lógica de Programação
Vetores
Você lembra o que é uma variável?
Uma variável é um espaço reservado na memória do computador onde é possível armazenar um, e somente um único valor, no mesmo instante de tempo.
Desta forma, temos que cada uma das variáveis que declaramos em nosso algoritmo pode armazenar um valor e somente um valor. É certo que esse valor pode ser alterado durante a execução do algoritmo de forma que os valores são substituídos. Assim, ao mesmo tempo temos apenas um valor na variável.
Contudo, a computação surgiu para trabalhar com massa de dados, ou seja, trabalhar com um conjunto grande de dados, e o uso de variáveis simples não colaboram nessa ação. Por isso utilizaremos um tipo diferente de organização de dados: variáveis compostas.
Variável composta
O conceito de variável composta é simples e transparente para nosso cotidiano. Sempre que observamos um objeto conseguimos abstrair vários dados diferentes. Por exemplo, ao observar um aluno podemos abstrair alguns dados como: prontuário, nome, disciplinas que cursa, nota de cada avaliação, etc. Observe que todos os alunos possuem a mesma organização de dados, com diferentes valores.
A variável composta permite agrupar várias variáveis em uma única variável. Assim, podemos ter dentro da variável aluno seu prontuário, nome e idade.
Variável composta homegênea
Nesse momento nosso foco de estudo se concentra em variáveis composta homegêneas, ou seja, a variável que iremos trabalhar agrupa variáveis todas do mesmo tipo de dado.
Assim, ao criar uma variável composta homegênea do tipo inteiro, teremos que todas as variáveis dentro da recém criada são do tipo inteiro.
Neste tipo de variável não será possível armazenar diferentes tipos de dados, por exemplo, não será possível armazenar o nome de um funcionário (tipo literal) e seu salário (tipo real).
Variável composta homogênea unidimensional (vetor)
Após o entendimento de como organizar variável dentro de variável, observa-se a forma de organização das variáveis.
Quando utilizamos um vetor, as variáveis do vetor além de serem do mesmo tipo de dado, são organizadas sequêncialmente em uma dimensão. Isso quer dizer que cada uma das variáveis está ao lado de outra variável.
"Para entender variáveis compostas unidimensionais, imaginemos um edifício com um número finito de andares, representando uma estrutura de dados, e seus andares, partições dessa estrutura. Visto que os andares são uma segmentação direta do prédio, estes compõem então o que chamaremos de estrutura composta unidimensional (uma dimensão)." (FORBELLONE, 2012).
Isso envolve inclusive a alocação na memória do computador. O Sistema Operacional (SO) deverá encontrar um espaço na memória RAM para armazenar todas as variáveis de forma sequência, ou seja, em endereços físicos sequências. Pode-se fazer uma paralelo com uma rua com várias casas, uma ao lado da outra, sem espaços entre elas.
Nesta mesma analogia, e importante observar que cada uma das casas da rua possuem um número. Isso ocorre também com os vetores.
No vetor, as variáveis que o compõem são alocadas sequencialmente, de forma linear (uma ao lado da outra), e são identificadas por sua posição nessa sequência. À posição da variável no vetor dados o nome de índice.
Resumo:
Uma variável composta homogênea unidimensional, ou simplesmente vetor, é uma arranjo de várias variáveis, todas do mesmo tipo, de forma linear, e cada uma das variáveis é identificada por sua posição (índice) no arranjo.
Usando vetores na solução de problemas
Problema:
Obter a idade de 3 pessoas e informar qual a maior idade dentre as obtidas.
Solução sem vetor:
Algoritmo
Declare
id1, id2, id3 : inteiro
maior : inteiro
Inicio
Escreva ("Digite 3 idades: ")
Leia (id1, id2, id3)
Se id1 > id2 E id1 > id3
Então
maior <- id1
Senão
Se id2 > id3
Então
maior <- id2
Senão
maior <- id3
Fim-Se
Fim-Se
Escreva("Maior idade: " + maior)
Fim
Declare
id1, id2, id3 : inteiro
maior : inteiro
Inicio
Escreva ("Digite 3 idades: ")
Leia (id1, id2, id3)
Se id1 > id2 E id1 > id3
Então
maior <- id1
Senão
Se id2 > id3
Então
maior <- id2
Senão
maior <- id3
Fim-Se
Fim-Se
Escreva("Maior idade: " + maior)
Fim
Solução com vetor:
Algoritmo
Declare:
idades[3] : inteiro
maior : inteiro
posicao : inteiro
Inicio
Para posicao <- 0 até 2 Faça
Inicio
escreva ("Digite idade: ")
leia (idades[posicao])
Fim-Para
maior <- idades[0]
Para posicao <- 1 até 2 Faça
Inicio
Se idades[posicao] > maior
Então
maior <- idades[posicao]
Fim-Para
Escreva("Maior idade: " + maior)
Fim
Declare:
idades[3] : inteiro
maior : inteiro
posicao : inteiro
Inicio
Para posicao <- 0 até 2 Faça
Inicio
escreva ("Digite idade: ")
leia (idades[posicao])
Fim-Para
maior <- idades[0]
Para posicao <- 1 até 2 Faça
Inicio
Se idades[posicao] > maior
Então
maior <- idades[posicao]
Fim-Para
Escreva("Maior idade: " + maior)
Fim
Análise das diferenças:
- A primeira diferença aparece na declaração de variáveis. Observe que na primeira solução existe a declaração de 3 variáveis do tipo inteiro (id1, id2 e id3). Na segunda solução temos uma única variável (idades), só que esta possui espaço para [3] variáveis (idades[3]) do tipo inteiro. Observe que declaramos 3 variáveis no arranjo, essas variáveis são alocadas a partir do índice 0, assim, a primeira posição é a número zero e a última a número 2.
- Existe a declaração da variável posição, essa variável nos servirá para indicar o índice que desejamos acessar no arranjo.
- Usar vetor significa, quase em sua totalidade, o uso de estrutura de repetição, isso porque o que é feito com uma variável do arranjo será feito com as outras variáveis, variando apenas a posição (índice) do vetor.
Veremos mais sobre vetores em breve.
Referências
- FORBELLONE, A.L.V. & EBERSPÄCHER, H.F. Lógica de Programação: A construção de algoritmos e estruturas de dados. 3ª edição. Pearson, 2012.
- GONÇALVES, R.A.L. Variáveis Compostas. Disponível em <http://din.uem.br/~ronaldo/LivroAED-Capitulo-4-VariaveisCompostas.pdf> acessado em 01/05/2016.
Comentários
Postar um comentário