Visual Basic - Lab 9

I denna laboration ska du göra en enkel applikation som beräknar sidorna i en rätvinklig triangel. Efter laborationen ska du kunna:

  • deklarera variabler
  • skriva kod i händelseprocedurer
  • använda några inbyggda funktioner
  • skriva egna funktioner
  • rita på formuläret Utförande

Program

  1. Skapa ett nytt projekt i en ny mapp (välj lämpliga namn)

Det är oftast bra att tvingas deklarera sina variabler, bland annat så hittar du många småfel snabbare. Du kan göra det genom att skriva Option Explicit i General declarations-delen i kodfönstret för formuläret. Du kan också klicka för Require Variable Declaration som du hittar via Tools | Options under fliken Editor. Då gäller det för alla formulär som du skapar.

  1. Skapa ett formulär som innehåller en rätvinklig triangel (rita med tre linjer), tre textrutor (en för varje sida i triangeln) och tre knappar

  2. Knapparna ska ha texten Beräkna A, Beräkna B och Beräkna C

  3. Sidorna i triangeln ska ha benämningen A, B och C

  4. Namnge textrutorna TextA, TextB och så vidare

  5. Namge knapparna CommandCalcA och så vidare

  6. Skriv kod för knappen Beräkna A så att sidan A beräknas med hjälp av värdena som är inmatade för sidorna B och C

Tips: Använd Phytagoras sats för att beräkna den okända sidan. För att beräkna roten ur ett tal bör du använda Sqr(…). Titta även på hur de inbyggda funktionerna Val(…) och Str$(…) kan användas.

  1. Gör motsvarande för knappen Beräkna B

  2. Gör motsvarande för knappen Beräkna C

Funktion 1 – Beräkna arean

  1. Skapa en ny textruta där arean ska presenteras

  2. Lägg till en etikett som talar om vad som visas i rutan

  3. Gör så att det inte går att skriva i rutan

  4. Skriv in följande funktion i kodfönstret
    Private Function TriangelArea(basen As Single, höjden As Single) As Single
    TriangelArea = basen * höjden / 2
    End Function

  5. Lägg den sist

Funktionen beräknar och returnerar arean för en triangel när basen och höjden är given. Alla variabler och även returvärdet är deklarerade som Single för att kunna hantera flyttal.

  1. Skriv in följande i slutet av den händelseprocedur som hanterar en av knapparna

                   motstående 
v=arctan   ____________
                   närliggande

Koden förutsätter att du har gett textrutan som ska visa arean namnet TextArea och att kateternas värden är inlästa i variablerna a och b.

  1. Beräkna och presentera arean
    Dim area As Single
    area = TriangelArea(a, b)
    TextArea.Text = Str(area)

  2. Kör igång och klicka på knappen

  3. Kontrollera att det fungerar

När det är klart ska det naturligtvis fungera för alla knapparna.

Funktion 2 – Kvadrat

  1. Skriv en egen funktion som du kallar kvadrat

  2. Ersätt dina kvadreringar i knapparnas kod med ett anrop till din nya funktion

  3. Kontrollera att det fungerar

Funktion 3 – Beräkna omkretsen

  1. Skapa en funktion som beräknar omkretsen

  2. Gör så att den behöver tre parametrar (de olika sidorna) och returnerar omkretsen (summan av de tre parametrarna)

Funktion 4 – beräkna vinkeln

  1. Formeln för vinkeln när du vet kateterna är


                        motstående
  v= arctan   ____________

                        närliggande

  1. Deklarera PI som en konstant i general declarations-delen (värdet bör vara ungefär 3.14)

  2. Skapa ytterligare en ny textruta

Den ska visa värdet på en av vinklarna och beräknas när någon av knapparna Beräkna trycks ned.

  1. Skapa en funktion som beräknar vinkeln om man vet kateterna

  2. Se till så att funktionen anropas och resultat visas i textrutan när knapparna Beräkna trycks ned

Rita

  1. Rita om triangeln när någon av knapparna Beräkna trycks ned

Triangeln ska ritas skalenligt, det vill säga om du ändrar på en sida och trycker på en knapp så ska triangelns form ändras.

  1. Använd en generell procedur som du anropar från varje knapps händelseprocedur

Här krävs det lite geometri och du bör titta på hur en linje beskrivs med sina egenskaper. Speciellt intressanta är koordinaterna X1, Y1, X2 och Y2. Ett tips är att låta en punkt i triangeln alltid vara densamma.

Provkör

  1. Starta programmet och fyll i värden i två av rutorna

  2. Klicka på knappen bredvid den ruta som inte har något värde och se vad som händer

  3. Prova att ändra på Skala och se hur triangeln ritas om i olika storlekar men i samma form.

Värdena för skalan fyller du i under Lista i egenskaper för Listboxen.

Fundera på:

  • Varför använde du funktioner för att beräkna vinkeln, arean och omkretsen?
  • PI är deklarerad som konstant. Varför?
  • Varför är det bäst att deklarera PI i General Declarations-delen?
  • Nämn tre minst tre skäl för att använda funktioner och generella procedurer.

Extra uppgifter:

Mata in 0 (noll) i kateternas rutor och klicka på Beräkna C. Vad händer och varför. Fixa!

Gör ett "inloggnings"-formulär, det vill säga när programmet startas ska användaren tvingas att mata in ett lösenord för att komma vidare i programmet.