Program & programmering
Vad är program? Satser och instruktioner, toggla igenom exempel Program på olika nivåer, för olika maskiner, för olika saker Tolka program; kompilator, intepretator, binärbytekod, script etc. Klassifikation Gå igenom labben? Kolla på olika exempel
Program, mjukvara, En organiserad lista av instruktioner som kan utföras av en dator Kod = ett program eller en del av ett program Kan exekveras eller köras och får då datorn att bete sig på ett förbestämt sätt Utan program kan datorer inte göra något!
Olika typer av program Applikationsprogram kommersiella program som riktar sig till slutanvändare. Ex. Ordbehandlingsprogram, kalkylprogram, dataspel, browser, mediaspelare Systemprogram program som ligger bakom den grundläggande funktionen hos datorns användarmiljö. Ex. Operativsystem, fönsterhanteringssystem,... Inbyggda system Realtidssystem
Programmering - problemlösning man analyserar och formulerar de problem som ska behandlas av en dator och omformar dem till instruktioner för datorn (program) Bonniers Lilla Uppslagsbok Att skriva program som löser en given uppgift.
Programmering, forts Algoritm metod eller schema varefter en beräkning utförs Implementation realisering, att skriva programkoden Ett bra program: Löser den förelagda uppgiften. Är effektivt. Är lättläsligt för människor.
Paradigmer Olika sätt att lösa problem har gett upphov till olika programmeringsparadigmer Imperativ programmering Funktionell programmering Objektorienterad programmering Logikprogrammering
Program Recept Ett program innehåller en lista av ingredienser variabler som representerar data (tal, text, bilder, etc.) En lista av anvisningar satser som talar om för datorn vad den ska göra med variablerna
Konstruktionselement i program Sats op3 = op1 + op2; Block { op3 = op1 + op2; op1 = op3 op2; }
Konstruktionselement i program Selektionssats val mellan alternativa möjligheter: if op1 < op2 then op3 = op1; else op3 = op2; Slinga/loop upprepa ett block ett bestämt antal gånger eller tills en selektionssats avbryter: while op1 < op2 do { op1 = op1 + 1; };
Programmeringsspråk Högnivåspråk nära mänskligt språk, hög abstraktionsnivå Ex. C, C++, C#, Pascal, BASIC, FORTRAN, COBOL, LISP, Java, Lågnivåspråk närmare datorns språk, mer detaljerade instruktioner Olika assembler
Datorns språk Mänskligt språk Högnivåspråk Kompilator (program) Programmerare Assemblerspråk Maskinspråk
Översättning Varje dator förstår ett språk, dess maskinspråk. (Ettor och nollor ) Program skrivna i andra språk måste översättas.
Översättning, forts. Kompilering - En kompilator (program) översätter hela program från högnivåspråk till maskininstruktioner och systemanrop. Ex. på högnivåspråk som ofta kompileras: Fortran Pascal C, C++ Interpretering - En interpretator eller tolk (program) översätter instruktion för instruktion. Kan matas med enskilda instruktioner eller hela program. Ex. på interpretering: Kommandotolken i Unix Webbläsaresomkan tolka JavaScript Perl-interpretator i webbserver
Virtuell maskin (VM) Programmet kompileras till kod för en VM istället för maskinkod. En VM är i sig är ett program. Java körs normalt på en VM. Portabelt, men mindre effektivt.
Tolka program, forts