Boa noite tentei fazer dessa forma, espero que esteja certo e que atenda os requisitos, caso tenha alguma melhoria ficaria grato em saber como fazer!
Para fazer as validações usei esses links:
https://www.w3schools.com/jsref/jsref_number.asp#gsc.tab=0
https://www.w3schools.com/jsref/jsref_parseint.asp
https://www.w3schools.com/jsref/jsref_isnan_number.asp
Atividade 1
//1.Crie um contador que comece em 1 e vá até 10 usando um loop while. Mostre cada número.
function contadorWhile () {
alert("Crie um contador que comece em 1 e vá até 10 usando um loop while. Mostre cada número.");
let contador = 1;
while(10 >= contador) {
console.log(`contador: ${contador}`);
contador ++;
}
}
contadorWhile();
Atividade 2
function contadorNegativo () {
alert("2.Crie um contador que começa em 10 e vá até 0 usando um loop while. Mostre cada número.")
let contador = 10;
while( contador >= 0 ) {
console.log(`Contador em: ${contador}`);
contador --;
}
}
contadorNegativo();
Atividade 3
//3.Crie um programa de contagem regressiva. Peça um número e conte deste número até 0, usando um loop while no console do navegador.
function loopInverso () {
alert("3.Crie um programa de contagem regressiva. Peça um número e conte deste número até 0, usando um loop while no console do navegador.")
let contador = Number.parseInt(prompt("Informe um numero entre 1 e 10 para a contegem regressivas!"));
if (contador <= 0 || contador > 10 || isNaN(contador) === true) {
alert(`Informe outro numero, pois o numero digitado: ${contador}, não se adequa aos parametros;\nTente novamente!`)
return loopInverso();
} else {
while( contador >= 0) {
console.log(`numero ${contador}`);
contador --;
}
}
}
loopInverso();
Atividade 4
//4.Crie um programa de contagem progressiva. Peça um número e conte de 0 até esse número, usando um loop while no console do navegador.
function contadorWhile () {
alert("4.Crie um programa de contagem progressiva. Peça um número e conte de 0 até esse número, usando um loop while no console do navegador.")
let numero = Number.parseInt(prompt("Informe um um numero até Dez para o contador."));
//let inicio = Number(0); assim tambem funciona, mas não é necessario. Fiz apenas para testar.
let inicio = 0 ;
if (numero > 10 || numero <= 0 || isNaN(numero) === true) {
console.log(` o numero digitado foi ${numero}`);
alert("O valor digitado não se esta adequado ao solicitado\nTente novamente");
return contadorWhile();
} else {
while( inicio <= numero) {
console.log(`Contador: ${inicio}`);
inicio ++;
}
}
}
contadorWhile();
Fiz em forma de função para ter um retorno até que a condição seja realizada.
Fiz em arquivos separados para chamar no meu index do html ficando dessa forma da imagem, ficando de uma forma organizada para poder realizar o commit
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@700&family=Inter:wght@400;700&display=swap"
rel="stylesheet">
<link rel="stylesheet" href="style.css">
<title>JS Game</title>
</head>
<body>
<div class="container">
<div class="container__conteudo">
<img src="./img/robot.png" alt="robô mergulhador" class="container__imagem-robo" />
<div class="container__informacoes">
<img src="./img/trophy.png" alt="ícone de um troféu" />
<div class="container__texto">
<h1>Você <span class="container__texto-azul">acertou!</span></h1>
<h2>Você descobriu o número secreto!</h2>
</div>
</div>
</div>
</div>
<script src="Atividades/lista_Atividades_03/atividade_01.js"></script>
<script src="Atividades/lista_Atividades_03/atividade_02.js"></script>
<script src="Atividades/lista_Atividades_03/atividade_03.js"></script>
<script src="Atividades/lista_Atividades_03/atividade_04.js"></script>
</body>
</html>