Інваріант (програмування) - це

Цей термін має також інші значення див. Інваріант.

Інваріантом в програмуванні називається логічне вираз. справжнє після кожного проходу тіла циклу (після виконання фіксованого оператора) і перед початком виконання циклу, залежне від змінних, що змінюються в тілі циклу. [1]

Інваріанти використовуються в теорії верифікації програм для доведення правильності виконання циклу. Порядок докази працездатності циклу за допомогою інваріанта зводиться до наступного:

  1. Доводиться, що вираз інваріанта істинно перед початком циклу.
  2. Доводиться, що вираз інваріанта зберігає свою істинність після виконання тіла циклу; таким чином, по індукції, доводиться, що після закінчення циклу інваріант буде виконуватися.
  3. Доводиться, що при істинності інваріанту після завершення циклу змінні приймуть саме ті значення, які потрібно отримати (це елементарно визначається з виразу інваріанта і відомих кінцевих значеннях змінних, на яких ґрунтується умова завершення циклу).
  4. Доводиться (можливо - без застосування інваріанта), що цикл завершиться, тобто умова завершення рано чи пізно буде виконано.
  5. Істинність тверджень, доведених на попередніх етапах, однозначно свідчить про те, що цикл виконається за кінцевий час і дасть бажаний результат.

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

Поняття інваріанта також використовується в об'єктно-орієнтованому програмуванні для позначення несуперечливого стану об'єкта. Мається на увазі, що виклик будь-якого методу залишає об'єкт в стані інваріанта.

Примітки

Дивитися що таке "Інваріант (програмування)" в інших словниках:

Інваріант - або інваріантність термін, що позначає щось незмінне. Конкретне значення терміна залежить від тієї області, де він використовується: Інваріант (математика) Інваріант вузла в топології Інваріант (фізика) Інваріант (програмування) Інваріант ... Вікіпедія

ПРОГРАМУВАННЯ ТЕОРЕТИЧНЕ - математична дисципліна, що вивчає математичного. абстракції програм, що трактували як об'єкти, виражені на формальній мові, що володіють певною інформаційної та логічний. структурою і підлягають виконанню на автоматичним. пристроях. П. т. ... ... Математична енциклопедія

Конструктор (програмування) - Цей термін має також інші значення див. Конструктор. В об'єктно орієнтованому програмуванні конструктор класу (від англ. Constructor, іноді скорочують ctor) спеціальний блок інструкцій, що викликається при створенні об'єкта. ... ... Вікіпедія

ДРАКОН (алгоритмічний мову) - Цей термін має також інші значення див. Дракон (значення). Приклад блок схеми алгоритму на мові ДРАКОН дракон схеми ДРАКОН (Доброзичливий Русский Алгоритмічна мова, Який Забезпечує Наочність) візуальний ... ... Вікіпедія

Коваріантність і контраваріантних - коваріантність і контраваріантних математичне і фізичне поняття, яке описує те, як величини змінюються при перетворенні системи координат. Координати геометричного вектора вимірюються в який-небудь конкретної системі ... ... Вікіпедія

КУЛЬТУРА - (лат. Cultura обробіток, виховання, шанування) універсум штучних об'єктів (ідеальних і матеріальних предметів; об'єктивувати дій і відносин), створений людством в процесі освоєння природи і володіє структурними, ... ... Філософська енциклопедія

Шаблон - Про шаблони в Вікіпедії дивіться сторінку Вікіпедія: Шаблони. Шаблон в техніці пластина (лекало, трафарет і т. П.) З вирізами, по контуру яких виготовляються креслення або вироби або інструмент для вимірювання розмірів. Шаблон в ... ... Вікіпедія

Схожі статті