A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "Aula prática 6 Vetores e Matrizes Monitoria de Introdução à Programação."— Transcrição da apresentação:

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

2 Roteiro Vetores Vetores Matrizes Matrizes –Bidimensionais –N-dimensionais Uso em funções Uso em funções Dúvidas Dúvidas Exercícios 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. 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-based ordering). 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-based ordering). Em C, podem ser declarados nas formas: 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: 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. 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. 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: 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! nome = {E1,E2,...,En}; // ERRADO! Um vetor só guarda um tipo! Esse tipo é definido na sua declaração, e nunca muda. 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. 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: 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. Matrizes são vetores que guardam vetores. Dessa forma, podemos ter mais de uma dimensão de acesso. Em C: 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 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]. Para matrizes, o tipo é tipo[x][y].

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

9 Matrizes Bidimensionais Para percorrer uma matriz: 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...: 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. 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: 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 Índice Valor

14 Exercício 2

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: = (Cáceres)2.(BBugres)3.(Cuiabá)4.(VGrande)5.(Tangará)6.(PLacerda) 1.(Cáceres) (BBugres) (Cuiabá) (VGrande) (Tangará) (PLacerda) Indice Cidade342561

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 ;).


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

Apresentações semelhantes


Anúncios Google