Quando precisamos armazenar dados temporários em programas, usamos variáveis. No entanto, quando há muitos valores relacionados (como notas de vários alunos), criar várias variáveis individuais se torna trabalhoso e sujeito a erros. Para resolver isso, utilizamos os vetores, que permitem armazenar diversos valores do mesmo tipo em uma única estrutura.
O desenvolvimento será feito na linguagem C#, utilizando um IDE (Ambiente de Desenvolvimento Integrado). A recomendação é o Microsoft Visual Studio Community, que pode ser baixado gratuitamente.
Para cada programa, cria-se um novo projeto em: Arquivo > Novo > Projeto...
A estrutura inicial do código não deve ser alterada. Todos os programas devem ser escritos entre as chaves do
método
Main
. A linha padrão Console.WriteLine("Hello World!");
pode ser apagada.
Para rodar o código, basta usar a tecla de atalho Ctrl + F5.
Veja o seguinte vídeo para melhor entendimento sobre vetores: link
Também é possível usar IDEs online, como Replit e .NET Fiddle.
Uma variável pode ser comparada a uma gaveta que armazena um valor específico. Já um vetor é como um gaveteiro, com várias gavetas do mesmo tipo, onde cada posição é identificada por um índice (que começa em 0).
Os valores armazenados em variáveis e vetores dependem do tipo de dado definido. Alguns dos principais tipos primitivos em C# são mostrados na tabela abaixo:
Descrição | Representação em C# | Valores possíveis |
---|---|---|
Inteiro | int |
-2.147.483.648 até 2.147.483.647 |
Inteiro longo | long |
-9.223.372.036.854.775.808 até 9.223.372.036.854.775.807 |
Decimal | double |
±5.0 × 10-324 até ±1.7 × 10308 |
Caractere | char |
Unicode UTF-16 (U+0000 até U+FFFF) |
Lógico | bool |
true ou false |
No momento da criação, já é possível atribuir todos os valores:
double[] notas = {8.7, 5.4, 6.2};
Primeiro define-se o tamanho, depois os valores são atribuídos:
double[] notas = new double[3];
Primeiro declara-se o vetor, depois define-se o tamanho em outro ponto do código:
double[] notas; notas = new double[3];
O tamanho também pode ser definido dinamicamente com base em valores fornecidos pelo usuário.
Vetores são úteis para realizar operações sobre todos os elementos. Exemplo: cálculo da média de notas.
Versão inicial (cálculo direto com índices fixos):
double[] notas = {8.7, 5.4, 6.2}; double media = (notas[0] + notas[1] + notas[2]) / 3;
Versão com laço for
, permitindo percorrer qualquer vetor:
double soma = 0; for (int i = 0; i < notas.Length; i++) soma += notas[i]; double media = soma / notas.Length;
Exemplo completo: leitura das notas digitadas pelo usuário e cálculo da média.
Console.WriteLine("Defina quantos alunos há na turma:"); int tamanho = int.Parse(Console.ReadLine()); double[] notas = new double[tamanho]; // Armazenando as notas for (int i = 0; i < notas.Length; i++) { Console.WriteLine("Digite a nota do aluno " + (i + 1) + ":"); notas[i] = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture); } // Recuperando as notas para calcular a média double soma = 0; for (int i = 0; i < notas.Length; i++) { Console.WriteLine("Nota do aluno " + (i + 1) + ": " + notas[i]); soma += notas[i]; } double media = soma / notas.Length; Console.WriteLine("Média das notas na turma é: " + media);
O uso de laços for
é fundamental para percorrer vetores, seja para preenchê-los, seja para recuperar
seus valores.
Vetores podem ser usados como parâmetros e também como retorno de funções.
static double calcularMedia(double[] notas) { double soma = 0; for (int i = 0; i < notas.Length; i++) soma += notas[i]; return soma / notas.Length; }
static void inverterVetor(double[] vetor) { double temp; for (int i = 0; i < vetor.Length/2; i++) { temp = vetor[i]; vetor[i] = vetor[vetor.Length - 1 - i]; vetor[vetor.Length - 1 - i] = temp; } }
Atenção: em C#, quando copiamos um vetor, copiamos apenas a referência na memória. Se quisermos criar uma cópia independente, precisamos copiar valor a valor:
double[] notas = { 8.7, 5.4, 6.2 }; double[] n = new double[notas.Length]; for (int i = 0; i < notas.Length; i++) n[i] = notas[i];
for
junto de vetores para preencher ou percorrer seus elementos.Pratique criando vetores de diferentes tipos, manipulando-os com funções e testando cópias, para reforçar sua habilidade em programação.