👩💻 Guia Definitivo para Entregar Seus Desafios de Código na DIO
Este guia tem como objetivo ensinar você a submeter corretamente seus desafios de códigos na DIO, evitando erros comuns e garantindo que sua resposta esteja adequada à saída esperada.
O que você vai aprender aqui
- Como Navegar na Interface do Desafio
- Formato das Entradas
- Formato das Saídas Esperadas
- Entendendo os Testes Fechados
- Erros Comuns na Submissão do Desafio
1. Como Navegar na Interface do Desafio
1.1 Identificação e Localização dos Grupos de Desafios
Nos módulos das trilhas de aprendizado, os Grupos de Desafios de Código são identificados pelo rótulo “Desafio de código”, localizado acima do título do grupo. Eles estão presentes em alguns módulos, logo após cursos que fornecem a base necessária para a resolução dos desafios, garantindo que os exercícios sejam adequados ao nível da trilha. Diferentemente dos cursos, não há emissão de certificados após a conclusão desses desafios.
O primeiro grupo de desafios de código do Bootcamp geralmente está presente logo após o curso “Desafios de Código: Aperfeiçoe Sua Lógica e Pensamento Computacional”. Este curso tem caráter geral, apresentando a metodologia e exemplificando em diferentes linguagens na plataforma.
Para iniciar um grupo de desafios, basta clicar no botão com a indicação “Iniciar agora”. Nos grupos já concluídos, esse botão deixa de ser exibido, como demonstrado na imagem abaixo:
Cada grupo de desafios concede uma badge após a conclusão, e a cor do badge indica o nível do desafio:
- Cobre: Básico
- Prata: Intermediário
- Dourado: Avançado
1.2 Entendendo a Estrutura do Enunciado
Na barra lateral, há um menu com ícones que dão acesso a diferentes abas:
- Descrição do desafio (ícone de livro): contém o enunciado completo do desafio;
- Instruções para resolução (ícone “i”): apresenta exemplos de como implementar a entrada e saída de dados (STDIN e STDOUT) em diferentes linguagens;
- Dúvidas (ícone de interrogação): reúne perguntas frequentes e inclui um botão "Visualizar Tour Interativo" para tour interativo na interface.
Ao lado do título do Grupo de Desafios, há um menu suspenso que, ao ser clicado, permite visualizar todos os desafios pertencentes a esse grupo.
As “vidas”, representadas pelo coração vermelho no canto superior direito, indicam o número máximo de tentativas de envio incorreto disponíveis, que é de até 5. Elas incentivam a agir com atenção e aplicar pensamento crítico ao submeter suas soluções.
1.3 Ambiente de Desenvolvimento: Personalização, Template do Código e TODOs
No lado direito da interface, está disponível o ambiente de desenvolvimento dos desafios. Na parte superior desse ambiente, encontra-se um menu com dois botões principais:
- Restart Code: permite resetar o template de código padrão, que serve como base para o desenvolvimento do desafio;
- Salvar: possibilita salvar a resolução caso não queira enviar imediatamente.
O ambiente de desenvolvimento também pode ser personalizado, incluindo tema, tamanho da fonte e outras configurações, acessíveis ao clicar no ícone de engrenagem, conforme ilustrado na imagem abaixo.
Na região de preenchimento do código, encontra-se o template que serve como base para a resolução do desafio. O template inclui trechos marcados como TODO, que devem ser implementados para que o algoritmo funcione corretamente. É importante prestar atenção aos requisitos do enunciado ao desenvolver a solução.
1.4 Execução dos Casos de Testes
Ao clicar no botão “Executar Testes”, o sistema processa seu algoritmo utilizando as entradas e saídas esperadas, executando os casos de teste abertos e fechados.
- Nos testes abertos, é possível visualizar a entrada de dados, a saída esperada e a sua saída.
- Nos testes fechados, que normalmente verificam casos de borda, essas informações não são exibidas.
Ao executar os testes, você consegue visualizar:
- os dados de entrada fornecidos pelo sistema;
- a saída esperada;
- a saída gerada pelo seu código.
Dessa forma, é possível comparar os resultados e identificar ajustes necessários na sua solução. Lembre-se de que espaços em branco, letras maiúsculas/minúsculas e caracteres especiais podem impactar a correção do seu código.
1.5 Entrega do Desafio
Após seu algoritmo passar em todos os casos de teste abertos, clique no botão verde “Entregar Desafio” para submeter sua solução.
- Se o desafio passar nos testes fechados, sua entrega será considerada correta.
- Se não passar nos testes fechados, você perderá uma vida, que será recuperada após alguns minutos.
- Certifique-se de entregar todos os desafios do grupo, pois apenas assim o grupo será considerado concluído.
2. Formato das Entradas
2.1 A entrada é sempre fornecida pelo sistema
Os dados do desafio sempre são enviados pelo sistema por meio da entrada padrão.
Um erro comum é definir valores fixos no código, como:
- ❌
int n = 10; // valor fixo no código
- ✅
int n = sc.nextInt();
(Java) ouint n = int.Parse(Console.ReadLine());
(C#)
Atenção: Lembre-se que a entrada é recebida como uma string. Dependendo da linguagem de programação, pode ser necessário converter a string para o tipo correto. Para isso, utilize as funções próprias da sua linguagem.
2.2 A entrada não deve conter mensagens adicionais
Ao receber dados do sistema, não inclua mensagens ou textos adicionais dentro do comando de entrada. Essas mensagens acabam sendo consideradas na saída do programa, o que pode fazer com que ela não corresponda exatamente à saída esperada e o desafio seja rejeitado.
- ❌
System.out.print("Digite: "); int n = sc.nextInt();
ouConsole.Write("Digite: "); int n = int.Parse(Console.ReadLine());
- ✅
int n = sc.nextInt();
(Java) ouint n = int.Parse(Console.ReadLine());
(C#)
3. Formato das Saídas Esperadas
As saídas devem ser exatamente igual ao especificado no enunciado. Por isso, atente-se a:
- Não adicionar textos extras.
- Respeitar maiúsculas e minúsculas.
- Não adicionar caracteres especiais.
- Não deixar espaços no fim da linha.
4. Entendendo os Testes Fechados
Os testes fechados servem para garantir que o código desenvolvido funcione corretamente em todos os cenários, e não apenas nos exemplos fornecidos. Eles ajudam a estimular o raciocínio lógico e a prática de programação, evitando que apenas copie e cole soluções dos exemplos.
Portanto, ao desenvolver sua solução, considere que:
- o sistema utiliza entradas ocultas (testes fechados), então seu código deve funcionar em todos os casos possíveis;
- é importante testar valores mínimos, máximos e casos de borda para garantir a robustez da solução.
5. Erros Comuns na Submissão do Desafio
Testou seu código na IDE, mas não conseguiu passar nos testes da plataforma? Isso acontece porque não basta resolver o problema, é preciso submeter corretamente o código na plataforma.
Alguns dos erros mais comuns são:
- ❌ Não entregar todos os desafios do grupo (lembre-se de clicar no botão “Entregar Desafio”);
- ❌ Não passar nos testes fechados;
- ❌ Saída diferente da saída esperada: por exemplo, diferenças em maiúsculas/minúsculas, espaços em branco no fim da linha ou caracteres especiais não previstos;
- ❌ Adicionar mensagens ou textos extras no input: por exemplo,
System.out.print("Digite seu nome: ")
); - ❌ Não implementar corretamente os trechos marcados como TODO no template de código.
Bônus: Vídeo - 5 Dicas para Entregar Seus Desafios de Código na DIO
Ainda ficou com dúvidas? Veja o vídeo que a Aline Antunes preparou com 5 Dicas para Você Entregar Seus Desafios de Código na DIO: https://www.youtube.com/watch?v=CmEsHEDMLio
Seguindo cada ponto com atenção, vocês vão conseguir desenvolver soluções completas, passar nos testes e concluir seus grupos de desafios sem dor de cabeça!
Boa prática e bons estudos! 👩💻✨
Elidiana Andrade
Tech Education Analyst
DIO