Перпелов / Лб 5
.docx
МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ |
||||
ХЕРСОНСЬКИЙ НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ |
||||
Кафедра інформаційних технологій |
||||
|
||||
ЗВІТ З ЛАБОРАТОРНОЇ РОБОТИ 5 |
||||
|
з дисципліни „Логічне програмування” |
|||
|
студента четвертого курсуденної форми навчання |
|||
|
напряму підготовки 6.050102 “Комп’ютерна інженерія” |
|||
|
з професійною орієнтацією “Комп’ютерні системи та мережі” |
|||
|
галузізнань0501 “Інформатика та обчислювальнатехніка” |
|||
|
факультету кібернетики |
|||
|
Перпелова Сергея |
|||
|
||||
Дата проведення лабораторної роботи: |
|
«10» квітня 2013р. |
||
Дата подання звіту за графіком: |
|
«17» квітня 2013р. |
||
|
|
|
||
Дата подання звіту студентом: |
|
____________________ |
||
Підпис студента: |
|
____________________ |
||
|
|
|
||
Позначка викладача про результати та дату перевірки звіту: |
|
____________________ |
||
|
|
|
||
Відомості про викладача, що виконував перевірку звіту (прізвище, ініціали, посада, науковий ступінь, вчене звання): |
|
Веселовська Г.В., доцент кафедри інформаційних технологій ХНТУ, к.т.н., доцент |
||
|
|
|
||
Підпис викладача, що виконував пере-вірку звіту : |
|
_____________________ |
||
|
||||
Херсон – 2013р. |
ЛАБОРАТОРНА РОБОТА 5
Тема:Стиль і методи логічного програмування.
Мета: 1) практичне опановування:
– загальних принципів ефективного логічного програмування;
– концептуальної моделі логічної програми;
– стилю логічного програмування;
– технології відлагодження логічних програм;
– методів і засобів забезпечення ефективності логічних програм;
-
Назвати загальні принципи ефективного логічного програмування.
Для оценки качества программы существует несколько критериев
1. правильность
-
эффективность
-
простота, читабельность
-
удобство модификации
-
документированность
2. Щоявляє собою концептуальна модель логічної програми ?
Концептуальна модель загальне описання логічної структури в термінах об'єктів і зв'язків між ними.
3. Якіособливостімаєстиль логічного програмування ?
-
Предложения программы должны быть короткими. Их тела, как правило, должны содержать только несколько целей.
-
Процедуры должны быть короткими, поскольку длинные процедуры трудны для понимания.
-
Следует применять мнемонические имена процедур и переменных. Они должны отражать смысл отношений и роль объектов данных.
-
Существенное значение имеет расположение текста программы. Для улучшения читабельности программы нужно постоянно применять пробелы, пустые строки и отступы
-
Стилистические соглашения такого рода могут варьироваться от программы к программе, так как они зависят от задачи и от личного вкуса. Важно, однако, чтобы на протяжении одной программы постоянно применялись одни и те же соглашения.
-
Оператор отсечения следует применять с осторожностью. Если легко можно обойтись без него - не пользуйтесь им. Всегда, когда это возможно, предпочтение следует отдавать "зеленым отсечениям" перед "красными".
-
Из-за того, что оператор not связан с отсечением, он тоже может привести к неожиданностям. Поэтому, применяя его, следует всегда помнить точное прологовское определение этого оператора.
-
Внесение изменений в программу при помощи assert и retract может сделать поведение программы значительно менее понятным.
-
Применение точек с запятой может затемнять смысл предложений.
4. Коротко охарактеризуватитехнологію відлагодження логічних програм. Применение рекурсии: выявить граничные и общие случаи рекурсивного определения. Обобщение: рассмотреть такую более общую задачу, которую проще решить, чем исходную. Использование рисунков: графическое представление помогает в выявлении важных отношений.
5.Проаналізуватиосновніметоди та засоби забезпечення ефективності логічних програм.
В пролог-системах обычно имеются средства отладки. Наиболее полезными являются средства трассировки программ.Существует много способов повышения эффективности программы. Наиболее простые способы включают в себя: 1. изменение порядка целей и предложений 2. управляемый перебор при помощи введения отсечений 3. запоминание (с помощью assert) решений, которые иначе пришлось бы перевычислять