Labben består av två uppgifter (och en frivillig, uppgift 2).
Den sista (GUI:et) kan inte göras förrän den
första uppgiften är gjord, själva krypteringen.
Den första uppgiften görs helt utan GUI.
Just hanteringen av GUI:t är en av de relativt få saker som är lite
dator/plattforms-beroende i Matlab. Så se till att ni gör hela
GUI-deluppgiften på en och samma dator.
Den första deluppgiften (krypteringen utan GUI) kan ni börja på en
dator och sedan flytta till och fortsätta med på en annan
dator. (Precis som alla övriga labb-uppgifter i denna kurs).
-
1. Avkryptering
- Filhanteringen och frekvensanalysen är två separata problem.
Lös ett i taget.
- Prova att läsa in rader från en fil och skriva ut dem på en annan.
- När ni börjar jobba med frekvensräkningen är det lättast att
bara ge en inmatad textrad i Matlab-fönstret och sedan skriva
ut resultatet i Matlab-fönstret också.
- Slå sedan ihop de debuggade programkoderna.
- Tårtdiagrammet skall ha max 10 bokstäver i sig - inte alla 27.
- Man ska kunna välja rullbokstav!
Det är inte alltid som "e" är mest frekvent!
- Det är inte alla texter som har "e" som vanligaste bokstav.
Tex: "Ojooj Dbsmtvoe" har mest "o" men det var "n" i originaltexten.
- Börja gärna med att skapa en egen kort textfil att jobba med.
Skapa sedan flera egna lagom korta datafiler.
Välj själva rullbokstav.
Fortsätt sedan med kursbibliotekets mindre filer, tex kryp99.txt
- Tips: Börja inte med krypterad0.txt eller krypteradX.txt.
De är lite luriga!
- Läs ett tecken i taget.
Gör sedan något BARA om det är en engelsk bokstav.
Om det inte är en engelsk bokstav
- bara gå vidare till nästa tecken om det är vid frekvensräkningen;
- bara släpp igenom den som den är vid avkrypteringen.
Då kommer mellanslag och radbyten att behållas automatiskt!
- Det är OK att omvandla alla bokstäver till versaler om man vill.
- Programmet skall klara att kryptera engelsk text.
Dvs engelska bokstäver samt siffror, mellanslag, skiljetecken,
radslut, mm som förekommer i en vanlig text.
-
2. Versaler och gemener
- Frivillig. Liten tankenöt för den som vill.
-
Den frivilliga uppgiften 2 innebär en modifiering av det program
ni skrev i uppgift 1. Tips: Tag en kopia av ert program innan ni
börjar modifiera det.
-
3. Grafiskt användargränssnitt, GUI
- Ni väljer vilka delar/rutor/knappar GUIet skall ha.
- Återanvänd den debuggade koden från uppgift 1.
Kopiera in valda delar av koden till callback-funktionerna.
Några små delar kommer att behöva modifieras för att passa
callback-funktionerna.
- Utskriftsrutan behöver ej ha "scroll-bars".
Men lyckas ni är det extra lyxigt. (=Frivilligt!)
- Som ovan: Man ska kunna välja rullbokstav!
Det är inte alltid som "e" är mest frekvent!
-
Kursadministration
- Se till att stå med i laborationslistan!
Om du inte står med: gör "res checkin numpk08"!
- Se till att allt rapporterats.
Kontrollera dina resultat med "res show numpk08".
-
Hederskodex
- Läs igenom hederskodexen.
Se till att du uppfyller den!
- Att vi kan ha en del av examinationen som labbar bygger på att
den som redovisar labbarna också har gjort dem.
- Även om ni labbar 2 och 2 skall var och en kunna redovisa för
hela labben.
Tillbaka till kurssidan.
Sidansvarig: <ninni@nada.kth.se>
Senast ändrad 12 januari 2009
Tekniskt stöd: <webmaster@nada.kth.se>