Timkor

firTree

Jan 26th, 2021 (edited)
238
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Віктор Третяк
  2. let k = +prompt('vvedi razmer:');
  3. let i=0;
  4. let flag=k-1;
  5. while (i<k){
  6.       let j=0;
  7.       while (j<k){
  8.             if (j<flag) {
  9.                console.put(' ');
  10.             }
  11.             else {
  12.                  console.put('* '); // якщо виводити лише зірочку то буде пів-ялинки тільки, пробіл схож на "чіт" код))
  13.             }
  14.             j++;
  15.             }
  16.        flag--;
  17.        console.put('\n')
  18.        i++;
  19.        }
  20. let j = 0;
  21. let z = k-1;
  22. while (j<k){
  23.             if ( j < z ) {
  24.                 console.put(' ');
  25.             }
  26.             else {
  27.         console.put('* ');
  28.         }
  29.         j++;
  30. }
  31.  
  32.  
  33.  
  34.  
  35. /* той самий код з іменуваннями і дотриманням стилю: */
  36.  
  37. let size = +prompt('vvedi razmer:');
  38. let row = 0;
  39. let leftSpacesNum = size - 1;
  40. while (row < size) {
  41.     let position = 0;
  42.     while (position < size) {
  43.         if (position < leftSpacesNum) {
  44.             console.put(' ');
  45.         }
  46.         else {
  47.             console.put('* ');
  48.         }
  49.         position++;
  50.     }
  51.     leftSpacesNum--;
  52.     console.put('\n')
  53.     row++;
  54. }
  55.  
  56. let position = 0;
  57. let z = size-1;
  58. while (position < size) {
  59.     if (position < z) {
  60.         console.put(' ');
  61.     }
  62.     else {
  63.         console.put('* ');
  64.     }
  65.     position++;
  66. }
  67. /* Коли код можна легко читати наче прозу, тоді розуміти його значно легше.
  68. В цілому норм закодили, тільки щось структура блоків попливла - довелось рівняти.
  69. Ще б радив давати
  70. змінним імена із глуздом, тобто із семантичною складовою. Тоді не треба
  71. тримати у глові що то в джі а що то в і, і решту абетки) Тобто когнитивне
  72. навантаження буде меньшим, а читабельність коду кращою. Ті іменування, що
  73. я дав не ідеальні, але кращі за літери. Краще зробити ялинку пухкішу, для 4:
  74.     *
  75.    ***
  76.   *****
  77.  *******
  78.     *
  79. Тобто прибрати пробіли при виведенні зірок і трохи змінити код.
  80. Звісно на рев'ю скидати не обов'язково, тільки якщо є питання, доречі іх теж можна
  81. писати в коментарях до коду, наприклад.
  82. Гарного коду!)
  83.   */
Add Comment
Please, Sign In to add comment