Estruturas Indexadas Vetores e Matrizes Profa Jacqueline 1 Estruturas Indexadas Vetores e Matrizes Objetivo: Estudar as estruturas de dados estáticas e homogêneas (vetores e matrizes); Estudar as operações que estas suportam e algumas aplicações básicas. Introduzir as estruturas de dados; Estruturas Indexadas Conceito de vetores; Conceito de matrizes. Nos casos em que é necessário ou conveniente representar os dados em termos de conjuntos de valores; Os elementos individuais da estrutura são identificados com o auxílio de índices; Vetor: uma coleção de variáveis de um mesmo tipo que compartilham o mesmo nome e ocupam posições consecutivas de memória. Cada variável da coleção denomina se elemento e é identificada por um índice. Declaração de Vetor Um vetor é declarado definindo se seu nome, tipo e tamanho; V : vetor [0..N] de inteiros Essa declaração define uma variável chamada V que pode armazenar um conjunto de números inteiros que serão identificados como V[0], V[1], V[2],..., V[N]. Acesso e Atribuição de Valores Meses : vetor [1..12] de inteiros Meses [1] Janeiro Meses [2] Fevereiro... Meses [11] Novembro Meses [12] Dezembro Operações
Estruturas Indexadas Vetores e Matrizes Profa Jacqueline 2 Os vetores permitem a manipulação dos elementos alocados em suas posições de forma independente; A inclusão de um elemento em uma determinada posição de um vetor implica a substituição do valor anteriormente existente; A exibição dos elementos pode ser necessária após a execução de uma determinada operação que envolva a alteração dos valores desses elementos. Para i 1 até 6 Faça Fim Para; Mostrar (Valores[i]) Exemplo 1 Faça um programa que faça a leitura de dez valores em um vetor e apresente o valor da média aritmética desses valores. Algoritmo Media Valores : vetor [1..10] de reais Soma, Media : real i : inteiro Soma 0 Soma 0 Media Soma/ 10 "O valor da média é: ", Media Fim Para i 1 até 10 Faça Ler (Valores[i]) Valores [ i ] Soma Soma + Valores[i] Soma Soma + Valores[ i ] Media Soma / 10 Mostrar ( O valor da média é:, Media) Fim.
Estruturas Indexadas Vetores e Matrizes Profa Jacqueline 3 Exemplo 2 Faça um algoritmo que efetue a leitura de 10 elementos inteiros em um vetor TESTE1. Construa um vetor TESTE2 do mesmo tipo, observando a seguinte regra de formação: se o valor do índice for par, o valor do elemento deverá ser multiplicado por 5; se for ímpar, deverá ser somado com 5. Ao final, mostrar o conteúdo dos dois vetores. Teste1[ i ] imod 2=0.V. Teste2[ i ] Teste1[ i ] * 5.F. Teste1[ i ], Teste2[ i ] Teste2[ i ] Teste1[ i ] + 5 Fim Algoritmo Mostra Teste1, Teste2 : vetor [1..10] de inteiros i : inteiro Para i 1 até 10 Faça Ler (Teste1[i]) Para i 1 até 10 Faça Se ( i mod 2 = 0 ) Então Teste2[i] Teste1[i] * 5 Senão Teste2[i] Teste1[i] + 5 Fim-Se
Estruturas Indexadas Vetores e Matrizes Profa Jacqueline 4 Para i 1 até 10 Faça Mostrar (Teste1[i], Teste2[i]) Fim. Conceito de Matrizes Declaração Estruturas indexadas que necessitam de mais que um índice para identificar um de seus elementos; São chamadas matrizes de dimensão n, onde n representa o número de índices requeridos; Uma matriz de dimensão 2 é uma matriz que exige dois índices para identificar um elemento em sua estrutura; A maioria das linguagens não impõe limite sobre a dimensão de uma estrutura indexada, ficando a cargo do programador utilizar tantos índices quanto considerar convenientes. A declaração de uma matriz poderia ser feita da seguinte forma: Vendas : vetor [1..n,1..n] de inteiros Essa declaração é muito semelhante à declaração de vetor, porque o vetor é uma matriz de dimensão 1; A convenção mais comum é dizermos que o primeiro índice identifica uma linha de uma matriz bidimensional e o segundo, uma coluna; Exemplo 3 Dada uma matriz de 6 linhas e 2 colunas de inteiros, calcular e exibir a média geométrica dos valores de cada uma das linhas. A média geométrica é calculada pela seguinte expressão: SQRT (X1 * X2), que representa a raiz quadrada do resultado da multiplicação dos elementos da coluna 1 (X1) pelos elementos da coluna 2 (X2).
Estruturas Indexadas Vetores e Matrizes Profa Jacqueline 5 i 1, 6, 1 Fim prod 1 j 1, 2, 1 "Linha", i, " = ", SQRT(prod) G [ i, j ] prod prod * G [ i, j ] Algoritmo Geométrico G : vetor [1..6, 1..2] de inteiros i, j : inteiro prod : real Para i 1 até 6 Faça prod 1 Para j 1 até 2 Faça Ler (G [i, j]) prod prod * G [i, j] Mostrar ( Linha, i, = SQRT (prod)) Fim.
Estruturas Indexadas Vetores e Matrizes Profa Jacqueline 6 Exercício em aula Faça um algoritmo que mostre a média dos alunos de uma disciplina. Considere, para isso, uma matriz de 30 linhas e 3 colunas. Cada linha está associada a um aluno de uma determinada disciplina, e as colunas estão associadas às notas das três provas referentes aquele estudante. Exercício de Fixação Faça um algoritmo que mostre a menor e a maior temperatura em cada dia de uma determinada semana. Isso deverá ser feito para todas as semanas de um determinado mês. Cada linha estará associada a uma determinada semana e as colunas estarão associadas aos dias da semana, ou seja, domingo, segunda, terça, quarta, quinta, sexta e sábado.