ALGORITMOS I Estruturas de Dados Homogêneas

Propaganda
ALGORITMOS I
Estruturas de Dados Homogêneas – Vetores e Matrizes
•
Os tipos básicos (inteiros, reais, caracteres) não são suficientes para
exprimir estruturas de dados complexas em algoritmos.
•
•
Um Vetor é uma das mais simples estruturas de dados.
Vetores são, essencialmente, listas de informações de um mesmo tipo,
armazenadas em posição contígua da memória, em ordem indexada.
•
Vetores são usados nos casos em que um conjunto de dados do
mesmo tipo precisa ser armazenado em uma mesma estrutura, por
exemplo:
○
o vetor Notas , que armazena o conjunto de notas da primeira
avaliação é um conjunto de dados (ou valores) do tipo float;
○
o vetor Pares, que armazena os dez primeiros números naturais
pares, é um vetor de valores do tipo int.
•
Um vetor é uma estrutura de dados homogênea, isto é, agrupa
valores de um mesmo tipo;
•
O tipo do vetor é o mesmo tipo dos dados que ele armazena.
•
Um vetor é uma estrutura de dados indexada, ou seja:
○
cada valor pode ser acessado através de um índice, o qual
corresponde a uma posição no vetor;
○
○
os índices são valores ínteiros e positivos (0, 1, 2, 3,...);
em outras palavras, uma posição específica do vetor pode ser
acessada diretamente através do seu índice.
■
Exemplo: imprima o valor que está na posição 7 do vetor de
Notas.
○
o número de posições do vetor corresponde ao tamanho do vetor,
isto é, o número de valores de um mesmo tipo que ele armazena:
●
o tamanho do vetor Notas é 45, porque ele armazena 45
valores do tipo float;
●
o tamanho do vetor Pares é 30, porque ele armazena
30 valores do tipo int.
➢
➢
Matriz: Uma matriz é uma coleção de variáveis de um mesmo tipo que é referenciada por um nome comum;
➢ Vetores são matrizes unidimensionais;
Matrizes bidimensionais: Uma matriz bidimensional é uma matriz de matrizes unidimensionais;
➢ int mat[10][20];
// declara uma matriz de 10 linhas e 20 colunas,
// isto é, uma matriz formada por 10 matrizes // unidimensionais de 20 posições cada;
➢
➢
➢
➢
mat[9][19] = 7;
// atribui o valor inteiro 7 à última posição da // matriz;
o primeiro índice da matriz indica a linha;
o segundo índice da matriz indica a coluna;
tamanho de uma matriz bidimensional em bytes:
➢ tam. do primeiro índice * tam. do primeiro índice * tam. do tipo
#include <stdio.h>
void main(void) {
int i, j, tabela[4][5];
for (i = 0; i < 4; i++)
for (j = 0; j < 5; j++)
tabela[i][j] = 2*i + 2*j + 1;
for (i = 0; i < 4; i++)
{
for (j = 0; j < 5; j++)
printf(“%d ”, tabela[i][j]);
printf(“'\'”);
}
}
Download