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