末學今天備課的時候,發現一道英文題是 根據溫度差選用適當用語,
感覺可以寫成Forth腳本。并且批量生成習題。貼出來分享。(附件是腳本和生成後的習題)
\ A Gforth script to generate exam for wasn't as ... as, the same as.
\ format example
\ wasn't as cool as \ keys
\ Beijing is 7˚C. Athens is 15˚C, it ____ Beijing. \ question
\ wasn't as warm as \ wrong key
\ judgement rules:
\ if 2ed - 1st >= 8 means cool
\ if 2ed - 1st < 8 means warm
\ source data of cities and tempretures
: Beijing s" Beijing" 7 ;
: Athens s" Athens" 15 ;
: Delhi s" Delhi" 34 ;
: Madrid s" Madrid" 15 ;
: Mexico_City s" Mexico City" 23 ;
: Moscow s" Moscow" -1 ;
: RDJ s" Rio de Janeiro" 29 ;
: Rome s" Rome" 13 ;
: Sydney s" Sydney" 22 ;
: Tokyo s" Tokyo" 10 ;
: Vancouver s" Vancouver" 6 ;
\ rule judgement
: keys ( n1' n2' -- )
." wasn't as "
swap -
8 >= if
." cool "
else
." warm "
then
." as " cr
;
\ print out key and question
: generate ( addr1 n1 n1' addr2 n2 n2' )
( addr1 n1 n1' addr2 n2 ) >R
( addr1 n1 addr2 n2 n1' ) rot
( addr1 n1 addr2 n2 n1' n2' ) R>
( addr1 n1 addr2 n2 n1' n2' ) 2dup keys
\ print 1st city: Beijing
( addr1 n1 addr2 n2 ) 2>R
( addr2 n2 addr1 n1 ) 2swap
( addr2 n2 addr1 n1 ) 2dup type
\ print degree of Beijing
( addr2 n2 addr1 n1 n1' n2' ) 2R>
( addr2 n2 addr1 n1 n2' n1' ) swap
( addr2 n2 addr1 n1 n2' ) ." is " . ." ˚C. "
\ print 2ed city: Athens
( addr2 n2 addr1 n1 ) >R
( addr1 n1 addr2 n2 ) 2swap
( addr1 n1 ) type ." is "
( addr1 n1 n2' ) R>
( addr1 n1 ) . ." ˚C, it ____ "
( ) type ." ." cr
;
\ generate wrong key
: wrongkey ( addr1 n1 n1' addr2 n2 n2' )
( addr1 n1 n2 n2' n1' addr2 ) 2swap
( addr1 n1 n2 n2' n1' ) drop
( addr1 n1 n2 ) keys
2drop drop
;
\ generate all questions
Beijing Athens generate
Beijing Athens wrongkey
cr
Beijing Delhi generate
Beijing Delhi wrongkey
cr
Beijing Madrid generate
Beijing Madrid wrongkey
cr
Beijing Mexico_City generate
Beijing Mexico_City wrongkey
cr
Beijing Moscow generate
Beijing Moscow wrongkey
cr
Beijing RDJ generate
Beijing RDJ wrongkey
cr
Beijing Rome generate
Beijing Rome wrongkey
cr
Beijing Sydney generate
Beijing Sydney wrongkey
cr
Beijing Tokyo generate
Beijing Tokyo wrongkey
cr
Beijing Vancouver generate
Beijing Vancouver wrongkey
cr
bye
末學 胡松濤
--
Hu Songtao
works as an English Teacher in weekends
Skype: idisblueflash
Beijing, China
> 13.1-G-as..as.fs
> 3K查看下载
>
> 13.1-G-as..as.txt
> 1K查看下载