![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](https://reader036.vdocuments.net/reader036/viewer/2022071212/602471bc98cf51687907c71a/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071212/602471bc98cf51687907c71a/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071212/602471bc98cf51687907c71a/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071212/602471bc98cf51687907c71a/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071212/602471bc98cf51687907c71a/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071212/602471bc98cf51687907c71a/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071212/602471bc98cf51687907c71a/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071212/602471bc98cf51687907c71a/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071212/602471bc98cf51687907c71a/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071212/602471bc98cf51687907c71a/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071212/602471bc98cf51687907c71a/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071212/602471bc98cf51687907c71a/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071212/602471bc98cf51687907c71a/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071212/602471bc98cf51687907c71a/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071212/602471bc98cf51687907c71a/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071212/602471bc98cf51687907c71a/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071212/602471bc98cf51687907c71a/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071212/602471bc98cf51687907c71a/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071212/602471bc98cf51687907c71a/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071212/602471bc98cf51687907c71a/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071212/602471bc98cf51687907c71a/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071212/602471bc98cf51687907c71a/html5/thumbnails/22.jpg)
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