1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
<title>Manual do BOCA para as equipes</title>
</head>
<body bgcolor="white" vlink="blue" link="blue">
<font size="5"><b>BOCA Online Contest Administrator - Sistema de Submissão</b></font>
<p><b>Manual de Referência para as equipes<font size="5"> - </font>versão
setembro/2010 (para o BOCA versão 1.4.x)</b></p>
<p><font size="1">Copyright (c) 2003-2010 Ulisses F. F. da Silva and Cassio
P. de Campos.<br>
Permission is granted to copy, distribute and/or modify this document under
the terms of the GNU Free Documentation License, Version 1.2 or any later
version published by the Free Software Foundation; with no Invariant Sections,
no Front-Cover Texts, and no Back-Cover Texts. A copy of the license may be
found in <a
href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a></font></p>
<p>O BOCA é um <i>software</i> criado para controlar uma competição nos moldes
da Maratona de Programação da SBC. Foi feito em PHP e a interação dos times
com o sistema é feita usando-se um <i>browser</i>. A seguir descrevemos a
interface disponível no BOCA para as equipes e suas principais funções.</p>
<p><b>É interessante que todos os times testem essas opções durante a<i>
</i>sessão de aquecimento <i>(warmup)</i></b> <b>que antecede a competição. O
warmup tem exatamente esta função, e assim espera-se que cada equipe submeta
um problema correto, submeta um problema errado, faça perguntas aos juízes
através do sistema de <i>clarifications</i> e até submeta um arquivo pequeno
para impressão.</b></p>
<p>Neste texto será assumido que o time já realizou o seu
<i>login</i> na máquina e abriu uma janela do navegador (leia
as instruções sobre o Maratona Linux ou sobre o sistema que
estiver sendo utilizado). O BOCA é acessado através de uma
<i>URL</i> (endereços comuns são
http://mainserver/boca/ ou http://bocaserver/boca/). Ao carregar a página, o time deverá ver a
tela de <i>login</i> do BOCA. Basta digitar o <i>login</i> do
BOCA fornecido ao time e a sua senha correspondente (usualmente
algo como <b>teamX</b>, onde <b>X</b>
deve ser substituído pelo número da equipe. A senha inicial é
vazia caso não escolhida diferentemente).</p>
<p>Após realizar o <i>login</i> com sucesso, uma página deverá ser aberta
contendo a identificação do time no canto superior esquerdo. Durante a
competição, conforme o time acerta os problemas, pequenos balões coloridos
são apresentados próximos ao nome do time.
No canto superior
direito haverá a informação sobre o estado da competição: ou ainda não
começou, ou já acabou, ou está parada, ou a competição está em andamento e a
quantidade de minutos restantes será mostrada. Mais abaixo dessas primeiras
linhas estarão sete opções, que representam a interface propriamente dita do
BOCA. Estas sete opções são: <i>Problems, Runs,
Score, Clarifications, Tasks, Backups, Options e Logout.</i></p>
<p><font size="4"><b>Problems</b></font></p>
<p>Ao entrar nessa opção, o time poderá visualizar as questões da prova. Para
cada questão, estará disponível um arquivo con sua descrição (muitas vezes
apenas um arquivo de descrição é dado, contendo todas as questões da prova).
Esta opção é normalmente utilizada para competições não-presenciais como forma de
distribuir a prova. Em competições presenciais, sua utilidade é reduzida.
Ainda nesta tela é possível visualizar as cores dos balões de cada problema.</p>
<p><font size="4"><b>Runs</b></font></p>
<p>Ao entrar nessa opção, o time poderá submeter as suas soluções e receber as
respostas dos juízes. <b>Para submeter uma solução, o time deverá selecionar o
problema para o qual a solução foi feita, a linguagem utilizada e depois
carregar o arquivo contendo a solução.</b> Depois disso, basta clicar no botão
<i>Send</i> para enviar sua solução. O botão <i>Clear</i> permite apagar os
dados selecionados. Algumas observações importantes na hora de criar e
submeter uma solução:</p>
<ol>
<li>Crie o seu arquivo-fonte contendo a solução de um problema com o <b>nome
indicado</b> <b>no enunciado.</b> Cuidado com pequenos erros no nome e em sua extensão.
</li>
<li>Escolha a <b>linguagem correta.</b> Note que seu fonte deverá ter a
extensão correspondente para cada uma das linguagens aceitas (veja a folha
de questões da prova).
</li>
<li>Lembre-se de que sua solução deve <b>ler os dados da entrada padrão e
escrever os</b> <b>resultados na saída padrão.</b> <b>Nada</b> deve ser
escrito <b>na saída padrão de erro.</b> Além disso, programas escritos em
linguagens que possibilitam o retorno de algum valor para o sistema
operacional devem retornar o valor 0 (zero), que por convenção indica que
nenhum problema ocorreu na execução.
</li>
</ol>
<p>Para receber as respostas dos juízes, o time deverá clicar em <i>Runs</i> e
esperar que a lista contendo as respostas recebidas para cada solução
submetida seja atualizada (ainda assim, não perca tempo esperando. Você pode
produzir enquanto a resposta dos juízes não chega). Vale a pena lembrar que
nos <b>últimos minutos os times que submeterem</b> <b>soluções não receberão
mais as respostas dos juízes</b>
(assim o suspense fica melhor, não? :-). Esse prazo é informado na
competição. Cada competição tem seu conjunto de respostas possível que as
equipes podem receber. A seguir apresentamos apenas uma tabela exemplo com as
respostas tradicionais. <b>Verifique as especialidades da sua
competição</b>.</p>
<table border="1">
<tr>
<td nowrap>Resposta</td><td>Descrição</td>
</tr>
<tr>
<td nowrap>YES</td>
<td>Seu programa foi aceito, e você receberá um balão da cor correspondente ao problema.</td></tr>
<tr>
<td nowrap>NO: Incorrect Output</td>
<td>Também conhecido como <i>Wrong Answer</i>. Indica que seu programa
respondeu incorretamente a algum(ns) dos testes dos juízes.</td>
</tr>
<tr>
<td nowrap>NO: Time-limit Exceeded</td>
<td>A execução do seu programa excedeu o tempo permitido pelos
juízes. Esse limite de tempo usualmente não é divulgado aos times e pode variar
para cada problema.</td>
</tr>
<tr>
<td nowrap>NO: Runtime Error</td>
<td>Durante o teste ocorreu um erro de execução (causado pelo seu
programa) na máquina dos juízes. Acesso a posições irregulares de
memória ou estouro dos limites da máquina são os erros mais comuns.</td>
</tr>
<tr><td nowrap>NO: Compilation Error</td>
<td>Seu programa tem erros de sintaxe. Pode ser ainda que você errou o
nome do problema ou linguagem no momento da submissão.</td>
</tr>
<tr>
<td nowrap>NO: Output Format Error</td>
<td>Também conhecido como <i>Presentation Error</i>, indica que a saída
do seu programa não segue a especificação exigida na folha de
questões, apesar do "resultado" estar correto. Corrija para se
adequar à especificação do problema.</td>
</tr>
<tr>
<td nowrap>NO: Contact Staff</td>
<td>Você deve pedir a presença do pessoal de <i>staff</i>, pois algum
erro incomum aconteceu.</td>
</tr>
</table>
<p></p>
<p></p>
<p><font size="4"><b>Score</b></font></p>
<p>Nessa opção será mostrado o placar atualizado da competição. Vale a pena
lembrar que <b>o placar será congelado antes do final da competição</b>
(suspense mantido :-). Esse prazo também é informado na competição, e o placar
quando estiver congelado mostra um aviso sobre seu estado.</p>
<p><font size="4"><b>Clarifications</b></font></p>
<p>Essa opção permite que o time faça perguntas aos juízes a cerca de um
problema específico ou de algum aspecto geral da prova. O time deverá
selecionar o problema relacionado à sua pergunta ou selecionar <i>General</i>,
caso a pergunta não seja específica. Logo abaixo deverá ser escrito o texto da
<i>clarification</i>. Para enviar a <i>clarification</i> basta clicar no botão
<i>Send.</i> O botão <i>Clear</i> apaga os dados selecionados. Para visualizar
a resposta da <i>clarification</i>, o time deverá estar na opção
<i>Clarifications</i> e olhar na lista das <i>clarifications</i> submetidas se
a resposta já foi dada. Como já foi mencionado, uma lista contendo as
<i>clarifications</i> pertinentes a cada time será sempre mostrada nessa
opção. Algumas observações importantes sobre <i>clarifications</i>:</p>
<ol>
<li><b>Os times devem fazer perguntas sobre a prova utilizando apenas essa
interface</b> <b>disponível no BOCA!</b>
</li>
<li>O time deverá ficar atento às <i>clarifications</i> durante toda a
prova, pois uma <i>clarification</i> feita por um time poderá ser respondida
para todos os outros. Os juízes também podem enviar clarifications a todos
os times se julgarem conveniente. Fiquem atentos.
</li>
<li>As respostas de clarifications não surgem na tela. Você deve consultar esta página para vê-las.
</li>
</ol>
<p>O sistema permite que o juiz respondendo uma dúvida utilize um botão chamado <u><i>No response</i></u>. Isso ocorre
em geral porque a pergunta feita não deve ser respondida, pois sua resposta faz parte do
entendimento da questão ou da prova. Neste caso sugerimos ler com cuidado as questões e as
possíveis <i>clarifications</i> relacionadas.</p>
<p><font size="4"><b>Tasks</b></font></p>
<p>Ao entrar nessa opção, o time poderá enviar arquivos para impressão. Para
isso o arquivo deve ser selecionado e então basta clicar no botão
<i>Send</i>. O botão <i>Clear</i> permite apagar os dados selecionados. Outra
opção neste item é o botão <i>S.O.S.</i> que pode ser usado para chamar a
ajuda do pessoal de <i>staff</i>. Essa ajuda deve estar relacionada apenas com
problemas do computador ou semelhantes, já que dúvidas sobre a prova devem ser
enviadas pelo sistema BOCA na opção <i>Clarifications</i>.</p>
<p><font size="4"><b>Backups</b></font></p>
<p>No sistema BOCA é possível enviar pequenos arquivos para que sejam
guardados no servidor em case de uma interrupção do funcionamento do computador
do time. Entrando nessa opção poderão ser vistos os arquivos já enviados
e mantidos no servidor, assim como enviar novos arquivos. Note que existe um limite usualmente
pequeno na capacidade de armazenamento para que não hajam abusos. Um arquivo compactado é
geralmente a melhor forma de guardar dados no servidor.<br>
<p><font size="4"><b>Options</b></font></p>
<p>Entrando nessa opção poderão ser vistas as informações: <i>Username,
User</i> <i>full name </i>e<i> User description</i> do time.<i> </i>Também
será possível trocar a senha do time no BOCA digitando-se a senha antiga e a
nova (duas vezes). Para efetuar a troca da senha, basta preencher os campos
corretamente e clicar no botão <i>Send</i>.<br>
</p>
<p><font size="4"><i><b>Logout</b></i></font></p>
<p>Essa opção permite sair do BOCA.</p>
<p><font size="4"><b>Sobre o BOCA e este documento</b></font></p>
<p>O sistema BOCA foi criado por Cassio Polpo de Campos
e pode ser encontrado em
<a href="http://www.ime.usp.br/~cassio/boca">http://www.ime.usp.br/~cassio/boca</a>.
Este manual, em sua versão inicial, foi feito por Ulisses Furquim Freire da Silva e
complementado e atualizado por Cassio Polpo de Campos.</p>
<hr>
<p><a href="http://validator.w3.org/check?uri=referer"><img border="0"
src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!" height="31"
width="88"></a>
</body>
</html>
|