29.04.2015 Views

Laboration 1

Laboration 1

Laboration 1

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!