SlideShare uma empresa Scribd logo
1 de 19
Fundamentos de
Programação
Tema XII: Matrizes
Docente: Eugénio Xavier Domingos Caetano
Matrizes
 A matriz é um tipo de dado usado para representar
uma certa quantidade de variáveis que são
referenciados pelo mesmo nome.
 Consiste em locações contíguas de memória.
 O endereço mais baixo corresponde ao primeiro
elemento.
 Uma matriz é uma coleção de variáveis de mesmo
tipo, acessíveis com um único nome e armazenados
contiguamente na memória.
 A individualização de cada variável de um vetor é
feita através do uso de índices.
 Os Vetores são matrizes de uma só dimensão.
 Matriz é a uma estrutura de dados do tipo vetor com
duas ou mais dimensões.
 Os itens de uma matriz tem que ser todos do
mesmo tipo de dado.
 Na prática, as matrizes formam tabelas na memória.
Matriz Unidimensional (Vector)
 Sintaxe: tipo nome[tamanho];
 As matrizes tem 0 como índice do primeiro
elemento, portanto sendo declarada uma matriz de
inteiros de 10 elementos, o índice varia de 0 a 9.
Acesso aos elementos do vetor
 Para acessar os elementos de um vetor usa-se
índices.
 O índice define a posição da variável dentro do
vetor.
 Em todos os vetores tem o primeiro elemento na
posição 0(zero).
 Assim, se tomarmos "K" como sendo o tamanho do
vetor a última posição é a de índice "K-1"
int Vector[5];
Vetor[0] = 4; // Coloca 4 na primeira posição de
int Vetor[5]; // declara um vetor de 5 posições
Vetor[0] = 9; // coloca 9 na primeira posição do vetor
Vetor[4] = 30 // coloca 30 na última posição do vetor
 Preenchimento de um vetor com um dado
◦ for(i=0; i<5; i++) for(i=0; i<=4; i++)
Vetor[i] = 30; Vetor[i] = 30;
 Colocar os números de 1 a 5 em Vetor
◦ for(i=0; i<5; i++)
Vetor[i] = i+1;
Exemplos com Vetores
 Colocar os números de 5 a 1 em Vetor
◦ for(i=0; i<5; i++)
Vetor[i] = 5-i;
 Uso de Constantes para definir o tamanho de
um vetor
#include<stdio.h>
#define TAM_MAX 10
double VetReais[TAM_MAX];
int main(){
for(i=0; i<TAM_MAX; i++)
VetReais[i] = TAM_MAX - i; // coloca 5,4,3,2,1 no vetor
return 0;
}
 Copiar os dados de um vetor para outro
#include<stdio.h>
#define TAM_MAX 10
double VetReais[TAM_MAX], Copia[TAM_MAX];
int main(){
for(i=0; i<TAM_MAX; i++)
VetCopia[i] = VetReais[i]; // Copia os dados de um vetor
// para outro
return 0;
}
 Copiar os dados de um VET1 para as primeiras 5
posições de COPIA e VET2 para as outras 5
#include<stdio.h>
#define TAM_MAX 10
// Note que a declaração do vetor "Cópia" cria o dobro de posições
double Vet1[TAM_MAX], Vet2[TAM_MAX], Copia[TAM_MAX*2];
int main(){
for(i=0; i<TAM_MAX; i++)
VetCopia[i] = Vet1[i]; // Copia os dados do primeiro vetor
for(i=0; i<TAM_MAX; i++) // Copia os dados do segundo vetor
VetCopia[i+TAM_MAX] = Vet2[i];
return 0;
}
 Leitura dos dados de um um vetor
#include<stdio.h>
#define TAM_MAX 10
double Vet1[TAM_MAX];
int main(){
for(i=0; i<TAM_MAX; i++)
scanf("%f",&Vet1[i]);
return 0;
}
Matriz Multidimensional
 Sintaxe: tipo nome[tamanho][tamanho] ...;
 Funciona como na matriz de uma dimensão (vetor),
mas tem mais de um índice.
Como atribuir valores a uma matriz?
 Suponha a matriz como declarada:
◦ float Media[5] [2];
 para atribuir uma valor precisamos identificar a
posição usando os índices:
◦ Media [0][0] = 5; //Atribui o valor 5 na primeira linha e
primeira coluna.
◦ Media [1][0] = 7; // Atribui o valor 7 na segunda linha,
primeira coluna
Preenchendo uma matriz
 Para fazer o preenchimento de uma matriz,
