Vetores e Matrizes c/ Procedimentos e Funções
Compilado pela Profa Sílvia Moraes/Organizado por Stewart Unger
1. Foi realizada uma pesquisa de algumas características físicas de 50 habitantes de uma certa região. De cada habitante foram coletados os seguintes dados: sexo, cor dos olhos (azuis, verdes ou castanhos), cor dos cabelos (louros, pretos ou castanhos) e idade. Faça um procedimento que leia esses dados em um vetor de registro. O vetor de registro deve ser enviado por referência.
2. Faça um procedimento que receba o vetor de registro definido no exercício anterior (28), por parâmetro, e retorna também por parâmetro: a maior idade entre os habitantes e a quantidade de individuos do sexo feminino cuja idade está entre 18 e 35 (inclusive) e que tenham olhos verdes e cabelos louros.
3. Foi realizada uma pesquisa entre 500 habitantes de uma certa região. De cada habitante foram coletados os dados: idade, sexo, salário e número de filhos. Faça um procedimento que leia esses dados em um vetor de registro. O vetor de registro deve ser enviado por referência.
4. Faça um procedimento que receba o vetor de registro definido no exercício anterior (30), por parâmetro, e retorna também por parâmetro: a média de salário entre os habitantes, a menor e a maior idade do grupo e a quantidade de mulheres com 3 filhos que recebe até R$500,00.
5. Faça um procedimento que retorna, por parâmetro, um vetor A(5) com os 5 primeiros números perfeitos.
6. Faça um procedimento que recebe 2 vetores A e B de tamanho 10 de inteiros, por parâmetro. Ao final do procedimento B deve conter o fatorial de cada elemento de A. O vetor B deve retornar alterado.
A |
4 |
1 |
0 |
3 |
.... |
B |
24 |
1 |
1 |
6 |
... |
7. Faça um procedimento que recebe, por parâmetro, 2 vetores de 10 elementos inteiros e que calcule e retorne, também por parâmetro, o vetor união dos dois primeiros.
8. Faça um procedimento que recebe um vetor X de 30 elementos inteiros, por parâmetro, e retorna, também por parâmetro, dois vetores A e B. O vetor A deve conter os elementos pares de X e o vetor B, os elementos ímpares.
9.Faça uma função que recebe um vetor X(15) de inteiros , por parâmetro, e retorna a quantidade de valores pares em X.
10. Faça uma função que recebe um vetor X(20) de reais , por parâmetro, e retorna a soma dos elementos de X.
11.Faça um procedimento que recebe 2 vetores A e B de tamanho 15 de inteiros, por parâmetro. O vetor B deve conter o somatório de cada elemento de A.
A |
4 |
1 |
0 |
5 |
.... |
B |
10 |
1 |
0 |
15 |
... |
12. Faça um procedimento que recebe, por parâmetro, um vetor A(50) de reais e retorna-o ordenado em ordem crescente.
13. Faça um procedimento que recebe, por parâmetro, um vetor A(25) de inteiros e substitui todos os valores negativos de A por zero. O vetor A deve retornar alterado.
14. Faça um procedimento que gera os 10 primeiros primos acima de 100 e retorna-os em um vetor X(10), por parâmetro.
15. Faça um procedimento que recebe 2 vetores A e B de tamanho 10 de inteiros, por parâmetro. O procedimento deve retornar um vetor C, por parâmetro, que contém os elementos de A e B em ordem decrescente.
16. Faça um procedimento que recebe, por parâmetro, 2 vetores de 10 elementos inteiros e que calcule e retorne, também por parâmetro, o vetor intersecção dos dois primeiros.
17. Faça um procedimento que recebe, por parâmetro, 2 vetores de 10 elementos inteiros e que calcule e retorne, também por parâmetro, o vetor diferença dos dois primeiros.
18. Faça um procedimento que recebe, por parâmetro, 2 vetores de 20 elementos inteiros e que calcule e retorne, também por parâmetro, o vetor soma dos dois primeiros.
19. Faça um procedimento que recebe, por parâmetro, 2 vetores de 15 elementos inteiros e que calcule e retorne, também por parâmetro, o vetor produto dos dois primeiros.
20. Faça um procedimento que receba, por parâmetro, um vetor K(15) e retorna, também por parâmetro, um vetor P contendo apenas os valores primos de K.
21. Faça um procedimento que receba um vetor A(100) de inteiros e retorna esse mesmo vetor compactado, ou seja, sem os seus valores nulos(zero) e negativos.
22. Faça um procedimento que receba, por parâmetro um vetor B(50) de reais e calcula o maior valor do vetor. A seguir, o procedimento deve dividir todos os elementos de B pelo maior encontrado. O vetor deve retornar alterado.
23. Uma locadora de vídeos tem guardada, em um vetor A de 500 posições, a quantidade de filmes retirados por seus clientes durante o ano de 1997. Agora, esta locadora está fazendo uma promoção e, para cada 15 filmes retirados, o cliente tem direito a uma locação grátis. Faça um procedimento que receba o vetor A por parâmetro e retorna, também por parâmetro, um vetor contendo a quantidade de locações gratuitas a que cada cliente tem direito.
24. Faça uma função que recebe, por parâmetro, uma matriz A(5,5) e retorna a soma dos seus elementos.
25. Faça uma função que recebe, por parâmetro, uma matriz A(6,6) e retorna a soma dos elementos da sua diagonal principal e da sua diagonal secundária.
26. Faça uma função que recebe, por parâmetro, uma matriz A(7,6) e retorna a soma dos elementos da linha 5 e da coluna 3.
27. Faça uma função que recebe, por parâmetro, uma matriz A(6,6) e retorna o menor elemento da sua diagonal secundária.
28. Faça um procedimento que recebe, por parâmetro, uma matriz A(8,8) e calcula o maior elemento da sua diagonal principal. A seguir, o procedimento deve dividir todos os elementos de A pelo maior encontrado. O procedimento deve retornar a matriz alterada.
29. Faça um procedimento que receba, por parâmetro, duas matrizes A(4,6) e B(6,4) e retorna uma matriz C, também por parâmetro, que seja o produto matricial de M por N.
30. Faça um procedimento que receba, por parâmetro, duas matrizes A(4,6) e B(6,4) e retorna uma matriz C, também por parâmetro, que seja a soma de M com N.
31. Faça um procedimento que receba, por parâmetro, duas matrizes A(4,6) e B(6,4) e retorna uma matriz C, também por parâmetro, que seja a diferença de M com N.
32. Faça um procedimento que recebe, por parâmetro, uma matriz M(6,6) e um valor A . O procedimento deve multiplicar cada elemento de M por A e armazenar em um vetor V(36). O vetor V deve retornar por parâmetro.
33. Faça um procedimento que receba uma matriz A(10,10), por parâmetro, e realize as seguintes trocas:
O procedimento deve retornar a matriz alterada.
34. Faça uma função que receba, por parâmetro, uma matriz B(9,9) de reais e retorna a soma dos elementos das linhas pares de B.
35. Faça um procedimento que receba, por parâmetro, uma matriz A(12,12) e retorna, também por parâmetro, um vetor com a soma de cada uma das linhas de A .
36. Faça um procedimento que receba, por parâmetro, uma matriz A(6,6) e multiplica cada linha pelo elemento da diagonal principal daquela linha. O procedimento deve retornar a matriz alterada.
37. Na teoria dos sistemas, define-se como elemento minimax de uma matriz o menor elemento de uma linha onde se encontra o maior elemento da matriz. Faça uma função que recebe, por parâmetro, uma matriz A(10,10) e retorna o seu elemento minimax, juntamente com a sua posição.
38. Faça um procedimento que receba, por parâmetro, uma matriz 61x10. O procedimento deve somar individualmente as colunas da matriz e armazenar o resultado na 61a linha da matriz. O procedimento deve retornar a matriz alterada.
39. Faça uma função que receba, por parâmetro, uma matriz A(12,12) e retorne a média aritmética dos elementos abaixo da diagonal principal.
40. Faça uma função que receba, por parâmetro, uma matriz A(10,10)e retorne a soma dos elementos acima da diagonal principal.
41. Faça uma função que receba, por parâmetro, uma matriz A(7,7)e retorne o menor valor dos elementos abaixo da diagonal secundária.
42. Faça uma função que receba, por parâmetro, uma matriz A(8,8) e retorne o menor valor dos elementos acima da diagonal secundária.
43. Faça uma função que receba, por parâmetro, uma matriz A(12,12) e retorna a média aritmética dos elementos abaixo da diagonal principal e da diagonal secundária.
44. Faça uma função que receba, por parâmetro, uma matriz A(12,12) e retorna o produto dos elementos acima da diagonal principal e da diagonal secundária.