Objektorienterad programmering - Inlämningsuppgift 1 Del 1 Konstruera en klass enligt följande UML klassdiagram (skriv källkod). Hiss riktning: int våning : int KörTill(v : int) Stanna() VilkenVåning(): int Riktning är antingen -1 (hissen går neråt), 0 (hissen står stilla) eller 1 (hissen går uppåt). Begränsa antal våningar från -2 till max 10 våningar. Deklarera dessutom en metod ToString som returnerar en lämplig text om man skriver ut objektet. T.ex. ”Hissen befinner sig på plan 4 och står stilla”. Skapa även ett program (Main). I programmet ska du skapa två olika objekt av klassen Hiss. Testa alla metoder, t.ex. KörTill(5) visar meddelandet ”Hissen går upp till plan 5” om hissen befinner sig på plan -2 till 4, och ”Hissen går ner till plan 5” om hissen befinner sig på ett övre plan. Hissen visar detta meddelande tills man anropar metoden Stanna() Sida 1 av 4 Del 2 En av de mest kända matematiska satserna är den så kallade Pythagoras sats, som ger oss ett samband mellan en rätvinklig triangels tre sidor. En rätvinklig triangel består av två kortare sidor, som vi kallar kateter, och en längre sida, som vi kallar hypotenusa. De två kateterna möts i en rät vinkel (alltså 90°) och hypotenusan är motstående till den räta vinkeln. I varje rätvinklig triangel råder, enligt Pythagoras sats, följande samband mellan längden på triangelns sidor: c2 = a2+b2 Där a och b är längderna på kateterna, och c är längden på hypotenusan. Det vill säga, summan av kateternas kvadrater är lika med hypotenusan i kvadrat. Skapa ett program som med hjälp av dialogrutor läser in a och b och beräknar hypotenusan. Använd Skanskholms klass inputBox.cs Visa resultatet i en dialogruta. Nödvändiga kontroller måste göras. Man får t.ex. inte mata in bokstäver. Sida 2 av 4 Del 3 Konstruera följande klasser i C#. Skapa även ett program (Main) där du skapar minst ett objekt av varje klass. Testa alla metoder. Det räcker att skriva ut info till konsolfönstret. Sida 3 av 4 Del 4 Insättningssortering (Insertion sort) är en av de enklare sorteringsalgoritmer som finns tillgängliga inom datalogi. I praktiken använder man ofta snabbare sorteringsalgoritmer, men om listan redan är delvis sorterad kan den vara bra. Algoritmen kan beskrivas så här: Man utgår från ett tomt fält och sedan placerar in en komponent i taget i fältet Den första komponenten placeras på plats nummer 0 Nästa komponent placeras före eller efter den första komponenten, beroende på vilken som är störst Den tredje komponenten placeras sedan i rätt ordning i förhållande till de två tidigare Osv. Man ser till att det fält man bygger upp är sorterat efter varje insättning Skapa en metod som tar en lista som parameter och sorterar komponenterna enligt ovanstående algoritm. Skriv även ett program som testar att sortera ett antal listor med hjälp av metoden. Tips! http://goo.gl/HFn2ST https://youtu.be/ROalU379l3U http://sv.wikipedia.org/wiki/Insättningssortering http://www.sorting-algorithms.com/insertion-sort Sida 4 av 4