А
Б В
Г Д
Е Ж
З И
К Л
М Н
О П
Р С
Т У
Ф Х
Ц Ч
Ш Э
Ю Я
Реферат: Разработка информационно-справочной системы "Водительские удостоверения".
Разработка информационно-справочной системы "Водительские удостоверения".
Задание N П-1 На курсовое проектирование по дисциплине "Логическое прог- раммирование". Студенту Синельникову А.Г. гр. ИЖ-1-95. 1. Тема исследований: разработка информационно-справочной системы. 2. Исходные данные: из базы В1 с записями вида ----------------------------------------------------------------- Зарплата по НИР ----------------------------------------------------------------- ФИО | |Зарплата|выдано по кварталам| | ---------------|Каф.|по |-------------------|всего|остаток Фамилия|Имя|Отч| |НИР |I |II |III |IV | | ----------------------------------------------------------------- создать базу В2 с признаками, задаваемыми с дисплея. Для базы В1 предусмотреть режимы: сохранения, просмотра-добавления, загрузки, корректировки; для В2 - режимы: просмотра и сохранения. Язык программирования Пролог. 3. Перечень вопросов, подлежащих разработке: 3.1 Разработка меню, обеспечивающее взаимодействие пользовате- ля с системой, в соответствии с заданием, предусмотрев ре- жимы: - корректировки данных, - удаления данных, - просмотра базы, - загрузки базы, - сохранения базы, - создания новой базы, - ввода новых данных. 3.2 Разработка процедур: - корректировки данных, - удаления данных, - просмотра базы, - загрузки базы, - сохранения базы, - создания новой базы, - ввода новых данных. 4. Перечень графических материалов: 4.1 структурная схема меню 4.2 структурная схема программы. 5. Календарный план-график работы над курсовой работой: 1. Получение задания 4.10.96 2. Анализ задания, постановка задачи, подбор и изучение лите- ратуры 18.10.96 3. Разработка меню и структуры программы 25.10.96 4. Разработка процедур информационно-справочной системы 15.11.96 5. Отладка программы 29.11.96 6. Оформление пояснительной записки и сдача работы на проверку 13.12.96 7. Защита курсовой работы 20.12.96 Руководитель /Холкин И.И./ Студент /Синельников А.Г., ИЖ-1-95/ рфейса пользовате- ля, сохранения БД и т.д. Так же будет рассказано об отладке прог- раммы. В конце второй части приведен текст программы "Зарплата по НИР". Текст программы приведен для Turbo-Prolog v2.0. В третьей части показаны инструкции по использованию инфор- мационной системы "Зарплата по НИР". ДДДДДДДДДЩ і і ЪДДДДДДДДДДДДДДДДДДДДДДДї і АДДґЗапись в указанный файлі і АДДДДДДДДДДДДДДДДДДДДДДДЩ і ЪДДДДДДДДДДДДДДДДДДДї ГДДґСоздание новой базыі і АДДДВДДДДДДДДДДДДДДДЩ і і ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї і ГДДґСоздание базы по именам и кафедрамі і і АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ і і ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї і ГДДґСоздание базы "все о зарплате"і і і АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ і і ЪДДДДДДДДДДДДДДДДДДДДДї і АДДґВыход в основное менюі і АДДДДДДДДДДДДДДДДДДДДДЩ і ЪДДДДДДДДДДДДДДДДДї ГДДґВвод новых данныхі і АДДДДДДДДДДДДДДДДДЩ і ЪДДДДДДДДДДДДДДДДДДї АДДґВыход из программыі АДДДДДДДДДДДДДДДДДДЩ lt полняется до тех пор пока не кончатся все записи в базе. При просмотре созданной базы происходит работа с записями базы базы данных */ process(3):- makewindow(2,2,7,"Просмотp базы 'Зарплата по НИР'",0,0,25,80), write("------------------------------------------------------------"),nl, write(" ФИО | |Зарплата|выдано по кварталам| |"),nl, write("------------|Каф.|по |-------------------|всего|остаток"),nl, write("Фам.|Имя|Отч| |НИР |I |II |III |IV | |"),nl, write("------------------------------------------------------------"),nl, alex(FIO,NAME,OT,KAF,NIR,K1,K2,K3,K4,TOTAL,OST), cursor(Z,_), cursor(Z,0),write(FIO), cursor(Z,8),write(NAME), cursor(Z,17),write(OT), cursor(Z,26),write(KAF), cursor(Z,34),write(NIR), cursor(Z,43),write(K1), cursor(Z,48),write(K2), cursor(Z,53),write(K3), cursor(Z,58),write(K4), cursor(Z,63),write(TOTAL), cursor(Z,69),write(OST),nl, fail. process(3):- write("------------------------------------------------------------"), nl,attribute(4), write(" Нажмите на любую клавишу"), attribute(2), readchar(_), removewindow. /* процедура загрузки базы */ process(4):- makewindow(2,15,4,"Загрузка",10,10,10,60), write("Загрузить из файла ALEX.DAT - 1"),nl, write("Загрузить из указанного файла - 2"),nl, write(">"), readint(WHAT), WHAT=1, retractall(_,alex), consult("alex.dat",alex), write("База загружена ..."),nl, write(" Нажмите любую клавишу"), readchar(_),!,removewindow; WHAT=2, write("Введите имя файла >"),readln(FNAME), existfile(FNAME), retractall(_,alex), consult(FNAME,alex), write("База загружена ..."),nl, write(" Нажмите любую клавишу"), readchar(_),!,removewindow; nl,attribute(4), write(" Файл не найден !!!"),attribute(7), readchar(_), removewindow. /* процедура сохранения данных */ process(5):- makewindow(2,15,4,"Запись",10,10,10,60), write("Записать в файл ALEX.DAT - 1"),nl, write("Записать в указанный файл - 2"),nl, write(">"), readint(WHAT), WHAT=1, save("alex.dat",alex), write("База записана ..."),nl, write(" Нажмите любую клавишу"), readchar(_),!,removewindow; WHAT=2, write("Введите имя файла >"),readln(FNAME), save(FNAME,alex), write("База записана ..."),nl, write(" Нажмите любую клавишу"), readchar(_),!,removewindow. /* процедура создания новой базы */ process(6):- makewindow(2,2,7,"Создание новой базы",0,0,25,80), write("Создать базу по именам и кафедрам - 1"),nl, write("Создать базу 'все о зарплате' - 2"),nl, write("Выход в меню - 3"),nl, write(">"),readint(WHAT), WHAT>0,WHAT"),attribute(7), readint(WHAT), WHAT=1, nl, write("Введите фамилию:"),readln(FIO1), write("Введите имя:"),readln(NAME1), write("Введите отчество:"),readln(OT1), write("Введите название кафедры:"),readln(KAF1), write("Введите зарплату по НИР:"),readint(NIR1), write("Сколько выдали за I квартал:"),readint(K11), write("Сколько выдали за II квартал:"),readint(K21), write("Сколько выдали за III квартал:"),readint(K31), write("Сколько выдали за IV квартал:"),readint(K41), TOTAL1=K11+K21+K31+K41, OST1=NIR1-TOTAL1, retract(alex(FIO,NAME,OT,KAF,NIR,K1,K2,K3,K4,TOTAL,OST)), assertz(alex(FIO1,NAME1,OT1,KAF1,NIR1,K11,K21,K31,K41,TOTAL1,OST1)), clearwindow; WHAT=0,removewindow. /* Выход из программы */ process(8):- makewindow(2,7,2,"Выход",10,10,3,60), write("Вы уверены ? (1-да 0-нет) >"),readint(WHAT), WHAT=1,exit; WHAT=0,removewindow. /* процедура создания новой базы */ newbase(1):- makewindow(3,7,2,"Создание базы по именам и кафедрам",.zipјюЕ 10,5,4,67), retractall(_,alex1), alex(FIO,NAME,OT,KAF,NIR,K1,K2,K3,K4,TOTAL,OST), FIO1=FIO,NAME1=NAME,OT1=OT,KAF1=KAF, NIR1=0,K11=0,K21=0,K31=0,K41=0,TOTAL1=0,OST1=0, assertz(alex1(FIO1,NAME1,OT1,KAF1,NIR1,K11,K21,K31,K41,TOTAL1,OST1)), fail. newbase(1):- save("alex1.dat",alex1), write("База создана. Нажмите любую клавишу для просмотра созданной базы."), readchar(_), viewbase, removewindow,!. newbase(2):- makewindow(3,7,2,"Создание базы 'все о зарплате'",10,5,4,67), retractall(_,alex1), alex(FIO,NAME,OT,KAF,NIR,K1,K2,K3,K4,TOTAL,OST), FIO1="",NAME1="",OT1="",KAF1="", NIR1=NIR,K11=K1,K21=K2,K31=K3,K41=K4,TOTAL1=TOTAL,OST1=OST, assertz(alex1(FIO1,NAME1,OT1,KAF1,NIR1,K11,K21,K31,K41,TOTAL1,OST1)), fail. newbase(2):- save("alex1.dat",alex1), write("База создана. Нажмите любую клавишу для просмотра созданной базы."), readchar(_), viewbase, removewindow,!. /* процедура просмотра созданной базы */ viewbase:- makewindow(4,2,7,"Просмотp созданной базы",0,0,25,80), write("------------------------------------------------------------"),nl, write(" ФИО | |Зарплата|выдано по кварталам| |"),nl, write("------------|Каф.|по |-------------------|всего|остаток"),nl, write("Фам.|Имя|Отч| |НИР |I |II |III |IV | |"),nl, write("------------------------------------------------------------"),nl, alex1(FIO,NAME,OT,KAF,NIR,K1,K2,K3,K4,TOTAL,OST), cursor(Z,_), cursor(Z,0),write(FIO), cursor(Z,8),write(NAME), cursor(Z,17),write(OT), cursor(Z,26),write(KAF), cursor(Z,34),write(NIR), cursor(Z,43),write(K1), cursor(Z,48),write(K2), cursor(Z,53),write(K3), cursor(Z,58),write(K4), cursor(Z,63),write(TOTAL), cursor(Z,69),write(OST),nl, fail. viewbase:- write("------------------------------------------------------------"), nl,attribute(4), write(" Нажмите на любую клавишу"),attribute(2), readchar(_), removewindow. repeat. repeat:- repeat. /* конец программы */ н предыдущему за исключением того, что появляется вопрос "Удалить ? (1-Да 0-Нет)".
|