Estacionamento Um estacionamento deseja automatizar a cobrança de mensalistas. Para isso decidiu simplificar a forma de calcular o valor devido pelo seu cliente. A quantia a ser paga pelos seus usuários depende do número de entradas que o veículo realiza no estacionamento. A cada entrada, a placa do veículo é registrada. Ao final do mês, conta-se o número de entradas que o veículo realizou e faz-se o seguinte cálculo: Se o motorista realizou até 20 entradas, ele deve pagar R$ 10,00 por entrada realizada. Da vigésima primeira entrada em diante, cada entrada custa R$ 5,00 ao cliente. Agora, você vai deve ajudar na automatização da cobrança escrevendo duas funções. A primeira função se chama calcularNumeroDeEntradas(placa). Ela deve receber um único parâmetro que representa a placa de um carro. A função deve retornar o número de entradas que esse carro realizou no estacionamento. Em outras palavras, o número de vezes que a placa passada como parâmetro aparece no array placas. A segunda função se chama calcularValorDevido(placa). Ela deve receber um único parâmetro que representa a placa de um carro. A função deve calcular o valor que o proprietário do carro tem que pagar segundo a política de preços estabelecida. Naturalmente, será necessário utilizar a primeira função dentro da segunda.
Respostas
Resposta:
Olha como eu fiz.
Explicação:
var placas = [
'RXB-2525', 'AKX-3333', 'ORO-7142','RXB-2525', 'AKX-3333', 'ORO-7142',
'AKX-3333', 'RXB-2525', 'AKX-3333','AKX-3333', 'RXB-2525', 'AKX-3333', 'RXB-2525', 'AKX-3333', 'ORO-7142','AKX-3333', 'AKX-3333', 'RXB-2525',
'AKX-3333', 'ORO-7142', 'ORO-7142','AKX-3333', 'AKX-3333', 'RXB-2525',
'AKX-3333', 'AKX-3333', 'RXB-2525','AKX-3333', 'AKX-3333', 'RXB-2525',
'AKX-3333', 'ORO-7142', 'ORO-7142','AKX-3333', 'ORO-7142', 'ORO-7142',
'ORO-7142', 'RXB-2525', 'AKX-3333','AKX-3333', 'ORO-7142', 'ORO-7142',
'AKX-3333', 'RXB-2525', 'AKX-3333','AKX-3333', 'RXB-2525', 'AKX-3333',
'RXB-2525', 'AKX-3333', 'ORO-7142','AKX-3333', 'AKX-3333', 'RXB-2525',
'AKX-3333', 'ORO-7142', 'ORO-7142','AKX-3333', 'AKX-3333', 'RXB-2525',
'AKX-3333', 'AKX-3333', 'RXB-2525','AKX-3333', 'AKX-3333', 'RXB-2525'
]
function calcularNumeroDeEntradas(placa){
var cont = 0;
for (var i = 0 ; i < placas.length ; i++) {
if (placas[i] == placa) {
cont++;
}
}
return cont;
}
function calcularValorDevido(placa){
var numEntradas = calcularNumeroDeEntradas(placa);
if (numEntradas <= 20) {
return 10.00 * numEntradas;
} else {
return (200 + (numEntradas - 20) * 5);
}
}
1º - Criar uma função que identifica as placas e armazena elas em outro vetor.
2º -passar essas informações para a função que faz a contagem das entradas e para a função que calcula o valor devido (poderiam ser transformadas em apenas uma).
3º - retornar o valor.
Para "passar esses valores" você poderia utilizar um laço de repetição e obter como retorno os valores devidos de cada placa, poderia escolher qual placa quer passar ou perguntar para o usuário.
Resposta:
var placas = [
'RXB-2525', 'AKX-3333', 'ORO-7142','RXB-2525', 'AKX-3333', 'ORO-7142',
'AKX-3333', 'RXB-2525', 'AKX-3333','AKX-3333', 'RXB-2525', 'AKX-3333', 'RXB-2525', 'AKX-3333', 'ORO-7142','AKX-3333', 'AKX-3333', 'RXB-2525',
'AKX-3333', 'ORO-7142', 'ORO-7142','AKX-3333', 'AKX-3333', 'RXB-2525',
'AKX-3333', 'AKX-3333', 'RXB-2525','AKX-3333', 'AKX-3333', 'RXB-2525',
'AKX-3333', 'ORO-7142', 'ORO-7142','AKX-3333', 'ORO-7142', 'ORO-7142',
'ORO-7142', 'RXB-2525', 'AKX-3333','AKX-3333', 'ORO-7142', 'ORO-7142',
'AKX-3333', 'RXB-2525', 'AKX-3333','AKX-3333', 'RXB-2525', 'AKX-3333',
'RXB-2525', 'AKX-3333', 'ORO-7142','AKX-3333', 'AKX-3333', 'RXB-2525',
'AKX-3333', 'ORO-7142', 'ORO-7142','AKX-3333', 'AKX-3333', 'RXB-2525',
'AKX-3333', 'AKX-3333', 'RXB-2525','AKX-3333', 'AKX-3333', 'RXB-2525'
]
function calcularNumeroDeEntradas(placa){
var numeroEntradas = 0
for(i = 0; i < placas.length; i++){
if(placas[i] == placa){
numeroEntradas ++;
}else {
}
}
return numeroEntradas;
}
function calcularValorDevido(placa){
var entradas = calcularNumeroDeEntradas(placa);
if (entradas < 21){
return entradas * 10
}else if (entradas >= 21){
return entradas * 20
}
}
Explicação:
function calcularNumeroDeEntradas(placa){
// Seu código vem aqui...
var placa1= []
var placa2 = []
var placa3 = []
for(var i = 0; i < placas.length; i++){
if (placas[i] == 'AKX-3333')
placa1.push(placas[i])
} if (placas[i] == 'ORO-7142' ){
placa2.push(placas[i])
} else if (placas[i] == 'RXB-2525' ) {
placa3.push(placas[i])
}
return placa(placa1,placa2,placa3)
}
function calcularNumeroDeEntradas(placa){
// Seu código vem aqui...
for(i =0; i < placas.length; i++) {
var nEntradas = placas[i] - 20
return nEntradas;
}
}
var valor = 10.00
function calcularValorDevido(placa){
// Seu código vem aqui...
var valor = valor + placas * nEntradas
return valor;
}
var entradas = 0
for (i=0; i < placas.length; i++) {
if (placas[i] == placa) {
entradas++
} return
}
}
function calcularValorDevido(placa){
var numeroDeEntradas = calcularNumeroDeEntradas(placa)
if (numeroDeEntradas <= 20) {
numeroDeEntradas * 10
} else if (numeroDeEntradas > 20) {
numeroDeEntradas - 20 * 10 + 200
} return
}