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

У програмуванні є поняття "псевдокод". Це спосіб "схематично" записати код без коду (с) Ваш Кеп.

Структури псевдокоду повністю / майже повністю відповідають справжньому коду, подекуди майже його дублюють. Ну типу:

цеІм'яФункції(цеПараметр)

абоТак(параметр1, параметр2)

цеЗмінна = цеФункціяРезультатЯкоїКладемоУЗмінну()

І т.д.

Багато відповідей на програмістські питання, які ви можете нагуглити, будуть саме псевдокодом. Тому важливо розуміти його, вміти адаптувати під реальну програму.

Ваше завдання: реалізувати з псевдокоду функцію main і всі функції, що в ній викликані:

це функція main() {
    р = спитатиЛюдинуПроРозмірМасиву()
    створити масив м
    спитатиЛюдинуПроВсіЕлементиМасиву(м, р)
    вивестиНаЕкранКрасивоМасив(м)
    реверснутиМасив(м)
    написати "ось реверснутий масив:"
    вивестиНаЕкранКрасивоМасив(м)
}

Також в кінці не забудьте викликати саму main в головному скоупі.

Важливі нюанси цього завдання:

  1. Змінні поза функціями заборонені.

  2. Кожна функція з псевдокоду має бути реалізована саме так, як вона описана. Якщо вказано, що там є параметр — він обов'язковий. Якщо він один — він має бути лише один. Параметр має бути саме тою сутністю, яку вказує псевдокод. І т.д.

  3. Не кожен елемент псевдокоду — функція.

  4. Виклик функції та її оголошення — це не одне й те саме.

  5. Кожна функція, яка наочно показана в псевдокоді саме функцією, має бути самописною (тобто треба написати саме алгоритм, а не заюзати вбудовані функції самої JS).

  6. "Вивести красиво" означає формат "у квадратних дужках через кому з пробілом", тобто: [q, w, e, r, t, y]

Ось для зрозумілості приклад норм назв англійською елементів псевдокоду:

р

arrayLength

спитатиЛюдинуПроРозмірМасиву

getArrayLength

м

array

спитатиЛюдинуПроВсіЕлементиМасиву

fillArray

вивестиНаЕкранКрасивоМасив

printArray

реверснутиМасив

reverseArray

І ще: так, ми знаємо, що максимально не оптимізований алгоритм, і цю задачу можна вирішити взагалі в один рядок. Але це не буде вірним рішенням.

Бо суть цього завдання — не в тому, щоб реверснути масив, як такий. Суть:

  • показати, що ви опанували функції та розумієте, як їх робити руками

  • навчитись трошки декомпозувати програму

  • навчитись працювати із псевдокодом

Виникли питання або труднощі? Зверніться за допомогою до Ш++.

Last updated