1.10 Exemplos de entrada, processamento e saída
Já vimos como realizar a entrada de dados em JavaScript, os conceitos de variáveis e tipos de dados, além de uma forma de exibir uma resposta ao usuário (saída de dados). Vimos também que, no geral, para elaborar um programa simples, é necessário realizar três etapas: entrada, processamento e saída. Vamos agora implementar alguns exemplos de algoritmos de programação sequencial, os quais realizam essas etapas.
- a) Elaborar um programa que leia um número. Calcule e informe o dobro desse número.
- Entrada de dados: ler um número
- Processamento: calcular o dobro
- Saída: informar o dobro
Os comandos necessários para realizar essas operações são apresentados no Exemplo 1.6. Os comentários são opcionais.
Exemplo 1.6 – Cálculo do dobro de um número (exl_6.html)
<neta charset="utf-8"> <script> // lê un dado de entrada var nun = pronpt("Núnero: "); // calcula o dobro var dobro = nun * 2; // exibe a resposta alert("Dobro é: " + dobro); </script>
A execução desse script apresenta as telas ilustradas nas figuras 1.16 e 1.17.
IMAGEM
IMAGEM
Como estamos realizando uma operação de multiplicação, não é necessário converter a entrada de dados realizada pelo método prompt( ) — que retorna sempre um texto, em número. Contudo, se quisermos calcular o dobro do número a partir de uma operação de adição, a conversão é necessária. O Exemplo 1.7 implementa essa operação. Observe que a conversão pode ser feita junto com a entrada de dados. Aqui poderia ocorrer um erro como o usuário digitar uma letra no lugar de um número. Esse assunto será abordado no Capítulo 3. Por ora, vamos imaginar que o nosso usuário é bonzinho e digita um número como solicitado… O resultado da execução é o mesmo apresentado nas figuras 1.16 e 1.17.
Exemplo 1.7 – Conversão da entrada para número (ex1_7.html)
<neta charset="utf-8"> <scri.pt> // lê un dado de entrada var nun = Nunber(pronpt("Núnero: ")); // calcula o dobro var dobro = num + num; // exibe a resposta alert("Dobro é: " + dobro); </script>
- Elaborar um programa que leia dois números. Calcule e informe a soma desses números.
- Entrada de dados: ler dois números
- Processamento: calcular a soma
- Saída: informar a soma
Para realizar a leitura dos dois números, vamos declarar as variáveis numl e num2. Lembre-se de que os nomes de variável não devem conter espaços e não podem começar por número. O exemplo implementa uma forma de resolução para esse programa. Observe que o método prompt() é utilizado duas vezes e, como deve ser realizada uma soma, é necessário converter a entrada em número.
Exemplo 1.8 – Soma de dois números (ex1_8.html)
<meta charset="utf-8"> <script> // lê os números var numl = Number(prompt("l° Número: ")); var num2 = Number(prompt("20 Número: ")); // calcula a soma var soma = numl + num2; // exibe o resultado alert("Soma é: " + soma); </script>
- Elaborar um programa que leia o valor de um jantar. Calcule e informe o valor da taxa do garçom (10%) e o valor total a ser pago.
Vamos avançar um pouco. Neste e nos demais exercícios, vamos apresentar um exemplo de possíveis dados de entrada e dos respectivos dados de saída exibidos pelo programa (e deixar para você enumerar as etapas).
Valor do Jantar R$: 80.00
Taxa do Garçom R$: 8.00
Total a Pagar R$: 88.00
O exemplo de dados do programa serve apenas para ilustrar e reforçar o que é solicitado na descrição do exercício. Tenha cuidado de digitar valores com decimais separados por ponto, e não vírgula. Outro detalhe refere-se à compreensão do enunciado do exercício e ao uso correto de variáveis. Utilizando variáveis, o programa vai receber o valor do jantar, calcular corretamente a taxa do garçom e o valor total a ser pago. O Exemplo 1.9 apresenta uma maneira de resolver esse problema. Observe que o método toFixed(2) é adicionado às variáveis de saída. Ele serve para indicar que o valor a ser apresentado deve conter 2 casas decimais.
Exemplo 1.9 – Cálculo do valor do jantar (ex1_9.html)
<meta charset="utf-8"> <script> // lê o valor do jantar var jantar = Nunber(pronpt("Valor do Jantar R$: ")); // calcula os dados var garçom = jantar * 0.10; var total = jantar + garçom; // apresenta as respostas alert("Taxa Garçom R$: " + garcom.toFixed(2) + "\nTotal R$: " + total.toFixed(2)); </script>
A Figura 1.18 ilustra os valores exibidos para um jantar de R$ 80.00. A quebra de linha é gerada pela “\n”, inserida no método alert(), antes de “Total R$: “.
Nesse exemplo, o cálculo da taxa do garçom é uma multiplicação. Porém, para calcular o total, utilizamos a adição. Portanto, a entrada precisa ser convertida. Para facilitar, vamos padronizar nossos programas, definindo que todas as entradas numéricas devem ser convertidas em número.
Para calcular a taxa do garçom, realizamos uma operação de multiplicação do valor do jantar por 0.10. Mas por que por 0.10? Por que 10% é, como falamos: 10 por 100. Ou seja, 10 /100, que resulta em 0.10. Há outras formas de calcular 10%, como dividir o valor por 10. Mas, se quisermos calcular 12%, por exemplo, a fórmula de multiplicar o valor por 0.12 continua válida.
Também o cálculo do valor total pode ser feito a partir do uso de outras fórmulas. Corno:
var total = jantar + (jantar * 0.10); // ou então, var total = jantar * 1.10; // desta forma
Como o valor total é o valor do jantar acrescido de 10% (taxa do garçom), essas duas fórmulas estão igualmente corretas. Na primeira fórmula, o valor total recebe o valor do jantar + o valor do jantar multiplicado pelos 10%. Na segunda, o valor total recebe o valor do jantar multiplicado por 1.10. Esse 1.10 é calculado a partir da seguinte ideia: multiplicar qualquer valor por 1 resulta no próprio valor. Como queremos adicionar 10%, devemos somar 0.10 ao 1, resultando em 1.10.
O importante é você entender uma dessas maneiras. Com a realização dos exercícios, você vai aprimorar o entendimento sobre as formas de calcular os dados de saída de um programa e aplicá-las de acordo com os problemas a serem solucionados.
- d) Elaborar um programa que leia a duração de uma viagem em dias e horas. Calcule e informe a duração total da viagem em número de horas.
Exemplo de dados de entrada e saída do programa (para uma viagem que dura 2 dias + 5 horas).
N° Dias: 2
N° Horas: 5
Total de Horas: 53
Observe que o programa deve ler duas variáveis. Com base nessas variáveis, precisamos pensar uma forma de calcular o valor total das horas e converter isso em uma fórmula matemática que esteja correta para quaisquer valores válidos de entrada. Sabendo que um dia tem 24 horas, precisamos multiplicar o número de dias por 24 e adicionar o número de horas. O código 1.10 descrito a seguir apresenta um exemplo de resolução para esse problema.
Exemplo 1.10 – Cálculo da duração de horas de uma viagem (ex1_10.html)
<neta charset="utf-8"> <script> // lê os dados de entrada var dias = Nunber(pronpt("N° Dias: ")); var horas = Nunber(pronpt("N° Horas: ")); // calcula a duração var total = (dias * 24) + horas; // exibe o total alert("Total de Horas: " + total); </script>