Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
NikitchenkoNEWNEW.doc
Скачиваний:
26
Добавлен:
08.11.2019
Размер:
2.99 Mб
Скачать

2.3. Розвиток основних понять програмування

Для уточнення поняття програми будемо розглядати походження (генезис) тих понять, що виникають у процесі його розвитку. При цьому прагнемо, щоб нові поняття, які виникають, були дуже простими і не вимагали для свого розуміння багатого досвіду програмування. У цьому сенсі запропоноване уточнення (експлікація) поняття програми може розглядатися як початкова експлікація.

Звертаємо увагу на те, що термін «поняття» буде вживатися в наступних смислах: 1) в інтуїтивному, коли поняття розглядається у всьому багатстві його властивостей, 2) частково експлікованому, коли з поняттям пов’язуються тільки ті властивості, що визначені на фіксованому рівні абстракції. Будемо звертатися до інтуїтивного розуміння у тому випадку, коли необхідно ввести нову властивість, яка глибше розкриває зміст досліджуваного поняття. Частково експліковане розуміння використовується для вивчення властивостей поняття на фіксованому рівні абстракції. Сподіваємося, що з тексту завжди буде зрозуміло, про яке тлумачення йде мова.

Наша мета полягає в тому, щоб не просто ввести якісь визначення понять програмування, а продемонструвати їх зв’язки і те, як від одних понять ми мусимо переходити до інших.

Наприклад, ми хочемо визначити поняття університету. Перший аспект, який можна виділити (абстрагувати) в цьому понятті, – це те, що університет складається із студентів. Але це дуже абстрактна характеристика університету. Переходимо до (діалектичного) заперечення цього аспекту: університет – це викладачі. Але знову таке визначення неповне. Далі ідемо до синтезу: університет – це студенти та викладачі, пов’язані навчальним процесом (лекції, семінари тощо). Це вже досить конкретне визначення. Але і така тріада є абстрактною. Під таке визначення університету потрапляють і дитячий садок, і школа. Тому треба вводити ще більш конкретні визначення, розкриваючи структуру університету з різних сторін (навчальні плані, факультети, приміщення тощо.) Тільки на цьому шляху поняття університету буде розкрите конкретно, у його складових та їх зв’язках, призначенні університету і т.д.

Така сама ситуація має місце і для понять програмування. Розглянемо ще один простий приклад. Припустимо, що містер NN хоче дізнатися про рух коштів на його банківському рахунку. Він зв’язується з банківським службовцем, для якого проблема містера NN перестає бути одиничною проблемою, а стає масовою: як за номером банківського рахунку з'ясувати стан рахунку. Для розв'язання цієї проблеми службовець використовує спеціальну програму. Але ця програма є однією з багатьох програм, таких як системи керування базами даних, операційні системи тощо, які розробляються і обслуговуються спеціалістами банку. Цей приклад показує як, починаючи з «маленької» індивідуальної проблеми, ми змушені переходити до все більш загальних проблем, які вимагають для свого розв’язання усе більш складних і розвинених програмних систем. Приблизно таким же способом будемо розвивати поняття програми, починаючи з найбільш простих абстрактних властивостей і продовжуючи більш спеціальними і багатими властивостями. Отже, процес розвитку веде нас від індивідуальних властивостей через особливі до (все)загальних.

Як уже відзначалося раніше, у процесі уточнення програмних понять будемо часто використовувати тріаду розвитку: теза – антитеза – синтез.

Уточнення поняття програми природно починати, як говорили у давнину, ab ovo – із самого початку.

Але що обрати за початок?

Можна починати від понять програми та програмування. Але наведені приклади говорять про те, що для уточнення цих понять усе одно необхідно вийти на всезагальні поняття. Такою всезагальністю є поняття людства (суспільства). З цього і почнемо розвиток понять програмування.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]