Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Jæger: Robuste og sikre systemer INF150 Programmering mandag 4.9 Forrige gang til og med: 3.2 Visual Basic Events (60-73) Nå: Litt om Group Box, CheckBox.

Liknende presentasjoner


Presentasjon om: "Jæger: Robuste og sikre systemer INF150 Programmering mandag 4.9 Forrige gang til og med: 3.2 Visual Basic Events (60-73) Nå: Litt om Group Box, CheckBox."— Utskrift av presentasjonen:

1 Jæger: Robuste og sikre systemer INF150 Programmering mandag 4.9 Forrige gang til og med: 3.2 Visual Basic Events (60-73) Nå: Litt om Group Box, CheckBox og Radio Button (472-474) og 3.3 Numbers (73-88)

2 Jæger: Robuste og sikre systemer Motivasjon - Analogi Anta at du synes det å komme på og formidle historier er givende. Dvs. Du er en forfatter- eller journalistspire MEN du må først lære alfabetet og et visst ordforråd. Det er tøft og ofte kjedelig Anta at vi liker å forbedre løsninger og gjøre livet lettere for mennesker vha. IKT MEN du må først lære et programmeringsspråk og noen teknikker. Det er tøft og ofte kjedelig

3 Jæger: Robuste og sikre systemer Foreløpig inntrykk fra innleverte øvelser Noen bruker ikke navne-reglene: –Eksempel: Default: Form1 Heller: frmOv1Oppg1 eller frmSpørreprogram

4 Jæger: Robuste og sikre systemer Husker de 3 stegene for å skrive VB program: 1.Tegn brukergrensesnittet 2.Sett egenskaper 3.Skriv koden til hendelser

5 Jæger: Robuste og sikre systemer … forts 1.Tegner ved å bruke ferdige objekter –TextBox, Button, … Group Box, Check Box, Radio Button 2.Setter properties til disse –Farge, posisjon, tekst, … 3.Skrive kode –Hvor og hvordan?

6 Jæger: Robuste og sikre systemer Radio Button (474), Check Box (473) og Group Control (472) ”Radio Button”: Den som lager programmet kan bruke Radio Button for å tvinge brukerne til kun å velge et av flere alternativer –Navn begynner med ”rad”: radButton –Eksempel: Velg statsminister –Legges i en Group Control for å kunne ha flere grupper ”Check Box”: Den som lager programmet kan bruke Check Box for å tvinge brukerne til å velge et eller flere av flere alternativer (IF – benyttes for at vi skal kunne lage kode som velger mellom ulike alternativer. Vi kommer tilbake til dette i Kap 5)

7 Jæger: Robuste og sikre systemer … skrive kode Hittil har vi endret egenskaper til objekt ved å skrive VB-kode for dette. Har laget en Application (et program) –Som har en Form (et skjema som brukergrensesnitt) Som har Objects (objekter: TextBox, Button, Label, …) –Som har properties (egenskaper) –Som reagerer på Events (hendelser) –Som automatisk starter Event Procedures (hendelsesprosedyrer) »Hvor vi skriver statements (kode) for det som skal skje Eksempel: Skriver tekst i en TextBox: txtBoks.Text = “hei”

8 Jæger: Robuste og sikre systemer 3.2 Visual Basic Events (60-73) Noen detaljer om event-prosedyre: Komplett skall for event-prosedyre/eventprogram: Private Sub objectName_event ( ByVal sender As System.Object, ByVal e As System.EventArgs ) Handles objectName.event Statements End Sub Forkorter det i parantes til (…): Private Sub (…) Handles objectName.event Statements End Sub Eksempel: Private Sub btnAvslutt_Click(…) Handles btnAvslutt.Click End End Sub

9 Jæger: Robuste og sikre systemer Om å avslutte program I vinduet til programmet kan brukeren: –Trykke X ikonet øverst til høyre i vinduet til programmet –Trykke “Alt-F4” Du kan lage kode som avslutter programmet når brukeren genererer et event på et objekt: –Skrive “End” i en Event-Procedure “You can place the End statement anywhere in a procedure to force the entire application to stop running.“ –Skrive “Me.Close()” i en Event-Procedure “When a form is closed, all resources created within the object are closed and the form is disposed.“ –(Bruk det du vi, det er først når vi skriver store programemr valg av metode betyr noe)

10 Jæger: Robuste og sikre systemer 3.3 Numbers 73-88 Arithmetic Operations (73) Av gresk arithmos som betyr tall 5 standardoperasjoner: –addisjon., + –Subtraksjon, - –Multiplikasjon, * –Divisjon, / –Eksponent, ^ Resultatet kan legges i en TextBox eller en liste –Viser eksempler

11 Jæger: Robuste og sikre systemer Variables (75) Våre egne “properties” Lager logiske navn for verdier –Tallverdier (heltall, flyttall) –Tekst-verdier (et ord eller en setning) –Andre finnes Bruker de logiske navnene i koden for å referere til verdiene Kan da skrive kode som utfører matematiske beregninger

