Baixe o app para aproveitar ainda mais
Prévia do material em texto
Senac EAD Produção Textual Individual 1 Senac São Paulo – Todos os Direitos Reservados DISCIPLINA ALGORITMOS E PROGRAMAÇÃO I PROFESSOR(ES) AUTOR(ES) GUSTAVO MOREIRA CALIXTO Produção Textual Individual Tema O uso dos algoritmos e da programação nas tarefas do cotidiano Texto base (texto, gráficos, tabelas, imagens) Existe aplicações simples que podemos desenvolver e que ajuda e muito no nosso cotidiano. É uma grande dúvida quando vamos abastercer um veículo saber qual combustível é mais vantajoso: álcool ou gasolina. A relação de consumo entre álcool e gasolina é de 70%, ou seja, se temos o mesmo volume de combustível, a energia gerada por 70% do consumo de gasolina é o mesmo de 100% do consumo de álcool. Tendo esta informação, conseguimos saber, na hora de abastecer, qual combustível é o mais vantajoso, dividindo o preço do álcool pelo preço da gasolina. Se este valor for superior a 0,7, vale a pena a gasolina. Se este valor for inferior a 0,7, vale a pena o álcool. Se o valor for exatamente 0,7, tanto faz abastecer com um ou outro. Enunciado Considerando seu conhecimento e as explicações acima, elabore um programa em JavaScript: A) que receba como entrada o preço da gasolina e o preço do álcool e informe ao usuário qual é o combustível mais vantajoso (ou se tanto faz abastecer qual qualquer um deles). B) Considere que depois, o programa deve perguntar ao usuário se deseja efetuar um novo cálculo: se u usuário confirmar que sim, o programa solicita as entradas novamente. Senão, o programa é encerrado. Orientações Gerais Observações do professor: Exemplos do matérial didático fornecido, microexercícios nas webconferências e exercícios resolvidos da lista fornecida pelo docente. Como todos sabem os algoritmos e a programação tem feito parte do nosso cotidiano, nas nossas tarefas mais simples e nas facilidades que a computação viabiliza para seus usuários. Orientação de Entrega: Esta atividade deverá ser entregue no item Produção Textual Individual do menu principal. Prazo de Entrega: Consultar o calendário de atividades Tamanho máximo do texto: 30 linhas ou 1 página. Uso de fontes de terceiros (citações) deve ser referenciada conforme Guia de Normalização Senac EAD Produção Textual Individual 2 Senac São Paulo – Todos os Direitos Reservados do Senac: http://www3.sp.senac.br/hotsites/campus_santoamaro/cd/arquivos/biblioteca/guia_norma tizacao.pdf http://www3.sp.senac.br/hotsites/campus_santoamaro/cd/arquivos/biblioteca/guia_normatizacao.pdf http://www3.sp.senac.br/hotsites/campus_santoamaro/cd/arquivos/biblioteca/guia_normatizacao.pdf File: /home/jhonnatan/Área de Traba…nviada/usarAlcoolOuGasolina.js Page 1 of 3 /* Autor: Jhonnatan Maciel Guedes Instituição: Centro Universitário Senac São Paulo Curso: Tecnologia em Análise e Desenvolvimeto de Sistemas Semestre: 1º Semestre Disciplina: Algoritmos e Programação I Professor: Gustavo Moreira Calixto Tutora EAD: Denise Aparecida Pereira Objetivo: Calcular se é mais vantajoso para o consumidor abastecer com gasolina ou álcool, conforme o enunciado da PTI (Produção Textual Individual) da disciplina de Algoritmos e Programação I do Centro Universitário Senac de São Paulo. */ function validaPrecoGasolina() { let precoGasolina = 0; /* Verifica se o usuário digitou um número maior ou igual a zero. Caso o usuário digite um caracter não numérico (como letras) ou um número negativo será exibido um alerta e o usuário terá de digitar um novo número. */ do { precoGasolina = prompt("Informe o preço da gasolina:"); // A função isNaN(x) retorna "true" (verdadeiro) se x não for um número (1, 2, etc.) // ou um numeral (strings "1", "2", etc.). if ( ( isNaN(precoGasolina) == true ) || ( parseFloat(precoGasolina) < 0 ) ) { alert("O preço da gasolina precisa ser um número maior ou igual a zero! Tente novamente."); } } while ( (isNaN(precoGasolina) == true) || (parseFloat(precoGasolina) < 0) ); // Repete até que seja digitado um número maior ou igual a zero. // Funções sempre retornam strings. return precoGasolina; } function validaPrecoAlcool() { let precoAlcool = 0; /* Verifica se o usuário digitou um número maior ou igual a zero. Caso o usuário digite um caracter não numérico (como letras) ou um número negativo será exibido um alerta e o usuário terá de digitar um novo número. */ do { precoAlcool = prompt("Informe o preço do álcool:"); // A função isNaN(x) retorna "true" (verdadeiro) se x não for um número (1, 2, etc.) File: /home/jhonnatan/Área de Traba…nviada/usarAlcoolOuGasolina.js Page 2 of 3 // ou um numeral (strings "1", "2", etc.). if ( ( isNaN(precoAlcool) == true ) || ( parseFloat(precoAlcool) < 0 ) ) { alert("O preço do álcool precisa ser um número maior ou igual a zero! Tente novamente."); } } while ( (isNaN(precoAlcool) == true) || (parseFloat(precoAlcool) < 0) ); // Repete até que seja digitado um número maior ou igual a zero. // Funções sempre retornam strings. return precoAlcool; } function usarAlcoolOuGasolina(){ // Chama a função validaPrecoGasolina() para garantir que o preço digitado seja válido. let precoGasolina = parseFloat( validaPrecoGasolina() ); // Chama a função validaPrecoAlcool() para garantir que o preço digitado seja válido. let precoAlcool = parseFloat( validaPrecoAlcool() ); let mensagem = ""; if (precoAlcool < (precoGasolina * 0.7) ) { mensagem = "No momento é mais vantajoso abastecer com ÁLCOOL."; } else if ( precoAlcool > (precoGasolina * 0.7) ) { mensagem = "No momento é mais vantajoso abastecer com GASOLINA."; } else { mensagem = "No momento tanto faz abastecer com ÁLCOOL ou GASOLINA."; } // Funções sempre retornam strings. return mensagem; } function continuarOuParar(){ let continuar = "INDEFINIDO"; do { // Chama a função usarAlcoolOuGasolina() que, por sua vez, chama outras funções. alert( usarAlcoolOuGasolina() ); continuar = prompt("Você quer continuar a comparar preços (S/N)? (Digite S para SIM ou N para NÃO)"); // Se o usuário digitar qualquer coisa diferente de "S" ou "N", ele vai receber um alerta e terá que digitar novamente. // Usei a função toUpperCase() para não diferenciar se o usuário digitar letras maiúculas ou minúsculas. while ( (continuar.toUpperCase() != "S") && (continuar.toUpperCase() != "N") ) { alert("Opção incorreta! Você só pode digitar uma das duas opções: S ou N. File: /home/jhonnatan/Área de Traba…nviada/usarAlcoolOuGasolina.js Page 3 of 3 Tente novamente."); continuar = prompt("Você quer continuar a comparar preços (S/N)? (Digite S para SIM ou N para NÃO)"); } // O loop (laço) continua enquanto o usuário diitar "S". Se ele digitar "N" o loop se encerra. // Usei a função toUpperCase() para não diferenciar se o usuário digitar letras maiúculas ou minúsculas. } while (continuar.toUpperCase() === "S"); } // Essa é a função principal do programa. continuarOuParar(); 1.pdf 2.pdf
Compartilhar