devemos percorrer todos os seus elementos e
atribuir-lhes um valor.
 Isto pode ser feito tanto gerando valores para cada
elemento da matriz, como recebendo os valores
pelo teclado.
 Um método interessante para percorrer uma matriz
é usar duas estruturas de repetição for e duas
variáveis inteiras, uma para a linha e a outra para a
coluna.
 Exemplo:
 Suponha uma matriz de 3 linhas por 3 colunas do
tipo inteiro.
 Para percorrer a matriz recebendo seus valores,
podemos fazer:
for ( i=0; i<3; i++ ) {
for ( j=0; j<3; j++ ) {
scanf ("%d", &matriz[ i ][ j ]);
}
}
 Neste trecho de código, a variável i representa a
linha e j a coluna da matriz.
 Usando as repetições, percorremos cada posição
da matriz e recebemos um valor usando scanf();
Mostrando os elementos de uma matriz
 Para mostrar os elementos de uma matriz, podemos
usar o mesmo método, porém usamos o comando
de saída printf().
for ( i=0; i<3; i++ ) {
for ( j=0; j<3; j++ ) {
printf ("%d", matriz[ i ][ j ]);
}
}
 Exemplo:
Conclusoes
 Utilizamos um par de estruturas de repetição for
para primeiramente fazer a leitura dos valores da
matriz.
 Fixamos a linha, ou seja, o índice i enquanto o
índice da coluna j varia até preencher todos os
elementos da linha.
 Depois que uma linha é preenchida, o índice da
linha é incrementado e recomeça o preenchimento
da coluna por coluna com o loop for interno
controlado pelo índice j.

Mais conteúdo relacionado

Mais procurados (19)

Algoritmos e Programação: Vetores
Algoritmos e Programação: VetoresAlgoritmos e Programação: Vetores
Algoritmos e Programação: Vetores
 
Implementação currículo- Módulo IV-Matrizes/Determinantes/Nºs Complexos
Implementação currículo- Módulo IV-Matrizes/Determinantes/Nºs ComplexosImplementação currículo- Módulo IV-Matrizes/Determinantes/Nºs Complexos
Implementação currículo- Módulo IV-Matrizes/Determinantes/Nºs Complexos
 
Ipccea cap iv
Ipccea cap ivIpccea cap iv
Ipccea cap iv
 
Aula eng ambmatlab2
Aula  eng  ambmatlab2Aula  eng  ambmatlab2
Aula eng ambmatlab2
 
Matrizes
MatrizesMatrizes
Matrizes
 
Ppt yoshi
Ppt yoshiPpt yoshi
Ppt yoshi
 
Plano de trabalho matrizes e determinantes.
Plano de trabalho  matrizes e determinantes.Plano de trabalho  matrizes e determinantes.
Plano de trabalho matrizes e determinantes.
 
Plano de trabalho matrizes e determinantes
Plano de trabalho  matrizes e determinantesPlano de trabalho  matrizes e determinantes
Plano de trabalho matrizes e determinantes
 
Trabalho
TrabalhoTrabalho
Trabalho
 
Atividade matrizes
Atividade matrizesAtividade matrizes
Atividade matrizes
 
Texto matrizes wq
Texto matrizes wqTexto matrizes wq
Texto matrizes wq
 
Matriz aula [modo de compatibilidade]
Matriz aula [modo de compatibilidade]Matriz aula [modo de compatibilidade]
Matriz aula [modo de compatibilidade]
 
Matrizes
MatrizesMatrizes
Matrizes
 
Matriz
MatrizMatriz
Matriz
 
Apostila de matrizes ju
Apostila de matrizes juApostila de matrizes ju
Apostila de matrizes ju
 
Construcao de Algoritmos - Aula 11
Construcao de Algoritmos - Aula 11Construcao de Algoritmos - Aula 11
Construcao de Algoritmos - Aula 11
 
www.AulasEnsinoMedio.com.br - Matemática - Matrizes
www.AulasEnsinoMedio.com.br - Matemática -  Matrizeswww.AulasEnsinoMedio.com.br - Matemática -  Matrizes
www.AulasEnsinoMedio.com.br - Matemática - Matrizes
 
www.AulasDeMatematicanoRJ.Com.Br - Matemática - Matrizes
 www.AulasDeMatematicanoRJ.Com.Br - Matemática -  Matrizes www.AulasDeMatematicanoRJ.Com.Br - Matemática -  Matrizes
www.AulasDeMatematicanoRJ.Com.Br - Matemática - Matrizes
 
Aula de matrizes
Aula de matrizesAula de matrizes
Aula de matrizes
 

