Informática, perguntado por joliveiradg, 9 meses atrás

poderiam me ajudar neste enunciado?

Funções Nativas - Gerar Dezenas

Uma fábrica de biscoitos da sorte precisa de um sistema. O sistema deve gerar seis dezenas aleatórias para serem impressas. Sabe como é: Palpites para seus clientes jogarem na mega sena! O seu trabalho é escrever uma função gerarDezenas().

Essa função não recebe nenhum parâmetro. Tudo que ela deve fazer é gerar e retornar um array contendo seis números aleatórios entre 1 e 60.


juanbomfim22: Bom dia, qual é a linguagem de preferência?
lucasgema1: JavaScript
joliveiradg: obrigado a todos que tentaram ajudar, já resolvi a questão

Soluções para a tarefa

Respondido por lucasgema1
20

Resposta:

function gerarDezenas(){

   var array = Array();

   for(var i = 0; i < 6; i++){

       array.push(Math.round(Math.random * 59) +1);

   }

}

Explicação:

Como o enunciado pede para gerar um numero de 1 a 60, se o numero randomico gerar 0 a multiplicação retornará 0. E o numero mínimo é 1. Por isso, soma-se 1 unidade após o resultado. Como o número máximo deve ser 60, o numero randomico pode gerar o numero 1 e multiplicar por 60. Somado com mais 1 daria 61. Daí extrapolaria o valor máximo permitido. Então foi subtraído de 60 1 unidade. Por isso, o valor de 59 multiplicado pelo valor ramdomico.


thesantos015: function gerarDezenas() {
var dezenas = []
for(var i = 0; i < dezenas.length; i++) {
Math.round(Math.ramdom() * 60)
}
}
eujuca: Obrigado pela ajuda, porém eu fiz umas alterações que eu acho que simplifica um pouco o código
eujuca: function gerarDezenas(){
var array = Array();
for(var i = 1; i < 7; i++){
array.push(Math.round(Math.random * 60));
}
}
colocando o var = 1 ele já não consideraria o 0 e sendo assim não precisa ficar fazendo uma soma, pois na minha visão a cada soma que é feita passa a ter um novo valor
lucasgema1: A variável i = 1 não interfere em nada o resultado da multiplicação do numero randômico vezes o 60. Se o numero randômico gerar o valor 0(zero) a multiplicação retornará zero. E não é isso que o exercício pede. Ele pede que o número mínimo seja 1. Se algum resultado retornar zero, o exercício já contém a resposta inadequada ao que está sendo pedido. Por isso, é necessário a soma de uma unidade ao resutado final. Pois a multiplicação pode retornar zero. Espero ter entendido. Um abraço!
rodrigovieirapublic: Só para adicionar, a variável i=1 é relacionada ao posicionamento do elemento na array, e não a que número aparecerá randomicamente para ser multiplicado, sendo assim, ainda pode haver uma multiplicação por 0 alguma hora.
lucasgema1: Negativo. A variável i, neste caso, só faz referência ao número inicial da variável i. Não tem nada a ver com posição de array. A varável i = 1 é pra indicar que ela começa com 1. A cada loop, ou seja, a cada repetição a variável i soma 1 unidade. A condição de parada, neste caso que você mencionou é 7. Ou seja, o i começa igual a 1. Depois, ele vai a 2. Até chegar a 7. Quando ele chega a 7 ele não executa o próximo loop. Daí ele sai da iteração. Entendeu?
ericzezza: ele nao precisa retornar nem imprimir?
thaianebueno: Fiz assim e o sistema considerou como certo:

function gerarDezenas(){
var array = [];
for (var i=0; i <=6; i++)
{
array.push(math.round(Math.random()*60));
}
return array;
}
Respondido por gabriellefariat
1

Resposta:

Eu fiz da seguinte forma:

function gerarDezenas(){

   var array = Array()

   math.round(math.random(array) * 100)

}

Explicação:

Porque ai gera dezenas ate 100

Perguntas interessantes