Динамические базы данных Лекция 12. План Работа с внутренними (динамическими) базами данных: добавление фактов в базу, удаление фактов из базы Проекты.

Презентация:



Advertisements
Похожие презентации
Управление выполнением программы на Прологе Лекция 6.
Advertisements

Файлы Лекция 11. План Стандартные устройства Стандартные предикаты по работе с файлами Замена стандартного предиката openread Вывод файла на экран Создание.
Текстовые файлы Вербицкая Ольга Владимировна, Заозерная школа 16.
Записи Определение и правила записи. Определение: Запись – это структурированный тип данных, состоящий из фиксированного числа компонентов одного или.
Директивы компилятора. Рекурсия на Прологе Лекция 4.
© М.Е.Макарова
Игровые программы на Прологе Лекция 15. «Быки и коровы» play :- rnd(X1,X2,X3,X4), int2char(X1,C1), int2char(X2,C2), int2char(X3,C3), int2char(X4,C4),
Сортировка, удаление и добавление записей Очень часто записи в таблицах бывают упорядочены по какому-то принципу. Например, в телефонных справочниках.
Зачетная работа по теме « Основы баз данных » Выполнила ученица 11-А класса Серегина Ольга.
1 Программирование на языке Паскаль Часть II Символьные строки.
1.Что появится на экране после выполнения следующих команд: a := 4; write (a);
Составные типы данных Лекция 8-9. Ломаско Павел Сергеевич9 августа 2012 г.
Обработка линейных массивов. МассивМассив – совокупность однотипных данных, хранящихся в последовательных ячейках памяти и имеющих общее имя. элементами.
Презентация к уроку по информатике на тему: Презентация к уроку информатики в 9 классе "Сортировка записей в БД"
Познакомиться с основными принципами работы с символьными величинами Научиться применять процедуры и функции для их обработки.
Одномерные Двумерныеи т. д. Ввод с клавиатуры (Readln) Оператор присваивания (:=) Формульный способ Генератором случайных чисел Ввод из файла For i:=
Базы данных. Введение Базы данных обеспечивают хранение информации. Доступ к базе данных осуществляется через специальную программу - систему управления.
Программный модуль «СИСТЕМНЫЙ АУДИТ» Разработка фирмы «КРИСТА»
Нетипизированный файл рассматривается в Паскале как совокупность символов или байтов. Выбор char или byte не играет никакой роли, важен лишь объем занимаемых.
Записи Комбинированный тип. Запись – структура данных, состоящая из фиксированного числа компонентов, называемых полями записи. Поля записи могут быть.
Транксрипт:

Динамические базы данных Лекция 12

План Работа с внутренними (динамическими) базами данных: добавление фактов в базу, удаление фактов из базы Проекты «Телефонный справочник», «Словарь»

Описание предпкатов базы данных DATABASE [ ] (,..., )

Добавление и удаление фактов, сохранение, загрузка БД assert (факт[, имя_бд]) asserta (факт[, имя_бд]) assertz (факт[, имя_бд]) retract (факт[, имя_бд]) retractall (_[, имя_бд]) save (имя_файла[, имя_бд]) consult (имя_файла[, имя_бд])

Удаление всех фактов retractall2(Fact):– retract(Fact), fail. retractall2(_).

Телефонный справочник start:– existfile("phones.ddb"),!, consult("phones.ddb "), menu. start:– openwrite(f,phones.ddb"), closefile(f), menu.

Меню menu:– clearwindow, write("1 - Получение телефонного номера по фамилии"), nl, write("2 - Получение фамилии по номеру телефона"), nl, write("3 - Добавление новой записи в справочник"), nl, write("4 - Изменение номера абонента"), nl, write("5 - Удаление записи из телефонной базы"), nl, write("0 - Выйти"), nl, readchar(C), menu(C).

Выход из программы m('0'):– save("phones.ddb"), retractall(_). m(_):– menu.

Получение телефонного номера по фамилии m('1'):– clearwindow, write("Введите фамилию"), nl, readln(Name), name_phone(Name, Phone), write("Номер телефона: ",Phone), readchar(_), menu.

Получение телефонного номера по фамилии name_phone(Name,Phone):– phone(Name,Phone),!. name_phone(_,Нет информации о телефонном номере").

Получение фамилии по телефонному номеру m('2'):– clearwindow, write("Введите номер телефона"),nl, readln(Phone), phone_name(Name, Phone), write("Фамилия абонента: ",Name), readchar(_), menu.

Получение фамилии по телефонному номеру phone_name(Name,Phone):– phone(Name,Phone). phone_name("Нет информации о владельце телефона",_).

Добавление факта в БД m('3'):– clearwindow, write("Введите фамилию"),nl, readln(Name), write("Введите номер телефона"),nl, readln(Phone), assert(phone(Name,Phone)), menu.

Обновление факта в БД m('4'):– clearwindow, write("Введите фамилию"),nl, readln(Name), write("Введите новый номер телефона"),nl, readln(Phone), retract(phone(Name,_)), assert(phone(Name,Phone)), menu.

Удаление факта из БД m('5'):– clearwindow, write("Укажите удаляемый номер телефона"), nl, readln(Phone), retract(phone(_,Phone)), menu.

Начало программы DOMAINS name, number = String file=f DATABASE phone(name, number) PREDICATES name_phone(name, number) phone_name(name, number) m(char) menu start

Вычисление чисел Фиббоначи fib(0,1):–!. fib(1,1):–!. fib(N,F) :– N1=N–1, fib(N1,F1), N2=N–2, fib(N2,F2), F=F1+F2.

Быстрый поиск числа Фиббоначи fib_fast(0,1,1):–!. fib_fast(N,FN,FN1):– N1=N–1,fib_fast(N1,FN_1,FN), FN1=FN+FN_1.

Использование динамической БД для вычисления чисел Фиббоначи fib2(0,1):–!. fib2(1,1):–!. fib2(N,F):– fib_db(N,F),!. fib2(N,F) :– N1=N–1, fib2(N1,F1), N2=N–2, fib2(N2,F2), F=F1+F2, asserta(fib_db(N,F)).