Programmeringsteknisk översiktskurs för yrkeshögskoleprogram

Relevanta dokument
Översikt över Visual Basic

Uppgift (poäng) 1 (2) 2 (3) 3 (4) 4 (4) 5 (3) 6 (4) 7 (6) 8 (6) 9 (8) Summa

Visual Basic, en snabbgenomgång

Objektorienterad Programmering (TDDC77)

Laboration 1 Introduktion till Visual Basic 6.0

Command line argumenter. Objektorienterad Programmering (TDDC77) Vad blir resultatet? Nu då? Ahmed Rezine. Hösttermin 2016

Sammanfattning. Listor. List-manipulering. Matris. /home/lindahlm/activity-phd/teaching/11dd1310/exercise3/exercise3.py September 13, 20111

Omtenta, Programmeringsteknisk översiktskurs, VT06

Ordlistor, filhantering och ut på webben. Linda Mannila

1.1 Skapa ett Inline-Script som skapar filen För att skapa ett inline script drar man InLine till där man vill ha själva scriptet.

Programmeringsteknisk översiktskurs för yrkeshögskoleprogram

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Språket Python - Del 2 Grundkurs i programmering med Python

Föreläsning 3. Programmering, C och programmeringsmiljö

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

Programmeringsteknik med C och Matlab

Föreläsnings 9 - Exceptions, I/O

Föreläsning 3. Programmering, C och programmeringsmiljö

Planering av ett större program, del 2 - for och listor. Linda Mannila

Föreläsning 7: Filer

Planering Programmering grundkurs HI1024 HT TIDAA

Planering Programmering grundkurs HI1024 HT data

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt

F4. programmeringsteknik och Matlab

Program. Kapitel make Program Interpreterande och kompilerande program

Dagens program. Programmeringsteknik och Matlab. Viktiga datum. Ett första exempel. Programmall, vad behöver vi i ett javaprogram?

KPP053, HT2016 MATLAB, Föreläsning 1. Introduktion till MATLAB Skript Inläsning och utskrift av variabler Ekvationssystem Anonyma funktioner

PC-teknik, 5 p LABORATION FILHANTERING

NetBeans 5.5. Avsikt. Projektfönster

TENTAMEN MOM1 GRUNDLÄGGANDE PROGRAMMERINGSTEKNIK OCH

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

Innehållsförteckning. 9 Större projekt Övningsuppgifter...32

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

Övningsuppgifter till föreläsning 2 Variabler och uttryck

Föreläsning 5: Introduktion av pekare

Introduktion till programmering SMD180. Föreläsning 2: Variabler, uttryck och satser

Föreläsning 4: Filer och strömmar

HI1024 Programmering, grundkurs TEN

TENTAMEN I PROGRAMSPRÅK -- DVG C kl. 08:15-13:15

PROGRAMMERING A VB 2008 EXPRESS UTVECKLINGSVERKTYGET VISUAL BASIC

Tentamen i Grundläggande Programvaruutveckling, TDA548

Chapter 3: Using Classes and Objects

Att deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1)

Labora&on 2 Funk&oner, if och loop övningar/uppgi:er

Standardfilerna Input och Output

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6

Instruktioner för att kunna programmera på skolans datorer

Standardfilerna Input och Output. Filer... Filer... vanlig utbyggnad för ökad dynamik. Filer... filtyper

Tentamen PC-teknik 5 p

Repetition av filer Grundkurs i programmering med Python

Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?

TDP002 - Imperativ programmering

Inledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock

Projekt i programmering 1 (ver 2)... 2 Projektidé... 2 Planering... 2 Genomförande... 2 Testning och buggar... 3 Utvärdering... 3 Planering...

Filer. DA2001 (Föreläsning 16) Datalogi 1 Hösten / 19

Objektorienterad Programmering (TDDC77)

i LabVIEW. Några programmeringstekniska grundbegrepp

Grundläggande datalogi - Övning 1

Objektorienterad programmering i Java

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program

Snabbguide till GC Dessa delar ska finnas med i kartongen när du får din Craft Robo skärplotter. Kontrollera att så är fallet.

Användarhandledning Version 1.2

KTH STH TENTAMEN. HI1024:TEN2 - Praktisk tentamen Tid: 8-13, den 18 februari 2012

Snabbguide Visma Compact API Copyright Visma Spcs AB

HI1024 Programmering, grundkurs TEN

Att skriva till och läsa från terminalfönstret

Planering Programmering grundkurs HI1024 HT 2014

729G04 Programmering och diskret matematik. Föreläsning 7

Medieteknologi Webbprogrammering och databaser MEB725, 5p (7,5 ECTS) Klientprogrammering JavaScript Program på flera sidor

