Finne feil - Debugging Introduksjon til sortering.

Slides:



Advertisements
Liknende presentasjoner
Slik bruker du vår nettbutikk!
Advertisements

GoOnline XP publisering Hvordan komme i gang med GoOnline XP. Denne presentasjonen tar deg steg for steg gjennom oppsett av nettsted med bruk av GoOnline.
Rutearket i Excel Et regneark består av en mengde ”celler” med innhold. Hver celle er plassert i en bestemt kolonne (her: C) og en bestemt rad (her: 5).
Tabeller av objekter Klassen ArrayList
Larvik Og Omegn MS Foreningen sin PC opplæring høsten 2005
Ebus Management Center En liten bruksanvisning for de enkleste funksjonene.
GoOnline publisering Hvordan komme i gang med GoOnline. Denne presentasjonen tar deg steg for steg gjennom oppsett av nettsted med bruk av GoOnline Proffesional.
@ TDT4120 Algoritmer og datastrukturer Trær og søking i dem, samt litt diverse emner Åsmund Eldhuset asmunde idi.ntnu.no.
TDT4120 Algoritmer og datastrukturer Trær og søking i dem, samt litt diverse emner Kristian Veøy
Uke 10 - Sortering, og hvordan lage en klasse for et klassebibliotek 21 okt. 2003, Arne Maus Inst. for informatikk, UiO.
TIF seminar -Visual Basic (VBA) og RExcel Elisabeth Orskaug Norsk Regnesentral Oslo, 8. november 2011.
BabelBank barnevern Avstemming i Agresso av personsensitive utbetalinger fra barnevernet/Familia Informasjon og opplæring mandag 16. desember 2013.
Tabeller – Arrays Lage frekvenstabell Norske Bokstaver
Mer sortering Mer Debugging Introduksjon til strukturer.
Oppstart Hoveddel Avslutning Hver elev taster et 7-sifret tall. Det skal ha fire tall før komma og tre sifre etter komma og det skal ikke inneholde.
Visma Enterprise introduksjonspresentasjon Hvordan bruke ny meny i Visma Enterprise HELHETLIG LØSNING FOR NORSKE VIRKSOMHETER Moderne og effektiv tjenesteproduksjon.
IS-102 Klassedefinisjoner
Gjenfinningssystemer og verktøy II
@ TDT4120 Algoritmer og datastrukturer Trær og søking i dem, samt litt diverse emner Åsmund Eldhuset asmunde idi.ntnu.no.
Øvingsforelesning 2 Trær og søking i dem, samt litt diverse emner Kristian Veøy
Operativsystemer.  Tilstandsmaskiner kalles på engelsk Finite State Machines.  Tilstandsmaskiner er en metode til å beskrive systemer med logisk og.
Grunnleggende testteori
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.
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.
Jæger: Robuste og sikre systemer INF150 Programmering torsdag 5.10 MER OM: Lesing fra fil Unntakshåndtering Kap 8.
Repetisjon av JSP Variabler, tabeller, if-setninger, for/while-løkker
Høgskolen i Oslo Web-programmering Feilhåndtering 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.
INF 4130 Eksamen 2008 Gjennomgang.
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.
Kapping av plater Mål: Vi skal lage komponenter for en møbelfabrikk ut fra standardiserte plater på 12 x 24 dm. Komponentene har lengde og bredde oppgitt.
Jæger: Robuste og sikre systemer INF150 Programmering Kapittel 2: Problemløsning Kapittel 3.1 og 3.2.
Bruk av kart og steder i Reunion Registrering av stedsnavn Endringer av stedsnavn gjennom tiden Redigere stedsnavn Finne steder på kart Personens eget.
Hurtigreferanse for © 2013 Microsoft Corporation. Med enerett. Startskjermen i Lync Startskjermen i Lync inneholder fliser i huben til venstre, som du.
Opplæring: Pålogging Prosedyre for logge på og av, låse og åpne PC’er DatoVersjonForfatterGodkjent avEndringer utført André S. MathiesenTore.
Ortering Mål: Se på forskjellige måter for sortering.
Object  Klassen i java  Alle klasser arver fra denne om ikke noe annet blir spesifisert  ArrayList.add(Object instans)  Alle elementer formes til Object.
Ekstra mange tips til Oblig 3! 12. mars 2007 Are Magnus Bruaset og Arild Waaler Inst. for informatikk, UiO.
INF1000 (Uke 14) Eksamen V06 Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Are Magnus Bruaset og Arild Waaler.
INF1000 (Uke 12) Sortering og eksamensoppgaver Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Are Magnus Bruaset og Anja B. Kristoffersen.
Byggeklosser i java  Klassedefinisjon  Variabel deklarasjon  Metodedeklarasjoner  En ordentlig klasse  Spesielle/kryptiske skrivemåter  løkker og.
Jæger: Robuste og sikre systemer INF150 Programmering mandag 25.9 MER OM: Sub-prosedyrer og sub-funksjoner Kap 4.
INF1000 (Uke 4) Mer om forgreninger, While-løkker
Inf1000 (Uke 5) Arrayer, filer og tekst
Kapittel 7 Array (lister og tabellar). 7.1 Arrayelement Array (lister, tabellar) er kjent frå VB Blir brukt til å organisere data når vi har mange dataelement.
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.
SPSS-kurs. Program Dagen vil bli delt inn i fire bolker: Bolk 1 - 9:30-10:30 – Åpne/lagre datasett, datatyper, definere variable. Bolk 2 – 10:45-11:30.
Matematikk LUB Elise Klaveness
SPSS-kurs.
Registrering av testresultater fra mobiltelefon
Registrering av testresultater Trinnene i prosessen Logg deg inn på Admin-sidene Opprett en ny test Legg til testresultater Registrer.
Tips og Triks i Agresso Ingar Slette, UNIT4 Agresso AS.
Lokale variable Hvis vi trenger å ta vare på en verdi, inne i en metode kan vi definere en lokal variabel: int amount = 0; vi må fortelle hvilken type.
Kom i gang med Python Pål Hellesnes SYSTEMUTVIKLER
Kom i gang med programmering!
Begynnerkurs i Python Realfagskonferansen 2019 Henrik H. Løvold
IN3030 – Effektiv parallellprogrammering Uke 1 2. del, våren 2019
Utskrift av presentasjonen:

