Algoritmos

Vetores e matrizes: o que são e como usar na programação

Capa do artigo Vetores e matrizes: o que são e como usar na programação
Leitura com foco

Entenda o contexto.
Leve para a prática.

Neste artigo
  1. Como funciona um vetor?
  2. Como criar e percorrer um vetor?
  3. E a matriz, o que é?
  4. Quais são os erros mais comuns com vetores?
  5. Onde vetores e matrizes aparecem no dia a dia?
  6. Agora é com você!

Um vetor (ou array) é uma variável que guarda vários valores, um ao lado do outro, cada um em uma posição numerada. Uma matriz é um vetor de vetores: os valores ficam organizados em linhas e colunas, como em uma tabela.

Lá na série sobre as características de uma linguagem de programação, você aprendeu a guardar um valor em uma variável. Só que no mundo real a gente quase nunca trabalha com um valor só, não é verdade? São as notas de uma turma inteira, os produtos de um carrinho de compras, os contatos do seu celular… É aí que entram os vetores!!!

Como funciona um vetor?

Para você nunca mais esquecer, pense em um gaveteiro. O móvel inteiro tem um nome só, mas cada gaveta tem o seu número. Se eu pedir “pega o que está na gaveta 2”, você sabe exatamente onde procurar. O vetor é esse gaveteiro: um nome só para a variável e um número para cada posição. Esse número se chama índice.

Agora vem o detalhe que pega TODO iniciante kkkk: na maioria das linguagens, a primeira gaveta não é a de número 1. É a de número 0! Grave bem isso: o índice começa em zero. Veja como fica um vetor com quatro notas:

Índice0123
Valor7.58.06.59.0
O vetor “notas”: quatro posições, numeradas de 0 a 3.
Diagrama do vetor notas com quatro posições numeradas de 0 a 3, cada uma guardando uma nota
O vetor notas: um nome só e quatro posições, numeradas a partir do zero.

Como criar e percorrer um vetor?

Vamos para o código. Como sempre faço por aqui, vou mostrar o mesmo exemplo em mais de uma linguagem, para você focar no conceito e não na linguagem. O programa guarda quatro notas e calcula a média. Primeiro em PHP:

<?php

$notas = [7.5, 8.0, 6.5, 9.0];

echo $notas[0], PHP_EOL;       // 7.5 (a primeira posição é a 0)
echo count($notas), PHP_EOL;   // 4

$soma = 0;
foreach ($notas as $nota) {
    $soma += $nota;
}

echo $soma / count($notas), PHP_EOL; // 7.75

Agora o mesmo programa em Python:

notas = [7.5, 8.0, 6.5, 9.0]

print(notas[0])    # 7.5 (a primeira posição é a 0)
print(len(notas))  # 4

soma = 0
for nota in notas:
    soma += nota

print(soma / len(notas))  # 7.75

E em C, onde você precisa avisar o tamanho do vetor logo na criação:

#include <stdio.h>

int main(void) {
    float notas[4] = {7.5, 8.0, 6.5, 9.0};
    float soma = 0;

    for (int i = 0; i < 4; i++) {
        soma += notas[i];
    }

    printf("%.2f\n", soma / 4); // 7.75
    return 0;
}

Percebe que as três versões fazem a mesma coisa? Criam o vetor, pegam um valor pelo índice e usam um laço de repetição para passar por todas as posições. Vetor e laço andam sempre juntos!

Uma curiosidade: no PHP, o array é mais flexível que o vetor clássico. O manual oficial explica que ele é, na verdade, um mapa ordenado, que relaciona valores a chaves. Por isso o PHP deixa você usar até texto como índice. Mas isso é assunto para outro artigo kkkk.

E a matriz, o que é?

Se o vetor é um gaveteiro, a matriz é uma planilha: tem linhas e colunas. Para achar um valor você precisa de dois índices: primeiro a linha, depois a coluna. Veja um jogo da velha em PHP:

<?php

$tabuleiro = [
    ['X', 'O', 'X'],
    ['O', 'X', 'O'],
    ['O', 'X', 'X'],
];

