BeschrijvingAls testpiloot heb je de taak een experimenteel luchtvaartuig veilig aan de grond te zetten. Aanvankelijk nadert het toestel het aardoppervlak met een daalsnelheid van 50 m/s (180 km/h) op een hoogte van ruim 200 m. Je beschikt over een remraket waarmee een zachte landing is te realiseren (snelheid kleiner dan 2,5 m/s). Werken met het programma LandingHoewel een afdaling in werkelijkheid continu verloopt, onderbreekt het programma de beweging gewoonlijk na telkens één seconde. Dit geeft de testpiloot de gelegenheid actuele vluchtgegevens te bestuderen en weloverwogen een nieuwe hoeveelheid brandstof voor de volgende seconde in te voeren. Om tot goede beslissingen te komen, moet in eerste instantie duidelijk zijn welke variabelen een rol kunnen spelen. Gebruik de gegevens hieronder ook om te controleren of het ingevoerde programma goede startwaarden genereert. Bij iedere nieuwe start is er een nieuwe lander met andere eigenschappen. Daarom is er voor sommige grootheden slechts aan te geven tussen welke grenzen hun startwaarden liggen, terwijl andere telkens dezelfde startwaarde meekrijgen. Daarnaast kan onderscheid gemaakt worden tussen grootheden die tijdens een afdaling veranderen en grootheden die dan constant zijn.
Telkens wanneer een afdaling begint, toont het programma eenmalig de waarden van de grootheden die voor de hele afdaling constant zijn: Vervolgens verschijnen de startwaarden voor: Na het injecteren verschijnen de nieuwe tijd, snelheid, hoogte en resterende brandstofmassa, en de versnelling in de laatste 0,1 s. Na een volgende injectie worden de vluchtgegevens opnieuw bijgewerkt. Enzovoort. De landing is geslaagd als het aardoppervlak wordt bereikt met een absolute snelheid die kleiner is dan 2,5 m/s. Veel succes en plezier in 'n door Newton-wetten gecontroleerd wereldje. |
Programmalijst[ Opmerking ]PROGRAM:LANDING "Mem L3,ABCHIMNTUV" "2000 ver200411" [ Geheugengebruik, versie ] Normal:Float Full ClrHome Disp "** Landing **","","Maak een zachte","landing op het" Disp "aardoppervlak:","snelheid tussen","-2,5 en 0 m/s" [ Richtingen: omhoog positief (+), [ omlaag negatief (–) ] Output(8,15,">>") Pause :ClrHome Disp "Injecteer","brandstof in","de remraket," Disp "telkens","voor 1 seconde." Output(8,15,">>") Pause :ClrHome Disp "a versnelling"," in m/s2","t tijdstip (s)" Disp "v snelheid (m/s)","h hoogte (m)" Disp "B brandstofsaldo"," (kg)" Output(8,15,">>") Pause :ClrHome Disp "","Je lander is","nooit dezelfde..","" Disp "","(uitleg,info:","www.tenhorn.com)" Output(8,15,">>") Pause 4→dim(L3) Lbl 1 -50→V:0→T [ - : (-) toets ] 200+10int(7rand)→H 600+100int(5rand)→M 2000–800rand→U round(110M/U,0)→B .9+2.2rand→C 10^int(log(C))→N Nround(C/N,1)→C ClrHome Disp "Luchtweerstand","bij 10 m/s (N)",100C Disp "Massa lander","zonder","brandstof (kg)",M Output(8,15,">>") Pause :ClrHome Disp "Snelheid gassen","remraket (m/s)" Disp 10round(U/10,0) Disp "Versnelling door","drijfkracht en" Disp "zwaartekracht:","+0,2 en -9,8m/s2" Output(8,15,">>") Pause :ClrHome Lbl 2 Disp " t v h B","" [ 4 spaties voor "t", 2 tussen "t" en "v" ] round(T,1)→L3(1) round(V,0)→L3(2) round(H,0)→L3(3) round(B,1)→L3(4) Disp L3 If H≤0 Goto 4 0→I:0→N If B=0 Then Disp "Brandstof op. >>" Pause Else Input "Injectie? ",I min(max(0,I),1B)/10→I [ Maximale injectieflow = 1*B (kg/s) ] End ClrHome Lbl 3 N+1→N:min(I,B)→I:B–I→B 10U*ln(1+I/(M+B))–CV*abs(V)/(M+B+I/2)–9.6→A [ Alternatief: [ (U*10I–CV*abs(V))/(M+B+I/2)–9.6→A ] H+V/10+A/200→H V+A/10→V:T+.1→T If (N<10) and (H>0) Goto 3 Disp "In laatste 0,1 s","is a= m/s2","" [ Vijf spaties achter "a=" ] Output(2,6,round(A,1)) max(0,H)→H Goto 2 Lbl 4 If abs(V)≥2.5 Then Disp "Crash!" Else Disp "Landing geslaagd" End Output(8,1,"1:nieuw 2:stop") 0→N While N=0 getKey→N End If N=92 Goto 1 ClrHome Stop
Volg de link voor een praktische oefening in het programmeren van je rekenmachine: Creating a Program for the TI calculator |
Hein ten Horn
Top | Programs Texas Instruments | Home