Встроенные предикаты Пролога

Для операций над числами в рассматриваемой версии Пролога имеются следующие арифметические предикаты:

Предикат: Смысл:

Встроенные предикаты Пролога - student2.ru Встроенные предикаты Пролога - student2.ru СУММА (x,y,z) х + у = z

ПРОИЗВ (x,y,z) х*у = z

ЧАСТНОЕ (x,y,z) [х/у] = z

ОСТАТОК (x,y,z) х - [х/у] = z

РАВНО (х,у) х = у

БОЛЬШЕ (х,у) х > у

МЕНЬШЕ (х,у) х < у

Арифметические предикаты по смыслу и функциям существенно отличаются от арифметических операций в традиционных языках программирования. Прежде всего любой из этих предикатов выра­батывает логическое значение ИСТИНА или ЛОЖЬ в зависимости от того, имеет или не имеет решение арифметическая задача, пред­ставляемая предикатом.

Примеры:

? СУММА (2,2,5)

НЕТ

? СУММА (2,2,z)

z = 4

? СУММА (х,2,5)

х = 3

Таким образом, арифметические предикаты позволяют решать простейшие арифметические уравнения с одной или несколькими переменными, автоматически производя соответствующие вычисле­ния, если эти решения существуют. Однако обращение к предика­там, связанным с умножением и делением целых чисел, может дать отрицательный результат из-за отсутствия решений в некоторых случаях:

? ПРОИЗВ (2,у,5)

НЕТ

? ЧАСТНОЕ (5,2,z)

z = 2

? ОСТАТОК (5,2,r)

r = 1

Предикаты БОЛЬШЕ и МЕНЬШЕ вместе с предикатом РАВНО могут использоваться для сравнения различных численных перемен­ных и констант. А предикаты «неменьше» и «небольше» могут быть определены через отрицание предикатов БОЛЬШЕи МЕНЬШЕ:

небольше (х,у) НЕ (БОЛЬШЕ (х,у));

неменьше (х,у) НЕ (МЕНЬШЕ (х,у));

Предикат РАВНО может использоваться также для сравнения значений переменных и констант. При этом переменные могут быть и числовыми, и символьными, и других типов. Примеры:

? РАВНО (5,z)

z= 5

? РАВНО (х,миша)

х = миша

? РАВНО (коля.оля)

НЕТ

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

ТОЧКА (х,у,с);

ЛИНИЯ (x,y,u,v,c);

ОКРУЖНОСТЬ (х,у,с);

где (х,у) и (u,v) - координаты точек на экране, а с - цвет точки. Конкретные значения кодов цветов и диапазоны значений коорди­нат точек на экране зависят от типа ЭВМ.

А.Графические предикаты:

Предикат: Смысл: Пример:

ФОН (с) задание цвета фонаФОН (8)

ТОЧКА (х,у,с) вывод точкиТОЧКА (0,0,2)

ЛИНИЯ (x,y,u,v,c) вывод отрезка линииЛИНИЯ (0,0,50,50,4)

ОКРУЖНОСТЬ (х,у,с) вывод окружностиОКРУЖНОСТЬ (90,90,10, 6)

ЗАКРАСКА (х,у,с) закраска фигурЗАКРАСКА (10,40,8)

Б.Предикаты ввода-вывода:

Предикат: Смысл: Пример:

ВЫВОД (<3начение>) вывод набора значенийВЫВОД («имя», х)

ВВОДСИМВ (s) ввод символьных данных

ВВОДЦЕЛ (n) ввод числовых данных

ПС перевод строки

В. Логические предикаты:

Предикат: Смысл: Пример:

ИСТИНА логическая константа

ЛОЖЬ логическая константа

НЕ (<Предикат>) отрицание предикатаНЕ (РАВНО (z,0))

Толковый словарь

Автор - лицо, творческим трудом которого создано произведение (программа или база данных на ЭВМ).

Авторские права - права на имя, внесение изменений и имущест­венные права на созданное произведение.

Алгоритм - совокупность действий со строго определенными пра­вилами выполнения.

Алгоритм массовый, если он применим для решения некоторого класса задач.

Алгоритм однозначный, если однозначны правила его выполнения.

Алгоритм правильный, если он дает правильные результаты для любых допустимых данных и ситуаций.

Алгоритм результативен, если его выполнение завершается опреде­ленными результатами.

