Chapter 6 - 10 Flashcards
På vilka två sätt kan en transaktion avslutas?
En transaktion som lyckas avslutas med en commit, och en transaktion som misslyckas avslutas genom en rollback som gör transaktionens arbete ogjort.
Förklara hur begreppen frame, key frame och in-betweening som används inom animation hänger ihop?
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.
Vad innebär begreppen sekvens, selektion och iteration?
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).
Vad är design patterns (designmönster) och vad är de bra för?
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
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?
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).
Inom datorgrafik spelar ljus en viktig roll. Ljus brukar delas in i tre (3) olika sorter, vilka? Vad skiljer dem åt?
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.
Nämn ett vanligt problem som kan uppstå vid t ex överföringar mellan konton som transaktioner skyddar mot.
Ett problem är att pengar dras från det ena kontot men aldrig sätts in på det andra (pga avbrott eller fel).
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?
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.
Vad är skillnaden mellan en kompilator (compiler) och en interpretator (interpreter)?
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.
Kan en lista implementeras som en statisk eller dynamisk datastruktur, både och, eller varken eller? Motivera ditt svar!
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.
Producerar ett syntaktiskt korrekt program alltid korrekta resultat? Motivera ditt svar.
Nej, ett syntaktiskt korrekt program kan krascha vid körning (runtime errors) och producera felaktiga svar p.g.a. logiska fel.
Vad är syftet med use case diagram?
Att beskriva det föreslagna systemet från användarens synvinkel.
Kan lågnivå-datastrukturen array användas för att implementera en kö (queue)? Motivera ditt svar!
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)
Vid rendrering så skall en trediminsionell modell överföras till en platt yta.
Vad kallas denna platta yta?
Projiceringsplan/projiceringsyta (projection plane).
Vilka tre saker kännetecknar lättrörliga utvecklingsmodeller (agile development models)?
1) Inkrementella och iterativa;
2) korta feedback-loopar;
3) utforskande när det gäller krav.