1
resposta

[RESOLUÇÃO] Desafios: hora da prática

Desafio 01

Quando você solicita entrada do usuário, como no caso de "qual o dia da semana?", é importante considerar que os usuários podem digitar de várias formas diferentes:

Podem usar letras maiúsculas ou minúsculas de forma inconsistente. Podem incluir ou não acentos, dependendo das convenções de digitação ou do teclado utilizado.

Para garantir uma boa experiência do usuário é necessário normalizar a entrada de alguma forma antes de realizar comparações.

O método .toUpperCase() é uma funcionalidade em JavaScript que converte uma string para letras maiúsculas. Essa conversão é útil porque elimina a necessidade de considerar todas as variações de maiúsculas e minúsculas durante as comparações. Por exemplo:

  • Se o usuário digitar "sábado", .toUpperCase() transforma isso em "SÁBADO".
  • Se o usuário digitar "SÁBADO", .toUpperCase() mantém como "SÁBADO".

Código pra solução:

let diaDaSemana = prompt("Olá, qual o dia da semana:");
console.log("O dia da semana é: ", diaDaSemana);

diaDaSemana = diaDaSemana.toUpperCase();

if (
    diaDaSemana === "SÁBADO" ||
    diaDaSemana === "SABADO" ||
    diaDaSemana === "DOMINGO"
) {
    alert("Bom fim de semana!");
} else {
    alert("Boa semana!");
}

Desafio 02

Mais um desafio que a gente pode ir afundo e analisar todas as possibilidades que o usuário pode digitar. Vamos entender o que abrange os números positivos e negativos:

  • Se numero for maior que 0, é positivo.
  • Se numero for igual a 0, é zero.
  • Se numero for menor que 0, é negativo.

Estava tendo dificuldades com 0 porque esqueci de uma regra básica, o prompt retorna sempre uma string mesmo o usuário digitando um número. Então usei a função Number() para converter a entrada do usuário (que é uma string) para um valor numérico (número).

Código pra solução:

let numero = prompt("Por favor, digite um número:");

numero = Number(numero);

if (numero > 0) {
    alert("o número é positivo")
} else if (numero === 0) {
    alert("O número é zero")
} else {
    alert("O número é negativo")
}

Esta estrutura condicional (if, else if, else) é utilizada para determinar o que acontecerá com base no valor inserido pelo usuário, agora armazenado na variável numero.

  • if (numero > 0): *Verifica se numero é maior que zero. Se verdadeiro, exibe um alerta informando que o número é positivo.

  • else if (numero === 0): Se a condição do if for falsa, verifica se numero é exatamente igual a zero. Se verdadeiro, exibe um alerta informando que o número é zero.

  • else: Se nenhuma das condições anteriores for verdadeira (ou seja, se numero for menor que zero), exibe um alerta informando que o número é negativo.

Desafio 03

let pontuacaoJogo = prompt("Qual foi sua pontuação? ");

if (pontuacaoJogo >= 100) {
    alert("Parabéns, você venceu!");
} else {
    alert("Tente novamente para ganhar.");
}

Desafio 04

Nesse desafio vamos trabalhar com template string.

Template Strings: São uma forma conveniente de criar strings em JavaScript, permitindo a inclusão de expressões embutidas usando ${}.

"Criar uma string" em JavaScript se refere ao processo de definir e criar um valor textual, que pode ser composto por letras, números, caracteres especiais e até mesmo emojis. Em termos simples, uma string é um conjunto de caracteres que formam um texto.

Vantagens das Template Strings:

  • Permitem uma escrita mais clara e concisa, especialmente ao incorporar valores de variáveis.
  • Eliminam a necessidade de concatenação manual de strings e variáveis usando o operador +.
  • Facilitam a criação de strings que abrangem várias linhas, melhorando a legibilidade do código.

Código pra solução:

let saldo = 300.5;

alert(`Seu saldo é ${saldo}`);

Desafio 05

Há duas formas que nós podemos fazer esse desafio:

  • Usando o operador + para concatenar a string "Bem vindo " com o conteúdo da variável nome.
let nome = prompt("Por favor, digite seu nome:");

alert("Bem vindo, " + nome + "!");
  • Usando uma template string delimitada por crases () para criar uma mensagem de boas-vindas dinâmica. A interpolação ${nome} permite incluir o nome inserido pelo usuário diretamente na string.
let nome = prompt("Por favor, digite seu nome:");

alert(`Bem-vindo, ${nome}!`);
1 resposta

Olá, Alexsandra.

Tudo bem?

Que bom ver você se dedicando aos desafios de lógica de programação! Vou analisar um a um:

Desafio 01

Seu código está correto e bem explicado. O uso do método .toUpperCase() é uma excelente abordagem para normalizar a entrada do usuário.

Desafio 02

Você acertou ao usar a função Number() para converter a entrada do usuário de string para número.

Desafio 03

Seu código para verificar a pontuação do jogo está correto.

Desafio 04

Você explicou muito bem sobre as Template Strings. Seu código está correto e usa a interpolação de variáveis de forma clara

Desafio 05

Você apresentou duas formas de resolver o desafio de boas-vindas, ambas corretas.

Parabéns por resolver todos os desafios! Seus códigos estão bem escritos e suas explicações são claras. Continue assim, praticando e evoluindo.

Espero ter ajudado. Qualquer dúvida manda aqui. Bons estudos.