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(“'\'”); } }