Curso Introdução à Programação
Assuntos
Vejamos agora um pouco sobre as listas de que existem no Neps para nos auxiliar na resolução dos nossos exercícios.
Nós já vimos que, ao abrirmos a seção de exercícios do Neps, temos a oportunidade de ver vários exercícios que podem ser ordenados por nível de dificuldade, pontuação, quantidade de resoluções etc. Note, no entanto, que apesar dessa possibilidade de ordenação, é muito difícil do aluno encontrar questões específicas sobre determinado assunto. Não se preocupe, nós vamos aprender todos esses assuntos durante os próximos cursos 😄.
Para auxiliar, há a seção dos assuntos. Nessa página, você pode perceber que há diversos assuntos diferentes. Com isso, ao você selecionar o assunto de sua preferência, será redirecionado a uma página com vários exercícios do assunto selecionado.
Resolução de Exercícios
Tomemos agora um exemplo de resolução de exercício a partir do exercício Média Inteira, que pode ser feita a partir apenas da leitura de variáveis e da aplicação de operações aritméticas.
Entendimento da Questão
Note a estrutura do exercício: primeiramente, você encontrar um texto mostrando o que o exercício pede e, depois, tem-se a descrição detalhada de como será feita a entrada dos dados e de como deverá ser a saída do programa. Por último, tem-se alguns exemplos, mais comumente chamados de casos de teste.
Com isso, percebe-se que o item pede que se faça um programa capaz de ler dois valores inteiros A e B e imprimir a média inteira entre eles. Note que a entrada será feita em duas linhas (a primeira para A e a segunda para B) e a saída consistirá em apenas uma linha contendo o valor desejado.
Perceba os exemplos de entrada e exemplos de saída. Eles têm um significado muito importante: para cada entrada daquelas, o Juiz Online esperará exatamente a saída em questão.
Criação do Programa
Vamos agora, resolver a questão. Abrindo o Code::Blocks, crie um arquivo C e salve-o em um local de sua preferência. Vamos começar fazendo a estrutura básica do programa em C:
#include <stdio.h>
int main() {
}
Podemos começar com a entrada dos dados. Lembre-se que, ao lermos um valor, precisamos armazená-lo em algum lugar; nesse caso, uma variável. Note que devemos fazer a leitura de dois números inteiros, portanto devemos fazer a declaração de duas variáveis do tipo inteiro.
#include <stdio.h>
int main() {
int A, B; // Declaração de duas variáveis inteiras A e B
}
Para realizarmos a leitura, vimos que precisamos utilizar o comando scanf(" ", ), ao qual devemos passar a formatação de entrada e o endereço das variáveis que vão receber os valores. Nesse caso, utilizamos a formatação "%d%d", indicando justamente a entrada de dois valores do tipo inteiro. Sobre o endereço das variáveis, passamos &A, &B, indicando que o primeiro valor será armazenado na variável A e o segundo, na variável B. Lembre-se que é muito importante colocar o &, pois é ele quem indica que estamos tratando da posição de memória das variáveis em questão. Veja como fica:
#include <stdio.h>
int main() {
int A, B; // Declaração de duas variáveis inteiras A e B
scanf("%d%d", &A, &B); // Entrada de dados às variáveis A e B
}
Podemos, por fim, imprimir a média inteira desses valores. Para isso, usamos o comando printf(), ao qual passaremos a formatação %d indicando que é um inteiro e a expressão (A + B) / 2 representando o cálculo da média em si.
#include <stdio.h>
int main() {
int A, B; // Declaração de duas variáveis inteiras A e B
scanf("%d%d", &A, &B); // Entrada de dados às variáveis A e B
printf("%d", (A + B) / 2); // Impressão da média inteira
}
Submissão do código
Agora, podemos testar usando os casos de teste aprensentados no enunciado usando a própria IDE, se tudo der certo podemos submeter o código. Para isso clique em Escrever Solução, no lado direito da tela, e copie o código completo para a página do exercício.
Não se esqueça de selecionar a linguagem correta, como demonstrado abaixo.

Figura 1
Agora basta clicar em Enviar e esperar o julgamento do Juiz. Após alguns segundos verificamos que o nosso código atendeu às exigências e foi aceito.
Erros Comuns
Durante a resolução de exercícios, é comum nos depararmos com alguns erros. Vejamos agora os mais comuns nessa questão.
Esquecer dos Parêntesis
Note, abaixo, que não foram colocados parêntesis durante o cálculo da média inteira dentro do comando printf().
#include <stdio.h>
int main() {
int A, B;
scanf("%d%d", &A, &B);
printf("%d", A + B / 2); // Impressão da média inteira calculada errada
}
Lembre-se que, em C, há a precedência dos operadores assim como na matemática e, assim, a multiplicação tem prioridade sobre adição. Dessa forma, primeiro será calculado o B / 2 para depois ser somado ao A.
Imagine o caso de teste A = 2, B = 10. Normalmente, a média deveria ser 6, pois (A + B) / 2 = (2 + 10) / 2 = 12 / 2 = 6. Nesse último código, entretanto, o sistema imprimira 7, pois primeiro calcularia o 10 / 2 para só então somar ao 2.
Impressões Desnecessárias
Muitas vezes, ao submeter no Neps, recebe-se erro porque a saída do programa não foi igual ao que o juiz esperava em decorrência de impressões que não foram definidas no problema. Imagine abaixo:
#include <stdio.h>
int main() {
int A, B;
printf("Digite o primeiro valor: ");
scanf("%d", &A);
printf("Digite o segundo valor: ");
scanf("%d", &B);
printf("%d", (A + B) / 2);
}
O programa, em si, está correto. Ele lê as entradas corretamente e imprime a média. Perceba, no entanto, que o Juiz Online não analisa apenas o valor da média, ele analisa toda a saída do programa, incluindo essas impressões que foram feitas para pedir para digitar os valores. Ele, então, verifica se essa saída é exatamente igual aos casos de teste e só aceita se isso realmente acontecer. Por isso, o código acima não seria aceito.
Por agora, ficamos por aqui. Até a próxima e bons estudos!