12 Jæger: Robuste og sikre systemer … forts Eksempel (s. 75) –Går gjennom dette

13 Jæger: Robuste og sikre systemer … forts Vanligste variabletype for tall er Double Dim varName As Double Double er den mest anvendelige typen for tall (kan inneholde både heltall og flyttall)

14 Jæger: Robuste og sikre systemer … forts Postkasse-analogi

15 Jæger: Robuste og sikre systemer Se eksempelet gjennomgått foran (om variabler) Uttrykk - Expressions (p 77)

16 Jæger: Robuste og sikre systemer Øke verdien i en variabel (78) Dim var As Double var = 9 var = var + 1 (leses: ny var er lik gammel var pluss 1) var += 1 var += n

17 Jæger: Robuste og sikre systemer Oppgave abc Private Sub btnEvaluate_Click(…) Handles btnEvaluate.Click Dim a, b, c As Double a = 2 b = 7 c = a + b a = c * a lstResults.Items.Add(a + b) a = a / a End Sub

18 Jæger: Robuste og sikre systemer Built-In Functions: Math.Sqrt, Int, Math.Round (78) Functions –Input: En eller flere verdier –Output: En verdi returneres –Eksempler: Math.sqrt(16) returnerer 4, Math.sqrt(0) returnerer 0 Int(2,7) = 2, Int(-2,7) = -3 Math.Round(2.7) returnerer 3 Math.Round(2.7181, 2) returnerer 2,72

19 Jæger: Robuste og sikre systemer Oppgave Beregn befolkning i Molde etter 5 år med 2% årlig vekst når folketallet i 2006 er 25000

20 Jæger: Robuste og sikre systemer Oppgave Beregn befolkning i Molde etter 5 år med 2% årlig vekst når folketallet i 2006 er 25000 Data INN: befolkning i 2006: 25000 årlig vekst på 2% Tid = 5 år Data UT: Befolkning etter 5 år, dvs. i 2011

21 Jæger: Robuste og sikre systemer Først: beregningsmåte ”for hånd”. Det finnes mange beregningsmåter/formler Metode 1: –Etter ett år: befolkning = 25000 + 25000 * 0.02 = 25500 –Etter to år: befolkning = 25500 + 25500 * 0.02 = 26010 Metode 2: –Etter ett år: befolkning = 25000 * 1.02 = 25500 –Etter to år: befolkning = 25500 * 1.02 = 26010 Metode 3: –Etter to år: befolkning = 25000 * 1.02^2 = 26010 Skriv hver av disse i VB med bruk av variabel for befolkning

22 Jæger: Robuste og sikre systemer … forts I INF150 er beregningsmåte er som regel oppgitt, for eksempel som i steg 3: Utfør stegene 1.Deklarer variabler 2.Tilordn 25000 til variabelen folketall 3.Multipliser variabelen folketall med 1.02 opphøyd i 5’te 4.Vis resultatet i en TextBox (Husk å vise resultatet som et helt antall mennesker, se Built in Functions foran)

23 Jæger: Robuste og sikre systemer The Integer Data Type (80) Dim varName As Integer –Heltall fra ca –2 milliarder til +2 milliarder –Brukes stort sett til å telle

24 Jæger: Robuste og sikre systemer Multiple Declarations (80) Kan effektivere skriving av kode ved å ha flere deklarasjoner sammen: –Dim a, b As Double –Dim a As Double, b As Integer –Dim c As Double = 2, b As Integer = 4

25 Jæger: Robuste og sikre systemer Paranteser (80) x(y+z) er ikke lov x*(y+z) er korrekt Regler for hva som beregnes først: 1.Parenthesis () inner to outer, left to right 2.Exponentiations ^, left to right 3.Multiplications and divisions * / left to right 4.Additions and subtractions + - left to right

26 Jæger: Robuste og sikre systemer Tre typer feil Syntax errors –Skrivefeil Run-time errors (Math.sqrt(-16)) –Beregningsfeil (typisk: dele på null) Logical error (semantic error) –Bruk av feil formel, dvs. Programmet utfører det vi har skrevet korrekt, problemet er at vi har skrevet noe som er logisk feil… (Eks: moms er 25%, dersom vi beregner moms ved å bruke en verdi lik 23% er det en logisk feil.)

27 Jæger: Robuste og sikre systemer Neste forelesning Torsdag 7. september 1015-1200 På rom 076 Gjennomgang av blant annet 3.4 Strings side 88 …


Laste ned ppt "Jæger: Robuste og sikre systemer INF150 Programmering mandag 4.9 Forrige gang til og med: 3.2 Visual Basic Events (60-73) Nå: Litt om Group Box, CheckBox."

Liknende presentasjoner


Annonser fra Google