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.