Variabler

From Apache OpenOffice Wiki
Jump to: navigation, search

Et program bearbeider data som ligger i maskinens minne. Variabler er navngitte data en kan endre (read-write) og konstanter er faste (read-only) data med navn og uten navn.

Regneuttrykk

Et regneuttrykk skrives på formen A = uttrykk. Først regnes høyresiden ut. Så legges resultatet inn i A. Utregning av en omkrets skrives:

  omkrets = 2 * PI * radius

I alt er her fire data. To variabler med navn "omkrets" og "radius". "PI" er en navngitt konstant som er deklarert eksplisitt og gitt verdi et annet sted, og "2" er en ikke-navngitt konstant (med verdien 2).

Regning

En maskin har en prosessor som kan regne med kun to data av gangen (to "operander"). Det som skal gjøres indikeres med en "operator", som pluss (+), minus (-), gange (*) og dele (/). Det regnes fra venstre mot høyre, to operander av gangen. For å regne omkretsen blir først 2*PI utført (resultatet blir 6.28). Så blir 6.28*radius utført. Til sist legges svaret i "omkrets". Interpreter går så videre til neste uttrykk.

Navneregler

Hvis et data skal ha navn gjelder reglene om at navnet skal ha bokstaver og tall og eventuelt et underscore (_). Norske og samiske tegn tillates ikke. Store og små bokstaver oppfattes likt, slik at navnet "Omkrets", "omkrets" og "omKRETS" vil gjelde samme data.

Datatyper

Data vil til enhver til ha en type som bestemmer hvordan de skal oppfattes. Basaltypene er Integer og Long (heltall), Single og Double (desimaltall), String (ord og tekst), Boolean (sann/usann). I et regneuttrykk som over (omkrets) må alle data ha samme type. Fordi konstanten "PI" er et desimaltall, vil interpreteren konvertere de andre tre til desimaltall.

Eksplisitt

Programmet blir tydeligst hvis en eksplisitt deklarerer hva slags navn og type de ulike data skal ha. "Dim" er et direktiv ("dimensjoner") for eksplisitt deklarasjon, som i:

Dim omkrets as Double
Dim radius as Double
omkrets = 2 * PI * radius

der det fremdeles vil være fire data involvert med samme navn og plassbehov. Noen mener at sjansen for feil er lavest med eksplisitt deklarering. For å sikre seg mot implisitte deklarasjoner brukes et direktiv i starten av programmet,

Option Explicit

slik at interpreter gir feilmelding.

Vil en at et navngitt data ikke skal kunne endres brukes "Const" istedet for "Dim". Interpreter gir feilmelding hvis en forsøker å gi verdier til konstantene. Konstanten "PI" er eksplisitt deklarert omtrent som Const PI as Double = 3.14...

Variant (dynamisk type)

Et data av variant-type kan anta type etter bruk.

Dim ukedag                 ' ingen type angitt
ukedag = "tirsdag"         ' her blir det en streng
ukedag = 2                 ' et heltall (Integer)
ukedag = 2.2               ' et desimaltall (Double)
ukedag = True              ' sannhet (Boolean)

I eksemplet angis ikke type i deklarasjonen av ukedag. Deretter gis den fire verdier med ulik type (de to siste gir lite mening, riktignok).

Hurtigtyping

Eksplisitt type kan angis med typens navn, eller ved et postfix (etterkoding) i navnet:

Dim storInntekt&      ' Long
Dim inntekt%          ' Integer
Dim navn$             ' String
Dim investProsent!    ' Single
Dim skatteprosent#    ' Double
Dim valuta            ' Currency

I runtime-library ligger en rekke funksjoner som konverterer mellom typer. Datatyper blir mer detaljert beskrevet i neste delkapitel.


Content on this page is licensed under the Public Documentation License (PDL).
Personal tools