Preciso de ajuda nessa questão - Javascript

18 respostas Resolvido
javascript
Zelito_Alves

Socorro
Instruções
var correctGuesses = 0;
Você sabe que a senha do seu alvo tem 4 caracteres, portanto, você precisará forçar com força um caractere de cada vez. Já declaramos a variável correctGuesses que você deve usar para acompanhar quantos caracteres você adivinhou.

Agora você precisa criar um loop que só pare quando todos os 4 caracteres tiverem sido adivinhados. Em cada iteração de loop, existem 3 resultados possíveis:

Você adivinha corretamente, o que aumenta em 1 as estimativas corretas e imprime a mensagem “Caracteres X encontrados” (onde X é substituído pelo número atual de estimativas corretas).

Você adivinha incorretamente e o terminal do seu alvo detectou muitas tentativas, o que redefine as Guias corretas para 0 e imprime a mensagem “Iniciando novamente” no console.

Você adivinha incorretamente, mas o correctGuesses é mantido com o mesmo valor.
Cada resultado tem a mesma probabilidade de acontecer, mas é aleatório.

Depois que a senha for quebrada, você deverá imprimir a mensagem “Terminal hackeado!”.

Verifique se todas as mensagens no seu código estão no formato correto para avançar!

18 Respostas

rodriguesabner

Boa questão, o que vossa senhoria realizou até o presente momento?

wldomiciano

Este é o primeiro passo:

let correctGuesses = 0;
const password = [1, 9, 5, 2];

while (correctGuesses != 4) {
  const guest = Math.round(Math.random() * 9);
  
  if (password[correctGuesses] === guest) {
    correctGuesses++;
  }
}

console.log('Terminal hackeado!');

Onde, exatamente, você está tendo dificuldade?

Zelito_Alves

You know that your target’s password is 4 characters long, so you’ll just have to brute force 1 character at a time. We already declared the variable correctGuesses which you should use to keep track of how many characters you have guessed.

Now you need to create a loop that only stops when all 4 characters have been guessed. On each loop iteration there are 3 possible outcomes:

  1. You guess correctly which increases correctGuesses by 1 and prints the message ‘Found X characters’ (where X is replaced with the current number of correct guesses).

  2. You guess incorrectly and your target’s terminal has detected too many attempts, which resets correctGuesses to 0 and prints the message ‘Starting over’ to the console.

  3. You guess incorrectly, but correctGuesses is kept with the same value.
    Each outcome has the same probability of happening, but it is random.

Once the password is cracked you should print the message ‘Terminal hacked!’.

Make sure all the messages in your code are in the correct format in order to advance!

Zelito_Alves

muito obrigado por estares a me ajudar …// eu quero muito ser um programador mas para eu ser programador tenho que fazer esse exercício . me ajude

Code is incorrect

Your code is not up to fSociety standards, keep trying to improve it

let correctGuesses = 0;
const password = [1, 9, 5, 2];

while (correctGuesses != 4) {
  const guest = Math.round(Math.random() * 9);
  
  if (password[correctGuesses] === guest) {
    correctGuesses++;
  }
}

console.log('Terminal hackeado!');
wldomiciano

O código está incorreto porque não está completo, eu disse que é apenas um primeiro passo e pedi pra você me dizer em que parte está tendo dificuldade.

Zelito_Alves

me envia o codigo completo por favor. se nao te encomoda

PedreiroDeSoftware

Porque está começando com hacking?

Compre um curso de programação da udemy.
É barato.
Entre 20 e 30 R$.

wldomiciano

j-menezes

Mais vale tirar nota condizente com o que sabe tipo um 5.5 ou 6.0 do que tirar 10.0 sem entender nada.

Um programador nem sempre acerta de primeira, salvo se já tem experiencia em dado cenário.
Mas o que diferencia o programador do bom programador é a vontade de resolver o problema, de consultar, estudar e não ter medo de desafio.

De que adianta passar de ano, se formar e não saber nada. Depois arruma emprego e faz igual uma antiga funcionaria que tinhamos em nossa empresa, todo dia vinha chorando porque não conseguia programar e resolver o problema do cliente, e olha que no certificado dela constava nota 10 em programação.

Zelito_Alves

Meu caro amigo eu ja tentei resolver esse desafio .
Qual o senhor acha melhor , desistir ou procurar ajuda para ver onde esta o problema .
Eu ando a procurar ajuda por dois motivo.
1 nao estou conseguir resolver esse desafio.
2 me resta pouco tempo para fazer esse desafio. se nao consegue resolver esse desafio vou perder essa chanse de estudar programacao.
E muito obrigado pelo conselho.

j-menezes

Bom, se é assim então peço desculpa por ter cometido algum excesso em relação a você.
Mas a dica do wldomiciano não ajuda a resolver seu problema ?

Zelito_Alves

wldomiciano me ajuda por favor com aquele dois exercicios .
falta dois dia para a candidatura fechar . por favor me ajuda a realizar meu sonho de me tornar um programador

rodriguesabner

Não há atalhos, vc precisa estudar. O correto é vc começar aprendendo da base e outra, há vários tutoriais no YouTube gratuitos e de ótima qualidade que vc pode assistir pra aprender javascript do ZERO. Boa sorte e bons estudos

A
var correctGuesses = 0;
var targetPassword = 4;
while(correctGuesses < 4) {
    var outcome = Math.floor(Math.random()*3);
  	if(outcome === 0){
    	correctGuesses ++;
    	console.log ('Found ' + correctGuesses + ' characters');
  }
 	if (outcome === 1) {
    	correctGuesses = 0;
    	console.log ('Starting over');
  }
  	if (outcome === 2) {
    	console.log ('Wrong guess');
  }
    if (correctGuesses === targetPassword) {
    	console.log('Terminal hacked!');
        break;
    }
}
PedreiroDeSoftware
Solucao aceita

:thinking:

L

ola. posso so tirar uma duvida? porque if outcome=== 0 aumenta correct guess??

A

porque da variavel outcome saem 3 hipoteses:
outcome=0 - quer dizer que acertou no carácter e por isso aumenta o numero de respostas corretas ( tem de acertar 4 vezes para ter os 4 caracteres da password)
outcome=1 - quer dizer que errou e que caso ja tenha algum carácter correto esse é eliminado e começa a contangem do zero
outcome=2 - quer dizer que errou no carácter mas os que foram descobertos ate agora nao foram perdidos ( se ja tiver 2 caracteres certos e errar mantem os 2 certos e continua a tentar ate ter os 4)

Sofia_Borges

Olá. Estou com o mesmo exercicio para realizar. Já dei muitas voltas, já estudei imenso e não consigo encontrar o erro do meu.

Alguém me pode ajudar?

Criado 11 de fevereiro de 2020
Ultima resposta 29 de set. de 2020
Respostas 18
Participantes 8