Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SHPORS~1.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
201.73 Кб
Скачать

1. Типи знань і методи їх представлення.

Алгоритм (метод решения) + структуры данных (представление знаний) = Программы.

Типы знаний:

1. Объекты и их свойства. Объединение свойств в объекты. Анализ, проэктирование, программирование – 3 составные части программирования. Пример: type T=record h:THeight; … end;

2. События (факты). Событие – это факт участия объекта в некоторой деятельности (может отображаться переменной логического типа). var IsBeatenBy:boolean;

3. Процессы (процедуры) – знания про то, как одни объекты превращаются в другие (дерево – доска, доска – стол). procedure() begin…end;

4. Метазнания – знания про знания, или знания про то, как пользоваться знаниями.

Методы представления знаний:

Нужно провести формальное доказательство правильности программ. Решение этой задачи требует описания я/п таким образом, чтобы этот я/п совпадал с языком, на котором проводится доказательство правильности программы. Знание - формальное описание семантики языка программирования.

1. Математическая логика. Представление с помощью предикатов.

2. Продуктивные системы. Все знания – как список продукции: условие – действие. Например – Пролог. if…then, if … then.

3. Фреймы (frame – рамка) – капсула, кот содержит в себе свойства объекта и методы обработки. Возможность наследовать свойства от одного фрейма к другому. С++ - классы.

4. Семантические сети – графическая форма представления отношения между объектами. Например орграф, вершины которого – объекты, понятия, ситуации, действия, дуги – свойства или элементарные отношения между объектами.

2. Парадигми імперативного стилю. Підтримка в мовах програмування. Парадигма процедурності.

Парадигма – способ, метод мышления, который используется в решении целого класса задач.

1. Парадигма алгоритмизации (50-60)

2. Локализации (модульности) (60-70)

3. Абстрактных типов данных (АТД) (70-80)

4. ООП (80...)

Язык программирования поддерживает стиль программирования, если в нем присутствуют средства, которые делают удобным использование этого стиля. Я/п не поддерживает технику пр-ния, если для написания соотв пр-мы требуются чрезмерные усилия либо мастерство. Такой язык просто предоставляет возможности для использования данной техники.

Паскаль – структурное программирование

Фортран – модульное.

Язык программирования поддерживает парадигму, если она поддерживает соответствующий стиль и позволяет контролировать неумышленные отклонения от парадигмы в момент компиляции и/или выполнения. Например С++ - контроль (соответствие) типов.

Парадигма алгоритмизации (процедурности).

Акцент делается на обработке – алгоритме, неорбходимом для выполнения требуемых вычислений. Языки поддерживают эту парадигму, предоставляя средства для передачи аргументов функциям (процедуры, подпрограммы, макросы, ... ) и возврата значений из функций.

Задачи: Мало данных, много алгоритмов, разбивание задачи на подзадачи: разветвление, циклы, последовательность.

Мотив возникновения парадигмы: необходимость декомпозиции алгоритмов, которые возникают в очень сложных алгоритмических задачах.

Языковые средства: 1. Процедуры с механизмами их вызова, передачи и возвращения параметров. 2. Конструкции структурного программирования: последовательность , разветвления, циклы.

Языки: Алгол 60(язык для записи алгоритмов), Паскаль 68-70, Си, Си++, Пролог, Бейсик, FoxPro, Фортран. Приклад: double sqrt (double x) {-------- return resalt;} вызов: y=sqrt(z);

Девиз: Используйте наилучшие алгоритмы, декомпозицию и задачи лучше делать в виде процедур и конструкций структурного программирования. Разделяй и властвуй (алгоритм отделяется от данных).

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