Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
123.doc
Скачиваний:
6
Добавлен:
20.12.2018
Размер:
447.49 Кб
Скачать

Вопрос 55

Интеллектуальное обеспечение компьютеров. Интеллектуальное обеспечение — совокупность интеллектуальных методов, приемов и технологий, обеспечивающих решение задач из данной предметной области при помощи компьютера. Существенным элементом интеллектуального обеспечения является формализация и наличие интеллектуальных интерфейсов на всех этапах решения задачи.

Вопрос 56

Программирование. Принципы создания программных языков (логическое, функциональное, объектно-ориентированное, процедурное).Этап решения задачи на ЭВМ, состоящий из разработки программы в соответствии с алгоритмом решения задачи, ее отладки и дальнейшего развития программы в ходе ее применения называется программированием. В настоящее время в мире существует несколько сотен имеющих свою область применения и реально используемых языков программирования. По уровням программирования их делят на машинные, машинно-оpиентиpованные (ассемблеры) и машинно-независимые алгоритмические языки (языки высокого уровня).В настоящее время основными являются следующие классы языков программирования высокого уровня и, соответственно, подходов к программированию: процедурное программирование; функциональное программирование; логическое программирование; объектно-ориентированное программирование. Процедурное программирование Процедурный подход к обработке информации возник на заре программирования. Именно с этим стилем программирования связано все развитие вычислительной техники. Несмотря на прогресс технологии, большинство современных компьютеров построены по тем же принципам, что и машины 40–х годов. ЭВМ состоит из процессора, памяти и внешних устройств; единственным источником активности в ЭВМ является процессор, который, в свою очередь, управляется программой, находящейся в памяти машины (принцип программного управления); память машины может быть представлена как последовательность дискретных ячеек, каждая из которых имеет свой адрес; обработка информации происходит только в регистрах процессора; информацию в процессор можно ввести из любой ячейки памяти или внешнего устройства; машина выполняет программу команда за командой в соответствии с изменением содержимого счетчика команд и расположением команд в памяти, пока не получит команду остановиться. Имеется некоторая последовательность управляющих символов (команд), закодированная в двоичной либо другой форме, а также данных, закодированных в той же форме. Команды и данные различаются лишь способом интерпретации. Команды, располагаясь в оперативной памяти в некоторой последовательности и по определенным адресам, образуют программу. В этом случае можно выделить единый алгоритм функционирования любого вычислительного устройства фон-неймановской архитектуры. Упрощенно он выглядит так:1. Извлечь команду из оперативной памяти; 2. Извлечь из памяти данные (операнды), требуемые для реализации команды; 3. Выполнить команду; 4. При необходимости сохранить результаты в памяти; 5. Вернуться к шагу 1. Развитие процедурных языков определялось особенностями вычислительной машины Дж. фон Неймана; способы представления знаний и задач, а также методов их решения были ориентированы на экономию ресурсов. Основная единица программы — процедура — последовательность операторов, выполняющая определенный вспомогательный алгоритм. Процедуры могут вызывать другие процедуры, вместе они работают по определенному алгоритму, ведущему к решению задачи. Кроме понятия оператор в основе процедурного языка лежит понятие операнд — данные, которые обрабатываются при помощи операторов.Типы операндов: простой, массив, структуры. Типы операторов: присваивания, условных операций, итерации. Программа, написанная на процедурном языке, явно указывает способ получения результата, но не сам результат. Существует большое число процедурных языков программирования. Это —Algol, Fortran, Pascal, С, Basic и др. Функциональное программирование Эти языки имеют хорошо проработанное математическое основание — a–исчисление. Функциональный стиль программирования основан только на использовании процедур-функций (в отличие от процедурных языков, где основным понятием является процедура-оператор). Роль переменных играют параметры функций, присваивание значений осуществляется только при задании аргументов в обращениях к функциям. Вместо последовательности операторов выполняется поочередное вычисление аргументов при вызове функции, вместо условных операторов – условная композиция выражений, циклическая композиция операторов заменяется на рекурсию. Программы, написанные в функциональном стиле, обычно оказываются более короткими, обозримыми и простыми для понимания. Первым языком функционального программирования является созданный в начале 1960-х годов язык ЛИСП (LISP — LISt Processing). Достоинствами функционального стиля программирования являются простота синтаксиса, (очевидная) модульность, приспособленность к сборочному программированию (см. выше), формальному анализу и параллельной обработке. Логическое Идея непосредственного применения логики в качестве средства программирования возникла практически одновременно с первыми процедурными языками. Главная особенность такого подхода состоит в том, что сведения о задаче и предположения, достаточные для её решения формулируются в виде логических аксиом. Эта совокупность представляет собой базу знаний задачи. Вычисление, выполняемое под управлением такой программы, представляет собой логический вывод (резолюцию) некоторого целевого утверждения — искомого результата. Собственно, базу знаний и соответствующее целевое утверждение и называют логической программой. Привлекательность применения логики в программировании состоит прежде всего в том, что в результате постепенного уточнения формулировки задачи она приобретает все более ясную форму, понятную как создателю программы, так и ее возможным читателям (потребителям). Особенно хорошо язык логики подходит для формулирования задач искусственного интеллекта.(языки «Пролог», «Логоика+»). Объектно-ориентированное программирование Принцип объектно-ориентированного программирования (ООП) основан на формализации описания объектов. Под объектом понимается совокупность свойств (параметров) определенных сущностей и методов их обработки (программных средств). Объект содержит инструкции (программный код), определяющие действия, которые может выполнять объект и обрабатываемые данные. Определенное воздействие одного объекта на другой с целью вызвать соответствующую реакцию называют операцией. В объектно-ориентированных языках программирования операции называют методами. Можно выделить пять типов операций: конструктор, создание и инициализация объекта; деструктор, разрушающий объект; модификатор, изменяющий состояние объекта; селектор для доступа к переменным объекта без их изменения; итератор для доступа к содержанию объекта по частям в определенной последовательности. Основные идеи объектно-ориентированного подхода опираются на следующие положения: Программа представляет собой модель некоторого реального процесса, части реального мира. Модель реального мира или его части может быть описана как совокупность взаимодействующих между собой объектов. Объект описывается набором параметров, значения которых определяют состояние объекта, и набором операций (действий), которые может выполнять объект. Взаимодействие между объектами осуществляется посылкой специальных сообщений от одного объекта к другому. Сообщение, полученное объектом, может потребовать выполнения определенных действий, например, изменения состояния объекта. Объекты, описанные одним и тем же набором параметров и способные выполнять один и тот же набор действий, представляют собой класс однотипных объектов. Три основных достоинства ООП: упрощение проектирования, ускорение разработки за счет многократного использования готовых модулей, легкость модификации. Наиболее распространенными в настоящее время являются системы программирования Microsoft C++ , Microsoft Visual C++ и системы программирования фирмы Borland International.

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