Реферат: Информационно-справочная система, обеспечивающая работу с базой данных Bit
correct(1):-
makewindow(4,26,48,"Изменение данных",0,0,25,80),
nl,
accept(N),
X=N,
абитурьент(X,фио(Fam,Nam,Otch),Pol,List,оцен(E1,E2,E3)),
clearwindow,nl,
write("Порядковый номер абитурьента : "),write(N),nl,
write("Фамилия : "),write(Fam),nl,
write("Имя : "),write(Nam),nl,
write("Отчество : "),write(Otch),nl,
write("Пол : "),write(Pol),nl,
write("Номер экзаменационного листа : "),write(List),nl,nl,
write("Оценки за экзамены - "),nl,nl,
write("За первый: "),write(E1),write(" "),
write("За второй: "),write(E2),write(" "),
write("За третий: "),write(E3),
nl,nl,nl,
write("Введите фамилию : "),readln(Fam1),
write("Введите имя : "),readln(Nam1),
write("Введите отчество : "),readln(Otch1),
write("Введите пол : "),readln(Pol1),
write("Введите номер экзаменационного листа: "),readln(List1),
write("Введите оценки за экзамены - "),nl,
write("За первый : "),readln(Ekz1),
write("За второй : "),readln(Ekz2),
write("За третий : "),readln(Ekz3),nl,
X1=X,
retract(абитурьент(X,фио(Fam,Nam,Otch),Pol,List,оцен(E1,E2,E3))),
skip(Fam1,Fam,Fam2),
skip(Nam1,Nam,Nam2),
skip(Otch1,Otch,Otch2),
skip(Pol1,Pol,Pol2),
skip1(List1,List,List2),
skip1(Ekz1,E1,E11),
skip1(Ekz2,E2,E22),
skip1(Ekz3,E3,E33),
assertz(абитурьент(X1,фио(Fam2,Nam2,Otch2),Pol2,List2,оцен(E11,E22,E33))),
!,
mesage,
removewindow.
/* Процедура добавления новых записей, стр.11 */
correct(2):-
makewindow(9,26,48,"Ввод новых данных",0,0,25,80),
repeat,
nl,
write("Введите порядковый номер абитурьента: "),readint(K),nl,
write("Введите фамилию : "),readln(F),nl,
write("Введите имя : "),readln(N),nl,
write("Введите отчество : "),readln(O),nl,
write("Введите пол : "),readln(P),nl,
write("Введите номер экзаменационного листа: "), readint(L),nl,
write("Введите оценки за экзамены -"),nl,nl,
write(" За первый : "),readint(E1),nl,
write(" За второй : "),readint(E2),nl,
write(" За третий : "),readint(E3),nl,
N1=K,
Fam=F,Nam=N,Otch=O,
Pol=P,List=L,
Ekz1=E1,Ekz2=E2,Ekz3=E3,
assertz(абитурьент(N1,фио(Fam,Nam,Otch),Pol,List,оцен(Ekz1,Ekz2,Ekz3))),
ask,!,
mesage,
removewindow.
correct(_).
/* Процедура просмотра базы, стр.11 */
view(1):-
makewindow(16,31,26,"Просмотp основной базы",0,0,25,80),
nl,nl,
write("╔═══════════════════════════════════════════════════════╗"),nl,
write("║ СПИСОК АБИТУРЬЕНТОВ ║"),nl,
write("╠════╦═════════════════════╦═══╦═════╦══════════════════╣"),nl,
write("║ ║ ФИО ║ ║ No ║оценки за экзамены║"),nl,
write("║ No ╠═══════╦════╦════════╣Пол║ экз.╠═════╦══════╦═════╣"),nl,
write("║ ║Фамилия║Имя ║Отчество║ ║листа║1 экз║ 2 экз║3 экз║"),nl,
write("╠════╬═══════╬════╬════════╬═══╬═════╬═════╬══════╬═════╣"),nl,
абитурьент(N,фио(Fam,Nam,Otch),Pol,List,оцен(E1,E2,E3)),
cursor(Z,_),
cursor(Z,2),write(N),
cursor(Z,5),write("║",Fam),
cursor(Z,18),write("║",Nam),
cursor(Z,30),write("║",Otch),
cursor(Z,43),write("║ ",Pol),
cursor(Z,49),write("║ ",List),
cursor(Z,55),write("║ ",E1),
cursor(Z,62),write("║ ",E2),
cursor(Z,69),write("║ ",E3),
cursor(Z,0),write("║"),
cursor(Z,76),write("║"),
nl,
fail.
view(1):-
write("╚════╩═══════╩════╩════════╩═══╩═════╩═════╩══════╩═════╝"),
nl,
cursor(22,26),
write("Нажмите на любую клавишу"),
readchar(_),
removewindow.
view(2):-
nl,
makewindow(13,31,26,"Просмотр новой базы данных",0,0,25,80),
write("╔═══════════════════════════════════════════════════════╗"),nl,
write("║ СПИСОК СТУДЕНТОВ ║"),nl,
write("╠════╦════════════════════════════════════╦═════╦═══════╣"),nl,
write("║ ║ ФИО ║ No ║ сумма ║"),nl,
write("║ No ╠════════════╦═══════════╦═══════════╣ экз.║ балов ║"),nl,
write("║ ║ Фамилия ║ Имя ║ Отчество ║листа║ ║"),nl,
write("╠════╬════════════╬═══════════╬═══════════╬═════╬═══════╣"),nl,
студент(N,фио(Fam,Nam,Otch),List,Sum),
cursor(Z,_),
cursor(Z,11),write(N),
cursor(Z,14),write("║",Fam),
cursor(Z,27),write("║",Nam),
cursor(Z,39),write("║",Otch),
cursor(Z,52),write("║ ",List),
cursor(Z,58),write("║ ",Sum),