Semelhante a 8. matrizes

Linguagem c wellington telles - aula 06
Linguagem c   wellington telles - aula 06Linguagem c   wellington telles - aula 06
Linguagem c wellington telles - aula 06profwtelles
 
Algoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registrosAlgoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registrosMauro Pereira
 
Alg aula 07 - matrizes tp1
Alg   aula 07 - matrizes tp1Alg   aula 07 - matrizes tp1
Alg aula 07 - matrizes tp1Thalles Anderson
 
Aula 8 - Vetores e Matrizes.pptx
Aula 8 - Vetores e Matrizes.pptxAula 8 - Vetores e Matrizes.pptx
Aula 8 - Vetores e Matrizes.pptxOsvano Silva
 
Arrays / Vetores / Matrizes em programação
Arrays / Vetores / Matrizes em programaçãoArrays / Vetores / Matrizes em programação
Arrays / Vetores / Matrizes em programaçãoJaime Martins
 
Vetores e Matrizes em C.
Vetores e Matrizes em C.Vetores e Matrizes em C.
Vetores e Matrizes em C.SchoolByte
 
mod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacaomod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacaodiogoa21
 
Aula 06 vetores e matrizes
Aula 06   vetores e matrizesAula 06   vetores e matrizes
Aula 06 vetores e matrizesTácito Graça
 

Semelhante a 8. matrizes (20)

Linguagem c wellington telles - aula 06
Linguagem c   wellington telles - aula 06Linguagem c   wellington telles - aula 06
Linguagem c wellington telles - aula 06
 
Algoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registrosAlgoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registros
 
Alg aula 07 - matrizes tp1
Alg   aula 07 - matrizes tp1Alg   aula 07 - matrizes tp1
Alg aula 07 - matrizes tp1
 
Aula Vetores - 08-05-2023.pdf
Aula Vetores - 08-05-2023.pdfAula Vetores - 08-05-2023.pdf
Aula Vetores - 08-05-2023.pdf
 
Aula 8 - Vetores e Matrizes.pptx
Aula 8 - Vetores e Matrizes.pptxAula 8 - Vetores e Matrizes.pptx
Aula 8 - Vetores e Matrizes.pptx
 
Cap09
Cap09Cap09
Cap09
 
Cap09
Cap09Cap09
Cap09
 
Cap09
Cap09Cap09
Cap09
 
Vetores e Matrizes.pdf
Vetores e Matrizes.pdfVetores e Matrizes.pdf
Vetores e Matrizes.pdf
 
Arrays / Vetores / Matrizes em programação
Arrays / Vetores / Matrizes em programaçãoArrays / Vetores / Matrizes em programação
Arrays / Vetores / Matrizes em programação
 
Vetores e Matrizes em C.
Vetores e Matrizes em C.Vetores e Matrizes em C.
Vetores e Matrizes em C.
 
Trabalho vetores
Trabalho vetoresTrabalho vetores
Trabalho vetores
 
Aula 13
Aula 13Aula 13
Aula 13
 
mod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacaomod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacao
 
Java básico - Módulo 06: Array
Java básico - Módulo 06: ArrayJava básico - Módulo 06: Array
Java básico - Módulo 06: Array
 
Java8
Java8Java8
Java8
 
Aula 5 aed - vetores
Aula 5   aed - vetoresAula 5   aed - vetores
Aula 5 aed - vetores
 
Ap vetores
Ap vetoresAp vetores
Ap vetores
 
Excel VBA: Aula 11
Excel VBA: Aula 11Excel VBA: Aula 11
Excel VBA: Aula 11
 
Aula 06 vetores e matrizes
Aula 06   vetores e matrizesAula 06   vetores e matrizes
Aula 06 vetores e matrizes
 

Mais de Eugenio Caetano

6. estruturas de controlo de fluxo
6. estruturas de controlo de fluxo6. estruturas de controlo de fluxo
6. estruturas de controlo de fluxoEugenio Caetano
 
5. introducao a linguagem c
5. introducao a linguagem c5. introducao a linguagem c
5. introducao a linguagem cEugenio Caetano
 
4. metodos de contrucao de algoritmo
4. metodos de contrucao de algoritmo4. metodos de contrucao de algoritmo
4. metodos de contrucao de algoritmoEugenio Caetano
 
6. Estruturas de controlo de fluxo (decisao)
6. Estruturas de controlo de fluxo (decisao)6. Estruturas de controlo de fluxo (decisao)
6. Estruturas de controlo de fluxo (decisao)Eugenio Caetano
 
