Introduktion
Om ett program ska kunna påverkas av omvärlden, kunna
lagra vissa beräkningar mm krävs att programmet använder
något som kallas variabler.
En variabel är ett lagringsutrymme i datorns minne där
programmet kan spara data.
Det lagringsutrymmet innehåller kan ändras då programmet
körs, datat/värdet kan alltså variera, därav
namnet variabel.
En variabels innehåll kan ändras under programkörningen.
Vi måste också tala om
vad det är för typ på vår variabel.
Det måste man göra eftersom olika datatyper kräver
olika stort lagringsutrymme i datorns minne.
Olika datatyper kan vara t ex:
Heltal, decimaltal (sk reella tal) och tecken.
Deklarera variabler Hur gör man då för att tala om att man vill
ha med en heltalsvariabel i programmet? Jo, man deklarerar en heltalsvariabel.
Variabler av heltalstyp kallas integer i Delphi.
Så här:
program
variabel;
uses Crt32;
{$APPTYPE Console}
var tal:integer;
begin
.
.
.
end.
Det
man gör är alltså att man innan begin skriver var
följt av namnet på variabeln, därefter kolon (:)
och sist vilken datatyp variabeln ska vara följt av ett semikolon
(;).
var talar om att här kommer det en variabeldeklaration, kolonet
talar om att här kommer typen på variabeln.
Vad programmet gör bryr vi oss inte om, det här visar
bara på hur man deklarerar variabler.
Vill
man deklarera flera variabler gör man så här:
var tal1:integer;
var tal2:integer;
men det är smidigare att göra så här:
var tal1, tal2:integer;
Lagra
data i en variabel
Hur lagrar man data i en variabel?
Antag att vi deklarerat tal1 som en integer, dvs den kan lagra heltal.
Säg att vi vill lagra talet tre så gör vi så
här:
tal1:=3;
Man
använder alltså något som kallas för tilldelningsoperator
för att lagra data i variabler.
Tilldelningsoperatorn består av ett kolon följt av ett
likamedtecken, :=.
Det
som står till höger om tilldelningsoperatorn hamnar i
det som står till vänster. Aldrig tvärtom!
Ändra data i en variabel
Vill
vi ändra datat i variabeln, t ex öka det med ett ser det
ut så här:
tal1:=tal1+1;
Det som händer då är att datorn först beräknar
det som står till vänster om := och därefter lagrar
resultatet. Resultatet här blir alltså att tal1
ökat med ett.
Få
ut datat från en variabel Ifall
vi vill få ut variabelns innehåll på skärmen
skriver vi bara t ex så här:
writeln(tal1);
Observera att vi inte omsluter variabelnamnet med apostrofer!
Olika
datatyper
Det finns olika datatyper i Delphi.
Olika datatyper lagra olika typer av data olika "bra".
Här är några exempel.
Datatyp
Lagrar
Intervall
Lagringsutrymme
integer
heltal
-214748648
- 214748647
8
bitar = 2 bytes
real
flyttal
(decimaltal, reella tal)
2.9E-39
- 1.7E38
48
bitar = 6 bytes
extended
mkt
stora flyttal
3.4E-4932
- 1.1E4932
80
bitar = 10 bytes
char
ASCII
tecken
Ett
tecken
8
bitar = 1 byte
string
text
Obegränsat
boolean
sant
falskt
true,
false
8
bitar = 1 byte
Konstanter
Konstanter är nästan som variabler, skillnaden är
att man talar om vilket värde som den ska ha när man deklarerar
den och därefter går det inte att ändra värde
på den.
Varför konstanter?
Säg att vi i ett program behöver använda oss av momsen
25% = 0.25 för att utföra vissa beräkningar. Om momsen
plötsligt skulle ändras måste vi då ändra
alla förekomster av 0.25. Hade vi istället haft en konstant
som höll reda på momsen hade det räckt att bara
ändra den.
Man kan dessutom aldrig, felaktigt, råka ändra en konstant
i programmet. Den är satt till ett värde som den sedan
behåller.
Så här skulle det kunna sett ut:
program
konstant;
uses Crt32;
{$APPTYPE Console}
const moms=0.25;
var tal:integer;
begin
.
.
.
end.
Konstanter
deklareras nästan på samma sätt som variabler.
Först const
som talar om att det kommer en konstant följt av namnet, därefter
kommer det ett likamedtecken, =, följt av värdet på
konstanten.
Utskrift
med ett bestämt antal decimaler
Vid utskrifter av flyttal, kan utskrifterna se en smula underliga
ut.
Det går att åtgärda genom att tala om hur många
decimaler som ska visas vid utskriften.
writeln(tal:0:2);
Variabeln
tal skrivs ut med två decimaler. Den första nollan talar
om fältbredden för utskriften och används då
man vill skriva ut data snyggt i kolumner.