Programmering - Department of Information Technology

Informationsteknologi sommarkurs 5p, 2004
Mattias Wiggberg
Dept. of Information Technology
Box 337
SE751 05 Uppsala
+46 18471 31 76
[email protected]
Collaboration
Jakob Carlström
Programmering
Slideset 12
Communications Research Group
Agenda
• Program.
• Konstruktionselement i program
• Exempelprogram.
• Tolka program.
- Kompilera.
- Interpretera.
- Virtuell maskin.
[email protected]
Communications Research Group
1
Program
Program
When you create a program, you write it using some kind of computer language. Your
language statements are the source program. You then compile the source program
(with a special program called a language compiler) and the result is called an object
program (not to be confused with object-oriented programming). There are several
synonyms for object program, including object module and compiled program. The
object program contains the string of 0s and 1s called machine language that the logic
processor works with.
(källa www.whatis.com)
ÉääÉê
Program - Sekvens av instruktioner i ett programmeringsspråk, som på något sätt
köras av en dator.
Programmering - Att skriva program som löser en given uppgift.
Ett bra program:
- Löser den förelagda uppgiften.
- Är effektivt.
- Är lättläsligt för människor.
[email protected]
Communications Research Group
Konstruktionselement i program
• Enkel sats:
op1 + op2;
• Satsblock – ett antal enkla satser som hör ihop:
op3 = op1 + op2;
• Selektionssats – val mellan alternativa möjligheter:
if op1 < op2 then
{
op3 = op1;
else
op3 = op2;
};
• Slinga/loop – upprepa ett antal enkla satser ett bestämt antal gånger eller tills
en selektionssats avbryter:
while op1 < op2 do
{
op1 = op1 + 1;
};
[email protected]
Communications Research Group
2
Tolka program
• Kompilering till maskinkod
Ett annat program, kallat kompilator, ö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
Ett annat program, kallat interpretator eller tolk, översätter instruktion för
instruktion. Kan ”matas” med enskilda instruktioner eller hela program. Ex. på
interpretering:
- Kommandotolken i Unix.
- Webbläsare som kan tolka JavaScript.
- Perl-interpretator i webbserver
[email protected]
Communications Research Group
Tolka program, forts.
• Virtuell maskin.
Kompilatorn översätter inte programmet till maskinkod, utan till kod för en virtuell
maskin (VM), som i sig är ett program. Ett programmeringsspråk som normal körs på
virtuell maskin är Java. Ex:
Java-program
C-program
Kompilering
Kompilering
Java byte-kod
Maskinkodsprogram
Virtuell
Java-maskin
Fysisk maskin
Fysisk maskin
• Fördel med VM.
VM för ett och samma språk kan konstrueras för olika kombinationer av hårdvara och
OS (Mac+MacOS, PC+Linux, PC+Windows, Sun+Solaris ...). Ett kompilerat
program kan då flyttas mellan olika miljöer utan omkompilering. Små Java-program
(applets) kan t.ex. skickas med webbsidor och startas omedelbart på VM.
• Nackdel med VM.
Mindre effektiv exekvering än maskinkod.
[email protected]
Communications Research Group
3