COMP 3007
Outline
Lectures
Assignments
Schedule
a2q1_newton.scm
retteb a neht ,x fo toor ebuc eht ot noitamixorppa na si y fi taht tcaf eht no desab si stoor ebuc rof dohtem s’notweN ]skram 5[ .a
:smelborp gniwollof eht evlos , dellac elfi a nI 1 noitseuQ
mp55:11 @ ht41 yraurbeF yadnuS :euD snoitcnuF ssalc-tsriF & noisruceR
2# tnemngissA – 7003 PMOC
7003 PMOC EMOH
(new-if)
(define (new-if predicate consequent alternate)
(cond (predicate consequent)
(else alternate)))
;example usage
(new-if (< x 0) (- x) x)
a2q2_products.scm
(product 1 5 (lambda(x)x)(lambda(x)(+ x 1))) 120 (product-it)
(x/y2+2y)/3
product
.woleb snoitaton IP nevig eht ecudorp ,smelborp suoiverp eht fo rehtie ot noitulos ruoy gnisU ]skram 3[ .c
. erudecorp siht llaC .ssecorp evitareti na gnisu
ti evlos ot melborp suoiverp eht ot noitulos ruoy etirweR ]skram 4[ .b
¡ú .g.E .ssecorp evisrucer a etareneg dluohs erudecorp ehT .erutcel morf erudecorp mus eht ot
suogolana dellac erudecorp redro-rehgih a etirW ]skram 2[ .a
.erutcel ni debircsed sa seulav owt neewteb srebmun fo noitammus lareneg fo noitinfied eht llaceR
.woleb smelborp eht evlos dellac elfi a nI 2 noitseuQ
.ton yhw ro yhw nialpxE ?krow noisrev wen eht seoD .daetsni fi-wen ot llac a htiw reti-trbc edisni fi dradnats eht
ecalpeR .woleb nwohs sa erudecorp eht redisnoC ]skram 2[ .b .elbissop reverehw selbairav eerf dna snoitcnuf detsen esu dluohs edoc ruoY .seton erutcel eht morf erudecorp toor-erauqs eht ot suogolana erudecorp toor-ebuc a tnemelpmi ot alumrof siht esU :eulav eht yb nevig si noitamixorppa
, ppy
3 noitseuQ
a2q3_palindromes.scm
(palindrome? s) ss
(palindrome? "tacocat")
(palindrome? "taco cat")
(k-palindrome? s k)
k
#t #f
s
(k-palindrome? "tahcohcat" 2) #t (k-palindrome? "tahcohcat" 1) #f
a2q4_branching.scm
f(n) = n, if n<3
f(n) = 3f(n-1) + 2f(n-2) + f(n-3), otherwise
.edoc ruoy woleb stnemmoc ni )5 f( rof ledom noitutitsbus eht gniwohs yb evitareti si rewsna ruoy taht etartsullI .ssecorp
evitareti na fo snaem yb f setupmoc taht erudecorp a etirW ]skram 7[ .b .edoc ruoy woleb stnemmoc ni )5 f( rof ledom noitutitsbus eht gniwohs yb evisrucer si rewsna ruoy taht etartsullI .ssecorp
evisrucer a fo snaem yb f setupmoc taht erudecorp a etirW ]skram 4[ .a
:selur eht yb denfied si f noitcnuf A .woleb smelborp eht evlos , dellac elfi a nI
¡ú ¡ú
,elpmaxe roF .erom rof spit lanoitidda eeS .noitulos ruoy ni sriap ro stsil esu ton
dluohs uoY .emordnilap-k a si s fi eurt snruter dna stnemugra sa regetni evitagen-non a dna gnirts a sekat taht
dellac erudecorp a etirW .sretcarahc k ot pu gnirongi yb emordnilap
a otni edam eb nac taht gnirts a si emordnilap-k A ]skram 7[ .b
¡ú ¡ú
.emordnilap si fi )t#( eurt snruter dna tnemugra sa gnirts
a sekat taht dellac erudecorp a etirW ]skram 5[ .a
:smelborp gniwollof eht evlos dellac elfi a nI 3 noitseuQ
5 noitseuQ
4 noitseuQ
a2q5_pascal.scm
(pascals 0 0) 1 (pascals 2 0) 1 (pascals 2 1) 2 (pascals 4 2) 6
n
(printTriangle 5)
1 11
,elpmaxe roF .neercs eht ot elgnairt s'lacsaP fo swor stnirp taht )n elgnairTtnirp(
erudecorp a etirw ,trap suoiverp eht ot noitulos ruoy gnisU ]skram 6[ .b
,elpmaxe roF .0 fo eulav a nruter dluohs secidni dilavni ynA .ssecorp evisrucer a fo snaem yb elgnairt s'lacsaP fo tnemele tnaveler eht setupmoc ,xedni
nmuloc dna wor a nevig nehw ,taht erudecorp a etirW ]skram 5[ .a
.ti evoba srebmun owt eht fo mus eht si elgnairt eht edisni rebmun hcae dna ,1 lla era elgnairt eht fo egde eht ta srebmun ehT .elgnairt s'lacsaP dellac si srebmun fo nrettap gniwollof ehT
¡ú
¡ú ¡ú ¡ú ¡ú
.woleb smelborp eht evlos , dellac elfi a nI
(a + (a + ... + a)) b a)) b
a*b=a + ab = a * (a * (a * ... *
...a b = a(a(a ))
12 1 133 1 146 41
a2q6_hyperoperations.scm
(define my-mult (hyper +)) (my-mult 3 4) 12
(define my-exp (hyper my-mult)) (my-exp 2 4) 16
(define my-tetra (hyper my-exp)) (my-tetra 2 4) 65536
a
(hyper x)
:elpmaxe roF .rotareporepyh knar rehgih txen eht snruter dna tnemugra sa x rotareporepyh a sekat taht dellac noitcnuf a etirW ]skram 7[
...cte ,noitatpes ,noitaxeh ,noitatnep htiw seunitnoc nrettap sihT ¡ü¡ü :noitarepo repyh knar ht4 eht si noitarteT
)semit (
:3 knar fo noitarepo repyh a si noitaitnenopxE
)semit (
:snoitidda fo ecneuqes a sa desserpxe eb nac noitacilpitluM
.2 knar fo noitarepo repyh a si noitacilpitluM .1 knar fo noitareporepyh a si noitiddA ,elpmaxe roF
.1-n knar fo snoitareporepyh fo ecneuqes detaeper a si n knar fo noitareporepyh a ,erehw snoitarepo citemhtira fo ecneuqes detaeper a si noitareporepyh A .melborp gniwollof eht evlos , dellac elfi a nI
.stuptuo detnirp yfirev yllaunam ro ,gnirts elgnis a sa elgnairt eritne eht nruter noitcnuf eht evah yam uoy ,gnitset roF
¡ú ¡ú
¡ú
:seton emoS
6 noitseuQ
a 1 =a
ruoy ni noitcnuf yreve fo snur gnitset edulcni ot deriuqer era uoY gnitseT
.yltcerroc ecruos eht etic tsum uoy tub tnemngissa eht ro erutcel ni dnuof txet ro edoc yna esu yam uoY .skram orez eviecer lliw dna ,noitatnemucod tneicffius etutitsnoc ton seod senilediug tnemngissa eht gnitsap dna gniypoc ,eton esaelP .AT suoreneg a si AT yppah a ;elbadaer ylisae dna dettamrof-llew si edoc ruoy taht erusnE .)nruter( tuptuo dna )sretemarap( stupni detcepxe sti gnidulcni noitcnuf hcae fo esoprup eht tnemucoD .selfi lla fo pot eht ta stnemmoc ni era rebmun tneduts dna eman ruoy taht erusnE
.dettimrep secruoser lanoitatupmoc fi elbissop eb dluow snoitarepo rehgih taht hcus nettirw eb ot detcepxe si edoc ruoy ,etoN .dluohs yeht sa krow )noitartet dna ,noitaitnenopxe ,noitacilpitlum( ereh nwohs snoitareporepyh eerht eht taht yfirev dluohs uoY .evisnepxe yllanoitatupmoc yrev eb lliw snoitarepo rehgih dna noitatnep ,gnitset roF . H ,1 > knar htiw )H( noitareporepyh yna roF
.pu dna 2 knar fo snoitareporepyh etareneg ylno deen noitcnuf ruoy ,si tahT .noitulos ruoy rof noitareporepyh knar tsewol eht sa noitidda emussa yam uoy os ,seicnetsisnocni dna sesac laiceps emos ot sdael niaga siht tub ,stnemercni detaeper fo pu edam noitareporepyh a si noitidda ,yllacinhceT .noitulos ruoy ni sregetni evitisop ylevisulcxe emussa yam uoy os ,srebmun evitagen dna seorez rof sesac laiceps ynam evah lliw hcaorppa sihT
noitatnemucoD gnitseT & noitatnemucoD
ruoy rof seman noitcnuf dna elfi dedivorp lla dna yna esu tsum uoY .noitseuq taht rof %001 ot pu snoitcuded ni tluser yam )SR5R gnisu tekcaRrD ni( elbannur ton era taht selfi edoc ynA .elfi nevig eht ni snoitulos yna rof orez fo kram a ni tluser lliw stropmi fo esu deticilosnU .detats esiwrehto sselnu seirarbil lanretxe yna esu ton oD .ot desu er’uoy ycnerapsnart laitnerefer eht ot kcits esaelp ,tnemngissa siht rof snoitulos ruoy ni )! htiw erudecorp ni-tliub yna ro( !tes gnisu og t’noD .selbairav elbatum ro stcurtsnoc gnipool fo esu on snaem sihT .ssalc ni detartsnomed sa elyts lanoitcnuf tcerroc esu ot detcepxe era tnemngissa siht rof snoitulos ruoY
.)nwo ruoy dnfi ro( hcaorppa rehtie esu ot eerf era uoY .mcs.semirp :ereh dnuof eb nac )tekcaR morf deworrob( gnitset tinu gnitartsnomed elpmaxe ralimis A .mcs.semirp :ereh dnuof eb nac gnitset dna noitatnemucod gnidulcni noissimbus elpmaxe nA
.secnereffid yna rof snoitanalpxe dna tuptuo devresbo sa llew sa tuptuo detcepxe gnivig ,yhw dna gnitset era uoy tahw ot sa gnitset ruoy tnemmoC :secitcarp tseb roF
.skram orez eviecer lliw dna ,gnitset tneicffius etutitsnoc ton seod snur elpmaxe dedivorp eht gnitsap dna gniypoc ,eton esaelP etairporppa erehw euqinu eb ot detcepxe era sesac tset ruoY .noitseuq a rof skram 0 ni tluser lliw stuptuo tset detacirbaF .epyt tcerroc eht fo era deilppus stupni emussa yam uoy ,defiiceps esiwrehto sselnU .edoc ruoy fo sehcnarb elbissop lla dna stupni dilav lla revoc dluohs tub ,dnah ta noitseuq eht no dneped deriuqer stset cfiiceps ehT .noissimbus
yygq
noissimbuS
]latot skram 5[
(string-length str)
(string-ref str i)
(substring str start [end])
(string-append str1 str2)
sgnirts tupni owt eht fo noitanetacnoc eht si taht gnirts a snruter –
.]lanoitpo si xedni gnidne eht[ secidni owt neewteb gnirts nevig a fo gnirtsbus a snruter –
a ni xedni defiiceps a ta retcarahc eht snruter –
gnirts nevig gnirts
nevig a ni sretcarahc fo rebmun eht snruter –
:)seton erutcel eht ni derevoc esoht ot noitidda ni( lufesu dnfi thgim uoy snoitcnuf ni-tliub rehto emoS .elbissop reverehw snoitcnuf nwo ruoy esu-er dluohs uoY
.senilediug noissimbus lla rof eniltuo esruoc eht ees esaelP .ylppa lliw snoitcuded etal sdrawretfa ,etad eud eht erofeb em tcatnoc ,noissimbus htiw seussi gnivah era uoy fI
.yllufsseccus detelpmoc si noissimbus eht taht GNIRUSNE dna selfi lla gnittimbus rof elbisnopser era uoY .snoissimbus etal rof detcuded eb lliw skraM .etad eud eht erofeb nraeLuc gnisu tnemngissa ruoy timbuS .tnaveler dna raelc eb dluohs seman tub ,selfi piz. rof noitnevnoc gniman yrotadnam on si erehT .noissimbus ruoy rof elfi piz. elgnis a otni selfi lla enibmoC .snoitseuq detceffa eht rof orez fo edarg a ni tluser lliw snoitnevnoc gniman debircserp eht wollof ot eruliaF .noissimbus
spiT lanoitiddA