Simulado de Prova

 



1) Dada a definição da função alg abaixo,


int alg(int a, int b)

{

if(b == 1) return a;

else return alg(a+1, b-1) + a * b;

}


Que valor a seguinte chamada devolve?


alg ( 2 , 6 )  =  __________________


Justifique através do preenchimento da tabela ao lado:





a

b

alg (a,b)




























2) Crie uma função em C que receba por parâmetro dois vetores de números reais e um número inteiro que represente o tamanho destes vetores; a função deve calcular a chamada distância quadrática de dois vetores. Este cálculo soma os quadrados das diferenças dos valores correspondentes dos dois vetores, ou seja, (A[0] - B[0])² + (A[1] - B[1])² + (A[2] - B[2])² + … + (A[10] - B[10])². Pronto! A assinatura da função é assim: double distanciaQuadratica (double A[ ], double B[ ], int N).

Exemplo:



0

1

2

3

4

5

6

7

8

9

10




A

0

3

-2

7

9

11

15

0

0

0

0




















0

1

2

3

4

5

6

7

8

9

10




B

0

4

0

7

9

11

15

0

1

0

1





No exemplo acima, o resultado seria: (0)² + (3-4)² + (-2-0)² + (7-7)² + (9-9)² + (11-11)² + (15-15)² + (0-0)² + (0-1)² + (0-0)² + (0-1)² = 7

OBS.: USE COMANDOS DE REPETIÇÃO, POIS OS VETORES PODEM SER DE TAMANHO ARBITRÁRIO (O ACIMA É SÓ UM EXEMPLO).


3) Crie uma função em C para calcular e retornar a soma dos elementos que não estão na borda de uma matriz. Exemplo: dada a matriz abaixo, a função retornará: 6 + 7 + 10 + 11 = 34.




0

1

2

3



0

1

2

3

4



1

5

6

7

8



2

9

10

11

12



3

13

14

15

16



O protótipo da função é: int somaCentro ( int L, int C, int mat [ L ] [ C ] )

Use repetição para criar seu código. Lembre-se que a função deverá funcionar para matrizes de quaisquer tamanhos.


4) Crie uma função RECURSIVA para calcular a soma dos quadrados dos números positivos até N. Para valores negativos de N, a função deve retornar o valor dela para o módulo do número, ou seja, o correspondente positivo. O protótipo da função é assim: int somaQuadrados (int N)

    Exemplos:

  • se N for 10, a função somaQuadrados deverá retornar o valor de 1² + 2² + 3² + …. + 8² + 9² + 10² = 385

  • se N for 5, a função somaQuadrados deverá retornar o valor de 1² + 2² + 3² + 4² + 5² = 55

  • se N for 0, a função somaQuadrados deverá retornar o valor 0

  • se N for -5, a função somaQuadrados deverá retornar o mesmo que somaQuadrados(5) = 55


Comentários

Postagens mais visitadas deste blog