20230807201756 #учу/ФП
- "Функцiональне програмування" - "Функциональное программирование" (ФП)
- [[ФП - Лаб-4]]
- [[ФП - Лаб-4+]]
- При оформленні Звіту про виконання лабораторної роботи – доцільно дотримуватись приблизно такого формату присвоєння імені файлу:
- ФП_Прізвище Ім'я_КІУКІ-20-6_лаб1234
- Приблизно там може називатися файл Звіту або директорія, де містяться сам Звіт та супроводжуючі матеріали.
Тема: "Функції вищого порядку. Продовження ознайомлення з можливостями функціонального програмування мови Python"
- Продовження практичного відпрацювання використання елементів і підходів функціонального програмування в комбінації з процедурними імперативними складовими програми.
- 1 - Програмною базою є мова Python - програмний продукт Python_1.1_py2.6.1_Portable. Робота проводиться на ПЕОМ IBM PC AT під операційною системою WINDOWS не нижче XP.
- 2 - Фіксація результатів (проміжних станів, що виникають при вивченні інтерфейсу та базових положень синтаксису, а так само в процесі налагодження, здійснюється перенесенням вибраного фрагмента діалогового вікна в текстовий редактор, з коментуванням монтажем тексту в Звіт про виконання лабораторної роботи.
- 3 - Допустимо та вітається використання замість стандартного інтерфейсу Python текстового редактора для виведення програми та протоколу її налагодження (роботи).
- 4 - У самостійній та домашній роботі, зокрема під час підготовки звіту та активізації матеріалу для здачі (захисту) лаб роботи, допустимо використання програмних засобів Python версії 6.4 - 6.7
- 5 - Під час підготовки до лабораторної роботи рекомендується ознайомитися з базовими поняттями з теми обсягом начитаного лекційного матеріалу.
- Додатково, наприклад у разі прогалин у конспектах, в інструкції додається короткий текстове роз'яснення основних понять в області мереж Петрі.
- Ця лабораторна робота в цілому (структурно) аналогічна лабраторній роботі 3, бо Має за мету закріплення розуміння аналізованого питання.
- 1 - Ознайомитись із цими Методичними вказівками.
- 2 - Скопіювати з сервера до робочої директорії програмний продукт Python_1.1_py2.6.1_Portable
- 3 - запустити один із редакторів, наявних з директорії Python_1.1_py2.6.1_Portable. Рекомендується PythonShell-Portable.exe, як найпростіший і, отже, мінімально відволікає від цілей лабораторної роботи.
- Допустимо та вітається (див. п. 3 вище) робота в текстовому редакторі з текстом програми та протоколом у двох різних вкладках.
- 4 - Запустити програму (див. [[ФП - Лаб-4+]]) 2lab4.py. Переконатися у її працездатності (видає протокол).
- 5 - Дописати програму у процедурному стилі, відповідно до коментаря, що міститься в її заключній частині.
- 6 - Переписати програму, максимально (за мірою свого розуміння принципів функціонального програмування) використовуючи можливості функціонального стилю, що надаються Python. Частково розглянуті у лаб. роботі 2, а також коротко викладені в [[ФП - Лаб-2+]].
- 7 - Найпростіший варіант практичного відпрацювання прийомів використання елементів і підходів функціонального програмування - може полягати у застосуванні функцій вищого порядку, що надаються Python, при переробці вже написаної (див. [[ФП - Лаб-3+]] і [[ФП - Лаб-4+]]) частина програми.
- Більш просунутий (рекомендований) варіант – повна дописка процедурного варіанту і потім – повна його переробка у функціональний стиль.
- Ще більш просунутий варіант - розробка «графічного інтерфейсу» до програми: графіка гістограми в символьній формі.
- Як завжди, вітається (і відповідно оцінюється при здачі лабораторної роботи) самостійність, оригінальність мислення, не стандартний творчий підхід та інші прояви самобутності та неортодоксальності програмістської індивідуальності.
- 8 - Оформити Звіт про виконання лабораторної роботи.
- 9 – Підготовка до захисту лабораторної роботи. Рекомендується опрацювати контрольні питання.
- 10 – Захист виконаної роботи.
- Звіт з лабораторної роботи повинен містити:
- мета роботи,
- покроковий опис її виконання,
- зведення отриманих результатів,
- їх аналіз та
- змістовні висновки.
- Висновки, щоб бути змістовними, можуть включати виявлені (відзначені) студентом цікаві особливості, зауваження про незвичайне застосування, оригінальні думки про прикладне використання, можливі помічені помилки або невідповідності та ін.
- Звіт має бути оформлений у текстовому редакторі, можливо, з додатком ілюстрацій, отриманих комп'ютерним способом у процесі виконання роботи.
- ВАЖЛИВО! Представляються також електронні версії ДВУХ розроблених програм:
- Процедурною дописаною і
- Функціональної переробленої
- При захисті лабораторної роботи – викладач контролює працездатність зазначених програм.
- 1 – Що таке мережі Петрі (МП)? Як вони працюють? Навіщо воны потрібни?
- 2 - Намалювати картинку МП, яка розглядається (використовується при налагодженні) у даній лабораторній роботі
- 3 - Чи може бути розроблена вами перероблена версія програми бути перероблена ще раз з ще більш повним охопленням функціональних принципів? Викладіть напрямки нової переробки.
- 4 - Скільки та які реалізації принципів функціонального програмування використано у переробленій версії вашої програми?
- 5 - Що слід змінити у програмі, щоб вона відтворювала роботу МП з іншою конфігурацією?
- 6 - ☀️ Як модифікувати програму, щоб вона відтворювала якусь іншу політику роботи МП?
- 7 - ☀️ Які можуть бути практичні застосування цієї програми?
- 8 - ☀️ Як модифікувати програму, щоб зробити оцінки виграшності продуктивності функціонального варіанту порівняно з процедурним?
- 9 - ☀️ Ваші зауваження та (або) пропозиції щодо розглянутого будівельника МП.