Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adicionando exercícios resolvidos - Irla Amaral #12

Open
wants to merge 10 commits into
base: irla-amaral
Choose a base branch
from
27 changes: 27 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,30 @@ for (let index = 10; index >= 0; index--) {
console.log(index);
}
```
## Extra: aprenda a aprender:

Esta aula foi pesadíssima, eu sei.
Como sugestão para diversificar seu aprendizado, deixo algumas sugestões:

### For. While e Do While
#### Free Code Camp (em inglês)
- Entre na [página do free code camp](https://www.freecodecamp.org/learn)
- Navegue até a sessão **JavaScript Algorithms and Data Structures Certification (300 hours)**
- Na sessão **Basic JavaScript**, faça os seguintes exercícios:
- Iterate with JavaScript While Loops
- Iterate with JavaScript For Loops
- Iterate Odd Numbers With a For Loop
- Count Backwards With a For Loop
- Iterate Through an Array with a For Loop
- Nesting For Loops
- Iterate with JavaScript Do...While Loops

#### Insegura com o inglês? Seguem alguns vídeos em português:
- [Comando de loop FOR](https://youtu.be/3DLDoCtje9o)
- [Comando de loop WHILE](https://youtu.be/ZCjUZk9Xfw4)
- [Comando de loop DO WHILE](https://youtu.be/9cNRNlhb-EA)

***

## Funções

Expand Down Expand Up @@ -546,3 +570,6 @@ Então, nada de `var`! As variáveis `let` e `const` surgiram justamente pra ate
- Uma geral sobre [escopos](<https://pt.wikipedia.org/wiki/Escopo_(computa%C3%A7%C3%A3o)>) na Wikipedia

---


```js
13 changes: 13 additions & 0 deletions entrega/exercise1.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/* 1 - Supondo que a população de um país A seja da ordem de 80000 habitantes com uma taxa anual de crescimento de 3% e que a população de B seja 200000 habitantes com uma taxa de crescimento de 1.5%. Faça um programa que calcule e escreva o número de anos necessários para que a população do país A ultrapasse ou iguale a população do país B, mantidas as taxas de crescimento */

let countryA = 80000;
let countryB = 200000;
let years = 0;

while (countryA <= countryB) {
countryA = countryA * 1.03;
countryB = countryB * 1.015;
years += 1;
}

console.log("Após " + years + " anos a população do país A ultrapassou a população do país B.");
10 changes: 10 additions & 0 deletions entrega/exercise2.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
// 2 - Programa disco da xuxa: receba um texto e imprima este texto invertido na tela

const readlineSync = require("readline-sync");
let texto = readlineSync.question("Digite um texto: ");
let textoInvertido = "";

for (let index = texto.length - 1; index >= 0; index--) {
textoInvertido += texto[index];
}
console.log(textoInvertido);
14 changes: 14 additions & 0 deletions entrega/exercise3.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
/* 3 - A seqüência de Fibonacci é a seguinte: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ... Sua regra de formação é simples: os dois primeiros elementos são 1; a partir de então, cada elemento é a soma dos dois anteriores. Faça um algoritmo que leia um número inteiro calcule o seu número de Fibonacci. F1 = 1, F2 = 1, F3 = 2, etc. */

const readlineSync = require("readline-sync");
let fibonacci = Number(readlineSync.question("Digite um numero para saber seu Fibonacci: "));
let anterior = 0;
let atual = 1;
let proximo = 1;

for(index = 2; index <= fibonacci; index++) {
proximo = atual + anterior;
anterior = atual;
atual = proximo;
}
console.log("O Fibonacci de " + fibonacci + " é igual a " + proximo);
15 changes: 15 additions & 0 deletions entrega/exercise4.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
/* 4 - Crie uma função com as seguintes características:
A função deve receber 3 parâmetros
Se qualquer um dos três parâmetros não estiverem preenchidos, a função deve retornar a string: "Preencha todos os valores corretamente!"
O retorno da função deve ser a multiplicação dos 3 parâmetros, somando 2 ao resultado da multiplicação. */

function operacao(num1, num2, num3) {
if (num1 === undefined || num2 === undefined || num3 === undefined) {
console.log("Preencha todos os valores corretamente!")
} else {
let calculo = num1 * num2 * num3 + 2;
console.log(calculo);
}
}

operacao(2,3,5)
20 changes: 20 additions & 0 deletions entrega/exercise5.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
/* 5. O Sr. Manoel Joaquim possui uma grande loja de artigos de R\$ 1,99, com cerca de 10 caixas. Para agilizar o cálculo de quanto cada cliente deve pagar ele desenvolveu um tabela que contém o número de itens que o cliente comprou e ao lado o valor da conta. Desta forma a atendente do caixa precisa apenas contar quantos itens o cliente está levando e olhar na tabela de preços. Você foi contratado para desenvolver o programa que monta esta tabela de preços, que conterá os preços de 1 até 50 produtos, conforme o exemplo abaixo:

```
Lojas Quase Dois - Tabela de preços

1 - R$ 1.99

2 - R$ 3.98

...

50 - R$ 99.50 */

console.log("Lojas Quase Dois - Tabela de precos");
const preco = 1.99;

for (let numeroItens = 1; numeroItens <= 50; numeroItens++) {
conta = preco * numeroItens;
console.log(numeroItens + " - R$ " + conta.toFixed(2));
}
22 changes: 22 additions & 0 deletions entrega/exercise6.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
/* 6. crie uma função que receba um número qualquer devolva o seguinte padrão como resultado (inclusive com os espaços). Por exemplo, caso receba o número 6 como parâmetro:

```
*
**
***
****
*****
******
``` */
const readlineSync = require("readline-sync");
let numeroDigitado = readlineSync.question("Digite um numero: ");
let linha = "";


function piramide(numero) {
for (let index = 0; index <= numero - 1; index++) {
linha = linha + "*"
console.log(linha);
}
}
piramide(numeroDigitado);
22 changes: 22 additions & 0 deletions entrega/exercise7.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
/* 7. Refaça o exercício acima, porém agora com o seguinte padrão:

```
*
**
***
****
*****
``` */

const readlineSync = require("readline-sync");
let numeroDigitado = readlineSync.question("Digite um numero: ");
let linha = "";
let espaco = " ";

function piramide(numero) {
for (let index = 0; index <= numero - 1; index++) {
linha = linha + "*"
console.log(espaco.repeat(numero - linha.length) + linha);
}
}
piramide(numeroDigitado);
2 changes: 1 addition & 1 deletion node_modules/readline-sync/package.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 11 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.