![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 28.05.2009
Сообщений: 2
|
![]()
Я недавно изучаю турбо-Пролог поэтому возникла такая загвоздка.
Есть задание "Заданы отношения: "город находится в области", "область находится в республике". Написать программу, определяющую в какой республике находится город. Улучшить программу таким образом, чтобы название города запрашивалось программой; в случае отсутствия такого города в БД выводилось соответствующее сообщение." Вот что у меня вышло domains sit,obl,res,St,L=string N,S,P=integer predicates window process sound1 siti(sit,obl,res) zapr(N,St) goal window. clauses siti("Moskva","Moskovskaia obl.","Rossiia"). siti("Stavropol","Stavropol'skiy kr.","Rossiia"). siti("Groznyy","Groznenskiy rn.","Chechnia"). siti("Derbent","Derbentskiy rn.","Dagestan"). siti("Ahty","Ahtynskiy rn.","Dagestan"). siti("Cherkessk","Prikubanskiy rn.","Karachaevo-Cherkesiia"). siti("Karachakvsk","Karachaevskiy rn.","Karachaevo-Cherkesiia"). window:-makewindow(1,121,7,"OKNO ZAPROSA",0,0,25,80),cursor(1,0),pro cess. process:-write("VVEDITE NAZVANIE GORODA: "), readln(St),St<>"",nl,zapr(2,St),fai l,zapr(0,St). zapr(2,St):-siti(X,_,_)or X=St,zapr(1,St). zapr(1,St):-siti(X,_,Y)and X=St,write(X," nahoditsia v ",Y),nl,nl,nl,process. zapr(0,_):-write("Etogo goroda net v baze"),nl,nl,nl,process. если ввести несуществующий город программа прерывается, а нужно чтобы она перешла на zapr(0,St), может кто поможет. Я понимаю что в коде есть явные ошибки но опыта не хватает.
"Опыт, это такая штука которая появляется сразу после того как была нужна"
|
![]() |
![]() |
![]() |
#2 |
Новичок
Джуниор
Регистрация: 28.05.2009
Сообщений: 2
|
![]()
Спасибо за ВНИМАНИЕ но я уже сам кое-как
domains sit,obl,res,St=string N=integer predicates window process sound1 siti(N,sit,obl,res) zapr(N,St) goal window. clauses siti(1,"Moskva","Moskovskaia obl.","Rossiia"). siti(2,"Stavropol","Stavropol'skiy kr.","Rossiia"). siti(3,"Groznyy","Groznenskiy rn.","Chechnia"). siti(4,"Derbent","Derbentskiy rn.","Dagestan"). siti(5,"a","Derbentskiy rn.","Dagestan"). siti(6,"Ahty","Ahtynskiy rn.","Dagestan"). siti(7,"Cherkessk","Prikubanskiy rn.","Karachaevo-Cherkesiia"). siti(8,"Karachakvsk","Karachaevskiy rn.","Karachaevo-Cherkesiia"). siti(9,"b","Moskovskaia obl.","Rossiia"). window:-makewindow(1,121,7,"OKNO ZAPROSA",0,0,25,80),cursor(1,0),sou nd1,process. process:-write("VVEDITE NAZVANIE GORODA: "),readln(St),St<>"",nl, zapr(0,St). zapr(0,St):-siti(X,Y,_,_) and Y=St, !,sound(10,1000),zapr(X,St). zapr(0,St):-sound(10,100),St<>"",write(" Etogo goroda net v baze"),nl,nl,nl,process. zapr(N,St):-ST<>"",siti(N,Y,_,Z),write(Y," nahoditsia v ",Z),nl,nl,nl,process. sound1:-sound(15,1000),sound(15,1500),sound (15,2000).
"Опыт, это такая штука которая появляется сразу после того как была нужна"
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
"Модель молекулы в газе" подскажите почему не работает? | Тёма(C@$pEr) | Помощь студентам | 4 | 03.02.2009 20:28 |
"Поиск оптимального пути движения снегоочистительных машин с учетом приоритета дорог" Пролог | Kvax | Помощь студентам | 4 | 21.12.2008 22:18 |
Подскажите ссылку на примеры к книге Архангельского "Программирование в Делфи7". | SkAndrew | Свободное общение | 0 | 24.11.2008 12:17 |
Задача на Турбо Паскаль "Лабиринт" | H[o][o]K | Помощь студентам | 1 | 17.12.2007 18:46 |
Создаю диаграмму "Bar". Подскажите как убрать растояние между "столбами" | MAcK | Компоненты Delphi | 11 | 24.10.2007 10:49 |