程序代写代做代考 html interpreter C DNA graph 11/6/2020 Scheme Built-In Procedure Reference | CS 61A Fall 2020

11/6/2020 Scheme Built-In Procedure Reference | CS 61A Fall 2020
Scheme Built-In Procedure Reference
[x]
Core Interpreter
apply
procedure
apply display
val val
displayln
x

x
(apply )
args
scm> (apply + ‘(1 2 3))
6
(display )
(displayln )
https://cs61a.org/articles/scheme-builtins.html
1/17
.dedulcni yllacitamotua eb ton lliw enil wen A .setouq tuohtiw tuptuo eb lliw ti ,gnirts emehcS a si fI . stnirP
.noitcnuf a erew ti fi sa orcam a staert ,suhT .noitaulave lanrognitouqlaitiniehttuohtiworcamehtgnillacfotceeehtsahsiht,sorcamnO
. fo tsil nevig eht htiw sllaC
.ni depyt snoisserpxe laretil eht ton stnemugra detaulave tneserper stnemele eht taht sni-tliub eseht fo lla rof demussa si tI .tnemele gnidecerp
eht fo eno naht erom eb nac ereht taht etacidni sespillE . tnemele lanoitpo na ot srefer elihw ,yrav nac taht tnemele deriuqer a ot srefer ,woleb snoitined xatnys eht fo lla nI
.serudecorp ni-tliub lanoitidda lareves sedulcni )gro.a16sc.emehcs//:sptth( reterpretni bew ehT .)emehcs/reterpretni/stessa/gro.a16sc//:ptth( reterpretni emehcS ats dnatcejorpemehcSehtniserudecorpni-tliubehtrofecnereferasasevrestnemucodsihT
0202 gnirpS :detadpU tsaL

11/6/2020
display error
SchemeError msg
eval
expression
exit
load
Scheme Built-In Procedure Reference | CS 61A Fall 2020
(error )
msg
(eval )
scm> (eval ‘(cons 1 (cons 2 nil)))
(1 2)
(exit)
(load )
newline
print
filename
filename
filename
import-inline
load
(newline)
(print …)
https://cs61a.org/articles/scheme-builtins.html
2/17
val
display
.enilwenadna,gnirtsemehcSanosetouqretuoehtedulcni lliwsiht, ekilnU.secapsybdetarapes, hcaefonoitatneserperemehcSehtstnirP
.tnemnorivnetnerrucehtniedocemehcSehtsetaulavednaLRUasekathcihw , sigolanatsesolcehT. troppusyltnerructonseods’reterpretnibewehT
.detpmetta eb lliw mcs. ,dnuof ton si el taht fI .lobmys a ebtsum .nihtiwedocehtsetaulavedna htiwelehtfostnetnocehtsdaoL
.gnihtonseodsiht,reterpretnibewehtnI.reterpretniehtstixE
eb lliw egassem s’rorre eht , on si ereht fI .egassem s’ti sa htiw
.ytpme na sesiaR
.tnemnorivne tnerruc eht ni
setaulavE
.dne eht ta enilwen a sedulcni tub ,
ekiL
.enil wen a stnirP

