Baixe o app para aproveitar ainda mais
Prévia do material em texto
Prof. Luiz Henrique Bonani Processamento da Informação AT10 – Introdução a Vetores 2 Correção da Prova Estatísticas 3 Média 49,48 Mediana 48,50 Desvio Padrão 23,11 66 Provas Notas ≥ 50: 32Notas < 50: 34 4 Conteúdo Teórico Definição de vetor Um vetor em programação é formado por um conjunto de 𝑛 variáveis de um mesmo tipo de dado, sendo 𝑛 (tamanho) obrigatoriamente maior que zero. Essas variáveis (ou elementos) são identificadas e acessadas por um nome e um índice. Na maioria das linguagens de programação, o índice recebe valores de 0 (primeiro elemento) até 𝑛−1 (último elemento). As variáveis de um vetor são armazenadas em posições consecutivas de memória. 5 Trabalhando com vetores Quando um vetor é criado, é instanciada uma variável do tipo vetor (em algumas linguagens de programação), sendo necessário definir um nome, o tipo de dado e o tamanho do vetor. Na linguagem C, por exemplo, a definição do tamanho de um vetor ocorre antes de compilar o programa. Ou seja, o programador deverá informar no código a quantidade de memória a ser reservada para o vetor, por meio de um número inteiro positivo ou constante, especificando o número de elementos do mesmo tipo que a memória reservada irá comportar. Neste caso, uma variável não pode ser usada para definir o tamanho. 6 Trabalhando com vetores Já na linguagem Java, é possível alocar memória em tempo de execução do programa. Por exemplo, é possível criar um vetor para armazenar as notas de uma turma de alunos, em que o número de alunos é uma variável a ser lida durante a execução do programa. A linguagem Python é ainda mais flexível, permitindo que um vetor tenha seu tamanho atualizado em tempo de execução. 7 Criação de vetores Em muitas linguagens, como Java e C, o processo de criar um vetor ocorre em dois passos distintos: 1. primeiro se cria uma variável de referência para o vetor; 2. em seguida se reserva a memória para um dado número de elementos do mesmo tipo. No exemplo da figura: 8 A criação da variável de referência de um vetor v define apenas a posição de memória em hexadecimal 0A, onde será armazenado o seu primeiro elemento. Criação de vetores Neste exemplo, V[0] = -128 A quantidade de bytes por elemento vai depender do tipo de dado armazenado. Neste exemplo cada elemento ocupa um byte. O segundo passo da criação de um vetor é reservar (ou alocar) memória para todos os seus elementos (dependendo da linguagem). Essa alocação de memória pode ocorrer em tempo de execução, como ocorre em Python! 9 No exemplo da figura Note que a variável v se refere a uma posição de memória e não a um elemento de dado. Os elementos devem ser acessados por meio do índice, um por vez. Isso pode requerer uso de laços para leitura e impressão dos seus elementos, dependendo da linguagem de programação utilizada. O índice de vetor é sempre um número inteiro. 10 Escrevendo e acessando elementos de um vetor Após criar a variável de referência e alocar memória para todas as suas posições, o vetor está pronto para que se insira ou altere os dados de seus elementos. A figura mostra um exemplo de apresentação de um vetor, seus conteúdos e índices. 11 Escrevendo e acessando elementos de um vetor O primeiro trecho de instruções faz com que os elementos do vetor nas posições 0, 2 e 4 recebam valores -128, 6 e 127, respectivamente. Finalmente, é possível completar o preenchimento desse vetor usando o segundo trecho de instruções. 12 Escrevendo e acessando elementos de um vetor 13 Escrevendo e acessando elementos de um vetor 14 Escrevendo e acessando elementos de um vetor A linguagem Python tem uma particularidade em relação a outras linguagens de programação, que é tratar um vetor como lista. A lista é uma estrutura de dados que não precisa ter um tamanho definido a priori e é uma estrutura muito flexível, inclusive permitindo que tipos diferentes de dados coexistam na mesma lista. 15 Escrevendo e acessando elementos de um vetor Veja a seguir como ficaria a declaração do vetor anterior, sem a necessidade de atribuir um tamanho inicial. 16 Escrevendo e acessando elementos de um vetor Também é possível usar o comando append. Neste caso, os elementos seriam colocados sempre no final do vetor. Veja o exemplo: 17 Escrevendo e acessando elementos de um vetor Para este exemplo simples, há ainda uma outra possibilidade de criar o vetor v explicitamente: 18 Escrevendo e acessando elementos de um vetor Para acessar elementos específicos do vetor utiliza-se o índice do elemento. Por exemplo, acessando o terceiro elemento do vetor: 19 Escrevendo e acessando elementos de um vetor Outra possibilidade é usar a biblioteca numpy para lidar com vetores. Nesse caso, usa-se o array. A biblioteca numpy possui funções bastante úteis quando se quer criar vetores com tamanhos e conteúdos específicos, como arange, ones, zeros. 20 Escrevendo e acessando elementos de um vetor Outra possibilidade é usar a biblioteca numpy para lidar com vetores. Nesse caso, usa-se o array. A biblioteca numpy possui funções bastante úteis quando se quer criar vetores com tamanhos e conteúdos específicos, como arange, ones, zeros. 21 Escrevendo e acessando elementos de um vetor Veja os exemplos a seguir usando a biblioteca numpy: 22 Erros comuns Um erro comum em programação ocorre ao tentar inserir um dado em uma posição não existente do vetor, excedendo seu limite. Ocorre, por exemplo, quando tenta-se acessar uma posição maior que o tamanho do vetor, em memória não reservada para ele. Por exemplo, ao criar um vetor v com 6 posições em Python, é necessário atribuir valores em v[0], v[1] até v[5]. 23 Erros comuns Neste caso, é comum tentar acessar a posição 6, como com v[6]=0, gerando um erro de índice fora do limite. Esse tipo de erro é difícil de ser identificado enquanto se escreve o código, ou mesmo após a sua compilação, aparecendo o erro para o usuário somente em tempo de execução. No passado, quando os sistemas operacionais não tinham muita segurança, um acesso indevido à memória travaria o computador. Hoje, na pior hipótese, apenas o programa travaria. 24 25 Exemplos Exemplo 1 Assuma um vetor de inteiros começando em 1 e terminando em 30, cujos valores dos elementos sejam crescentes e com diferença igual a 3. Construa esse vetor e mostre-o. Solução usando linguagem Python: 26 Exemplo 2 Faça um programa que leia uma lista com n alunos com RA e Nome e escreva a saída formatada conforme o exemplo: 27 Exemplo 2: solução Solução em linguagem Python: 28
Compartilhar