Introdução a Array

Começando a série "Estruturas de Dados", confira no artigo de hoje uma estrutura de dados simples chamada de ARRAY, aplicada em diversas linguagens.
PSEUDOCODIGO bubble sort switch case

Oi Pessoal!!! Nos últimos artigos nós falamos sobre os comandos de controle: if, switch/case, for, while, do-while. Esses comandos são importantes para resolver alguns dos nossos problemas, mas a maioria das Linguagens de Programação fornecem, além destes, outros recursos que nos permitem resolver de maneira ainda melhor os nossos problemas, como as Estruturas de Dados! No artigo de hoje veremos uma estrutura de dados simples chamada de ARRAY.

ARRAYS

Um Array é uma Estrutura de Dados, isto significa que é uma forma de representar, manipular e armazenar dados em um computador. Um Array também é chamado de Variável Composta Homogênea, isto significa que um Array é um tipo de variável que consegue armazenar mais de um dado de um único tipo. Composta: mais de um dado; Homogêna: um único tipo. Exemplos: armazenar 10 salários, armazenar 15 nomes, armazenar 20 notas, etc. Existem vários “tipos” de Arrays, hoje veremos o Array denominado de “Variáveis Compostas Homogêneas Unidimensionais”

Variáveis Compostas Homogêneas Unidimensionais (Array de uma dimensão)

São variáveis compostas que necessitam de apenas um índice para individualizar um elemento do conjunto. Essas variáveis também são chamadas de Vetores. Observe a Figura 1:

Array de Uma Dimensão
Figura 1: Array de Uma Dimensão

A Figura 1 ilustra um Array de uma dimensão com cinco posições. Cada quadrado desse Array é correspondente a um espaço de memória que armazena um dado. Como o Array tem cinco posições, então, são cinco espaços de memória que serão utilizados para armazenar esses dados.

O índice nos ajuda a percorrer o Array, permitindo que o elemento daquela determinada posição possa ser armazenado, acessado, atualizado, excluído, enfim, manipulado. O índice pode “andar” da esquerda pra direita, por isso vocês veem escrito “i”, “i + 1”, e assim por diante. O índice “i” é a variável de incremento (contador) e a cada iteração que fizermos, ela é somada de um, para podermos caminhar no array.

Bom, para entendermos melhor tudo isso, vamos ver um exemplo simples: armazenar dez números do tipo real.

Listagem 1: Armazenando e imprimindo dez números reais em um Array.

Saída do programa no VisuAlg
Figura 2: Saída do programa no VisuAlg
Vetor do Exemplo
Figura 3: Vetor do Exemplo

A listagem 1 apresenta a solução em pseudocódigo para o exemplo do nosso artigo. A Figura 2 apresenta a saída do software VisuAlg, isto é, mostra o console do VisuAlg ao testarmos o nosso algoritmo. Por fim, a Figura 3 apresenta a REPRESENTAÇÃO do Vetor do nosso exemplo. Na linha 5 é feita a DECLARAÇÃO do vetor:

vet: vetor [1..10] de real

A declaração do vetor cria o espaço de memória necessário para armazenar a quantidade de posições que desejamos: vetor é a palavra chave reservada; [1..10] é a quantidade de posições que desejamos para o nosso vetor, começando sempre em 1; real é o tipo de dado que queremos armazenar neste vetor; vet é o nome do vetor, poderia ser qualquer outro nome.

Nas linhas de 9 a 12 temos o código necessário para PREENCHER o vetor e usamos o comando de controle FOR para isso, assim podemos incluir um valor em cada posição do vetor. O FOR vai ser repetido por dez vezes, conforme a linha 9 define: para ÍNDICE de 1 até 10 (começando em 1 e terminando em 10). Dentro do FOR colocamos uma mensagem para o usuário, pedindo que ele digite um valor, e o mesmo é armazenado pelo comando

leia ( vet [ indice ] )

Observe que vet[índice] é a forma que usamos para armazenar um valor no vetor em uma posição que não conhecemos, já que no FOR o valor do índice varia conforme ele é executado.

As linhas de 16 a 18 IMPRIMEM o conteúdo do ARRAY e vocês podem verificar a forma como é impresso o conteúdo na Figura 2. Vamos fazer o teste de mesa para esse código do nosso exemplo, mas por questões de espaço visual, vou dividir o código. Abaixo, a Tabela 1 apresenta o teste de mesa do código para inserir no vetor.

