47517 (608286), страница 2

Файл №608286 47517 (ЛИСП-реализация основных операций над базами данных) 2 страница47517 (608286) страница 22016-07-30СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

)

)

;ВСТАВКА ЭЛЕМЕНТА AT В ПОЗИЦИЮ POS СПИСКА LST

;УДАЛЕНИЕ

(DEFUN DELETE (FM LST)

(COND

((NULL LST) NIL)

((EQL FM (CAR (CAR LST))) (CDR LST))

(T (CONS (CAR LST) (DELETE FM (CDR LST))))

)

)

;УДАЛЕНИЕ ПО ФАМИЛИИ ЗАПИСИ ИЗ СПИСКА

;ВЫБОРКА ЗАРПЛАТЫ СОТРУДНИКА ПО ЕГО ФАМИЛИИ

(DEFUN GET_PEOPLE_PAYMANT (FM LST)

(COND

((NULL LST) NIL)

((EQUAL FM (CAR (CAR LST))) (CADR (CAR LST)))

(T (GET_PEOPLE_PAYMANT FM (CDR LST)))

)

)

;ВЫБОРКА ЛЮДЕЙ С ЗАРПЛАТОЙ PAYM

(DEFUN GET_PEOPLE (PAYM LST OUTPUT_STREAM)

(COND

((NULL LST) NIL)

((EQUAL PAYM (CADR (CAR LST)))

(PROGN

(PRINT (CAR (CAR LST)) OUTPUT_STREAM)

(GET_PEOPLE PAYM (CDR LST) OUTPUT_STREAM)

)

)

(T (GET_PEOPLE PAYM (CDR LST) OUTPUT_STREAM))

)

)

;ИЗМЕНИЕ ЗАРПЛАТЫ СОТРУДНИКА

;ИЩЕМ СОТРУДНИКА ПО ЕГО ФАМИЛИИ

;МЕНЯЕМ ДАННЫЕ

(DEFUN CHANGE_DATA (FM PAYM LST)

(COND

((NULL LST) NIL)

((EQUAL FM (CAR (CAR LST))) (SETF (CADR (CAR LST)) PAYM))

(T (CHANGE_DATA FM PAYM (CDR LST)))

)

)

;----------------------------------------------------------------------

;ДОБАВЛЯЕМ СОТРУДНИКОВ

;ПОЛУЧАЕМ ИЗ ФАЙЛА НОВЫХ СОТРУДНИКОВ

(SETF NEW_EMPLOYEE 0)

(SETQ INPUT_STREAM (OPEN " D:\\ADD EMPLOYEE.TXT" :DIRECTION :INPUT))

(SETQ NEW_EMPLOYEE (READ INPUT_STREAM))

(CLOSE INPUT_STREAM)

;ДОБАВЛЯЕМ

(DO

((I 0))

((>= I (LENGTH NEW_EMPLOYEE)) EMPLOYEE)

(SETQ EMPLOYEE (INSERT 0 EMPLOYEE (NTH I NEW_EMPLOYEE)))

(SETQ I (+ I 1))

)

;ЗАПИСЫВАЕМ РЕЗУЛЬТАТ ДОБАВЛЕНИЯ СОТРУДНИКОВ

(SETQ OUTPUT_STREAM (OPEN " D:\ADD_RESULT.TXT" :DIRECTION :OUTPUT))

(PRINT EMPLOYEE OUTPUT_STREAM)

(TERPRI OUTPUT_STREAM)

(CLOSE OUTPUT_STREAM)

;----------------------------------------------------------------------

;УДАЛЯЕМ СОТРУДНИКОВ

ПОЛУЧАЕМ ФАМИЛИИ СОТРУДНИКОВ КОТОРЫХ НАДО УДАЛИТЬ

(SETF FM 0)

(SETQ INPUT_STREAM (OPEN " D:\\DEL_EMPLOYEE.TXT" :DIRECTION :INPUT))

(SETQ FM (READ INPUT_STREAM))

(CLOSE INPUT_STREAM)

;УДАЛЯЕМ

(DO

((I 0))

((>= I (LENGTH NUM)) EMPLOYEE)

(SETQ EMPLOYEE (DELETE (NTH I FM) EMPLOYEE ))

(SETQ I (+ I 1))

)

;ЗАПИСЫВАЕМ РЕЗУЛЬТАТ УДАЛЕНИЯ СОТРУДНИКОВ

(SETQ OUTPUT_STREAM (OPEN " D:\DEL_RESULT.TXT" :DIRECTION :OUTPUT))

(PRINT EMPLOYEE OUTPUT_STREAM)

(TERPRI OUTPUT_STREAM)

(CLOSE OUTPUT_STREAM)

;----------------------------------------------------------------------

;ВЫБОРКА ЗАРПЛАТЫ СОТРУДНИКА ПО ЕГО ФАМИЛИИ

(SETF FM 0)

(SETQ INPUT_STREAM (OPEN " D:\\FM.TXT" :DIRECTION :INPUT))

(SETQ FM (READ INPUT_STREAM))

(CLOSE INPUT_STREAM)

(SETQ RES NIL)

;ВЫБИРАЕМ ЗАРПЛАТУ

(DO

((I 0))

((>= I (LENGTH FM)) EMPLOYEE)

(SETQ RES (INSERT I RES (GET_PEOPLE_PAYMANT (NTH I FM) EMPLOYEE) ))

(SETQ I (+ I 1))

)

