Baixe o app para aproveitar ainda mais
Prévia do material em texto
Algoritmos e Programação I Aula 7 – Notas de aula Vetores. - Vetores ou Matrizes unidimensionais - Vetores (também conhecidos como Matrizes unidimensionais) são utilizados para o tratamento de conjuntos de dados com as mesmas características. Este conjunto de dados recebe um nome comum, que é o nome do vetor. - a declaração de uma variável do tipo Vetor na linguagem C segue o formato: tipo nome[tamanho]; onde: tipo é o tipo de dados dos elementos que serão armazenados; nome é o nome da variável (nome do vetor) tamanho é um valor numérico que indica quantos elementos estarão armazenados no vetor, do tipo de dado especificado. Tamanho é uma constante ou variável inteira - os elementos de um Vetor, na memória do computador, são armazenados de forma contígua. Os elementos são referenciados por índices. O primeiro elemento do vetor possui sempre o índice zero, sendo cada posição do vetor, incrementada em 1, até chegar ao último elemento que tem índice tamanho do vetor menos 1 [tamanho-1]. Na ilustração a seguir, há a representação de um vetor inteiro, com 10 elementos, armazenado na memória, declarado como int A[10]. Pode-se observar que os índices iniciam em zero e variam até 9 (que equivale a [tamanho-1]). A= 5 10 15 20 25 30 35 40 45 50 0 1 2 3 4 5 6 7 8 9 - para acessar um elemento do vetor, deve-se usar o nome do vetor e o valor do índice do elemento, entre colchetes. Por exemplo, o 4º elemento do vetor é referido como a[3], que equivale ao valor 20, no exemplo acima. Assim, para listar todos os elementos do vetor na tela, pode-se usar os seguinte código: int i, A[10]; for(i=0;i<10;i++){ printf(“A[%d] = %d\n”, i, A[i]); } - É preciso ter bem claro os conceitos de índice de vetor e valor de elemento de vetor: O índice é um indicativo da posição do elemento (é a referencia da posição do elemento). É possível também que o índice seja dada por uma expressão. Já o valor de um elemento do vetor é o conteúdo armazenado em determinada posição do vetor. Índice de um elemento do vetor Elemento do vetor Com o uso de vetores, os programas ficam mais elegantes, pois pode-se simplificar e reduzir programas que trabalham com grandes quantidades de dados do mesmo tipo. Consequentemente, a lógica do programa fica mais compreensível. - IMPORTANTE: na linguagem C não existe controle automático de final do vetor. Por exemplo, se o vetor for declarado com tamanho 10, como no caso anterior, e for feita a referencia aos elementos a[10] e a[20], o compilador não os identificará como erros. Porém, isto representa erros de programação, pois um vetor declarado para conter 10 elementos não possui os elementos de índices 10 e 20, possui apenas os elementos de índice de 0 até 9. Este tipo de erro de programação tende a provocar o funcionamento incorreto do programa. Exemplo: 1. Fazer um algoritmo que leia um vetor de 10 elementos e, a seguir, verifique se um número N, fornecido pelo usuário, existe no vetor. Se existir, indicar a(s) posição(ões), senão escrever a mensagem "O número fornecido não existe no vetor!". #include<stdio.h> void main(void) { int vet[10], n, i, flag = 1; for (i=0; i<10; i++) scanf("%d", &vet[i]); scanf("%d", &n); for (i=0; i<10; i++) if (vet[i] == n) { printf("Elemento na posição %d", i); flag = 0; } if (flag) printf("O número fornecido não existe no vetor!"); } Comentário sobre o exemplo: a variável chamada flag (bandeira em inglês) é uma denominação que se dá a variáveis cuja função é indicar que um determinado evento ocorreu. Esta variável poderia ter qualquer nome válido para variáveis em C. No exemplo, a mensagem de que nenhuma ocorrência do número N foi encontrada deve apenas ser mostrada se o valor realmente não estiver no vetor. Se o valor não foi encontrado no vetor, a variável flag permanecerá com o valor 1, seu valor inicial, pois ao ser encontrado um elemento do vetor = N, a variável flag é alterada para 0. Assim, a função da variável flag neste programa é indicar se foi ou não encontrado o valor, para que seja ou não mostrada a mensagem. Outro exemplo do uso da variável flag é o algoritmo para verificar se um número é primo. Exercícios: 1. Escreva um algoritmo que leia e mostre um vetor de 15 elementos inteiros. A seguir, conte quantos valores pares existem no vetor. 2. Ler as notas dos 20 alunos de uma turma em um vetor. Mostrar qual foi a média de nota da turma e quantos alunos ficaram acima da média. 3. Faça um programa em C que declare um vetor de 10 elementos inteiros. O valor do primeiro elemento deve ser 1, e o valor de cada um dos elementos seguintes deve ser o seu índice somado ao conteúdo do elemento anterior. Mostre o vetor resultante. 4. Ler um vetor A com 15 elementos inteiros. Gerar um novo vetor B com a mesma quantidade de elementos, da seguinte forma: a. Se o valor do elemento de A for par, multiplicar o elemento por 5 e armazenar o valor em B; b. Se o valor do elemento de A for ímpar, somar 5 ao elemento. Por fim, os vetores A e B deve ser exibidos na tela ao usuário. 5. Faça um programa em C que declare dois vetores de 5 elementos inteiros e leia seus valores. A seguir, copie para dentro de um terceiro vetor, de 10 elementos, os conteúdos do primeiro vetor seguidos pelos do segundo e mostre o vetor resultante. Leituras e exercícios: EVARISTO, Jaime. Aprendendo a programar programando na linguagem C. Maceió: Vivali, 2007. SCHILDT, Herbert. C completo e total. São Paulo: Makron Books, 1997. CORMEN, Thomas H et al. Algoritmos: teoria e prática. Rio de Janeiro: Campus, 2002.
Compartilhar