Scripttalen

2010 juni examen

Je krijg een bestand in de vorm van datebook.txt

Dit bestand moet je weer splitsen en dan de huidige datum vergelijken met de datum van vandaag (localtime).

Indien de datums overeenkomen moet je naar die persoon een mailtje sturen, of een tekst bestand laten printen met daarin wat info.

Dit tekstbestand moet je dan ook wegschrijven.

 

Daarna moet je het programma voorzien van een menu, dit moet een entry bevatten om iemand toe tevoegen aan de lijst en om het programma te stoppen.

Heel simepl dus.

 

1 oefening python:

oefening waar je een sorteeralgoritme moet schrijven

 

Een oefening waarbij je op sites moet gaan zoeken naar een bepaald woord dat gebruiker ingeeft eventueel via command line.

Op basis van het aantal keer dat dit woord komt in de site is de site hot or not.

2011 juni examen

Lector: Frans Sanen

Het examen bestaat uit 1 oefening Perl, 1 oefening Python en 1 regex (die je niet kan voorbereiden, maar ter plaatse, tijdens het mondelinge gedeelte, moet bedenken). 

Permanente evalutie: 8/20

Examen: Perl (6/20), Python (4/20), mondeling gedeelte (2/20)

Perl

Je krijgt een .ics bestand met daarin afspraken. Elke afspraak heeft een aantal eigenschappen zoals begin- en einduur, locatie en naam en emailadres van de betrokken persoon.

Opdracht:

Python

Je moet voor 5 voetbalploegen bepalen welke de populairste is. Dat gebeurd aan de hand van het aantal hits ze elk hebben in een zoekmachine naar keuze. De populariteit kan dus in principe met de minuut wijzigen. Aan jou om de 3 populairste van de 5 op het scherm af te drukken.

Mondeling gedeelte

Je verdedigt je geprogrammeerde oefening van Perl en Python én je trekt 2 kaartjes, elk in verband met een regex:

2012 juni examen

Lector: Frans Sanen

Hulpmiddelen: Oefeningen, Internet, je eigen laptop

Tijdens het jaar moet je oefeningen maken, dit staat op 8 van de 20 punten.

Oefening perl (6/20)

2 input files: 1 met rekeninguitreksels en 1 met verschillende categorien aankopen. Je moest dan een financieel rapport generaten die per categorie de kosten weergeeft.
formaat categorie:

 

Categorie;Kenmerk1,Kenmerk2,…

 

voorbeeld:

 

VASTE KOSTEN;garage,tankbeurt,DATS,Lampiris,Scarlet

 

formaat rekeninguitreksel:

 

Rekeningnummer;Rubrieknaam;Naam;Munt;Afschriftnummer;Datum;Omschrijving;Valuta;Bedrag;Saldo;

 

voorbeeld:

 

BE26735012963329;;Fam. Geeft-Veeluit;EUR;2012012;01/05/2012;"BETALING AANKOPEN 01-05-2012 OM 12.22 UUR, COLRUYT 4145 MET KBC-BANKKAART 6703 73XX XXXX X303 3";03/05/2012;-16,93;608,69;

 

output:

 

Overzicht kosten mei 2012
-------------------------
VASTE KOSTEN      135,12 euro
WINKELEN           65,50 euro
...               ...

 

Oefening python (4/20)

je moet de Euromillions resultaten afhalen van de site en deze vergelijken met de nummers die je zelf ingeeft. Het programma moet teruggeven of je gewonnen hebt (meer dan 3 cijfers of cijfers en sterren) en welke cijfers je juist had.

2 regexen (2/20)

1 uitleggen, 1 schrijven zonder echte voorbereiding. (Je wordt wel op weg geholpen indien nodig :) )

2013 juni examen

2013

lector: Frans Sanen

Permanente Evaluatie (8/20)

Willekeurige selectie uit de gemaakte oefeningen. Met andere woorden: geen risico lopen en alle oefeningen maken!

Oefening perl (6/20)

