Timkor

centeredThing

Aug 2nd, 2021 (edited)
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // zero.p2p.shpp.me/tasks/4_2_centered_thing.html
  2.  
  3. /* Виконання добре, не вистачає коментарів.
  4. Далі багато слів про іменування, всі вони не є догмами звісно, але щось корисне в них можна найти, сподіваюсь
  5. */
  6.  
  7. let centeredThing = []; // краще іменувати масив по тому що він зберігає, в множині. Тут банально:  числа, або непарніЧисла. В цієї задачі саме числа є основною сутністю, що коло неї створюються дані, та проводяться операції. Бажано семантично поєднати їх щоб в іменуванні кожного фігурувала однакова назва сутнності.
  8. // let number; // переніс поближче до використання.
  9. let biggestnum = 0; // max звичніше за bigger , кемелКейс каже biggestNum, але Num не переклікається з number
  10. let numsAmount = 0; // numbersCounter? чи кількість введених чисел. скорочення nums не збігається з іменуванням number - бажано щоб в одному ключі іменувалися змінні що про одну якусь сутність, numbers[] ; maxNumber; numbersAmount;
  11. let number; // норм, можливо enteredNumber, можливо oddNumber , якщо масив іменувати oddNumbers, то буде в єдиному контексті теж норм.
  12. do {
  13.     number = +prompt('Введите нечетное число');
  14.     centeredThing[numsAmount] = number; // таким чином фінальний нуль також попаде до масиву, або не попаде - якщо буде введено всі 20 чисел. А коли так маємо неодназначність і умова в циклі для виводу може не коректно відпрацювати (i < numsAmount - 1) не взявши останнє число. Можливо додати перевірочку тут.
  15.     numsAmount++;
  16.     if (number > biggestnum) {
  17.         biggestnum = number;
  18.     }
  19. } while (number > 0 && number % 2 == 1 && numsAmount <= 20)
  20.  
  21. for (let i = 0; i < numsAmount - 1; i++) {
  22.     let spaceCounter = 0;
  23.     while (spaceCounter < (biggestnum - centeredThing[i]) / 2) {
  24.         console.put(' ');
  25.         spaceCounter++;
  26.     }
  27.     let starCounter = 0;
  28.     while (starCounter < centeredThing[i]) {
  29.         console.put('*');
  30.         starCounter++;
  31.     }
  32.     console.log();
  33. }
  34. // Нормальне рішення. Гарного коду!
Add Comment
Please, Sign In to add comment