Föreläsning 13 Testning och strängar



Relevanta dokument
Föreläsning 18 Filer och avbildningar

Uppgift 1 (grundläggande konstruktioner)

Föreläsning 5 Mer om funktioner, villkor

Föreläsning 16 Arv. Jan Lönnberg T Grundkurs i programmering

Övningsuppgifter kapitel 8

Multipel tilldelning. Introduktion till programmering D0009E. Föreläsning 6: Iteration. while-satsen. Kom ihåg. Snurror kontra rekursion

Använda Python Laboration 1 GruDat, DD1344

Erfarenheter från labben

Datalogi, grundkurs 1

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata.

Text och strängindexerade fält Grundkurs i programmering med Python

Datalogi för E Övning 3

Planering Programmering grundkurs HI1024 HT TIDAA

Planering Programmering grundkurs HI1024 HT data

Planering Programmering grundkurs HI1024 HT 2014

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python TDDE24 Funktionell och imperativ programmering del 2

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

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

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

Uppgift 1 ( Betyg 3 uppgift )

HI1024 Programmering, grundkurs TEN

HI1024 Programmering, grundkurs TEN

TDIU01 - Programmering i C++, grundkurs

Objektorienterad programmering D2

Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod

Objektorienterad programmering Föreläsning 5

Tentamen i Introduktion till programmering

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

Tentamen i Grundläggande Programvaruutveckling, TDA548

n Detta för att kunna koncentrera oss på n Tal: number? n Symboler: symbol? n Strängar: string? n Tecken: char? n Boolskt: boolean?

Föreläsning 3-4 Innehåll

Tentamen i. för D1 m fl, även distanskursen. fredag 13 januari 2012

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

Övningsuppgift. En array baklänges. Steg 1. Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402

Objektorienterad programmering Föreläsning 10. Copyright Mahmud Al Hakim Sorteringsalgoritmer

Dagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten?

Introduktion till programmering SMD180. Föreläsning 7: Strängar

Sekvensdatatyper, ASCII och chiffer. Linda Mannila

Tentamen i Programmering grundkurs och Programmering C

kl Tentaupplägg

TDDC74 Programmering: Abstraktion och modellering Datordugga 2 - exempel

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

I ett program hantera man ofta samlingar av objekt av samma typ.

Per Holm Lågnivåprogrammering 2014/15 24 / 177. int och double = = 2, 147, 483, 647

kl Tentaupplägg

Tentamen i Grundläggande Programvaruutveckling, TDA548

kl Tentaupplägg

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

Uppgift 1a (Aktiekurser utan poster)

Övning från förra gången: readword

Övning 6. Ali Tofigh 24 Oktober, 2006

729G74 IT och programmering, grundkurs. Tema 1, Föreläsning 3 Jody Foo,

HI1024 Programmering, grundkurs TEN

Programmering C: Tentamen of 5 Prioritet och associativitet hos operatorerna i C De viktigaste operatorerna: Prioritet Kategori Operator

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

Föreläsning 8 - del 1: Objektorienterad programmering (forts.) - Exempel

Laboration: Whitebox- och blackboxtesting

Repetition i Python 3. Exemplen fac. Exemplen fac motivering. Exemplen fac i Python

kl Tentaupplägg

Föreläsning 3: Typomvandling, villkor och val, samt textsträngar

Introduktion till programmering SMD180. Föreläsning 4: Villkor och rekursion

STRÄNGAR DATATYPEN. Om du vill baka in variabler eller escape-tecken måste du använda dubbla citattecken. strängar

TDDC74 Programmering: Abstraktion och modellering Datortenta , kl 08-12

Instruktioner - Datortentamen TDDE24 och TDDD73 Funktionell och imperativ programmering (i Python)

Programmering, grundkurs, 8.0 hp HI1024, HI1900 etc., Tentamen TEN1. Måndagen den 10 januari 2011,

Lambdas. (och fler design patterns) Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2017

kl Tentaupplägg

kl Tentaupplägg

Objektorienterad programmering E. Telefonboken, än en gång. Gränssnitt. Telefonboken med gränssnitt specificerat, del 1.

Omtentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-16, TDA540. Dag: , Tid:

Lågnivåprogrammering. Föreläsning 2 Lågnivåprogrammering. Binära tal. En enkel modell av datorns inre