Een boodschap moet verborgen worden in een aantal mails. Deze kan via commandline worden meegeven, indien niet het geval zal het script hier om moeten vragen. Vervolgens moeten er een aantal mails worden verstuurd (afhankelijk van de lengte van de boodschap). Deze mails worden opgevuld met willekeurige karakters (20 lijnen van 50 karakters). In elke mails wordt dan vervolgens een willekeurige plaats gekozen; op die plaats worden 5 opeenvolgende lettertekens gezet (bv. abcde) gevolgd door 10 karakters van de boodschap. Het aantal mails wordt zo gekozen dat elke mail een stuk van de boodschap bevat. Merk op dat de laatste mail dus minder dan 10 karakters kan bevatten, maar dit is niet erg.

Bonusopmerking: merk op dat op elke lijn een \n staat. Wanneer je de boodschap hier overschrijft zal er dus een newline verdwijnen. Dit kan op verschillende manieren worden opgelost, de eenvoudigste: er voor zorgen dat er altijd een index wordt gekozen zodat dit nooit gebeurt. Met andere woorden: willekeurige getal tussen 0 en 20 * 50 (lijn) + willekeurige getal tussen 0 en 35 (- 15 voor de mogelijke lengte van de boodschap + opeenvolgende letterrij).

Oefening python (4/20)

Uit een invoerbestand moet een lijst opgesteld worden van de woorden die het meest voorkomen in het bestand. Dit bestand, zowel als het aantal woorden dat moet worden getoond moet kunnen meegegeven worden via de commandline. Indien dit niet gebeurt (of deze parameters niet geldig zijn, vraagt het script de gebruiker om de juiste parameters in te geven. Denk aan inputcontrole (eventueel regex (whitelist)). Vervolgens bestand lezen en voor elk woord het aantal voorkomens registreren (pythons dictionary gebruiken). Sorteren (bv. OrderedDictionary Let wel: reversed) en ten slotte de top zoveel tonen (afhankelijk van het opgegeven aantal woorden).

(Deze opdracht is als oefening voorgekomen bij Perl tijdens het jaar)

2 regexen (2/20)

2 kaartjes trekken: 1 regex uitleggen, 1 regex opstellen Niveau: eenvoudig

2018 juni examen

lector: Frederic Vogels

Examen

Count courses

Je krijgt een JSON input in de vorm van

[ 
    { "studentId": "r0000001","courses": [ "MBI58x", "MBI12x", "MBI98x" ] },
    { "studentId": "r0000002","courses": [ "MBI58x", "MBI12x", "MBI98x" ] },
]

Gevraag is return een JSON in de vorm van { "r0000001": 3, "r0000002": 3 } Met 3 de lengte van courses.

Download

Je krijgt een lijst van ids, en wordt gevraagd de volgende output te returnen

if [ ! -d {id} ]; then
    git clone https://github.com/{id}/project {id}
else
    (cd {id}; git pull)
fi

voor {id} een id uit de lijst van id's.

Hash

Je krijgt een bestandsnaam als input, lees iedere lijn en vervang deze door de eerste 10 characters van zijn hash. Bv. als er staat a dan schrijf je 10 eerste hex-cijfers van SHA256(a).

Regex

Verander hoofdletters door _ gevolgd door kleine letter, Bv. isLarge --> is_large

Stats

Argumentparser oefening

Translate

Vertaal een Java klasse naar een Python OO klasse

2020 augustus examen

de opgave en oplossingen voor het 2020 augustus examen met dank aan ISW

 

2020 juni examen

Het examen bestond uit 5 vragen, in totaal 23 punten. Het examen staat op 20 punten als je dus 10/23 hebt, ben je dus geslaagd. (20/23 = 20/20)

In exam.zip staan alle vragen zonder oplossing. En in Oplossingen_Sigfried.zip staan mijn oplossingen. Wellicht kan je sommige korter schrijven (mario-kart bv), zie het als een challenge voor jezelf!

Als je de bestanden download ga je ermee akkoord dat je hier geen misbruikt van zal maken, dit is enkel bedoeld om voor het volgende examen te oefenen!

 

Bestanden met dank aan ISW en Sigfried Seldeslachts: 20 Juni.zip 

2021 januari examen

de opgave en oplossingen voor het 2021 januari examen met dank aan ISW