Pg 5 Chpt 15: Mthmtic M Fu With Numb. I thi chpt w will lk t m dditil mthmticl pt d fucti tht wk with umb. Tpic will b bk dw it fu cti: 1) w pt; ) w itg fucti, 3) w fltig pit fucti, d 4) tigmtic fucti. Nw Opt: I dditi t th bic mthmticl pti w hv b uig ic th fit chpt, th th m pt i BASIC-56. Opti imil t th th pti xit i mt cmput lgug. Thy th pti f mdul, itg divii, d pw. Opti Opt Dcipti Mdul % Rtu th mid f itg divii. Itg Divii \ Rtu th whl umb f tim itg c b dividd it th. Pw Ri umb t th pw f th umb. Mdul Opt: Th mdul pti tu th mid pt f itg divii. Wh yu d lg divii with whl umb, yu gt mid tht i th m th mdul. 1 # c15_mdul.kb 014 Jm M. Ru (CC BY-NC-SA 3.0 US)
3 4 5 6 7 iput "t if % = 0 if % 3 = 0 if % 5 = 0 if % 7 = 0 d umb ", th pit "diviibl th pit "diviibl th pit "diviibl th pit "diviibl Pg 6 by by by by " 3" 5" 7" Pgm 98: Th Mdul Opt t umb 10 diviibl by diviibl by 5 Smpl Output 98: Th Mdul Opt xpi1 % xpi Th Mdul (%) pt pfm itg divii f xpi1 dividd by xpi d tu th mid f tht pc. If bth f th xpi t itg vlu (whl umb) thy will b cvtd t itg vlu by tuctig th dciml (lik i th it() fucti) pti bf th pti i pfmd. Yu might t thik it, but th mdul pt (%) i ud quit ft by pgmm. Tw cmm u ; 1) t tt if umb divid it th (Pgm 98) d ) t limit umb t pcific g (Pgm 99). 1 # c15_mvbllmd.kb 014 Jm M. Ru (CC BY-NC-SA 3.0 US)
3 4 5 6 7 8 9 10 11 1 13 14 15 16 17 18 19 0 1 3 4 5 6 7 8 9 30 31 3 33 34 35 36 Pg 7 # wit f mvbll.kb uig th mdul pt t wp th bll ud th c pit "u i f up, j f lft, k f ight, m f dw, q t quit" ftgphic clg blldiu = 0 # # x y piti f th bll tt i th ct f th c = gphwidth / = gphhight / # dw th bll iitilly th c cll dwbll(x, y, blldiu) # lp d wit f th u t p ky whil tu k = ky if k = c("i") th # y c g gtiv, + gphhight kp it pitiv y = (y - blldiu + gphhight) % gphhight cll dwbll(x, y, blldiu) d if if k = c("j") th x = (x - blldiu + gphwidth) % gphwidth cll dwbll(x, y, blldiu) d if if k = c("k") th x = (x + blldiu) % gphwidth cll dwbll(x, y, blldiu) d if if k = c("m") th y = (y + blldiu) % gphhight cll dwbll(x, y, blldiu) 014 Jm M. Ru (CC BY-NC-SA 3.0 US)
37 38 39 40 41 4 43 44 45 46 47 Pg 8 d if if k = c("q") th d d whil ubuti dwbll(bx, by, b) cl whit ct 0, 0, gphwidth, gphhight cl d cicl bx, by, b fh d ubuti Pgm 99: Mv Bll - U Mdul t Kp Sc Itg Divii Opt: Th Itg Divii (\) pt d ml divii but it wk ly with itg (whl umb) d tu itg vlu. A xmpl, 13 dividd by 4 i 3 mid 1 th ult f th itg divii i 3. 1 3 4 5 6 7 # c15_itgdivii.kb iput "dividd ", dividd iput "divi ", divi pit dividd + " / " + divi + " i "; pit dividd \ divi; pit ""; pit dividd % divi; Pgm 100: Chck Yu Lg Divii dividd 43 divi 6 43 / 6 i 71 Smpl Output 100: Chck Yu Lg Divii 014 Jm M. Ru (CC BY-NC-SA 3.0 US)
Pg 9 xpi1 \ xpi Th Itg Divii (\) pt pfm divii f xpi1 / xpi d tu th whl umb f tim xpi1 g it xpi. If bth f th xpi t itg vlu (whl umb), thy will b cvtd t itg vlu by tuctig th dciml (lik i th it() fucti) pti bf th pti i pfmd. Pw Opt: Th pw pt will i umb t th pw f th umb. 1 3 4 5 # c15_pw.kb f t = 0 t 16 pit " " + t + " = "; pit t xt t Pgm 101: Th Pw f Tw 0 = 1 1 = = 4 3 = 8 4 = 16 5 = 3 6 = 64 7 = 18 8 = 56 9 = 51 10 = 104 014 Jm M. Ru (CC BY-NC-SA 3.0 US)
11 1 13 14 15 16 = = = = = = Pg 30 048 4096 819 16384 3768 65536 Smpl Output 101: Th Pw f Tw xpi1 xpi Th Pw () pt i xpi1 t th xpi pw. Th mthmticl xpi 56 = b c. =b c wuld b witt i BASIC- Nw Itg Fucti: Th th w itg fucti i thi chpt ll dl with hw t cvt tig d fltig pit umb t itg vlu. All th fucti hdl th dciml pt f th cvi difftly. I th it() fucti th dciml pt i jut thw wy, thi h th m ffct f ubtctig th dciml pt fm pitiv umb d ddig it t gtiv umb. Thi c cu tubl if w tyig t ud d th umb l th z (0). Th cil() d fl() fucti t f fix th pblm with it(). Cil() lwy dd ugh t vy fltig pit umb t big it up t th xt whl umb whil fl(0) lwy ubtct ugh t big th fltig pit umb dw t th clt itg. 014 Jm M. Ru (CC BY-NC-SA 3.0 US)
Pg 31 W hv b tught t ud umb by imply ddig 0.5 d dp th dciml pt. If w u th it() fucti, it will wk f pitiv umb but t f gtiv umb. I BASIC-56 t ud w huld lwy u fmul lik = fl b 0.5. Fucti 1 3 4 5 6 7 8 Dcipti it(xpi) Cvt xpi (tig, itg, dciml vlu) t itg (whl umb). Wh cvtig fltig pit vlu th dciml pt i tuctd (igd). If tig d t cti umb z i tud. cil(xpi) Cvt fltig pit vlu t th xt hight itg vlu. fl(xpi) Cvt fltig pit xpi t th xt lw itg vlu. Yu huld u thi fucti f udig = fl b 0.5. # c15_itcilfl.kb f t = 1 t 10 = d * 100-50 pit ; pit " it=" + it(); pit " cil=" + cil(); pit " fl=" + fl() xt t Pgm 10: Diffc Btw It, Cilig, d Fl -46.850173 it=-46 cil=-46 fl=-47 014 Jm M. Ru (CC BY-NC-SA 3.0 US)
Pg 3-43.071987 it=-43 cil=-43 fl=-44 3.380133 it=3 cil=4 fl=3 4.607 it=4 cil=5 fl=4 3.413543 it=3 cil=4 fl=3-6.608505 it=-6 cil=-6 fl=-7-18.813465 it=-18 cil=-18 fl=-19 7.096065 it=7 cil=8 fl=7 3.48759 it=3 cil=4 fl=3-45.463169 it=-45 cil=-45 fl=-46 Smpl Output 10: Diffc Btw It, Cilig, d Fl Nw Fltig Pit Fucti: Th mthmticl fucti tht wp up thi chpt yu my d t u t wit m pgm. I th vt mjity f pgm th fucti will t b dd. Fucti Dcipti flt(xpi) Cvt xpi (tig, itg, dciml vlu) t dciml vlu. Uful i chgig tig t umb. If tig d t cti umb z i tud. b(xpi) Cvt fltig pit itg xpi t blut vlu. lg(xpi) Rtu th tul lgithm (b ) f umb. lg10(xpi) Rtu th b 10 lgithm f umb. 014 Jm M. Ru (CC BY-NC-SA 3.0 US)
Pg 33 Advcd - Tigmtic Fucti: Tigmty i th tudy f gl d mumt. BASIC-56 iclud uppt f th cmm tigmtic fucti. Agul mu i d i di (0-p). If yu uig dg (0-360) i yu pgm yu mut cvt t u th "tig" fucti. Fucti Dcipti c(xpi) Rtu th ci f gl. i(xpi) Rtu th i f gl. t(xpi) Rtu th tgt f gl. dg(xpi) Cvt Rdi (0 π) t Dg (0-360). di(xpi) Cvt Dg (0-360) t Rdi (0 π). c(xpi) Rtu th iv ci. i(xpi) Rtu th iv i. t(xpi) Rtu th iv tgt. Th dicui f th fit th fucti will f t th id f ight tigl. Illutti 4 hw f th with it' id d gl lbld. 014 Jm M. Ru (CC BY-NC-SA 3.0 US)
Pg 34 Illutti 4: Right Tigl Ci: A ci i th ti f th lgth f th djct lg v th lgth f th b hyptu c A=. Th ci pt itlf vy π di d h c g fm -1 t 1. Illutti 4 gph ci wv fm 0 t π di. Illutti 5: C() Fucti Si:. c Th i pt itlf vy π di d h g fm -1 t 1. Yu hv digm f i wv i Chpt 3 muic w dicud. Th i i th ti f th ppit lg v th hyptu i A= 014 Jm M. Ru (CC BY-NC-SA 3.0 US)
Pg 35 Illutti 6: Si() Fucti Tgt: Th tgt i th ti f th djct id v th ppit id t A=. Th tgt pt itlf vy π di d h g fm b - t. Th tgt h thi g bcu wh th gl ppch ½π di th ppit id gt vy mll d will ctully b z wh th gl i ½π di. Illutti 7: T() Fucti 014 Jm M. Ru (CC BY-NC-SA 3.0 US)
Pg 36 Dg Fucti: Th dg() fucti d th quick mthmticl clculti t cvt gl i di t gl i dg. Th fmul ud i dg=di/ 360. Rdi Fucti: Th di() fucti will cvt dg t di uig th fmul di=dg/360. Rmmb ll f th tigmtic fucti i BASIC-56 u di d t dg t mu gl. Iv Ci: Th iv ci fucti c() will tu gl mumt i di f th pcifid ci vlu. Thi fucti pfm th ppit f th c() fucti. Illutti 8: Ac() Fucti Iv Si: 014 Jm M. Ru (CC BY-NC-SA 3.0 US)
Pg 37 Th iv i fucti i() will tu gl mumt i di f th pcifid i vlu. Thi fucti pfm th ppit f th i () fucti. Illutti 9: Ai() Fucti 014 Jm M. Ru (CC BY-NC-SA 3.0 US)
Pg 38 Iv Tgt: Th iv tgt fucti t() will tu gl mumt i di f th pcifid tgt vlu. Thi fucti pfm th ppit f th t() fucti. Illutti 30: At() Fucti Th big pgm thi chpt llw th u t t tw pitiv whl umb d th pfm lg divii. Thi pgm ud lgithm t clcult hw lg th umb, mdul d itg divii t gt th idividul digit, d i glly vy cmplx pgm. D't b cd put ff if yu d't udtd xctly hw it wk, yt. 1 3 4 # c15_hdyclck.kb ftgphic 014 Jm M. Ru (CC BY-NC-SA 3.0 US)
5 6 7 8 9 10 11 1 13 14 15 16 17 18 19 0 1 3 4 5 6 7 8 9 30 31 3 33 34 35 36 37 38 39 Pg 39 whil tu clg # dw utli cl blck, whit pwidth 5 cicl 150,150,105 # dw th 60 mk (vy fifth mk it lg) cl blck pwidth 1 f m = 0 t 59 = * pi * m / 60 if m % 5 = 0 th pip = 5 l pip = 1 d if cicl 150-i()*95,150-c()*95,pip xt m # dw th hd h = hu % 1 * 60 / 1 + miut/1 + cd / 3600 cll dwhd(150,150,h,50,6,g) m = miut + cd / 60 cll dwhd(150,150,m,75,4,d) cll dwhd(150,150,cd,100,3,blu) fh pu 1 d whil ubuti dwhd(x, y, f, l, w, hdcl) # p th lcti x d y # f lcti fc f clck 0-59 # lgth, width, d cl f th hd cl hdcl tmp x, y, 1, f/60**pi - pi /, {0,-w,l,0,0,w} d ubuti Pgm 103: Big Pgm Clck with Hd 014 Jm M. Ru (CC BY-NC-SA 3.0 US)
Pg 40 Smpl Output 103: Big Pgm Clck with Hd 014 Jm M. Ru (CC BY-NC-SA 3.0 US)
Pg 41 Exci: f c f t t i d c t y l z i t l d p h i t u g l y l g i d d f p i u p l j t m l i p f i m t g p t l c x w h c k c d b m c p w u g t i d g b k j i d b, c, djct, i, t, cilig, c, dg, flt, fl, hyptu, it, itg, lgithm, mdul, ppit, pw, di, mid, i, t 15.1. Hv th u iput dciml umb. Diply th umb it whl umb d th clt fcti v 1000 tht i pibl. 15.. Tk th pgm fm Pblm 15.1 d u lp t duc th fcti by dividig th umt d dmit by cmm fct. 15.3. Wit pgm t dw gul plyg with y umb f id (3 d up). Plc it' ct i th ct f th gphic widw d mk it vtic 100 pixl fm th ct. Hit: A cicl c b dw by plttig pit pcific diu fm pit. Th fllwig plt cicl with diu f 100 pixl 014 Jm M. Ru (CC BY-NC-SA 3.0 US)
Pg 4 ud th pit 150,150. f = 0 t *pi tp.01 plt 150-100*i(),150-100*c() xt 6 idd 7 idd 1 idd 014 Jm M. Ru (CC BY-NC-SA 3.0 US)