22
Programação de Computadores I Gil Eduardo de Andrade Matrizes

Programação de Computadores I - Gil Eduardo · •Uma matriz, em programação de computadores, pode ser representada como uma planilha, já que esta contém linhas e colunas. •Cada

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Programação de Computadores I - Gil Eduardo · •Uma matriz, em programação de computadores, pode ser representada como uma planilha, já que esta contém linhas e colunas. •Cada

Programação de Computadores I

Gil Eduardo de Andrade

Matrizes

Page 2: Programação de Computadores I - Gil Eduardo · •Uma matriz, em programação de computadores, pode ser representada como uma planilha, já que esta contém linhas e colunas. •Cada

Matrizes

Introdução

• Uma matriz pode ser definida, assim como umvetor, como um conjunto de elementos(variáveis) que apresentam um mesmo tipo esão referenciados por um nome comum;

• As matrizes em C, diferentemente dos vetoresque possuem apenas uma dimensão, podemapresentar duas ou mais dimensões;

Aula 10: Matrizes – Gil Eduardo de Andrade

Page 3: Programação de Computadores I - Gil Eduardo · •Uma matriz, em programação de computadores, pode ser representada como uma planilha, já que esta contém linhas e colunas. •Cada

Matrizes

Matizes Bidimensionais

• Normalmente quando trabalhamos com matrizesem C estas são bidimensionais, ou seja, possuemduas dimensões, as quais denominamos linhas ecolunas;

• Os elementos que compõem uma matrizbidimensional são acessados, necessariamente,através da especificação de dois índices inteiros,que correspondem respectivamente a linha e acoluna onde esse elemento se encontra dentro damatriz;

Aula 10: Matrizes – Gil Eduardo de Andrade

Page 4: Programação de Computadores I - Gil Eduardo · •Uma matriz, em programação de computadores, pode ser representada como uma planilha, já que esta contém linhas e colunas. •Cada

Matrizes

Declaração de Matrizes Bidimensionais

• A declaração de matrizes bidimensionais éefetuada, de forma geral, da seguinte maneira:– tipo nome_matriz[nr_linhas][nr_colunas];– tipo: indica qual é o tipo dos elementos (variáveis) que

compõem a matriz – ex.: int, float, double;

– nome_matriz: indica o nome pelo qual a matriz é referenciada;

– nr_linhas: indica o número total de linhas que a matriz possui;

– nr_colunas: indica o número total de colunas que a matrizpossui;

Aula 10: Matrizes – Gil Eduardo de Andrade

Page 5: Programação de Computadores I - Gil Eduardo · •Uma matriz, em programação de computadores, pode ser representada como uma planilha, já que esta contém linhas e colunas. •Cada

Matrizes

Matrizes Bidimensionais Inteiras:

• Considerando o slide anterior, poderíamos entãodeclarar uma matriz do tipo int contendo 8 linhase 8 colunas. Teríamos:– int tabuleiro[8][8];

• Ao declararmos a matriz tabuleiro garantimosque o espaço de memória necessário paraarmazenar todos os seus elementos sejareservado;

Aula 10: Matrizes – Gil Eduardo de Andrade

Page 6: Programação de Computadores I - Gil Eduardo · •Uma matriz, em programação de computadores, pode ser representada como uma planilha, já que esta contém linhas e colunas. •Cada

Matrizes

Matrizes Bidimensionais Inteiras:

• Contudo é importante observar que apenasdeclaramos a matriz, ou seja, ainda nãoespecificamos os elementos (valores) que eledeve armazenar;

• Antes desta especificação, dizemos que a matrizpossui armazenado “lixo de memória”, valoresquaisquer gerados por outros programas queutilizaram o mesmo espaço de memória nummomento anterior;

Aula 10: Matrizes – Gil Eduardo de Andrade

