1 - UNIPAMPA Cursos

Propaganda
Exercício 1 – Faça um programa que leia uma nota e mostra na tela se o aluno foi aprovado (nota >=6) ou reprovado. Seu programa de repeBr enquanto a nota digitada for menor igual a 10. Ao final o programa deve mostrar: •  a média total das notas •  a quanBdade de alunos aprovados •  a quanBdade de alunos reprovados. •  E se eu quisesse mostrar a nota de todos os alunos abaixo da média? Introdução •  Até agora as variáveis apresentadas eram unitárias: –  elementos únicos pertencentes a determinados conjuntos (Bpos). •  O problema desta abordagem ocorre: –  ao lidar com muitos valores simultaneamente. –  Exemplo: •  Para armazenar as notas de um conjunto de 100 alunos seriam necessárias 100 variáveis. •  Dessa forma, a elaboração de um algoritmo pode ser tornar inviável. 3 Vetores •  São uBlizados para armazenar um conjunto de dados, cujos elementos podem ser acessados por um único índice. •  Vetores são matrizes com apenas uma dimensão. •  Podemos ter vetores inteiros, reais, lógicos e literais. 4 Vetores •  Exemplo: supondo que as notas de 10 alunos estejam armazenadas em uma variável composta idenBficada por nota, o vetor teria a seguinte representação: nota
0
1
2
3
4
5
6
7
8
9
62
70
90
60
75
91
100
50
78
80
•  OBS.: Em C, os índices sempre começam em 0 (zero). 5 Vetores •  nota
0
1
2
3
4
5
6
7
8
9
62
70
90
60
75
91
100
50
78
80
•  Para referenciar o quarto elemento desta variável: •  nota[3] •  o conteúdo armazenado nesta posição é 60 e o índice é a constante inteira 3. 6 Vetores nota
0
1
2
3
4
5
6
7
8
9
62
70
90
60
75
91
100
50
78
80
•  UBlizando-­‐se a variável i como índice de uma nota, pode-­‐se ter acesso a qualquer uma das notas armazenadas através da notação: –  nota[i] •  Se i=5 –  nota[i] é igual a nota[5], cujo valor é 91. 7 Exemplo nota
0
1
2
3
4
5
6
7
8
9
60
70
90
60
75
91
100
50
78
80
6
7
8
9
•  Quanto vale nota[7] ? •  O que faz nota[3]=1000? •  O que acontece no código abaixo? i=4; nota[i] = nota[i] + 4; 0
nota
1
2
3
4
5
Exemplo nota
0
1
2
3
4
5
6
7
8
9
60
70
90
60
75
91
100
50
78
80
•  Como eu faço para pegar o valor 80? •  O que acontece no código abaixo? for(i=1;i<10;i=i+1) nota[i]=nota[i-­‐1]+10; 0
nota
1
2
3
4
5
6
7
8
9
CUIDADO!!! nota
• 
• 
• 
• 
0
1
2
3
4
5
6
7
8
9
60
70
90
60
75
91
100
50
78
80
nota[-­‐1] ? nota[-­‐2] ? nota[10] ? nota[100] ? Vetores •  Exemplo de declaração: int vetor[5]; Vetor de inteiros com 5 posições
(índices de 0 a 4)
Tamanho do Vetor vetor
vetor[0]=60
0
1
2
3
4
vetor[1]=70
60
70
90
60
75
vetor[2]=90
vetor[3]=60
vetor[4]=75
11 Vetores – Problema exemplo: •  Problema: calcular a média de uma turma com 10 alunos e imprimir a quanBdade de notas acima da média calculada. 12 Resolução 1: sem vetores main() {
int A, B, C, D, E, F, G, H, I, J, NotaAcima;
float Media;
NotaAcima = 0;
scanf(“%d %d %d %d %d %d %d %d %d
%d”, &A, &B, &C, &D, &E, &F, &G, &H, &I,
&J);
Media = (A+B+C+D+E+F+G+H+I+J)/10;
if (A > Media) {
NotaAcima =
}
if (B > Media) {
NotaAcima =
}
if (C > Media) {
NotaAcima =
}
if (D > Media) {
NotaAcima =
}
NotaAcima + 1;
NotaAcima + 1;
NotaAcima + 1;
NotaAcima + 1;
}
if (E > Media) {
NotaAcima = NotaAcima
}
if (F > Media) {
NotaAcima = NotaAcima
}
if (G > Media) {
NotaAcima = NotaAcima
}
if (H > Media) {
NotaAcima = NotaAcima
}
if (I > Media) {
NotaAcima = NotaAcima
}
if (J > Media) {
NotaAcima = NotaAcima
}
printf (“notas acima=%d”,
NotaAcima);
+ 1;
+ 1;
+ 1;
+ 1;
+ 1;
+ 1;
13 Resolução 2: com vetores main() {
int vetor[10];
float Soma, Media;
int NotaAcima, x;
Soma = 0;
NotaAcima = 0;
for(x =0; x<10; x = x+1)
scanf (“%d”, &vetor[x]);
for(x =0; x<10; x = x+1)
Soma = Soma + vetor[x];
Media = Soma / 10;
for(x =0; x<10; x = x+1)
if (vetor[x] > Media)
NotaAcima = NotaAcima + 1;
printf (“notas acima=%d”,NotaAcima);
}
14 Exercício 1 – Faça um programa que leia 20 números reais e armazene-­‐os em um vetor com tamanho igual a 20 e em seguida mostre todos os números na tela. 15 Exercício 2 – Faça um programa que leia 20 notas e mostra na tela se o aluno foi aprovado (nota >=6) ou reprovado. Ao final o programa deve mostrar: –  a média total das notas –  a nota de todos os alunos acima da média da turma. Exercício 3 -­‐ Escreva um algoritmo que leia um vetor com 100 números inteiros e ainda um número inteiro k. O algoritmo deve apresentar como resultado o número de ocorrências de k no vetor lido. 17 
Download