Aldrin -- Apollo 11
Moonlanding
Du er pilot i en romkapsel på vei til månen. Du har 100 l brennsel i tanken som du bruker til å nedbremse kapselen. Din høyde er 10'000 m, og din fart er 100 m/s.
Når du bremser, produserer rakettmotoren en drivkraft som varer i to sekunder. Styrken avhenger av mengden av brennsel som du svir av i dette øyeblikket.
Her er en oversikt over det som skjer i ett bremse-skritt:
  1. Du bestemmer deg for en mengde brukBrennsel av brennsel som du skal bruke i dette skrittet
  2. Mengden av brennsel som du har igjen i tanken blir redusert:
    	brennselITank --> brennselITank 
    				- brukBrennsel
    	
  3. Motoren produserer en negativ akselerasjon (nedbremsing) som er gitt av
    	bremseAkselerasjon = brukBrennsel * bremseEffisiens
    	
  4. Samtidig blir du fortere fordi månen tiltrekker (gravitasjon!). Og det blir verre dess nærmere du kommer. En mulig formel kan være
     
    	gravityAkslerasjon = g * (1 
    				+ 10000/(10000 + høyde)
    	
    Denne formelen har lite med fysikk å gjøre, men skaper spenning
  5. Total akslerasjon er altså gravityAkselerasjon som øker farten, og bremseAkselerasjon som minker farten
  6. En akselerasjon medfører en fartsforandring. Forandring er proporsjonal med netto akselerasjon og med lengden av tidsintervallet:
    	fartsForandring = (-bremseAkselerasjon + 
    			gravityAkselerasjon)*tidSkritt
    	
  7. Ny fart er gammel fart plus fartsforandring:
    	fart --> fart + fartsForandring
    	
  8. Fart medfører en forandring av høde:
    	høydeForandring = fart * tidSkritt
    	
  9. Den nye høyden er (her teller vi negativt)
    	høyde -> høyde - høydeForandring 
    	
Dette kan du lett oversette i formeler. Formelene kan du ikke legge direkte inn i et regneark fordi du da ikke har noe mulighet å triggere et bremseskritt. Men du kan godt få det til ved hjelp av en makro...
Start med et tomt ark og legg inn alle parameter som er aktuelle. Bruk navn til cellene som inneholder verdier:
moonlanding
Begynn med å registrere en makro som heter Reset. I denne makroen blir alle variabler satt til ugangspunktet. Denne makroen kan du lage fullstendig ved hjelp av makro-opptakeren. Eller du kan skrive det manuelt.
makro
Du skulle ende opp med en makro som er omtrent som denne:
moonlanding
Du kan også bruke
	.Value = ...
	
istedenfor
	.FormulaR1C1 = ...	
	
-- det ville her vært equivalent.
Makro nr. 2 er den som gjør alle beregninger i ett bremse-skritt. Denne må du programmere selv; det er litt for vanskelig for makro-opptakeren.
Makroen har tre deler. Første delen forbereder alt sammen ved å lese de aktuelle verdiene fra regnearket -- høyde, fart, etc. Den andre delen utfører selve beregningen. Den tredje delen sender de nye verdiene tilbake til regnearket.
Slik kan den første delen bli: Ikke noe spennende, men det må gjøres.
moonlanding
Slik er hoveddelen som gjør hele jobben. Fordi dette begynner å bli kompleks, er det lurt å spe på med kommentarer.
moonlanding
Slik kan den tredje delen bli: Igjen ikke noe spennende, men akk så nødvendig.
moonlanding
Til slutt: legg inn to knapper ved hjelp av kontrollverktøykassen (Vis -> Verktøylinjer -> Kontrollverktøkassen). Den ene knappen skal brukes for å sette alle variabler tilbake til utgangspunktet, i tilfelle du krasj-lander. Den andre skal brukes for å kjøre et bremse-skritt.
button
Knappene kan du knytte til makroene dine -- da kan du begynne med landetreningen!
moonlanding
Utbyggingsprosjekter kunne innebære meldinger som spretter opp dersom høyden blir negativ (-> krasj...), eller dersom man går tom for brennsel.

Tilbake til index