Page 1 of 1

[Prog] Nuttige Modules

Posted: Fri Jan 04, 2008 7:38 pm
by Sebastiaan
Iedereen die een idee heeft van programma's die nuttig kunnen zijn voor op het examen. Dus ik zal alvast beginnen.

Lijsten Module.
- Nodes toevoegen voor en achter een node
- Nodes verwijderen
- Sorteren
- Printen

Random Numbers (mogen wij die van den arickx gebruiken?)

Re: [Prog] Nuttige Modules

Posted: Fri Jan 04, 2008 7:45 pm
by Nick
Sebastiaan wrote:Random Numbers (mogen wij die van den arickx gebruiken?)
jot :)
Ook meenemen: OutExt :D (geloof mij, redelijk wat mensen vergeten dat op het eerste exaam)

Al uw reeksen ook meenemen :)

Posted: Fri Jan 04, 2008 7:52 pm
by Pieter Belmans
Voor zover ik weet is dat geen module van meneer Arickx, maar iets standaard Oberon'ig.

Ik heb een gelinktelijstmodule geschreven, die in staat is om:

Empty, Enumerate, EnumerateReverse, IsEmpty, NodeDelete, NodeExchange, NodeInsert, NodeInsertAfter, Print (basically een call naar Enumerate), ReturnLastNode, ReturnPreviousNode en SetCurrent (maar ik gebruik die current-pointer eigenlijk nergens, en niet overal wordt hij juist gezet ook).

Hierop verder bouwend heb ik om te oefenen een selection sort, insertion sort, quick sort en bubble sort geïmplementeerd.

Ohja, voor elke mogelijke lijst heb ik uitbreidingen gemaakt, zodat bepaalde procedures veel sneller werken. EnumerateReverse op een enkelgelinkte lijst is O(n!), dubbelgelinkt wordt dat nog maar O(n). Quite a difference :P. Zeker ook bij het sorteren helpt het. You never know dat de opgave expliciet niet-circulair of enkelgelinkt is, ze hebben me al 's een opdracht laten aanpassen door een van hun stomme grillen :P.

Hoe ga jij trouwens op een nette manier het sorteren in de lijstmodule zelf uitwerken? Je werkt dan toch sowieso met een vast veld waarop gesorteerd wordt, terwijl je niet weet op welk veld er uiteindelijk moet gesorteerd worden? Dan zit je met een veld key, terwijl je eigenlijk op prijs moet sorteren bijvoorbeeld. Het wérkt natuurlijk wel, maar naamgevingtechnisch is het niet zo mooi :).


Voorts neem ik al mijn opdrachten/reeksen mee, de drie tuyeauxexamens die ik gemaakt heb, de dynamische vier-op-een-rij die ik van Nils moest schrijven omdat ik anders niks te doen had en het Oberonboek van de bib :).


Maar, dat examen is nog een halve maand ver, waar zit je je nu al zorgen om te maken :P.

Posted: Fri Jan 04, 2008 8:58 pm
by Sem
Pieter Belmans wrote:Voor zover ik weet is dat geen module van meneer Arickx, maar iets standaard Oberon'ig.

Ik heb een gelinktelijstmodule geschreven, die in staat is om:

Empty, Enumerate, EnumerateReverse, IsEmpty, NodeDelete, NodeExchange, NodeInsert, NodeInsertAfter, Print (basically een call naar Enumerate), ReturnLastNode, ReturnPreviousNode en SetCurrent (maar ik gebruik die current-pointer eigenlijk nergens, en niet overal wordt hij juist gezet ook).

Hierop verder bouwend heb ik om te oefenen een selection sort, insertion sort, quick sort en bubble sort geïmplementeerd.

Ohja, voor elke mogelijke lijst heb ik uitbreidingen gemaakt, zodat bepaalde procedures veel sneller werken. EnumerateReverse op een enkelgelinkte lijst is O(n!), dubbelgelinkt wordt dat nog maar O(n). Quite a difference :P. Zeker ook bij het sorteren helpt het. You never know dat de opgave expliciet niet-circulair of enkelgelinkt is, ze hebben me al 's een opdracht laten aanpassen door een van hun stomme grillen :P.

Hoe ga jij trouwens op een nette manier het sorteren in de lijstmodule zelf uitwerken? Je werkt dan toch sowieso met een vast veld waarop gesorteerd wordt, terwijl je niet weet op welk veld er uiteindelijk moet gesorteerd worden? Dan zit je met een veld key, terwijl je eigenlijk op prijs moet sorteren bijvoorbeeld. Het wérkt natuurlijk wel, maar naamgevingtechnisch is het niet zo mooi :).


