INF 150 Programmering mandag 4 9 Forrige gang

  • Slides: 27
Download presentation
INF 150 Programmering mandag 4. 9 Forrige gang til og med: 3. 2 Visual

INF 150 Programmering mandag 4. 9 Forrige gang til og med: 3. 2 Visual Basic Events (60 -73) Nå: Litt om Group Box, Check. Box og Radio Button (472 -474) og 3. 3 Numbers (73 -88) Jæger: Robuste og sikre systemer

Motivasjon - Analogi • Anta at du synes det å komme på og formidle

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 Jæger: Robuste og sikre systemer

Foreløpig inntrykk fra innleverte øvelser • Noen bruker ikke navne-reglene: – Eksempel: • Default:

Foreløpig inntrykk fra innleverte øvelser • Noen bruker ikke navne-reglene: – Eksempel: • Default: Form 1 • Heller: frm. Ov 1 Oppg 1 eller frm. Spørreprogram Jæger: Robuste og sikre systemer

Husker de 3 stegene for å skrive VB program: 1. Tegn brukergrensesnittet 2. Sett

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

… forts 1. Tegner ved å bruke ferdige objekter – Text. Box, Button, …

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

Radio Button (474), Check Box (473) og Group Control (472) • ”Radio Button”: Den

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”: rad. Button – 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) Jæger: Robuste og sikre systemer

… skrive kode • Hittil har vi endret egenskaper til objekt ved å skrive

… 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: Text. Box, 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 Text. Box: txt. Boks. Text = “hei” Jæger: Robuste og sikre systemer

3. 2 Visual Basic Events (60 -73) Noen detaljer om event-prosedyre: Komplett skall for

3. 2 Visual Basic Events (60 -73) Noen detaljer om event-prosedyre: Komplett skall for event-prosedyre/eventprogram: Private Sub object. Name_event ( By. Val sender As System. Object, By. Val e As System. Event. Args ) Handles object. Name. event Statements End Sub Forkorter det i parantes til (…): Private Sub (…) Handles object. Name. event Statements End Sub Eksempel: Private Sub btn. Avslutt_Click(…) Handles btn. Avslutt. Click End Sub Jæger: Robuste og sikre systemer

Om å avslutte program • I vinduet til programmet kan brukeren: – Trykke X

Om å avslutte program • I vinduet til programmet kan brukeren: – Trykke X ikonet øverst til høyre i vinduet til programmet – Trykke “Alt-F 4” • 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) Jæger: Robuste og sikre systemer

3. 3 Numbers 73 -88 Arithmetic Operations (73) • Av gresk arithmos som betyr

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 Text. Box eller en liste – Viser eksempler Jæger: Robuste og sikre systemer

Variables (75) Våre egne “properties” • Lager logiske navn for verdier – Tallverdier (heltall,

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 Jæger: Robuste og sikre systemer

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

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

… forts • Vanligste variabletype for tall er Double • Dim var. Name As

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

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

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

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

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

Øke verdien i en variabel (78) • Dim var As Double • var =

Ø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 Jæger: Robuste og sikre systemer

Oppgave a Private Sub btn. Evaluate_Click(…) Handles btn. Evaluate. Click Dim a, b, c

Oppgave a Private Sub btn. Evaluate_Click(…) Handles btn. Evaluate. Click Dim a, b, c As Double a=2 b=7 c=a+b a=c*a lst. Results. Items. Add(a + b) a=a/a End Sub Jæger: Robuste og sikre systemer b c

Built-In Functions: Math. Sqrt, Int, Math. Round (78) • Functions – Input: En eller

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 Jæger: Robuste og sikre systemer

Oppgave Beregn befolkning i Molde etter 5 år med 2% årlig vekst når folketallet

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

Oppgave Beregn befolkning i Molde etter 5 år med 2% årlig vekst når folketallet

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 Jæger: Robuste og sikre systemer

Først: beregningsmåte ”for hånd”. Det finnes mange beregningsmåter/formler • Metode 1: – Etter ett

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 Jæger: Robuste og sikre systemer Skriv hver av disse i VB med bruk av variabel for befolkning

… forts I INF 150 er beregningsmåte er som regel oppgitt, for eksempel som

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

The Integer Data Type (80) • Dim var. Name As Integer – Heltall fra

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

Multiple Declarations (80) • Kan effektivere skriving av kode ved å ha flere deklarasjoner

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 Jæger: Robuste og sikre systemer

Paranteser (80) • • • x(y+z) er ikke lov x*(y+z) er korrekt Regler for

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

Tre typer feil • Syntax errors – Skrivefeil • Run-time errors (Math. sqrt(-16)) –

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. ) Jæger: Robuste og sikre systemer

Neste forelesning Torsdag 7. september 1015 -1200 På rom 076 Gjennomgang av blant annet

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