Vetores
Teoria
Introdução
Eai, blz? Nesse tópico a gente vai entender o que são vetores em C++ e como declaramos um vetor!
Primeiramente, vamos imaginar que você é contratado para desenvolver um programa que analisa a vazão de uma represa e, para isso, recebeu uma base de dados que possui a vazão ao longo de todo o ano, com um valor de vazão para cada dia.
Criar 365 variáveis para armazenar os valores das vazões seria algo viável?
Não, essa alternativa seria muito trabalhosa e inviável.
Para trabalhar com um conjunto de valores desse tipo, são utilizados os vetores!
Um vetor (ou array) é uma estrutura de dados que pode armazenar um conjunto de valores do mesmo tipo de forma indexada. Mas o que isso significa?
Bom, vamos pensar num livro. Um livro possui um conjunto de páginas, e cada página possui um número que representa a sua localização dentro do livro. Um vetor, é como um livro, que armazena um conjunto de dados do mesmo tipo (como as páginas), e cada dado vai está indexado de forma a sabermos a sua localização dentro do array (como a numeração das páginas).
Declarando um vetor
A maneira de declararmos um vetor é bem semelhante a como declaramos uma variável, com algumas diferenças.
Vamos imaginar que precisamos armazenar as notas de um aluno ao longo de um semestre. Nesse caso, armazenar esses valores num vetor seria uma alternativa muito melhor do que criar uma variável para cada nota.
Para declararmos esse vetor, vamos precisar das seguintes informações:
- O tipo de dado que será armazenado no vetor
- O nome do vetor
- A quantidade de valores que serão armazenadas nesse vetor
Sabendo disso, vamos partir para a sintaxe:
Dessa forma, para o vetor que queremos declarar, teríamos:
Perceba que declaramos esse vetor como um , isso indica que os valores que serão passados para ele são pontos flutuantes e indicamos, dentro dos colchetes, que serão passados 10 valores.
O próximo passo é atribuir valores a esse vetor, o que seria equivalente a colocarmos as notas do aluno. Para isso, usamos a seguinte sintaxe:
No nosso caso, teríamos:
Dessa forma, conseguimos armazenar num único vetor o que normalmente precisaríamos de 10 variáveis.
Agora que já sabemos como declarar um vetor, vamos resolver alguns exercícios de fixação!
Declarando um vetor
Exercícios Resolvidos
Exercício Resolvido #1
Elaboração Própria
Explique o que é um vetor e como o declaramos em C++.
Passo 1
Um vetor (ou array) é uma estrutura de dados que pode armazenar um conjunto de valores do mesmo tipo, de forma indexada, por meio de um único referenciador.
Passo 2
Para declararmos um vetor, começamos com o tipo dos dados que serão armazenados nele, depois colocamos o seu nome e a quantidade de termos que poderão ser armazenados.
Resposta
Exercício Resolvido #2
Elaboração Própria
Explique o erro de sintaxe que ocorreu no exemplo a seguir e reescreva o código o corrigindo.
Passo 1
Eai, tudo beleza?
Para declararmos um vetor, utilizamos a seguinte sintaxe:
Comparando com a utilizada no código dado, percebemos que há dois erros na linha 3:
- Uso de parênteses no lugar dos colchetes para definir o tamanho máximo do vetor.
- Os valores atribuídos ao vetor estão separados por ponto e vírgula, enquanto deveríam estar separados apenas por vígula.
Passo 2
Agora vamos alterar o código mudando os dois pontos destacados no passo 1:
Resposta
Uso inadequado de ponto e vírgula e declarar o tamanho máximo do vetor entre parênteses.
Exercício Resolvido #3
Elaboração Própria
Dentre os vetores declarados a seguir, diga quais estão declarados da forma correta e quais estão declarados da forma errada.
Passo 1
Eai, tudo tranquilo?
Para sabermos se os vetores estão declarados de forma certa, temos que ter em mente o seguinte modelo:
Ou, caso sejam atribuídos valores juntamente com a declaração do vetor, seguimos:
Com base nisso, vamos analisar cada um dos vetores.
Passo 2
- – Nesse vetor, percebemos que dentro do colchete, onde deve estar contido o tamanho do vetor, ou seja, a quantidade de valores que serão armazenados nele, está um número não inteiro, . Isso está errado, pois não faz sentido definirmos um vetor com uma quantidade quebrada de termos, e o computador não entende esse comando.
- – Esse vetor segue o modelo dado a risca, estando correto.
- - Esse vetor é do tipo e é declarado com um tamanho 4. Isso significa que ele pode armazenar até 4 caracteres, no entando, percebemos que são passados 5 valores para ele, o que está errado, pois ele não tem capacidade para armazenar um quinto valor.
Resposta
- – errado
- – correto
- - errado
Exercício Resolvido #4
Elaboração Própria
Um supermercado precisa anotar a quantidade que cada cliente gasta em uma compra para fazer uma análise dos valores. Sabendo que o máximo de compras que ocorrem nesse supermercado no intervalo de um dia é 250, crie um vetor que possa armazenar o valor de cada compra de um dia com uma precisão mínima de duas casas decimais.
Passo 1
Eae, tudo tranquilo?
Vamos estudar um pouco esse vetor que precisamos declarar. Como é dito, ele precisa ter a capacidade de armazenar 250 valores, mas de que tipo? Bom, como é preciso ter uma precisão de até 2 casas decimais, um bom pedido seria o tipo , que tem uma precisão de até 7 casas decimais, suprindo muito bem a nossa necessidade.
Passo 2
Como já sabemos a quantidade máxima de dados a serem armazenados e o tipo desses dados, vamos declarar o nosso vetor.
Resposta
Exercício Resolvido #5
Elaboração Própria
Suponha que você foi contratado por uma empresa que trabalha com mercado financeiro para analisar como uma determinada ação se comportou ao longo de um ano. Para isso, você resolveu criar um programa em C++ para trabalhar com os dados dessa empresa.
Ao longo do seu programa, você precisou armazenar o valor máximo dessa ação para cada mês do ano de 2021 e percebeu que poderia usar os seus conhecimentos de vetores para isso. Crie esse vetor sabendo que será utilizada somente a parte inteira do valor dessa ação.
Passo 1
Eae, tudo tranquilo?
Para declararmos esse vetor, precisamos, inicialmente, definir qual é o tipo de dado que será armazenado nele e a quantidade de dados.
Como no enunciado é dito que só precisamos utilizar a parte inteira do valor da ação, podemos definir o vetor como do tipo . Pensando agora na quantidade de termos, precisamos armazenar um único valor para cada mês do ano, ou seja, precisamos de no máximo 12 valores.
Passo 2
Agora, vamos declarar esse vetor no nosso código. Como queremos armazenar o valor máximo para cada mês do ano, vamos chamar o vetor de .
Resposta
Exercício Resolvido #6
Elaboração Própria
Declare um vetor para salvar a informação de uma data. Esse vetor deve possuir 3 posições: na primeira ele guarda o dia, na segunda ele guarda o mês e na terceira ele guarda o ano. Inicie esse vetor com valores iniciais.
Passo 1
Eai, tudo beleza?
Nessa questão nós temos que salvar uma data dentro de um vetor. Como os valores para representar o dia, o mês e o ano podem ser inteiros, vamos declarar esse vetor como um com 3 espaços de armazenamento:
Passo 2
Por fim, vamos fazer com que ele armazene uma data. O primeiro elemento vai ser o dia, o segundo será o mês e o ultimo será o ano. Como o enunciado não especificou qual data deveríamos guardar, que tal salvarmos a data do natal de 2022?
Resposta
Exercício Resolvido #7
Elaboração Própria
Admita que é uma função em que admita os seguintes valores de acordo com a tabela:
Suponha que você está desenvolvendo um programa de computador para encontrar uma função polinomial que corresponde à função . Para isso, você resolve guardar os valores de e da tabela acima em vetores. Declare esses vetores em C++.
Passo 1
Eai, tudo beleza?
Nessa questão, será necessário declararmos 2 vetores para armazenar os dados da tabela que nos foi fornecida. Para isso, vamos iniciar com o vetor . Como todos os valores da tabela são números inteiros, vamos declarar esse vetor como do tipo e passar 6 valores para ele de acordo com o enunciado:
Passo 2
Por fim, vamos declarar o vetor para armazenar os valores de . Assim como o anterior, esse vetor será do tipo e terá 6 posições. Além disso, vamos chama-lo apenas de , pois o uso de parênteses no C++ é normalmente utilizado em funções e não em vetores.
Resposta
Exercício Resolvido #8
Elaboração Própria
Na calibração de um pirômetro de metal ( de níquel e de cobre) é o valor em milivolts e é a temperatura em graus Farenheit. Seja a seguinte tabela:
Suponha que você esteja desenvolvendo um programa em C++ para prever uma temperatura tendo a voltagem do pirômetro. Para isso, você utiliza os dados da tabela acima como um banco de dados. Declare 2 vetores para armazenar esses dados neles.
Passo 1
Eai, tudo beleza?
Nessa questão, nós temos que salvar os dados de um pirômetro em vetores para que possam ser utilizados posteriormente no nosso código.
Inicialmente, vamos declarar o vetor para guardar os dados da voltagem, que estão na primeira linha da tabela. Como os dados da tabela são todos inteiros, vamos declarar esse vetor como . Além disso, já vamos iniciar ele com os valores fornecidos:
Passo 2
Por fim, basta declarar o vetor para armazenar os dados da temperatura e inicializar ele com os valores da tabela: