FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Algoritmos e linguagens de
programação 1
(aula 11)
Prof. Alessandro Bernardo
alebernardo@unb.br
http://bsi.k6.com.br
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Vetores
Na aula passada, foi visto vetor, que é uma estrutura de dados
homogênea, ou seja, todos os campos dessa estrutura armazenam dados
do mesmo tipo de dado.
Além disso, os vetores são utilizados para armazenar dados de forma
indexada, podendo então consultá-los da forma requerida pela aplicação.
Dentre as aplicações do vetor, pode-se citar:
• O armazenamento de dados para posterior aplicação;
• A utilização em operações matemáticas utilizando vetores e matrizes;
• A viabilidade de organização de dados.
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Vetores
Nessa aula serão vistos os exemplos utilizando vetor mostrados abaixo:
(1) Faça um programa que leia números reais do teclado, armazene-os em
um vetor e depois escreva no monitor o maior e o menor número
armazenado. A quantidade de números a ser inserida deve ser inserida
inicialmente pelo usuário.
(2) Faça um programa para ler as notas de uma turma, onde a quantidade
de alunos deve ser escolhida pelo usuário. Essas notas devem ser
armazenados em um vetor cujo tamanho deverá ser a quantidade de
alunos. Além disso, o programa deverá calcular e escrever no monitor,
quantas notas ficaram acima e abaixo da média da turma.
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Vetores
(1) Faça um programa que leia números reais do teclado, armazene-os em um
vetor e depois escreva no monitor o maior e o menor número armazenado. A
quantidade de números a ser inserida deve ser inserida inicialmente pelo
usuário.
Para resolver esse primeiro exemplo, é necessário declarar um vetor cujo
tamanho deve ser igual à quantidade de números que o usuário desejar. Para
isso, deve-se declarar uma variável
inteira e ler o seu valor do teclado.
cout << "Insira o tamanho do vetor: “;
O valor armazenado nessa variável
int qtd;
determinará o tamanho do vetor na
cin >> qtd;
sua declaração e também será
utilizado na leitura dentro do laço for. double vet[qtd];
A declaração desse vetor e a leitura
dos valores dos campos são
mostrados ao lado.
cout << "Insira " << qtd << " números: " << endl;
for (int i = 0; i < qtd; i++)
cin >> vet[i];
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Vetores
(1) Faça um programa que leia números reais do teclado, armazene-os em um
vetor e depois escreva no monitor o maior e o menor número armazenado. A
quantidade de números a ser inserida deve ser inserida inicialmente pelo
usuário.
Depois de armazenados todos os valores, o programa deve incluir o algoritmo
para calcular o maior número armazenado. Esse algoritmo baseia-se em
comparação do maior valor com os campos do vetor.
Esse algoritmo é mostrado e explicado no próximo slide.
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Vetores
(1) Faça um programa que leia números reais do teclado, armazene-os em um
vetor e depois escreva no monitor o maior e o menor número armazenado. A
quantidade de números a ser inserida deve ser inserida inicialmente pelo
usuário.
O algoritmo para calcular o maior, considerando que o vetor já possua os seus
valores atribuídos (lidos), é mostrado no quadro abaixo.
Nesse quadro observa-se que foi declarada uma variável maior do mesmo tipo
do vetor. Essa variável também recebeu o valor do primeiro campo do vetor.
Depois foi construído um laço for cujo contador i varia de 1 até qtd-1 (segundo
campo até o último). Para cada valor de i, verifica-se se
o valor vet[i] armazenado no vetor é maior que a variável
double maior = vet[0];
maior. Se essa condição for verdadeira, então vet[i]
possui um valor maior do que aquele armazenado em
for (int i = 1; i < qtd; i++)
maior. Por isso, a variável maior recebe o valor
if (vet[i] > maior)
armazenado em vet[i].
maior = vet[i];
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Vetores
(1) Faça um programa que leia números reais do teclado, armazene-os em um
vetor e depois escreva no monitor o maior e o menor número armazenado. A
quantidade de números a ser inserida deve ser inserida inicialmente pelo
usuário.
Para calcular o menor valor, basta fazer a mesma coisa daquilo feito para
calcular o maior mudando-se, entretanto, o sinal na condição.
Dessa forma o programa completo fica da forma mostrada no próximo slide.
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Vetores
(1) Faça um programa que leia números
reais do teclado, armazene-os em
um vetor e depois escreva no monitor
o maior e o menor número
armazenado. A quantidade de
números a ser inserida deve ser
inserida inicialmente pelo usuário.
cout << "Insira o tamanho do vetor: “;
int qtd;
cin >> qtd;
double vet[qtd];
cout << "Insira " << qtd << " números: " << endl;
for (int i = 0; i < qtd; i++)
cin >> vet[i];
double maior = vet[0];
for (int i = 1; i < qtd; i++)
if (vet[i] > maior)
maior = vet[i];
double menor = vet[0];
for (int i = 1; i < qtd; i++)
if (vet[i] < maior)
menor = vet[i];
cout << “Maior valor: “ << maior << endl;
cout << “Menor valor: “ << menor << endl;
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Vetores
(2) Faça um programa para ler as notas de uma turma, onde a quantidade de
alunos deve ser escolhida pelo usuário. Essas notas devem ser armazenados
em um vetor cujo tamanho deverá ser a quantidade de alunos. Além disso, o
programa deverá calcular e escrever no monitor, quantas notas ficaram acima
e abaixo da média da turma.
Para resolver esse primeiro exemplo, é necessário declarar um vetor cujo
tamanho deve ser igual à quantidade de números que o usuário desejar. Para
isso, deve-se declarar uma variável inteira e ler o seu valor do teclado.
O valor armazenado nessa variável determinará o tamanho do vetor na
sua declaração e também será utilizado na leitura dentro do laço for.
Posteriormente, depois de lidas todas as notas, o programa deve calcular a
média obtida pela turma, visto que a contagem de alunos será feita em função
desse valor.
O código até o cálculo da média da turma é mostrado no próximo slide.
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Vetores
(2) Faça um programa para ler as notas de uma turma, onde a quantidade de
alunos deve ser escolhida pelo usuário. Essas notas devem ser armazenados
em um vetor cujo tamanho deverá ser a quantidade de alunos. Além disso, o
programa deverá calcular e escrever cout << "Insira o tamanho do vetor: “;
no monitor, quantas notas ficaram
int qtd;
acima e abaixo da média da turma.
cin >> qtd;
Depois da última linha do programa
abaixo, deve-se então adicionar o
algoritmo para contar quantas
notas foram abaixo ou acima da
média.
Para isso, deve-se declarar dois
contadores (do tipo int), inicializálos com zero e incrementá-los
quando for encontrado uma nota
acima ou abaixo da média.
double vet[qtd];
cout << "Insira " << qtd << " números: " << endl;
for (int i = 0; i < qtd; i++)
cin >> vet[i];
double soma = 0;
for (int i = 0; i < qtd; i++)
soma += vet[i];
double media = soma/qtd;
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Vetores
(2) Faça um programa para ler as notas de uma turma, onde a quantidade de
alunos deve ser escolhida pelo usuário. Essas notas devem ser armazenados
em um vetor cujo tamanho deverá ser a quantidade de alunos. Além disso, o
programa deverá calcular e escrever no monitor, quantas notas ficaram
acima e abaixo da média da turma.
for (int i = 0; i < qtd; i++)
soma += vet[i];
cout << "Insira o tamanho do vetor: “;
double media = soma/qtd;
int qtd;
cin >> qtd;
double vet[qtd];
cout << "Insira " << qtd << " números: " << endl;
for (int i = 0; i < qtd; i++)
cin >> vet[i];
double soma = 0;
int qtdmaior = 0, qtdmenor = 0;
for (int i = 0; i < qtd; i++)
if (vet[i] >= media)
qtdmaior++;
else
qtdmenor++;
cout << “Acima da média: “ << qtdmaior << endl;
cout << “Abaixo da média: “ << qtdmenor << endl;
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Vetores
Exemplo:
(3) Faça um programa para ler as notas de uma turma, onde a quantidade
de alunos deve ser escolhida pelo usuário. Essas notas devem ser
armazenados em um vetor cujo tamanho deverá ser a quantidade de
alunos. Além disso, o programa deverá escrever quantos alunos foram
aprovados, quantos foram reprovados, a maior nota, a menor nota e a
média da turma.
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Vetores
(3) Faça um programa para ler as notas de uma turma, onde a quantidade de
alunos deve ser escolhida pelo usuário. Essas notas devem ser armazenados
em um vetor cujo tamanho deverá ser a quantidade de alunos. Além disso, o
programa deverá escrever quantos alunos foram aprovados (nota >= 5,0),
quantos foram reprovados, a maior nota, a menor nota e a média da turma.
cout << "Insira o tamanho do vetor: “;
int qtd;
cin >> qtd;
double vet[qtd];
int qtdapr = 0, qtdrep = 0;
for (int i = 0; i < qtd; i++)
if (vet[i] >= 5)
qtdapr++;
else
qtdrep++;
cout << "Insira " << qtd << " números: " << endl;
for (int i = 0; i < qtd; i++)
cin >> vet[i];
double soma = 0;
for (int i = 0; i < qtd; i++)
soma += vet[i];
double media = soma/qtd;
double maior = vet[0], menor = vet[0];
for (int i = 1; i < qtd; i++)
{
if (vet[i] >= maior)
maior = vet[i];
if (vet[i] < menor)
menor = vet[i];
}
// Ficou faltando escrever os resultados...
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Vetores
Exercícios:
(1) Faça um programa que leia os valores dos salários de funcionários de
uma folha de pagamento. A quantidade de funcionários deve ser
inserida pelo usuários. Esse programa, depois de lida os salários, ainda
deverá calcular e escrever o valor total pago pela empresa para os
funcionários, a diferença entre o maior e o menor salário, quantidade de
pessoas que recebem menos de R$1000,00, a quantidade de pessoas
que recebem de R$1000,00 a R$1999,99 e a quantidade de pessoas
que recebem mais ou igual a R$2000,00.
Download

aula11 - GEOCITIES.ws