Introducao ao visual basic
Introducao ao visual basicIntroducao ao visual basic
Introducao ao visual basicEugenio Caetano
 
Importancia da comunidade virtual de aprendizagem
Importancia da comunidade virtual de aprendizagemImportancia da comunidade virtual de aprendizagem
Importancia da comunidade virtual de aprendizagemEugenio Caetano
 
2. ambiente de desenvolvimento do vb (parte 1)
2. ambiente de desenvolvimento do vb (parte 1)2. ambiente de desenvolvimento do vb (parte 1)
2. ambiente de desenvolvimento do vb (parte 1)Eugenio Caetano
 
3. ambiente de desenvolvimento do vb (parte 2)
3. ambiente de desenvolvimento do vb (parte 2)3. ambiente de desenvolvimento do vb (parte 2)
3. ambiente de desenvolvimento do vb (parte 2)Eugenio Caetano
 

Mais de Eugenio Caetano (15)

18. arduino
18. arduino18. arduino
18. arduino
 
15. c++ e arduino
15. c++ e arduino15. c++ e arduino
15. c++ e arduino
 
15. introducao ao c++
15. introducao ao c++15. introducao ao c++
15. introducao ao c++
 
6. estruturas de controlo de fluxo
6. estruturas de controlo de fluxo6. estruturas de controlo de fluxo
6. estruturas de controlo de fluxo
 
5. introducao a linguagem c
5. introducao a linguagem c5. introducao a linguagem c
5. introducao a linguagem c
 
4. metodos de contrucao de algoritmo
4. metodos de contrucao de algoritmo4. metodos de contrucao de algoritmo
4. metodos de contrucao de algoritmo
 
Sala de aula em rede
Sala de aula em redeSala de aula em rede
Sala de aula em rede
 
11. Relatorios e OLE
11. Relatorios e OLE11. Relatorios e OLE
11. Relatorios e OLE
 
6. Estruturas de controlo de fluxo (decisao)
6. Estruturas de controlo de fluxo (decisao)6. Estruturas de controlo de fluxo (decisao)
6. Estruturas de controlo de fluxo (decisao)
 
5. Operadores
5. Operadores5. Operadores
5. Operadores
 
Introducao ao visual basic
Introducao ao visual basicIntroducao ao visual basic
Introducao ao visual basic
 
Importancia da comunidade virtual de aprendizagem
Importancia da comunidade virtual de aprendizagemImportancia da comunidade virtual de aprendizagem
Importancia da comunidade virtual de aprendizagem
 
2. ambiente de desenvolvimento do vb (parte 1)
2. ambiente de desenvolvimento do vb (parte 1)2. ambiente de desenvolvimento do vb (parte 1)
2. ambiente de desenvolvimento do vb (parte 1)
 
3. ambiente de desenvolvimento do vb (parte 2)
3. ambiente de desenvolvimento do vb (parte 2)3. ambiente de desenvolvimento do vb (parte 2)
3. ambiente de desenvolvimento do vb (parte 2)
 
Celular
CelularCelular
Celular
 

