Instrução auxiliada por computador: níveis de dificuldade. Os exercícios 5.50 a 5.52 desenvolveram um programa de instrução auxiliada por computador para ajudar a ensinar multiplicação a um aluno do ensino fundamental. Modifique o programa de modo a permitir que o usuário entre com um nível de dificuldade. Em um nível de dificuldade 1, o programa deverá usar apenas números de um dígito nos problemas; em um nível de dificuldade 2, os números podem ter dois dígitos e assim por diante.

Passo 1

Oiiiii pessoal, tudo bom?

Vamos resolver mais um probleminha.

Inicialmente, incluímos as bibliotecas que necessitamos para resolver nosso programa, são incluídas a , biblioteca padrão em C, e a . Essas duas são incluídas para que possamos usar as funções rand e srand. Em seguida criamos o protótipo da nossa função tabuada e seguimos para o main.

Olhando para o main, temos a utilização da função srand para gerar números distintos e o laço while para que a nossa função Tabuada seja chamada infinitas vezes.

Tudo bem até aqui?

Passo 2

Seguimos então para a função Tabuada. Na função Tabuada são definidas as variáveis que serão úteis para resolver o meu problema, depois é perguntado ao usuário por meio do comando printf qual é o nível de dificuldade que ele deseja, após isso o valor digitado é armazenado na variável nivel. Com o auxílio de um switch organizamos cada nível, caso ele digite 1, aparecerão multiplicações com números de um dígito. Entretanto, caso o usuário digite 2, aparecerão multiplicações com números de até dois dígitos e por fim, se o usuário digitar 3 surgirão multiplicações com números de até três dígitos.

A cada vez que o usuário digita uma resposta certa dos 10 questionamentos, um ponto é acrescentado na variável acertos.

Passo 3

E por último é feito uma análise do desempenho de cada aluno. Caso ele acerte 75% das questões respondidas, será impresso a mensagem “Parabéns, você está pronto para o próximo nível!”. Porém, se ele acertar menos que 75%, será impresso a mensagem “Por favor, peça ajuda a seu professor.”

Bons estudos, pessoal! ;)

Resposta

#include

#include

#include

void Tabuada(); /* protótipo de função */

/* função main inicia a execução do programa */

int main(){

srand(time(NULL)); /* semente gerador de números aleatórios */

while(1){

Tabuada(); /* chamada da função Tabuada */

}

return 0; /* indica conclusão bem-sucedida */

} /* fim do main */

void Tabuada(){

int num1, num2;

int resp, nivel;

double acertos = 0;

printf("Escolha um nível de dificuldade de 1 - 3:\n");

scanf("%d", & nivel);

switch(nivel){

case 1:

for(int i = 0; i

num1 = rand() % 9; /* escolhe um número entre 0 - 9 */

num2 = rand() % 9;

printf("Quanto é %d vezes %d\n",num1,num2);

scanf("%d",& resp);

if(num1*num2 == resp){

acertos++;

}

}

break;

case 2:

for(int i = 0; i

num1 = rand() % 99; /* escolhe um número entre 0 - 99 */

num2 = rand() % 99 ;

printf("Quanto é %d vezes %d\n",num1,num2);

scanf("%d",& resp);

if(num1*num2 == resp){

acertos++;

}

}

break;

case 3:

for(int i = 0; i

num1 = rand() % 999; /* escolhe um número entre 0 - 999 */

num2 = rand() % 999;

printf("Quanto é %d vezes %d\n",num1,num2);

scanf("%d",& resp);

if(num1*num2 == resp){

acertos++;

}

}

break;

}/* fim do switch */

if(acertos / 10 >= 0.75){

printf("Parabéns, você está pronto para o próximo nível!\n");

} /* fim do if*/

else{

printf("Por favor, peça ajuda a seu professor.\n");

} /* fim do else */

}/* fim da função Tabuada */