ch 6 Flashcards

1
Q

Vad är en variabel i ett programmeringsspråk?

A

En variabel är ett namngivet utrymme i primärminnet (main memory)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Varför är det nödvändigt att veta vilken datatyp en variabel har?

A

Datatypen anger hur vi skall tolka det bitmönster som ligger lagrat i variabeln

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Vad är skillnaden mellan källkod och objektkod?

A

Källkod är den programkod som programmeraren skriver

Objektkod är den översättning av källkoden som går att köra på en dator

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Producerar ett syntaktiskt korrekt program alltid korrekta resultat? Motivera ditt svar

A

Nej, ett syntaktiskt korrekt program kan innehålla fel, t.ex. logiska fel, som gör att programmet ger inkorrekta resultat

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Vad kallas ett program som översätter källkod till maskinkod?

A

Kompliator (compiler)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Vad kännetecknar en datastruktur av typen struct/record (aggregate type)?

A

Att det är en datastruktur sammansatt av data som kan ha olika typ

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Vad innebär det att en parameter till en subrutin överförs som värde (passed by value)?

A

Passed by value, innebär att parametern överförs som ett kopierat värde och att detta kopierade värde lagras i en lokal variabel i subrutinen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Vad innebär det att en parameter till en subrutin överförs som referens (passed by reference)?

A

Passed by reference, innebär att parametern överförs som en referens till en plats där den ligger lagrad, vilket innebär att eventuella ändringar görs i den ursprungliga variabeln.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Vad gör en assemblator/assemblerare (assembler)?

A

Assemblator/assemblerare (assembler) omvandlar assemblerkod (assembly code) till maskinkod

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Vad kännetecknar en datastruktur av typen array?

A

Att alla element i datastrukturen är av samma datatyp, och att de enskilda elementen nås via index

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Vilka är de fyra stora programmeringsparadigmerna (programming paradigms)?

A

Funktionell - basic building block: functions

Objektorienterad - basic building block: objects

Imperativ - basic building block: procedures

Deklarativ (logik-) programmering - basic building block: logical formulas

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Ange fyra vanliga primitiva datatyper.

A

Heltal (integer)

Flyttal (floating point number)

Tecken (character)

Boolean (sanningsvärde)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Vad gör en kompilator (compiler)?

A

En kompilator översätter källkod, skriven i ett programmeringsspråk, till exekverbar maskinkod

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Ett program kan ge upphov till tre olika typer av fel: syntaktiska fel (syntactic errors), exekveringsfel (runtime errors) och logiska fel (logic errors). Vilken typ av fel är mest allvarliga och varför?

A

Logiska fel, eftersom de inte ger upphov till något felmeddelande

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Ett program kan ge upphov till tre olika typer av fel: syntaktiska fel (syntactic errors), exekveringsfel (runtime errors) och logiska fel (logic errors). Vilket typ av fel är minst allvarliga och varför?

A

Syntaktiska fel, eftersom de upptäcks redan av kompilatorn

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Vad är skillnaden mellan en kompilator (compiler) och en interpretator (interpreter)?

A

En kompilator (compiler) översätter programkod/källkod till maskinkod.

En interpretator (interpreter) tolkar programkod/källkod vid själva körningen och utför då instruktionerna i programkoden/källkoden

17
Q

Vad är concurrent programming?

A

Programmering där man programmerar flera parallella exekveringsvägar (trådar) i samma program

18
Q

En variabel pekar på ett bitmönster i lagrat i minnet; vad behöver vi veta för att kunna tolka bitmönstret på rätt sätt?

A

Vilken datatyp variabelns data har. Det är datatypen som anger hur programmet skall tolka det bitmönster som ligger lagrat i variabeln

19
Q

Vad innebär begreppen sekvens, selektion och iteration?

A

Sekvens - en följd av instruktioner som utförs i ordning

Selektion - olika instruktioner utförs beroende på programmets tillstånd

Iteration - samma (sekvens av) instruktioner utförs flera gånger (beroende på programmets tillstånd)

20
Q

Översättningsprocessen (translation process) av ett källkodsprogram (source program) till ett objektkodsprogram (object program) består av tre aktiviteter, vilka?

A

Lexical analysis

Parsing

Code generation

21
Q

Ge exempel på två olika sätt att beskriva algoritmer.

A

Flödesdiagram

Pseudokod

22
Q

Vilken generation av programmeringsspråk kännetecknas av:
- ett-till-ett-förhållande mellan språkinstruktioner och maskininstruktioner;
- inneboende maskin-beroende?”

A

Andra generationen

23
Q

Vilken generation av programmeringsspråk kännetecknas av:
- maskinoberoende (vanligtvis);
- varje primitiv motsvarar en sekvens av maskinspråksinstruktioner?

A

Tredje generationen. Third generation

24
Q

Vad är en literal i ett programmeringsspråk?

A

Ett explicit värde av en viss datatyp

25
Q

Vad är en konstant i ett programmeringsspråk?

A

En namngiven literal. / Ett namngivet värde av en viss datatyp

26
Q

I objektorienterad programmering har man klasser och objekt. Utöver detta så finns det tre egenskaper som kännetecknar objektorienterad programmering, vilka?

A

Inheritance, (arv, återanvända code, ett smidingt sätt att återanvända code)

Encapsulation, (inkapsling, innut i en class, viss represention, skiljer kod med annan kod som är inkapslad i koden, som ej brör reseten av koden)

Polymorphism, (lite överkus)

27
Q

Översättningen från källkod till maskinkod sker i tre steg av tre olika enheter i översättaren; vad kallas dessa tre enheter?

A

Lexical analysis

Parsing

Code generation

28
Q

Vad är en tråd i concurrent programmering?

A

En concurrent/parallell exekveringsväg inom samma program/process

29
Q

Vad kallas den grundläggande byggstenen i imperativa programmeringsspråk?

A

Procedur

30
Q

Vad kallas den logiska härledningsteknik som används i logikprogrammering?

A

Logisk formel (predikat)

31
Q

I objektorienterad programmering, vad kallas mallarna från vilka objekt skapas?

A

Klasser (Class) - mall från vilken objekten är konstruerade

32
Q

Alla programmeringsspråk har tre typer av styrning av programflödet, vilka?

A

Sekvens

Selektion

Repetition

33
Q

Vad är syftet med att använda procedurenheter (subprogram, subrutin, procedur, funktion, metod, predikat etc.) vid programmering?

A

Används för att förenkla programutveckling genom abstraktion

34
Q

Vad innebär arv i objektorienterad programmering?

A

Arv tillåter en klass att omfatta egenskaper hos en annan klass utan att explicit behöva deklarera dem