1 / 16

Aula prática 6 Vetores e Matrizes Monitoria de Introdução à Programação

Aula prática 6 Vetores e Matrizes Monitoria de Introdução à Programação. Roteiro. Vetores Matrizes B idimensionais N-dimensionais Uso em funções Dúvidas Exercícios. Vetores.

emery
Download Presentation

Aula prática 6 Vetores e Matrizes Monitoria de Introdução à Programação

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Aula prática 6 Vetores e Matrizes Monitoria de Introdução à Programação

  2. Roteiro • Vetores • Matrizes • Bidimensionais • N-dimensionais • Uso em funções • Dúvidas • Exercícios

  3. Vetores • Um vetor (também chamado de vector ou array) é uma sequência contínua na memória, de elementos de mesmo tipo. • O acesso às posições individuais é feito pelo índice do elemento. Em C e em várias outras linguagens, o primeiro elemento é acessado pelo índice 0 (zero-basedordering). • Em C, podem ser declarados nas formas: Tipo nome[tamanho]; // índices de 0 até tamanho -1 Tipo nome[] = {Elemento1,E2,...,En}; // tamanho = n Tipo nome[tamanho] = {E1,E2,...,En}; // n <= tamanho

  4. Vetores • O operador “[]” dá acesso as elementos: • Tentar acessar um elemento em uma posição menor que 0 ou maior que o tamanho do vetor, poderá resultar em erro de execução. • Cuidado com lixo de memória: ao declarar um vetor sem uma lista de inicialização, o vetor estará preenchido por lixo de memória. O mesmo vale para posições além da lista de inicialização.

  5. Vetores • Vetores são constantes!A variável que guarda um vetor é, em si, um endereço de memória constante, indicando onde aquele vetor começa. Tentar mudá-la após a declaração resultará em um erro de compilação. Uma consequência disso é que o seguinte não será possível: Tipo nome[tamanho]; nome = {E1,E2,...,En}; // ERRADO! • Um vetor só guarda um tipo! Esse tipo é definido na sua declaração, e nunca muda. • Tomar cuidado com o acesso aos elementos! Um acesso indevido não será avisado na compilação, o erro talvez aparecerá na execução enquanto estiver testando, ou pode só aparecer semanas depois da aplicação ser entregue ao cliente.

  6. Vetores • Como percorrer um vetor: Uma forma prática de percorrer um vetor é usando um laço:

  7. Matrizes Bidimensionais • Matrizes são vetores que guardam vetores. Dessa forma, podemos ter mais de uma dimensão de acesso. • Em C: Tipo matriz[tamanho2][tamanho1]; Tipo matriz[tamanho2][tamanho] = {{E1,E2,...,Em},...,{Z1,Z2,...,Zn}} Tipo matriz[tamanho2][tamanho] = {E1,E2...Etamanho2*tamanho} Tipo matriz[][tamanho] = {{E1,E2,...,Em},...,{Z1,Z2,...,Zn}} • O tamanho dos vetores internos não pode ser omitido, pois o compilador pode assumir o tamanho de um vetor, mas não o tipo dos seus elementos*. *: O tipo de um vetor é “vetor de tipo com tamanho X” ou tipo[x]. Para matrizes, o tipo é tipo[x][y].

  8. Matrizes Bidimensionais • O acesso à elementos da matriz é feito do mesmo modo que com vetores:

  9. Matrizes Bidimensionais • Para percorrer uma matriz: Similar a percorrer um vetor, usando laços aninhados:

  10. Matrizes N-Dimensionais • Se podemos ter vetores de vetores, segue que podemos ter vetores de vetores de vetores de vetores...: • Para percorrer, a ideia é a mesma de vetores e matrizes bidimensionais, usando laços aninhados.

  11. Uso em Funções. • Como vetores são endereços na memória, podemos acessar diretamente suas posições dentro de funções, e alterar seus valores:

  12. Dúvidas?

  13. Exercício 1 • Faça um programa que receba um vetor de trajetórias de 9 elementos, onde cada elemento possui o valor do próximo elemento, entre 0 e 9, do vetor a ser lido. • Assumindo que a sequência inicie no índice 1 e que siga até encontrar o indice 0, teriamos a seguinte leitura: 1, 5, 2, 7, 4, 9, 3, 6, 8, 0

  14. Exercício 2 • Faça um programa que receba do usuário uma matriz 5x4, calcule sua transposta e multiplique a sua matriz original pela sua transposta , exibindo para o usuario o seu valor final.

  15. Exercício 3 • Faça um programa que receba como entrada uma matriz 6x6 onde os indices da matriz representará as cidades e os valores da matriz representará as distâncias entre as cidades, peça ao usuário apenas a diagonal inferior da matriz (pois a matriz será simetrica e sua diagonal principal é 0). Exemplo da matriz segue abaixo: • Receba agora um vetor de 6 elementos que representará a sequência que o usuário irá percorrer, começando do indice 1 e seguindo para o indice 2 e assim sucessivamente, o vetor só poderá ter valores entre 1 e 6. Exemplo: • Seu programa deverá retornar a distância percorrida pelo usuário, nesse exemplo: 10 + 150 + 95 + 80 + 190 = 525

  16. Opicional • Faça um programa que ordene um vetor de inteiro de 20 posições, onde os seus elementos serão dados pelo usuário e ordene seus elementos em ordem crescente. Para isso utilize o algoritmo bubblesort (procurar no google ;).

More Related