João Araujo
Dr. en Informatique, Université de Versailles, França.

Segunda Prova 2010-1

Cada um no seu quadrado.

O jogo do quadrado de Rubik é tão estupendo e maravilhoso que você não consegue pensar em outra coisa a não ser em quadrados. Para acalmar sua necessidade de ver mais quadrados, você resolve desenvolver um novo jogo do quadrado.
Dado um quadrado de 5×5, os números de 1 a 25 devem ser colocados nele sem repetição. A regra de colocação para cada número é que, dada a posição x,y do número k (1≤ k ≤ 25), o número k+1 pode ser colocado em qualquer casa não ocupada z,w seguindo uma das condições seguintes:

  1. (z, w) = (x +/- 3, y)
  2. (z, w) = (x, y +/- 3)
  3. (z, w) = (x +/- 2, y +/- 2)

Por exemplo, dada a posição de 1 em (0, 1), o número 2 pode ser colocado nas casas marcadas com *.

Questão 1

Faça um programa em C que leia um sequência de linhas de números separados por espaço e imprima o quadrado correspondente, dizendo se é válido ou não, além do primeiro erro encontrado. Assim as linhas
16 24 10 17 25 1 13 21 2 12 9 18 5 8 19 15 23 11 14 22 4 7 20 3 6
16 24 10 17 25 1 13 2 21 12 9 18 5 8 19 15 23 11 14 22 4 7 20 3 6

Dão como resultado válida e não válida (o 2 na segunda linha está errado)

16 24 10 17 25
1 13 21 2 12
9 18 5 8 19
15 23 11 14 22
4 7 20 3 6
Válido

16 24 10 17 25
1 13 2 21 12
9 18 5 8 19
15 23 11 14 22
4 7 20 3 6
Inválido – 2 errado!

Cada linha lida deve ser colocada num vetor de ponteiros para vetor (não strings!)
a) Leitura correta da linha. (2pts)
b) Identificação correta de linhas válidas e inválidas. (3pts)
c) Uso correto do vetor de ponteiros. (1pt)
d) Saída correta formatada do quadrado. (1pt)

Resolução P1Q1

Questão 2

Seguindo a regra de formação acima, faça um programa que receba pela linha de comando um par de valores inteiros correspondentes à posição 1 e escreva as possíveis posições válidas para o 2, separadas por vírgulas. Assim, o comando
nome_prog 0 1

tem como resultado

3 1, 0 4, 2 3

a)Uso correto da linha de comando(1pt)
b)resultado correto(2pts)

Resolução P2Q2

Variáveis globais contam negativamente na nota (-1 pt por variável utilizada).
Programas que dividem o problema em vários problemas menores têm mais chance de dar certo.

c/segunda_prova_-_2010-1.txt · Última modificação: 04/07/2010 20:20:20 por araujo
geomatica Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0