Форум программистов, компьютерный форум, киберфорум
Prolog
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 29.12.2013
Сообщений: 9
1

Сортировка Шелла на Prolog

29.12.2013, 09:47. Показов 1656. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Упорядочить список документов по названию с помощью сортировки Шелла.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.12.2013, 09:47
Ответы с готовыми решениями:

SWI-Prolog: Сортировка списка
Помогите написать программу: Сортировка списка. эл-ты с четными индексами по возрастанию, а с...

Сортировка Шелла. Написал программу, не могу понять, почему сортировка не выполняется
Программа создает динамический массив с рандомным заполнением. Дальше выбор сортировок, пузырьком...

Сортировка Шелла и пирамидальная сортировка для символов
Здраствуйте, можете пожалуйста привести пример сортировок шелла и пиромидальной сортировки...

Сортировка Шелла быстрее чем Быстрая сортировка
В универе задали задание построить графики относительно скорости сортировок и размеров массивов....

1
0 / 0 / 0
Регистрация: 29.12.2013
Сообщений: 9
06.01.2014, 09:39  [ТС] 2
помогите реализовать сортировку списка данных методом Шелла


Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
:-dynamic(dokument/5).
 
 
 
dokument('Должностная инструкция','Внутренний','23.09.2013','Шаляпин К.Н.',5433).
dokument('Положение','Внутренний','03.12.2013','Логинов И.А.',5464).
dokument('Заявление','Внутренний','12.04.2013','Кузнецов А.А.',3005).
dokument('Устав','Внутренний','10.11.2012','Шаляпин К.Н.',1456).
dokument('Штатное расписание','Внутренний','30.05.2013','Логинов И.А.',2958).
dokument('Запрос','Входящий','17.04.2013','Шкалин С.Д.',3684).
dokument('Справка','Исходящий','24.11.2013','Карев А.А.',2874).
dokument('Платежное поручение','Исходящий','12.04.2013','Марфин И.А.',3015).
dokument('Заявление','Внутренний','15.01.2013','Баринова Е.Н.',1456).
dokument('Справка','Внутренний','30.05.2013','Шмаль М.И.',2938).
dokument('Запрос','Входящий','25.03.2013','Комаров С.Д.',3684).
dokument('Справка','Исходящий','28.03.2013','Баранова А.А.',2274).
dokument('Заявление','Внутренний','29.06.2013','Зарицкий А.А.',3205).
dokument('Протокол','Внутренний','12.09.2013','Шлепко К.Н.',1456).
dokument('Служебная записка','Внутренний','30.07.2013','Ракита Т.П.',2950).
dokument('Запрос','Исходящий','19.05.2013','Фазирин К.И.',3694).
dokument('Справка','Исходящий','11.11.2013','Корольков Д.А.',1874).
dokument('Заявление','Внутренний','12.04.2013','Юрьева Н.А.',3505).
dokument('Протокол','Внутренний','07.07.2013','Белый Н.Н.',1456).
dokument('Накладная','Внутренний','30.11.2013','Доронин Я.П.',2353).
dokument('Запрос','Входящий','13.02.2013','Пузо М.И.',3632).
dokument('Протокол','Исходящий','29.11.2013','Чернов Н.И.',1274).
dokument('Заявление','Внутренний','23.04.2013','Сокуренко А.В.',6005).
dokument('Постановление','Исходящий','17.11.2012','Фазлеев Ш.Н.',1036).
dokument('Служебная записка','Внутренний','30.12.2013','Топоров М.Г.',2298).
dokument('Запрос','Входящий','08.04.2013','Килинкин А.В.',0534).
dokument('Справка','Исходящий','12.11.2013','Зверев А.С.',1284).
dokument('Накладная','Внутренний','20.06.2013','Тазуев А.Х.',0228).
dokument('Запрос','Входящий','03.08.2013','Олегов О.О.',3134).
dokument('Заявление','Исходящий','11.11.2013','Башмаков Е.А.',8834).
 
 
menu:-write('1.Добавление новой записи в справочник.'),nl,
      write('2.Изменение существующей записи в справочнике.'),nl,
      write('3.Удаление записи из справочника.'),nl,
      write('4.Получение информации о документах на заданную дату.'),nl,
      write('5.Получение информации о документы, исполнителем которых является заданный сотрудник.'),nl,
      write('6.Упорядочить список документов по названию с помощью сортировки Шелла.'),nl,
      write('7.Просмотр БД.'),nl,
      write('8.Запись базы данных на диск.'),nl,
      write('9.Выход из проги.'),nl,nl,
      write('Ваш выбор:'),
      read(C),process(C).
 
 
