Você está na página 1de 4

MAC2166 – Introdução à Computação

IME – Primeiro Semestre de 2023

Sexto Exercício-Programa (EP6)


Professor: André Fujita

Data de entrega: até 23:55 do dia 04 de junho de 2023.

Resolva os problemas a seguir.

Problema 1. Matriz espiral

Escreva um programa que recebe um número inteiro positivo n e imprime uma


matriz quadrada n x n contendo os números de 1 a n2, localizados em espiral
começando pelo “centro” da matriz. O primeiro movimento deve ser para direita.
O sentido da espiral é no sentido horário. Veja os exemplos a seguir:

Exemplo 01:
- Entrada
3
- Saída:
7 8 9
6 1 2
5 4 3

Exemplo 02:
- Entrada:
4
- Saída:
7 8 9 10
6 1 2 11
5 4 3 12
16 15 14 13

Exemplo 03:

- Entrada:
5
- Saída:
21 22 23 24 25
20 7 8 9 10
19 6 1 2 11
18 5 4 3 12
17 16 15 14 13
Problema 2. Rotação de matriz

Escreva um programa que recebe um número inteiro positivo n e uma matriz


real n por n e imprime uma matriz que é a matriz de entrada rotacionada 90 graus
no sentido horário. Por exemplo:

n=2
Entrada:
1 2
3 4

Saída:
3 1
4 2

n=3
Entrada:
1 2 3
4 5 6
7 8 9

Saída:
7 4 1
8 5 2
9 6 3

n=4
Entrada:
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16

Saída:
13 9 5 1
14 10 6 2
15 11 7 3
16 12 8 4
Problema 3. Produto de Kronecker

Seja A uma matriz de dimensões m x n e B uma matriz de dimensões p x q. Então,


o produto de Kronecker A x B é uma matriz de dimensões mp x nq da forma:

Exemplo:

Escreva um programa que lê os inteiros m, n, p, q e duas matrizes reais A (m x n)


e B (p x q) e imprime o produto de Kronecker A x B.
Problema 4. Maior número

Escreva um programa que lê um número n positivo e n números reais e imprime


o maior número da sequência. A identificação do maior número da sequência deve
ser feita recursivamente.

Problema 5. Cálculo da sequência de Fibonacci

Uma possível implementação recursiva da função de Fibonacci é a seguinte:

função fibo(n):

se n <= 1:

return 1

return fibo(n - 1) + fibo(n - 2)

Entretanto, essa versão recursiva da função de Fibonacci calcula um mesmo termo


repetidas vezes, o que faz com que ela seja extremamente ineficiente.

Implemente uma versão recursiva da função de Fibonacci que não calcula um


mesmo termo várias vezes.

Você também pode gostar