Você está na página 1de 17

Universidade Federal de Ouro Preto - UFOP

Departamento de Computação - DECOM


Programação de Computadores I – BCC701

1
 Conteúdo da Aula

◦ Vetores

◦ Algumas funções aplicadas a Vetores

◦ Exercícios

2
 Problema:

◦ Suponha que desejamos armazenar a nota da Prova


I de cada um dos 400 alunos da disciplina BCC-
701.

◦ Como ficaria nosso programa?

3
 Problema:
◦ Nosso programa teria o seguinte código para leitura
de dados:

nota_001 = input("Digite a nota: ");


nota_002 = input("Digite a nota: ");
nota_003 = input("Digite a nota: ");
...
nota_400 = input("Digite a nota: ");

4
 Problema:
◦ Nosso programa teria o seguinte código para
impressão de dados:

printf("NOTA DO ALUNO: %g ", nota_001);


printf("NOTA DO ALUNO: %g ", nota_002);
printf("NOTA DO ALUNO: %g ", nota_003);
...
printf("NOTA DO ALUNO: %g ", nota_400);

5
 Problemas desta codificação:

◦ É necessário um nome diferente para cada nota de


aluno;

◦ O programador deve-se lembrar que a variável cujo o


nome é nota_003, representa a nota do aluno, por
exemplo, BART;

◦ Se o programa manipulasse 1.000 alunos seriam


necessários 1.000 variáveis com nomes diferentes;

6
 Solução para o problema:

◦ Seria interessante se pudéssemos armazenar todos os


dados referentes as notas dos alunos em “conjunto”.

◦ Assim, todos os dados teriam um único nome de


variável (o nome do conjunto) na memória.

◦ Para identificar individualmente cada elemento do


conjunto, associaríamos ao nome do aluno um índice (1
até 400).

7
 Solução para o problema:
◦ Em programação, este conjunto de dados recebe o
nome de VETOR, no nosso exemplo teríamos um
vetor com o nome notas_bcc701, ilustrado por:

8
 Tipo de dados Vetor:

◦ Um vetor possui um nome, como uma variável comum,


para armazenar dados na memória;

◦ Todos os elementos do vetor são do mesmo tipo


(inteiro, real, string, booleano, etc.).

◦ Os índices dos vetores são sempre inteiros e os


elementos de um vetor são unicamente identificados
pelos seus respectivos índices.

9
 Tipo de dados Vetor:

◦ Formas de declaração de um vetor e seus valores:


peso = [55.1 65.2 72.1];

idade = [25, 32, 30];

nome = ["JOAQUIM" "GABRIEL" "LUANA"];

vetorBooleano = [%t %t %f];


10
 Tipo de dados Vetor:

◦ Formas de acesso as posições do vetor:

peso(1)

ans = 55.1

nome(2)

ans = GABRIEL
11
 Tipo de dados Vetor:

◦ Formas de atribuir um valor a uma posição do


vetor:
nome(1) = "JOAQUIM";

nome(2) = "GABRIEL";

nome(3) = "LUANA";

12
 Exercício 1:

◦ Desenvolva um programa que leia a quantidade de


alunos da disciplina BCC-701, leia as notas finais e
o nome de cada aluno, calcule a média e imprima a
média da turma, a maior nota e o nome do aluno.

◦ Utilize vetores.

13
 Exercício 1 - Solução:
numAlunos = input("DIGITE O NÚMERO DE ALUNOS: ");
soma = 0;
maiorNota = -%inf;
for i = 1 : numAlunos
nome(i) = input("DIGITE O NOME DO ALUNO: ", 's');
nota(i) = input("DIGITE A NOTA DO ALUNO: ");
soma = soma + nota(i);
if nota(i) > maiorNota then
maiorNota = nota(i);
nomeMaiorNota = nome(i);
end
end
printf("A MÉDIA DAS NOTAS É: %5.2f \n", soma/numAlunos);
printf("A MAIOR NOTA É: %5.2f \n", maiorNota);
14
printf("O NOME DO ALUNO COM A MAIOR NOTA É %s \n", nomeMaiorNota);
 Operações básicas para Vetores:

◦ Definição do vetor por faixa de elementos:

vetor_1 = 1:5;

vetor_2 = 2:0.2:3;

15
 Operações básicas para Vetores:

◦ Vetor de 1’s:
vetor = ones(1, 5);
vetor = ones(5, 1);

◦ Vetor de 0’s:
vetor = zeros(1, 5);
vetor = zeros(5, 1);

16
 Operações básicas para Vetores:

◦ Transposição de um vetor (’):


vetor’;

◦ Dimensão do vetor:
length(vetor);

17