process(1):-write('Введите название документа: '),read(Name),nl,
        write('Введите тип документа: '),read(Type),nl,
        write('Введите дату создания: '),read(Date),nl,
        write('Введите Фамилию и инициалы исполнтеля: '),read(Fio),nl,
        write('Введите идентификационный номер документа: '),read(Nomer),nl,
        asserta(dokument(Name,Type,Date,Fio,Nomer)),nl,
        write('Запись добавлена!'),nl,
        write('Нажмите Enter для продолжения'),nl,
        get_char(_),menu.
process(2):-write('Введите идентификационный номер: '),read(Nomer),nl,
        write('Введите новые фамилию и инициалы исполнителя: '),read(Fio),nl,
        retract(dokument(Name,Type,Date,_,Nomer)),
        assert(dokument(Name,Type,Date,Fio,Nomer)),
        write('Запись изменена!'),nl,
        write('Нажмите Enter для продолжения'),nl,
        get_char(_),menu,!.
process(3):-write('Введите идентификационный номер документа: '),read(Nomer),nl,
        retract(dokument(_,_,_,_,Nomer)),
        write('Запись удалена!'),nl,
            write('Нажмите Enter для продолжения'),nl,
        get_char(_),menu,!.
process(4):-write('Введите дату: '),read(Date),nl,
        dokument2(Name,Type,Date,Fio,Nomer),
        write('Информация о документе: '),nl,
        write('Название:'),tab(1),write(Name),nl,
        write('Тип:'),tab(1),write(Type),nl,
        write('Дата создания:'),tab(1),write(Date),nl,
        write('Исполнитель:'),tab(1),write(Fio),nl,
        write('Идентификационный номер:'),tab(1),write(Nomer),nl,
        write('Нажмите Enter для продолжения'),nl,
        get_char(_),menu.
process(5):-write('Введите имя и инициалы исполнителя: '),read(Fio),nl,
        dokument2(Name,Type,Date,Fio,Nomer),
        write('Информация о документе: '),nl,
        write('Название:'),tab(1),write(Name),nl,
        write('Тип:'),tab(1),write(Type),nl,
        write('Дата создания:'),tab(1),write(Date),nl,
        write('Исполнитель:'),tab(1),write(Fio),nl,
        write('Идентификационный номер:'),tab(1),write(Nomer),nl,
        write('Нажмите Enter для продолжения'),nl,
        get_char(_),menu.
process(6):-write('6'),nl,menu. %ins_sort([ ],[ ]).
           % ins_sort([H|T],L):–ins_sort(T,T_Sort),insert(H,T_Sort,L).
           % insert(X,[],[X]).
           % insert(X,[H|T],[H|T1]):– X>H,!, insert(X,T,T1).
           % insert(X,T,[X|T])menu.
process(7):-listing(dokument/5),get_char(_),menu.
process(8):-tell('Z:\\11IVT(b)POVT\\ProtokoL\\prolog\\dokument.txt'),
        listing(dokument/5),told,
        write('БД записана в файл!'),nl,
        write('Нажмите Enter для продолжения'),nl,menu.
process(9):-retract.
process(_):-write('всего 9 пунктов'),nl,nl,nl, menu.
 
 
dokument2(Name,Type,Date,Fio,Nomer):-dokument(Name,Type,Date,Fio,Nomer),!.
0
06.01.2014, 09:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.01.2014, 09:39
Помогаю со студенческими работами здесь

Сортировка методом Шелла и быстрая сортировка
Помогите найти код для функций в виде кусков кода сортировок...

Пирамидальная сортировка и сортировка Шелла
Ребята помогите пожалуйста, я NEWBIE и не могу решить такая задача : Выполнить сортировку по...

Сортировка Шелла и сортировка вставками
Напишите программу для: 1)Сортировка вставкой 2)сортировка Шелла

Быстрая сортировка и сортировка Шелла
есть трудности с быстрой сортировкой и сортировкой Шелла также нужен их сравнительный анализ


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru