Introdução aos vetores

Ver Todos os Exercícios

Teoria

Introdução

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

Durante os tópicos anteriores nós analisamos e resolvemos inúmeros exemplos e exercícios (eu espero), mas até então todos esses problemas tratavam pouquíssimos dados.

Certo... Mas em que ponto eu quero chegar?

Imagine que nós tenhamos que desenvolver um programa que calcule a média aritmética de 100 números inteiros, como nós faríamos isso?

Para ser sincero, eu espero que a ideia de declarar 100 variáveis tenha passado muito longe das nossas cabeças, pois isso é uma solução inviável.

Mas pode ficar tranquilo(a), é super normal pensarmos assim! Por outro lado, a resposta para esse e muitos outros problemas está logo aqui embaixo!

Vetores

Imagine que você possui uma prateleira exclusivamente para guardar coisas de um mesmo tipo, por exemplo os seus livros preferidos.

Um vetor não é diferente, ele possui para o programa o mesmo papel que a prateleira descrita anteriormente possui para você. Portanto, um vetor é capaz de armazenar inúmeros dados computacionais desde que eles sejam do mesmo tipo.

Mas como nós sabemos qual tipo utilizar em um vetor?

Para facilitar as nossas vidas, todas as regras que aplicamos para a declaração de variáveis são nós também aplicamos na declaração de vetores, ou seja, os tipos são os mesmos!

A figura a seguir ilustra um vetor de números inteiros:

Está ficando mais fácil de entender, né?

A verdade é que ao declararmos um vetor, nós estamos reservando um bloco sequencial de memória para armazenar os dados.

Além disso, nós temos que lembrar que todos os vetores devem possuir um nome, tipo e quantidade de elementos suportados.

Analisando o vetor acima, podemos afirmar que ele possui 5 elementos, esses elementos são números inteiros (tipo int) e podemos chamá-lo de vetor números, pois é um nome que se relaciona com o tipo dos dados que ele armazena.

Retornando ao problema inicial da média aritmética, a vantagem de utilizar um vetor nesse caso está na facilidade de trabalhar apenas com uma referenciação capaz de guardar 100 dados, ao invés de 100 variáveis guardando 1 dado cada.

Para ficar super claro, mais um exemplo!

Dá uma olhadinha nessa figura:

Analisando esse vetor, conseguimos extrair que ele possui 6 elementos, esses elementos são caracteres (tipo char) e podemos chamá-lo de vetor letras.

Criando um vetor

Beleza! Nós sabemos o que é um vetor, mas como nós transferimos o vetor números teorizado anteriormente para a linguagem C?

A figura abaixo ilustra o trecho de código capaz de realizar isso:

Mas por quê?

Vou explicar passo a passo para entendermos direitinho:

  1. A primeira coisa que devemos fazer quando iremos declarar um vetor é falar para o programa o tipo dos dados que serão armazenados por ele, no caso do vetor números o tipo é int.
  2. Em seguida, devemos decidir o nome do vetor, que nesse caso será: n u m e r o s . Você que escolhe o nome que deseja atribuir a um vetor, mas é bom que esse nome faça sentido com os dados que ele irá armazenar, beleza?
  3. Além disso, devemos falar para o programa a quantidade máxima de elementos que o vetor irá suportar, no nosso exemplo essa quantidade é 5.
  4. Por fim, NÃO PODEMOS NOS ESQUECER DO PONTO E VÍRGULA!

De maneira geral, a figura a seguir ilustra de maneira geral o trecho de código que podemos utilizar para declarar um vetor na linguagem C:

Agora que nós já sabemos o que é um vetor, está na hora de exercitarmos os nossos cérebros!

Te encontro aqui do lado nos exercícios de fixação, beleza?

Vetores

Criando um vetor

Exercícios Resolvidos

Exercício Resolvido #1

Analise o seguinte trecho de código:

Identifique o erro presente nas declarações dos vetores acima.

Passo 1

Durante a declaração, mais precisamente ao fornecer o tamanho do vetor, existe um erro de sintaxe. Pois, ao invés da utilização de colchetes foi utilizado parênteses.

Resposta

A figura a seguir ilustra a forma correta de declaração desses vetores:

Exercício Resolvido #2

Explique qual é a utilidade do vetor em um programa e como o mesmo pode ser definido na linguagem C.

Passo 1

Um vetor é um instrumento na programação que possibilita o armazenamento de inúmeros dados computacionais de um mesmo tipo através de um único ponto de referenciação.

Passo 2

Todo vetor deve possuir um tipo, nome e quantidade máxima de posições de armazenamento. A figura a seguir ilustra a partir de uma forma geral como criar um vetor:

Resposta

Ei, a resposta está no passo a passo :)

Exercício Resolvido #3

Analise o seguinte vetor:

Quais são os elementos presentes nos índices 0 e 3?

Passo 1

Dado que todos os vetores possuem os seus índices iniciados em 0, o elemento 2 ocupa a posição 0 do vetor, enquanto o elemento 29 ocupa a posição de índice 3.

Resposta

Ei, a resposta está no passo a passo :)

Exercício Resolvido #4