Page 7: Programação de Computadores I - Gil Eduardo · •Uma matriz, em programação de computadores, pode ser representada como uma planilha, já que esta contém linhas e colunas. •Cada

Matrizes

Armazenando Valores numa Matriz:

• Como mencionado, as matrizes bidimensionaispossuem linhas e colunas, sendo assim ela podearmazenar um total de “linhas x colunas” elementos;– (Ex.: Uma matriz com 8 linhas e 8 colunas pode armazenar 64 elementos – 8 x 8);

• Para que seja possível especificar qual elemento damatriz inteira receberá um valor a ser armazenado,utilizamos dois índices (valores inteiros) que indicamo posição (linha, coluna) da matriz que receberá odado;

Aula 10: Matrizes – Gil Eduardo de Andrade

Page 8: Programação de Computadores I - Gil Eduardo · •Uma matriz, em programação de computadores, pode ser representada como uma planilha, já que esta contém linhas e colunas. •Cada

Matrizes

Armazenando Valores numa Matriz Bidimensional:

• Os índices da matriz, tanto em linha como emcoluna, variam de ‘0’ até seu ‘nr. de linha-1’ ou‘nr. de coluna-1’, ou seja, a matriz int tabuleiro[8][8] possui os índices: 0, 1, 2, 3, 4, 5, 6 e 7:

• Para armazenar dados nesta matriz utilizaríamos a seguinte sintaxe:

– tabuleiro[0][0] = 1; tabuleiro[7][7] = -1;

Aula 10: Matrizes – Gil Eduardo de Andrade

Page 9: Programação de Computadores I - Gil Eduardo · •Uma matriz, em programação de computadores, pode ser representada como uma planilha, já que esta contém linhas e colunas. •Cada

Matrizes

Representação Gráfica:

• Uma matriz, em programação de computadores,pode ser representada como uma planilha, já queesta contém linhas e colunas.

• Cada célula desta planilha é referenciada por doisíndices, um indicando a linha e outro a colunaonde encontra-se o elemento que desejamosmanipular;

Aula 10: Matrizes – Gil Eduardo de Andrade

Page 10: Programação de Computadores I - Gil Eduardo · •Uma matriz, em programação de computadores, pode ser representada como uma planilha, já que esta contém linhas e colunas. •Cada

Matrizes

Aula 10: Matrizes – Gil Eduardo de Andrade

1int tabuleiro[8][8]

0 1 2 3 4 5 6 7

Índices das Colunas

-1

0

1

2

3

4

5

6

7

Índ

ice

s d

as L

inh

as

Representação Gráfica:

tabuleiro[0][0] = 1

tabuleiro[7][7] = -1

Page 11: Programação de Computadores I - Gil Eduardo · •Uma matriz, em programação de computadores, pode ser representada como uma planilha, já que esta contém linhas e colunas. •Cada

Matrizes

Exemplos de Codificação (Atribuindo valores):

Aula 10: Matrizes – Gil Eduardo de Andrade

Page 12: Programação de Computadores I - Gil Eduardo · •Uma matriz, em programação de computadores, pode ser representada como uma planilha, já que esta contém linhas e colunas. •Cada

Matrizes

Exemplos de Codificação (Atribuindo valores):

Aula 10: Matrizes – Gil Eduardo de Andrade

Page 13: Programação de Computadores I - Gil Eduardo · •Uma matriz, em programação de computadores, pode ser representada como uma planilha, já que esta contém linhas e colunas. •Cada

Matrizes

Exemplos de Codificação (Declaração e Inicialização):

Aula 10: Matrizes – Gil Eduardo de Andrade

Page 14: Programação de Computadores I - Gil Eduardo · •Uma matriz, em programação de computadores, pode ser representada como uma planilha, já que esta contém linhas e colunas. •Cada

Matrizes

Exemplos de Codificação (Declaração e Inicialização):

Aula 10: Matrizes – Gil Eduardo de Andrade

