_ Syntax pseudokod Pseudokod beskriver vanlig kod på ett enklare och mer överskådligt sätt med hjälp av: - Naturligt språk - Essensen i programmeringsspråk Essensen i programmeringsspråk är: - Uttryck: -- Text -- Operationer på text - Flödeshantering: -- Multipla flöden (processer, trådar) -- Flödesdelare (villkorssatser) -- Flödesupprepare (loopar) Återanvändning av kod sker med smart gruppering av program: - Ett programs namn §§ (för anrop från andra program) är filnamnet - Ett programs input-argument finns i variabeln §_args§ och nås med §_args(1)§, §_args(2)§ osv - Ett program avslutas med §return § __ Uttryck ___ Text Det finns bara en datatyp §text§ men "kompilatorn" känner igen tal och behöver inte omges med dubbelfnuttar: - Text skrivs inom dubbelfnuttar: §"en text"§ - Tal skrivs: §1§, §1.25§ eller §1.25e+23§ osv ___ Operationer på text Lagring och anrop av konstanta operatorer (variabler): - §x() = 5§ - §result = x()§ - §x(1, 2) = "hello"§ - §result = x(1, 2)§ - §x("flower") = "blomma"§ - §result = x("flower")§ Lagring och anrop av variabla operationer (andra program): - §f(x, y) = 2 * x + y§ - §result = f(7, 13)§ - §result = random()§ - §result = random(1, 10)§ - §result = math/random(1, 10)§ - §result = http://dsv.su.se/pierre/math/random(1, 100)§ Skriver man bara: - §result = random§ - §result = http://dsv.su.se/pierre/programkatalog/random§ så hämtas texten som definerar operatorn / programmet utan att den körs. Alternativt skrivsätt för operatorer med: - 1 argument kan anropas: §!(x)§ eller §!x§ - 2 argument kan anropas: §+(x, y)§ eller §x + y§ __ Flödeshantering Programmflödet går uppifrån och ner. ___ Multipla flöden (processer, trådar) Anrop som avslutas med §&§, tex §result = add(x1, x2)&§, körs i en egen tråd och huvudexekveringen fortsätter direkt efter utan att vänta på resultatet. ___ Flödesdelare (villkorssatser) - Jämförelseoperatorer §<§, §<=§, §==§, §=>§, §>§ och §!=§ skapar villkorsuttryck som används i flödesdelare - Intenderingen avgör vad som ligger i varje block, inte §{§ och §}§ § if then ... kod ... ... kod ... § § if then ... kod ... ... kod ... else ... kod ... ... kod ... § ___ Flödesupprepare (loopar) - Intenderingen avgör vad som ligger i varje block, inte §{§ och §}§ § loop ... kod ... ... kod ... if then exit ... kod ... ... kod ... § § for x = 1 to 10 step 1 ... kod ... ... kod ... §