https://github.com/GEdO23/alpar-academy-js-basics
Primeiros desafios de JavaScript, da 2ª edição do Programa Rocket, da empresa Alpar
https://github.com/GEdO23/alpar-academy-js-basics
bhaskara calculadora-javascript javascript js
Last synced: 7 months ago
JSON representation
Primeiros desafios de JavaScript, da 2ª edição do Programa Rocket, da empresa Alpar
- Host: GitHub
- URL: https://github.com/GEdO23/alpar-academy-js-basics
- Owner: GEdO23
- Created: 2025-02-11T19:24:59.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-12T13:52:17.000Z (over 1 year ago)
- Last Synced: 2025-02-12T14:55:47.515Z (over 1 year ago)
- Topics: bhaskara, calculadora-javascript, javascript, js
- Language: JavaScript
- Homepage:
- Size: 2.93 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Alpar Academy JavaScript Básico
Primeiros desafios de JavaScript, da 2ª edição do Programa Rocket, da empresa [Alpar](https://alpar.com.br/).
## Dia 01
### Desafio 01 - Fórmula de Bhaskara
Faça um programa em Javascript para calcular os valores x1 e x2 da fórmula de Bhaskara, usando as variáveis a, b e c, e mostre os valores x1 e x2.
Usando os operadores de atribuição e aritméticos.
**Rodando o programa:**
Para rodar este programa, será necessário que você tenha instalado em sua máquina:
* [NodeJS](https://nodejs.org/pt)
1. Clone o repositório
```bash
git clone https://github.com/GEdO23/AlparAcademy-JavaScript-Basico
cd AlparAcademy-JavaScript-Basico/dia-01
```
2. Rode o programa com o seguinte comando
```bash
node desafio-01.js
```
### Desafio Extra - Calculadora de Impostos
A calculadora precisa conter 3 variáveis:
* uma que recebe um preço de um produto(em decimal, por favor)
* uma que informe se o produto tem direito a desconto (desconto de 10%)
* e o ICMS (que pode variar entre 12 e 25%)
O ICMS deverá ser calculado **após o produto receber (ou não desconto)**.
O programa deverá retornar o valor do produto original,
se ele teve desconto, o valor do produto com desconto
e o valor do produto com o imposto aplicado.
Pra tornar as coisas mais interessantes, como o valor do imposto é variável,
vamos brincar de loteria e deixar o valor do imposto randômico (entre os valores informados.... 12 a 25%)
**Rodando o programa:**
Para rodar este programa, será necessário que você tenha instalado em sua máquina:
* [NodeJS](https://nodejs.org/pt)
1. Clone o repositório
```bash
git clone https://github.com/GEdO23/AlparAcademy-JavaScript-Basico
cd AlparAcademy-JavaScript-Basico/dia-01
```
2. Rode o programa com o seguinte comando
```bash
node calculadora-de-impostos.js
```
## Dia 02
### Desafio 02 - Fórmula de Bhaskara com condicionais
Melhore o programa de Bhaskara do desafio anterior, adicionando IFs para verificar se:
a) A variável “a” é válida (não pode ser zero);
b) Se não existem raízes reais, e informar;
c) Se existe apenas uma raiz real, e informar essa raiz;
d) Se existem duas raízes reais, e as informar
### Desafio Extra - Calculadora de Impostos v2
Até o momento, a pessoa poderia ganhar um desconto randomicamente (ou não).
Agora, o comprador pode colocar um cupom "PROMO15", que garante 15% de desconto no valor do produto.
A pessoa pode colocar o código OU ganhar o desconto.
Vamos também inserir questão de frete para o envio da compra.
O comprador precisa colocar o estado em que ele está.
Se for de SP, o frete custa R$10,00.
Se for do RJ, o frete é R$20,00 e, para os demais estados, o frete é R$30,00
[Acessar site](https://gedotech-calculadora-de-impostos.vercel.app/)
## Dia 03
### Desafio 03 - Jogo de adivinhação
Crie um programa que simula um jogo de adivinhação.
O programa deve gerar um número aleatório entre 1 e 100 e permitir que o usuário tente adivinhar o número.
O programa deve informar se o palpite é **maior** ou **menor** que o número secreto até que o usuário acerte.
**Regras:**
1. O número secreto deve ser gerado aleatoriamente entre 1 e 100.
2. O usuário pode fazer quantas tentativas quiser até acertar.
3. Após cada tentativa, o programa deve exibir se o número é maior ou menor que o
palpite.
4. Quando o usuário acertar, o programa deve exibir uma mensagem de parabéns e o
número de tentativas usadas.
**Dica:**
Para gerar um número aleatório em Javascript, você pode usar o código:
Math.round(Math.random() * 100);
Math.random() é uma função que gera um número aleatório entre 0 e 1, e multiplicando
por um número, você pode obter valores entre 0 e o número escolhido;
Math.round() arredonda um número para inteiro, 5.4 é arredondado para 5, e 5.5 é
arredondado para 6.
[Acessar site](https://gedotech-jogo-de-advinhacao.vercel.app/)
### Desafio Extra - Jogo de Dados
O jogador inicia com 100 pontos, e pode ganhar ou perder pontos ao "jogar" um dado de 6 faces, de acordo com as regras abaixo:
1. Se o resultado do dado for ímpar, o jogador recebe 10 pontos
2. Se o resultado do dado for par, o jogador perde 5 pontos.
3. Se a rodada for múltipla de 3, o jogador ganha 15 pontos
4. Se a rodada for múltipla de 4, o jogador perde 20 pontos
5. Se a pontuação do jogador estiver negativa em qualquer momento, ele perde o dobro de pontos até a pontuação estar positiva
O jogo é composto por 20 rodadas, e o jogador ganha se ele chegar na 20ª rodada com uma pontuação igual ou superior a 50 pontos.
Vocês não podem usar arrays para a execução do desafio
Utilizem os conceitos estudados até o momento para executar
O cálculo da pontuação deverá ser exibido, assim como o número da rodada e o resultado do dado.
A pontuação final deverá ser exibida na última rodada.
Poderá ser exibido em tela avisos de ganho e perda de pontos
[Acessar site](https://gedotech-jogo-de-dados.vercel.app/)
## Dia 04
### Desafio 04 - Lista de Compras
Crie um programa simples que simula um gerenciador de lista de compras.
O usuário poderá adicionar itens à lista, remover itens e visualizar a lista de compras.
O programa deve usar vetores (arrays) e funções para organizar o código.
**Regras:**
1. O programa deve ter um array chamado _listaDeCompras_ que começa vazio.
2. Deve oferecer as seguintes opções ao usuário:
* **Adicionar um item** à lista.
* **Remover um item** da lista.
* **Exibir os itens** da lista.
* **Sair do programa.**
3. O programa deve rodar até que o usuário escolha sair.
4. As funções devem ser utilizadas para organizar as operações principais:
* _adicionarItem(item)_: Adiciona um item ao array.
* _removerItem(item)_: Remove um item do array (se existir).
* _exibirLista()_: Mostra todos os itens da lista no console.
**Dicas:**
* Use _console.log()_ para exibir mensagens.
* Para manter o programa rodando, utilize um **loop while** e um **switch-case** para as opções.
* Você pode pesquisar na internet como usar ou como fazer alguma parte do programa, mas tente não usar IA para resolver o desafio, não engane a si mesmo
**Rodando o programa:**
Para rodar este programa, será necessário que você tenha instalado em sua máquina:
* [NodeJS](https://nodejs.org/pt)
1. Clone o repositório
```bash
git clone https://github.com/GEdO23/AlparAcademy-JavaScript-Basico
cd AlparAcademy-JavaScript-Basico/dia-04/desafio-04
```
2. Rode o programa com o seguinte comando
```bash
node desafio-04.js
```
### Desafio Extra - Sistema de Análise de Desempenho de uma equipe
Vocês vão criar um sistema de análise de desempenho de uma equipe.
A quantidade de membros da equipe fica de acordo com o gosto de vocês, desde que seja um mínimo de 3 pessoas.
Cada pessoa receberá uma pontuação com base na quantidade de tarefas que forem completadas e,
para considerar a nota final, deverão ser levados em conta os seguintes critérios:
1) Cada tarefa recebe uma pontuação de 0 a 10
2) o número de tarefas varia entre 5 e 10, por pessoa da equipe.
A pontuação final de cada membro é feita de acordo com a média ponderada.
Ou seja, tarefas ímpares recebem peso 2, enquanto tarefas pares recebem peso 1.
Caso a média ponderada de um membro seja maior que 8, ele recebe um bônus de 2 pontos.
O sistema precisa retornar o nome e a média de cada pessoa do time, quem teve o melhor desempenho, e quem teve o pior desempenho
**Rodando o programa:**
Para rodar este programa, será necessário que você tenha instalado em sua máquina:
* [NodeJS](https://nodejs.org/pt)
1. Clone o repositório
```bash
git clone https://github.com/GEdO23/AlparAcademy-JavaScript-Basico
cd AlparAcademy-JavaScript-Basico/dia-04/analise-desempenho
```
2. Rode o programa com o seguinte comando
```bash
node script.js
```
## Dia 05
### Desafio 05 - Gerenciador de Cadastro de Pessoas
Crie um programa simples que permite ao usuário gerenciar um cadastro de pessoas.
Cada pessoa terá um **nome**, **idade** e **e-mail** armazenados como um objeto dentro de um array.
O usuário poderá **adicionar**, **remover** e **listar** os cadastros.
**Regras:**
1. O programa deve armazenar os usuários em um **array de objetos**, onde cada objeto representa uma pessoa com as propriedades:
- nome
- idade
- email
2. O usuário poderá escolher entre as seguintes opções:
- **Adicionar um novo usuário.**
- **Remover um usuário pelo email.**
- L**istar todos os usuários cadastrados.**
- **Sair do programa.**
3. O programa deve rodar até que o usuário escolha sair.
4. Não pode haver mais de um usuário com o mesmo e-mail.
**Rodando o programa:**
Para rodar este programa, será necessário que você tenha instalado em sua máquina:
* [NodeJS](https://nodejs.org/pt)
1. Clone o repositório
```bash
git clone https://github.com/GEdO23/AlparAcademy-JavaScript-Basico
cd AlparAcademy-JavaScript-Basico/dia-05
```
2. Rode o programa com o seguinte comando
```bash
node desafio-05.js
```
## Créditos
Calculadora ícones criados por Dimitry Miroliubov - Flaticon