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. |
Programma |
Opmerking, hulp |
LANDING | L : gebruik achtereenvolgens de toetsen ALPHA en L |
Rem Mem L3,ABCHIMNTUV | Geheugengebruik > 2ndF,PRGM > PRGM > Rem |
Rem 2000 ver200411 | Versie |
ClrT | > 2ndF,PRGM > SCRN > ClrT |
Print "** LANDING **":Print " | > 2ndF,PRGM > A > 1 > 2ndF,PRGM > A > 2 |
Print "Instelling FLOATPT | |
Print "nodig":Print " | |
Print "Zie SET UP (FSE) | > : > MATH > F > ">" |
Print "":Print ">> | |
Wait :ClrT | |
Print "Maak 'n zachte landing | |
Print "op het aardoppervlak: | |
Print "snelheid tussen | |
Print "-2,5 m/s en 0 m/s | Richtingen: omhoog positief (+), omlaag negatief (-) |
Print " | |
Print "Injecteer brandstof in | |
Print "de remraket, telkens | |
Print "voor 1 seconde. >> | Vijf spaties achter "seconde." |
Wait :ClrT | > 2ndF,PRGM > A > 4 |
Print "A versnelling in m/s² | ² : x² toets |
Print "T tijdstip (s) | |
Print "V snelheid (m/s) | |
Print "H hoogte (m) | |
Print "B brandstofsaldo (kg) | |
Print "":Print ">> | |
Wait :ClrT | |
Print "Je lander is nooit | |
Print "dezelfde..":Print " | |
Print "uitleg,info: | |
Print "www.tenhorn.com | |
Print "":Print ">>":Wait | |
4→dim(L3) | → : STO toets dim : > 2ndF,LIST > A > 3 |
Label NEW | Label : > 2ndF,PRGM > .. |
-50→V:0→T | - : (-) toets 0 is cijfer nul, niet de letter O of theta |
200+10int (7random )→H | int : > MATH > B > 5 |
600+100int (5random )→M | random : > MATH > C > 1 |
2000–800random →U | |
round(110M/U,0)→B | round : > MATH > .. |
.9+2.2random →C | Let op de punt in .9 |
10^int log C→N | ^ : ab toets |
Nround(C/N,1)→C | |
ClrT :Print "Luchtweerstand (N) | |
Print "bij 10 m/s | |
Print 100C | |
Print "Massa lander zonder | |
Print "brandstof (kg) | |
Print M:Print ">> | |
Wait :ClrT:Print "Relatieve snelheid | |
Print "gassen remraket (m/s) | |
Print 10round(U/10,0) | |
Print "Versnelling door | |
Print "drijfkracht: +0,2 m/s² | |
Print "zwaartekr.: -9,8 m/s² | |
Print "":Print ">> | |
Wait :ClrT | |
Label SHW | Show |
Print " T V H B | Twee spaties tussen "T" en "V", enz. |
Print " | |
round(T,1)→L3(1) | |
round(V,0)→L3(2) | |
round(H,0)→L3(3) | |
round(B,1)→L3(4) | |
Print L3 | |
If H ≤ 0 Goto LND | If : > 2ndF,PRGM > .. ≤ : > MATH > F > 6 (<=) |
0→I:0→N | |
If B=0 Goto PAU | |
Print "Injectie: | |
Input I | |
min(max(0,I),1B)/10→I | Maximale injectieflow = 1*B (kg/s) |
Label DYN | Dynamics |
ClrT:Print "A (in laatste 0,1 s): | Gemiddelde versnelling in de laatste 0,1 s |
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 |
Hele formule op één regel (zonder spaties). Alternatief: (U*10I–CV*abs(V))/(M+B+I/2)– 9.6→A * : maalteken az + adrijf = -9,6 m/s² |
H+V/10+A/200→H | |
V+A/10→V:T+.1→T | |
If (N<10) and (H>0) Goto DYN | and : > MATH > .. |
Print round(A,1) | |
max(0,H)→H | |
Goto SHW | |
Label PAU | Pause |
Print "Brandstof op. >> | |
Wait | |
Goto DYN | |
Label LND | Landing |
If abs(V)≥2.5 Goto CRS | ≥ : > MATH > F > 4 (>=) |
Print "Landing geslaagd | |
Goto FIN | |
Label CRS | Crash |
Print "Crash! | ! : > MATH > C > 4 |
Label FIN | |
Print "":Print ">> | |
Wait :ClrT | |
Print "1:nieuw 2:stop | |
0→N:Input N | |
If N=1 Goto NEW | |
ClrT:Print "Druk CL | |
End |
Volg de link voor een praktische oefening in het programmeren van je rekenmachine: Creating a Program for the Sharp EL calculator |
Hein ten Horn
Top | Programs Sharp EL | Home