2TX SO-Programmeren voor multimedia: verschil tussen versies

Uit Diana's examenwiki
Regel 1: Regel 1:
 
== Algemeen ==
 
== Algemeen ==
 
+
Er wordt normaliter geen theorie gegeven. Alles is zelfstudie.
Er staan geen punten op PE, 100% is op het examen zelf. Elk les begint met een uurtje theorie en dan oefeningen. Deze oefeningen krijg je vaak tijdens de les niet af en zal je thuis verder moeten maken om dan op te sturen naar meneer Ausseloos. In het begin van de les pakt hij vaak de slechtste oefeningen en verbetert deze klassikaal.
+
* Doorheen het semester zijn er een reeks kleine opdrachten waar 25% van de punten staan.
 
+
* Op het einde van het semester dient er een project ingeleverd te worden waar 25% van de punten op staan.
 +
* Tijdens de examenperiode is er een schriftelijk openboek examen dat meetelt voor 50% van de punten.
 
== Juni 2016 ==
 
== Juni 2016 ==
  

Versie van 28 mei 2018 om 11:54

Algemeen

Er wordt normaliter geen theorie gegeven. Alles is zelfstudie.

  • Doorheen het semester zijn er een reeks kleine opdrachten waar 25% van de punten staan.
  • Op het einde van het semester dient er een project ingeleverd te worden waar 25% van de punten op staan.
  • Tijdens de examenperiode is er een schriftelijk openboek examen dat meetelt voor 50% van de punten.

Juni 2016

Vraag 1 en 2

Je kreeg code en moest zeggen wat de output was.

Vraag 3

Je krijgt 3 struct klassen en moest een functie schrijven in C++ zoals in java de "instanceof" methode bestaat.

Dit moest met "dynamic_casting".

Vraag 4

Teken de Huffman-boom

Vraag 5

Zet de Huffman-boom om naar bits.

Vraag 6

je kreeg een zin bestaande uit "abc" letters en moest het omzetten naar bits via het LZ77-compressiealgoritme.

Vraag 7 en 8

Je kreeg 2 keer een volledige "tekst" en je moest zeggen welk compressie-algoritme het beste gebruikt zou worden hiervoor. (LZ77, RLE of Huffman). Ook uitleg geven waarom.

Vraag 9

Je kreeg Java-code en moest dit omzetten naar C++ code.

Van wat ik me nog herinner van de opgave was:

interface Observer{
void update();
}
public class PrintingObserver implements Observer{
@Override
public void update(){
system.out.println("Update detected.");
}
}
public class Observable{
private ArrayList<Observer> observers = new ArrayList<Observer>();
public void addObserver(Observer observer){
     observers.add(observer);
}
 public void updateObservers(){
 for(Observer observer : observers){
     observer.update();
}
}
}
public class App(){
public static void main(String[] args){
Observable o1 = new Observable();
Observable o2 = new Observable();
Observer o = new PrintingObserver();
o1.addObserver(o);
o2.addObserver(o);
o1.updateObservers();
}
}


Juni 2015

Deel 1

Deel 1.1

Code:

int main() {

  IObject* s1 = new Square(Point(1,4),2.2);
  cout << s1->getPosition() << endl;
  cout << s1->getSize() << endl;
  Square s2 = new Square(Point(4,5),5);
  Square* s3 = new RotatedSquare(Point(5,5),8,60);
  cout << s2;
  cout << &s3;

}

uitvoer:

(1,4)
2.2
Position: (4,5) size: 5
Position: (5,5) size: 8 angle: 60


opdracht:

Schrijf de klassen IObject, Square en RotatedSquare.
Schrijf code zoals je zou verwachten van een professionele programmeur.
De klasse Point bestaat al. Je mag er vanuit gaan dat deze de << operator al ondersteunt.
Codeduplicatie is niet toegestaan.
IObject is een interfaceklasse.

Deel 1.2

Geef telkens één regel code voor elke vraag.

1) Alloceer met dynamisch geheugen de array d die 12 doubles bevat. 2) Gebruik een pointerimplementatie om de laatste waarde van deze array op 101 te zetten. 3) Verwijder nu deze dynamische array. 4) Maak een array b aan die 18 integers bevat. Dit zonder dynamische allocatie.

Deel 1.3

1. Tijdens het framework bij de drawmethode van boid zagen we dat de boid niet altijd juist geörienteerd stond naargelang zijn richting. Leg uit hoe dit kwam en hoe dit kan opgelost worden. 2. Leg uit tijdens het laatste labo wat er gebeurde wanneer enkele boids van de flock over de westelijke grens van het scherm kwamen. Leg ook uit hoe dit komt.


Deel 2

Deel 1.1

Gegeven zijn de klassieke oefeningen tijdens de eerste 7 labo's. Er worden variabelen aangemaakt en (dubbele) pointers worden daarnaar toegewezen. Dan worden de pointers gemixt en waarden veranderd. Geef op het einde de uitvoer van elke variabele.

Deel 1.2

Gegeven is een stuk code met maximaal (maar niet noodzakelijk) 10 fouten in. Nummer elke regel waar een fout in zit en schrijf op een ander blad wat er wel op deze regel moet staan.


Juni 2014

Deel 1

Je krijgt de vraag om enkele classes te implementeren met hun header files. Deze classes hebben we al gezien tijdens het jaar (Point, Vector,...) Enkele operator overloading, assignment operator en hard copy dingen

Deel 2

1) Je krijgt een code en moet de eindwaardes van drie variabelen berekenen (pointers en shizzlewizzle)

2) Je krijgt enkele papieren code, haal alle fouten hieruit en verbeter deze (max 8 fouten)