Paste: First factor application
        
	
	
	
		| Author: | ben_m | 
|---|
		| Mode: | factor | 
|---|
		| Date: | Fri, 29 Jan 2010 01:35:19 | 
|---|
	
	Plain Text |
	
	
USING: kernel io prettyprint namespaces math.parser sequences
    math ;
IN: average-grade
SYMBOL: grades
: init ( -- )
    V{ } clone grades set ;
: read-number ( -- number/f )
    readln string>number ;
: read-grades ( -- )
    [
        read-number dup [ grades get push ] when*
    ] loop ;
: average ( seq -- avg )
    [ sum ] [ length ] bi /f ;
: average-grade ( -- avg )
    grades get average ;
: main ( -- )
    "Enter grades, or nothing to stop:" print
    init read-grades average-grade . ;
MAIN: main
	
		
		
			| Author: | ben_m | 
|---|
			| Mode: | factor | 
|---|
			| Date: | Fri, 29 Jan 2010 01:46:39 | 
|---|
		
		Plain Text |
		
		
USING: kernel io prettyprint namespaces math.parser sequences
    math ;
IN: average-grade
SYMBOL: grades
: read-number ( -- number/f )
    readln string>number ;
: read-grades ( -- )
    [
        read-number dup [ grades get push ] when*
    ] loop ;
: average ( seq -- avg )
    [ sum ] [ length ] bi /f ;
: average-grade ( -- avg )
    grades get average ;
: (main) ( -- )
    "Enter grades, or nothing to stop:" print
    read-grades average-grade number>string print ;
: main ( -- )
    V{ } clone grades [ (main) ] with-variable ;
MAIN: main
	
		
		
			| Author: | meh | 
|---|
			| Mode: | factor | 
|---|
			| Date: | Fri, 29 Jan 2010 12:30:34 | 
|---|
		
		Plain Text |
		
		
USING: kernel io prettyprint math.parser
    math math.statistics make ;
IN: grades
: read-number ( -- number/f )
    readln string>number ;
: read-grades ( -- grades ) [ [
            read-number [ [ , ] when* ] keep
        ] loop
    ] { } make ;
: main ( -- )
    "Enter grades, or nothing to stop:" print
    read-grades mean >float . ;
MAIN: main
	
	
		New Annotation