11/6/2020
Scheme Built-In Procedure Reference | CS 61A Fall 2020
Type Checking
atom?
arg boolean?
arg integer?
arg list?
arg
(atom? )
(boolean? )
(integer? )
(list? )
scm> (list? ‘(1 2 3))
True
scm> (list? (cons-stream 1 nil))
False
number?
(number? )
arg null?
arg nil
(null? )
https://cs61a.org/articles/scheme-builtins.html
3/17
.esiwrehtoeslaf;)tsilytpmeeht( si fieurtsnruteR
.esiwrehto eslaf ;rebmun a si fi eurt snruteR
.pooletinnirororrenaesuacyamsiht,elcycasahtsil ehtfI.esiwrehtoeslaf;)maertsaniatnoct’nseodti,.e.i(tsildemrof-llewasi fieurtsnruteR
.esiwrehto eslaf ;regetni a si fi eurt snruteR
.esiwrehto eslaf ;naeloob a si fi eurt snruteR
.esiwrehtoeslaf;linro,gnirts,lobmys,rebmun,naeloobasi fieurtsnruteR

11/6/2020
pair?
arg procedure?
arg promise?
arg string?
arg symbol?
arg
Pair and List Manipulation
append
lst
Scheme Built-In Procedure Reference | CS 61A Fall 2020
(pair? )
(procedure? )
(promise? )
(string? )
(symbol? )
(append [lst] …)
https://cs61a.org/articles/scheme-builtins.html
4/17
lst
nil
fi snruteR .tsil elgnis a otni redro ni s
.s on lla fo smeti eht gnidneppa fo tluser eht snruteR
.esiwrehto eslaf ;lobmys a si
fi eurt snruteR
.esiwrehto eslaf ;gnirts a si
fi eurt snruteR
.esiwrehto eslaf ;esimorp a si
fi eurt snruteR
.esiwrehto eslaf ;erudecorp a si
fi eurt snruteR
.esiwrehto eslaf ;riap a si
fi eurt snruteR

11/6/2020 Scheme Built-In Procedure Reference | CS 61A Fall 2020
scm> (append ‘(1 2 3) ‘(4 5 6)) (123456)
scm> (append)
()
scm> (append ‘(1 2 3) ‘(a b c) ‘(foo bar baz))
(1 2 3 a b c foo bar baz)
scm> (append ‘(1 2 3) 4)
Error
car
cdr
car pair pair
(car )
(cdr )
cdr pair pair cons
(cons )
length
list
map
first car rest
arg arg
item
cdr
(length )
(list …)
(map )
https://cs61a.org/articles/scheme-builtins.html
5/17
proc
lst
. nimetihcaeno)erudecorptnemugra-enoa( gnillacybdetcurtsnoctsilasnruteR
.stnemele sti sa redro ni s
eht htiw tsil a snruteR
.rorre na esuac lliw siht ,tsil a ton si fI .
fo htgnel eht snruteR
eht sa dna
eht sa
htiw riap wen a snruteR
.riap a ton si
fi srorrE .
fo eht snruteR
.riap a ton si
fi srorrE .
fo eht snruteR

11/6/2020
filter
reduce
Scheme Built-In Procedure Reference | CS 61A Fall 2020
(filter )
(reduce )
Mutation
set-car!
(set-car! )
car pair value pair set-cdr!
cdr pair value pair
Arithmetic Operations
reduce
lst
pred
lst
combiner
lst
+

num
num
(set-cdr! )
(+ [num] …)
(- …)
https://cs61a.org/articles/scheme-builtins.html
6/17
lliw siht ,rebmun a ton si
yna fI .enon era ereht fi 0 snruteR .s
.rorre lla fo mus eht snruteR
.riap a eb tsum . ot fo eht steS
.riap a eb tsum . ot fo eht steS
.meti eno .tnemugra dnoces eht sa eulav wen eht dna tnemugra tsr eht sa dessapeulavdenibmocgnitsixeehthtiw,thgir-ot-tfelmorfskrow.)erudecorptnemugra -owt a( gnisu ni tnemele hcae gninibmoc yllaitneuqes fo tluser eht snruteR
tsael ta niatnoc tsum
.)erudecorp tnemugra-eno a(nodellacnehweurtnrutertahtfostnemeleehtylnofognitsisnoctsilasnruteR

11/6/2020
Scheme Built-In Procedure Reference | CS 61A Fall 2020
*
/
divisor
num
num
num
num num
num
(* [num] …)
(/ [divisor] …)
divisor
divisors
dividend
dividend
dividend
scm> (/ 4)
0.25
scm> (/ 7 2)
3.5
scm> (/ 16 2 2 2)
2
abs
expt
modulo ab
num
power
(abs )
(expt )
base
(modulo )
https://cs61a.org/articles/scheme-builtins.html
7/17
.srebmun eb tsum s
lladna .noisividrooton,noisivideurtseodni-tliubsihT. ehtfotcudorpeht yb dedivid nruter ,esiwrehtO . yb dedivid 1 nruter ,s on era ereht fI
.srebmun eb tsum htoB . oludom snruteR
.srebmun eb tsum htoB .rewop eht ot desiar eht snruteR
.rebmun a eb tsum hcihw , fo eulav etulosba eht snruteR
.rorre lliw siht ,rebmun a ton si yna fI .enon era ereht fi 1 snruteR .s lla fo tcudorp eht snruteR
.rorre lliw siht ,rebmun a ton si yna fI .s gniniamer eht fo mus eht sunim tsr eht nruter ,esiwrehtO .noitagen sti nruter , eno ylno si ereht fI

11/6/2020
Scheme Built-In Procedure Reference | CS 61A Fall 2020
scm> (modulo 7 3)
1
scm> (modulo -7 3)
2
quotient dividend
remainder
divisor
(quotient )
scm> (quotient 7 3)
2
(remainder )
Additional Math Procedures
modulo
dividend
divisor
scm> (remainder 7 3)
1
scm> (remainder -7 3)
-1
https://cs61a.org/articles/scheme-builtins.html
8/17
.)lmth.htam/yrarbil/3/gro.nohtyp.scod//:sptth( eludomhtamehtnisnoitcnufnohtyPgnidnopserrocehthctam yltcaxeroivahebesohwserudecorplanoitiddagniwollofehtsddareterpretnidesab-nohtyPehT
.devlovnierasrebmunevitagennehwroivahebnimorfsreiD.srebmun eb tsum htoB . yb dedivid regetni si nehw stluser taht redniamer eht snruteR
.srebmun eb tsum htoB . yb dedivid regetni snruteR
roo seerged hsoc soc ngisypoc liec hnata 2nata nata hnisa nisa hsoca soca

