Skip to content

Commit 40c9e11

Browse files
committed
[LES-9.5/st-compl] while-do-while-loops
Practice with "while, do...while" loops. Search "even" num, calculate %. Worth noting: - all this lesson/practice (note the solutions). FS-dev: B-3 / JS basic
1 parent 557aa69 commit 40c9e11

File tree

1 file changed

+80
-0
lines changed
  • full-stack-dev/3-js-basic/9-cycles/9-5-while-do-while-loops

1 file changed

+80
-0
lines changed
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
// Задание 1:
2+
// Используя цикл while, напиши код, который выводит в консоль все четные числа от 2 до 10 включительно.
3+
4+
let i = 2;
5+
6+
while (i <= 10) {
7+
if (i % 2 === 0) {
8+
console.log(i); // 2, 4, 6, 8, 10
9+
}
10+
11+
i++;
12+
}
13+
14+
// ..или так
15+
16+
while (i <= 10) {
17+
i++; // !! именно здесь должно быть увеличение (иначе оно происходить не будет..)
18+
19+
if (i % 2 !== 0) {
20+
continue;
21+
} else {
22+
console.log(i); // 2, 4, 6, 8, 10
23+
}
24+
}
25+
26+
// ?? альтернативное решение
27+
while (i <= 10) {
28+
console.log(i);
29+
i += 2; // сразу прибавляем 2, чтобы перескочить на следующее четное
30+
}
31+
32+
// Задание 2:
33+
// Напиши программу, которая запрашивает у пользователя пароль с помощью prompt. Цикл должен повторяться до тех пор, пока пользователь не введет правильный пароль: '12345'. Важно: запрос пароля должен появиться хотя бы один раз.
34+
35+
let password;
36+
37+
do {
38+
password = prompt('Введите пароль - "12345"');
39+
} while (password !== '12345' && password !== null);
40+
41+
console.log(password); // '12345'
42+
43+
// Задание 3:
44+
// Представь, что у тебя есть стартовый капитал в $1000. Каждый год он увеличивается на 5%. Используя цикл while, посчитай, через сколько лет твой капитал превысит $1500. В итоге выведи в консоль только количество лет.
45+
46+
let myCapital = 1000;
47+
let totalYear = 0;
48+
let rate = 0.05;
49+
50+
while (true) {
51+
let interestAmount = 0;
52+
totalYear++;
53+
54+
if (myCapital > 1500) {
55+
console.log(`Понадобилось ${totalYear} год(а)/лет!`); // !! Понадобилось 10 год(а)/лет! (НЕПРАВИЛЬНО)
56+
break;
57+
} else {
58+
interestAmount = myCapital * rate;
59+
myCapital += interestAmount;
60+
}
61+
}
62+
63+
// ..или (ПРОЩЕ и ПРАВИЛЬНЕЕ)
64+
65+
while (true) {
66+
if (myCapital > 1500) {
67+
console.log(`Понадобилось ${totalYear} год(а)/лет!`); // Понадобилось 9 год(а)/лет!
68+
break;
69+
} else {
70+
myCapital += myCapital * rate;
71+
}
72+
73+
totalYear++; // !! НУЖНО именно в этом месте, что бы получить 9, а не 10 лет.. (ТОНКИЙ МОМЕНТ)
74+
}
75+
76+
// ?? альтернативное решение (классический подход.. без лишнего)
77+
while (myCapital <= 1500) {
78+
myCapital += myCapital * rate;
79+
totalYear++;
80+
}

0 commit comments

Comments
 (0)