88 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Perl
		
	
	
	
	
	
		
		
			
		
	
	
			88 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Perl
		
	
	
	
	
	
|   | % generated: 17 November 1989 | ||
|  | % option(s): SOURCE_TRANSFORM_1 | ||
|  | % | ||
|  | %   query | ||
|  | % | ||
|  | %   David H. D. Warren | ||
|  | % | ||
|  | %   query population and area database to find coun- | ||
|  | %   tries of approximately equal population density | ||
|  | 
 | ||
|  | q:-	statistics(runtime,[S|_]),  | ||
|  | 	query, | ||
|  | 	statistics(runtime,[S1|_]), Y is S1-S, | ||
|  | 	write('time : '), write(Y), nl, | ||
|  | 	true. | ||
|  | 
 | ||
|  | test :- query. | ||
|  | 
 | ||
|  | query :- query(_), fail. | ||
|  | query. | ||
|  | 
 | ||
|  | query([C1,D1,C2,D2]) :-  | ||
|  |     density(C1,D1),  | ||
|  |     density(C2,D2), | ||
|  |     D1 > D2, | ||
|  |     T1 is 20*D1, | ||
|  |     T2 is 21*D2, | ||
|  |     T1 < T2. | ||
|  | 
 | ||
|  | density(C,D) :-  | ||
|  |     pop(C,P), | ||
|  |     area(C,A), | ||
|  |     D is (P*100)//A. | ||
|  | 
 | ||
|  | % populations in 100000's | ||
|  | pop(china,	8250). | ||
|  | pop(india,	5863). | ||
|  | pop(ussr,	2521). | ||
|  | pop(usa,	2119). | ||
|  | pop(indonesia,	1276). | ||
|  | pop(japan,	1097). | ||
|  | pop(brazil,	1042). | ||
|  | pop(bangladesh,	 750). | ||
|  | pop(pakistan,	 682). | ||
|  | pop(w_germany,	 620). | ||
|  | pop(nigeria,	 613). | ||
|  | pop(mexico,	 581). | ||
|  | pop(uk,		 559). | ||
|  | pop(italy,	 554). | ||
|  | pop(france,	 525). | ||
|  | pop(philippines, 415). | ||
|  | pop(thailand,	 410). | ||
|  | pop(turkey,	 383). | ||
|  | pop(egypt,	 364). | ||
|  | pop(spain,	 352). | ||
|  | pop(poland,	 337). | ||
|  | pop(s_korea,	 335). | ||
|  | pop(iran,	 320). | ||
|  | pop(ethiopia,	 272). | ||
|  | pop(argentina,	 251). | ||
|  | 
 | ||
|  | % areas in 1000's of square miles | ||
|  | area(china,     3380). | ||
|  | area(india,     1139). | ||
|  | area(ussr,      8708). | ||
|  | area(usa,       3609). | ||
|  | area(indonesia,  570). | ||
|  | area(japan,      148). | ||
|  | area(brazil,    3288). | ||
|  | area(bangladesh,  55). | ||
|  | area(pakistan,   311). | ||
|  | area(w_germany,   96). | ||
|  | area(nigeria,    373). | ||
|  | area(mexico,     764). | ||
|  | area(uk,          86). | ||
|  | area(italy,      116). | ||
|  | area(france,     213). | ||
|  | area(philippines, 90). | ||
|  | area(thailand,   200). | ||
|  | area(turkey,     296). | ||
|  | area(egypt,      386). | ||
|  | area(spain,      190). | ||
|  | area(poland,     121). | ||
|  | area(s_korea,     37). | ||
|  | area(iran,       628). | ||
|  | area(ethiopia,   350). | ||
|  | area(argentina, 1080). |