Um time de futebol, visando aumentar o rendimento de seus atletas decidiu criar um programa de análise de eficiência. Durante o desenvolvimento do programa, um vetor foi criado para armazenar a altura do time de 11 jogadores. Crie esse vetor na linguagem C.

Passo 1

A figura a seguir ilustra a criação do vetor responsável por armazenar as alturas de um time de futebol na linguagem C:

Onde pode-se extrair as seguintes informações:

  • Tipo de dados float (altura);
  • O vetor possui o nome a l t u r a s ;
  • O vetor pode armazenar no máximo 11 alturas (quantidade de atletas titulares de um time de futebol).

Resposta

Ei, a resposta está no passo a passo :)

Exercício Resolvido #5

O professor de programação da sua faculdade, visando otimizar o tempo de correção da última prova aplicada, decidiu criar um programa capaz de comparar as respostas das provas dos alunos com o gabarito oficial automaticamente.

Para armazenar as respostas das questões da prova, ele decidiu utilizar um vetor. Esse vetor possui os seus índices atrelados as questões, que por sua vez armazenam as alternativas que correspondem as suas respostas corretas.

A figura a seguir ilustra o gabarito oficial da prova representado através do vetor:

Com base nessas informações responda:

  • Quantas questões a prova possui?
  • Qual é o tipo de dados utilizado para a criação desse vetor?
  • Qual é a alternativa que responde corretamente a 3ª questão dessa prova?

Passo 1

Vamos começar do começo.

Quantas questões a prova possui?

O vetor que desempenha papel de gabarito oficial possui 5 posições, logo 5 respostas. Dessa forma, podemos afirmar que a prova aplicada por esse professor possui 5 questões.

Passo 2

Qual é o tipo de dados utilizado para a criação desse vetor?

Como cada posição do vetor irá armazenar a alternativa que responde a uma questão da prova e essas alternativas são representadas por letras, podemos afirmar que o tipo de dados do vetor é char.

Passo 3

Qual é a alternativa que responde corretamente a 3ª questão dessa prova?

Nós sabemos que a prova possui 5 questões, mas também sabemos que o vetor diferentemente das provas inicia em 0.

Dessa forma, devemos descobrir a correspondência de índice para questão utilizada pelo programa, que para falar a verdade é bem simples. Se m é o índice do vetor, a questão que essa posição se refere é m + 1, pois ao analisarmos o último índice (4) chegaremos em 4 + 1 que é igual a 5, ou seja, a última questão da prova (tamanho do vetor).

Portanto, a alternativa que responde corretamente a 3ª questão da prova é aquela armazenada pelo índice 2, que é a alternativa b).

Resposta

Ei, a resposta está no passo a passo :)

Exercício Resolvido #6

Analise o seguinte programa:

Identifique o erro que impede o programa de ser executado corretamente.

Passo 1

O erro presente na declaração do vetor a l f a b e t o (linha 05) ocorre pela ausência do ponto e vírgula que é exigido para finalizar o comando de declaração.

Resposta

Ei, a resposta está no passo a passo :)

Exercício Resolvido #7

Uma franquia de lojas de roupas, para melhorar a experiência dos clientes em suas dependências, decidiu colocar totens na saída de uma de suas principais lojas para que os consumidores possam avaliar o atendimento recebido.

Sabendo que essa loja possui uma média de 150 clientes todos os dias e que as avaliações deixadas por eles serão salvas localmente pelo programa em um vetor até serem enviadas no final do dia para o banco de dados da franquia.

Crie uma representação desse vetor na linguagem C, considerando que as avaliações disponíveis nos totens presentes na loja são:

  1. Atendimento ruim;
  2. Atendimento regular;
  3. Atendimento excelente.

Passo 1

A primeira coisa que devemos fazer para representarmos esse vetor na linguagem C é analisarmos as suas características.

Dessa forma, podemos denominar esse vetor como avaliacoes. Além disso, sabemos que as avaliações disponíveis se baseiam em números de 1 a 3, logo podemos definir o tipo de dados desse vetor como int. Por fim, como a média de clientes da loja é de 150 pessoas diariamente, podemos colocar uma margem de mais 25 pessoas, pois sabemos que nem todos os clientes votam após suas compras e protegemos o programa de bugs caso o pior caso ocorra (todos os clientes votarem quando a média for ultrapassada).

Com base em todas as informações acima, nós conseguimos extrair as seguintes informações sobre o vetor:

  • É denominado como avaliacoes;
  • É do tipo int;
  • Possui 175 posições.

Resposta

Portanto, a imagem a seguir ilustra a criação do vetor avaliacoes na linguagem C:

Exercício Resolvido #8

Analise o seguinte programa:

Identifique o nome, tipo e quantidade máxima de elementos do vetor utilizado nesse programa, bem como a linha em que ele foi declarado.

Passo 1

Vamos começar apresentando algumas informações sobre o vetor:

  • Tipo de dados float (nota);
  • O vetor possui o nome n o t a s ;
  • O vetor pode armazenar no máximo 3 notas.

Além disso, a declaração do vetor n o t a s foi realizada na linha 07 do programa previamente apresentado.

Resposta

Ei, a resposta está no passo a passo :)