Koda med TI: TI-84 Plus-teknologi
Engagera eleverna med hjälp av korta aktiviteter som bygger upp deras förståelse vad gäller begreppsförståelse i matematik, programmeringens logik och deras kodningsfärdigheter.
Kapitel 1: Grundläggande programmering och visa på skärm
Övning 1: använda programeditorn och syntax
LärarkommentarerDetta är den första av tre aktiviteter i kapitel 1. I slutet av detta kapitel kommer du att använda dina inhämtade kunskaper och färdigheter för att skapa ett mer komplext program. Detta är din första lektion i kodning med TI Basic.
TI Basic är ett programspråk som används för att programmera på räknare från Texas Instruments. Eftersom struktur och syntax (grammatik) hos TI Basic är enklare än hos andra moderna program-språk så blir programmering med räknaren en jättebra start för att snabbt lära sig grunderna i kodning! Nu kör vi igång!
Syfte:
- Använda programeditorn i TI Basic för att skapa och köra ett enkelt program
- Använda programmenyerna för att välja och klistra in kommandon i ett program
- Köra ett program
Steg 1
Sätt på dinTI-84 Plus CE and tryck på tangenten [prgm]
Välj NY med piltangenterna.
Välj 1: Skapa ny genom att trycka på [enter].
Steg 2
Tryck [enter] efter att du skrivit in namnet. Du befinner dig nu i program- editorn. Varje rad börjar med ett kolon (:).
Detta program kommer att visa ett enkelt meddelande på startskärmen på din räknare.
Välja ett programmeringskommando från programmenyn. Om du nu trycker på tangenten [prgm] får du nu menyer som innehåller kommandon som används i programspråket TI Basic. Om du vill använda ett av dessa kommandon väljer du det från menyn. Du bläddrar upp och ner med piltangenterna.
Steg 3
- Tryck på tangenten [prgm].
- Välj nu I/O-menyn med hjälp av piltangenterna. Denna meny innehåller alla kommandon som har att göra med indata och utdata (Input/Output).
- Välj nu Disp. Ordet klistras in i programmet på den plats där markören är. Kommandot Disp (förkortning av DISPLAY, VISA på svenska) kommer att visa något på startskärmen.
Steg 4
Skriv in en hälsning inom citationstecken
Denna hälsning kallas en sträng. Det är en grupp av bokstäver som hör ihop.
- Din sträng måste starta och börja med citationstecken. Utan citationstecken så tror programmet att de menar något helt annat.
- För att underlätta inskrivningen: Tryck [2nd][alpha] för att sätta på alfalåset när du skriver in strängen. När du är klar kan du trycka på [alpha] igen.
Steg 5
Ditt program är nu färdigt! Låt oss köra det. Med TI Basic behöver man inte spara programmet. Det sparas direkt när du skriver in. Det är därför som man alltid börjar med att namnge programmet.
Köra programmet:
Tryck först [2nd][quit] för att återgå till startskärmen på räknaren.
- Tryck [prgm]
- I menyn EXEK (förkortning för exekvera), väljer du ditt program. Bläddra med piltangenterna [▴] och [▾].
- Tryck [enter] för att klistra in programmet på startskärmen.
- Tryck [enter] igen för att starta körningen.
Övning 2: Redigera program- tömma skärmen
LärarkommentarerI denna andra av tre aktiviteter i kapitel 1 ska du träna på att redigera ett enkelt program och lära dig att tömma start- skärmen på din räknare. Vi ska använda och lägga till saker i det program som skapades i första aktiviteten.
Syfte:
- Använda programeditorn i TI Basic för att lägga till rader och redigera ett enkelt program.
- Använda programmenyerna för att välja och klistra in kommandon i ett program.
- Använda enkla redigeringsfunktioner för att infoga och ta bort saker.
- Lära sig att tömma startskärmen.
Steg 1
Sätt på din räknare and tryck på tangenten [prgm]
Välj nu REDIGERA med hjälp av piltangenterna.
Välj det program i listan du arbetade med i förra aktiviteten, dvs. HEJSAN.
Steg 2
I programeditorn blinkar markören i början av den första satsen i program- met. Använd nu piltangenterna för att flytta markören.
Steg 3
Vi ska nu redigera programmet och lägga till flera programsatser.
Flytta markören till slutet av den första raden och tryck på [enter]. Ett andra kolon dyker upp på skärmen. Detta är den andra raden i programmet.
- Tryck nu på tangenten [prgm].
- Välj I/O-menyn med hjälp av piltangenterna. Denna meny inne- håller alla kommandon som påverkar inmatning och utmatning (Input och Output).
- Välj nu Disp igen. Detta ord kommer nu att klistras in i programmet vid markörens nuvarande position. Se figur till höger.
Steg 4
Skriva ett annat meddelande inom citationstecken
Kom ihåg att trycka på [2nd][alpha] för att låsa tangentbordet när du ska skriva in en sträng med bokstäver. Observera hur markören förändras när alfa-låset är på.
Tryck nu på [enter] igen i slutet av andra raden för att lägga till en Disp-sats till.
Du kan lägga till hur många satser som helst men det är inte säkert att den resulterande texten får plats på skärmen.
Steg 5
Ditt program är ny färdigt. Nu kan vi köra det. Tryck eny5 och tryck på [prgm] igen och sedan EXEK i menyn högst upp. Välj sedan program i listan.
Steg 6
Redigera ditt program
För att inpassa tecken eller ord så använder du inpassa-verktyget. Man trycker då på [2nd][del]. Låt oss säga att du ska inpassa ordet RAD på den sista raden i programmet så att det står ”OCH EN RAD TILL”. Placera då markören över bokstaven T och tryck på [2nd][del] och skriver sedan RAD och därefter ett mellanslagstecken (tryck [alpha][0]).
För att ta bort ett tecken så trycker du på [del] när markören står på tecknet.
För att ta bort en hel programsats trycker du på tangenten [clear]. Denna åtgärd tömmer raden med kod och lämnar kvar kolontecknet. En tom rad har ingen effekt på programkörningen. Om du vill ta bort själva raden så ska du trycka på [del] när markören befinner sig på den tomma raden.
Om du har gjort ändringar i programmet ”HEJSAN” så kan du köra programmet nu för att se hur det inverkar på programkörningen.
Steg 7
Tömma startskärmen
Satsen ClrHome tömmer startskärmen men nu vill vi att denna sats ska stå först i programmet. Så här gör man:
Steg 8
- Placera markören på bokstaven D på den första raden.
- Tryck nu på [2nd][ins] och sedan [enter] för att skapa en ny tom rad överst i programmet.
- Flytta nu markören till den nya översta raden med piltangenten [▴].
- Tryck på [prgm] och använd piltangenten [▸] för att se I/O-menyn.
Välj nu 8:ClrHome. - Avsluta editorn och kör programmet. Du kommer nu att se din text på en ”ren” skärm.
Övning 3: Utdata till startskärmen
LärarkommentarerI denna den tredje aktiviteten av tre i kapitel 1 ska du träna på att redigera ett enkelt program och lära dig hur man kan placera text var som helst på startskärmen (grundfönstret) med hjälp av en Output-sats.
Syfte:
- Använda Output i TI Basic satsen för att styra läget för text som visas på startskärmen.
- Använda en Pause-sats för att för- hindra ett program från att sluta för tidigt.
Steg 1
Slå på din räknare och tryck på [prgm]-tangenten.
Välj NY med hjälp av piltangenten [▸].
Tryck på [engter] för att skapa ett nytt program och mata in namnet på programmet. Vi använder namnet OUTDEMO1. Observera att du för att skriva in siffran ”1”måste trycka på tangenten [alpha] för att stänga av inställningen för att skriva bokstäver.
Steg 2
Använda Output-satser
Börja ditt program med en ClrHome-sats. Tryck först på [prgm] och välj sedan I/O-menyn och alternativ 8 i listan. Kom ihåg att trycka [enter] i slutet av raden.
Därefter väljer du Output-satsen från samma meny.
Steg 3
Startskärmen är uppdelad i ett ”osynligt rutnät” för placering av tecken. Output-satsen kommer att placera din text med början på en av dessa rutnätspositioner utifrån ett radnummer och ett kolumnnummer. Det övre vänstra hörnet är rad 1, kolumn 1.
Efter vänsterparentesen i Output-satsen skriver du 3,5,“HELLO”). Se skärm- bilden till höger.
Steg 4
Nu kan du köra programmet. Resultatet ska bli som på skärmen till höger.
Observera att ”Klar” visas på översta raden fast “HELLO” visas på den tredje raden. Output-satsen har ingen effekt på det aktuella läget för markören. ClrHome-satsen positionerar markören i det övre vänstra hörnet på skärmen så ”Klar” visas sedan på översta raden.
Steg 5
Lägga till enPause-sats
Redigera nu vidare ditt program genom att lägga till Pause-satsen efter Output-satsen.
Du hittar Pause i CTL-menyn. CTL är en förkortning för ”Control” och menyn innehåller instruktioner som styr hur programmet körs.
Steg 6
Kör programmet igen och observera vad som händer. Du ser att ”Klar” nu saknas.
Om du tittar noggrant i det övre högra hörnet så ser du ”upptaget indikatorn”. Det betyder att räknaren arbetar med Pause-satsen. Programmet gör en paus här och användaren måste trycka på [enter] för att fortsätta. Då kommer meddelandet ”Klar” i övre högra hörnet på skärmen.
Steg 7
Lägga till fler Output-satser i ditt Program
Pröva och se vad som händer om det inte finns tillräckligt utrymme på raden för att visa meddelandet.
Lägg till en sats sist i programmet så att du avslutar programmet med en tom skärm.
Tillämpning: Skapa en startskärm
LärarkommentarerI denna applikation för kapitel 1 ska du skriva ett program som skapar en titelsida och du får användning av kommandon du övat på i tidigare aktiviteter i denna enhet.
Syfte:
- Använda TI-Basic-satser, som du studerat i kapitel 1, för att bygga en startskärm för ett större program.
Steg 1
Del 1:
Använd Disp-satser för att visa en ram med asterisker runt skärmens kanter. Använd sedan en Output-sats för att visa den undre vågräta linjen med asterisker eftersom kommandot Disp kommer att skrolla hela skärmen. Kom ihåg att tömma startskärmen (HOME-screen) först och att då pausa programmet.
Steg 2
Först visas en ”tom” ram och när användaren trycker på [enter] kommer texten, som nämns under Del 2 nedan, att visas i mitten av skärmen.
Obs: TI-84 Plus-användare kommer att få ett annat antal asterisker på skärmen beroende på andra skärmdimensioner.
Steg 3
Del 2:
Använd Output-satser för att visa titel, datum och författarinformation centrerad innanför ramen. Skärmbilden till höger är mycket bra.
När texten har visats måste användaren trycka på [enter] igen för att fortsätta. Sedan ska programmet rensa skärmen och avslutas.
- Övning 1
- Övning 2
- Övning 3
- Tillämpning
Kapitel 2: Använda variabler och uttryck
Övning 1: Prompta för en variabel
LärarkommentarerI denna första lektion för enhet 2 kommer du att lära dig att använda Prompt-kommandot för att göra dina program interaktiva, använda variabler för att lagra numeriska värden, evaluera och lagra resultat från matematiska beräkningsuttryck och använda Disp- och Output-satser för att visa resultat från lagrade beräkningar.
Syfte:
- Använda Prompt-kommandot i TI Basic för att tilldela en variabel ett värde.
- Känna till skillnaden mellan en matematisk variabel och en datavariabel.
- Genomföra beräkningar inom Disp-satser.
- Använda Output-satser för att få meningsfulla läsbara resultat.
Steg 1
Reella variabler
- TI-84 Plus-räknarna har 27 inbyggda variabler som kan användas för att lagra numeriska värden.
- Värdena kan vara reella tal (decimaltal) eller komplexa tal.
- Variabelnamn är bokstäverna A till Z och bokstaven θ (‘theta’).
- Alla variabelnamn innehåller ett värde. Om man inte tilldelar en variabel ett värde så har variabeln värdet 0 (noll).
- Variabelvärdena lagras i räknaren även om du stänger av den.
- Om räknarens RAM-minne återställs sätts alla värden till 0.
- Startskärmen (HOME screen) till höger visar några variabler och deras nuvarande värden. Pröva själv på din egen räknare.
Steg 2
Prompt-kommandot
Prompt-kommandot följs av ett eller flera variabelnamn som uppmanar användaren att mata in ett värde för variabeln.
Det kallas ‘Prompt’ därför att när du kör programmet visas variabelnamnet och ett frågetecken. Programmet väntar nu på ett värde.
Steg 3
Programmering med Prompt
- Starta ett nytt program.
- I den första programsatsen ska du använda Prompt-kommandot som finns i I/O-menyn i programeditorn.
- Efter Prompt-kommandot skriver du namnet på variabeln du vill använda i programmet. Vi använder här bokstaven A.
- Använd Disp för att visa kvadraten A2. Skrid då först A och tryck sedan på tangenten [x2].
Steg 4
- Avsluta programeditorn och kör programmet.
- Efter “A=?”-prompten skriver du in ett värde.
- Programmet visar kvadraten på värdet och avslutas.
Steg 5
Mata in flera värden med Prompt
- Vi ska nu redigera vårt program. Öppna programeditorn.
- Lägg till ,B i Prompt-satsen.
- Ändra Disp-satsen så att den visar summan A+B.
- Kör nu programmet igen.
Steg 6
Observera de två ”promtarna”. Prompt-satsen frågar efter ett värde för variablerna separat.
Detta är ett mycket enkelt och effektivt program som bara behöver två programsatser.
Steg 7
Använda Output istället för Disp
Kom ihåg att du kan förbättra utdata hos program genom att använda Output istället för Disp för att visa inmatade värden och resultat på ett snyggt och tydligt sätt. Se bara till att lägga in beräkningen i Output-satsen.
Exempel: Output(5,7,A+B) visar värdet på A+B på rad 5 och med början i kolumn 7.
- Till höger finns två skärmar från en programkörning. Den första skärmen visar Promt-delen och den andra skärmen visar Output-delen. Kan du göra förbättringar?
- Kom ihåg att inkludera Pause- and ClrHome-satser på rätt ställen i programmet för att få en prydlig skärm.
Övning 2: Mata in ett värde för en variabel
LärarkommentarerI denna andra aktivitet för kapitel 2 kommer du att lära dig om de olika formerna av Input-satser.
Syfte:
- Använda TI Basic Input-sats för att tilldela ett värde till en variabel.
- Utföra beräkningar i Disp-satser.
- Använda GRAF fönstret för att ge input till två variabler på en gång.
Steg 1
Den enkla Input-satsen
Input-kommandot följs här enbart av ett variabelnamn och ber användaren att mata in ett värde för den variabeln. Till skillnad från Prompt så placerar Input ett frågetecken på skärmen. Se skärmen till höger.
Steg 2
Den förbättrade Input-satsen
Denna typ av Input-sats kan visa ett mer anpassat meddelande som visas innan programmet väntar på ett värde på variabeln. Strukturen hos Input-satsen med ett meddelande är:
Input “DITT MEDDELANDE HÄR”,V
Obs: I denna sats ingår inte något frågetecken eller annat inter- punktionstecken, så om du vill ha ett sådant så måste det inkluderas i själva meddelandet.
Steg 3
Programmering med enkel Input
- Starta ett nytt program.
- För den första programsatsen ska du använda ett Input-kommandot som du hittar i editorn I/O-meny.
- Efter Input-kommandot skriver du namnet på den variabel du vill använda i programmet. Här använder vi variabeln A.
- Använd Disp för att visa (display) kuben, A3. Skriv A och använd sedan [math]-menyn för att mata in det lilla ”upphöjt till 3”-tecknet. Du kan naturligtvis också använda [^], A^3 alltså.
Steg 4
- Avsluta editorn och kör programmet.
- Efter “?” skriv in ett tal och tryck på [enter].
- Programmet visar kuben på det inmatade talet och programmet avslutas.
Steg 5
Programmering med förbättrad Input
- Redigera programmet som du påbörjade tidigare.
- Placera markören på variabeln efter ordet Input.
- Tryck på [2nd][ins].
- Skriv in det meddelande som ska visas. Kom ihåg att använda alfalåset (tryck [2nd][alpha]) och citationstecken.
- Lägg till ett interpunktionstecken, t.ex., kolon, vid slutet av meddelandet (innanför citationstecknen).
- Skriv ett komma-tecken efter högerparentesen och innan variabeln.
- Behåll Dispsatsen som visar A3.
Steg 6
- Avsluta programeditorn och kör programmet.
- Efter meddelandet skriver du in ett tal och trycker på [enter].
- Programmet visar kuben på det inmatade talet och avslutas.
Steg 7
Använda Input utan en variabel
Om du använder Input-satsen utan någon variabel kommer programmet att visa graffönstret med en ”fritt flytande” markör.
Steg 8
När du trycker på [enter] fortsätter programmet och variablerna X och Y visas och innehåller nu värdena för de koordinater du markerade med markören i graffönstret.
Övning 3: Mata in ett värde för en variabel
LärarkommentarerI denna tredje lektion för enhet 2 kommer du att lära dig använda uttryck och lagra värden i variabler inom program.
Syfte:
- Lära dig hur man programmerar matematiska uttryck.
- Förstå i vilken ordning matematiska operationer utförs.
- Förstå skillnaden mellan matematiska variabler och datavariabler.
- Evaluera uttryck.
- Lagra resultat av uttryck i variabler.
Steg 1
Uttryck
A2 och A+B t.ex. brukar vi kalla uttryck. Uttryck förekommer som mate matiska formler. Till exempel är formeln för arean av en triangel A=1/2 × B × H. Uttrycket är 1/2 × B × H.
Ett program evaluerar ett uttryck genom att använda alla nuvarande värden på alla variabler och ger resultatet som ett numeriskt värde. Uttryck evalueras med regler som avgör i vilken ordning olika delar av ett matematiskt uttryck ska beräknas.
Försök nu med programmet till höger som beräknar arean av en parallelltrapets med baserna A och B och höjden H.
Du kan inte använda variabler som B1 och B2. Räknaren beräknar dessa uttryck som B × 1 och B × 2 och det kan orsaka fel. Du kan heller inte använda variabler med mer än en bokstav som t.ex. AB. AB betyder ju faktiskt A × B. Detta kallas underförstådd multiplikation.
Steg 2
Matematiska uttryck och uttryck inom programmering
Det finns många likheter mellan uttryck i matematik och i dataprogram men det finns också viktiga skillnader. Den mest framträdande skillnaden är att i ett matematiskt uttryck så står variablerna för okända tal och kan ersättas med tal när det behövs. I ett utryck inom programmering är variablerna namn för tal.
I matematik använder vi formler för att uttrycka ett samband mellan saker som area och längd. I program använder vi uttrycken för att göra beräkningarna och variabelvärdena används för att beräkna ett resultat. När vi skriver in programmet så skriver vi in uttrycket men när vi kör programmet beräknas uttrycket och skapar ett resultat som ska användas senare.
Steg 3
Lagra värden i variabler: Tilldelningssats
Operatorn [sto →] används för att lagra (tilldela) resultatet av ett uttryck till en variabel.
Om du trycker på tangenten [sto →] visas alltid symbolen !.
När du har tryckt på [enter] visar startskärmen resultatet av uttrycket och variabeln G innehåller nu värdet 5. Framför pilen måste det vara ett värde eller ett uttryck som ger ett värde. Detta kallas tilldelningssatsen eftersom den tilldelar ett värde till en variabel. Symbolen efter pilen måste vara en variabel.
Steg 4
Programmering med tilldelningssatser
Vi ska nu skriva ett program som ber dig mata in två tal, lagra deras summa, differens, produkt och kvot i fyra variabler och sedan visa resultatet.
- Starta ett nytt program. Vårt programnamn är SDPQ.
- ”Prompta” för två variabler A och B.
- Lagra de fyra uttrycken i fyra andra variabler S, D, P, and Q.
- Visa S, D, P och Q.
- Kör programmet.
Steg 5
Mata in ett värde för A och ett annat värde för B.
Använd nu tal där du lätt kan kontrollera att beräkningarna utförs korrekt. Det blir ett slags test att allt fungerar.
Obs: TI Basics tilldelningssats är unik i den meningen att uttrycket kommer först, sedan lagras-operatorn (→), sedan variabeln. Detta gör det lätt att läsa från vänster till höger. I de flesta andra programspråk är ordningen den motsatta, t.ex. som S=A+B. Det är lite baklänges eftersom datorn evaluerar uttrycket till höger först och sedan lagrar resultatet i variabeln till vänster.
Steg 6
Göra förbättringar i programmet
Du kan förbättra programmet genom att använda Output( snarare än Disp för att visa de ursprungliga inmatade värdena och de fyra resultaten tydligt ”märkta”. Försök nu själv!
Till höger finns på en skärm en del av koden för ett sådant program och på en annan skärm en programkörning som visar summan av A och B. Försök nu själv att skriva färdigt koden så att programkörningen tydligt visar summa, differens, produkt och kvot av två tal A och B.
Steg 7
Kom ihåg att inkludera en Pause-sats i slutet av Output-satserna för att för- hindra att meddelandet ”Klar” förstör visningen på skärmen.
Kom ihåg att TI-84 Plus och TI-84 Plus C/CE-T har olika storlekar på START- skärmen (liksom även på GRAF-skärmen).
TI-84 Plus startskärm har 16 tecken per rad och 8 rader. TI-84 Plus C/CE-T har 26 tecken per rad och 10 rader.
Tillämpning: Beräkningar med formler
LärarkommentarerI denna tillämpning för kapitel 2 kommer du att lära dig att skriva program som utför beräkningar med matematiska formler.
Syfte:
- Använda TI Basic-kommandon som du lärt dig i kapitel 2 för att skriva program som utvärderar en formel.
Steg 1
Pythagoras sats
I en rätvinklig triangel med där längden av hypotenusan är C och kateterna har längderna A och B gäller
A2 + B2 = C2
Skriv ett program som ber användaren att mata in kateternas längder, beräkna hypotenusans längd och på ett snyggt sätt visa alla tre värdena.
Obs: Du måste först beräkna C enligt formeln ovan.
Steg 2
Herons formel
Med Herons formel beräknar man arean av en godtycklig triangel när man bara känner till de tre sidornas längder. Vi kallar dem för A, B, och C. Formeln delas ofta upp i två delar:
S = (A + B + C) /2 är halva omkretsen hos triangeln
A = S √ (S - A)(S - B)(S - C) är arean hos triangeln
Skriv ett program som ber användaren att mata in längderna hos de tre sidorna i triangeln och sedan beräkna arean och visa (Output) både sidlängder och area på ett snyggt sätt på skärmen.
Obs: Det är möjligt för användaren att mata in tre tal som inte kan utgöra sidor i en triangel. Vad händer om användaren matar in sådana ogiltiga värden?
Steg 3
Allmänna formeln för en andragradsekvation
Om en andragradsekvation skrivs på formen Ax2 +Bx + C = 0 då kan rötterna till ekvationen bestämmas genom att…
… först bestämma diskriminanten D:
D = B2 - 4AC
och sedan kan rötterna beräknas så här:
R1=(-B + √D) / (2A) R2 =(-B - √D) / (2A)
Skriv ett program som ber användaren mata in de tre koefficienterna A, B och C för andragradsekvationen och sedan på ett snyggt sätt visa både koefficienterna och de två rötterna till ekvationen.
Obs: Du kan inte använda R1 och R2 som variabler! Använd andra namn. Vad är det som kan gå fel med detta program?
- Övning 1
- Övning 2
- Övning 3
- Tillämpning
Kapitel 3: Villkorssatser
Övning 1: Villkor och If-satser
LärarkommentarerI denna första lektion för enhet 3 kommer du att lära dig om villkor och If-satser i TI-Basic.
If…Then-satser används för att processa ett block av satser bara om ett villkor är sant eller falskt. Innan vi tittar närmare på samlingen av If…Then-satser så ska vi först skaffa oss en uppfattning om vad ett villkor egentligen är.
Syfte:
- Lära dig arbeta med villkor
- Använda If-satser för att villkorligt processa en annan sats.
Steg 1
Villkor och [test]-menyn
Villkor är uttryck som utvärderas som sanna eller falska. Sådana uttryck är alltså antingen sanna eller falska. De kan inte vara både och eller ingendera. Relationsoperatorer (tecken som används för att uttrycka en relation mellan två värden) och s.k. logiska operatorer når du genom att trycka på [2nd][test]. TEST-menyn innehåller relationsoperatorerna och LOGIK-menyn innehåller de logiska operatorerna. ”Lika med tecknet” = används för att skapa ett villkor och är inte en tilldelning.
Steg 2
Exempel på några villkor:
3>5
XY>0
X=5 eller Y=5
X+4>X
B2-4AC=0
X/2=heltal(X/2)
X ≠ Y
X>0 och Y>0
inte(X>0)
Steg 3
Villkor på startskärmen
Du kan mata in villkor direkt på startskärmen och se resultatet från utvärderingen.
Observera att 1 står för ”sant” och 0 står för ”falskt”.
Obs: När du använder en variabel i ett villkor så evaluerar räknaren uttrycket med det aktuella värde som är lagrat i variabeln.
Steg 4
Programmering med en enkel If…-sats.
Testa följande program:
:Prompt A
:If A>0 If finns i programeditorns CTL-meny. > finns i testmenyn
:Disp “A AR POSITIVT”
:Disp “A AR INTE POSITIVT”
Kör programmet ett antal gånger med både positiva och negativa tal och observera hur resultatet av körningen blir. Vad kan du lära av detta?
Steg 5
När villkoret A>0 är sant kommer satsen som följer på If-satsen att exekveras. I annat fall it hoppas den bara över. Men satsen som visar “A AR INTE POSITIVT” exekveras alltid och det är ju inte korrekt! Se skärmen på förra sidan. Vi ska fixa nu till detta.
Denna enkla ”If…” är ett koncist sätt att hoppa över en sats baserat på ett villkor (när det är FALSKT).
Steg 6
Redigera If… satsen
Vi ska nu fixa till programmet genom att lägga till ett If… till.
- Placera markören över D i den andra Disp-satsen.
- Tryck [2nd][ins] och tryck sedan [enter] för att infoga en tom rad.
- På denna nya rad skriver du If A<0.
Avsluta redigeringen och kör programmet ett antal gånger med både positiva och negativa tal. Pröva även med talet 0.
Fungerar ditt program bra? Om inte, försök att ändra så att det fungerar som du vill ha det!
Övning 2: If…Then…End och sammansatta villkor
LärarkommentarerI denna andra lektion för kapitel 3 kommer du att lära dig om en mycket bättre villkorsstruktur och sammansatta villkor.
Syfte:
- Undersöka If…Then…End-struktur.
- Skapa sammansatta villkor med logiska operatorer.
- Skriva ett program med If…Then…End- struktur som undersöker områden i koordinatplanet.
Nibh Purus
The If…Then…End struktur
TI Basic har en unik If…Then-struktur som utnyttjar nyckelordet End för att styra satserna som formar kodblocket och som kommer att processas när villkoret är sant. Så här ser det ut:
If <villkor>
Then
<sant block: genomför dessa satser när<villkor> är sant
End
Tristique Amet
Obs:
If följs av ett <villkor>.
Then finns omedelbart under If, på egen rad.
Det finns en eller flera satser i <sant block>.
End indikerar slutet på Then-blocket och satserna under End kommer att processas.
End är inte slutet på programmet! Det är slutet på If…Then…End-strukturen.
Vestibulum Venenatis
Sammansatta villkor
Sammansatta villkor innehåller mer än ett relationsuttryck. De logiska opera-torerna och, eller, xeller and inte( finns i testmenyn. Tryck [2nd][test] och välj LOGIK. Dessa operatorer ger dig möjlighet att bygga sammansatta villkor.
Step 4
Exempel:
- X>0 och Y>0 är sant när både X och Y är positiva
- X>0 eller Y>0 är sant när antingen X eller Y är positiva (eller båda)
- inte(X>0 och Y>0) är sant när varken X eller Y är inte positiva.
Det betyder samma sak som X<=0 or Y<=0 - X>0 xeller Y>0 är sant när X eller Y är positiva men inte båda.
Det betyder samma sak som… X>0 eller Y>0 och inte(X>0 och Y>0)
Step 5
xeller står för ”exklusivt” eller och är sant när någon del är sann men inte båda delarna. Du kan inte ”knyta ihop” relationsoperatorer: 2<A<3 ska tolkas som "A är mellan 2 och 3" och måste kodas som 2<A och A<3. De logiska operato- rerna har en prioritetsordning precis som de aritmetiska operatorerna +, - , *, och /.
A<0 eller A<5 och A>2 betyder att A kan vara negativt eller mellan 2 och 5 och processas före eller (precis som multiplikation går före addition).
Step 6
Programmering med If…Then…End-satser
Försök nu köra programmet IFTHEN till höger.
Obs: Input har ingen variabel. Detta är en speciell funktion i TI-Basic. Du kanske kommer ihåg från enhet 2 att GRAF-fönstret visas och du kan röra markören fritt och trycka på [enter] för att lagra värden för X och Y (koordinaterna).
och finns i LOGIK- menyn. Tryck [2nd][test].
Then finns på en egen rad precis efter If-satsen.
End är slutet på ‘sant-blocket (uppsättningen av satser som körs när villkoret är sant). Det är inte slutet på själva programmet.
Step 7
Skriva färdigt programmet
I ett graffönster finns det flera områden med speciella namn. Vi har de fyra kvadranterna och positiva respektive negativa x- och y-axlar. Vi ska nu skriva ett program som låter användaren markera en punkt i ett koordinatsystem på GRAF-skärmen och sedan låta programmet bestämma var punkten ligger.
Step 8
Vi har nedan börjat skriva på programmet. Försök nu att slutföra det.
Input Obs: ingen variabel!
Disp X,Y
If X>0 och Y>0
Then
Disp "1:A KVADRANTEN"
End
Övning 3: If…Then…Else…End Delbarhet
LärarkommentarerI denna tredje aktivitet för kapitel 3 3 kommer du att lära dig om en annan form av If-satser i TI Basic och värdet av att förstå numeriska algoritmer.
Syfte:
- Se strukturen hos If…Then…Else…End-satser.
- Lära sig hur man testar om ett värde är ett heltal.
- Vad är en algoritm?
Steg 1
Om If…Then…Else…End
I den förra aktiviteten lärde du dig att använda If…Then…End- satser. Det finns tillfällen då vi behöver ta två olika vägar beroende på ett villkor. Strukturen på denna nya If…Then…Else…End instruktion är liknande:
If <villkor>Then
<sant block>
Else
<falskt block>
End
Steg 2
Obs:
Then, Else, och End har egna rader.
<Sant-blocket> är den uppsättning av satser som exekveras när villkor> is sant. <Falskt-blocket> är den uppsättning av satser som kommer att exekveras när villkor> inte är sant.Alltså kommer ett av dessa block att exekveras.
Steg 3
Programmering med If…Then…Else…End
Vi ska nu skriva ett program som talar om ifall ett inmatat tal är en perfekt kvadrat eller inte. En perfekt kvadrat är kvadraten på ett heltal, t.ex. 25 (52). Den metod som används här är att ta kvadratroten av talet och kon- trollera och om det är ett heltal. Du har programlistningen till höger. Den är uppdelad på två skärmar för att du ska kunna se alla rader i koden.
Steg 4
Obs: Tryck [2nd][x2] för att skriva kvadratrotssymbolen.
If, Then, Else, och End finns alla i CTL-menyn i programeditorn. Heltals- funktionen (Int på engelska) när du genom att trycka på tangenten [math] och sedan välja menyn NUM. (förkortning för Numerisk). Denna funktion returnerar ett heltal när du matar in ett godtyckligt decimaltal. T.ex. heltal(6.56) → 6 heltal(9.999) → 9 heltal(-2.01) → -3.
Pröva nu själv med några egna exempel där du använder heltalsfunk- tionen. Kom ihåg dubbla parentestecken för funktionen Heltal( ) och kvadratrotsfunktionen. Du kan bara använda VERSALER i dina Disp-satser på räknaren. Med gratisprogramvaran TI-Connect™ CE kan du använda gemener och å, ä och ö.
Steg 5
Algoritmer
Tekniker som används i denna aktivitet kallas för algoritmer. En algoritm är en procedur eller formel för problemlösning. Ett recept för att t.ex. baka en kaka är en slags algoritm. Om du följer receptet kommer du att stå där med en kaka så småningom.
Alla matematiska formler, t.ex. formeln för arean av en triangel, (A=B×H/2) är algoritmer: de ger dig en metod för att bestämma ett nytt värde baserat på existerande värden. Algoritmer, t.ex. som den med ”perfekt kvadrat” i denna aktivitet, är viktiga verktyg för problemlösning. Att lära sig ett antal vanliga ”datoralgoritmer” gör att du får ett bättre utbyte av din programmering.
Steg 6
Här ett kakrecept.
Sätt ugnen på 175°C.
- Smöra och bröa en ugnssäker form, ca 20x30 cm.
- Smält smöret. Vispa ägg och socker pösigt med elvisp.
- Blanda alla torra ingredienser i en bunke.
- Vispa ner smör och filmjölk i äggvispet. Vänd ner mjölblandningen.
Häll smeten i formen. - Grädda i nedre delen av ugnen ca 40 minuter. Låt kakan svalna.
- Vispa färskost och florsocker luftigt. Rör ner de tinade tranbären.
Bred krämen över den kalla kakan. - Blanda de frysta tranbären med sockret. Strö över kakan. Skär i
bitar.
Steg 7
Precis som i program följer bagaren alla steg från början till slut. Till slut så finns det en smakfull kaka att avnjuta. När en dator (eller räknare) följer stegen i ett program (algoritmen) uppnås det önskade resultatet. Det finns faktiskt en specialitet i datavetenskap där man sysslar med att bevisa att en algoritm ger det önskade resultatet. Ungefär som när man bevisar matematiska satser.
Tillämpning: Zodiaken
LärarkommentarerI denna tillämpning för kapitel 3 ska du konstruera ett program som talar om för användaren i vilket stjärntecken ett inmatat datum ligger.
Syfte:
- Arbeta med datumomvandlingar.
- Använda If-satser för att bestämma stjärntecken i zodiaken för ett givet datum.
- Arbeta med Sträng-variabler.
Steg 1
Zodiaken
Inom Astronomi och astrologi är zodiaken en uppdelning av himlen i 12 lika sektorer. Områdena namnges genom stjärnbildkonstellationer inom dessa sektorer. Babylonierna utvecklade denna uppdelning runt 1000-500 f.Kr. De började sitt kalenderår med vårdagjämningen (den första dagen av våren). Därför är det första stjärntecknet Väduren och det omfattar perioden från den 21 mars till 20 April.
Steg 2
Programmet
I denna aktivitet ska vi skriva ett program som låter användaren mata in månad och dag och programmet visar sedan stjärntecken för detta datum. I detta program används många If…Then-satser.
Användaren matar in månadsnummer och dag enligt vår kalender och programmet kommer att omvandla datum till det Babyloniska formatet (Mars = 1, April = 2, … , Januari = 11, Februari = 12). Beräkningarna kan bli ganska komplexa. Till exempel:
If (M=1 och D>20) eller (M=2 och D<>
Steg 3
För att göra programmeringen enklare ska vi skapa ett enkelt numeriskt värde (en kod) som representerar datumen. Denna kod gör det enklare att skriva If-satserna istället för att arbeta med mer komplexa uttryck som innehåller många ”och” och ”eller”.
Pseudokod
När man utvecklar ett långt program med många programsatser är det ofta till stor hjälp att börja med att göra en skiss av programmet på ren svenska. Detta kallas för pseudokod eftersom den inte är skriven i något speciellt programspråk. Denna skiss skrivs på ett sätt som gör det enkelt att senare omvandla den till kod i ett programspråk.
Steg 4
Här är nu en skiss för programmet:
PROGRAM: ZODIAC
Mata in en månad användaren matar in ett tal mellan 1 och 12
Mata in dag användaren matar in ett tal mellan 1 och 31
(Zodiaken börjar med Väduren så vi måste göra Mars till den första månaden och januari och februari blir månaderna 11 och 12.)
Dra ta bort 2 från månadsnumret
Om månadsnumret blir mindre än 1, lägg till 12.
Steg 5
Skapa en kod för datumet genom att kombinera månad och dag till ett tal och där den första eller de två första siffrorna är månaden och där de två sista siffrorna är dag i månaden. Vi åstadkommer detta genom att multiplicera månadsnumret med 100 och lägger sedan till dagnumret. Ett exempel: 6 juni är babylonisk månad 4 och dag 6 så koden blir då 100 × 4+6 = 406.
Alltså: Multiplicera månadsnumret med 100 och lägg till dagnumret och lagra sedan resultatet i kodvariabeln.
Steg 6
Lagra “OGILTIG” i en Sträng*-variabel. Denna variabel kommer att användas senare för att visa stjärntecknet eller ordet OGILTIG. Läs under *Strängar nedan.
Kontrollera nu i vilket tecken en viss kod tillhör:
If kod >=121 och kod<=220>=220>representerar dagarna 21 Mars 21 till 20 April
then
lagra “Väduren” i strängvariabeln. Observera citationstecknen!
End
Skriv nu en av dessa strukturer för var och ett av de tolv tecknen i zodiaken.
Efter de 12 If strukturerna kommer strängvariabeln att innehålla antingen “OGILTIG” eller ett av stjärntecknen, så … visa strängvariabeln.
Steg 7
Här är datum för de olika tecknen:
Väduren: | Mars 21–April 20 |
Oxen: | April 21–Maj 21 |
Tvillingarna: | Maj 22–Juni 21 |
Kräftan: | Juni 22—Juli 22 |
Lejonet: | Juli 23—Augusti 22 |
Jungfrun: | Augusti 23—September 23 |
Vågen: | September 24—Oktober 23 |
Skorpionen: | Oktober 24—November 22 |
Skytten: | November 23—December 21 |
Stenbocken: | December 22—Januari 20 |
Vattumannen: | Januari 21—Februari 19 |
Fiskarna: | Februari 20—Mars 20 |
Steg 8
*Strängar
Detta program lagrar en sträng av tecken som t.ex. “OGILTIG” i en Strängvariabel. TI-84 har 10 strängvariabler som du kan använda. För att nå dessa variabelnamn så trycker du först på tangenten [vars] och väljer Strängmenyn. Se till att du bara använder en sträng för alla tecken i zodiaken.
Steg 9
Din uppgift
Skriv programmet ZODIAC som uppfyller kraven ovan. Programmet ska vid körning visa resultat enligt skärmbilden till höger.
Tänk på: För tecknet Fiskarna så måste man ha speciella villkor.
Steg 10
Utvidgning:
Programmet kontrollerar inte om månad och dag har giltiga värden. Lägg till If-satser efter input-delen som gör att inmatade värden alltid är giltiga.
Kom ihåg att vissa månader har 30 dagar, vissa har 31 dagar och en har 28 eller 29. Det finns heller ingen månad 13 eller 14. Vad händer om du matar in värdet 14 för månad?
- Övning 1
- Övning 2
- Övning 3
- Tillämpning
Kapitel 4: Loopar
Övning 1: Loopar och For(…)-loopen.
LärarkommentarerI denna första aktivitet för kapitel 4 ska du lära dig att använda loopar och strukturen och användningen av For(…)-loopen.
Syfte:
- Förstå loopar.
- Använda For(…)-loopen för att skapa en lista med värden
Steg 1
Loopar
En loop är en metod att repetera ett antal satser. Alla programspråk har åtminstone en loopstruktur. Loopstrukturen innebär ett sätt att gå bakåt i ett program till en tidigare plats. TI-Basic har tre olika typer av loopar. En oändlig loop har inget slut!
För att avbryta en programkörning tryck på [on]. Du får då två möjligheter att gå vidare: Avsluta eller Gå till. Med Avsluta så återgår du till räknarens startskärm och med Gå till hamnar du i programeditorn till det ställe där programmet stoppades.
Steg 2
De tre TI-Basic-looparna är:
For( ) … End
While villkor är sant> … End
Repeat tills villkor är sant> … End
I fortsättningen i denna aktivitet tar vi bara upp For( )-loopen.
Steg 3
The For( … ) Loop
Struktur: For(variabel, startvärde, slutvärde)
loopkropp
End
Exempel: For(A,1,10)
Disp A ← loopkropp
End
Steg 4
Obs:
For( )-satsen kräver en variabel (loopens kontrollvariabel), ett startvärde och ett slutvärde. Man separerar med kommatecken. Start- och slutvärdena kan vara variabler. Loopkroppen kan bestå av så många satser som behövs men man får inte ändra loopens kontrollvariabel.
Loopen körs från startvärdet till slutvärdet med steglängden 1.
Steg 5
For-loop med stegvis ökning/minskning som inte är 1
Det finns ett valfritt fjärde argument för For( )-satsen: steget. Steget, det värde med vilket loopens kontrollvariabel ökar/minskar vid varje upprepning (iteration) hos loopen. Det förvalda värdet är 1.
Steg 6
For(A,1,10,3) startar med A=1, sedan läggs 3 till A varje gång som loopen upprepas. Loopen stannar när A är större 10. Steget kan vara också vara ett negativt tal.
For(B,10,0,-1) räknar ner från 10 till 0.
Steg 7
Programmering med For(…)
Låt oss skriva ett program som visar en tabell av tal och deras kvadrater. Användaren ska mata in de undre och övre gränserna. Den trixiga delen är att visa (Disp) de två talen (talet och dessa kvadrat) på samma rad. Man kan då använda listor.
Obs:
U och O används för att representera Undre och Övre. Å, Ä och Ö saknas ju på räknaren. For( )-satsen använder värdena hos U och O. Klammerparenteserna, som används för listor, når du genom att trycka [2nd][{] och [2nd][}].
Steg 8
Kör programmet och skriv in den undre och övre gränsen för tabellen.
Om listorna dyker upp och försvinner för snabbt så kan du lägga till en Pause-sats efter Disp-satsen och innan End.
Utmaning:
Använd en If … Then… End struktur för att Pausa efter vart 5:e par av tal. Kom ihåg delbarhetstekniken från det föregående kapitlet.
Övning 2: While…End-loopen
LärarkommentarerI denna andra aktivitet för kapitel 4 ska du lära dig att använda While…End-loopen. Vi jämför den med For… -loopen and och visar varför den är mer kraftfull och mångsidig än For…-loopen.
Syfte:
- Lära sig strukturen hos While…End-loopen.
- Jämföra den med For…End -loopen.
- Se hur den används för att säker- ställa giltiga input-värden.
Steg 1
While… End-Loopen
While…End-loopen kommer att fortsätta att gå i en slinga (loop=slinga) så länge som dess <villkor> är sant. Det ser ut så här: While <villkor><loopkropp>
End
Steg 2
Obs
<villkor> är ett logiskt uttryck, t.ex. X>0.
<loopkroppen> är en uppsättning satser, som inkluderar andra loopar och If-strukturer. Den processas närhelst <villkor> är sant.
End används för att indikera slutet på
Steg 3
Ge först ett begynnelsevillkor för While: ange ett värde så att villkoret är ordentligt fastställt som Sant eller Falskt. Om begynnelsevillkoret är Falskt så hoppar programmet över loopen. Om villkoret är Sant så processas loopkroppen. 0→K på första raden i programmet sätter begynnelsevillkoret till Falskt. Utan det så kan man inte veta vad som händer eftersom vilket värde som helst kan ha lagrats i variabeln K innan programmet körs.
Steg 4
Någonstans i <loopkroppen> ska det finnas en sats som påverkar <villkor> så att loopen eventuellt slutar och satserna efter loopen processas. Vanligtvis finns denna sats nära slutet av <loopkroppen>. K+1→ K ser till att K eventuellt blir större än 10.
Steg 5
Kontroll av giltig Input med While…End
Vi ska nu skriva en del av programmet (kodsegment) som ser till att användaren matar in ett positivt tal och ger ett meddelande tillbaka om man matar in ett ogiltigt värde och att man då får uppmaningen att mata in ett nytt värde.
Utdata från kodsegmentet visas till höger, Vi har matat in ett negativt tal, 0 och sedan ett positivt tal.
Obs: TI-84 Plus-användare med en mindre skärm måste kanske skriva kortare textsträng än ”MATA IN ETT POSITIVT TAL” eftersom antalet tecken som får plats på en rad är mindre.
Steg 6
Vi börjar med en Input-sats med ett meddelande om att få ett värde från användaren.
Steg 7
Sedan börjar While-loopen, som kontrollerar om det inmatade värdet är negativt. Om värdet är negativt så visas ett felmeddelande. Se Dispsatsen.
Om N>0 så skippas loopkroppen.
Steg 8
Till slut använder vi Input-satsen igen i slutet av loopkroppen för att efterfråga ett annat värde från användaren. End avslutar loopkroppen.
Detta kodsegment kommer att fråga efter ett värde från användaren och se till att inmatningen är ett positivt tal.
Övning 3: While…End-loopen
LärarkommentarerI denna tredje aktivitet för kapitel 4 kommer du att lära dig om Repeat…End-loopen. Vi jämför den med For… loopen och visar också varför den är mer kraftfull.
Syfte:
- Lära sig strukturen och logiken hos Repeat…End-loopen.
- Jämföra den med While…End-loopen.
- Se hur Repeat…End används i pro- grammering av Fibonaccis talföljd.
Steg 1
The Repeat… End Loop
Repeat…End-loopen kommer att fortsätta ”loopandet” så länge som <villkor> är Falskt. Detta är exakt motsatt uppförandet för While-loopen och det är inte den enda skillnaden! Det ser ut så här, vilket påminner väldigt mycket om While-strukturen: Repeat <villkor><loopkropp>
End
Programen som visas till höger ger samma resultat vid körning. Vilka är skillnaderna?
Steg 2
<loopkropp>
tills <villkor> är sant End
Steg 3
Men nu finns det inget ”tills” i TI Basic. Det är underförstått. Även om <villkor> är sant från start så processas fortfarande loopkroppen en gång eftersom villkoret testas i slutet av loopen.
I en While-loop är det en smart idé att ha initialvärden för variabeln eller variablerna. I en Repeat-loop sker detta inne i själva loopkroppen så där är det inte nödvändigt.
Precis som med While, ska det någonstans i loopkroppen finnas en programsats som påverkar <villkor> så att loopen eventuellt kommer att avslutas och satser efter loopen kan processas. Vanligtvis finns denna sats i slutet av loopkroppen.
Steg 4
Programmera Fibonaccis talföljd
Vi ska nu skriva ett program som visar talen i Fibonaccis talföljd upp till ett speciellt värde. I denna talserie är varje tal summan av de två föregående. Det finns massor att läsa om denna välkända och intressanta talföljd på webben.
Till höger visas resultatet av en programkörning. Kan du skriva koden för ett sådant program utan att kika längre ner på sidan?
Steg 5
Steg 6
Steg 7
Slutligen så beräknar vi de följande två Fibonaccitalen och avslutar loopen med End.
Dessa två sista satser visar att A+B lagras i både A och B och det verkar då som A och B får samma värde. Så är det absolut inte! Prova med 1 och 1. Den första satsen lagrar 1+1, som blir 2, i A. Den andra satsen lagrar 2+1, som blir 3, i B.
Kör programmet med olika värden på N. Uppträder programmet som du tänkt dig?
Steg 8
Ändra nu Repeat-villkoret så att det istället är B>N. Vad blir då resultatet? Hur kan man ändra programmet så att det visar en korrekt talserie och där det stannar exakt när det största Fibonaccitalet som är mindre än N har visats.
Tillämpning: Varningsmeddelanden
LärarkommentarerDenna tillämpning (VARNINGSMEDDELANDEN) använder loopar för att mata in så många värden som behövs, och som en utvidgning, kontrollerar om inmatade värden är giltiga och använder If-satser för att visa ett passande meddelande.
Syfte:
- Lära sig om räkneverk och ackumulatorsatser.
- Använda en loop i ett program för att få en obestämd mängd av data.
- Använda ett ”flagg”-värde för att avsluta en loop.
Steg 1
Nästlade Strukturer
- Nästling är en programmeringsteknik för att placera en kontrollsats inne i en annan.
- För att undvika fel är det viktigt att placera hel struktur fullständigt inne i ett block hos en annan struktur
Steg 2
- Programlistningen till höger visar en If-struktur innanför Else-blocket hos en annan If-struktur. Observera att det finns flera End-satser. Datorn håller reda på vilka End och If som hör ihop.
- Indragen i programlistningen finns bara för att tydliggöra strukturen. Du kan inte ha indrag i TI-Basic.
- Programmet kontrollerar först om A<>. Om A är negativt så visar programmet meddelandet “A är negativt!” och ingenting annat. Men om A inte är negativt så exekveras den under- strukna kvadratrotsberäkningen, en annan If-sats och Disp satsen.
Prompt A
If A<>
Then
Disp "A är negativt!"
Else
√(A)→S
If S=heltal (S)
Then
Disp "A är en perfekt kvadrat."
Else
Disp "A är inte en”
Disp ”perfekt kvadrat”
End
Disp "Dess kvadratrot är",S
End
Steg 3
Sammanfattning av de tre typerna av loopar:
For(variabel, start, slut)
End
While villkor är sant
End
Repeat tills villkor är sant
End
- For( används när man ”räknar upp” eller processar en aritmetisk sekvens av värden (iteration).
- While används när du har möjlighet att helt hoppa över loopkroppen.
- Repeat används när du är säker på att du vill att loopkroppen ska ”köras” åtminstone en gång.
Step 4
Om ”End”
End används för alla flerradiga kontrollstrukturer:
If … Then End |
If … Then Else End |
For( … ) End |
While … End |
Repeat … End |
Step 5
Se tabellen på förra sidan. Nu förstår du varför kontrollmenyn i programeditorn är uppställd enligt If, Then, Else … End
7: End kommer efter de första 6 posterna eftersom End avslutar var och en av de sex kontrollstrukturerna.
End-satser kan förekomma många gånger i ett program and datorn ”vet” hur alla End hör ihop med sina kontrollstrukturer.
Step 6
Kapitel 4 Tillämpning: Programmet “Varningsmeddelanden”
Många skolor skickar ut regelbundet resultatrapporter som talar om hur eleverna ligger till i olika ämnen. Man anger då ett slags medelvärde, baserat på ett valfritt antal delresultat, i en skala mellan 0 och 100. Ett medelvärde på 70 eller högre räknas som godkänt. Ligger det mellan 60 och 70 är det ”på gränsen” och ligger det under 60 är det ”underkänt”.
Skriv ett program som låter användaren mata in ett antal delresultat och sedan matar ut antal inmatade delresultat, medelvärde och omdöme (underkänt, på gränsen eller godkänt.
Step 7
Vi kan använda två metoder för att mata in ett okänt antal delresultat:
- Metod 1: man frågar först efter antal delresultat och använder en For-loop för att mata in poängen för delresultaten.
- Metod 2: frågar för delresultat men använder en ”flaggvärde”, t.ex. -999, för att tala om att det inte finns fler delresultat. Denna metod använder en While-loop eller en Repeat-loop.
I båda metoderna måste vi löpande se till att ha en totalpoäng. I Metod 2 måste vi också räkna antalet delresultat så att vi kan dividera totalresultatet med detta antal.
Ditt program ska alltså visa antalet delresultat, medelvärdet och ett omdöme.
Step 8
Räkneverk och ackumulatorer
En sats som C+1→C kallas ett räkneverk eftersom den adderar 1 till variabeln C varje gång den exekveras. T+N→T kallas en ackumulator eftersom den löpande håller reda på totalen för variabeln N. Värdet hos N adderas till variabeln T och sedan lagras den summan tillbaka till variabeln T. I slutet av en loop kommer T att innehålla totalen av N-värdena.
Här är ett exempel som använder ett räkneverk, en ackumulator och en ”flagg-värde” för att hålla reda på R (Resultat)i programmet.
Step 9
0→A 0→R 0→T Prompt R While R≠-999 A+1→A T+G→T Prompt G End Disp "TOTALT =",T Disp "ANTAL =",A |
Kommentar: Initialvärden för variablerna; A står för Antal R står för Resultat T står för Totalt Ger första Resultatet så länge det inte är -999 Lägger till 1 till Antal Lägger till Resultat till Totalt Frågar efter ett nytt Resultat |
While-loopen ovan fortsätter och ”ackumulerar” resultaten (R) så länge inte -999 är inmatat. När -999 är inmatat stannar loopen och resultaten visas.
Utvidgning
Som en del av inmatningsrutinen ska du se till att värden som inmatas är giltiga (ska ligga mellan 0 och 100). Om inmatat värde ligger utanför detta intervall ska lämplig åtgärd vidtas.
- Övning 1
- Övning 2
- Övning 3
- Tillämpning
Kapitel 5: Grafer
Övning 1: Rita
LärarkommentarerI denna första lektion för kapitel 5 kommer du att lära dig en del om rit-kommandon som ritar olika geometriska former på räknarens grafskärm.
Syfte:
- Använda [draw]-menyn för att komma åt ett ritkommando.
- Lära sig syntaxen för en del vanliga ritkommandon.
- Lära sig skillnaden mellan komman- don som använder punktkoordinater och pixelkoordinater.
Steg 1
[DRAW]-menyn
- Från startskärmen trycker du [2nd][draw].
- Välj Linje( i menyn
- Skriv färdigt kommandot så att det färdiga kommandot blir:
Linje(0,0,3,4). - Tryck på [enter] för att se en linje dragen från origo till punkten (3, 4) på GRAF-skärmen.
De flesta DRAW-kommandon, t.ex. Linje, Cirkel och Pkt-På använder FÖNSTER- koordinater som referensram.
Steg 2
Rita i program
Det finns många programmerings-verktyg i TI-Basic som påverkar utseendet på GRAF fönstret. Vi ska nu undersöka några av dem:
- ClrDraw för att rensa ritade objekt. Tryck [2nd][draw] och välj sedan 1:RensaRitn i menyn.
- FnOff för att stänga av funktionsritning. Tryck [vars] YVARS och sedan 4:På/Av
- PlotsOff för att stänga av plottning i statistik. Tryck [2nd][stat plot] och sedan Av i fönstret för inställningar.
Använd Rit-menyn för att välja det objekt du vill rita. Se exemplet till höger.
Steg 3
Färgval (bara för räknarna TI-84 C och TI-84 CE-T)
Kommandot Linje( har ett valfritt femte argument som talar om vilken färg som ska användas för linjen. För att välja en färg så trycker du på [prgm] FÄRG eller [vars] Färg och väljer sedan din färg. Namnet på färgen infogas sedan i ditt program men egentligen så representerar den ett tal (BLÅ=10, RÖD=11, SVART=12, etc.). Se exemplet till höger. Många ritkommandon har färgval. På TI-84 Plus så är det sista argumentet 1 eller 0. 1 för att rita i svart och 0 för att rita i vitt.
Steg 4
Hjälp!
För att få Hjälp med något kommando på räknaren så kan du trycka på [+]-tangenten när du markerar något kommando i en meny. Till höger ser vi hjälpskärmen för cirkelkommandot. X,Y är koordinaterna för medelpunkten hos cirkeln. Sedan kommer radien. De valfria argumenten är färgnamnet eller numret och linjestilen (1 till 4). Du kan skriva färdigt kommandot på hjälpskärmen och sedan trycka på [trace] för att klistra in kommandot i programmet.
Steg 5
Kan du rita det här?
Kan du med några enkla kommandon rita precis det du ser på skärmen till höger?
Ledtråd 1: Det behövs bara två kommandon men det gäller att ställa in fönstret precis enligt figuren.
Ledtråd 2: (X, Y) är medelpunkten hos cirkeln och radie är avståndet från medelpunkten till cirkelns periferi. (färg# och linjestil# är valfria)
Tips: Du kan ställa in GRAF-fönstret i ett program. Du kan vid redigeringen trycka på [zoom] and välja en fönsterinställning eller tilldela värden för variablerna Xmin, Xmax, Ymin och Ymax. Tryck på [vars], välj VAR och sedan 1: Fönster. En programrad kan t.ex. vara -20→Xmin.
Steg 6
Cirkelmönster
Skriv färdigt satsen Cirkel( , , ) i programmet nedan så att det ritar figuren till höger.
Steg 7
Obs: ZStandard och Zkvadrat finns i [zoom]-menyn.
Kopiera ett program till ett annat:
- Starta ett nytt program.
- I programeditorn trycker du på [2nd][rcl].
- Tryck på [prgm] and flytta markören till EXEK.
- Välj det program du vill kopiera. Se skärmen till höger där vi håller på med kopiering programmet CIRKLAR till programmet COPY.
- Tryck på [enter] för att klistra in koden till det nya programmet.
Övning 2: Punkter och Pixlar
LärarkommentarerI denna andra lektion för kapitel 5 kommer du att lära dig att plotta punkter och skillnaden mellan Pkt-På and Pxl-På- kommandon.
Syfte:
- Använda punkt- och pixelplott- nings-satser.
- Utveckla formler för att använda grafik i program.
Steg 1
Punktkommando
Gå till ritmenyn genom att trycka [2nd][draw] och välja <PUNKTER>. Pkt-På(x,y) plottar en punkt med koordinaterna (x, y). På betyder ”sätt på punkten”. Pkt-På(2,1) plottar punkten i första kvadranten som på bilden till höger. Pkt-På (x,y,stil,färg) har valfria argument: stil (1 till 4) och färg. Se syntaxhjälp genom att trycka på [+] när markören är på själva kommandot i [draw]-menyn.Pkt-På(100,100) kommer att plotta en punkt även om den ligger utanför det nuvarande fönstret.
Steg 2
Pixelkommandon
Pxl-På( använder skärmens pixlar och struntar i FÖNSTER- inställningar. Pxl-På(2,3) plottar en tunn liten pixel i det övre vänstra hörnet vid rad 2, kolumn 3. Den är svår att se! Koordinaterna är inte i den vanliga (x, y)- ordningen: Det är ”baklänges” eftersom de refererar till (rad#, kolumn#). Pxl-På(x,y,färg) har bara ett valfritt argument för färg. Det finns också motsvarande –Av(, –Växla( och -Test-kommandon som vi inte tar upp här.
Steg 3
Pixlar
Din TI 84 Plus-räknare har, beroende på modell, ett visst antal pixel- kolumner och rader: TI-84 Plus: 96 kolumner x 64 rader och TI-84 Plus C/CE-T: 265 kolumner x 165 rader. Rader går horisontellt och kolumner går vertikalt. Inställning med delad skärm påverkar antalet rader och/eller kolumner.
Steg 4
Grafskärmen på TI-84 Plus använder inte kolumnen längst till höger eller understa raden för grafritning så det finns ett udda antal punkter i grafområdet. Detta gör att det finns en mittpunkt. Övre vänstra pixeln är (0,0). Pxl-På(0,0) sätter på pixeln vid kolumn 0, rad 0. Rader och kolumner är numrerade från noll.
Steg 5
Programmering med Punkter
Lås oss skriva ett program som slumpmässigt fyller GRAF-skärmen med PUNKTER. Detta program har en oändlig loop så du måste trycka på [on] för att avsluta programkörningen. Vi kommer att behöva en algoritm (formel) för att få en slumpalstrad punkt inom graffönstrets gränser.
Steg 6
slump hittar man genom att trycka på [math] och välja SAN (förk. SANNO- LIKHET). Slump genererar ett slumptal mellan 0 and 1. rand*(Xmax-Xmin) genererar ett slumptal mellan 0 och Xmax-Xmin så vi får lägga till Xmin.
slump*(Xmax-Xmin)+Xmin genererar alltså ett slumptal mellan Xmin och Xmax. Vi skriver en liknande formel för Y-koordinaten.
Efter det här resonemanget är det lätt att förstå att matematik är viktigt i programmering!
Steg 7
Obs:
AxlarAv hittar du genom att trycka [2nd][format].
FnAv hittar du genom att trycka på [vars], välja Y-VAR och sedan 4 På/Av DiagrAv finns på menyn för statistikplottning. Tryck [2nd][stat plot].
RensaRitn finns på DRAW-menyn. Tryck på [2nd][draw].
While 1 skapar en oändlig loop eftersom Sant representeras som 1 på räknaren.
Slumpvärdenas lagras i A och B för plottning.
Kom ihåg att du måste trycka på [on] för att avbryta programkörningen. Detta program fungerar på samma sätt på alla räknaren i familjen TI-84 Plus!
Steg 8
Utvidga programmet FYLLPKT med färg
På TI-84 C/CE-T-modellerna kan man lägga till ett slumpmässigt färgargument till Pkt-On(-satsen. Det lägsta färgnumret är 10 och det högsta 24.
Skriv en sats som genererar ett slumpmässigt heltal mellan 10 och 24 med kommandot slumpHel( ) och lägg till detta som det tredje argumentet till Pkt-På(-satsen. Denna sats blir då Pkt-På(A,B,C).
Obs: det finns två valfria argument till Pkt-På: stil och färg. Stil kan ha värden mellan 1 och 4 och färg från 10 to 24.
Övning 3: Linjer, text och färger
LärarkommentarerI denna den tredje lektionen för kapitel 5 kommer du att lära dig att rita linjer och text i färg.
Syfte:
- Använda ritkommandon för linje, funktion och text
- Använda färg i grafikkommandon.
- Utveckla formler när man använ- der grafik i program.
Steg 1
Rita Linjer och kurvor
Linje(X,Y,W,Z) ritar ett segment mellan punkterna (X,Y) och (W,Z). Se KATALOG HJÄLP för de valfria tilläggen.
Vertikal A ritar den vertikal linjen X=A.
Horisontell B ritar den horisontella linjen Y=B.
RitaF X2+X ritar funktionen. Det är inte samma sak som att plotta funktionen.
Se exemplet till höger. Observera de färgval man kan göra i FÄRG-menyn i programeditorn. Färg finns inte på räknaren TI-84 Plus.
Steg 2
Tips: För att rita en funktion inom ett visst intervall så kan du dividera själva funktionsuttrycket med det önskade intervallet. Så här kan man skriva för att rita funktionen y = sin x mellan 0 och π. Kommandot RitaF når du genom att trycka på [2nd][draw].
Steg 3
Rita text
Ritkommandot Text( är unikt eftersom det använder pixelvärden snarare än fönstervärden för att positionera text.
Text(50,100,”TEXTVERKTYG”) visar TEXTVERKTYG på samma plats i fönstret oberoende av FÖNSTER-inställningarna. Rad 50, kolumn 100 hos pixlarna är den det övre vänstra hörnet hos själva texten.
Obs: Kom ihåg pixeldimensionerna: TI-84 Plus: 96 kolumner x 64 rader och TI-84 Plus C/CE-T: 265 kolumner x 165 rader.
Steg 4
Programmering med Linje(-kommandot och dessutom lite algebra
Denna programmeringsaktivitet är en utvidgning av kommandot Linje(.
Kommandot ritar bara ett linjesegment mellan två punkter. Vi ska nu skapa en linje som går mellan två punkter men har en utsträckning över hela skärmen oberoende av vilka två punkter som är valda. I denna aktivitet tar vi upp en del begrepp inom algebra och analytisk geometri.
Steg 5
- Starta ett nytt program. Döp det till LINJE.
- Lägg till de vanliga grafiska inställningarna i början av programmet.
- Använd två Inputsatser utan variabler för att få koordinaterna hos två punkter på skärmen. Input avgör värdena på X och Y så vi måste lagra de första två värdena i variablerna A och B. Sedan kan vi få den andra uppsättningen koordinater i X och Y.
Steg 6
- Beräkna och lagra linjens lutning. Vi kallar den M.
- Nu behöver vi de två punkterna längst till vänster och höger på skärmen för linje-satsen i programmet. x-koordinaterna för dessa punkter är Xmin och Xmax.
- Vi behöver beräkna y-koordinaterna.
- Ekvationen för linjen är y = M·(x - A)+B (enpunktsformen).
Steg 7
Nu till din uppgift…
- Ersätt x med Xmin och Xmax (namnen, inte värdena!) i ekvationen för linjen och lagra resultaten i de två variablerna Q och R, som representerar y-koordinaterna.
- Skriv nu Linje(-satsen i programmet för att rita en linje mellan den vänstra och högra sidan hos skärmen.
Steg 8
Utvidgning
- Lägg till en loop i detta program som gör att du kan rita många linjer utan att behöva köra om programmet och rensa skärmen varje gång.
- Detta program fungerar inte när linjen är vertikal, dvs parallell med y-axeln. Varför? Lägg till en If… struktur som hanterar detta och gör att programmet fungerar.
Steg 9
Programmera Punkter till Pixlar
Tänk dig följande: Du använder Pkt-På(-kommandot för att rita en punkt (A,B) på grafskärmen. Du vill nu beteckna punkten med en kort text. Var ska denna text ”ritas”?
Skriv två formler (en för C och en för D) som omvandlar FÖNSTER-Koordinater till PIXEL-koordinater för Text(-satsen.
Steg 10
Gör färdigt programmet till höger. Se frågetecknen. Denna tabell (TI-84 Plus C/CE-T-värden) kan hjälpa:
WINDOW | pixel |
Xmin | 0 |
Xmax | 264 |
A | ? |
Ymax | 0 |
Ymin | 164 |
B | ? |
Tillämpning: Få en punkt att studsa
LärarkommentarerI denna applikation för kapitel 5 ska vi bygga ett grafikbaserat program.
Syfte:
- Hur man kan ta reda på vilken typ av räknare som programmet körs på
- Få en punkt att studsa runt på skärmen.
Steg 1
Programmet
I det ursprungliga videospelet Pong studsade en pixel runt på skärmen. Spelarna styrde spelet med paddlar (staplar) och höll spelet igång. Detta program simulerar en ”studsande boll”. En punkt på skärmen rör sig i en sned linje över skärmen och när den träffar skärmkanten så byter den riktning så att det ser ut som sen studsar mot skärmen.
Steg 2
Det första problemet vi ska lösa gäller skärmstorleken. TI-84 Plus har en mindre skärm än TI-84 Plus C/CE-T. Kodsegmentet nedan detekterar skärmstorleken. För att skriva in Xmin och ΔX så trycker du först på [vars], väljer VAR och sedan 1:Fönster.
0→Xmin
1→ΔX
If Xmax>95
Then
<Det är en TI-84 Plus C/CE-T>
Else
<Det är en 84 Plus>
End
Steg 3
När vi har bestämt räknare så ställer vi upp variablerna i Then- och Else-blocken och använder dessa i resten av programmet. Vi använder M för bredden och N för höjden på skärmen.
För räknarmodellen C eller CE-T: 264→M och 165→N
För räknarmodellen 84 Plus: 94→M och 63→N
Steg 4
Initialisera variablerna Vi sätter också upp y-intervallet med bra värden:
0→Ymin
1→ΔY
Nu ställer vi också in startpunkten (A, B) slumpmässigt. Vi ser dock till att punkten inte hamnar kanterna på skärmen.
slumpHel(10,M-10)→A
slumpHel(10,N-10)→B
Vi sätter också upp två variabler som representerar rörelsen. Dessa kommer att adderas till punktens koordinater för att flytta punkten till en ny position.
slumpHel(2,5)→D förändring hos A
slumpHel(2,5)→E förändring hos B
Steg 5
Komma igång:
Nu är vi klara att sätta igång. Vi använder en oändlig loop...
While 1Pkt-På(A,B,2) stil 2 är stora fyrkanter
<resten av programmet>
End
Tips: Se till att lägga in End samtidigt för att hålla ordning på dessa kommandon.
Steg 6
Starta rörelsen
Vi lägger till förändringsvariablerna (D och E) till punktkoordinaterna i loopen och efter Pkt-På:
A+D→A
B+E→B
Detta ändrar punktens koordinater. Om du kör programmet nu kom- mer du att se punkten ge sig iväg i någon riktning till höger och utanför skärmen som på bilden till höger
Steg 7
Studsarna
För att få punkten att upptäcka kanterna så lägger vi till If-satser…
If A>M eller A< />
Then
<Detta händer när punkten är utanför den högra eller vänstra sidan av skärmen>
End
Steg 8
Två saker måste inträffa innanför Then:
- Flytta punkten tillbaka på skärmen A-D→A
- Vända riktningen till den motsatta - D→D
Skriv därefter en liknande If-sats som hanterar y-koordinaten B och dess förändringsvariabel E.
Steg 9
Utvidgning
Lämna inte något spår…
Pkt-Av-kommandot gömmer en punkt. Lägg nu till en Pkt-Av-sats till pro- grammet så att spåret av punkter inte visas utan bara den punkt som rör sig. Se till att du inte stänger av samma punkt som du sätter på. Stäng av den föregående punkten (du behöver två variabler till). Den nya koden behöver inpassas på rätt ställe i programmet.
Steg 10
Tappa den oändliga loopen…
getKey (programeditorn och I/O menyn) ger ett värde som representerar en tangent utan att pausa programmet som med Prompt och Input. [enter] har värdet 105 (rad 10, kolumn 5 på tangentbordet (knappsatsen).
Här är ett skelett för vad som behövs:
0→K
While K→105
<Ditt program ska in här>
getKey→K
End
Din uppgift nu är att bestämma var i programmet dessa satser ska in så att när du trycker [enter] så avslutas programmet.
- Övning 1
- Övning 2
- Övning 3
- Tillämpning