;ЗАПИСЫВАЕМ РЕЗУЛЬТАТ ВЫБОРКИ ЗАРПЛАТЫ СОТРУДНИКОВ

(SETQ OUTPUT_STREAM (OPEN " D:\PAYMANT.TXT" :DIRECTION :OUTPUT))

(PRINT RES OUTPUT_STREAM)

(TERPRI OUTPUT_STREAM)

(CLOSE OUTPUT_STREAM)

;----------------------------------------------------------------------

;ВЫБОРКА ЛЮДЕЙ С ЗАРПЛАТОЙ PAYM

(SETF PAYM 0)

(SETQ INPUT_STREAM (OPEN " D:\\PAYM.TXT" :DIRECTION :INPUT))

(SETQ PAYM (READ INPUT_STREAM))

(CLOSE INPUT_STREAM)

;ЗАПИСЫВАЕМ РЕЗУЛЬТАТ ВЫБОРКИ СОТРУДНИКОВ ПО ЗАРПЛАТЕ

(SETQ OUTPUT_STREAM (OPEN " D:\\PEOPLE.TXT" :DIRECTION :OUTPUT))

;ВЫБИРАЕМ ЛЮДЕЙ

(GET_PEOPLE PAYM EMPLOYEE OUTPUT_STREAM)

(TERPRI OUTPUT_STREAM)

(CLOSE OUTPUT_STREAM)

;----------------------------------------------------------------------

;ИЗМЕНИЕ ЗАРПЛАТЫ СОТРУДНИКА

;ИЩЕМ СОТРУДНИКА ПО ЕГО ФАМИЛИИ

;МЕНЯЕМ ДАННЫЕ

(SETF FM 0)

(SETQ INPUT_STREAM (OPEN " D:\\CHANGE.TXT" :DIRECTION :INPUT))

(SETQ FM (READ INPUT_STREAM))

(CLOSE INPUT_STREAM)

(CHANGE_DATA (CAR FM) (CADR FM) EMPLOYEE)

;ЗАПИСЫВАЕМ РЕЗУЛЬТАТ ИЗМЕНЕНИЯ ЗАРПЛАТЫ

(SETQ OUTPUT_STREAM (OPEN " D:\\NEW_EMPLOYEE.TXT" :DIRECTION :OUTPUT))

(PRINT EMPLOYEE OUTPUT_STREAM)

(TERPRI OUTPUT_STREAM)

(CLOSE OUTPUT_STREAM)

;----------------------------------------------------------------------

5 Пример выполнения программы

Пример 1.

Рисунок 6 - Список сотрудников

Рисунок 7 - Список сотрудников, которых нужно добавить

Рисунок 8 - Результат операции добавления

Пример 2.

Рисунок 9 - Список сотрудников

Рисунок 10 - Список сотрудников, которых нужно удалить

Рисунок 11 – Результат операции удаления

Пример 3.

Рисунок 12 - Список сотрудников

Рисунок 13 – Список сотрудников, оклад которых нужно узнать

Рисунок 14 – Результат операции выбора зарплаты по заданной фамилии

Пример 4.

Рисунок 15 - Список сотрудников

Рисунок 16 – Оклад

Рисунок 17 – Результат операции выбора сотрудника по заданному окладу

Пример 5.

Рисунок 18 - Список сотрудников

Рисунок 19 - Новый оклад сотрудника

Рисунок 20 - Результат операции модификации

Заключение

Хранение и использование информации с использованием баз данных имеет решающее значение в настоящее время в большинстве предметных областей. Одно из назначений базы данных - предоставление информации пользователям.

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

Список использованных источников и литературы

  1. База данных – Википедия [Электронный ресурс] – Режим доступа: http://ru.wikipedia.org/wiki/База_данных

  2. Бронштейн, И.Н. Справочник по математике для инженеров и учащихся втузов [Текст] / И.Н. Бронштейн, К.А. Семендяев. – М.: Наука, 2007. – 708 с.

  3. Дейт, К.Д. Введение в системы базы данных [Текст] / К.Д. Дейт – М.: Вильямс, 2006. С.1328.

  4. Конноли Т. Базы данных. Проектирование, реализация и сопровождение. Теория и практика. [Электронный ресурс] / Т. Конноли, Б.Каролин – М.: Вильямс, 2003. С. 1436.

  5. Симанков, В.С. Основы функционального программирования [Текст] / В.С. Симанков, Т.Т. Зангиев, И.В. Зайцев. – Краснодар: КубГТУ, 2002. – 160 с.

  6. .Степанов, П.А. Функциональное программирование на языке Lisp. [Электронный ресурс] / П.А.Степанов, А.В.Бржезовский. – М.: ГУАП, 2003. С. 79.

  7. Хомоненко, А.Д. Базы данных. Учебник для высших учебных заведений [Текст] / А.Д. Хомоненко, В.М. Цыганков, М.Г. Мальцев. – М.: Корона, 2004. С.736.

  8. Хювенен Э. Мир Лиспа [Текст] / Э. Хювенен, Й. Сеппянен. – М.: Мир, 1990. – 460 с.

20


Характеристики

Тип файла
Документ
Размер
8,36 Mb
Тип материала
Учебное заведение
Неизвестно

Список файлов курсовой работы

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6765
Авторов
на СтудИзбе
282
Средний доход
с одного платного файла
Обучение Подробнее