You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
sh -c "$(wget -O- https://raw.githubusercontent.com/senapk/tk/master/tools/install_linux.sh)" no linux
Criando questão
Crie uma questão utilizando o markdown e coloque os testes no estilo .TIO como no arquivo a seguir.
as >=< delimitam entrada e saída.
no caso abaixo, a entrada é 1\n2\n3\n e a saída é primeiro\n. Tanto entrada como saída podem pegar múltiplas linhas.
o texto teste 1 primeiro é o label do teste e é opcional.
>>>>>>>> teste 1 primeiro
1
2
3
========
primeiro
<<<<<<<<
Se quiser adicionar testes extras que não apareção para o alunos pode colocar eles dentro de uma tag comentário html. Se olhar a renderização do problema.md pelo github só vai achar 3 testes no problema. Se clicar em raw e olhar o código fonte, vai encontrar 5 testes.
<!---
Tudo aqui será
comentário, não aparecerá
na renderização do html,
mas entrará nos testes
--->
Vou utilizar o arquivo problema.md a seguir como exemplo.
Verificando modelo
Utilize o tk com o comando tk list problema.md para listar os testes que você criou e verificar se não teve nenhum problema de formatação.
Crie um arquivo que soluciona o problema, no nosso caso será o arquivo solver.c.
Utilize o tk para verificar se o seu código passa em todos os testes com o comando tk run problema.md solver.c
Se todos os testes passarem, a saída será assim:
╭─tiger@jungle ~/tmp/tutorial_criar_questoes ‹master*›
╰─$ tk run problema.md solver.c
=>. (05) [problema.md(05)] [(S)solver.c] (S)
Se houver alguma falha, ele vai mostrar qual o teste que falhou e o diff. No caso abaixo a saída esperada era empatee o código do usuário gero a palavra empaticom i no teste 02.
Se você tiver o código fonte que responde o problema, poderá utilizá-lo para preencher as saídas dos seus testes.
Para isso, basta criar usando o formato TIO, testes colocando apenas as entradas do problema e invocar o tk passado o código fonte. Ele vai pegar as saídas do código fonte e alterar seu arquivo de testes.
No arquivo problema_sem_testes.md eu apaguei todas as saídas dos testes.
Agora basta o comando abaixo para preencher/atualizar todos os testes:
#02_seleção L2 - Mercantil V1 - Quem chega mais perto
Descrição
Pedro e João foram no Silvio Santos. O programa era aquele que o Silvio mostrava um produto do mercantil, ambos os participantes chutavam o preço e a pessoa que chegasse mais próximo do preço real ganhava.
O objetivo do seu programa é informar quem ganhou a disputa. Você receberá o valor do produto e o valor do chute de cada jogador. O jogador que chegar mais perto ganha.
Se ambos ficarem à mesma distancia do valor real, então houve empate.
[DS]
Entrada
linha 1: o valor do produto.(valor inteiro entre 1 e 100)
linha 2: o chute do Primeiro
linha 3: o chute de Segundo
Saída
"primeiro" se o chute do Primeiro for o mais próximo do valor do produto
"segundo" se o chute do Segundo for o mais próximo do valor do produto
"empate" caso ambos ficarem à mesma distancia
Exemplos
>>>>>>>> teste 1 primeiro
1
2
3
========
primeiro
<<<<<<<<
>>>>>>>> teste 2 segundo
3
5
4
========
segundo
<<<<<<<<
>>>>>>>> teste 3 empate
10
11
9
========
empate
<<<<<<<<
Ajuda
Ao ser realizado a diferença entre o chute de um jogador e o valor do produto, o resultado pode ser negativo. Para eliminar esse resultado negativo existe a função abs.
A função abs retorna o valor absoluto de um número, ou seja, o valor do número sem sinal.
Observação
Para ser utilizada a função abs, ela deve ser importada. Segue as formas de importação em algumas linguagens e como utilizar:
#02_seleção L2 - Mercantil V1 - Quem chega mais perto
Descrição
Pedro e João foram no Silvio Santos. O programa era aquele que o Silvio mostrava um produto do mercantil, ambos os participantes chutavam o preço e a pessoa que chegasse mais próximo do preço real ganhava.
O objetivo do seu programa é informar quem ganhou a disputa. Você receberá o valor do produto e o valor do chute de cada jogador. O jogador que chegar mais perto ganha.
Se ambos ficarem à mesma distancia do valor real, então houve empate.
[DS]
Entrada
linha 1: o valor do produto.(valor inteiro entre 1 e 100)
linha 2: o chute do Primeiro
linha 3: o chute de Segundo
Saída
"primeiro" se o chute do Primeiro for o mais próximo do valor do produto
"segundo" se o chute do Segundo for o mais próximo do valor do produto
"empate" caso ambos ficarem à mesma distancia
Exemplos
>>>>>>>> teste 1 primeiro
1
2
3
========
<<<<<<<<
>>>>>>>> teste 2 segundo
3
5
4
========
<<<<<<<<
>>>>>>>> teste 3 empate
10
11
9
========
<<<<<<<<
<!---
>>>>>>>> teste oculto 1
20
21
22
========
<<<<<<<<
>>>>>>>> teste oculto 2
20
21
21
========
<<<<<<<<
--->
Ajuda
Ao ser realizado a diferença entre o chute de um jogador e o valor do produto, o resultado pode ser negativo. Para eliminar esse resultado negativo existe a função abs.
A função abs retorna o valor absoluto de um número, ou seja, o valor do número sem sinal.
Observação
Para ser utilizada a função abs, ela deve ser importada. Segue as formas de importação em algumas linguagens e como utilizar:
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters