Introdução às matrizes

Teoria Completa

Introdução

Fala aí, aqui é o Guga do Responde Aí! Tudo bem com você?

Anteriormente nós batemos um papo sobre o que são e como funcionam os vetores. Sem perder o fio da meada dessas estruturas, hoje nós iremos conversar um pouco sobre matrizes.

Então, vamos nessa!

Matriz

De maneira geral, uma matriz nada mais é do que um vetor com mais de uma dimensão. De fato, essas duas estruturas possuem uma forte relação, o que faz com que na programação uma matriz unidimensional seja um vetor e um vetor com mais de uma dimensão seja uma matriz.

Pegou a referência? Agora que você já conhece essa relação, para facilitar o nosso entendimento iremos adotar algumas referências de menção.

Quando quisermos nos referir a uma estrutura unidimensional utilizaremos a nomenclatura Vetor (estrutura que nós visualizamos através de uma linha de dados computacionais nos tópicos anteriores). No entanto, quando formos nos referir a estruturas com mais de uma dimensão, chamaremos as mesmas de Matriz.

Beleza! Agora vamos parar com esse papo chato de nomenclatura e vamos ver de fato o que é uma matriz, utilizando como exemplo uma de 2 dimensões (matriz bidimensional):

1 0 0 0 1 0 0 0 1

Nessa matriz, ao invés de organizarmos os dados em apenas uma linha (como acontece nos vetores), temos a adição de colunas. Dessa forma, um dado é identificado através do cruzamento entre uma linha e uma coluna.

Vamos para um exemplo!

Se observarmos bem, ao relembrar um jogo conhecido como Campo Minado veremos que o propriamente dito campo se trata de uma matriz e as minas espalhadas pelo mesmo estão localizadas em coordenadas dela.

Sendo assim, começando pelo tamanho, vamos recriar alguns dos conceitos desse jogo em uma matriz computacional. Dá uma olhadinha na seguinte matriz:

0 0 1 0 1 0 0 0 0

O tamanho de uma matriz é dado pela quantidade linhas e colunas que a mesma possui. Então, se uma matriz possui m linhas e n colunas dizemos que ela possui é da ordem m x n.

Dessa forma, considerando que as coordenadas que armazenam o número 1 se trata de locais com a presença de mina e as coordenadas que armazenam o número 0 aquelas que estão livres, nós acabamos de criar um campo minado em formato de matriz computacional de ordem 3 x 3.

Mas o que de fato é a coordenada de uma matriz?

É bem simples, coordenadas são o cruzamento entre linhas e colunas de uma matriz. Sendo assim, utilizando o mesmo exemplo do campo minado reduzido que criamos, podemos referenciar as posições perigosas (aquelas que possuem minas) através de coordenadas.

Portanto, a coordenada ( 0 ,   2 ) é tão perigosa quanto a coordenada ( 1 ,   1 ) , pois ambas armazenam o número 1 (contém mina). Onde o primeiro número da coordenada referência uma linha e o segundo uma coluna da estrutura. Vale lembrar que assim como nos vetores, as matrizes possuem suas contagens iniciadas no número 0.

Criando uma matriz

Criar uma matriz é muito semelhante a criar um vetor, a única diferença se encontra na adição da declaração do número de colunas que a mesma terá. Dessa forma, para criar o campo minado reduzido utilizado nos exemplos, basta codificarmos as seguintes linhas:

E acabamos de criar uma matriz denominada campoMinado de ordem 3 x 3 e tipo int. Em uma forma geral, podemos resumir a criação de uma matriz através do seguinte código:

Molezinha, né? Agora que já tivemos a nossa introdução às matrizes, está na hora de resolvermos alguns exercícios de fixação para aprendermos de verdade o conceito.

O portal já vai fechar! Te encontro na página aqui do ladinho.

Expandir

Exercício Resolvido #1

Elaboração própria.

Explique o que é uma matriz e qual é a sua diferença em relação a um vetor.

MOSTRAR SOLUÇÃO COMPLETA

Passo 1

Uma matriz é uma estrutura de ordem m   x   n capaz de armazenar um conjunto de dados computacionais.

Passo 2

Diferentemente do vetor, uma matriz é uma estrutura com mais de uma dimensão. Isso significa que para acessar os dados armazenados nela, sempre será necessário cruzar índices.

Para ficar mais fácil, observe a seguinte matriz:

1 0 0 0 1 0 0 0 1

Para acessarmos as posições em que o valor 1 está armazenado, devemos realizar o cruzamento de uma linha com uma coluna (matriz bidimensional). Logo, as posições que possuem o valor 1 armazenado são:

  • Linha 0 e Coluna 0;
  • Linha 1 e Coluna 1;
  • Linha 2 e Coluna 2.

Resposta

Exercício Resolvido #2

Elaboração própria.

Um dos jogos mais famosos do mundo, conhecido no Brasil como “Jogo da Velha” é representado a seguir com uma partida:

Em um determinado dia o seu professor de programação passou como trabalho a criação do jogo da velha no computador. Tendo estudado o conteúdo do trabalho no Responde Aí, você teve a brilhante ideia de representar o campo do jogo em uma matriz.

