Chapter 6 - 10 Flashcards

1
Q

På vilka två sätt kan en transaktion avslutas?

A

En transaktion som lyckas avslutas med en commit, och en transaktion som misslyckas avslutas genom en rollback som gör transaktionens arbete ogjort.

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

Förklara hur begreppen frame, key frame och in-betweening som används inom animation hänger ihop?

A

En frame är en stillbild i en animation. En key frame är en bild vid en specifik tid i animationen. Inbetweening är ett sätt att skapa frames mellan key frames. I moderna animationsverktyg räcker det med att göra key frames och sedan kan alla frames mellan key frames skapas genom in-betweening automatiskt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
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).

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

Vad är design patterns (designmönster) och vad är de bra för?

A

Generella lösningar på återkommande problem. Genom att utgå från färdiga och bra lösningar kan man snabba upp utvecklingstiden och också göra program mer robusta då designmönstren ofta är väl beprövade. Designmönster ger också utvecklare och systemarkitekter en gemensamt vokabulär för att diskutera och referera till olika lösningar

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

Listor kan lagras antingen i sammanhängande block i minnet, eller i form av länkade listor. Vilket är att föredra för statiska listor, och vilket är bättre för dynamiska listor?

A

För statiska listor vars innehåll inte förändras är sammanhängande minnesblock att föredra då det ger bra prestanda vid läsning och använder lite minne/lagringskapacitet. För dynamiska listor som kan förändras kostar det mycket att lägga till och ta bort element i ett sammanhängande minnesblock eftersom det kan leda till att mycket data behöver flyttas. Därför är det vanligtvis bättre med länkade listor för dynamiska listor då insättning och borttag inte kräver mer än att några pekare ändras (data behöver inte flyttas runt).

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

Inom datorgrafik spelar ljus en viktig roll. Ljus brukar delas in i tre (3) olika sorter, vilka? Vad skiljer dem åt?

A

Frågan handlar om olika typer av reflekterande ljus: Speglande ljus (specular light), som reflekteras utan att splittras upp; syns som en ljus skinande punkt på ett objekt och behåller ljuskällans färg. Syns tydligare på släta blanka ytor. Diffust ljus (diffuse light), som splittras upp och reflekteras åt många olika håll pga ojämnheter i det belysta objektets yta. Tar (delvis) färg från den reflekterande ytan. Bakgrundsljus (ambient light) som är ljus som finns i hela bilden och fördelas jämnt över alla objekt. Har inte någon bestämd källa.

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

Nämn ett vanligt problem som kan uppstå vid t ex överföringar mellan konton som transaktioner skyddar mot.

A

Ett problem är att pengar dras från det ena kontot men aldrig sätts in på det andra (pga avbrott eller fel).

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

Förklara kortfattat skillnaden mellan lokala ljusmodeller (local lightning model) och globala ljusmodeller (global lightning model). Vilken modell ger mest realistiskt resultat? Fördelen med den andra?

A

En lokal ljusmodell tar inte hänsyn till hur olika objekt påverkar varandra. En global ljusmodell gör det (eller försöker i alla fall). Ray-tracing är ett exempel på en algoritm som används för att beräkna en global ljusmodell. En global modell ger ett bättre, mer realistiskt resultat, men en lokal modell är enklare och mindre beräkningsintensiv.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
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.

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

Kan en lista implementeras som en statisk eller dynamisk datastruktur, både och, eller varken eller? Motivera ditt svar!

A

En lista kan både implementeras som en statisk datastruktur, t.ex. som en array, och som en dynamisk datastruktur bestående av element och pekare.

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

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

A

Nej, ett syntaktiskt korrekt program kan krascha vid körning (runtime errors) och producera felaktiga svar p.g.a. logiska fel.

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

Vad är syftet med use case diagram?

A

Att beskriva det föreslagna systemet från användarens synvinkel.

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

Kan lågnivå-datastrukturen array användas för att implementera en kö (queue)? Motivera ditt svar!

A

Ja, där elementen i arrayen beskriver en cirkulär kö, och man har en pekare till köns huvud (start) och en pekare till dess svans (ände)

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

Vid rendrering så skall en trediminsionell modell överföras till en platt yta.
Vad kallas denna platta yta?

A

Projiceringsplan/projiceringsyta (projection plane).

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

Vilka tre saker kännetecknar lättrörliga utvecklingsmodeller (agile development models)?

A

1) Inkrementella och iterativa;
2) korta feedback-loopar;
3) utforskande när det gäller krav.

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

Processen att skapa 3D-grafik består av tre steg, varav det första är 3D-modellering (3D modeling), och det tredje är bildvisning (display). Vad kallas det andra steget, och vad görs i det steget?

A

Rendrering (rendering), vilket handlar om att fastställa hur 3D-modellen skall visas när den projiceras på projektionsplanet (determining how the 3D-modell will appear when projected onto the projection plane).

17
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

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

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

20
Q

Vad är syftet med klassdiagram (class diagrams)?

A

Att beskriva strukturen av olika typer av objekt (klasser) och relationen mellan olika typer av objekt (klasser).

21
Q

Vad kännetecknar ett sorterat binärt träd (sorted binary tree) (”binärt sökträd”)?

A

Att varje nod i trädet har två eller färre subträd (barnnoder), att alla noder i det vänstra subträdet innehåller värden lägre än innehållet i den aktuella noden, och att alla noder i det högra subträdet innehåller värden högre än innehållet i den aktuella noden.