Алгоритм содержит ошибки, если его выполнение приведет к непра­вильным результатам, либо не дает никаких результатов.

Алгоритмизация - составление алгоритмов для решения поставлен­ных задач.

Алгоритмические ошибки - ошибки в методе, постановке, сценарии и реализации.

Алгоритмические языки - языки описания алгоритмов.

Антивирусные программы - программы для защиты от вирусов.

База данных - форма представления и организации совокупности данных, допускающие поиск и обработку с помощью ЭВМ.

База знаний - форма представления и организация совокупности данных и правил вывода, допускающих логический вывод и ос­мысленную обработку данных в ЭВМ.

Байт - 8-разрядное двоичное число (1 байт = 8 бит).

Бит - величина, принимающая значение 0 или 1.

Безошибочное программирование - составление алгоритмов и про­грамм без ошибок.

Бейсик - диалоговый язык программирования для персональных компьютеров.

Бумажные технологии - информационные технологии, связанные с бумагой.

Вопрос в Прологе - запрос к базе знаний или программе.

Входные данные - данные, вводимые в ЭВМ.

Выходные данные - данные, выводимые из ЭВМ.

Вычислительная машина - устройство для организации автоматичес­ких вычислений и обработки информации.

Вычислительные процессы - процессы вычислений и обработки информации в вычислительных машинах и системах.

Вычислительная система - объединение вычислительных машин для организации хранения, обработки и поиска информации.

Вычислительная сеть - совокупность ЭВМ, объединенных сетью связи, позволяющей компьютерам проводить обмен информацией.

Вычислительные науки - науки об организации вычислительных процессов, а также вычислительных машин, систем и сетей.

Глобальная сеть - сеть, в которой объединены компьютеры в раз­личных странах на различных континентах.

Дизъюнкция - логическая связка «или».

Дизъюнкция А или Вистинна, когда истинно хотя бы одно из сужде­ний А или В.

Дизъюнкция А или Вложна, когда ложны оба суждения А и В.

Дисплей - устройство отображения информации на электронном экране.

Дистанционное обучение - обучение на расстоянии с использованием учебников, персональных компьютеров и сетей ЭВМ.

Доказательство - последовательность суждений, обосновывающих некоторое утверждение.

Доказательное программирование - составление алгоритмов и про­грамм одновременно с доказательством их правильности.

Документ - информация, зафиксированная на материальном носи­теле, имеющем реквизиты, позволяющие его идентифицировать.

Закон достаточных оснований: «Всякое утверждение должно предпо­лагать наличие аргументов и фактов, достаточных для его обосно­вания».

Закон двойного отрицания; «Если неверно отрицание, то суждение - истинно».

Закон исключения третьего: «Истинно суждение либо его отрицание - третьего не дано».

Закон противоречия: «Не могут быть истинны одновременно сужде­ние и его отрицание».

Закон тождества: «Предмет рассмотрения должен быть строго опре­делен и не должен меняться до конца обсуждения».

Законы логики - общие законы логического вывода.

Защита информации - действия и средства по предотвращению утечки, хищению, искажению или подделки информации.

Импликация - логическое следование А ® В.

ИмпликацияА ® Вложна, когда посылка А истинна, а следствие В ложно.

ИмпликацияА ® Вистинна, когда истинно следствие, либо ложны и следствие, и посылка.

Имущественные права - права собственности на произведение (про­граммы и базы данных для ЭВМ).

Индукция - вывод общих суждений из частных примеров.

Интеллектуальная собственность - результаты и продукты творчес­кого интеллектуального труда.

Интеллект - способность производить логические умозаключения и осмысленную переработку информации.

Интернет - международная компьютерная телекоммуникационная сеть.

Интерпретатор - это система интерпретации (выполнения) программ на ЭВМ.

Информатика - научная дисциплина, изучающая законы и методы накопления, обработки и передачи информации с помощью ЭВМ.

Информация - сведения о лицах, предметах, фактах, событиях, и процессах независимо от формы их представления.

Информационная культура - умение читать книги, искать данные, осмысливать информацию и предоставлять ее людям.

Информационные процессы - процессы сбора, обработки, накопле­ния, хранения, поиска и распространения информации.

Информационные ресурсы - совокупность документов в архивах, библиотеках, фондах, банках данных и других информационных системах.

Информационная система - организация совокупности документов с использованием средств вычислительной техники и телекомму­никационной связи.

Информационные технологии - технологии передачи, накопления и обработки информации.

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