Voorts neem ik al mijn opdrachten/reeksen mee, de drie tuyeauxexamens die ik gemaakt heb, de dynamische vier-op-een-rij die ik van Nils moest schrijven omdat ik anders niks te doen had en het Oberonboek van de bib :).


Maar, dat examen is nog een halve maand ver, waar zit je je nu al zorgen om te maken :P.
Ge kunt maar beter goed voorbereid zijn. :D :D :wink:

Posted: Fri Jan 04, 2008 9:18 pm
by Pieter Belmans
Het is meer uit verveling dat ik dat allemaal gemaakt heb :X. Zeg nu zelf, wat is leuker: de werking van xDSL of programmeermarathons \o/.

Posted: Fri Jan 04, 2008 9:19 pm
by cG`
Pieter Belmans wrote:Ik heb een gelinktelijstmodule geschreven, die in staat is om:

Empty, Enumerate, EnumerateReverse, IsEmpty, NodeDelete, NodeExchange, NodeInsert, NodeInsertAfter, Print (basically een call naar Enumerate), ReturnLastNode, ReturnPreviousNode en SetCurrent (maar ik gebruik die current-pointer eigenlijk nergens, en niet overal wordt hij juist gezet ook).
...
En kunde in die lijst eender welke data steken? Want anders is da nie zo zinvol natuurlijk :)
Ik heb op dat examen van vorig jaar eigenlijk niks gebruikt van oplossingen, cursus ofzo. Gewoon een vooraf gemaakte module en toolfile :)

Posted: Fri Jan 04, 2008 9:26 pm
by Nick
Pieter Belmans wrote:Voor zover ik weet is dat geen module van meneer Arickx, maar iets standaard Oberon'ig.
*buzzersound*
nee :P
Out.Mod is van Oberon, OutExt.Mod is van Arickx ;)

Posted: Fri Jan 04, 2008 9:59 pm
by Shinta
Pieter Belmans wrote:Het is meer uit verveling dat ik dat allemaal gemaakt heb :X. Zeg nu zelf, wat is leuker: de werking van xDSL of programmeermarathons \o/.
Boh :).

Vergeet ook geen 3D-engine te maken en mee te nemen. Wordt soms gevraagd.

Posted: Fri Jan 04, 2008 10:28 pm
by Fristi
Go Shinta :D

Posted: Fri Jan 04, 2008 10:29 pm
by Pieter Belmans
cG` wrote:Ik heb een gelinktelijstmodule geschreven, die in staat is om:

Empty, Enumerate, EnumerateReverse, IsEmpty, NodeDelete, NodeExchange, NodeInsert, NodeInsertAfter, Print (basically een call naar Enumerate), ReturnLastNode, ReturnPreviousNode en SetCurrent (maar ik gebruik die current-pointer eigenlijk nergens, en niet overal wordt hij juist gezet ook).

En kunde in die lijst eender welke data steken? Want anders is da nie zo zinvol natuurlijk :)
Ik heb op dat examen van vorig jaar eigenlijk niks gebruikt van oplossingen, cursus ofzo. Gewoon een vooraf gemaakte module en toolfile :)
Ja, je extendt gewoon de basisobjecten. Voor de sorteeralgoritmes te testen heb ik 'n IntegerList gemaakt, maar een van de tuyeauxexamens heb ik er ook mee gedaan.
Nick wrote:*buzzersound*
nee Razz
Out.Mod is van Oberon, OutExt.Mod is van Arickx :wink:
Ik had het dan ook over RandomNumbers ;). En OutExt is geschreven door Serge Demeyer if I remember correctly.
Shinta wrote:Boh :).

Vergeet ook geen 3D-engine te maken en mee te nemen. Wordt soms gevraagd.
ASCII 3D dan? :P[/quote]

Posted: Sat Jan 05, 2008 2:53 am
by JoeriFranken
Kem gewoon nen OO list gemaakt waarbij da ge via nen bepaalde index kunt toegevoegen, dus vooraan of achteraan of ergens tussen de lijst... Natuurlijk polymorf gemaakt zoda ge zowel strings als reals als integers kunt afdrukken wanneer nodig. En dan nog wa extra procedures...

Posted: Mon Jan 07, 2008 11:48 pm
by Winak465
Gaan wij trouwens op het practicum examen alles in 1 procedure moeten plaatsen (de testmodule dan) of gaat er op runtime niveau nog dingen moeten bijgevoegd worden? Handig om te weten ^^

Posted: Tue Jan 08, 2008 11:40 am
by racekakje
waarschijnlijk moete alles me commando's doen, die dan gewoon in uwe toolfile staan..

Dus 1 module gok ik

Posted: Tue Jan 08, 2008 2:59 pm
by JoeriFranken
Ge moogt zelf kiezen hoe ge da doet. Als het maar werkt :)