Tendo como base a partida acima, como ficaria a sua representação em uma matriz na linguagem C sendo que as seguintes regras foram passadas por seu professor:

  • O número 0 deve representar que a casa está vazia;
  • O número 1 deve representar o jogador com bolinha;
  • O número 2 deve representar o jogador com xis.
MOSTRAR SOLUÇÃO COMPLETA

Passo 1

Para entendermos com essa partida de jogo da velha ficará em uma matriz computacional, basta realizarmos a substituição de xis, bolinha ou casa vazia pelos seus respectivos números (passados como regra por seu professor).

Resposta

Ao término da substituição, a matriz representará a partida apresentada no enunciado a partir de dados computacionais:

1 2 1 0 2 1 2 1 2

Exercício Resolvido #3

Elaboração própria.

A imagem a seguir representa um dos campos de um jogo muito conhecido como Batalha Naval:

Recrie esse campo na linguagem C utilizando para isso uma matriz.

MOSTRAR SOLUÇÃO COMPLETA

Passo 1

Antes de efetivamente criarmos essa matriz em um programa, devemos analisar a sua ordem. Como se trata de um campo com 10 linhas e 10 colunas, podemos dizer que a matriz será bidimensional e terá ordem 10.

Passo 2

Com a ordem identificada, basta realizarmos a sua declaração no programa:

A primeira coisa que nós devemos fazer é avisar para o programa o tipo que essa matriz terá, mas como o enunciado não diz como os navios serão identificados, iremos supor que será utilizado o primeiro caractere do nome do navio. Logo, a matriz será do tipo char.

Em seguida, devemos definir um nome para a matriz, nesse caso a denominados de b a t a l h a N a v a l . Por fim, entre colchetes diferentes, informamos ao programa a quantidade de linhas e colunas e finalizamos o comando com ponto e vírgula.

Resposta

Exercício Resolvido #4

Elaboração própria.

Crie uma matriz do tipo int chamada a r r a y de ordem 4   x   2 .

MOSTRAR SOLUÇÃO COMPLETA

Passo 1

A criação dessa matriz é feita da seguinte forma:

Onde a primeira coisa que nós fazemos é informar ao programa o tipo que a matriz terá, nesse caso int. Em seguida e separada por um espaço em branco informamos o nome da matriz, que é a r r a y . Por fim, basta informamos a ordem entre colchetes diferentes, onde o primeiro valor entre colchetes representa as linhas e o segundo valor, também entre colchetes, representa as colunas dessa matriz.

Resposta

Exercício Resolvido #5

Elaboração própria.

Indique quais são os índices que compõem a diagonal principal de uma matriz x de ordem 5   x   5 .

MOSTRAR SOLUÇÃO COMPLETA

Passo 1

Os índices que formam a diagonal principal de x são:

  • (0, 0);
  • (1, 1);
  • (2, 2);
  • (3, 3);
  • (4, 4);
  • (5, 5).

Resposta

Exercício Resolvido #6

Elaboração própria.

Suponha que a seguinte matriz represente uma partida de dama:

Onde:

  • O número 0 representa as peças brancas;
  • O número 1 representa as peças pretas.

Indique nessa matriz o índice de peças que correm o perigo de serem “comidas” no próximo turno.

MOSTRAR SOLUÇÃO COMPLETA

Passo 1

Se o turno for do jogador preto, a seguinte peça corre perigo:

  • (4, 2).
  • Passo 2

    Por outro lado, se o turno for do jogador branco, as seguintes peças correm perigo:

  • (3, 3);
  • (3, 5).

Resposta

Exercício Resolvido #7

Elaboração própria.

Crie uma matriz de caracteres com 15 linhas e 200 colunas chamada l e t r a s .

MOSTRAR SOLUÇÃO COMPLETA

Passo 1

A primeira coisa que devemos fazer é declarar ao programa o tipo da matriz, nesse caso char. Após isso, devemos falar ao programa o nome dessa matriz, que é l e t r a s seguido da quantidade de linhas e colunas entre diferentes colchetes (15 e 200, respectivamente).

Resposta

Exercício Resolvido #8

Elaboração própria.

Observe a seguinte declaração de m a t r i z :

Qual é o motivo pelo qual o programa apresenta erro de compilação?

MOSTRAR SOLUÇÃO COMPLETA

Passo 1

O programa não compila, pois, a declaração de m a t r i z está errada, mais precisamente na parte dos índices (linhas e colunas). Isso acontece, pois as linhas e as colunas devem ser declaradas em colchetes diferentes e não em apenas um separadas por vírgula.

Passo 2

O trecho de código correto para a declaração de m a t r i z é:

Dessa forma, acabamos de declarar uma matriz denominada m a t r i z do tipo ponto flutuante (float) com 15 linhas e 200 colunas.

Resposta

Esse conteúdo é exclusivo para cadastrados.

Cadastre-se grátis no maior portal de exatas do Brasil!

Relaxa, não vamos publicar nada no seu nome.

  • Resumões direto ao ponto
    Resumões
    direto ao ponto
  • Exercícios resolvidos passo a passo
    Exercícios resolvidos
    passo a passo
  • Videoaulas incríveis
    Videoaulas
    incríveis
  • Aulões Salva-Vidas
    Aulões
    Salva-Vidas