V1 cot2© Een probleem is echter dat dit instrument moei lijk is mee te nemen in de rimboe of naar een booreiland. Hier kan de zakcomputer onbetaal bare diensten bewijzen. Staat 6 geeft een overzicht van problemen die gemakkelijk kunnen worden opgelost met be hulp van de zakcomputer. Het aantal stappen is in wezen onbelangrijk, evenals de benodigde rekentijd, die normaal tussen 3'/2 en 16 secon den ligt. De lange rekentijden zijn echter wel vermeld. Het indirecte (i) geheugen (HP-67/97) In het rekenproces worden dezelfde formules veelal meerdere malen toegepast. Vaak gebruikt men hiervoor subroutines, maar de aanwezig heid van het indirecte (i) of (I) geheugen opent nieuwe perspectieven, (i) kan worden voorge steld als een geheel getal tussen 0 en 25. (i) kan worden vergroot of verkleind m.b.v. ISZ en DSZ in het (i) geheugen, of het geheugen aan gewezen door (i) kan worden vergroot of ver kleind met ISZ (i) en DSZ (i), in beide gevallen met een test op 0. Hierdoor is het mogelijk met één (sub)routine indirect steeds andere geheu gens aan te spreken: dit houdt het programma kort. Ook kunnen sprongen worden gemaakt naar een bekend punt in het programma (lijnnummer of „label"), of subroutines worden opgeroepen aangeduid door (i). Normaal zijn bewerkingen in de geheugens A t/m E niet mogelijk, maar via b.v. STO x (i) of STO (i) zijn deze wél moge lijk. Ook is relatieve adressering mogelijk. Het voorbeeld iteratief rekenen (staat 5) kan worden toegepast op de programmeerbare zak computer. (Zie hiervoor staat 7). In een dergelijk geval wordt (i) voorgesteld als een geheel getal tussen —1 en —999. Rekentijd Om goed een programma te kunnen schrijven, wordt meestal eerst een z.g. stroomdiagram (flow chart) ontworpen. Het stroomdiagram toont schematisch het verloop van de bereke ning, duidt programmasprongen aan, verwijst naar subroutines, etc. De programmeur heeft tot taak programma's vooral eenvoudig te houden,zowel wat betreft de werking als het gebruik. Hoewel de rekentijd vrij kort is, blijkt dat in vele gevallen deze nog verkort kan worden. In de eerste plaats kan dit gebeuren door het zoeken naar „labels" zoveel mogelijk te voor komen; dit kost namelijk tijd en elke milli-seconde telt. Een kort programma met veel subroutines is ongunstiger in het gebruik dan een lang pro- 54 gramma, mits het programma op hetzelfde kaartje past. Ook gaat veel tijd verloren met het oproepen van functies. Is een functie, bijvoorbeeld SIN 0, meerdere malen in gebruik, dan kan het beter in een geheugen worden geplaatst. De tijd beno digd voor het bepalen van de waarde van een functie is variabel. Zo kost het oproepen van SIN 0g minder tijd dan dat van 399s9999999; TAN O9 kost echter minder tijd dan SIN O9. Ook kan de rekentijd verkort worden door het programma voor de gebruiker simpel te houden. De zakcomputers hebben namelijk geen letters op de „display", dus vragen kunnen (nog) niet worden gesteld. Wel kan een codering worden toegepast, zodat bijvoorbeeld 1 betekent hoek invoeren, 2 afstand invoeren, 3 X ordi naat invoeren, 4 Y ordinaat invoeren, enz. Een eenvoudig voorbeeld wordt in de staten 8a, 8b en 8c gegeven, nl. een programma „Coördi- natenberekeningen op een rechte lijn". Staat 8a geeft, in chronologische volgorde, aanwijzingen voor het gebruik van het program ma, zoals dit beschreven staat in staat 8b en vastgelegd is op een magneetkaartje. Een uitge werkt voorbeeld ter controle van de goede wer king van het programma of als instructie voor een nieuwe gebruiker van het programma vin den we in staat 8c. Het bepalen van de waarde van een functie Hierboven is reeds vermeld dat de rekentijd voor het berekenen van functies variabel is. In dit verband is het interessant te zien hoe deze func ties o.a. in de HP-machines worden verkregen. Teneinde de lengte van het programma tot een minimum te beperken, wordt een enkele func tie, nl. tan 0, het eerst ontwikkeld. Wanneer tan 0 eenmaal is berekend, vindt men sin 0 met behulp van de formule itan 0 sin 0 V1 tan2© Cos 0 wordt dan berekend door gebruik te ma ken van de formule: cot 0 COS0 We zien dat deze formules identiek zijn, behalve dat de cotangens de tangens vervangt. Aange zien 0 en 0 n x (360°) precies dezelfde trigo nometrische functies opleveren, wordt iedere kaarthoek gereduceerd tot een positieve hoek tussen 0° en 360°. In alle berekeningen wordt er van uitgegaan dat de hoeken in radialen uitge drukt worden. Een in graden uitgedrukte hoek wordt eerst tot radialen herleid met behulp van de formule: 0rad 0° x tt 180 09 x ?r /200.

Digitale Tijdschriftenarchief Stichting De Hollandse Cirkel en Geo Informatie Nederland

(NGT) Geodesia | 1979 | | pagina 10