Искусственный интеллект - компьютерные системы, моделирующие или воспроизводящие интеллектуальную деятельность.

Исходные данные - данные, исходные по постановке решаемых задач.

Калькуляция - таблица с определенным набором надписей, формул и данных, используемых для расчетов.

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

Компилятор - система трансляции программ с одного языка на другой.

Компьютер - электронная вычислительная машина.

Компьютерная грамотность - умение читать, писать и искать инфор­мацию с помощью ЭВМ.

Компьютерные вирусы - саморазмножающиеся программы, способ­ные разрушать информацию на ЭВМ.

Контрпример - пример, опровергающий некоторое общее утверж­дение.

Конфиденциальная информация - информация, доступ к которой ограничен.

Конъюнкция - логическая связка «и».

КонъюнкцияА и Вистинна, когда истинны оба суждения А и В.

КонъюнкцияА и Вложна, когда ложны суждения А или В.

Курсор - значок для указания места на экране ЭВМ.

Лексикон - редактор текстов для компьютеров IBM PC с операци­онной системой MS DOS.

Лемма - вспомогательное утверждение, предполагающее самостоя­тельное доказательство.

Лицензия - документ, подтверждающий права на использование программ для ЭВМ.

Логика - наука, изучающая правильность суждений, рассуждений и доказательств.

Логические функции - функции, принимающие логические значе­ния «истина» или «ложь».

Логические элементы - устройства, на входах и выходах, на которые могут появляться сигналы 0 или 1.

Локальная вычислительная сеть - сеть, объединяющая компьютеры в комнате или соседних помещениях.

Магнитные диски - средство хранения информации, программ и данных в ЭВМ.

Массив - область машинной памяти, выделяемая для размещения совокупности данных.

Математическая индукция - принцип доказательства истинности последовательностей утверждений.

Математическая логика - дисциплина, изучающая технику матема­тических доказательств.

Массовая информация - информация, предназначенная для неогра­ниченного круга лиц.

Машинная программа - последовательность машинных команд и данных, реализующих определенные функции ЭВМ.

Метод - единый способ решения некоторого класса задач.

Метод правильный, если он дает правильные результаты для любой задачи данного класса.

Метод неправильный, если существует задача данного класса, для которой он дает неправильные результаты или вовсе не дает результатов.

Мобильность программ - возможность переноса программы на другую ЭВМ.

Модем - устройство связи компьютеров для передачи файлов по каналам связи.

Мышка - приспособление, которое можно перемещать по столу и которое подсоединено к ЭВМ.

Объем понятия - совокупность вещей или явлений, отвечающих данному понятию.

Операционная система - главная управляющая программа на ЭВМ.

Отказ - ситуация, когда прекращается выполнение программы.

Отладка программ - процесс поиска и исправления ошибок в про­граммах на ЭВМ.

Паскаль - язык структурного программирования.

Персональные компьютеры - малогабаритные вычислительные ма­шины.

Поиск данных - отбор данных по определенной комбинации при­знаков.

Почтовый сервер - компьютер, выделенный для переписки по элект­ронной почте.

Постановка задачи - четкое выделение в задаче требуемого и исход­ного.

Правила в Прологе - правила логического вывода.

Правильность программ - правильность результатов, получаемых при выполнении программ на ЭВМ.

Предикаты - математические высказывания о некоторых объектах или их свойствах.

Представление данных - подбор массивов, переменных и других структур для размещения данных в памяти ЭВМ.

Принтеры - печатающие устройства, подсоединяемые к компьютерам.

Программа для ЭВМ - форма представления данных и команд, пред­назначенных для получения определенных результатов или спо­соба функционирования ЭВМ.

Программа правильная, если она дает правильные результаты для любых допустимых исходных данных.

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

Пролог - система искусственного интеллекта, способная воспроиз­водить логические выводы и умозаключения.

Процессор - устройство управления компьютеров и автоматических приборов.

Псевдокод - язык для описания логики работы программ с исполь­зованием лексики родного (русского) языка.

Разработка сверху-вниз - способ последовательной разработки про­ектов от основной задачи к решению вспомогательных подзадач.

Региональная вычислительная сеть - сеть, связывающая компьютеры в пределах определенного региона.

Редакторы текстов - программы подготовки и редактирования текс­тов на ЭВМ.

Результат неправильный, если он противоречит требованиям задачи.

Результат правильный, если он отвечает поставленным требованиям.