8. matrizes

  • 1. Fundamentos de Programação Tema XII: Matrizes Docente: Eugénio Xavier Domingos Caetano
  • 2. Matrizes  A matriz é um tipo de dado usado para representar uma certa quantidade de variáveis que são referenciados pelo mesmo nome.  Consiste em locações contíguas de memória.  O endereço mais baixo corresponde ao primeiro elemento.  Uma matriz é uma coleção de variáveis de mesmo tipo, acessíveis com um único nome e armazenados contiguamente na memória.
  • 3.  A individualização de cada variável de um vetor é feita através do uso de índices.  Os Vetores são matrizes de uma só dimensão.  Matriz é a uma estrutura de dados do tipo vetor com duas ou mais dimensões.  Os itens de uma matriz tem que ser todos do mesmo tipo de dado.  Na prática, as matrizes formam tabelas na memória.
  • 4. Matriz Unidimensional (Vector)  Sintaxe: tipo nome[tamanho];  As matrizes tem 0 como índice do primeiro elemento, portanto sendo declarada uma matriz de inteiros de 10 elementos, o índice varia de 0 a 9.
  • 5. Acesso aos elementos do vetor  Para acessar os elementos de um vetor usa-se índices.  O índice define a posição da variável dentro do vetor.  Em todos os vetores tem o primeiro elemento na posição 0(zero).  Assim, se tomarmos "K" como sendo o tamanho do vetor a última posição é a de índice "K-1" int Vector[5]; Vetor[0] = 4; // Coloca 4 na primeira posição de
  • 6. int Vetor[5]; // declara um vetor de 5 posições Vetor[0] = 9; // coloca 9 na primeira posição do vetor Vetor[4] = 30 // coloca 30 na última posição do vetor  Preenchimento de um vetor com um dado ◦ for(i=0; i<5; i++) for(i=0; i<=4; i++) Vetor[i] = 30; Vetor[i] = 30;  Colocar os números de 1 a 5 em Vetor ◦ for(i=0; i<5; i++) Vetor[i] = i+1; Exemplos com Vetores
  • 7.  Colocar os números de 5 a 1 em Vetor ◦ for(i=0; i<5; i++) Vetor[i] = 5-i;  Uso de Constantes para definir o tamanho de um vetor #include<stdio.h> #define TAM_MAX 10 double VetReais[TAM_MAX]; int main(){ for(i=0; i<TAM_MAX; i++) VetReais[i] = TAM_MAX - i; // coloca 5,4,3,2,1 no vetor return 0; }
  • 8.  Copiar os dados de um vetor para outro #include<stdio.h> #define TAM_MAX 10 double VetReais[TAM_MAX], Copia[TAM_MAX]; int main(){ for(i=0; i<TAM_MAX; i++) VetCopia[i] = VetReais[i]; // Copia os dados de um vetor // para outro return 0; }
  • 9.  Copiar os dados de um VET1 para as primeiras 5 posições de COPIA e VET2 para as outras 5 #include<stdio.h> #define TAM_MAX 10 // Note que a declaração do vetor "Cópia" cria o dobro de posições double Vet1[TAM_MAX], Vet2[TAM_MAX], Copia[TAM_MAX*2]; int main(){ for(i=0; i<TAM_MAX; i++) VetCopia[i] = Vet1[i]; // Copia os dados do primeiro vetor for(i=0; i<TAM_MAX; i++) // Copia os dados do segundo vetor VetCopia[i+TAM_MAX] = Vet2[i]; return 0; }
  • 10.  Leitura dos dados de um um vetor #include<stdio.h> #define TAM_MAX 10 double Vet1[TAM_MAX]; int main(){ for(i=0; i<TAM_MAX; i++) scanf("%f",&Vet1[i]); return 0; }
  • 11. Matriz Multidimensional  Sintaxe: tipo nome[tamanho][tamanho] ...;  Funciona como na matriz de uma dimensão (vetor), mas tem mais de um índice.
  • 12. Como atribuir valores a uma matriz?  Suponha a matriz como declarada: ◦ float Media[5] [2];  para atribuir uma valor precisamos identificar a posição usando os índices: ◦ Media [0][0] = 5; //Atribui o valor 5 na primeira linha e primeira coluna. ◦ Media [1][0] = 7; // Atribui o valor 7 na segunda linha, primeira coluna
  • 13. Preenchendo uma matriz  Para fazer o preenchimento de uma matriz, devemos percorrer todos os seus elementos e atribuir-lhes um valor.  Isto pode ser feito tanto gerando valores para cada elemento da matriz, como recebendo os valores pelo teclado.  Um método interessante para percorrer uma matriz é usar duas estruturas de repetição for e duas variáveis inteiras, uma para a linha e a outra para a coluna.
  • 14.  Exemplo:  Suponha uma matriz de 3 linhas por 3 colunas do tipo inteiro.  Para percorrer a matriz recebendo seus valores, podemos fazer: for ( i=0; i<3; i++ ) { for ( j=0; j<3; j++ ) { scanf ("%d", &matriz[ i ][ j ]); } }
  • 15.  Neste trecho de código, a variável i representa a linha e j a coluna da matriz.  Usando as repetições, percorremos cada posição da matriz e recebemos um valor usando scanf();
  • 16. Mostrando os elementos de uma matriz  Para mostrar os elementos de uma matriz, podemos usar o mesmo método, porém usamos o comando de saída printf(). for ( i=0; i<3; i++ ) { for ( j=0; j<3; j++ ) { printf ("%d", matriz[ i ][ j ]); } }
  • 18.
  • 19. Conclusoes  Utilizamos um par de estruturas de repetição for para primeiramente fazer a leitura dos valores da matriz.  Fixamos a linha, ou seja, o índice i enquanto o índice da coluna j varia até preencher todos os elementos da linha.  Depois que uma linha é preenchida, o índice da linha é incrementado e recomeça o preenchimento da coluna por coluna com o loop for interno controlado pelo índice j.