Jæger: Robuste og sikre systemer INF150 Programmering torsdag 5.10 MER OM: Lesing fra fil Unntakshåndtering Kap 8.

Slides:



Advertisements
Liknende presentasjoner
Hvordan skrive en vitenskapelig artikkel?
Advertisements

Brukerveiledning for gruppeledere
C++ for Java-programmerere
Programmering i Java versjon august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Datafiler og serialisering Tekstfiler Scanner-klassen Binær overføring av data Direkte tilgang til filinnholdet Serialisering LC191D Videregående programmering.
16 Repeter for å huske og forstå
8 Skumlesing.
TIF seminar -Visual Basic (VBA) og RExcel Elisabeth Orskaug Norsk Regnesentral Oslo, 8. november 2011.
Kontrollstrukturer (Kapittel 3)
«Læringslystplan» (PDSA) for klasse……………. ved………………………………………..skole "Læringslystplan" (PDSA)
Sikkerhet - bakgrunn og introduksjon til kryptosystemer
Kap 10 Estimering.
Tabeller – Arrays Lage frekvenstabell Norske Bokstaver
Eksempel: Administrasjon av biler. Eksempel •Program for å administrere informasjon om biler •Vi ser på tre deler: –Registrere biler: legge inn i tabell.
Jæger: Robuste og sikre systemer Høgskolen i Molde INF150 Programmering Siste forelesning Pensum Kursevaluering.
Om Øvelse 7 Stoff relatert til øvelse 7 Generering av tilfeldige tall Bruk ting vi har lært før.
Filer Finne minste Finne Største Beregne gjennomsnitt Variabler Tabeller – Arrays Lage frekvenstabell.
Tekstanalyse Mål: Vi skal sammenligne bøker fra to forfattere ved å se på frekvens av tegn.
Feilhåndtering. Feil er uunngåelige! Erfaring viser at feil i dataprogrammer som består av mer enn noen få linjer ikke er til å unngå. For å få et godt.
Utvider eksemplet om biler fra forrige gang med mer feilsjekk Tid og Dato.
Jæger: Robuste og sikre systemer INF150 Programmering torsdag 7.9 Bakgrunn for øvelse 2 Bruk av variabler i beregninger Ser på tekststrenger (3.4 Strings.
Jæger: Robuste og sikre systemer INF150 Programmering mandag 2.10 Default values – standardverdier ved oppstart MER OM: Sub-prosedyrer og sub-funksjoner.
Gjennomgang av prøven Tidsangivelse. Prøven deles ut Vi fyller ut øvelsen sammen.
Repetisjon kap 6,7,8.
Å lage sikre klasser Unntaksklassene i Java-API-et Unntakshåndtering i databasesammenheng try-catch-finally-setningen Trelagsarkitektur; egen databaseklasse.
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.
Sortering og søk. Sortering av data som ligger på en fil Prisipielt to hovedmåter gjøre dette på: 1.Arbeide mot filen 1.Lese en linje, og lese de resterende.
INF150 Programmering mandag 11.9
Jæger: Robuste og sikre systemer INF150 Programmering torsdag 31.8 Kapittel 3: Grunnlag for programmering i Visual Basic.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Høgskolen i Oslo Webprogrammering Filbehandling i PHP.
Dynamiske nettsider PHP Del 2 – Kontrollstrukturer.
Dynamiske nettsider PHP Del 1 – variable. PHP  PHP (Personal Home Page)  Fritt tilgjengelig programmeringsspråk  åpen kildekode  Plattformuavhengig.
Hvordan kan foreldre bruke de vangligste funksjonene i Itslearning.com
Ankh Testing av papirprototyp av GUI. Testens forløp Visuell introduksjon av VS.NET Navigasjonsmodellen vår Revisjonskontrollsystemer Intervju ang. databakgrunn.
Å lese tall fra en fil, klassen Scanner 1.Et Scanner-objekt kan knyttes til et strømobjekt eller til en streng. 2.Kan skanne teksten etter data av ulike.
Jæger: Robuste og sikre systemer INF150 Programmering mandag 18.9 Lesing av data fra fil og skriving av data til fil. Side 411 – 4.. Kap 4.
Programmering sif8005. Praktisk informasjon  Innleveringsfrist øvinger: mandag kl  Alle øvinger er obligatoriske  Studass tilgjengelig 6 timer.
Jæger: Robuste og sikre systemer INF150 Programmering Kapittel 2: Problemløsning Kapittel 3.1 og 3.2.
Java 5 Litt mer om løkker Arrayer Metoder Ole Christian Lingjærde
Typer i programmering. Simple typer var a = 13;
Språk og leseplan 1.trinn Innlandet skole
Skole/hjem samarbeid.
Jæger: Robuste og sikre systemer Høgskolen i Molde Velkommen til INF150 Programmering Foreleser Bjørn Jæger.
Jæger: Robuste og sikre systemer INF150 Programmering mandag 25.9 MER OM: Sub-prosedyrer og sub-funksjoner Kap 4.
Uke april -17.april I would like a pizza, please.
Finne feil - Debugging Introduksjon til sortering.
Kapittel 5 Vilkårssetningar og løkker. 5.1 Boolske uttrykk George Boole ( ), britisk matematikar Utvikla teori om logikk ved bruk av symbol i.
Jæger: Robuste og sikre systemer INF150 Programmering torsdag 14.9 Ulike måter for å lese inn og skrive ut data. Kap. 3.5 mer om if – setninger Ferdige.
​Kildekritikk 7. trinn ​Tilegne og behandle Rammeverket TONE.
Uke mars Verdiord: Lydighet Vi holder på å lære oss gitargrepet D i musikk. Da kan vi spille «Ro,ro, ro din båt og «Fader Jakob».
Uke 8.feb- 12.feb Verdiord: Gavmild Vi bruker de samiske fargene og vever med rundvev.
1 SKOLELABORATORIET Programmering av PIC-mikrokontrollere Grunnkurs Av Nils Kr. Rossing Skolelaboratoriet ved NTNU Nils Kr. Rossing.
Skole/hjem samarbeid 3.trinn. Lekser Tilpasset opplæring (nettsider o.l) To leksepermer – Norsk og matte – Engelsk Husk å levere lekser: – Engelsklekse:
Uke 5 1.feb- 5.feb Uke 5 1.feb- 5.feb Verdiord: Gavmild.
Oversikt Access Hva en bør beherske så langt. Tabeller Felt Typer (heltall, desimaltall, tekst, Boolean) Primary Key.
Mål for perioden: Sos: Lytte etter beskjeder. Bruk innestemme. No:. Lese med god flyt og innlevelse. Kunne sette ting i alfabetisk rekkefølge, vite hva.
Uke april Tøffe elever som smaker på ukjente ting! Verdiord for april: Lydighet.
Kom i gang med Python Pål Hellesnes SYSTEMUTVIKLER
Lekseplan for 5.trinn uke 36 Mandag 31. august – fredag 4.september
Foreldremøte 6. trinn 9. September Foreldremøte 6. trinn 9. September 2015.
20. september.
Dette er helt utrolig. Les alle tallene. Sakte linje etter linje
som beregner reverseringsfunksjonen for strenger over {a, b}.
Lese- og skrivetrening for ansatte ved Aker Kværner Verdal AS
Naturfaglig kompetanse B – Samarbeid
LEGGERUTINER PETTER 1. JEG SETTER MEG I SENGA 2. MOR LESER BOK FOR MEG
LESEUTVIKLINGSSKJEMA ET KVALITETSSYSTEM FOR LÆRER OG ELEV
For, While, prosedyrer m/ parametere, funskjoner
Utskrift av presentasjonen:

Jæger: Robuste og sikre systemer INF150 Programmering torsdag 5.10 MER OM: Lesing fra fil Unntakshåndtering Kap 8

Jæger: Robuste og sikre systemer sr.Peek() Lesing fra Sekvensiell fil med –Kjent antall linjer, f.eks. 5 Det betyr at vi må ha med 5 sr.ReadLine for å lese alle –Ukjent antall linjer? Vi kan ikke vite hvor mange linjer det er før vi har sett i filen, dvs lest den! Det finnes en metode "sr.Peek()" i Visual Basic som ber operativsystemet om å sjekke om neste linje finnes eller om vi har nådd slutten. Vi skal gjøre sr.ReadLine omigjen mange ganger inntil sr.Peek() finner at vi har nådd slutten.

Jæger: Robuste og sikre systemer Husker Do Loops side 248 Syntaks: Do While condition Statements Loop Eksempel (i hendelsesprosedyre til knapp): Dim tall As Integer = 1 Do While tall <= 5 MsgBox("Tall: " & tall) tall = tall +1 'Hva skjer dersom denne ikke er med? Loop

Jæger: Robuste og sikre systemer Do While og lesing fra fil side 413 Do While s 248 Dim sr As IO.StreamReader sr = IO.File.OpenText(“antallBiler.txt”) lstNames.Items.Clear() Do While sr.Peek <> -1 lstNames.Items.Add(sr.ReadLine) Loop

Jæger: Robuste og sikre systemer Legge elementer til eksisterende fil Dim sw As IO.StreamWriter sw = IO.File.AppendText(“antallBiler.txt”) sw.WriteLine(“tekst”) … sw.Close() Dersom filen ikke eksisterer fra før vil en ny fil med navn "antallBiler.txt" bli laget

Jæger: Robuste og sikre systemer Ulike fil-modus Operativsystemet (her Windows) støtter ulike måter å bruke filen på: –OpenText –CreateText –AppendText Disse må ikke blandes, en må ta sr.Close() på en åpnet fil før den forsøkes åpnet på nytt.

Jæger: Robuste og sikre systemer Sjekk om fil allerede finnes IO.File.Exists("AntallBiler") er True dersom filen finnes (se side 414)

Jæger: Robuste og sikre systemer Sletting av fil En fil kan slettes med: –IO.File.Delete("AntallBiler.txt")

Jæger: Robuste og sikre systemer En linje i en sekvensiell fil kan ikke slettes! (se side 415) For å få til dette kan en: –Lage en ny fil (kladdefil) hvor en legger alt som skal beholdes: sw = IO.CreateText(“Kladd-AntallBiler.txt") Overfør så det som skal beholdes fra AntallBiler.txt Do While sr.Peek() <> -1 enLinje = sr.ReadLine If (enLinje skal være med) Then 'logisk test avhengig av hva som skal ut sw.WriteLine(enLinje) End If Loop –Slett den gamle AntallBiler.txt: –IO.File.Delete("AntallBiler.txt") –Forandre navnet til "kladd-AntallBiler.txt" til "AntallBiler.txt" –IO.File.Move("kladd-AntallBiler.txt", "AntallBiler.txt")

Jæger: Robuste og sikre systemer Unntakshåndtering (fra kap 8.1 s.418) 2 hovedtyper problemer/feil i programmene: –Bugs: vi har skrevet feil kode, f.eks. Feil formel: Moms = Pris * 0.23 '(skal være 0.25) Feil metode: sw=IO.CreateText("filen.txt") når vi ønsker å legge en ny linje inn i "filen.txt", riktig er sw=IO.AppendText("filen.txt") –Exceptions: Bruker har gitt feil verdi Feil i inndata eller sr=IO.OpenText("filnavn gitt av bruker") bruker har gitt et filnavn som ikke finnes –Ser nå på Exceptions (Bugs kommer senere)

Jæger: Robuste og sikre systemer Håndtering av Exceptions Når noe uventet skjer (en exception) vil VB oppdage dette og utføre kode som gir brukeren beskjed. Standard er at programmet stopper/krasjer og en feilmelding vises, e.g. InvalidCastException

Jæger: Robuste og sikre systemer Eksempel Public Class Form1 Dim hoydeITommer As Double Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim hoydeICm As Integer hoydeICm = CInt(InputBox("Hvor høy er du (i hele cm)?")) hoydeITommer = hoydeICm / 2.54 MsgBox("Du er " & hoydeITommer & " tommer høy") End Sub End Class

Jæger: Robuste og sikre systemer Bruker oppgir reelt tall, program krasjer

Jæger: Robuste og sikre systemer Årsak Konvertering fra tekst med flyttall til heltall er ikke lov i VB Andre input vil også få programmet til å krasje, typisk: –Blank linje i InputBox er heller ikke lov

Jæger: Robuste og sikre systemer Skriving av robuste program Vi som programmerere bør skrive kode som håndterer brukerfeil Det vil si at programmet ikke skal krasje og at brukeren skal få beskjed hva som er galt VB har lagt til rette for at når "Exception" oppdages kan vi legge inn kode som skal utføres. –Try-Catch-Finally

Jæger: Robuste og sikre systemer Try-Catch-Finally Try: VB prøver å utføre det etter Try Catch: Dersom en Exception skjer hopper VB rett til det som kommer etter Catch Finally: Uansett om Exception skjer eller ikke utføres koden i Finally

Jæger: Robuste og sikre systemer Try Catch Public Class Form1 Dim hoydeITommer As Double Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim hoydeICm As Integer Try hoydeICm = CInt(InputBox("Hvor høy er du (i hele cm)?")) Catch MsgBox("Du må angi høyde som et heltall") ' kan legge inn en defalut verdi, e.g. hoydeICm = 0 End Try hoydeITommer = hoydeICm / 2.54 MsgBox("Du er " & hoydeITommer & " tommer høy") End Sub End Class

Jæger: Robuste og sikre systemer Med finally Public Class Form1 Dim hoydeITommer As Double Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim hoydeICm As Integer Try hoydeICm = CInt(InputBox("Hvor høy er du (i hele cm)?")) Catch MsgBox("Du må angi høyde som et heltall") ' kan legge inn en defalut verdi, e.g. hoydeICm = 0 Finally hoydeITommer = hoydeICm / 2.54 MsgBox("Du er " & hoydeITommer & " tommer høy") End Try End Sub End Class Gjør Example 3 side 421

Jæger: Robuste og sikre systemer Neste forelesning Mandag 9. oktober På rom B136