Результирующие данные - результаты обработки данных.

Реляционные базы - базы данных, в которых информация хранится в форме таблиц.

Сбой - потеря части данных либо получение непредусмотренных данных.

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

Сетевые программы - программы приема и передачи данных в сетях ЭВМ.

Электронная библиотека - совокупность электронных книг, разме­щенных на одном или нескольких серверах.

Электронные книги - гипертексты, размещаемые на серверах и до­ступные для чтения.

Электронная почта - способ передачи писем с помощью ЭВМ и средств связи.

Электронные таблицы - программы для выполнения и хранения калькуляций на ЭВМ.

Электронные технологии - информационные технологии, связанные с представлением информации в электронном виде.

Электронные учебники - программы с учебными материалами и тестами по определенному предмету.

Эффективность программ - минимальность времени выполнения программ на ЭВМ.

Языки программирования - языки для записи программ для ЭВМ.

Языки спецификаций - языки для записи спецификаций.

Excel - электронные таблицы на компьютерах IBM PC с операци­онной системы Windows .

IBM PC - наиболее распространенные персональные компьютеры.

Macintosh - самые удобные персональные компьютеры.

MS DOS - операционная система для компьютеров IBM PC.

Quick Basic - язык структурного программирования для компьюте­ров IBM PC с операционной системой MS DOS.

Visual Basic - объектно-ориентированный язык программирования для IBM PC с операционной системой Windows.

Windows - операционная система для старших моделей компьюте­ров IBM PC.

Word - редактор текстов для операционной системы Windows.

WWW (world-wide web) - всемирная распределенная сеть электрон­ных библиотек.

Список рекомендуемой литературы

1. Государственный образовательный стандарт высшего профес­сионального образования. - М.: Госкомвуз России, 1995.

2. Каймин В.А. Информатика. Учебник для вузув. - М.: «Высшее образование», 1998.

3. Информатика. Учебник/Под ред.Н.В. Макаровой. - М.: Фи­нансы и статистика, 1997.

4. Каймин В.А. Информатика//Программы авторских курсов по гуманитарным и социально-экономическим дисциплинам для высшей школы. - М.: Госкомвуз, 1996.

5. Каймин В.А. Информатика и дистанционное обучение. - М.: Научная книга, 1996.

6. Каймин В.А. Информатика. Учебник для дистанционного обу­чения. М., МЭСИ, 1999.

7. Дистанционное образование в России: состояние и перспекти­вы. - М.: МЭСИ, 1998.

8. Евреинов Э.В., Каймин В.А. Информатика и дистанционное об­разование. - М., 1998.

9. Лобачев С.Л., Солдаткин В.И. Дистанционные образовательные технологии: информационный аспект. - М.: МЭСИ, 1998.

10. Информатика. Энциклопедический словарь для начинающих/ Сост. Д.А. Поспелов. - М.: «Просвещение», 1994.

11. Глушков В.М. Основы безбумажной информатики. - М.: На­ука, 1982.

12. Брой М. Информатика. Основополагающее введение. - М.: ДИАЛОГ-МИФИ, 1998.

13. Байков В. ИНТЕРНЕТ: от E-MAIL к WWW в примерах. -СПб.: BHV, 1996.

14. Артамонов Б.Н. и др. Основы современных компьютерных технологий. - Спб.: КОРОНА, 1998.

15. Фигурнов Э.В. IBM PC для пользователя. - М.: ИНФРА-М, 1999.

16. Ершов А.П. и др. Основы информатики и вычислительной техники. Пробный учебник для 10-11-х классов. - М.: Просвеще­ние, 1985.

17. Каймии В.А. и др. Основы информатики и вычислительной техники. Пробный учебник для 10-11-ых классов. - М.: Просвеще­ние, 1989.

18. Гейн А.Г. и др. Основы информатики и вычислительной тех­ники. Пробный учебник для 10-11 классов. - М.: Просвещение, 1996.

19. Семакин И.Г. и др. Информатика. Учебник для 7-9 классов. - М.: БИНОМ, 1998.

20. Каймин В.А. и др. Информатика. Пособие для поступающих в вузы. - М.: Бридж, 1994.

21. Шафрин Ю.А. Основы компьютерной технологии. Учебное пособие для учащихся старших классов. - М.: ABF, 1996.

22. Громов Г.Р. Очерки информационной технологии. - М.: Инфоарт, 1993.

