Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // zero.p2p.shpp.me/tasks/4_2_centered_thing.html
- /* Виконання добре, не вистачає коментарів.
- Далі багато слів про іменування, всі вони не є догмами звісно, але щось корисне в них можна найти, сподіваюсь
- */
- let centeredThing = []; // краще іменувати масив по тому що він зберігає, в множині. Тут банально: числа, або непарніЧисла. В цієї задачі саме числа є основною сутністю, що коло неї створюються дані, та проводяться операції. Бажано семантично поєднати їх щоб в іменуванні кожного фігурувала однакова назва сутнності.
- // let number; // переніс поближче до використання.
- let biggestnum = 0; // max звичніше за bigger , кемелКейс каже biggestNum, але Num не переклікається з number
- let numsAmount = 0; // numbersCounter? чи кількість введених чисел. скорочення nums не збігається з іменуванням number - бажано щоб в одному ключі іменувалися змінні що про одну якусь сутність, numbers[] ; maxNumber; numbersAmount;
- let number; // норм, можливо enteredNumber, можливо oddNumber , якщо масив іменувати oddNumbers, то буде в єдиному контексті теж норм.
- do {
- number = +prompt('Введите нечетное число');
- centeredThing[numsAmount] = number; // таким чином фінальний нуль також попаде до масиву, або не попаде - якщо буде введено всі 20 чисел. А коли так маємо неодназначність і умова в циклі для виводу може не коректно відпрацювати (i < numsAmount - 1) не взявши останнє число. Можливо додати перевірочку тут.
- numsAmount++;
- if (number > biggestnum) {
- biggestnum = number;
- }
- } while (number > 0 && number % 2 == 1 && numsAmount <= 20)
- for (let i = 0; i < numsAmount - 1; i++) {
- let spaceCounter = 0;
- while (spaceCounter < (biggestnum - centeredThing[i]) / 2) {
- console.put(' ');
- spaceCounter++;
- }
- let starCounter = 0;
- while (starCounter < centeredThing[i]) {
- console.put('*');
- starCounter++;
- }
- console.log();
- }
- // Нормальне рішення. Гарного коду!
Add Comment
Please, Sign In to add comment