- •Введение
- •1.Теоретическая часть
- •1.1 Защитное программирование
- •1.1.1 Правила написания программ с блоками защиты от несанкционированного ввода данных
- •1.1.2 Приемы надежного программирования
- •1.1.3 Причины ошибок программного обеспечения
- •1.1.4 Источники ошибок программного обеспечения
- •1.1.5 Классификация ошибок программного обеспечения
- •1.1.6 Основные пути борьбы с ошибками
- •1.2 Методы структурирования
- •1.2.1 Метод дублирования блоков
- •1.2.2 Метод булева признака
- •1.2.3 Метод введения переменной состояния
- •1.2.4 Концептуальное программирование
- •2. Практическая часть
- •2.1 Delphi. Основные понятия и определения
- •2.2 Процесс написания программы
- •Заключение
- •Приложение. Листинг программы
1.2.4 Концептуальное программирование
Концепция – определенный способ понимания или трактовки какого-либо явления или процесса, основная точка зрения, руководящая идея, ведущий замысел, конструктивный принцип различных видов деятельности.
Концепция – это совокупность взаимосвязанных представлений или взглядов на какую-либо проблему (противоречие).
Концептуальное программирование – направление в информатике, основанное на описании понятий для выражения смысла и формы конкретной проблемы, по описанию которой автоматически могут быть получены результаты или синтезируются программы для выполнения.
Концептуальное программирование включает такой сорт программирование как объектно-ориентированное.
При стратегии сначала в ширину дерево поиска обходится ярус за ярусом сверху вниз. Она гарантирует нахождение решения, если оно существует. Однако стратегия требует значительно большего объема памяти и поэтому получила сравнительно небольшое распространение.
Одно из достоинств языков логического программирования состоит в том, что на их основе достаточно удобно реализовать стратегии параллельного типа, причем порядок обхода дерева не столь важен; существен лишь тот факт, что должно быть обойдено все дерево. Именно последнее обстоятельство и дает принципиальную возможность вести поиск параллельно.
Обычно различают два типа параллелизма: ИЛИ — параллелизм, означающий одновременное применение для выделенной подцели из цели всех правил из базы знаний, и И-параллелизм, означающий параллельную обработку одновременно всех литералов (подцелей) целевого утверждения. Кроме того, параллелизм возможен и необходим при унификации (так как эта операция применяется часто). Наибольшие перспективы имеют именно параллельные стратегии, но для их эффективной реализации необходимы соответствующие процессоры, использующие принципы параллельной архитектуры.
К дедуктивным подходам решения задач относится и концептуальное программирование [7]. Этот метод ориентирован в основном на решение так называемых вычислительных задач, т. е. задач, которые могут быть сформулированы в следующем виде.
При заданном описании условий задачи М по значениям переменных х\, х2, ..., хт, удовлетворяющих М, вычислить значения переменных уi, у2, ..., у„, также удовлетворяющих М.
Основу концептуального программирования составляет метод структурного синтеза программ, использующий две эквивалентные формы представления знаний о задачах: формульное представление; графовое представление.
2. Практическая часть
2.1 Delphi. Основные понятия и определения
Delphi — среда программирования, в которой используется язык программирования Object Pascal. Начиная со среды разработки Delphi 7.0, в официальных документах Borland стала использовать название Delphi для обозначения языка Object Pascal.
Изначально среда разработки была предназначена исключительно для разработки приложений Microsoft Windows, затем был реализован также для платформ Linux (как Kylix), однако после выпуска в 2002 году Kylix 3 его разработка была прекращена, и, вскоре после этого, было объявлено о поддержке Microsoft .NET. При этом высказывались предположения, что эти два факта взаимосвязаны.
Реализация среды разработки проектом Lazarus (Free Pascal, компиляция в режиме совместимости с Delphi) позволяет использовать его для создания приложений на Delphi для таких платформ, как Linux, Mac OS X и Windows CE.
Также предпринимались попытки использования языка в проектах GNU и написания компилятора для GCC.[