22. Каймин В.А. Основы компьютерной технологии. - М.: Фи­нансы и статистика, 1992.

23. Лихачева Г.Н. Информационные технологии в экономике. - М.: МЭСИ, 1999.

24. Кураков Л.П., Смирнов С.Н. Информация как объект правовой защиты. М., Гелиос, 1998.

25. Крылов В.В. Информационные компьютерные преступления. М., ИНФРА-М, 1997.

26. Терещенко Л.К. и др. Защита прав создателей и пользователей программ для ЭВМ и баз данных. М.: МЮ РФ, 1996.

ОГЛАВЛЕНИЕ

Введение...................................................................................................................................................................................................... 2

Глава 1. ИНФОРМАЦИЯ И ПЕРСОНАЛЬНЫЕ ЭВМ...................................................................................................................... 3

1.1. Введение в информатику............................................................................................................................................................. 3

1.2. Персональные компьютеры......................................................................................................................................................... 6

1.3. Работа на персональных ЭВМ.................................................................................................................................................... 9

1.4. Редактирование текстов на ЭВМ........................................................................................................................................... 11

1.5. Контроль знаний на ЭВМ........................................................................................................................................................... 13

Глава 2. ЭЛЕМЕНТЫ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ............................................................................................... 17

2.1. Основные возможности Интернет......................................................................................................................................... 17

2.2. Базы данных на ЭВМ................................................................................................................................................................... 20

2.3. Выполнение расчетов на компьютерах.............................................................................................................................. 23

2.4. Постановка и решение задач................................................................................................................................................... 25

Глава 3. ОСНОВЫ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА.......................................................................................................... 28

3.1. Элементы математической логики...................................................................................................................................... 28

3.2. Основные логические операции............................................................................................................................................. 30

3.3. Элементы языка Пролог.............................................................................................................................................................. 33

3.4. Базы знаний на ЭВМ.................................................................................................................................................................... 37

3.5. Законы логического вывода.................................................................................................................................................... 39

Глава 4. ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ.................................................................................. 45

4.1. Основные свойства алгоритмов............................................................................................................................................. 45

4.2. Базовые средства программирования................................................................................................................................. 49

4.3. Основы структурного программирования......................................................................................................................... 53

4.4. Основы безошибочного программирования..................................................................................................................... 58

4.5. Средства обработки данных..................................................................................................................................................... 61

Глава 5. ТЕХНОЛОГИЯ РЕШЕНИЯ ЗАДАЧ.................................................................................................................................... 67

5.1. Решение задач на ЭВМ................................................................................................................................................................ 67

5.2. Анализ правильности алгоритмов......................................................................................................................................... 74

5.3. Решение прикладных задач...................................................................................................................................................... 80

5.4. Элементы доказательного программирования.............................................................................................................. 88

5.5. Решение сложных задач............................................................................................................................................................. 95

Глава 6. ЭКЗАМЕНЫ ПО ИНФОРМАТИКЕ................................................................................................................................... 103

6.1. Экзамены и зачеты по информатике................................................................................................................................. 103

6.2. Решение экзаменационных задач...................................................................................................................................... 106

6.3. Проверка программ на ЭВМ.................................................................................................................................................... 112

6.4. Олимпиадные задачи по информатике............................................................................................................................ 116

6.5. Технология дистанционного обучения............................................................................................................................ 127

Приложение................................................................................................................................................................................................. 130

ИНТЕРПРЕТАТОР ЯЗЫКА ПРОЛОГ............................................................................................................................................... 130

1. Назначение интерпретатора Пролога................................................................................................................................... 130

2. Запуск интерпретатора Пролога.............................................................................................................................................. 130

3. Диалог с программами на Прологе........................................................................................................................................ 131

4. Ввод и редактирование программ.......................................................................................................................................... 131

5. Операции с файлами..................................................................................................................................................................... 132

6. Краткое описание языка Пролог............................................................................................................................................. 133

6.1. Базовые понятия языка Пролог.............................................................................................................................................. 133

6.2. Описания фактов........................................................................................................................................................................ 134

6.3. Правила записи вопросов......................................................................................................................................................... 135

6.4. Запись правил и процедур........................................................................................................................................................ 135

6.5. Встроенные предикаты Пролога........................................................................................................................................... 136

Толковый словарь.................................................................................................................................................................................... 138

Список рекомендуемой литературы.................................................................................................................................................. 142

Наши рекомендации