Lektionsuppgift 4

Det bästa, kanske det enda sättet att lära sig programmera är att själv skriva program. Jag vill därför varmt rekommendera att du försöker lösa dessa uppgifter, speciellt om du känner dig osäker på programmering. Bäst (och mest tidsödande, tyvärr) är att lösa uppgifterna vid en dator. Denna uppgift har mestadels karaktär av repetition.

Du behöver inte provköra uppgifterna till lektionen. Du kan få bonus för att du har förberett lösningsförslag, oavsett om dessa är riktiga eller inte.

1. a) Skriv en klass Punkt. Objekt ur klassen representerar punkter på planet och har därför en x och en y koordinat. Klassen har också en konstruktor, som i en enkel dialog med användaren frågar efter koordinaterna för punkten. Klassen innehåller dessutom metoder för att returnera värdena på koordinaterna x respektive y, samt en metod som skriver ut punktens koordinater. Låt koordinaterna vara heltal i din klass.

1. b) Skriv en klass Triangel. En triangel har tre punkter. När triangeln skapas matas kordinaterna för de tre punkterna in. Triangeln kan skrivas ut, i form av koordinater för de tre punkterna. Klassen har också en metod public Punkt Hörn(int i) som returnerar den punkt som anges av i, där i är ett av heltalen 1, 2 och 3.

1. c) Skriv en klass Ratvink. Klassen representerar rätvinklinga trianglar. En rätvinklig triangel är en sorts triangel. Klassen har en metod pyth, som (oväntat, va?) räknar ut triangelns hypotenusa, såsom ett flyttal (= realtal) med stor noggrannhet. För att slippa skriva långa formler får du bygga din metod på det felaktiga antagandet att hypotenusan är roten ur summan av kvadraterna på punkt 1s x-koordinat och punkt 2s y-koordinat.

1. d) Skriv ett huvudprogram till klassen Ratvink, som på ett enkelt men illustrativt sätt visar att ditt program är rimligt.

Inga felkontroller behövs i någon deluppgift, vare sig vid inmatning, eller i någon av de andra metoderna.