Finne feil - Debugging Introduksjon til sortering

Husker fra forel hovedtyper problemer/feil i programmer: –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 (fra kap 8.1 s.418) Feil i inndata eller sr=IO.OpenText("filnavn gitt av bruker") bruker har gitt et filnavn som ikke finnes –Ser nå på Bugs

Appendix D: Debuggingsverktøy Feil i programmer kalles "Bugs" Arbeidet med å finne Bugs kalles "Debugging" Flere debuggings-metoder finnes

Debuggingsmetoder Debugging på papiret –Ta utskrift av koden eller se på skjermen –Skriv opp variabelnavn og verdier som variabelen får etter hvert, f.eks. når vi skulle finne minste verdi hadde vi variabelen Dim minste As Integer minste fikk en startverdi større enn største tall i tabellen Etter hvert som vi letet oss gjennom tabellen fikk minste ny verdi For å sjekke om programmet er korrekt noeterte vi hva minste er på et papir –Tilsvarende gjorde vi det for frekvenstabeller: vi skrev dem opp på tavlen/papir og fylte dem mens vi gikk gjennom programmet for hånd Bruke MsgBox("melding") til å skrive ut verdier flere steder i programmet Visual Basic Debugger hjelpeprogram

Visual Basic Debugger (s. 627) Kan se hva som skjer for hver linje som kjøres Kan ta pauser i kjøringen Kan se og endre innhold i variabler Debuggingsvinduer: –Immediate –Watch –Locals

Programmering har tre modus/faser 1.Design Mode –Tegne brukergrensesnitt og skrive kode 2.Run Mode –Kjøre programmet 3.Debugging Mode –Kjøre programmet linje for linje mens vi ser på innhold i variabler

Debuggings Mode Startes automatisk når en feil oppstår ved kjøring av programmet. Prøv å oppgi et reelt tall når følgende kode kjøres: Private Sub btnStart_Click() Handles btnStart.Click Dim hoydeITommer As Double 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 Kjør programmet videre med steg for steg (step by step) ved å bruke ikonene i VB

Debugging (se side 629) Sette evt. fjerne stoppunkt (Breakpoint): –Flytt Cursor til en linje og trykk F9 Kjør til Cursor –Ctrl + F8 Kjør til neste Breakpoint: –Trykk F5

Tester debugging med Kode fra eksempel 7 side 225 Private Sub btnAntall_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAntall.Click Dim sesong As String sesong = txtSesong.Text txtAntallDager.Text = sesong & " har " & AntDager(sesong) & " dager." End Sub Function AntDager(ByVal sesong As String) As Integer Select Case sesong.ToUpper Case "VINTER" : Return 87 Case "VÅR" : Return 92 Case "SOMMER", "HØST" : Return 93 End Select End Function

Immediate Window Nederst på skjermen I Debug mode trykk: Ctrl + Alt + I Test: –Sett breakpoint ved sesong =... –Oppgi 23 i pop-up vinduet –Kjør til Breakpoint –Se feilen –Rett opp i Immediate Window, skriv: sesong = "sommer"

Watch Window Se innhold i variabler mens vi kjører steg for steg Start debugging Klikk på Watch 1 ikonet øverst til høyre

Introduksjon til sortering Anta at vi har en tabell med to tekst-elementer som er navnene Berit og Anne i posisjon 0 og 1 Vi ønsker at disse skal stå i alfabetisk rekkefølge, de må derfor bytte plass. Skrive kode for dette (Tips: husker prinsippet vi brukte ved sletting av en linje i en tekstfil: brukte en hjelpefil. Her kreves en lignende løsning) Gjør det med en prosedyre ByttOm(ByRef til tabell) Bruk debugger til å gå gjennom programmet