En kort text om programmering i C.

Uppgift 1 (grundläggande konstruktioner)

Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk

Föreläsning 5 Programmeringsteknik DD1310. Modulen doctest. Exempel. Doctest Dictionary Filhantering

TENTAMEN I PROGRAMMERING. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng

Obligatorisk uppgift: Numerisk kalkylator

Besiktningsprotokollet

Välkomna till DIT012 IPGO. Tyvärr en bug i Google Docs: Sidnummer stämmer inte alltid. Alla anteckningar börjar på sidan 1.

Datalogi, grundkurs 1

NetBeans 7. Avsikt. Projektfönster

Det är principer och idéer som är viktiga. Skriv så att du övertygar examinatorn om att du har förstått dessa även om detaljer kan vara felaktiga.

Grundkurs i programmering - intro

Föreläsning 2: Avlusning och antilustekniker

Objektorienterad programmering i Java I

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

Så här skriver du ditt första program i C++

Uppgift 1 - programmet, Uppg6.m, visade jag på föreläsning 1. Luftmotståndet på ett objekt som färdas genom luft ges av formeln

Tentamen i TDP004 Objektorienterad Programmering Praktisk del

Frekvenstabell över tärningskast med C#

Inledande programmering med C# (1DV402) Ditt första C#-program med Visual Studio

Värmedistribution i plåt

Strängar. Strängar (forts.)

Eclipse. Avsikt. Nu ska ett fönster liknande figuren till höger synas.

Introduktion till programmering D0009E. Föreläsning 1: Programmets väg

Kapitel 4 Arkivmenyn Innehåll

Skolan för Datavetenskap och kommunikation. Programmeringsteknik. Föreläsning 16

Programmering I Tobias Wrigstad fredag, 2009 augusti 28

HI1024, Programmering, grundkurs, 8hp KTH STH TENTAMEN. HI1024:TEN2 - Praktisk tentamen Tid: Fredagen den 21 oktober 2011,

Operatorer Tilldelning Kodblock { } if satsen Logiska uttryck Att programmera

Transkript:

Programmeringsteknisk översiktskurs för yrkeshögskoleprogram Föreläsning 12 Våren 2005

Innehåll Palindrom Hur man hittar fel i program, debuggning Felhantering, hur man förhindrar program att krascha Ev. lite filhantering Läsanvisningar: Kapitel 13 + ev. Kapitel 15 F12 Lena Kallin Westin, kallin@cs.umu.se 2005 2

Problem: Skriv en funktion som tar en sträng och avgör om strängen är ett palindrom eller ej. Ett palindrom är en text som är likadan om man läser den bakifrån som framifrån om man bortser från versaler/gemener och tecken som,!? etc anna, dallassallad, sirap i paris, ni talar bra latin, A man, a plan, a canal, Panama Dromedaren Alpotto planerade mord saippuakivikauppias längsta enstaka ordet finska tvålstensförsäljare enligt susning.nu där påstås det också att det finns ett palindrom som är över 64000 ord långt! F12 Lena Kallin Westin, kallin@cs.umu.se 2005 3

Fel i koden, debugging Grace Brewster Murray Hopper (1906-1992) Skrev den första kompilatorn på början av 50-talet. Var med och skapade programspråket COBOL 1955 Myten säger att hon upptäckte" den första buggen 1945 Datorn, Mark II, slutade fungera och orsaken var en skalbagge (bug). F12 Lena Kallin Westin, kallin@cs.umu.se 2005 4

Hur finner man fel? Läsa koden och kommentarerna en extra gång Kan lyckas i de enklaste fallen men svårt då man arbetar med större program. Spårutskrifter Man kontrollerar variablers värde genom att skriva ut dem till skärmen. Bra för mindre program ohanterligt många utskrifter vid större program. Debugger F12 Lena Kallin Westin, kallin@cs.umu.se 2005 5

Debugger Ett hjälpmedel som gör att man kan stega igenom koden rad för rad. Man kan följa variablernas värde och hur de förändras under körning. Kan sätta breakpoints som bestämmer vart programmet ska stanna. Kan välja att gå in i subrutiner/procedurer Step into eller att gå förbi dem Step. Fungerar vår strängräknare och palindromfunktion som de ska? F12 Lena Kallin Westin, kallin@cs.umu.se 2005 6

Felhantering Vissa fel beror på användaren. Ange ett filnamn som inte finns. Ge text när man vill ha siffror. Klicka på en knapp innan allt är ifyllt. De flesta fel kan man förutse och programmera bort. Bara visa namn på filer som finns. Gör så att knappen inte går att klicka på förrän allt är ifyllt. Göra en kontroll av värden som matas in. Man kan också använda sig av undantagshantering. F12 Lena Kallin Westin, kallin@cs.umu.se 2005 7

