Baixe o app para aproveitar ainda mais
Prévia do material em texto
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? 3 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. 4 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. 5 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: • OBS.: Em C, os índices sempre começam em 0 (zero). 62 0 70 1 90 2 60 3 75 4 91 5 100 6 50 7 78 8 80 9 nota 6 Vetores • • 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. 62 0 70 1 90 2 60 3 75 4 91 5 100 6 50 7 78 8 80 9 nota 7 Vetores • 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. 62 0 70 1 90 2 60 3 75 4 91 5 100 6 50 7 78 8 80 9 nota Exemplo • Quanto vale nota[7] ? • O que faz nota[3]=1000? • O que acontece no código abaixo? i=4; nota[i] = nota[i] + 4; 60 0 70 1 90 2 60 3 75 4 91 5 100 6 50 7 78 8 80 9 nota 0 1 2 3 4 5 6 7 8 9 nota Exemplo • 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; 60 0 70 1 90 2 60 3 75 4 91 5 100 6 50 7 78 8 80 9 nota 0 1 2 3 4 5 6 7 8 9 nota CUIDADO!!! • nota[-‐1] ? • nota[-‐2] ? • nota[10] ? • nota[100] ? 60 0 70 1 90 2 60 3 75 4 91 5 100 6 50 7 78 8 80 9 nota 11 Vetores • Exemplo de declaração: int vetor[5]; Vetor de inteiros com 5 posições (índices de 0 a 4) 60 0 70 1 90 2 60 3 75 4 vetor vetor[0]=60 vetor[1]=70 vetor[2]=90 vetor[3]=60 vetor[4]=75 Tamanho do Vetor 12 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. 13 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 = NotaAcima + 1; } if (B > Media) { NotaAcima = NotaAcima + 1; } if (C > Media) { NotaAcima = NotaAcima + 1; } if (D > Media) { NotaAcima = NotaAcima + 1; } if (E > Media) { NotaAcima = NotaAcima + 1; } if (F > Media) { NotaAcima = NotaAcima + 1; } if (G > Media) { NotaAcima = NotaAcima + 1; } if (H > Media) { NotaAcima = NotaAcima + 1; } if (I > Media) { NotaAcima = NotaAcima + 1; } if (J > Media) { NotaAcima = NotaAcima + 1; } printf (“notas acima=%d”, NotaAcima); } 14 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); } 15 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. 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. 17 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.
Compartilhar