Faremos uso dos tutoriais da seção de Testes Condicionais IF e ELSE.
Exercícios de IF e ELSE
Exercício de JavaScript
- A mensagem "Aprovado", se a média alcançada for maior ou igual a sete;
- A mensagem "Reprovado", se a média for menor do que sete;
- A mensagem "Aprovado com Distinção", se a média for igual a dez.
Questão resolvida e Código Comentado
Inicialmente, criamos dois campos de input em HTML, do tipo number, para receber as notas dos alunos e um botão 'Calcular média', que quando acionado chama a função media(), que vai dentro do código JS.Vamos lá, inicialmente, declaramos duas variáveis nota1 e a nota2, que vão receber os dados digitados nos formulários de input.
Como esses dados vem no formato string, precisamos transformar eles em dados números do tipo decimal, por isso usamos a função parseFloat().
Com os dois números em mãos, declaramos a variável media, que recebe o valor da média das duas notas (somamos elas e dividimos por 2).
Agora pegamos esse valor, e vamos usar nos testes condicionais.
Se este valor for maior ou igual a 7, é porque foi aprovado.
Mas temos dois tipos de aprovações.
Então, dentro do IF, testamos se essa nota é igual a 10. Se for, dizemos que foi aprovado com distinção. Se não for, é porque a nota é maior ou igual a 7 e é menor que 10, logo dizemos apenas que foi aprovado.
Se o primeiro IF for falso, é porque a nota é menor que 7, cai no ELSE com a mensagem de provação.
Script funcionando
Primeira nota
Segunda nota
Código HTML + JavaScript
<!DOCTYPE html> <html> <head> <title>Curso JavaScript Progressivo</title> Primeira nota <input id="nota1" type="number"> <br /> Segunda nota <input id="nota2" type="number"> <br /> <button onclick="media()">Calcular M�dia</button> <script type="text/javascript"> function media(){ var nota1 = parseFloat(document.getElementById("nota1").value); var nota2 = parseFloat(document.getElementById("nota2").value); var media = (nota1 + nota2)/2 ; if(media >= 7) if(media==10) alert("Uau! Aprovado com distin��o"); else alert("Parabens, aprovado! Media "+media); else alert("Reprovado!") } </script> </head> </html>
function verificar() {
ResponderExcluirvar nota1 = Number(document.getElementsByTagName('input')[0].value);
var nota2 = Number(document.getElementsByTagName('input')[1].value);
var media = (nota1 + nota2) / 2;
if (media >= 7 && media < 10) {
document.querySelector('p').innerHTML = `O aluno está aprovado.`;
} else if (media >= 10) {
document.querySelector('p').innerHTML = `O aluno tirou a nota ${media} e está aprovado com distinção.`;
} else {
document.querySelector('p').innerHTML = `O aluno está reprovado.`;
}
}
O seu segundo if teria que está if(media == 10), pois não existe média maior do que 10.
ExcluirResolvi sem parseFloat
ResponderExcluirCódigo:function sonotaboa(nota) {
if (nota >= 7) {
console.log('Aprovado Pra caralho')
} else {
console.log('Reprovado')
}
if (nota >= 10) {
console.log('Aprovado Com sucesso macaco')
}
}
sonotaboa(8.1)
sonotaboa(4.1)
sonotaboa(2.1)
sonotaboa(10)
só conseguir resolver com o parseInt()
ResponderExcluiraqui só conseguir resolver com o parseInt()
ResponderExcluirNão consigo visualizar a média sempre que executo
ResponderExcluirlet primeiraNota = parseFloat(prompt("Digite a primeira nota: "));
Excluirlet segundaNota = parseFloat(prompt("Digite a segunda nota: "));
let media = (primeiraNota + segundaNota) / 2;
if (media >= 7 && media < 10) {
console.log("Aprovado");
} else if (media <= 7) {
console.log("Reprovado");
} else {
media == 10 && media >= 10;
console.log("Aprovado com Distinção");
}
console.log(media);
var nome = "Jéssica "
ResponderExcluirconsole.log (nome)
var nota1 = 8
var nota2 = 5
var mediaNotas = (nota1 + nota2) / 2
console.log (mediaNotas)
if (mediaNotas >= 6)
console.log ("Aprovado")
else
console.log ("Reprovado")
var nome = "Jéssica "
ResponderExcluirconsole.log (nome)
var nota1 = 8
var nota2 = 5
var mediaNotas = (nota1 + nota2) / 2
console.log (mediaNotas)
if (mediaNotas >= 6)
console.log ("Aprovado")
else
console.log ("Reprovado")
observsções para iniciantes =
console.log = imprimir
var = variaveis
if = se for maior
else = outra condição
espero ter ajudado
o alert tbm é também o imprimir?
ExcluirOlá boa tarde, o Alert pode ser usado tbm como imprimir?
Excluirlet notaDoAluno = 4;
ResponderExcluirif (notaDoAluno >= 7 && notaDoAluno <= 9) {
console.log("Aprovado",);
}
else if (notaDoAluno < 7) {
console.log("Reprovado",);
}
else if (notaDoAluno = 10) {
console.log("Aprovado com Distinção",);
};
var media = 7
ResponderExcluirvar nota01 = parseInt(prompt())
var nota02 = parseInt(prompt())
var nota03 = parseInt(prompt())
var soma = (nota01 + nota02 + nota03) / 3
if(soma >= media){
document.write('Aluno APROVADO ')
}
else{
document.write('Aluno REPROVADO')
}
if (soma >= 10){
document.write(', é o BICHÃO !!!')
}
Mano o foda é que eu fiz assim e quando o aluno é aprovado com distinção, ainda continua o aprovado normal do primeiro if, resumindo abre 2 avisos. como que arruma isso
ResponderExcluirfuncao inicio()
ResponderExcluir{
inteiro contador=1 , N, cont_apr=0, cont_rep=0
cadeia nome, Nome
real n1, n2, m, perc_apr, perc_rep, soma= 0
escreva ("Qtidade de alunos: ") leia (N)
enquanto (contador<=N)
{
escreva(contador,"º aluno(a)\n")
escreva("Nome: ") leia(nome)
escreva("Nota 1 : ") leia(n1)
escreva("Nota 2: ") leia(n2)
m=(n1+n2)/2
escreva("Média: ",m, "\n")
se (m>=6)
{
escreva("Situação Aprovado Cupicha!!\n\n")
cont_apr++ // conta os aprovados
}
senao
{
escreva("Situação: reprovadon\n\n")
cont_rep++ // conta os reprovados
}
soma = soma + m //acumulador de medias
contador++
escreva("Qtidade de alunos aprovador: ",cont_apr,"\n")
escreva("Qtidade de alunos reprovados: ", cont_rep,"\n")
perc_apr = cont_apr * 100.0 / N
escreva("% de aprovados: ", mat.arredondar(perc_apr, 2),"\n")
perc_rep = cont_rep * 100.0 / N
escreva("% de reprovados: " ,soma, "\n")
escreva("Media da turma: ",soma/N,"\n")
}
}
}
Como posso diminuir o numero de variaveis com limite de apenas 2 porem com 3 notas para contabilizar e tirar a média
ResponderExcluirfilho faz com for plmds
ResponderExcluirPai, o curso tem um roteiro, as pessoas ainda não aprenderam laços até aqui. Na seção de loopings tem dezenas de exemplos usando for
ExcluirCódigo Js
ResponderExcluirlet average = (...numbers) => {
const sum = numbers.reduce((accum, num) => accum + num, 0)
return sum / numbers.length
}
console.log(`Méida Arimética Simples: ${average(Seus parametros)}`)
function media() {
ResponderExcluirvar nota1 = Number(document.getElementById('grade1').value);
var nota2 = Number(document.getElementById('grade2').value);
var media = (nota1 + nota2) / 2;
if (media == 10) {
alert('Aprovado com distinção!');
} else {
if (media >= 7) {
alert('Aprovado! Média ' + media);
} else {
alert('Reprovado!');
}
}
}
const name = prompt("Aluno, insira o nome:");
ResponderExcluirlet notaUm = parseFloat(prompt("Insira a nota do primeiro semestre:"));
let notaDois = parseFloat(prompt("Insira a nota do segundo semestre:"));
let soma = (notaUm + notaDois) / 2;
if (soma === 10) {
alert("Aprovado com Distinção" + "\n\nMédia do aluno(a): " + soma);
} else if (soma >= 7) {
alert("Aprovado" + "\n\nMédia do aluno:(a) " + soma);
} else {
alert("Reprovado" + "\n\nMédia do aluno:(a) " + soma);
}
let n1 = prompt ("Digite primeira nota");
ResponderExcluirlet n2 = prompt ("Digite segunda nota");
let n3 = prompt ("Digite terceira nota");
let n4 = prompt ("Digite quarta nota");
let soma_notas = n1 + n2 + n3 + n4;
let resultado = (soma_notas) / 3;
if ( resultado >= 6){
console.log("Aluno Aprovado", resultado);
alert ("voce foi aprovado:",resultado);
}else {
console.log("Aluno Reprovado", resultado);
}
let nota = Number(prompt('Insira a sua nota'))
ResponderExcluirif (nota >= 7 && nota < 10 ) {
alert('aprovado')
} else if (nota == 10) {
alert ('aprovado com distinção')
} else if (nota < 7 && nota> 3) {
alert('reprovado')
} else if (nota <= 3) {
alert ('Sem condição de recuperação...')
}
Fiz dessa maneira
ResponderExcluirlet primeiraNota = parseFloat(prompt("Digite a primeira nota: "));
let segundaNota = parseFloat(prompt("Digite a segunda nota: "));
let media = (primeiraNota + segundaNota) / 2;
if (media >= 7 && media < 10) {
console.log("Aprovado");
} else if (media <= 7) {
console.log("Reprovado");
} else {
media == 10 && media >= 10;
console.log("Aprovado com Distinção");
}
console.log(media);
A principio tive dois erros.
ResponderExcluirO primeiro foi um "object HTMLInputElement" que aparecia toda vez que eu usava o comando "res.innerHTML" para mostrar o nome do aluno.
Nessa parte meu codigo estava assim:
Parte do Script:
var aluno = document.getElementById('txtaluno')
Para resolver esse problema eu mudei o nome da id do input porque achei que estava com erro e também acrescentei o ".value" no final do script.
O meu segundo erro foi ao mostrar as notas que eu digitei. Nessa hora eu tinha o erro de "NaN".
Meu codigo estava assim antes:
Parte Script:
var nota1 = parseFloat(document.querySelector('input#txtnota1')).value
var nota2= parseFloat(document.getElementById('txtnota02')).value
Para corrigir o segundo erro como não tenho muito conhecimento porque estou iniciando, eu mudei os nomes das id's para "txtnota01" e "txtnota02" porque achei que estava errado, depois como o erro continuou eu então criei uma variavel chamada "valor1 e valor2" para receber os input das notas e criei separado as variaveis de "nota1 e nota 2" para converter as variaveis "valor1 e valor2" em valores reais com o "parseFLoat".
Para finalizar, meu codigo ficou assim:
Parte Script:
function media(){
var aluno = document.getElementById('txtaluno1').value
var valor1 = document.querySelector('input#txtnota01').value
var valor2 = document.getElementById('txtnota02').value
var nota1 = parseFloat(valor1)
var nota2 = parseFloat(valor2)
var media = (nota1 + nota2) / 2
var res = document.getElementById('res')
if (media >= 7){
res.innerHTML = `ALUNO: ${aluno} REGISTRO DE NOTAS: Nota1: ${nota1} Nota2: ${nota2} A Média das notas desse aluno foi: ${media} APROVADO
} else {
res.innerHTML = `ALUNO: ${aluno} REGISTRO DE NOTAS: Nota1: ${nota1} Nota2: ${nota2} A Média das notas desse aluno foi: ${media} REPROVADO`
}
}
Resultado na tela ficou assim:
BOLETIM DO ALUNO
Para aprovação é necessário no mínimo 7.
NOME DO ALUNO:
Jose Fernando de Almeida
REGISTRO DE NOTAS:
Nota 1: 5
Nota 2: 2
ALUNO: Jose Fernando de Almeida
REGISTRO DE NOTAS:
Nota1: 5
Nota2: 2
A Média das notas desse aluno foi: 3.5
REPROVADO
Espero ter ajudado, se alguem tiver alguma dica ou comentario de soluções melhores pode falar que eu tento implementar e aprender mais com isso.
var nota = prompt('digita sua nota');
ResponderExcluirvar nota_1 = prompt('digita sua outra nota');
resultado = parseInt(nota) + parseInt(nota_1);
if(resultado == 7 || resultado == 8 || resultado == 9){
alert('aprovado');
}else if(resultado == 10) {
alert('aprovado com distinção');
}else{
alert('reprovado');
}