Page 15: Programação de Computadores I - Gil Eduardo · •Uma matriz, em programação de computadores, pode ser representada como uma planilha, já que esta contém linhas e colunas. •Cada

Matrizes

Exemplos de Codificação (Percorrendo um Vetor):

Aula 10: Matrizes – Gil Eduardo de Andrade

Page 16: Programação de Computadores I - Gil Eduardo · •Uma matriz, em programação de computadores, pode ser representada como uma planilha, já que esta contém linhas e colunas. •Cada

Matrizes

Exemplos de Codificação (Percorrendo um Vetor):

Aula 10: Matrizes – Gil Eduardo de Andrade

Page 17: Programação de Computadores I - Gil Eduardo · •Uma matriz, em programação de computadores, pode ser representada como uma planilha, já que esta contém linhas e colunas. •Cada

Matrizes do tipo ‘char’

Aula 10: Matrizes – Gil Eduardo de Andrade

Matrizes x Strings:

• Assim como visto na aula de vetores (String) épossível trabalharmos com matrizes decaracteres (char);

• Sendo assim, podemos considerar que umamatriz de caracteres permite armazenar maisde uma String que nada mais é que umconjunto de caracteres (elementos do tipo char);

Page 18: Programação de Computadores I - Gil Eduardo · •Uma matriz, em programação de computadores, pode ser representada como uma planilha, já que esta contém linhas e colunas. •Cada

Matrizes do tipo ‘char’

Aula 10: Matrizes – Gil Eduardo de Andrade

Capturando e Armazenado Strings:

• Torna-se possível trabalharmos com o métodogets() para armazenar strings em linhasindividuais de uma matriz do tipo char;

• Sendo assim ao solicitarmos que o usuário digiteuma string (ex.: nome) utilizamos a função gets()passando a esta a matriz e especificando apenasa linha dela que receberá a string digitada;– Ex.: gets(matriz[0]);

Page 19: Programação de Computadores I - Gil Eduardo · •Uma matriz, em programação de computadores, pode ser representada como uma planilha, já que esta contém linhas e colunas. •Cada

Matrizes do tipo ‘char’

Aula 10: Matrizes – Gil Eduardo de Andrade

Capturando e Armazenado Strings:

• Torna-se possível trabalharmos com o métodogets() para armazenar strings em linhasindividuais de uma matriz do tipo char;

• Sendo assim ao solicitarmos que o usuário digiteuma string (ex.: nome) utilizamos a função gets()passando a esta a matriz e especificando apenasa linha dela que receberá a string digitada;– Ex.: gets(matriz[0]);

Page 20: Programação de Computadores I - Gil Eduardo · •Uma matriz, em programação de computadores, pode ser representada como uma planilha, já que esta contém linhas e colunas. •Cada

Matrizes do tipo ‘char’

Exemplos de Codificação (Capturando String):

Aula 10: Matrizes – Gil Eduardo de Andrade

Page 21: Programação de Computadores I - Gil Eduardo · •Uma matriz, em programação de computadores, pode ser representada como uma planilha, já que esta contém linhas e colunas. •Cada

Matrizes do tipo ‘char’

Exemplos de Codificação (Capturando String):

Aula 10: Matrizes – Gil Eduardo de Andrade

Page 22: Programação de Computadores I - Gil Eduardo · •Uma matriz, em programação de computadores, pode ser representada como uma planilha, já que esta contém linhas e colunas. •Cada

Matrizes

Exemplos Utilizados no Documentohttp://www.gileduardo.com.br/ifpr/pci/downloads/pc_exdoc10.zip

Aula 10: Matrizes – Gil Eduardo de Andrade

Mais Exemplos sobre o Conteúdohttp://www.gileduardo.com.br/ifpr/pci/downloads/pc_ex10.zip

Exercícios sobre o Conteúdo

http://www.gileduardo.com.br/ifpr/pci/downloads/pc_pratica10.pdf