Undantagshantering Exempel: Dela två givna tal med varandra. Fungerar i alla fall utom då nämnaren är 0. Kan föra in en felkontroll i koden. if nämnare = 0 then Kan också skriva undantagshantering. Gör att användaren meddelas om felet och programmet kan fortsätta köras F12 Lena Kallin Westin, kallin@cs.umu.se 2005 8

Undantagshantering Private Sub beräkning2() On Error GoTo lblfel Om ett fel uppkommer gör det som står vid lblfel! txtresultat.text = txttäljare.text / txtnämnare.text Exit Sub Används för att inte resten av rutinen ska köras lblfel: txtresultat.text = "Division med 0 ej tillåten" Exit Sub End Sub Här bestäms vad som ska hända om fel uppkommer On Error ska alltid stå först i rutinen och själva felhanteringen sist F12 Lena Kallin Westin, kallin@cs.umu.se 2005 9

Undantagshantering Ibland vet man inte varför det gått fel. Err en funktion som ger en felkod för felet (heltal) Error en funktion som kan översätta felkoden till (engelsk) text Private Sub beräkning3() On Error GoTo lblfel txtresultat.text = txttäljare.text / txtnämnare.text Exit Sub lblfel: MsgBox(Error(Err)) Exit Sub End Sub F12 Lena Kallin Westin, kallin@cs.umu.se 2005 10

Finns två val avsluta rutinen (Exit Sub) När felet hanterats fortsätta exekveringen på raden efter det att felet uppkom (Resume Next) Resume Next ska användas med försiktighet Inte bra att fortsätta köra om filen inte gick att öppna... F12 Lena Kallin Westin, kallin@cs.umu.se 2005 11

Filhantering För att läsa från/skriva till en fil måste man göra tre saker 1. Öppna filen 2. Läsa/skriva 3. Stänga filen En textfil kan läsas av exempelvis Notepad/Anteckningar och består av vanliga tecken, radslutstecken och ett filslutstecken. Omvandlingen från ettor och nollor sker automatiskt och tecknen tolkas med hjälp av en ASCII-tabell (s 429) F12 Lena Kallin Westin, kallin@cs.umu.se 2005 12

Öppna filen När vi öppnar filen måste vi tala om ifall vi ska läsa eller skriva Input, Output, Append Vi vet filens namn men programmet behöver en egen koppling till filen. Vi måste ange fullständig sökväg (path) till filen. App.Path är en funktion knuten till applikationen/projektet I VB ges filen ett nummer. Man kan ha flera filer öppna samtidigt så numret måste vara unikt. FreeFile ger ett nytt unikt nummer Vi måste koppla samman filnamnet och programmets unika nummer. F12 Lena Kallin Westin, kallin@cs.umu.se 2005 13

Exempel öppna en fil för läsning Vi har filen testfil.txt i samma katalog som projektet och vill läsa från filen. Open App.Path + \testfil.txt For Input As #1 Om vi vill ha ett unikt nummer: Dim FilNr As Integer FilNr = FreeFile Open App.Path+ \testfil.txt For Input As #FilNr F12 Lena Kallin Westin, kallin@cs.umu.se 2005 14

Läsa från filen Läser radvis och lagrar raderna i en sträng Dim strline As String Line Input #1, strline eller #FilNr Oftast vill man läsa in hela filen, upprepa tills filen slut EOF(nr) kollar om filen med nummer nr är slut While Not EOF(1) Eller EOF(FilNr) Läs in och arbeta med en rad i taget Wend F12 Lena Kallin Westin, kallin@cs.umu.se 2005 15

Stänga filen Stänger en fil med hjälp av rutinen Close Close #1 eller Close #FilNr Filer stängs automatiskt när programmet avslutas men det är god programmeringsmetodik att stänga dem kontrollerat, dvs så fort de inte behövs längre. F12 Lena Kallin Westin, kallin@cs.umu.se 2005 16

Exempel Ett formlär som visar innehållet i filen testfil.txt i en textruta. Inläsningen sker i subrutinen Main och formuläret visas först när inläsningen är klar. F12 Lena Kallin Westin, kallin@cs.umu.se 2005 17

Öppna filen med Output Att skriva till en fil Dim FilNr As Integer FilNr = FreeFile Open App.Path + \testfil.txt For Output As #FilNr Skriv till filen med Print Print #FilNr, strline Stäng filen Close #FilNr Om man vill lägga till i en befintlig fil använder man Append istället för Output F12 Lena Kallin Westin, kallin@cs.umu.se 2005 18