Exmen: Computergebruik 1 e Bchelor Informtic dinsdg 17-08-010, 8:30 prof. dr. Peter Dwyndt cdemiejr 009-010 groep 1 tweede zittijd Opgve 1 Gegeven is een tekstbestnd tour010.txt wrin de einduitslg vn de Tour de Frnce 010 werd opgenomen. Elke regel bevt volgende informtie over een beplde renner: i plts in einduitslg, ii ntionliteit, iii nm, iv rugnummer, v tem, vi totl gereden tijd en vii fstnd in tijd ten opzichte vn de winnr. De verschillende informtievelden worden vn elkr gescheiden door tbs. Het bestnd bevt bovendien een hoofding wrvn lle regels beginnen met een hekje (#. Gevrgd wordt om, gebruik mkend vn de teksteditor vi (of vim, een reeks substitutiecommndo s op te stellen die chtereenvolgens de volgende opdrchten uitvoeren: 1. Vervng het veldscheidingsteken door een komm, en zorg ervoor dt lle spties voorn en chtern elk veld verwijderd worden.. Zet lle tijdsnduidingen (zowel de totl gereden tijd ls de fstnd in tijd ten opzichte vn de winnr om nr het formt HH:MI:SS, wrbij de uren, minuten en seconden telkens met twee cijfers worden ngegeven. Het plusteken bij de fstnd in tijd ten opzichte vn de winnr komt hierbij te vervllen. Zo moeten de regels.,lux,schleck Andy,11,TEAM SAXO BANK,91h 59 7",+ 00 39" 140.,ESP,HERNANDEZ BLAZQUEZ Jesus,4,ASTANA,95h 30 50",+ 3h 3 0" worden omgezet nr.,lux,schleck Andy,11,TEAM SAXO BANK,91:59:7,00:00:39 140.,ESP,HERNANDEZ BLAZQUEZ Jesus,4,ASTANA,95:30:50,03:3:0 3. Splits de nm vn de renners op in hun voor- en fmilienm, en plts deze in fzonderlijke velden. Let hierbij op het feit dt de strtpositie vn de voornm kn herkend worden doordt de tweede letter ervn geen hoofdletter is. Fmilienmen worden immers volledig in hoofdletters geschreven. De twee regels uit het voorgnde voorbeeld moeten dus omgezet worden nr.,lux,andy,schleck,11,team SAXO BANK,91:59:7,00:00:39 140.,ESP,Jesus,HERNANDEZ BLAZQUEZ,4,ASTANA,95:30:50,03:3:0 4. Duidt de kopmnnen in het peloton n door het punt chter hun plts in de einduitslg te vervngen door de letter k. Kopmnnen kunnen herkend worden doordt ze een rugnummer drgen dt eindigt op het cijfer 1. Vn de twee regels uit het voorgnde voorbeeld, moet dus enkel de eerste regel ngepst worden. Dit levert het volgende resultt op k,lux,andy,schleck,11,team SAXO BANK,91:59:7,00:00:39 140.,ESP,Jesus,HERNANDEZ BLAZQUEZ,4,ASTANA,95:30:50,03:3:0 5. Herorgniseer het bestnd zodnig dt de regels vn de einduitslg lfbetisch worden gerngschikt op de temnm, en binnen elk tem volgens stijgend volgnummer. 6. Plts de inhoud vn elk veld tussen dubbele nhlingstekens. Zo moeten de twee voorbeeldregels worden omgezet nr "k","lux","andy","schleck","11","team SAXO BANK","91:59:7","00:00:39" "140.","ESP","Jesus","HERNANDEZ BLAZQUEZ","4","ASTANA","95:30:50","03:3:0" 1
Probeer voor elke opdrcht zo weinig mogelijk commndo s te gebruiken en zorg ervoor dt elk vn deze commndo s bestt uit zo weinig mogelijk tekens. De regels vn de hoofding mogen door je commndo s niet gewijzigd worden, zelfs niet ls er bijkomende regels n de hoofding worden toegevoegd. Alle wijzigingen moeten n elkr uitgevoerd worden. Opgve Gebruik filters, I/O redirection en pipes om telkens één enkel commndo smen te stellen dt uitvoer genereert die voldoet n onderstnde beschrijvingen. 1. De commndo s strce <commndo > (Linux en truss <commndo > (Solris voeren commndo uit, en onderscheppen lle system clls die door het corresponderende proces worden ngeroepen. Als bijvoorbeeld het commndo truss dte wordt uitgevoerd op genix, dn wordt de volgende uitvoer gegenereerd (ingekort. execve("/usr/bin/dte", 0xFFBFFD94, 0xFFBFFD9C rgc = 1 resolvepth("/usr/lib/ld.so.1", "/lib/ld.so.1", 103 = 1 resolvepth("/usr/bin/dte", "/usr/bin/dte", 103 = 13 stt("/usr/bin/dte", 0xFFBFFB70 = 0 open("/vr/ld/ld.config", O_RDONLY Err# ENOENT... Op elke regel vn de uitvoer gt de nm vn de ngeroepen system cll het krkter ( voorf. Vul één vn de commndolijnen (fhnkelijk vn het systeem wrop je werkt strce dte... truss dte... verder n, zodt een overzicht gegenereerd wordt vn de vijf meest ngeroepen system clls. De system clls moeten in het overzicht worden opgelijst in dlende volgorde vn het ntl nroepen, en de nm vn de system cll moet telkens worden voorfgegn door het ntl keer dt die werd ngeroepen. Zorg ervoor dt de uitvoer die door commndo gegenereerd wordt niet wordt uitgeschreven. Het is niet toegelten om gebruik te mken vn de opties vn de commndo s strce of truss. Op genix moet bijvoorbeeld de volgende uitvoer gegenereerd worden. 8 mmp 6 brk 4 open 4 resolvepth 3 close. Als de inhoud vn de mnul pges vn het commndo mn nr het bestnd out wordt geschreven met behulp vn het commndo mn mn > out dn wordt deze inhoud opgemkt met behulp vn llerlei controlekrkters. Ps bovenstnde commndolijn n, zodt de inhoud vn de mnul pges zonder controlekrkters nr het bestnd out geschreven wordt.
3. Met het commndo df kn informtie opgevrgd worden over de gemounte bestndssytemen. Op een voorbeeldsysteem hebben we met dit commndo twee bestnden ngemkt. De uitvoer vn het commndo df -h (vrije en gebruikte schijfruimte werd weggeschreven nr het bestnd df blocks.txt. De uitvoer vn het commndo df -ih (informtie over inodes werd weggeschreven nr het bestnd df inodes.txt. Het commndo df kn zelf geen overzicht genereren wrin zowel informtie over schijfruimtegebruik ls inodegebruik terug te vinden is. Geef een commndo dt voor elk vn de corresponderende regels vn de twee gegeven bestnden de eerste vijf kolommen vn het bestnd df blocks.txt en de kolommen twee, drie, vier en vijf vn het bestnd df inodes.txt smenvoegt. In het finle overzicht moeten de kolommen vn elkr worden gescheiden door middel vn tbs. Het eindresultt moet er dus ls volgt uitzien. Filesystem Size Used Avil Use% Inodes IUsed IFree IUse% /dev/sd1 4.7G.9G 1.7G 65% 611K 94K 518K 16% /dev/sd6 91G 6.8G 80G 8% 1M 10K 1M % /dev/sd3 1.9G 149M 1.7G 9% 45K 30 45K 1% /dev/sd 1.9G 33M 1.5G 18% 45K 83 44K 1% /dev/home 5.5T 335G 5.T 7% 5.7M 1.4M 4.4M 3% /dev/scrtch 7T 5.4T 1T 1% 7M 5.1M M 0% /dev/sof 1.9T 30G 1.6T 13%.0M 809K 1.M 41% /dev/dt 30T 969G 9T 4% 30M 1.5M 8M 5% /dev/sof1 1.9T 66G 1.8T 4%.0M 496K 1.5M 5% 4. Project Gutenberg is een project dt toelt om gedigitliseerde versies vn boeken wrvoor het copyright is vervllen, grtis te downloden. Gevrgd wordt om een eenvoudige spellingscontrole te ontwikkelen voor Project Gutenberg. Dit gebeurt in drie stppen, wrbij in elke stp één commndo moet opgesteld worden dt een uitbreiding is vn het commndo uit de vorige stp. ( Boeken zijn bij Project Gutenberg te vinden ls tekstbestnden met de volgende vorm. <sectie 1> *** START OF THIS PROJECT GUTENBERG EBOOK... <sectie > *** END OF THIS PROJECT GUTENBERG EBOOK... <sectie 3> Geef een commndo dt de tekst vn het boek Alice s Adventures in Wonderlnd vn Lewis Crroll fhlt vn de URL http://www.gutenberg.org/files/11/11.txt, en enkel de tweede sectie uitschrijft nr stndrd uitvoer. (b Geef een commndo dt lle woorden vn het boek Alice s Adventures in Wonderlnd lfbetisch gerngschikt oplijst (woorden worden vn elkr gescheiden door spties. In deze lijst stt elk woord op een fzonderlijke regel en komt elk woord slechts één keer voor. Zorg ervoor dt hoofdletters worden omgezet nr kleine letters. Behoud enkel woorden die uitsluitend uit letters vn het lfbet bestn, en zorg ervoor dt de lijst geen lege regels bevt. De ingekorte uitvoer vn het commndo ziet er dn bijvoorbeeld ls volgt uit. bide ble bout... youth zelnd zigzg 3
(c Breid het commndo uit de vorige stp verder uit, zodt enkel die woorden weerhouden worden die niet voorkomen in het bestnd woordenlijst.txt. Schrijf deze woorden genummerd uit, zols hieronder wordt weergegeven. 1 rrum chtte 3 dinn 4 hjckrrh 5 lefthnd 6 morcr 7 ootiful 8 rosetree 9 seogrphy 10 stignd Opmerking: De uitvoer vn de eerste twee stppen vn de spellingscontrole is terug te vinden in de bestnden opgve 4.out en opgve 4b.out. Je kunt deze bestnden gebruiken indien je er (nog niet in geslgd bent om de eerste commndo s voor de spellingscontrole op te stellen. Opgve 3 Code 39 is een techniek voor het opstellen vn brcodes die in 1974 door Dr. Dvid Allis nd Ry Stevens werd ontwikkeld voor het bedrijf Intermec. Bij code 39 wordt elk letterteken voorgesteld door vijf verticle zwrte stroken, die vn elkr worden gescheiden door vier verticle witte stroken. Brcodes vn opeenvolgende lettertekens worden steeds vn elkr gescheiden door een smlle witte strook. Onderstnde figuur illustreert hoe het woord COMPUTERGEBRUIK eruitziet ls code 39 brcode. Code 39 brcodes worden in ASCII-formt gecodeerd door vier symbolen te gebruiken die de vier combinties vn smlle/brede zwrte/witte bnden voorstellen. De twee formten Σ 1 en Σ (zie onderstnde tbel die hiervoor gebruikt worden, zijn niets nders dn twee verschillende mnieren om dezelfde onderliggende codering te omschrijven. Het gt dus niet om twee vrinten vn code 39. Zo kn het letterteken A worden voorgesteld door de tekenreeks BsSsSbSsB of door de tekenreeks ZwzwzWzwZ. Ook een hybride voorstelling die gebruik mkt vn een combintie vn de symbolen uit Σ 1 en Σ is toegelten. De tekenreeks ZszszbzsZ is dus ook een geldige code 39 voorstelling vn het letterteken A. Bij de voorstelling vn code 39 brcodes in ASCII-formt wordt geen symbool opgenomen dt de scheiding vn lettertekens ngeeft. strook Σ 1 Σ breed zwrt B Z sml zwrt S z breed wit b W sml wit s w Het bestnd brcodes.txt bevt op elke regel de code 39 brcode in ASCII-formt vn een woord, gevolgd door een sptie en het woord zelf. Sommige ASCII-brcodes zijn ongeldig omdt hun ntl stroken geen veelvoud is vn negen, of omdt ze symbolen bevtten die niet in de formten Σ 1 of Σ voorkomen (wrdoor ze niet tot B behoren; zie hieronder. Gevrgd wordt: 4
1. Bepl reguliere expressies voor elk vn de onderstnde verzmelingen, wrbij B de verzmeling vn lle tekenreeksen voorstelt wrvn de symbolen voorkomen in Σ 1 of Σ, en wrvn het ntl symbolen een veelvoud is vn negen. Probeer deze reguliere expressies zo kort mogelijk te houden. ( α = {b B ntl smlle witte bnden in b is oneven} (b β = {b B b bevt minstens tien opeenvolgende stroken met dezelfde breedte} (c γ = {b B in b wordt elke letter uitsluitend vertld door symbolen uit Σ 1 of Σ } voorbeelden: ZwzwzWzwZ BsSsSbSsB zwzwzwzwz SsBsSbSsB γ ZwSsSWSsZ zwbssbzsz BsSszWzwB BwBszWSwz γ (d δ = {b B voor en n een letterovergng in b stt hetzelfde symbool} voorbeelden: ZwzwzWzwZ ZwZwzWzwz zwzwzwzwz zwzwzwzwz δ BsSwzbSwZ BszsSbSwZ BsSwzsZbS SwzsZbzwB δ Opmerking: In bovenstnde voorbeelden worden de letterovergngen met een verticle streep ( ngegeven. Dit dient enkel ter verduidelijking vn de voorbeelden. In de brcodes worden letterovergngen niet expliciet ngegeven. Gebruik een commndo uit de grep fmilie om enkel die regels vn het bestnd brcodes.txt te selecteren die brcodes bevtten die behoren tot de opgegeven verzmeling. Vermeld in je ntwoordbestnd voor elke verzmeling het gebruikte selectiecommndo, en geef ook n hoeveel regels je gevonden hebt.. Beschouw de verzmelingen α, β, γ en δ zols hierboven gedefinieerd. Gebruik nu deze verzmelingen om op de volgende mnier een boodschp bestnde uit vier woorden te chterhlen: ( het eerste woord stt op de unieke regel met een brcode uit de verzmeling α β (b het tweede woord stt op de unieke regel met een brcode uit de verzmeling β γ (c het derde woord stt op de unieke regel met een brcode uit de verzmeling γ δ (d het vierde woord stt op de unieke regel met een brcode uit de verzmeling δ α Vermeld in je ntwoordbestnd de gevonden woorden, smen met het unix commndo (of de commndosequentie dt je gebruikt hebt om elk vn deze woorden te vinden. Elk commndo of elke commndosequentie moet dus ls resultt één vn de gezochte woorden nr stndrd uitvoer schrijven (zonder de brcode die het woord voorfgt. Opgve 4 1. Geef L A TEX-code die een reconstructie mkt vn onderstnde tbel. Zorg er drbij voor dt de opmk zo getrouw mogelijk behouden blijft. Het tekenverloop vn f(x = cos(x [ sin(x 1] (de periode is π: x 0 π 6 x wrden π 5π 6 3π (π cos(x + + + + 0 0 + (+ sin(x 1 0 + + + 0 ( f(x 0 + 0 0 + 0 ( De oplossing is dus x [0, π 6 [ ]π, 5π 6 [ ]3π,π[ + k π x ] π, π 6 [ ]π, 5π 6 [ + k π. 5
. Geef L A TEX-code die precies hetzelfde resultt oplevert ls het tekstfrgment in onderstnd kder. Zorg er drbij voor dt formules en eigen omgevingen utomtisch genummerd worden, en gebruik wr mogelijk verwijzingen nr deze nummeringen. De opdrcht in de eerste zin vn het tekstfrgment moet je ook toepssen in je LATEX. ( Mk eerst een mcro voor c, wrbij, b en c vernderlijken zijn. Gebruik die b drn om onderstnde tekst te reproduceren. Dit gedeelte is gewijd n de wiskundige berekening vn de inproducten tussen de vectoren u 0 (E, u 1 (E, v(x en w(p. Twee bestnde formules zullen hierbij vn crucil belng blijken te zijn: Formule 1 De eerste formule zegt dt n=0 ( n n! wrbij t < 1. F 1 ( n,b ( n y F 1 1 x t n = (1 t b (1 t + yt b e xt t 1 F1 ( b xyt (1 t(1 t+yt, Formule De tweede formule is de volgende bendering: ( c lim F 1 z Γ( z = lim z Γ(c ez z c n=0 ( c n (1 c n n! z n De limiet voor t 1 kn gevonden worden met behulp vn Formule. N vereenvoudiging krijgen we wrbij C 0 (E = 1. v(x,u 0 (E = A 0 (E B 0 (x = Γ( +ie Γ( +ie = C 0 (E x ie 1 π, Γ( Γ( +ie lim e x t 1+t ( x t +ie (1 + t ie t 1 x ie 1 π ie+ Plts een PDF bestnd met drin de gecompileerde L A TEX frgmenten in het ZIP-bestnd dt je indient vi Indinio. 6