Масив у зворотному порядку

У програмуванні є поняття "псевдокод". Це спосіб "схематично" записати код без коду (с) Ваш Кеп.
Структури псевдокоду повністю / майже повністю відповідають справжньому коду, подекуди майже його дублюють. Ну типу:
цеІм'яФункції(цеПараметр)
абоТак(параметр1, параметр2)
цеЗмінна = цеФункціяРезультатЯкоїКладемоУЗмінну()
І т.д.
Багато відповідей на програмістські питання, які ви можете нагуглити, будуть саме псевдокодом. Тому важливо розуміти його, вміти адаптувати під реальну програму.
Ваше завдання: реалізувати з псевдокоду функцію main і всі функції, що в ній викликані:
це функція main() {
р = спитатиЛюдинуПроРозмірМасиву()
створити масив м
спитатиЛюдинуПроВсіЕлементиМасиву(м, р)
вивестиНаЕкранКрасивоМасив(м)
реверснутиМасив(м)
написати "ось реверснутий масив:"
вивестиНаЕкранКрасивоМасив(м)
}
Також в кінці не забудьте викликати саму main в головному скоупі.
Важливі нюанси цього завдання:
  1. 1.
    Змінні поза функціями заборонені.
  2. 2.
    Кожна функція з псевдокоду має бути реалізована саме так, як вона описана. Якщо вказано, що там є параметр — він обов'язковий. Якщо він один — він має бути лише один. Параметр має бути саме тою сутністю, яку вказує псевдокод. І т.д.
  3. 3.
    Не кожен елемент псевдокоду — функція.
  4. 4.
    Виклик функції та її оголошення — це не одне й те саме.
  5. 5.
    Кожна функція, яка наочно показана в псевдокоді саме функцією, має бути самописною (тобто треба написати саме алгоритм, а не заюзати вбудовані функції самої JS).
  6. 6.
    "Вивести красиво" означає формат "у квадратних дужках через кому з пробілом", тобто: [q, w, e, r, t, y]
Ось для зрозумілості приклад норм назв англійською елементів псевдокоду:
р
arrayLength
спитатиЛюдинуПроРозмірМасиву
getArrayLength
м
array
спитатиЛюдинуПроВсіЕлементиМасиву
fillArray
вивестиНаЕкранКрасивоМасив
printArray
реверснутиМасив
reverseArray
І ще: так, ми знаємо, що максимально не оптимізований алгоритм, і цю задачу можна вирішити взагалі в один рядок. Але це не буде вірним рішенням.
Бо суть цього завдання — не в тому, щоб реверснути масив, як такий. Суть:
  • показати, що ви опанували функції та розумієте, як їх робити руками
  • навчитись трошки декомпозувати програму
  • навчитись працювати із псевдокодом
  • навчитись уважно читати умову задачі
    😉
Виникли питання або труднощі? Зверніться за допомогою до Ш++.