echo $tabuleiro[1][2], PHP_EOL; // O (linha 1, coluna 2)

A linha 1 é a segunda linha (lembra do zero?) e a coluna 2 é a terceira coluna. Por isso o resultado é O. Sacou?

Diagrama da matriz tabuleiro, três linhas por três colunas, com a posição da linha 1 e coluna 2 destacada
Na matriz, o primeiro número é a linha e o segundo é a coluna: tabuleiro[1][2] guarda o O.
VetorMatriz
FormatoUma fila de valoresLinhas e colunas
ÍndicesUm: a posiçãoDois: a linha e a coluna
ExemploNotas de um alunoTabuleiro, planilha, imagem
Diferença entre vetor e matriz.

Quais são os erros mais comuns com vetores?

  • Esquecer que o índice começa em zero. Em um vetor de 4 posições, a última é a de índice 3, não 4.
  • Pedir uma posição que não existe. Testei aqui: o PHP 8 mostra o aviso Undefined array key 4 e o Python interrompe o programa com IndexError: list index out of range. O C é o mais perigoso: ele não avisa nada e lê o que estiver naquele pedaço da memória.
  • Trocar a ordem na matriz. É sempre linha primeiro, coluna depois.

Onde vetores e matrizes aparecem no dia a dia?

Em todo lugar!!! Lista de produtos, resultado de uma consulta ao banco de dados, pixels de uma imagem, as casas de um tabuleiro… Vetores e matrizes também são a base de quase todas as estruturas de dados, como a pilha, e de exercícios clássicos como o Hourglass Sum.

Agora é com você!

Crie um vetor com as temperaturas dos sete dias da semana e descubra a maior delas percorrendo o vetor com um laço. Escolha a linguagem que quiser.

Um pedido: não copie e cole, e não peça a resposta pronta para ninguém antes de tentar. Digite, rode, erre e corrija. É assim que o conceito sai da tela e vai para a sua cabeça. Você tem a mesma capacidade de qualquer programador, o que falta é só treino!

No próximo artigo vamos falar sobre funções, que é o jeito de dar nome a um pedaço de código para usar quantas vezes você quiser. Até lá!

Confiança Sempre!!!

Fontes:

Sobre quem escreve

Walmir Silva

Olá! Sou Walmir, engenheiro de software com MBA em Engenharia de Software e o cérebro por trás do GrowthCode e autor do livro "Além do Código".

Se você acha que programação é apenas sobre escrever código, prepare-se para expandir seus horizontes. Aqui, nós vamos além do código e exploramos as interseções fascinantes entre tecnologia, negócios, artes e filosofia.

Você está em busca de crescimento na carreira? Quer se destacar em um mercado competitivo? Almeja uma vida mais rica em conhecimento e realização? Então você chegou ao lugar certo. No GrowthCode, oferecemos insights profundos, estratégias comprovadas e um toque de sabedoria filosófica para catalisar seu crescimento pessoal e profissional.

Ver todos os artigos →

Continue a conversa

Compartilhe sua perspectiva

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Encontre sua próxima resposta

O que você quer aprender?

Preferências de cookies

Os cookies opcionais começam desligados. Você pode mudar a escolha a qualquer momento por esta tela.

NecessáriosSempre ativos

Guardam a sua escolha de cookies e mantêm o site funcionando. Não são usados para publicidade.

Contam visitas e mostram como o site é usado: Google Analytics e Microsoft Clarity, carregados pelo Google Tag Manager. Como esse contêiner também carrega tags de publicidade, as estatísticas só são ativadas junto com Publicidade e marketing.

Exibem anúncios do Google AdSense e medem campanhas e e-mails: pixels da Meta e do TikTok e o Mautic.

Permite que o Google escolha anúncios com base nos seus interesses. Desligado, os anúncios aparecem sem personalização. Depende de Publicidade e marketing.

Também é possível bloquear cookies nas configurações do navegador. Detalhes na Política de privacidade.