|
LibreLogoPlotte diagramDette er eit eksempel på korleis LibreLogo kan skrive ut eit diagram. I dette tilfellet sinus til vinklar frå 0 til 90, men det er enkelt å endre vilkåra. Programmet er delt opp i mindre funksjonar for å gjere det meir oversiktleg. 1 TIL aksar ; Teiknar opp x- og y-aksen 8 TIL nullstill ; Nullstiller programmet og set variablar 21 TIL finn_origo ; Finn x- og y-verdiane for midten av skjermen 30 TIL steg ; Aukar verdien for :vinkel og :x_verdi med 1. 37 TIL plott ; Det er her plottinga går føre seg Her kjem sjølve programmet: 43 nullstill Noen merknader til programmetFunksjonen «aksar» teiknar dei to aksane i funksjonen med kryssingspunktet, origo, midt på skjermen. I «nullstill» blir skjermen reinsa for teikningar som måtte vere der frå før, og set skjelpadda til utgangspunktet. Dei globale variablane blir sette til null. Varablane :høgde og :breidde blir brukte for å bestemma kor høg grafen skal bli og kor mykje bølgjene skal strekkast i breidda. Du kan gjerne eksperimentere med andre verdiar her. Dette er også plasen å endre verdien for :vinkel om du vil byrja med ein annan vinkel enn 0 grader. LibreLogo reknar skjermkoordinata med utgangspunkt i øvre, venstre hjørne som har koordinata (0, 0). I ei grafisk framstilling er koordinata (0, 0) skjeringspunktet (origo) mellom aksane. For å få skjelpadda til å oppfatta origo som (0, 0), må eg altså legge x- og y-koordinata for dette punktet til dei utrekna koordinata. I «finn_origo» blir variabelen :x_null sett til avstanden langs x-aksen frå sidekanten til midten av sidbreidda. :y_null blir tilsvarande sett som avstanden langs y-aksen frå toppen av sida til midt på sidehøgda. Funksjonen «steg» aukar vinkelen og x-verdien med 1. Også her kan du gjere endringar om ønskjeleg. Det meste av matematikken skjer i funksjonen «plott». I linje 38 blir :y først sett til sinus av vinkelen. Sinusverdien går frå -1 til 1. Difor blir denne verdien multiplisert med ein konstant, :høgde, for å bli litt meir synleg på skjermen. Til slutt blir avstanden frå toppen av sida ned til x-aksen lagt til for å få svingningane rundt x-aksen. I linje 39 blir :x sett til verdien av :x_verdi og deretter multiplisert med breiddekonstanten og deretter lagt til avstanden frå venstre side og ut til y-aksen. Den siste delen er sjølve programmet. Først blir funksjonen «nullstill» kalla opp, derette blir aksane teikna inn. Etter at data for skjeringspunktet er henta inn, startar teljinga. FOR :n I OMRÅDE 90 i linje 46, er LibreLogo sin måte å skrive FOR n = 1 TO 90 som du kanskje kjenner frå andre program. Første gongen sløyfa blir utført, er verdien av :n = 0. I neste køyring er verdien auka med 1 til 1. Slik held det på så lenge verdien av :n er under 90. Ein fornuftig tanke er å plotte vinklane mellom 90 og 180. Altså FOR :n I OMRÅDE 90 180. Slik programmet er sett opp, vil vinklane likevel bli talde frå 0. For å få vist vinklane 90 - 180, må vi forandre programmet litt. I funksjonen «steg» må du kommentere ut linjene 31 og 32 ved å setje semikolon framføre kommandoane. Funskjonen blir altså slik: 30 TIL steg ; Aukar verdien for :vinkel og :x_verdi med 1. Dette gjer at desse kommandoane ikkje blir utførte. Sjølvsagt kan du i staden fjerne desse to linjene. Den neste forandringen skjer i sjølve programmet. Verdien av :vinkel skal setjast til same verdien som :n har gjennom sløyfa. I andre program kunne vi ha gjort dette med :verdi = :n, men ikkje i LibreLogo. Her må vi gå vegen om funksjonen TELJAR. Dessutan må vi fortelje at varabelen :vinkel er global. Difor desse to nye linjene i hovudprogrammet: 43 nullstill Håper forsøket mitt på å vise at LibreLogo kan meir enn å teikne geometriske figurar har lukkast. Lukke til med eksperimenteringa. |
|
© Innhald og design: Kolbjørn Stuestøl | Stuestøl heimeside | Sist endra 17. februar 2014 |