11/6/2020
Scheme Built-In Procedure Reference | CS 61A Fall 2020
Boolean Operations
General
eq?
ab
(eq?
)
ab
scm> (eq? ‘(1 2 3) ‘(1 2 3))
False
scm> (define x ‘(1 2 3))
scm> (eq? x x)
True
equal?
(equal?
)
ab car cdr
scm> (equal? ‘(1 2 3) ‘(1 2 3))
True
not
(not )
https://cs61a.org/articles/scheme-builtins.html 9/17
.tnelaviuqe era s rieht dna tnelaviuqe eras riehtfitnelaviuqeerayeht,sriapowtroF.tnelaviuqeera dna fieurtsnruteR
.esiwrehto eslaf ;yromem ni tcejbo emas eht ot refer htob dna fi eurt nruter ,esiwrehtO
.esiwrehto eslaf ;tnelaviuqeerayehtfieurtnruter,sgnirtsro,slobmys,snaeloob,srebmunhtobera dna fI
cnurt hnat nat trqs hnis nis snaidar 2gol p1gol 01gol gol

11/6/2020
Scheme Built-In Procedure Reference | CS 61A Fall 2020
arg
On Numbers
=
< >
<= >=
even?
odd?
ab
ab
ab
arg
(=
)
(<
)
(>
)
(<=
)
ab
ab
num num
num num
(>=
)
(even? )
(odd? )
https://cs61a.org/articles/scheme-builtins.html
10/17
.rebmunaebtsum.ddosifieurtsnruteR
.rebmun a eb tsum .neve si
fi eurt snruteR
.srebmunebtsumhtoB. otlauqeronahtretaergsi
fieurtsnruteR
.srebmunebtsumhtoB. otlauqeronahtsselsi
fieurtsnruteR
.srebmun eb tsum htoB . naht retaerg si
fi eurt snruteR
.srebmun eb tsum htoB . naht ssel si
fi eurt snruteR
.srebmun eb tsum htoB . slauqe
fi eurt snruteR
.yhturtsi fieslafroy-eslafsi fieurtsnruteR

