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. 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. – –int vetor[n]; //declaração de um vetor com ‘n’ elementos O tamanho do vetor é fixo durante o programa, não é possível modificar seu tamanho depois de declarado. Lembrando que não é possível utilizar variáveis na hora da declaração de um vetor. O identificador ‘vetor’ não é uma variável, ela não pode mudar valor, e não “armazena” nenhum dado. Então, o que significa o identificador ‘vetor’ ?

4 Vetores Lembrando que vetores são espaços contínuos na memória, ‘vetor’ é um endereço de memória, mas não um qualquer, e sim o primeiro endereço neste espaço que foi reservado na declaração ‘ int vetor[n] ‘ ; Portanto, para acessar outros elementos deste vetor, você deve incrementar algum valor à este endereço inicial para obter-se o elemento desejado. C oferece o operador “[ ]” para fazer este incremento e o acesso ser realizado facilmente. O valor de incremento é chamado de “Índice”.

5 Vetores Portanto, se quisermos acessar o elemento 2 do nosso ‘ int vetor[n] ‘, usamos a seguinte sintaxe: vetor[2]; //índice == 2, posição == 3 O identificador ‘ vetor[2] ‘ pode ser usado como uma variável, tanto para leitura, quanto para escrita. Ambos os trechos são válidos: vetor[2] = 4; int a; a = vetor[2];

6 Vetores Exemplos de uso do operador “[ ]” 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.

7 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. Um vetor só guarda um tipo! Esse tipo é definido na sua declaração, e nunca muda. Tomar cuidado com o acesso aos elementos! C não checa os limites do vetor antes de acessar os elementos, portanto acessar elementos além do tamanho do vetor pode causar erro de execução. Exemplo de um acesso indevido: int vetor[4]; vetor[5] = 20;

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

9 Matrizes Matrizes são vetores de vetores. Dessa forma, podemos ter mais de uma dimensão de acesso. A declaração de uma matriz bi-dimensional é a seguinte: int matriz[m][n] // matriz com m linhas e n colunas Matrizes mantém a mesma propriedade de vetores, ou seja, continuam sendo espaços contíguos na memória. As linhas da matriz são dispostas sequencialmente. – –Isso gerará uma consequência na hora de passar vetores de duas ou mais dimensões para uma função.

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

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

12 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.

13 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:

14 Uso em Funções. No exemplo anterior, a função soma recebe um inteiro que é o tamanho do vetor, e o próprio vetor (ou o endereço dele). A assinatura da função neste caso deve seguir esta sintaxe: – –int soma ( int vetor [], int tam ); A chamada da função deve seguir a seguinte sintaxe: – –soma( vetor, tam ); Se quisermos passar todo o vetor, devemos usar somente o identificador do vetor, mas se quisermos passar uma posição específica do vetor, usamos o operador “[ ]”. Ex: uma função que recebe dois inteiros e soma eles – –int somaNumeros (int n1, int n2); //assinatura da função – –somaNumeros (vetor [0], vetor[1]); //chamada da função

15 Uso em Funções – Matrizes bi-dimensionais. As coisas mudam um pouco na hora de passar matrizes de duas ou mais dimensões. A chamada se mantém, passando somente o endereço da matriz, mas a assinatura será um pouco modificada. Usaremos como exemplo uma função que some todos os elementos de uma matriz quadrada, então temos que sua assinatura é: – –int somaMatriz (int matriz[][“n”], int ordem); // O “n” é o número de colunas da matriz Todas as dimensões da matriz devem ser definidas na assinatura da função, menos a primeira, e não devem ser usadas variáveis aqui, somente constantes. Por que isso é necessário?

16 Dúvidas?

17 Exercício 1 Faça um programa que receba 10 números inteiros (de 0 a 20) e os armazene em um vetor. Após isso, imprima o número que aparece mais e menos vezes, respectivamente. Também imprima o vetor ordenado de maneira crescente e sem repetições. Entrada: Saída:

18 Exercício 2 Faça um programa que receba um vetor de 9 posições, depois faça-o multiplicar uma matriz 9x9 que seja a tabela da tabuada de 1 até 9, e então imprima o vetor resultante. Entrada: Saida:

19 Exercício 3 Escreva um programa que receba o preço de 5 peças de um carro, cada peça sendo fabricada e vendida por 4 marcas diferentes, e então mostre ao usuário: A marca mais barata A montagem mais barata e o preço Ordenadamente, de forma crescente, imprima os preços totais das marcas Exemplo: F/PP1P2P3P4P5 F F F F F Fábrica 1 - P1: F4; P2: F4; P3: F1; P4: F1; P5: F


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

Apresentações semelhantes


Anúncios Google