Escolar Documentos
Profissional Documentos
Cultura Documentos
Federal
do
Cear
Centro
de
Cincias
Departamento
de
Computao
***
PARA
EQUIPES
DE
NO
MXIMO
2
(DOIS)
ALUNOS
***
Desenvolver
um
programa
em
linguagem
C
representando
o
jogo
Senha,
onde
o
usurio
dever
ser
capaz
de
jogar
contra
o
computador.
Requisitos
Funcionais:
1. O
usurio
dever,
no
incio
do
jogo,
definir
os
seguintes
parmetros
da
partida:
a. N:
Tamanho
da
senha
(de
4
a
12)
b. PC:
Possibilidades
de
cores
(de
3
a
6)
c. Lim:
Limite
de
tentativas
de
adivinhao
(a
partir
de
1,
sem
limite
superior)
2. O
usurio
dever,
a
cada
rodada,
entrar
uma
tentativa
de
adivinhao,
que
composta
por
uma
sequncia
de
cdigos
de
cores,
usando-se
as
possibilidades
de
cores
a
seguir:
a.
b.
c.
d.
e.
f.
Vermelho
vm
Verde
vd
Amarelo
am
Azul
az
Magenta
mg
Ciano
ci
3. Antes
de
solicitar
a
tentativa
do
jogador,
o
computador
deve
informar
as
cores
que
esto
disponveis,
dentre
as
possibilidades
citadas
acima.
Caso
o
jogo
esteja
configurado
para
utilizar
menos
do
que
6
cores,
as
cores
a
serem
escolhidas
devem
seguir
a
ordem
de
prioridade
listada
acima.
Por
exemplo,
se
for
escolhido
ter
apenas
3
possibilidades,
estas
sero,
necessariamente:
vm,
vd
e
am.
4. Ao
solicitar
uma
tentativa
de
adivinhao,
o
usurio
deve
entrar
uma
sequncia
de
N
cores,
separadas
por
vrgula.
O
computador
deve
ser
capaz
de
compreender
sequncias
que
tenham
espaos
depois
das
vrgulas
(Ex.
vd,
vm,
am
no
lugar
de
vd,vm,am).
5. O
computador
deve
validar
a
entrada
do
usurio,
considerando
a
diversidade
e
a
quantidade
de
cores
entradas.
Caso
o
usurio
j
tenha
tentado
a
combinao
entrada,
considerando
o
histrico
de
todas
as
combinaes
j
entradas,
o
sistema
dever
exibir
a
mensagem
Voc
j
tentou
esta
combinao
antes,
ignorando-a
e
solicitando
uma
nova
combinao.
Uma
senha
pode
ter
elementos
de
cores
repetidas.
6. Caso
a
combinao
entrada
pelo
usurio
seja
indita,
o
computador
dever
analis-la
e
mostrar
a
combinao
em
cores
e
o
resultado
da
anlise
ao
lado
direito,
indicando
cada
acerto
de
cor
fora
da
posio
com
um
smbolo
!
e
o
acerto
de
uma
cor
na
posio
correta
com
um
smbolo
@.
O
programa
no
dever
indicar
em
que
posies
houve
acerto.
Considere
o
exemplo
a
seguir:
1
Entre
- vm:
- vd:
- am:
- az:
- mg:
N
=
4
PC
=
6
Lim
=
100
Observao:
O
que
for
indicado
em
negrito
o
que
o
computador
apresenta
ao
usurio.
O
que
for
apresentado
em
itlico
o
que
o
usurio
entrou.
Consideremos
que
a
senha
sorteada
pelo
computador
seja:
am,
az,
mg,
vm
com uma combinao de 4 elementos dentre as 5 cores seguintes:
vermelho
verde
amarelo
azul
magenta
->
! ! @
Esta foi a tentativa de nmero 1. Voc no acertou. Entre sua nova tentativa:
Obs.
(1):
Observe
que
o
primeiro
smbolo
!
diz
respeito
ao
fato
da
senha
conter
am,
mas
que
tal
cor
no
est
no
local
correto.
O
segundo
smbolo
!
diz
respeito
ao
fato
da
senha
conter
az,
mas
que
tal
cor
no
est
no
local
correto.
O
smbolo
@
diz
respeito
ao
fato
da
senha
conter
vm
exatamente
no
local
que
o
usurio
indicou
(posio
4).
Obs.
(2)
A
representao
em
cores
das
jogadas
deve
ser
mostradas
ao
usurio.
Utilize
no
seu
projeto
o
arquivo
cores.h
disponibilizado
no
SIGAA
para
este
fim.
7. Se
o
usurio
acertar
a
senha
antes
do
limite
de
jogadas,
o
computador
deve
exibir
a
mensagem:
Parabns.
Voc
conseguiu
adivinhar
a
senha
com
M
tentativas.,
onde
M
foi
a
quantidade
de
tentativas
do
usurio,
no
considerando
aquelas
eventualmente
repetidas.
Requisitos
No
Funcionais:
1. O
programa
dever
utilizar
o
mnimo
de
memria
possvel.
2. O
programa
dever
conter
a
implementao
de
pelo
menos
uma
estrutura
de
dados
utilizando
registros
e
gerenciamento
dinmico
de
memria.
3. O
projeto
dever
ser
constitudo
por
cdigos
fontes
separados,
de
acordo
com
caractersticas
funcionais
(Ex.
estrutura
de
dados,
programa
principal,
funes
auxiliares,
etc.).
Todos
os
arquivos-
fonte
com
o
respectivo
Makefile
para
construir
o
projeto
devem
ser
disponibilizados
na
entrega.
4. O
dimensionamento
das
variveis
a
serem
utilizadas
deve
otimizar
a
ocupao
de
memria.
(Ex.
se
uma
jogada
pode
ter
de
4
a
12
cores,
no
convm
estipular
um
vetor
de
12
posies
para
representar
uma
jogada.
Critrios
de
Avaliao
A
avaliao
ser
realizada
em
duas
fases:
1. Anlise
do
cdigo-fonte;
2. Anlise
da
execuo
do
programa
(teste);
3. Apresentao
do
prottipo
em
laboratrio
(se
solicitado
pelo
professor).
O
cdigo-fonte
ser
avaliado
de
acordo
com
os
seguintes
critrios
qualitativos:
i.
ii.
iii.
iv.
v.
Obviamente,
funcionalidades
adicionais
s
que
foram
solicitadas
neste
documento
so
bem
vindas
e
sero
gratificadas
na
nota
(na
medida
do
possvel).
O
cdigo-fonte
deve
conter,
em
comentrio
no
incio,
os
nomes
e
matrculas
dos
alunos
que
compem
o
grupo.
O
cdigo-fonte
deve
ser
submetido
na
data
fixada
atravs
de
servidor
de
upload,
a
ser
definido.
A
apresentao
do
prottipo
ser
marcada
em
seguida.
Lembramos
que
todos
os
programas
sero
submetidos
a
anlise
lxica
automtica,
que
pode
evidenciar
cpia
de
cdigo.
Os
trabalhos
sero
corrigidos
no
Linux.
Portanto,
certifique-se
que
o
trabalho
feito
no
Windows
tambm
compila
e
roda
no
Linux.