11/6/2020 Scheme Built-In Procedure Reference | CS 61A Fall 2020
zero?
(zero? )
num num
Promises and Streams
force
promise cdr-stream
promise promise
(force )
(cdr-stream )
(force (cdr ))
Turtle Graphics
backward
back bk begin_fill
bgcolor
color
n
(backward )
(begin_fill)
end_fill
(bgcolor )
https://cs61a.org/articles/scheme-builtins.html
11/17
c
.) gnillacnehwsaseluremas(rolocaotwodniweltrutehtforolocdnuorgkcabehtsteS
.ll eht etelpmoc ot llaC .dell eb ot epahs a eniltuo taht sevom fo ecneuqes a stratS
, :sesailA .noitisoptnerrucstimorfnoitceridtnerrucstinistinu drawkcabeltrutehtsevoM
.esimorp a eb tsum .denrutereblliwnoitaulavesuoiverpehtmorftlusereht,daetsnI.niagadetaulaveebton lliwnoisserpxesti,decrofneebydaerlasah fI. fotluserdetaulaveehtsnruteR
.rofdnahtrohS
.rebmun a eb tsum .orez si fi eurt snruteR

11/6/2020
circle
extent
clear
color
Scheme Built-In Procedure Reference | CS 61A Fall 2020
(circle [extent])
(clear)
(color )
end_fill
exitonclick
file PATH) forward
begin_fill
r
r r
extent
c
c
(end_fill)
(exitonclick)
–turtle-save-path PATH
(save-to-
(forward )
https://cs61a.org/articles/scheme-builtins.html
12/17
n
.noitisoptnerrucstimorfnoitceridtnerrucstinistinu drawrofeltrutehtsevoM
.tixe erofeb thgir llacylevitceeoslaot ssapnacuoy,reterpretnilacolehtnI
.savnacehtsesolcti,reterpretnibewehtnI.dekcilcsiwodniwehtnehwmargorp tnerrucehtstixeti,edomeltrut-ktnI.margorptnerrucehtstixesiht,edomeltrut-wollipnI
. ot llac tsal ecnis nward epahs ni lliF
.reterpretniehtno gnidneped yrav yam sroloc deman elbaliavA .lobmys a eb ot swolla osla reterpretni bew ehT
.”0c0c#”ro”der”sahcusgnirtsemehcSasihcihw, otrolocnepehtsteS
.degnahcnu eltrut eht gnivael ,gniward eht sraelC
.selcric laitrap gniward yletarucca elbuort sah reterpretni bew ehT
.noitcerid esiwkcolc eht ni ward ,esiwrehtO .noitcerid esiwkcolcretnuoc eht ni ward ,evitisop si fI .elcric eht fo seerged tsr eht ylno ward ,stsixe fI .tfel s’eltrut eht ot stinu deretnec , suidar fo elcric a swarD

11/6/2020
fd hideturtle
ht left
lt pendown
pd penup
pu pixel
pixelsize
Scheme Built-In Procedure Reference | CS 61A Fall 2020
(hideturtle)
(left )
n
(pendown)
(penup)
(pixel )
xy c color pixelsize
(pixelsize )
https://cs61a.org/articles/scheme-builtins.html
13/17
pixel size size
.
. x eb ot yb nward xob eht fo ezis eht segnahC
htiw degnahc eb nac siht hguoht ,lexip eno si xob eht tluafedyB.) nisaseluremas(rolocni),(tagnitratsslexiphtiwdellxobaswarD
:sailA .ward ton seod eltrut eht taht os nep eht sesiaR
:sailA .gniward strats eltrut eht taht os nep eht srewoL
:sailA .esiwkcolcretnuoc seerged gnidaeh s’eltrut eht setatoR
:sailA .elbisivnisyawlasieltrutehtsa,reterpretnibewehtnotceeonsaherudecorpsihT .elbisivni eltrut eht sekaM
:sailA

11/6/2020
rgb
(rgb )
right (right )
rt save-to-file
(save-to-file )
Scheme Built-In Procedure Reference | CS 61A Fall 2020
(save-to-file “hi”)
./hi.png
./hi.ps
screen_width (screen_width)
screen_height (screen_height)
setheading (setheading )
seth
setposition
h
https://cs61a.org/articles/scheme-builtins.html
14/17
n
rgb
f
:sailA .htronehtmorfesiwkcolcseerged gnidaehs’eltrutehtsteS
.ezis tnerruc eht fo slexip ni neercs eltrut eht fo thgieh eht snruteR
.ezis tnerruc eht fo slexip ni neercs eltrut eht fo htdiw eht snruteR
reterpretni bew eht ni tcee on sah )tluafed( eltrut-kt eht gnisu reterpretni lacol eht ni ot sevas eltrut-wollip eht gnisu reterpretni lacol eht ni ot sevas
,elpmaxeroF .noisnetxe el dedda na htiw , yb deiceps el a ot savnac tnerruc eht sevaS
:sailA .esiwkcolc seerged gnidaeh s’eltrut eht setatoR
.1dna0neewtebseulavdna,,morfdemrofgnirtsrolocasnruteR

11/6/2020 Scheme Built-In Procedure Reference | CS 61A Fall 2020
setpos goto showturtle
st speed
xy
(showturtle)
(speed )
Additional Reading
(setposition )
https://cs61a.org/articles/scheme-builtins.html
15/17
.selbmeserylesolctsomemehcSA16tahtnotacicepsemehcS llufeht-)/SR5R/sdradnatS/stnemucoD/gro.sremehcs.www//:ptth(noitacicepSSR5R emehcSA16fonoitacicepseroceht-)lmth.ceps-emehcs(noitacicepSemehcS
.edomeltrut-wollipssel-iugehtnodnareterpretnibewehtnotceeonsah erutaefsihT.deepsnoitaminaehtsegnahcsiht,edomeltrut-ktnireterpretnilacolehtnO
.tnemevomretsafdnaretsafgnitacidni01-1dnanoitamina ongnitacidni0htiw01dna0neewtebeulavemosotdeepsnoitaminas’eltrutehtsteS
:sailA .elbisivnisyawlasieltrutehtsa,reterpretnibewehtnotceeonsaherudecorpsihT .elbisiv eltrut eht sekaM
, :sesailA .gnidaehstignignahctuohtiw) , (noitisopoteltrutehtsevoM