Prolog - CyberForum.ru - > > Prolog E-mail ?
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 %include "6.inc" domains pro show daysOfWeek = symbol * driver_type = driver ( name , lastname , age ) name , lastname = symbol timeOfDay = symbol age = integer file = file1 facts - myDB2 pochta ( integer From , integer To , daysOfWeek Days , timeOfDay Time , driver_type Drv ) predicates pro show marshrut ( integer From , integer To ) clauses uassertz ( pochta ( X1 , X2 , X3 , X4 , X5 ) ) :- pochta ( X1 , X2 , X3 , X4 , X5 ) , ! pro show ; assertz ( pochta ( X1 , X2 , X3 , X4 , X5 ) , myDB2 ) . uretract ( pochta ( X1 , X2 , X3 , X4 , X5 ) ) :- retract ( pochta ( X1 , X2 , X3 , X4 , X5 ) , myDB2 ) . uassertz ( pochta ( 1 , 5 , [ pn , sr ] , "ytro" , driver ( "Vasilii" , "Petrov" , 32 ) ) ) . uassertz ( pochta pro show ( 1 , 4 , [ pn , sr ] , "den" , driver ( "Ivan" , "Petrov" , 40 ) ) ) . uassertz ( pochta ( 4 , 2 , [ vt , cht ] , "ytro" , driver ( "Genadii" , "Ivaniv" , 50 ) ) ) . uassertz ( pochta ( 5 , 3 , [ vt , cht ] , "vecher" pro show , driver pro show ( "Mihail" , "Smirnov" pro show , 47 ) ) ) . uassertz ( pochta ( 2 , 6 , [ pn , sr ] , "vecher" , driver ( "Vladimir" , "Dmitriev" , 28 ) ) ) . uassertz ( pochta ( 3 , 9 , [ vt , pt ] , "ytro" , driver ( "Oleg" , "Sidorov" , 58 ) ) ) . uassertz ( pochta ( 9 , 8 , [ pn , sr ] , "den" , driver ( "Konstantin" , "Kozlov" , 45 ) ) ) . uassertz ( pochta ( 7 , 8 , [ pn , sr , sb ] , "ytro" , driver ( "Petr" , "Orlov" , 34 ) ) ) . uassertz ( pochta ( 3 , 7 , [ pt , sb ] , "vecher" , driver ( "Sergei" , "Romanov" , 51 ) ) ) . pro show uassertz ( pochta ( 6 , 7 , [ sb , vs ] , "ytro" , driver ( "Aleksei" pro show , "Vasiliev" , 43 ) ) ) . marshrut ( X , Y ) :- pochta ( X , Y , _ , C , driver ( A , B , _ ) ) , write ( "\nIz " , X , " v " , Y , " . Voditel pro show : " , A , " " , B , " " , C , "\n" ) . marshrut ( X , Y ) :- pochta ( Z , Y , _ , C , driver ( A , B , _ ) ) , marshrut ( X , Z ) , X <> Y , write ( "\nIz " , Z , " v " , Y , " . Voditel : " , A , " " , B , " " , C , "\n" ) . pro show newmarshrut :- ! . prepareFileDB :- existfile ( "myDB2 . txt" ) , ! , consult ( "myDB2 . txt" , myDB ) . prepareFileDB :- openwrite ( file1 , "myDB2 . txt" ) , closefile ( file1 ) . goal prepareFileDB , pro show uassertz ( woman ( "Anna" ) ) , %uretract(married("Anna","Mefodii")), save ( "myDB . txt" , myDB ) , man ( Who ) . write ( "Marshrut : \n" ) , pro show From = 1 , To = 2 , marshrut ( From , To ) .
@ MasterOf TheEnd
uassertz assertz . ( ) z uretract , !
: pochta(1, 5, [pn,sr], "ytro", driver("Vasilii","Petrov",32)) ( ) , " " ,
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 domains daysOfWeek = symbol * driver_type = driver ( name , lastname
No comments:
Post a Comment