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

1.1.3. Логическая вычислительная модель

В этих моделях вычисления представляются с помощью логики предикатов, а языки программирования, используемые для описания вычислений, называются логическими. Компьютер используется для получения выводов из декларативного описания предметной области. В качестве основы используется раздел математической логики, называемый автоматизация доказательства теорем. Для самого описания предметной области используются хорновские дизъюнкты как часть исчисления предикатов первого порядка. В логическом программировании основными являются понятия объектов и отношений между ними. Первая часть пособия посвящена именно логическому программированию и языку Пролог, поэтому сразу после введения перейдем к более подробному изложению этого стиля программирования.

1.1.4. Объектно-ориентированная вычислительная модель (ооп)

Основным элементом программы в этом стиле является объект, объединяющий в себе данные и операции над ними, называемые методами. Это отличает ООП от процедурного программирования, где операции отделены от данных.

Внутренняя структура данных и реализация методов объекта скрыта от остальной программы (инкапсуляция). Программе доступен только интерфейс объекта.

Основной механизм повторного использования программного обеспечения – это класс (по сути шаблон, описывающий все объекты, для которых характерны одинаковые операции и элементы данных).Разработка шаблонов позволяет создавать проекты сложных систем прямо “на лету”. Платить за это, правда, приходится выразительностью.

Для существующего класса можно создать подклассы путем использования наследования. Способность подклассов одного класса отвечать на одно и то же входящее сообщение по-разному называется полиморфизмом.

Такова краткая характеристика различных парадигм программирования.

Следовать какой-либо парадигме можно практически на любом языке программирования, но каждый язык программирования предназначен в первую очередь для работы внутри своей парадигмы.( Можно например, следовать функциональной парадигме программирования на языках С или С++, когда в теле каждой функции будет только одна инструкция – return.)

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

1.2.Метод оценки (способ получения результатов)

Для каждой вычислительной модели существует свой метод оценки. Эти методы разделяются на 3 основных типа:

        • управление потоками команд; (процедурный)

        • управление потоками данных; (логический)

        • редукционные. (функциональный)

1.3. Обмен информацией в процессе оценки

В процессе оценки необходимо осуществить обмен информацией. Для этого используют различные способы:

        • вызов по значению;

        • вызов по ссылке;

        • вызов по имени;

        • вызов по запросу и т. д.

При программировании применяются различные вычислительные модели (стили), соответственно различные методы оценки и различные способы передачи информации.

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

Каждый язык программирования приспособлен к определенному типу вычислений, и использование того или иного языка вынуждает применять именно те типы вычислений, к которым данный язык программирования приспособлен. Это значит, что язык программирования навязывает определенный взгляд на мир и вынуждает мыслить в терминах того языка, на котором предполагается работать. Выбор стиля должен проходить оценку на соответствие стиля и цели программирования. Когда выбор языка сделан, то используются конструкции выбранного языка, а, следовательно, приходится мыслить в терминах семантики этих конструкций. Именно смысловая (семантическая) часть конструкций языка и определяет процесс мышления программиста. Конечно, факторы, которые влияют на выбор стиля, часто противоречивы. Например, эффективность программы с точки зрения архитектуры машины и ясность программы с точки зрения человека могут требовать различных способов изображения. Часто можно написать короткую программу, но понять ее будет очень трудно. Именно в таких ситуациях удачный выбор способа представления данных и метода решения позволяет найти приемлемый компромисс.

Способы мышления и программирования определяют модели (парадигмы) программирования, которые являются основой для создания конкретных языков программирования. Есть традиционные стили программирования, такие как процедурное и функциональное программирование. Есть сравнительно новые стили, такие как логическое и объектно-ориентированное программирование.

Вычислительные машины позволяют автоматизировать не только вычислительные задачи, но и задачи, которые принято относить к сфере искусственного интеллекта (ИИ).