Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Ep 2 - MAC2166 2010, Exercícios de Engenharia Química

Enunciado do exercício-programa 2

Tipologia: Exercícios

Antes de 2010

Compartilhado em 31/08/2010

ana-carolina-ed7
ana-carolina-ed7 🇧🇷

10 documentos

1 / 5

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Departamento de Ciência da Computação IME-USP
MAC 2166 Introdução à Computação para
Engenharia
Escola Politécnica Primeiro Semestre de
2010
Segundo Exercício-Programa (EP2)
Data máxima para entrega: 3/4/2010
versão 0.5
20 de março de 2010
1Introdução
A definição de quadrado mágico foi dada no enunciado do EP1.
Ojogo QM começa com um quadrado preenchido com todos os dígitos de
1a91. O objetivo é transformá-lo em quadrado mágico no número mínimo de
jogadas. Cada jogada consiste na troca de lugar de dois dígitos em posições
adjacentes no quadrado.
Existe um pequeno problema nessa definição. Acontece que a vasta co-
munidade de jogadores QMistas está séculos dividida entre duas facções
que empregam diferentes tipos de adjacências:
1. Os semitorristas, que consideram adjacentes posições encostadas, na
mesma linha ou mesma coluna. Por exemplo, no quadrado que segue,
as posições dos dígitos 1 e 2, 2 e 5 são adjacentes, mas as posições de
1 e 3, 2 e 8, 1 e 5, 2 e 4 não são.
1Note que um diferença importante com o EP1. Nesse EP os quadrados devem
conter todos os dígitos 1,2,3,...,9em suas nove casas. Não é permitida a presença de
repetições no quadrado.
1
pf3
pf4
pf5

Pré-visualização parcial do texto

Baixe Ep 2 - MAC2166 2010 e outras Exercícios em PDF para Engenharia Química, somente na Docsity!

Departamento de Ciência da Computação – IME-USP

MAC 2166 – Introdução à Computação para

Engenharia

Escola Politécnica – Primeiro Semestre de

Segundo Exercício-Programa (EP2)

Data máxima para entrega: 3/4/

versão 0.

20 de março de 2010

1 Introdução

A definição de quadrado mágico foi dada no enunciado do EP1. O jogo QM começa com um quadrado preenchido com todos os dígitos de 1 a 91. O objetivo é transformá-lo em quadrado mágico no número mínimo de jogadas. Cada jogada consiste na troca de lugar de dois dígitos em posições adjacentes no quadrado. Existe um pequeno problema nessa definição. Acontece que a vasta co- munidade de jogadores QMistas está há séculos dividida entre duas facções que empregam diferentes tipos de adjacências:

  1. Os semitorristas , que só consideram adjacentes posições encostadas, na mesma linha ou mesma coluna. Por exemplo, no quadrado que segue, as posições dos dígitos 1 e 2, 2 e 5 são adjacentes, mas as posições de 1 e 3, 2 e 8, 1 e 5, 2 e 4 não são. (^1) Note que há um diferença importante com o EP1. Nesse EP os quadrados devem

conter todos os dígitos 1 , 2 , 3 ,... , 9 em suas nove casas. Não é permitida a presença de repetições no quadrado.

  1. Os monarquistas , que além daquilo que os semitorristas aceitam, tam- bém consideram adjacentes posições encostadas na diagonal. Por exem- plo, no quadrado que segue, as posições dos dígitos 1 e 2, 1 e 5, 2 e 5, 2 e 4, todas são adjacentes, enquanto que as posições de 1 e 3, 1 e 9 não são.

1 2 3 4 5 6 7 8 9 O seu programa fará uma leitura de um quadrado, conforme no EP1, terminando se recebeu um 0. Entretanto, ao contrário do EP1, ele deve verificar que o quadrado dado contém todos os dígitos de 1 a 9 , caso contrário deve rejeitá-lo. Tendo aceitado o quadrado, deve pedir o tipo de adjacência a usar, usando o código numérico definido abaixo:

Tipo de jogo (0 - semitorre, 1 - rei):

Finalmente, deve começar o jogo. Para cada jogada, imprime o quadrado no formato usado no EP1, e pede uma nova jogada, conforme o exemplo:

5 2 3 - 10 4 8 6 - 18 7 1 9 - 17 /-- -- --
18 16 11 18 22

[3] Digitos para trocar (0 0 para parar):

O [3] é para indicar que é a terceira jogada.

Se a jogada for válida, deve ser efetuada, e aí tem duas possibilidades:

  1. O novo quadrado é mágico. Nesse caso, imprima uma mensagem indi- cando que o quadrado é mágico e quantas jogadas levou para chegar lá:

/-- -- -- \

[4] Digitos para trocar (0 0 para parar): 5 2

/-- -- -- \

[5] Digitos para trocar (0 0 para parar):

E é só isso! Se você fizer o programa e resolver jogar, vai ver que, como quebra-cabeça, esse jogo é de pequena dificuldade. Já, se for o caso de encontrar uma solução no mínimo de jogadas, isso já se torna um desafio nada bobo, e dá até para competir. E, se quiser ver se conseguiu realmente resolver o problema da forma mais eficiente, pode clicar no especialista. Aliás, para experimentar o jogo, nem precisa escrever o programa:

2 Executáveis

Executáveis deste exercício programa podem ser encontrados em www.ime.usp.br/~mac2166/ep2/executaveis. Caso você tenha dúvidas sobre qual deve ser o comportamento do seu programa em alguma situação, veja como se comporta este executável. Um detalhe que deve estar visível nos exemplos e no executável é que as mensagens estão sem acentos. Isto é porque a apresentação correta de letras acentuadas na tela depende de configurações às vezes complicadas; senão, um texto que aparece corretamente num computador pode aparecer confuso em outro. Para simplificar o programa, deixamos os acentos de lado.

3 Consistência dos dados

Os dados lidos pelo seu programa são todos números inteiros não negativos. Se na hora em que os dados são pedidos alguém digitar um texto ou qualquer outra coisa, seu programa pode reagir como quiser. Isto significa que se, por exemplo, um número com casas decimais ou um negativo for digitado como entrada para o programa, ou uma letra, um cifrão, uma arroba, o seu programa pode travar o computador ou explodir sem ficar envergonhado. Por outro lado, se alguém der um número inteiro positivo, está explicado acima direitinho como seu programa deve reagir.

4 Informações sobre entrega do EP

Todo exercício programa deve seguir as observações contidas na página www.ime.usp.br/~mac2166/infoeps, onde estão descritas as diretrizes para forma de entrega do exercício, aspectos importantes na avaliação etc.