Timkor

triangle

Nov 29th, 2021 (edited)
209
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Задача. Трикутники. Вивести трикутники із зірочок (розмір вказує користувач)
  2.  
  3. let osnova = +prompt("Введіть кількість зірочок у основі трикутника:") // можно именовать размер - size, чем проще - тем лучше. в любом случае транслитерация нехорошо.
  4. let s = ""; // такие именования не помогают нам, они безлики как шпалы, а нам бы именованые указатели..
  5. let f = ""; // чух-чух..
  6.  
  7. for (let j = 0; j < osnova; j++) { // можно конечно j, но i привычнее
  8.     s += ("*"); // s = s + '*'; с каждой итерацией эс выростает на одну звездочку
  9.    
  10.     //for (let i = 0; i < osnova - (osnova - 1); i++) { // а сократится весь цикл, так как он всегда выполняется лишь один раз: osnova - (osnova - 1) = osnova - osnova + 1 = 1, а зачем цикл который выполняется один раз? это то же выражение записанное без цикла, вот оно лишь о осталось, вот как сократили формулу..
  11.     f += s + "\n"; // f = f + s + '\n'; с каждой итерацией к имеющейся эф добавляем выросшую эс и перенос строки
  12.     // } это скобка венчала тело цикла, без него также не нужна, конечно.
  13.     // console.log('f = [\n' + f + ']\n'); // раскомментировав эту строку можно глянуть поитеративно значения эф
  14. }
  15. console.log(f);
  16.  
  17. /*
  18. таким образом у вас получился "хитрый" цикл, в который НЕ вложен другой, а увеличение ряда звезд
  19. происходит за счет сохранения старого значение переменной эс и добавлением на каждой итерации еще одной
  20. звезды. это норм, но для того чтобы хорошенько понять циклы и победить остальные треугольники и елочку
  21. не годится. Надо вложить цикл. Тогда внешний цикл пускай отвечает за высоту треугольника и добавляет перевод
  22. строки к каждой строке которую внутри него будет составлять (каждый раз заново) вложенный цикл.
  23.  
  24.  */
  25.  
RAW Paste Data