2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Пролог.Одинаковые файлы
Сообщение05.05.2008, 07:03 
Помогите. У меня такая задача: 1.На диске С есть каталоги А1, А2, А3. В каждом каталоге 2-3 подкаталога. Есть 20 файлов. Они распределены частично в корне С, частично в каталогах, частично в подкаталогах. Необходимо для заданного имени файла определить есть ли он на диске и путь к нему.
2.Определить – есть ли в различных каталогах одинаковые файлы.
Вот с 1 задачей я справился (нашел), а вот с 2 нет. Я выложу листинг:
katalog
poisk(string)
vibor(integer)
wih(char)
spisok
put
kat(string,string)
file(string,string,string)
def(string,string,string)
nach
vih

goal
nach,
katalog.

clauses
nach if makewindow(1,113,116, " ",0,0,25,80),
makewindow(2,113,116," ",0,0,25,60),
gotowindow(2), cursor(0,0),
write("ПРОГРАММА ПОИСКА ФАЙЛА В КАТАЛОГЕ"),cursor(2,0),
write("Варианты вопросов:"), nl,
write("1.Вывести список всех файлов"),nl,
write("2.Вывести путь к заданному файлу").

katalog if gotowindow(2),cursor(7,0),
write("Выберите номер вопроса "), readint(N), vibor(N), nl.

vibor(N) if N=1, spisok, vih or N=2, put,vih.

put if gotowindow(2), nl, write("Введите имя файла "),
readln(R), nl, write("Путь к файлу:"), nl,poisk(R) or nl,
write("Больше нет файла с таким именем").

vih if gotowindow(2), nl,
write("Выход - нажмите 0, повторить - 1 "),
readchar(M), wih(M).

spisok if makewindow(3, 113,116, "Список файлов",0,60,25,20),
gotowindow(3), cursor(0,0), file(X,Y,Z),
write(Y,".",Z), nl, Y="выборы", write("Конец списка").

poisk(X) if file(K,X,P), def(K,X,P), 2>3.

def(K,X,P) if K="C",nl,write("C - ",X,"(",P,")"), nl
or K<>"C", write("C - ",K," - ",X,"(",P,")"), nl.

wih('0').
wih(T) if T='1', nach, spisok, katalog.

kat("C","A1").
kat("C","A2").
kat("C","A3").

file("C","sm","com").
file("C","работа","bat").
file("A1","student","doc").
file("A1","uchet","txt").
file("A1","выбор","xls").
file("A2","program","exe").
file("A2","program","dpr").
file("A2","program","pas").
file("A3","student","txt").
file("A3","выборы","doc").
Как сюда присобачить 2 часть. Зарание благодарю!

 
 
 [ 1 сообщение ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group