Grundläggande begrepp

En dator är en maskin
som utför en sekvens av instruktioner. Bland dessa instruktioner måste det finnas möjlighet till selektion och iteration.

En sekvens är en ordnad följd av instruktioner.
Med selektion avses möjlighet till villkorliga instruktioner: "utför dessa instruktioner om något villkor är sant."
Iteration betyder upprepning. Sekvenser av instruktioner måste kunna upprepas, till något villkor är sant.

instruktioner datorn kan utföra är mycket enkla.
En dator måste bara kunna:

Detta är i princip allt en modern dator kan göra, men den är ovanligt bra på det!
Att utföra en hundra miljoner additioner tar endast någon sekund...

Ett program som skrivs med dessa enkla instruktioner skrivs i maskinkod. Eftersom det är bökigt och opraktiskt är det ovanligt idag. Det är lättare att skriva program i t.ex. Java som nästan ser ut som engelsk text. Datorn förstår inte intstruktionerna, men någon smart programmerare har skrivit ett program i maskinkod som översätter (kompilerar) texten till maskinkod som datorn förstår.

I högnivåspråk är alltså instruktionerna betydligt mer omfattande och kallas för satser.

En sekvens är en ordnad följd av satser och kan se ut som:
{
    dra ett streck rakt fram, 100 pixlar långt;
    sväng 90 grader;
    dra ett streck rakt fram, 100 pixlar långt;
    sväng 90 grader;
    dra ett streck rakt fram, 100 pixlar långt;
    sväng 90 grader;
    dra ett streck rakt fram, 100 pixlar långt;
}

Denna sekvens består av sju satser och ritar en kvadrat. Sekvensens satser är inneslutna av klamrar: { och }.
Semikolon ; används för att avsluta en sats.

Sekvensen ovan förutsätter att en "penna" placerats någon stans på skärmen och att det språk vi programmerar i har funktioner för att rita och flytta pennan.

Selektion betyder urval:

    om textfärgen är vit så
        ändra bakgrunden till svart

Den sats som ändrar bakgrundsfärg är villkorlig och utförs om och endast om förgrunden är vit.

De flesta programspråk erbjuder oss fler möjligheter till selektion, men den mest grundläggande satsen är just:
OM (villkor) SÅ UTFÖR (SEKVENS).

tjatande man Iteration, eller upprepning
Jag tjatar inte:
jag bara tillgriper iterationer av
tillrättavisningar i beteendekorrigerande syfte!

Det är enkelt att låta datorn upprepa en sekvens av satser!

spara 42 i variabeln tal
spara 0 i variabeln gissning

så länge som gissning <> tal {
    skriv "gissa på ett tal"
    läs ett tal och lagra det i gissning
    om gissning < tal skriv "för litet"
    om gissning > tal skriv "för stort"
}
skriv "rätt!"
        
Koden ovan upprepar sekvensen som frågar efter ett tal och talar om det är för litet eller för stort, ända tills det inmatade talet är 42 då "rätt!" skrivs ut.
Variabler lagrar data
och har alltid ett namn, en datatyp och ett värde.

Vi använder variabler för att lagra information som förändras.
Ex: poäng, position, innehåll i textruta, räknare o.s.v.
Vi kan välja variabler av många olika datatyper: t.ex.

Funktioner är separata sekvenser av instruktioner.
De har alltid ett namn och kan ha en datatyp och ett värde.

Funktioner gör livet lättare för programmeraren!
Vi har tillgång till färdigskriven kod i form av massor med funktioner för att t.ex. läsa in text från tangentbordet, rita på skärmen och rita grafik.
Vi gör också egna funktioner för att inte behöva skriva nästan-samma-sak flera gånger.