Difference between revisions of "NO/Documentation/BASIC Guide/Working With Variables"
(Created page with '{{DISPLAYTITLE:Variabler}} {{NO/Documentation/BASICGuideTOC/v2 |ShowPrevNext=block |ShowPrevPage=block |PrevPage=NO/Documentation/BASIC Guide/Program Overview |NextPage=NO/Docume…') |
|||
Line 8: | Line 8: | ||
}} | }} | ||
__NOTOC__ | __NOTOC__ | ||
− | Et program bearbeider data. | + | Et program bearbeider data som ligger i maskinens minne. |
Variabler er navngitte data en kan endre (read-write) og | Variabler er navngitte data en kan endre (read-write) og | ||
konstanter er faste (read-only) data med navn og uten navn. | 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: | ||
+ | <source lang="oobas"> | ||
+ | omkrets = 2 * PI * radius | ||
+ | </source> | ||
+ | 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). | ||
+ | Etter at maskinen har gjort to multiplikasjoner (høyresiden), | ||
+ | legges resultatet i "omkrets". | ||
+ | |||
+ | ===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 | Data vil til enhver til ha en type som bestemmer hvordan | ||
de skal oppfattes. Basaltypene er | de skal oppfattes. Basaltypene er | ||
Line 18: | Line 41: | ||
String (ord og tekst), | String (ord og tekst), | ||
Boolean (sann/usann). | 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=== | ===Eksplisitt=== | ||
Programmet blir tydeligst hvis en eksplisitt deklarerer | Programmet blir tydeligst hvis en eksplisitt deklarerer | ||
− | hva slags navn og type de ulike data skal ha. Dim er | + | hva slags navn og type de ulike data skal ha. "Dim" er |
− | et direktiv ("dimensjoner") | + | et direktiv ("dimensjoner") for eksplisitt |
deklarasjon, som i: | deklarasjon, som i: | ||
<source lang="oobas"> | <source lang="oobas"> | ||
− | Dim | + | Dim omkrets as Double |
− | Dim | + | Dim radius as Double |
− | + | omkrets = 2 * PI * radius | |
− | + | ||
</source> | </source> | ||
− | + | 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, | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | Noen mener at sjansen for feil er lavest med eksplisitt | + | |
− | deklarering. | + | |
− | + | ||
<source lang="oobas"> | <source lang="oobas"> | ||
Option Explicit | Option Explicit | ||
</source> | </source> | ||
− | + | slik at interpreter gir feilmelding. | |
− | + | ||
− | ===Variant=== | + | 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 | ||
+ | <tt>Const PI as Double = 3.14...</tt> | ||
+ | |||
+ | ===Variant (dynamisk type)=== | ||
Et data av variant-type kan anta type etter bruk. | Et data av variant-type kan anta type etter bruk. | ||
<source lang="oobas"> | <source lang="oobas"> |
Revision as of 03:59, 15 December 2009
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). Etter at maskinen har gjort to multiplikasjoner (høyresiden), legges resultatet i "omkrets".
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
Datatyper blir mer detaljert beskrevet i neste delkapitel.
Content on this page is licensed under the Public Documentation License (PDL). |