Bem-vindos à nossa comunidade!

Junte-se a nós e faça parte hoje mesmo!

Aula: Desafio Função 03

victoriacesar

Novo Membro
Cadastro
11/1/21
Postagens
3
Curtidas
0
Pontuação
1
Cidade
Juazeiro do Norte - CE
Olá bom dia!
Acabei de assistir a aula do terceiro desafio de função e é pra de três notas, pegarmos as duas maiores, calcular a média das duas e depois falar se o aluno foi aprovado, em recuperação ou reprovado!
Queria saber se meu código está correto?
Ele roda corretamente e não visualizo nenhum erro, mas gostaria de que outra pessoa desse uma olhada também.
Todo feedback é bem vindo.
Obrigada!!

JavaScript:
let nota1 = 7.8
let nota2 = 3.1
let nota3 = 6.7
// STATUS >= 7 APROVADO
// STATUS < 7 && >= 4 RECUPERAÇÃO
// STATUS < 4 
function verificaNota(n1, n2){
  let nota;
  if(n1 > n2){
    nota = n1;
  } else {
    nota = n2;
  }
  return nota;
}
function calculaMedia(nota1, nota2){
  const media = (nota1+nota2)/2;
  return media
}
function statusNotas(media){
  if(media > 7 && media <= 10){
    console.log(`A média do aluno é ${media}, status: Aprovado!`)
  } else if(media < 7 && media >= 4){
    console.log(`A média do aluno é ${media}, status: Recuperação!`)
  } else if (media < 4 && media >= 0){
    console.log(`A média do aluno é ${media}, status: Reprovado!`)
  } else {
    console.log(`Número inválido!`)
  }
  return media
}
const primeiraNota = verificaNota(nota1, nota2);
const segundaNota = verificaNota(nota2, nota3);
const mediaNotas = calculaMedia(primeiraNota, segundaNota);
statusNotas(mediaNotas);
 
Last edited:

mourabraz

Membro
Moderador
Cadastro
23/12/20
Postagens
106
Curtidas
155
Pontuação
100
Cidade
Leiria
Olá bom dia @victoriacesar

Não vou conseguir te responder agora, mas se puderes deixa o código formatado que fica mais fácil ler e entender como podemos ajudar.

Abraços
bbcode_use_4.gif
 

mourabraz

Membro
Moderador
Cadastro
23/12/20
Postagens
106
Curtidas
155
Pontuação
100
Cidade
Leiria
@victoriacesar bom dia, desculpa a demora.

Em relação ao código,na minha opinião, está ótimo.

Entendo a ideia de retornar o valor da média na função statusNotas, mas você percebe que no exemplo esse retorno não está sendo usado né!

Em relação à lógica existe um problema, se dentre as três notas você quiser selecionar as duas maiores, independentemente da ordem, então será necessário um ajuste.
Você pode fazer a seguinte experiência, colocar os seguintes valores:
JavaScript:
let nota1 = 3.1
let nota2 = 7.8 // troquei o valor da nota 1 para a nota 2 e o valor da média muda!
let nota3 = 6.7

O próximo passo poderia ser adicionar validação dos inputs, apenas como exercício mesmo.

Abraços e parabéns!
 

Davidson Ratis

Novo Membro
Cadastro
27/1/21
Postagens
12
Curtidas
6
Pontuação
11
Cidade
Olinda
Olá bom dia!
Acabei de assistir a aula do terceiro desafio de função e é pra de três notas, pegarmos as duas maiores, calcular a média das duas e depois falar se o aluno foi aprovado, em recuperação ou reprovado!
Queria saber se meu código está correto?
Ele roda corretamente e não visualizo nenhum erro, mas gostaria de que outra pessoa desse uma olhada também.
Todo feedback é bem vindo.
Obrigada!!

JavaScript:
let nota1 = 7.8
let nota2 = 3.1
let nota3 = 6.7
// STATUS >= 7 APROVADO
// STATUS < 7 && >= 4 RECUPERAÇÃO
// STATUS < 4
function verificaNota(n1, n2){
  let nota;
  if(n1 > n2){
    nota = n1;
  } else {
    nota = n2;
  }
  return nota;
}
function calculaMedia(nota1, nota2){
  const media = (nota1+nota2)/2;
  return media
}
function statusNotas(media){
  if(media > 7 && media <= 10){
    console.log(`A média do aluno é ${media}, status: Aprovado!`)
  } else if(media < 7 && media >= 4){
    console.log(`A média do aluno é ${media}, status: Recuperação!`)
  } else if (media < 4 && media >= 0){
    console.log(`A média do aluno é ${media}, status: Reprovado!`)
  } else {
    console.log(`Número inválido!`)
  }
  return media
}
const primeiraNota = verificaNota(nota1, nota2);
const segundaNota = verificaNota(nota2, nota3);
const mediaNotas = calculaMedia(primeiraNota, segundaNota);
statusNotas(mediaNotas);

Olá Victoria. Você poderia usar um operador ternário para reduzir o tamanho da função verificaNota. Ficaria assim:

JavaScript:
function verificaNota(n1, n2){
  return n1 > n2 ? n1 : n2
}
 
Top