Percursos
/
JavaScript
JavaScript
/
Exercícios
/
Compra de veículo
Compra de veículo

Compra de veículo

Exercício de aprendizagem

Introdução

Comparação

Em JavaScript, os números podem ser comparados com os seguintes operadores relacionais e de igualdade.

Comparação Operador
Maior que a > b
Maior ou igual a a >= b
Menor que a < b
Menor ou igual a a <= b
Igual (estrito) a === b
Diferente (estrito) a !== b

O resultado da comparação é sempre um valor Boolean: true ou false.

1 < 3;
// => true

2 !== 2;
// => false

1 === 1.0;
// => true
// All numbers are floating-points, so this is different syntax for
// the exact same value.

Em JavaScript, os operadores de comparação acima também podem ser usados para comparar strings. Nesse caso, é aplicada uma ordem lexicográfica (de dicionário). Podes encontrar uma lista com a ordem exata de todos os carateres aqui.

'Apple' > 'Pear';
// => false

'a' < 'above';
// => true

'a' === 'A';
// => false

Condicionais

Uma forma comum de executar lógica condicionalmente em JavaScript é a condicional. É composta pela palavra-chave if, uma condição entre parênteses e um bloco de código entre chavetas. O bloco de código só é executado se a condição for avaliada como true.

if (condition) {
  // code that is executed if "condition" is true
}

Pode ser usada isoladamente ou combinada com a palavra-chave else.

if (condition) {
  // code that is executed if "condition" is true
} else {
  // code that is executed otherwise
}

Para aninhar outra condição na cláusula else, podes usar else if.

if (condition1) {
  // code that is executed if "condition1" is true
} else if (condition2) {
  // code that is executed if "condition2" is true
  // but "condition1" was false
} else {
  // code that is executed otherwise
}

Instruções

Neste exercício, vais escrever algum código para te ajudar a preparar a compra de um veículo.

Tens três tarefas: uma para determinar se vais precisar de tirar carta de condução, uma para te ajudar a escolher entre dois veículos e uma para estimar um preço aceitável para um veículo usado.

1. Determina se vais precisar de carta de condução

Alguns tipos de veículos exigem carta de condução para os conduzir. Assume que só os tipos 'car' e 'truck' exigem carta; tudo o resto pode ser conduzido sem carta.

Implementa a função needsLicense(kind), que recebe o tipo de veículo e devolve um boolean que indica se precisas de carta de condução para esse tipo de veículo.

needsLicense('car');
// => true

needsLicense('bike');
// => false

2. Escolhe entre dois veículos que podes comprar

Avalias as opções de veículos disponíveis. Consegues reduzi-las a duas opções, mas precisas de ajuda para tomar a decisão final. Para isso, implementa a função chooseVehicle(option1, option2), que recebe dois veículos como argumentos e devolve uma decisão que inclui a opção que vem primeiro por ordem alfabética.

chooseVehicle('Wuling Hongguang', 'Toyota Corolla');
// =>  'Toyota Corolla is clearly the better choice.'

chooseVehicle('Volkswagen Beetle', 'Volkswagen Golf');
// =>  'Volkswagen Beetle is clearly the better choice.'

3. Calcula uma estimativa para o preço de um veículo usado

Agora que já tomaste a tua decisão, queres garantir que consegues um preço justo no stand. Como estás interessado em comprar um veículo usado, o preço depende da idade do veículo. Para uma estimativa aproximada, assume que, se o veículo tiver menos de 3 anos, custa 80% do preço original que tinha quando era novo. Se tiver mais de 10 anos, custa 50%. Se o veículo tiver pelo menos 3 anos, mas não mais de 10, custa 70% do preço original.

Implementa a função calculateResellPrice(originalPrice, age), que aplica esta lógica com if, else if e else (há outras formas, se quiseres praticar). Recebe o preço original e a idade do veículo como argumentos e devolve o preço estimado no stand.

calculateResellPrice(1000, 1);
// => 800

calculateResellPrice(1000, 5);
// => 700

calculateResellPrice(1000, 15);
// => 500
Editar via GitHub A ligação abre numa nova janela ou separador
JavaScript Exercism

Estás pronto para começar Compra de veículo?

Inscreve-te no Exercism para aprenderes e dominares JavaScript com 37 conceitos159 exercícios, e mentoria humana real, tudo grátis.