Användarhandledning Version 1.2

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

TENTAMEN MOM1 GRUNDLÄGGANDE PROGRAMMERINGSTEKNIK OCH

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

TDDC74 Programmering: Abstraktion och modellering Dugga 3, kl 14 16, 25 mars 2015

Några inbyggda funktioner (med resultat!) Introduktion till programmering D0009E. Föreläsning 4: Villkor och rekursion. Modulus-operatorn.

Tentamen TEN1 HI

Python vecka 41-42: Individuell programmering

Funktioner. Linda Mannila

Datalogi I, grundkurs med Java 10p, 2D4112, Fiktiv tentamen, svar och lösningar och extra kommentarer till vissa uppgifter 1a) Dividera förs

Föreläsning 4 Programmeringsteknik DD1310. Felhantering. Syntax. try och except är reserverade ord som används för hantering av exekverings fel.

Strängar. TDDD64 Programmering i Python Föreläsning 4. Peter Dalenius Institutionen för datavetenskap

Föreläsning 8 - del 2: Objektorienterad programmering - avancerat

Datalogi, grundkurs 1

Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 12

ID1004 Laboration 4, November 2012

TDP Regler

TDP Regler

TENTAMEN: Objektorienterad programmering. Läs detta! Skriv din tentamenskod på varje blad (så att vi inte slarvar bort dem).

Att bekanta dig med NetBeans programmeringsmiljö och skriva några enkla program med programmeringsspråket Java.

Hej Då, Karel! Programmering. Vårt första Javaprogram. hh.se/db2004. Java. Grundtyper, variabler och arrayer

Introduktion till programmering SMD180. Föreläsning 3: Funktioner

Tentamen i. för D1 m fl, även distanskursen. lördag 26 februari 2011

Metoder. Inledande programmering med C# (1DV402)

Uppgift 1 ( Betyg 3 uppgift )

kl Tentaupplägg

TDDC74 Programmering: Abstraktion och modellering Tenta, kl 14 18, 11 juni 2014

Transkript:

Föreläsning 13 Testning och strängar Grundkurs i programmering Jan Lönnberg Institutionen för datateknik -universitetets högskola för teknikvetenskaper 13.10.2011

Testning Tips för systematisk testning Skriv en liten del av programmet i gången och testa den. Börja från små delar och gå sedan till större helheter när alla beståndsdelar har bekräftats fungera. Kolla olika sorters indata som kan leda till olika situationer. Kolla special- och gränsfall. Kolla att resultatet faktiskt är det rätta! Se till att inte data försvinner på vägen! Varje sats i programmet bör testas! Föreläsning 13 Testning och strängar 2/18

Strängar Unicode-teckenkoder i litteraler Man kan skriva Unicode-värdet för tecken i litteraler istället för tecknet självt. Nyttigt om man vill hålla sig till ASCII-tecken i sin källkod. Praktiskt om tecknet inte finns på tangentbordet. \u hexkod T.ex. u \u00df är samma som u ß. Övning Skriv ut Viel Spaß! med ett program skrivet i ren ASCII. Föreläsning 13 Testning och strängar 3/18

Strängar Strängkonstanter string-modulen innehåller en hel del nyttiga variabler: digits Alla siffror letters Alla bokstäver lowercase Alla små bokstäver uppercase Alla stora bokstäver punctuation Alla skiljetecken whitespace Alla tomrum Värdena kan variera enligt språkvariant. För att få Python att använda systemets språkvariant, anropa locale.setlocale(locale.lc_all, ). Föreläsning 13 Testning och strängar 4/18

count() Räknar hur många gånger en sträng finns i en annan sträng. Tar 1 3 parametrar (från början av följande): sub Delsträngen som sökes i self start Indexet i self att börja söka vid; början om bortlämnad end Indexet i self att sluta söka vid; slutet om bortlämnad Returnerar mängden gånger sub förekommer i self[start:end]. Föreläsning 13 Testning och strängar 5/18

find() Söker första stället en sträng finns i en annan sträng. Tar 1 3 parametrar (från början av följande): sub Delsträngen som sökes i self start Indexet i self att börja söka vid; början om bortlämnad end Indexet i self att sluta söka vid; slutet om bortlämnad Returnerar var (index av första tecken) sub förekommer i self[start:end]; -1 om den inte finns. Föreläsning 13 Testning och strängar 6/18