iteraçãoindicepara indice de 1 até 10leia ( vet [ indice ] )
11i = 1vet[1] = 5.6
22i = 2vet[2] = 8.7
33i = 3vet[3]= 1.2
44i = 4vet[4] = 3
55i = 5vet[5] = 9
66i = 6vet[6] = 10.7
77i = 7vet[7] = 3.5
88i = 8vet[8] = 81.7
99i = 9vet[9] = 123.07
1010i = 10 vet[10] = 2.4
11

Tabela 1: Teste de Mesa – inserindo no vetor

Como vocês podem observar na Tabela 1, o teste de mesa mostra que, quando atingimos indice = 10, chegamos ao fim do algoritmo. Na primeira iteração, que é i = 1, é impressa na tela do console a mensagem para o usuário digitar um número real. Logo em seguida, esse número é obtido e armazenado em vet[índice], e o nosso índice neste momento é igual a 1, portanto, vet [1]. Na posição 1 do vetor foi armazenado o valor 5.6. Na segunda iteração, i = 2 e índice = 2, então, o próximo número que o usuário digitar, que no caso foi 8.7, será armazenado nesta posição e, assim sucessivamente, até i = 10.

A Tabela 2 apresenta o teste de mesa para a parte do código que imprime o vetor na tela.

iteraçãoindicepara indice de 1 até 10imprime indiceimprime vet[indice]
11i = 11vet[1] = 5.6
22i = 22vet[2] = 8.7
33i = 33vet[3] = 1.2
44i = 44vet[4] = 3
55i = 55vet[5] = 9
66i = 66vet[6] = 10.7
77i = 77vet[7] = 3.5
88i = 88vet[8] = 81.7
99i = 99vet[9] = 123.07
1010i = 10 10vet[10] = 2.4
11 

Tabela 2: Teste de Mesa – imprimindo o vetor

Na primeira iteração, i = 1 e índice também igual a 1, então, na mensagem em ESCREVAL, será impresso o valor do índice, que é 1, e o valor do conteúdo da posição vet[indice], que neste caso é vet[1]. A posição vet[1] é igual a 5.6, então este é o valor que será buscado e impresso na tela. Na segunda iteração, i = 2, indice = 2, e vet[indice] é vet[2] = 8.7, assim esses serão os valores impressos na tela. Isso ocorre sucessivamente até que i = 10.

Vamos ver agora como fica o mesmo código em outra linguagem?

C

Pascal

Java

Conclusão

Pessoal, neste artigo eu fiz uma introdução à Arrays Unidimensionais. No próximo artigo eu vou mostrar algumas coisas que podemos fazer com Arrays além de populá-los e imprimi-los. Deixarei os exercícios para o próximo artigo, ok?! Muito Obrigada.

Outros artigos da série

Operações com Arrays >>

Atuo como Professora de Informática e Computação desde 2001. Desde 2009 venho atuando como Docente no Ensino Superior em diversos cursos de Graduação e Pós Graduação Lato Sensu, tanto presenciais, quanto semipresenciais e à distância. Ministrei várias disciplinas onde ensino os estudantes a desenvolverem plataformas e sistemas computacionais. Orientei vários trabalhos acadêmicos, desenvolvi inúmeros materiais didáticos, trabalhei com pesquisa, ensino, extensão e inovação. Também ministrei palestras em vários eventos. Comecei meu Doutorado na área de Machine Learning - mais especificamente na area de Multi-label Classification - na UFSCar em 02/2019 e devo terminar em 01/2023. Também estudo canto, jogo vôlei, sou geek, nerd, otaku e gamer (twitch.tv/cissagatto)

Notificações
Notificar
guest
4 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
Irenil Ramos Valentim
Irenil Ramos Valentim
23/10/2018 01:54

Gostei muito do seus artigos. Tem como fazer downloads . Estruturas de Dados…..

Euclides Franco de Rezende
Euclides Rezende
05/12/2016 12:45

Excelente matéria. Parabens!

Elaine Cecília Gatto
Elaine Cecília Gatto
Reply to  Euclides Rezende
08/12/2016 09:31

muito obrigada Euclides!!

WEBINAR

Imagens de Ultrassom: Princípios e Aplicações

DATA: 26/10 ÀS 19:30 H