terça-feira, 22 de março de 2011

Linguagem C - Estrutura de Dados

INTRODUÇÃO

Cada um dos dados manipulados em um algoritmo é associado a uma variável, cada variável tem por sua vez, uma faixa de valores armazenáveis esta faixa de valores é denominada de “tipo”.

Os tipos primitivos[1], disponíveis em nossa linguagem hipotética, nem sempre são suficientes para representar os dados em um algoritmo. Construiremos novos tipos, denominados de “tipos estruturados”, a partir da composição de tipos primitivos. Estes novos tipos têm uma estrutura que define como estes dados estarão organizados.

ESTRUTURA DE DADOS HOMOGÊNEA


Assim como a Teoria dos Conjuntos, uma variável pode ser interpretada como um elemento e uma Estrutura de Dados como um conjunto. Quando uma determinada Estrutura de Dados for composta de variáveis com o mesmo tipo primitivo, temos um conjunto de dados. Podemos considerar que uma variável composta homogênea seja como uma alcatéia, e seus elementos (variáveis) sejam como os lobos (que são da mesma espécie).

Variáveis Compostas Unidimensionais


Para entendermos variáveis compostas unidimensionais, imaginaremos um edifício com um número finito de andares, representado 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 é chamado de estrutura unidimensional (uma dimensão).

Exemplo:
Vclasse

1
2
3
4
5
6
7
...
16
17
18
19
20
8,5
7,5
6,5
9,2
10,0
5,5
6,3

8,8
7,7
9,0
9,5
8,0

a.     Alterar o conteúdo da posição 17, para 9,5
Vclasse[17] = 9,5;

1
2
3
4
5
6
7
...
16
17
18
19
20
8,5
7,5
6,5
9,2
10,0
5,5
6,3

8,8
9,5
9,0
9,5
8,0

b.     Exibir o conteúdo da posição 3
Escreva (Vclasse[3]);

c.      Exibir todo o conteúdo do Vetor
Como o vetor possui 20 posições, precisamos de um laço de repetição que faça a seqüência de passos 20 vezes.

For (i = 1; i< 20; i++){
              printf (“%d \n”, Vclasse[i]);
}

Variáveis Compostas Multidimensionais


Suponha que, além do acesso pelo elevador até um determinado andar, tenhamos também a divisão desse andar em apartamentos. Para chegar a algum deles não basta só o número do andar, precisamos também do número do apartamento.

O vetor se caracteriza por precisar apenas de 1 índice para endereçamento. Já uma estrutura que precise mais de 1 índice, como no caso do edifício dividido em apartamentos, seria então denominada estrutura composta multidimensional, neste caso, de duas dimensões (bidimensional).
·        Manipulação

Para acessar um elemento numa estrutura composta multidimensionalmente, precisamos, como em um edifício, de seu nome, de seu andar e de seu apartamento. Considerando uma estrutura bidimensional (2 índices: apartamento e andar), o primeiro índice indica a linha e o segundo índice à coluna.
                           


1
2
3
1
10
11
12
2
7
8
9
3
4
5
6
4
1
2
3

a.     Alterar o conteúdo da linha 2 e coluna 3, para 0
Mat[2,3] = 0;


1
2
3
1
10
11
12
2
7
8
0
3
4
5
6
4
1
2
3


b.     Exibir o conteúdo da linha 4 e coluna 1
printf (“%d”, Mat[4,1]);


c.      Exibir o conteúdo da Matriz
Como a matriz é composta de linhas e colunas, precisamos de dois (2) laços de repetições para que possamos no laço mais interno controlar as colunas e no mais externos controlar as linhas.

for (l = 1; l< 4; l++){
                   for (c = 1; c< 3; c++) {
                            Printf (“%d”, Mat[l,c]);
                   }
}


[1] São os tipos de dados predefinidos pela linguagem de programação que se está utilizando. São eles: tipo real, inteiro, caractere e lógico.

Nenhum comentário:

Postar um comentário