index() Söker första stället en sträng finns i en annan sträng. Tar 1 3 parametrar (från början av följande): sub Delsträngen som sökes i self start Indexet i self att börja söka vid; början om bortlämnad end Indexet i self att sluta söka vid; slutet om bortlämnad Returnerar var (index av första tecken) sub förekommer i self[start:end]; kastar ValueError om den inte finns. Föreläsning 13 Testning och strängar 7/18

Censor Gör en funktion censor() som tar strängar text och bad och skriver ut indexet på varje ställe i text där bad förekommer. Testa funktionen! Föreläsning 13 Testning och strängar 8/18

isalpha()/isdigit()/islower()/isspace()/isupper() Kollar om strängen består helt av bokstäver/siffror/små bokstäver/tomrum/stora bokstäver. Tar 0 parametrar. Returnerar om strängen består helt av ifrågavarande teckentyper. Föreläsning 13 Testning och strängar 9/18

join() Slå ihop strängarna i en sekvens till en sträng. Tar 1 parameter: en sekvens (t.ex. en lista) av strängar. Returnerar strängarna i sekvens hopslagna i sekvensens ordning till en sträng. Föreläsning 13 Testning och strängar 10/18

lower()/upper() Omvandla en sträng till stora eller små bokstäver. Tar 0 parametrar. Returnerar strängen omvandlad till stora eller små bokstäver. Föreläsning 13 Testning och strängar 11/18

lstrip()/rstrip()/strip() Ta bort givna tecken från strängens början/slut/båda ändor. Tar 0 1 parametrar: en sträng som innehåller alla tecken som ska tas bort (alla tomrum om inte given). Returnerar strängen med alla tecken i strängens början/slut/båda ändor som finns i parametern borttagna. Föreläsning 13 Testning och strängar 12/18

replace() Ersätt en given delsträng i en sträng med en annan. Tar 2 3 parametrar: old Strängen att ersätta new Ersättande strängen count Hur många förekomster av old som ska ersättas Returnerar strängen med de (count första, om angivet) ställen där delsträngen old finns ersatta med new. Föreläsning 13 Testning och strängar 13/18

split() Dela upp en sträng i en lista vid angivna tecken. Tar 0 2 parametrar (från början av följande): split Tecken att dela upp strängen vid (alla tomrum om inte angivet) maxsplit Maximala mängden ställen att dela upp strängen på (obegränsat om inte angivet) Returnerar en lista med strängen delad i upp till maxsplit + 1 delar vid tecknena i split. Om split inte angivit, ta bort alla tomma strängar från resultatet. Föreläsning 13 Testning och strängar 14/18

Censor Utvidga funktionen censor() så att den också ersätter bad med lika många asterisker som det finns tecken i bad varje gång det förekommer i text och returnerar detta. T.ex. censor( Jagar jag hajar?, ja ) returnerar Jagar **g ha**r?. Avancerad version: ersätt bad oberoende om bokstäverna är små eller stora: censor( Jagar jag hajar?, ja ) returnerar **gar **g ha**r?. Testa funktionen! Föreläsning 13 Testning och strängar 15/18

Startparametrar Vad? I de flesta operativsystem kan man ange argument åt ett program när man startar det från t.ex. kommandotolken. I Python finns dessa värden som strängar i startparameterlistan i sys-modulens argv-variabel. I Eclipse finns dessa i Arguments-fliken i Run/Run Configurations... -dialogen. Första elementet i listan är programmets namn, resten är argumenten. Det är vanligen en bra idé att berätta för användaren vilka parametrarna är om inga har angivits men de behövs. Föreläsning 13 Testning och strängar 16/18

Startparametrar Censor Skriv ett huvudprogram som läser text och bad från startparametrarna och skriver ut den censurerade texten. Huvudprogrammet bör kolla att den får två argument och klaga om det här inte är fallet. Testa programmet i Eclipse och i kommandotolken. Föreläsning 13 Testning och strängar 17/18

Slut Nästa föreläsning 18.10.2011 14:15 16:00 i U344 Design, metoder som parametrar Kom ihåg Rond 5 deadline 18.10. Föreläsning 13 Testning och strängar 18/18