Gerar números aleatórios tem a sua serventia em diversas situações, tais como geração de sequências para testes de softwares, solução inicial em problemas de otimização e definição do intervalo de tempo para o reenvio de informações em redes de computadores. Para o teste, imaginemos um cenário onde dois jogares disputam uma partida de lançamento de dados – ganha aquele que obtiver maior pontuação no dado lançado. Para simular esse cenário, imaginemos o código abaixo:
#include //arquivo header para a funcao printf()
#include //arquivo header para as funcoes srand() e rand()
#include //arquivo header para a funcao time()
void Compara(int __jog1, int __jog2)
{
if(jog1 > jog2) printf("Jogador 1 vencedor (1=%d x 2=%d)\n",jog1,jog2);
else if (jog1 < jog2) printf("Jogador 2 vencedor!(1=%d x 2=%d)\n",jog1,jog2);
else printf("Empate (%d)\n",jog1);
}
___ Dado()
{
return ____;
}
int main()
{
srand(time(NULL));
Compara(Dado(),Dado());
return 0;
}
Assinale a opção abaixo que contenha os trechos de código para preencher as lacunas (o caracter “_” significa para deixar a lacuna vazia):
. __ ; __ ; int ; rand() .
. * ; * ; int ; (rand()%6)+1 .
. * ; * ; int ; rand()%6 .
. __ ; __ ; int ; rand()%6 .
. __ ; __ ; int ; (rand()%6)+1 .
Soluções para a tarefa
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
void Compara(int jog1, int jog2) {
if(jog1 > jog2) printf("Jogador 1 vencedor (1=%d x 2=%d)\n",jog1,jog2);
else if (jog1 < jog2) printf("Jogador 2 vencedor!(1=%d x 2=%d)\n",jog1,jog2);
else printf("Empate (%d)\n",jog1);
}
int Dado() {
return rand()%6+1;
}
int main() {
srand(time(NULL));
Compara(Dado(),Dado());
return 0;
}
ÚLTIMA ALTERNATIVA:
__ ; __ ; int ; (rand()%6)+1
Acerca da situação descrita acima, observando o programa escrito na linguagem de programação C onde dois jogadores disputam uma partida aleatória podem vencer ou empatar, a alternativa que preenche as lacunas corretamente é a alternativa E, (. __ ; __ ; int ; (rand()%6)+1) .
Mas como então o código em C fica com as lacunas preenchidas?
O código apresentado acima e com as lacunas preenchidas fica assim:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
void Compara(int jog1, int jog2) {
if(jog1 > jog2) printf("Jogador 1 vencedor (1=%d x 2=%d)\n",jog1,jog2);
else if (jog1 < jog2) printf("Jogador 2 vencedor!(1=%d x 2=%d)\n",jog1,jog2);
else printf("Empate (%d)\n",jog1);
}
int Dado() {
return rand()%6+1;
}
int main() {
srand(time(NULL));
Compara(Dado(),Dado());
return 0;
}
Esse código adiciona um valor aleatório para cada jogador e compara, caso jog1>jog2 então jog1 vence, caso jog2>jog1 então jog2 vence e caso jog1=jog2 é empate.
Saiba mais sobre programação em C aqui: https://brainly.com.br/tarefa/28035640
#SPJ2