Laboration 1
Laboration 1
Laboration 1
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Laboration</strong> 1<br />
Denna laboration är en introduktion för att du skall bli van vid syntaxen i C# samt<br />
att skapa både textbaserade och grafiska applikationer. Gör gärna samtliga<br />
dellabbar, men endast de sista deluppgifterna under ”GUI-övningar” (lottoprogram<br />
och miniräknare) skall redovisas.<br />
Vid inlämning ska körbar, väldokumenterad kod, samt dokumentation i enlighet med<br />
instruktionerna på: http://www.cs.kau.se/cs/students/lab_info/ följas. <strong>Laboration</strong>en skall<br />
lämnas in i undervisande lärares postfack.<br />
Denna laboration har endast obligatoriska delar, dvs. inga delar som kan påverka<br />
kursbetyget. <strong>Laboration</strong>en ska lämnas in senast 090424<br />
1.1 Console-övningar: introduktion i syntax<br />
1. Skriv ett program som läser in ett årtal och undersöker om året är ett skottår. Ett<br />
år är ett skottår om det är (jämnt) delbart med 400, eller med 4 men inte med 100.<br />
2. Skriv ett program som beräknar värdet av 1 + 2 + 3 ... tills summan överstiger<br />
100. Då ska summan samt det senast adderade talet skrivas ut.<br />
3. Indata består av en följd av heltal skilda från noll. Talföljden avslutas med en<br />
nolla. Skriv ett program som beräknar summan och summan av kvadraterna på<br />
talen.<br />
4. Skriv ett program som läser en följd av tecken som avslutas med ett ´?´.<br />
Programmet ska beräkna det totala antalet stora bokstäver A-Z som förekommer.<br />
5. Skriv ett C#-program som konverterar (omvandlar) en teckensträng till versaler (=<br />
stora bokstäver).<br />
Indata: godtycklig teckensträng<br />
Utdata: teckensträngen med enbart versaler.<br />
6. Skriv ett program i C# som läser in ett flyttal b (= bruttoinkomst) och sedan<br />
beräknar n (= nettoinkomst) enligt formeln n = b * s, där s = 30% för b 1 gäller att a, b = (a 2 - 1)/2 och c = (a 2 - 1)/2 + 1 alla är<br />
pythagoreiska tal. (a, b och c är pythagoreiska tal om a 2 + b 2 = c 2 , c kallas<br />
hypotenusan). Skriv ett program i C# som skriver ut dessa pythagoreiska tal för a<br />
= 3, 5, 7, ... så länge hypotenusan (c) är mindre än 10,000.<br />
Utskriften ska alltså börja:<br />
3, 4, 5<br />
5, 12, 13<br />
...<br />
8. Skriv ett program som skriver ut en värdetabell i intervallet 0
1.2 GUI-övningar<br />
Uppgifterna nedan är ungefärligt sorterade efter svårighetsgrad där de lustiga knapparna<br />
är den enklaste och miniräknaren den svåraste.<br />
1. Gör ett program med följande utseende där ett tryck på valfri knapp resulterar i att<br />
alla knappars text byts enligt ett roterande schema.<br />
2. Skriv en Webbrowser med följande egenskaper<br />
• Visningsdel, där själva webbplatsen visas<br />
• Back/forward-knappar<br />
• Adressfält<br />
Obs! Kolla de inbyggda klasserna innan du börjar hacka en html-parser, gif-visare<br />
etcetera.<br />
3. Lottoprogram<br />
THo C# - Campus 2009 PeHu
Uppgiften går ut på att simulera lottodragningar och tala om hur många ”vinster” det<br />
blir som har 5, 6 resp. 7 rätt efter att x antal (användaren anger x) dragningar. I<br />
exemplet ovan framgår det alltså att de tal jag har chansat på är 4, 7, 10, 13, 20, 27<br />
och 34. Jag vill i exemplet ovan att 999 999 dragningar (lottorader med 7 nummer<br />
mellan (inklusive) 1-35) ska slumpas fram, och när det är gjort, så ser man i de nedre<br />
textfälten att 1160 gånger har jag haft 5 rätt, 27 gånger har jag haft 6 rätt och 1 gång<br />
har jag haft 7 rätt. Eventuellt felaktiga inmatningar från användaren ska hanteras av<br />
programmet (Exceptions).<br />
4. Miniräknare<br />
Skriv en enkel miniräknare som hanterar de fyra räknesätten (+, -, *, /).<br />
Eventuella felaktiga inmatningar från användaren ska hanteras av programmet<br />
(Exceptions).<br />
THo C# - Campus 2009 PeHu