git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1800 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
		
			
				
	
	
		
			32 lines
		
	
	
		
			857 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			857 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| /*******************************************************
 | |
|  * 99 Bottles of Beer
 | |
|  * Paulo Moura - January 21, 2007
 | |
|  * bottles.lgt
 | |
|  * To execute start Logtalk and use the query
 | |
|  * logtalk_load(bottles).
 | |
|  *******************************************************/
 | |
| 
 | |
| :- object(bottles).
 | |
| 
 | |
| 	:- initialization(sing(99)).
 | |
| 
 | |
| 	sing(0) :-
 | |
| 		write('No more bottles of beer on the wall, no more bottles of beer.'), nl,
 | |
| 		write('Go to the store and buy some more, 99 bottles of beer on the wall.'), nl, nl.
 | |
| 	sing(N) :-
 | |
| 		N > 0,
 | |
| 		N2 is N -1,
 | |
| 		beers(N), write(' of beer on the wall, '), beers(N), write(' of beer.'), nl,
 | |
| 		write('Take one down and pass it around, '), beers(N2), write(' of beer on the wall.'), nl, nl,
 | |
| 		sing(N2).
 | |
| 
 | |
| 	beers(0) :-
 | |
| 		write('no more bottles').
 | |
| 	beers(1) :-
 | |
| 		write('1 bottle').
 | |
| 	beers(N) :-
 | |
| 		N > 1,
 | |
| 		write(N), write(' bottles').
 | |
| 
 | |
| :- end_object.
 |