Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Базові парадигми програмуванняСодержание книги
Поиск на нашем сайте
Слово парадигма грецького походження означає спосіб міркувань, дій або концепцій в певній галузі знань. В останні десятиліття, починаючи з 1979 року, коли американський вчений Р.Флойд опублікував статтю “Paradigms of Programming”, термін парадигми надто часто вживається в програмуванні, а тому варто зупинитися на ньому окремо. Поняття програми істотно залежить від її виконавця. Так речення “знайдіть корені квадратного рівняння ” служить прикладом програми, виконавцем якої може бути учень або студент. Причому різні виконавці виконають цю програму по-різному: один, користуючись теоремою Вієта, інший через дискримінант. Це приклад декларативної (описової) парадигми. Програма відповідає на питання що? — що шукати? що будувати? що рахувати? В той же час вибір відповіді на питання як? залишається у межах компетенції виконавця. Характерну особливість програми можна визначити як імперативність: “спочатку роби одне, а потім інше”. Вона служить прикладом імперативної (наказової) парадигми програмування. Як правило, імперативна парадигма передбачає менш кваліфікованого виконавця. Відповідно більша відповідальність лягає на програміста, адже він повинен дати більш детальний рецепт розв’язування задачі. Декларативне програмування — це щось на зразок скатертини-самобранки, тоді як імперативне потребує майстерності Попелюшки. Поділ світу програмування на що? і як? відображає також природній перебіг процесу розв’язування задач. · Спочатку визначаємося з тим, що треба зробити — декларативна програма. · Потім з’ясовуємо наявність виконавця, здатного нас зрозуміти. · Далі оцінюємо його характеристики та порівнюємо їх з поставленими вимогами. · Якщо придатного виконавця немає, пробуємо побудувати імперативну програму, що складатиметься з більш простих дій. Цікаво, що сама поява електронних обчислювальних машин зобов’язана схожому процесу. Всередині кожної з двох основних парадигм виділяють парадигми менші. Декларативні парадигми дозволяють нам точніше висловлюватися про наказові програми. Зауважимо, що сам професор Дж.Бекус — винахідник першої мови наказового програмування Фортран — успішно працював над пошуком нових парадигм, зокрема декларативної парадигми функціонального програмування. Одночасне застосування кількох парадигм, або мультипарадигменність дозволяє нам глянути на задачу під різними кутами зору, завдяки чому збільшуються шанси пошуку кращого рішення. Підкреслимо, що парадигма програмування — це спосіб мислення розробника програми. Мова програмування може підтримувати або не підтримувати ту чи іншу парадигму. В першому випадку застосування парадигми стає зручним, тобто простим, безпечним і ефективним. Ми розглянемо три основних наказових парадигми — процедурне, об’єктне (модульне) і об’єктно-орієнтоване (ієрархічне) програмування і одну допоміжну — узагальнене програмування. Наприклад, всіі вони підтримуються мовою програмування С++, яка розвинулася з мови процедурного програмування С. Огляд поширених мов програмування і відповідних парадигм подано на наступному рисунку: Процедурне програмування Процедурне програмування подає програму у вигляді набору алгоритмів, для оформлення яких можуть застосовуватися іменовані програмні блоки — процедури і функції. В останньому випадку передбачається наявність механізмів передачі параметрів і поверненні результату. Для представлення даних використовуються стани пам’яті. Змінні або імена можуть бути типізованими або ніі, а їх значення беруться з областей даних, які визначаються як абстрактні або конкретні типи. Алгоритми в процедурних мовах програмування представляються як композиції операторів присвоювання, що змінюють стани пам’яті. В процесі розвитку процедурної парадигми ще в 60-70-х роках з’ясувалось, що всі різновиди композицій зрештою зводяться до чотирьох основних: присвоювання, послідовної композиції, умовного оператора та умовного циклу. Це призвело до відкриття Глушковим В. М. алгебри алгоритмів, яка лягла в основу структурного програмування. Кожна процедурна програма визначає деяке часткове перетворення на множині станів пам’яті. Стратегія виконання цього перетворення (операційна семантика) являє собою послідовність кроків, кожний з яких перевіряє умову і реалізує оператор присвоювання. Ця стратегія визначається структурою програми майже однозначно. Розглянемо коротко семантичні проблеми для процедурних (імперативних) програм.
|
||||
Последнее изменение этой страницы: 2016-09-20; просмотров: 457; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.119.248.214 (0.008 с.) |