Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Campus Charqueadas Curso Técnico em Informá6ca Lógica de Programação Professor: Gléderson L. Santos, Vinícius T. Guimarães glederson, vicoguim@gmail.com Estruturas Homogêneas Vetores e Matrizes Lógica de Programação Conceitos O que é uma Matriz? Uma matriz é uma coleção de variáveis do mesmo tipo, que é referenciada por um nome comum, sendo que para acessarmos um elemento específico dentro desta coleção de variáveis, utilizamos um índice. Lógica de Programação Conceitos Como interpretamos a declaração de variável abaixo? Variaveis numerico x ... Basicamente, estamos reservando espaço na memória do computador para armazenar UM valor numerico. Em nosso programa este espaço será acessado pelo “apelido” x. ? Memória X Conteúdo da variável X Lógica de Programação Conceitos O que significa a declaração de variável abaixo? Variaveis matriz numerico x[5] ... Basicamente, estamos reservando espaço na memória do computador para armazenar CINCO valores numericos. Em nosso programa para acessar cada um desses valores utilizaremos o “apelido” x e um índice. ? Memória X[1] X[2] X[3] X[4] X[5] Aqui temos um exemplo de matriz unidimensional. Lógica de Programação Vetores (matrizes unidimensionais) Como o próprio nome referencia, são matrizes de uma única dimensão. Normalmente, as matrizes unidimensionais são chamadas de VETORES. Também util izaremos essa nomenclatura em nossas aulas. Forma geral para declarar um vetor no ILA: Matriz numerico nome da variável[tamanho] Esta palavra indica que a variável é uma matriz. Sempre utilizaremos esta palavra quando desejarmos declarar uma variável matriz. Aqui informamos o tipo do dado a ser armazenado. No ILA sempre será tipo numerico. O n ú m e r o d e e l e m e n t o s q u e d e s e j a m o s n o vetor. Deve ser um valor numérico, por exemplo 10, 100, 4, etc. O n o m e d a variável, o qual será utilizado, juntamente com o índice, para acessarmos os dados do vetor. Lógica de Programação Vetores (matrizes unidimensionais) Como declaramos? 9.5 [1] [2] [3] [4] [5] notas 9.5 9.5 9.5 9.5 10 5.5 7.5 6.5 6.5 variaveis matriz numerico notas[5] inicio ... Lógica de Programação Vetores (matrizes unidimensionais) 9.5 nome da variável[POSIÇÃO] val [3] 9.5 [1] [2] [3] [4] [5] val 9.5 9.5 9.5 9.5 [6] 12 1 62 12 27 66 8 Lógica de Programação Vetores (matrizes unidimensionais) Exemplo: Variaveis matriz numerico vet[5] Inicio Limpar vet[1] = 10 vet[4] = 15 escrever "O valor de vet[1]=",vet[1] escrever "O valor de vet[4]=",vet[4] Fim O que será impresso? [1] [2] [3] [4] [5] 10 vet [1] [2] [3] [4] [5] 10 vet 15 O valor de vet[1] = 10 O valor de vet[4] = 15 Lógica de Programação Vetores (matrizes unidimensionais) Como seria um programa p a r a l e r 5 v a l o r e s , armazená-los e após i m p r i m i r o s v a l o r e s informados? Variaveis numerico val , i , linha matriz numerico vet[5] Inicio Limpar linha = 0 para i = 1 ate 5 escrever "Informe um valor:" ler val vet[i] = val linha = linha + 2 proximo para i = 1 ate 5 linha = linha + 1 posicionar linha, 1 escrever "O valor de vet[",i,"]=",vet[i] proximo Fim ? Lógica de Programação Vetores (matrizes unidimensionais) Variaveis numerico val , i , linha matriz numerico vet[5] Inicio Limpar linha = 0 para i = 1 ate 5 escrever "Informe um valor:" ler val vet[i] = val linha = linha + 2 proximo para i = 1 ate 5 linha = linha + 1 posicionar linha, 1 escrever "O valor de vet[",i,"]=",vet[i] proximo Fim IMPORTANTE! No ILA não podemos utilizar o comando “ler” diretamente para armazenar a informação em uma posição do vetor. Observem que primeiro temos que ler o valor em uma variável auxiliar para após efetuar a atribuição na posição do vetor desejada. Lógica de Programação Vetores (matrizes unidimensionais) Variaveis numerico val , i , linha matriz numerico vet[5] Inicio Limpar linha = 0 para i = 1 ate 5 escrever "Informe um valor:" ler val vet[i] = val linha = linha + 2 proximo para i = 1 ate 5 linha = linha + 1 posicionar linha, 1 escrever "O valor de vet[",i,"]=",vet[i] proximo Fim IMPORTANTE! De forma inversa ao comando “ler”, podemos acessar uma posição do vetor diretamente com o comando escrever, como no exemplo. Lógica de Programação Matrizes Variaveis matriz numerico x[3,4] ... Número de linhas da Matriz Número de colunas da Matriz 1 2 3 4 1 2 3 x[2,3] = 10 10 Colunas Li nh as Exemplo linha coluna Lógica de Programação Matrizes Variaveis numerico val,i,j,coluna matriz numerico mat[3,3] Inicio Limpar para i = 1 ate 3 para j = 1 ate 3 escrever "Informe um valor mat[", i ,"][", j ,"]:" ler val mat[i,j] = val proximo proximo Limpar para i = 1 ate 3 coluna = 1 para j = 1 ate 3 posicionar i,coluna escrever "| ",mat[i,j] coluna = coluna + 4 proximo proximo Fim O que faz este programa? Lógica de Programação Matrizes Resultado | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 O programa solicita 9 valores, os quais serão armazenados na variável “mat”. Após o programa imprime na tela do computador os valores armazenados na variável “mat”. 1 2 3 1 2 3 mat 1 2 3 6 9 8 7 4 5 Lógica de Programação Matrizes Importante: - Observem que o comando “ler”, assim como para os vetores, não funciona diretamente para matrizes. Desta forma, precisamos utilizar uma variável auxiliar para após atribuir o valor na posição desejada da matriz. - Com base no exemplo anterior, podemos observar que no caso de matrizes iremos trabalhar, normalmente, com estruturas de repetição aninhadas. - Assim como nos vetores, normalmente, utilizaremos variáveis para indicar os índices que desejamos acessar. Não esqueçam que as variáveis que utilizamos para indicar o índice do vetor ou da matriz, deverão ser do tipo “numerico”. - No ILA vetores e matrizes deverão ser do tipo “numerico”. Desta forma, não poderemos utilizar estas estruturas com o tipo “caracter”.