Kapitel 6 - instuderingsfrågor Flashcards

1
Q

Vad är en variabel i ett programmeringsspråk?

A

En variabel är ett namngivet utrymme i primärminnet. Till skillnad från literal och konstant.

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

Det är datatypen som anger hur vi skall tolka det bitmönster som ligger lagrat i variabeln. Datatypen anger vilken typ av operationer som kan utföras och vilka värden en variabel kan ha.

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.
(Källkod kan med hjälp av lexical analyzer och parser översättas till en objektkod, som bildar ett objektprogram.)

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

Kompilator.

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. Det vill säga att i parameters, när en funktion anges så ändras inte den ursprungliga (formella) parametern, utan endast den nya (aktuella) parametern.

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. Dvs att den ursprungliga variabeln också ändras, genom att ge funktionen direkt tillgång till parameterns adress.

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

Översätter assembly språk (andra generationen) 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

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

Imperativ, funktionell, objektorienterad och deklarativ (logik-) programmering.

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 körbar kod. 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. (kan vara via time-sharing eller flera CPU)

18
Q

Beskriv kortfattat begreppen sekvens, selektion och iteration.

A

En sekvens är en följd av instruktioner som utförs i ordning.
Selektion är en valmöjlighet - att utföra olika instruktioner beroende på programmets
tillstånd (t ex genom if-satser).
Iteration innebär att samma instruktion eller sekvens av instruktioner körs flera gånger (t ex
med loopar).

19
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.

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 analyzer, parser och code generator.

21
Q

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

A

Flödesdiagram och 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 - assembly språk

23
Q

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

A

Tredje generationens

24
Q

Vad är en literal i ett programmeringsspråk?

A

En literal är en typ av variabel som har ett specifikt värde. Ett explicit värde av en viss datatyp.

25
Q

Vad är en konstant i ett programmeringsspråk?

A

En variabel som har ett konstant värde. 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), encapsulation (inkapsling) och polymorphism

27
Q

Vad är en tråd i concurrent programmering?

A

En concurrent/parallell exekveringsväg inom samma program/process. En tråd är mindre processer inom en större process som kan utföras “parallellt”

28
Q

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

A

Procedur

29
Q

Vad är den grundläggande byggstenen i logikprogrammeringsspråk?

A

Logiska formler

30
Q

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

A

Resolution (logisk härledning, deductive reasoning)

31
Q

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

A

Klasser

32
Q

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

A

Sekvens, selektion och 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 (inheritance) är en av egenskaperna i objektorienterad programmering. Det innebär att man kan skapa klasser, och underklasser som ärver dessa egenskaper.