Reguljära uttryck, automater, hashtabeller, mm
|
|
- Oliver Mattias Engström
- för 7 år sedan
- Visningar:
Transkript
1 Reguljära uttryck, automater, hashtabeller, mm Programmering för språkteknologer 2 Sara Stymne
2 Idag Reguljära uttryck (huvudfokus) Ändliga automater Läsning/skrivning (delvis repetition) Hashtabeller
3 Reguljära uttryck relation till tidigare kurser Matematik för språkteknologer Teori kring reguljära uttryck och finita automater Introduktion till datateknik för språkvetare Praktisk användning av reguljära uttryck grep och sed
4 Reguljära uttryck relation till tidigare kurser Matematik för språkteknologer Teori kring reguljära uttryck och finita automater Introduktion till datateknik för språkvetare Praktisk användning av reguljära uttryck grep och sed Den här kursen Fokus på hur reguljära uttryck används i Java Ska kunna representera enkla uttryck som automater
5 Reguljära uttryck Sätt att karaktärisera teckensekvenser En teckensekvens matchar eller matchar inte ett reguljärt uttryck Reguljära uttryck är nära besläktade med ändliga automater (de kan karaktärisera samma klasser av teckensekvenser) Mycket viktiga både i språkteknologin och datatekniken allmänt sett
6 Reguljära uttryck exempel Alla strängar av ett a följt av ett b.
7 Reguljära uttryck exempel Alla strängar av ett a följt av ett b. ab
8 Reguljära uttryck exempel Alla strängar av ett a följt av ett b. ab Alla strängar av noll eller fler a följt av noll eller fler b.
9 Reguljära uttryck exempel Alla strängar av ett a följt av ett b. ab Alla strängar av noll eller fler a följt av noll eller fler b. a*b*
10 Reguljära uttryck exempel Alla strängar av ett a följt av ett b. ab Alla strängar av noll eller fler a följt av noll eller fler b. a*b* Alla strängar av sekvenser av ab
11 Reguljära uttryck exempel Alla strängar av ett a följt av ett b. ab Alla strängar av noll eller fler a följt av noll eller fler b. a*b* Alla strängar av sekvenser av ab (ab)*
12 Reguljära uttryck exempel Alla strängar av ett a följt av ett b. ab Alla strängar av noll eller fler a följt av noll eller fler b. a*b* Alla strängar av sekvenser av ab (ab)* Alla strängar av ett eller fler a följt av ett eller fler b.
13 Reguljära uttryck exempel Alla strängar av ett a följt av ett b. ab Alla strängar av noll eller fler a följt av noll eller fler b. a*b* Alla strängar av sekvenser av ab (ab)* Alla strängar av ett eller fler a följt av ett eller fler b. a+b+
14 Deterministiska ändliga automater b start s 1 a s 2 a s 3 b a b s 4 b
15 Deterministiska ändliga automater b start s 1 a s 2 a s 3 b a b s 4 b s 2 s 2 States start s 1 Initial state s 3 Accepting state
16 Ändliga automater input Accepterad input: En maskin accepterar input om maskinen hamnar i ett sluttillstånd efter att ha behandlat hela inputsekvensen Icke-accepterad input: En maskin accepterar inte input om maskinen hamnar i ett sluttillstånd efter att ha behandlat hela inputsekvensen
17 Ändliga automater exempel Rita automater för: Alla strängar av ett a följt av ett b. ab Alla strängar av noll eller fler a följt av noll eller fler b. a*b* Alla strängar av sekvenser av ab (ab)* Alla strängar av ett eller fler a följt av ett eller fler b. a+b+
18 Reguljära uttryck i Java Reguljära uttryck representeras som strängar som alltså tolkas på ett speciellt sätt Syntaxen kan skilja sig lite från vad ni är vana vid Relevanta klasser: java.util.regex Pattern Matcher String-klassen har en del funktioner med reguljära uttryck Reguljära uttryck förekommer även som argument för metoder i andra klasser, t.ex. Scanner
19 Reguljära uttryck som strängar I Java skrivs reguljära uttryck som strängar Specialtecken. vilket tecken som helst () grupperar tecken *+? kvantifierare Alla specialtecken: ({[\ˆ-=$! ]})?*+. Backslash måste dubbleras För att använda specialtecken som vanliga tecken ( \\. för tecknet punkt) För att använda fördefinierade kalsser ( \\s för vita tecken)
20 Reguljära uttryck kvantifierare * : matcha noll eller flera "a*" matchar "", "a", "aa", "aaa",... + : matcha ett eller flera "a+" matchar "a", "aa", "aaa",...? : matcha noll eller ett "a?" matchar "" eller"a"
21 Reguljära uttryck teckenklasser Teckenklasser [] ett tecken av de som står innanför hakparanteserna matchas "[abc]" matchar vilken som av "a", "b" och "c". "[a-z]" matchar vilken som av "a", "b",..., "z". "[a-za-z]" matchar vilken som av "a", "b",..., "z" och "A", "B",..., "Z".
22 Reguljära uttryck negerade teckenklasser Negerade teckenklasser: matchar ett tecken förutom de som anges "[ˆabc]" matchar alla (enstaka) tecken UTOM "a", "b" och "c". "[ˆa-ms]" matchar alla (enstaka) tecken UTOM "a", "b",..., "m" och "s". "[ˆa-zåäöA-ZÅÄÖ]" matchar alla (enstaka) tecken som inte är svenska bokstäver.
23 Reguljära uttryck fördefinierade grundklasser Symboler för fördefinierade klasser: "\d" matchar en siffra (synonym "[0-9]"). Obs! "\d" måste stå som "\\d" i koden. (Man måste backslasha backslashen för att få in den i strängen.) "\D" matchar en icke-siffra (synonym "[ˆ0-9]"). Motsvarande finns för w och s "\w" matchar ett (engelskt) ordtecken (synonym "[a-za-z0-9]"). "\s" matchar "vita tecken" (blanktecken, tab, nyrad,... ) "\b" ordgräns (matchar inget tecken)
24 Reguljära uttryck teckenklasser i Unicode Unicode: standard för de teckenklasser som behövs när vi vill ha alla skriftsystem för naturliga språk. Rekommenderas för svenska eftersom "åäö" hanteras korrekt! Exempel på Unicode-teckenklasser: \p {L}: bokstav \p{ll}: gemen \p{lu}: versal \p{p}: interpunktionstecken Det finns många fler klasser. Slå upp! Glöm inte att skriva med dubbla backslash: "\\p{l}+" för att matcha ett ord, till exempel!
25 Regexp i Java String boolean matches(string regex) String replaceall(string regex, String replacement) String replacefirst(string regex, String replacement) String[] split(string regex)
26 Regexp i Java String boolean matches(string regex) String replaceall(string regex, String replacement) String replacefirst(string regex, String replacement) String[] split(string regex) VISA KODEXEMPEL!
27 Reguljära uttryck alternativ kan användas för att uttrycka alternativ "a b" matchar "a" och "b" (motsvarar "[ab]") "apa ko" matchar "apa" och "ko"
28 Reguljära uttryck gruppering Delar av reguljära uttryck kan grupperas med paranteser Kan användas för att begränsa alternativ "god(are ast)" matchar "godare", "godast" "godare ast" matchar "godare", "ast" Kan användas för kvantifierare "(hem)+" matchar "hem", "hemhem",... EJ "hemm" "god(are ast)?" matchar "god", "godare", "godast" Kan även användas för att hänvisa tillbaka i uttrycket "([1-4])\\1" matchar "11", "22", "33", "44"
29 Reguljära uttryck gruppering Man kan ha flera grupper i ett uttryck Grupperna räknas från vänster baserat på vänsterparanteser "((an(teckna))(r))" grupp 1: antecknar grupp 2: anteckna grupp 3: teckna grupp 4: r Grupperna kan användas för att välja ut eller byta ut delar av ett uttryck I samma uttryck \x "([rst])\\1" "rr", "ss", "tt" I utbytesuttryck $x
30 Regexp i Java java.util.regex Mer avancerade funktioner än i String Två huvudklasser: Pattern representerar ett reguljärt uttryck Matcher matchar ett Pattern, och har funktioner för att jobba med en matching Typisk användning: String sentence =... Pattern p = Pattern.compile("\\b[Jj]ag\\b"); Matcher m = p.matcher(sentence); \\ Gör något med matchning m
31 java.util.regex exempel på vad man kan göra Matcha (jfr grep) Hitta strängar där ett uttryck förekommer (som en del av strängen) Hitta alla matchningar för ett uttryck i en sträng Ersätt (jfr sed) Byt ut ett uttryck mot ett annat
32 java.util.regex exempel på vad man kan göra Matcha (jfr grep) Hitta strängar där ett uttryck förekommer (som en del av strängen) Hitta alla matchningar för ett uttryck i en sträng Ersätt (jfr sed) Byt ut ett uttryck mot ett annat VISA KODEXEMPEL!
33 Matcher metoder find hitta nästa förekomst av uttrycket group(int) ta fram grupper ur det matchade uttrycket group() eller group(0) hela matchningen group(n) gruppering n från matchningen groupcount hur många grupper finns det? start/end första/sista index för matchningen replaceall replacefirst matches
34 Reguljära uttryck mer om kvantifiering Greedy: Matchar så lång delsträng som möjligt först; försöker med kortare därefter. (Default.) Reluctant: Matchar så kort delsträng som möjligt först; försöker med längre därefter.
35 Reguljära uttryck mer om kvantifiering Greedy: Matchar så lång delsträng som möjligt först; försöker med kortare därefter. (Default.) Reluctant: Matchar så kort delsträng som möjligt först; försöker med längre därefter. Possessive: Matchar som greedy, men eliminerar alternativa tidigare matchningsalternativ. Den lägger så att säga beslag på den delsträng som den matchat.
36 Reguljära uttryck mer om kvantifiering Greedy: Matchar så lång delsträng som möjligt först; försöker med kortare därefter. (Default.) Reluctant: Matchar så kort delsträng som möjligt först; försöker med längre därefter. Possessive: Matchar som greedy, men eliminerar alternativa tidigare matchningsalternativ. Den lägger så att säga beslag på den delsträng som den matchat. Greedy Reluctant Possessive X? X?? X?+ X* X*? X*+ X+ X+? X++
37 Exempel kvantifiering Greedy: Reluctant "en <i>liten</i> hund".replaceall("</?.*>","") returnerar "en hund" "en <i>liten</i> hund".replaceall("</?.*?>","") returnerar "en liten hund"
38 Reguljära uttryck Java vs grep/sed Varför ska man använda reguljära uttryck i Java? Fungerar inte grep och sed lika bra?
39 Reguljära uttryck Java vs grep/sed Varför ska man använda reguljära uttryck i Java? Fungerar inte grep och sed lika bra? Beror på vad man ska göra! Om man ska använda datan ytterligare, till exempel göra en frekvenstabell som i labben, kan det vara bra att använda sig av ett fullt programmeringsspråk!
40 Läsning/skrivning Läsning Scanner Skrivning format
41 Scanner Klass som används för att läsa data Kan läsa från olika källor Standard in Scanner s = new Scanner(System.in); Från en annan sträng String row =... Scanner s = new Scanner(row); Standard in File f = new File(filename); Scanner s = new Scanner(f);
42 Scanner läsning Läsmetoder next() läs nästa token nextline() läs nästa rad nextint() läs nästa heltal... next(string/pattern regex) läs med avgränsaren regex Motsvarande metoder för kontroll hasnext(); hasnextline() hasnextint()...
43 Scanner exempel Läs data från en fil: (ordrad.txt) bok kål 2 KOD: try { Scanner linereader = new Scanner(new File("ordrad.txt")); while (linereader.hasnextline()) { Scanner rowreader = new Scanner(lineReader.nextLine()); String word = rowreader.next(); WordInfo wi = new WordInfo(word); while (rowreader.hasnextint()) { wi.addrow(rowreader.nextint()); } wi.print(); } } catch (FileNotFoundException e) { System.out.println("Problem reading " + e); }
44 Format Formatter är en klass som kan användas för att formattera output Kan skriva ut formatterat Tal Datum Marginaler... Kan hantera olika locales anpassa till konventioner i olika språk
45 Format använding Kan användas för att skriva till olika typer av mål Formatter(Appendable a) till exempel för StringBuilder Formatter(File file) Formatter(OutputStream os) Kan även ange en locale, ex: Formatter(Appendable a, Locale l) Används ofta direkt för att skriva till standard out: System.out.format
46 Formatter användning System.out.format(String format, Object... args) format: formatsträng args: 0 n antal argument formatsträngen kan innehålla text och platshållare som fylls i från argumenten Exempel: System.out.format( Ordet %s finns %d gånger, word, freq) Utskrift: Ordet hund finns 4 gånger
47 Formatspecificerare %s sträng %d heltal, decimalformat %o heltal, oktalformat %f decimaltal %e decimaltal, vetenskaplig notation %t datum/tid (kräver ytterligare specificering) %n nyrad...
48 Formatspecificerare detaljer %[flags][width][.precision]conversion conversion vilken huvudtyp det är, se förra sliden flags specifikationsflaggor, vilka som är möjliga beror på conversion width minimumvidd för utskriften.precision antal decimaler för decimaltal (används enbart för tal) Exempel %.2f decimaltal avrundat till två decimaler, ex %10s sträng utskriven högerjusterad, med minst 10 tecken, utfyllt med mellanslag, ex. hej %-10s sträng utskriven vänsterjusterad, med minst 10 tecken, utfyllt med mellanslag, ex. hej %0+8.3f decimaltal avrundat till två decimaler, med tecken angivet, minst 8 positioner långt, utfyllt med nollor, ex
49 Hashtabeller Idag Vad är en hashtabell (översiktligt) Vilka klasser finns i Javas bibliotek Hur använder man den Senare i kursen Hur fungerar en hashtabell teoretiskt Hur är den implementerad
50 Mappningar Arrayer Mappning från heltal (0 n) till värden ArrayList<String> mappning från heltal till strängar Hashtabeller Mappning från en typ till en annan HashMap<String,String> mappning från strängar till strängar HashMap<Person,Integer> mappning från klassen person till heltal
51 Hashtabeller terminologi Mappning från nyckel till värde Exempel: Frekvensordlista Nyckel: ord (String) Värde: frekvens (Integer) HashMap<String,Integer> Mappa från ordform till lemma Nyckel: ordform (String) Värde: lemma (String) HashMap<String,String>
52 Javaklasser Det finns flera klasser för hashtabeller i Java Osorterade hashtabeller HashMap Hashtable Specialiserade hashtabeller TreeMap (sorterad på nycklarna)...
53 Javaklasser Det finns flera klasser för hashtabeller i Java Interface: Map Osorterade hashtabeller HashMap Hashtable Specialiserade hashtabeller TreeMap (sorterad på nycklarna)...
54 Parentes gränssnitt (Interface) Klass Kan ha instanser Alla metoder är implementerade Kan vara superklass
55 Parentes gränssnitt (Interface) Klass Kan ha instanser Alla metoder är implementerade Kan vara superklass Abstrakt klass Kan inte ha instanser Kan ha oimplementerade och implementerade metoder Kan vara superklass
56 Parentes gränssnitt (Interface) Klass Kan ha instanser Alla metoder är implementerade Kan vara superklass Abstrakt klass Kan inte ha instanser Kan ha oimplementerade och implementerade metoder Kan vara superklass Interface (gränssnitt) Kan inte ha instanser Har enbart oimplementerade metoder Andra klasser kan implementera godtyckligt många gränssnitt
57 Parentes gränssnitt (Interface) Klass Kan ha instanser Alla metoder är implementerade Kan vara superklass Abstrakt klass Kan inte ha instanser Kan ha oimplementerade och implementerade metoder Kan vara superklass Interface (gränssnitt) Kan inte ha instanser Har enbart oimplementerade metoder Andra klasser kan implementera godtyckligt många gränssnitt Ett alternativ till multipelt arv, som inte finns i Java
58 Använd HashMap Skapa hashtabell HashMap<K,V> name = new HashMap<K, V>(int capacity); Lägg till nytt nyckel-värde par name.put(k key, V value); Hämta värde V value = name.get(k key); returnerar noll om värdet ej finns Finns en nyckel? name.containskey(k key);
59 Exempel: öka värdet i en frekvenslista HashMap<String,Integer> freqlist = new HashMap<String,Integer>(); \\lägg till värden i tabellen Lägg till 1 för värdet för nyckeln s Alternativ 1: if (freqlist.containskey(s)) { freqlist.put(s, freqlist.get(s)+1); } else { freqlist.put(s,1); }
60 Exempel: öka värdet i en frekvenslista HashMap<String,Integer> freqlist = new HashMap<String,Integer>(); \\lägg till värden i tabellen Lägg till 1 för värdet för nyckeln s Alternativ 2: Integer count = freqlist.get(s); if (count == null) { freqlist.put(s,1); } else { freqlist.put(s,count+1); }
61 Lab 1 Huvudsakligen om reguljära uttryck Även övning på automater, läsning/skrivning, hashtabeller Språkteknologrelaterade uppgifter, ta ut information och ta fram statistik från texter Tre delar 1. Matcha och bearbeta rå text 2. Ta fram frekvenstabeller för olika aspekter ur taggad text 3. Ta fram statistik från text: meningslängd, ordlängd, vanliga ord, etc Givet testprogram för del 1. I övrigt får ni skriva och strukturera er egen kod Deadline: tisdag 17/9
62 Labbrapporter Vad ni ska lämna in framgår i respektive labinstruktion Allt mailas till Sara, zippat (se labhemsida) Alltid med: lämna in all kod Använd bra namn på klasser, metoder, variabler Indentera koden korrekt Följ kodstandarden Övriga delar i lab 1 Testkörning för era program Finita automater för övning 1.1 och 1.2 I framtida labbar Skriftlig diskussion inga formella rapporter, men skriv tydligt och korrekt. Lämna in som pdf. Skriv namn! UML-diagram Skärmdump
63 Nästa vecka Tema: sökning och sortering Två föreläsningar Fö 1: Sökning och sortering Fö 2: Generics, interface, stackar, köer mm (även inför lab 3) Lab 2 om sökning och sortering
64 Jobba själv Labbar Lab 1! Lab 0 om den ej är klar Gör progammeringsövningar Från boken Förra årets lab 2 (mer om finita automater) Läs om veckans område Material om reguljära uttryck och finita automater från kurshemsidan Läsning/skrivning Hashtabeller Javas API för klasser vi pratat om idag! Läs inför nästa vecka Sökning Sortering
Programmering för språkteknologer II. OH-serie: Ändliga automater. reguljära uttryck i Java. Deterministiska ändliga automater
Programmering för språkteknologer II OH-serie: ändliga automater reguljära uttryck i Java Mats Dahllöf Ändliga automater Abstrakt maskin, tillståndsmaskin, transitionssystem. (Den enklaste typ man brukar
Programmering för språkteknologer II, HT2011. Rum
Programmering för språkteknologer II, HT2011 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv11/pst2/ Idag - Hashtabeller - Flerdimensionella arrayer (2D) 2 Repetition -
Labb 1 - Textbearbetning med reguljära uttryck. Formella språk. Definitioner. Chomskyhierarkin. Formella språk. Formella språk
Labb 1 - Textbearbetning med reguljära uttryck Textbearbetning: Dela upp en text i meningar Hitta alla namn i en text Hitta adjektiv i superlativ Lektion reguljära uttryck re modulen i Python Formella
Programmering för språkteknologer II, HT2014. evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv14/pst2/
Programmering för språkteknologer II, HT2014 Avancerad programmering för språkteknologer, HT2014 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv14/pst2/ Idag - Hashtabeller
Länkade strukturer, parametriserade typer och undantag
Länkade strukturer, parametriserade typer och undantag Programmering för språkteknologer 2 Sara Stymne 2013-09-18 Idag Parametriserade typer Listor och länkade strukturer Komplexitet i länkade strukturer
STRÄNGAR DATATYPEN. Om du vill baka in variabler eller escape-tecken måste du använda dubbla citattecken. strängar
STRÄNGAR En av de mest avancerade av de normala datatyperna är. Här skall vi grundläggande gå igenom hur den datatypen fungerar och vidare flertalet funktioner som hör till datatypen. Låt oss kasta oss
Stackar, köer, iteratorer och paket
Stackar, köer, iteratorer och paket Programmering för språkteknologer 2 Sara Stymne 2013-09-18 Idag Paket Stackar och köer Array resp länkad struktur Iteratorer Javadoc Kommentarer lab 1 Bra att de flesta
Lösningsförslag till exempeltenta 1
Lösningsförslag till exempeltenta 1 1 1. Beskriv hur binärsökning fungerar. Beskriv dess pseudokod och förklara så klart som möjligt hur den fungerar. 2 Uppgift 1 - Lösning Huvudidé: - Titta på datan i
Programmering för språkteknologer II, HT2011. Rum
Programmering för språkteknologer II, HT2011 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv11/pst2/ Kursplan Mål Efter avslutad kurs skall studenten för att förtjäna betyget
732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy. Funktioner / metoder. Punktnotation. Evalueringsordning
Varför? 732G11 Linköpings universitet 2011-02-08 Varför? 1 2 3 Varför? 4 5 Medelvärde av 5000 tal Varför? while-loopen int nrofints = 5000; int [] integers = new int [ nrofints ]; int pos = 0; while (
Objektorienterad Programkonstruktion
Objektorienterad Programkonstruktion Övning 3 Stränghantering Filer Christian Smith ccs@kth.se 1 Strängar Strängar definieras i klassen String Strängar kan instansieras med bokstavliga (eng: literal) strängar,
Objektorienterad programmering E. Telefonboken, än en gång. Gränssnitt. Telefonboken med gränssnitt specificerat, del 1.
Objektorienterad programmering E Telefonboken, än en gång Föreläsning 5 Wrapper classes Exempel, histogram. Inldening om undantag. Mer om klassen Påminnelse Vår senaste version bestod av två klasser, bägge
Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering
Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk
Föreläsning 18 Filer och avbildningar
Föreläsning 18 Filer och avbildningar Grundkurs i programmering Jan Lönnberg Institutionen för datateknik -universitetets högskola för teknikvetenskaper 15.11.2011 Avbildningar Hur skulle du göra en: Ordlista
Föreläsning 8 - del 1: Objektorienterad programmering (forts.) - Exempel
Föreläsning 8 - del 1: Objektorienterad programmering (forts.) - Exempel Eva Blomqvist eva.blomqvist@liu.se Linköpings universitet Sweden December 1, 2013 1 Innehåll OO-programmering fortsättning Skapa
Command line argumenter. Objektorienterad Programmering (TDDC77) Vad blir resultatet? Nu då? Ahmed Rezine. Hösttermin 2016
Command line argumenter Objektorienterad Programmering (TDDC77) Föreläsning VI: eclipse, felsökning, felhantering Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 /* Cla. java * Programmet illustrerar
Objektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning VI: eclipse, felsökning, felhantering Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Outline Felhantering Eclipse Felsökning Command line argumenter
Föreläsning 7: Syntaxanalys
DD2458, Problemlösning och programmering under press Föreläsning 7: Syntaxanalys Datum: 2007-10-30 Skribent(er): Erik Hammar, Jesper Särnesjö Föreläsare: Mikael Goldmann Denna föreläsning behandlade syntaxanalys.
EDAA20 Föreläsning Klassen ArrayList. Viktiga operationer på ArrayList. Generisk klass
EDAA20 Föreläsning 11-12 Klassen ArrayList Klassen ArrayList Skriva program som läser data från en textfil och skriver data till en textfil Repetition inför delmålskontroll 2 är en standardklass (i paketet
Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek
De åtta primitiva typerna Java, datatyper, kontrollstrukturer Skansholm: Kapitel 2) Uppsala Universitet 11 mars 2005 Typ Innehåll Defaultvärde Storlek boolean true, false false 1 bit char Tecken \u000
Reguljära uttryck Grammatiker Rekursiv nedåkning Allmänna kontextfria grammatiker. Syntaxanalys. Douglas Wikström KTH Stockholm
Syntaxanalys Douglas Wikström KTH Stockholm popup-help@csc.kth.se Reguljära uttryck Reguljära uttryck förutsätter att en mängd bokstäver är givna, ett så kallat alfabet, som oftast betecknas med Σ. Uttryck
F4. programmeringsteknik och Matlab
Programmeringsspråk Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer 1 Ett program är en eller flera instruktioner
Kungl. Tekn. Högskolan Förel 1, bild 1 Föreläsning 1: Introduktion ffl Kursinnehåll ffl Javarepetition ffl Referenser ffl Nyckelordet static ffl Klass
Kungl. Tekn. Högskolan Förel 1, bild 1 Föreläsning 1: Introduktion ffl Kursinnehåll ffl Javarepetition ffl Referenser ffl Nyckelordet static ffl Klassen Mio ffl Särfall ffl Interface Kungl. Tekn. Högskolan
Avbildningar och hashtabeller. Koffman & Wolfgang kapitel 7, mestadels avsnitt 2 4
Avbildningar och hashtabeller Koffman & Wolfgang kapitel 7, mestadels avsnitt 2 4 1 2 Mängder i Java 3 Mängd-gränssnittet Set vs. List Mängder får endast innehålla unika element: Metoden.add(E) returnerar
729G04 Programmering och diskret matematik. Föreläsning 7
729G04 Programmering och diskret matematik Föreläsning 7 Föreläsningsöversikt Information Interaktion via text Läsa från fil Skriva till fil Spara och läsa abstrakta datatyper från fil Information Felaktigt
Objektorienterad Programkonstruktion
Objektorienterad Programkonstruktion Föreläsning 9 Projektuppgift Collection, Iterator, Composite Christian Smith ccs@kth.se 1 Projektuppgift IM, skickar meddelanden mellan datorer En lite större labbuppgift,
Algoritmer. Två gränssnitt
Objektorienterad programmering E Algoritmer Sökning Linjär sökning Binär sökning Tidsuppskattningar Sortering Insättningssortering Föreläsning 9 Vad behöver en programmerare kunna? (Minst) ett programspråk;
Objektorienterad programmering. Fält som funktionsresultat. Mer om fält: att uppdatera ett parameterfält. Kontrast: Parametrar av primitiv typ
orienterad programmering Föreläsning 3 Exempel: Telefonboken Fält som funktionsresultat Exempel Definiera static double[] vectorsum(double[] a, double[] b) Betrakta sedan följande kodavsnitt:... double[]
Parsing med Recursive Descent, Avbildningsklasser. Syntaxdiagram. Syntaxdiagram och kodning expression. Betrakta följande uttryck
Betrakta följande uttryck a +(b + c) d + e (f + g h) Parsing med Recursive Descent, Avbildningsklasser Tobias Wrigstad (baserat på bilder från Tom Smedsaas) 22 november 2010 Beräkning med regler: multiplikation
Objektorienterad Programmering DAT043. Föreläsning 9 12/2-18 Moa Johansson (delvis baserat på Fredrik Lindblads material)
Objektorienterad Programmering DAT043 Föreläsning 9 12/2-18 Moa Johansson (delvis baserat på Fredrik Lindblads material) 1 Metoden clone() Skapa kopior av existerande objekt. Interface Cloneable Deep vs.
Föreläsningsanteckningar, Introduktion till datavetenskap HT S4 Datastrukturer. Tobias Wrigstad
1 Datatyper Tobias Wrigstad Det finns flera olika typer av (slags) data Olika datatyper har olika egenskaper. T.ex. är ett personnummer inte ett tal. (Den sista siffran skall stämma enligt den s.k. Luhnalgoritmen
DAT043 Objektorienterad programmering för D, DIT011 Objektorienterad programvaruutveckling för GU
DAT043 Objektorienterad programmering för D, DIT011 Objektorienterad programvaruutveckling för GU lösningsförslag till tentamen 2017-06-09 Tid: 8:30-12:30. Plats: SB. Ansvarig lärare: Fredrik Lindblad,
Introduktion till programmering SMD180. Föreläsning 7: Strängar
Introduktion till programmering Föreläsning 7: Strängar 1 1 En sammansatt datatyp En sträng är ett enhetligt värde, som kan lagras i variabler och fungera som operand eller funktionsargument en datastruktur
TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning Generiska klasser Undantag Interface Nästlade klasser 1 Problem:
Föreläsning 3. Stack
Föreläsning 3 Stack Föreläsning 3 ADT Stack Stack JCF Tillämpning Utvärdera ett postfix uttryck Stack implementerad med en array Stack implementerad med en länkad lista ADT Stack Grundprinciper: En stack
Hitta k största bland n element. Föreläsning 13 Innehåll. Histogramproblemet
Föreläsning 13 Innehåll Algoritm 1: Sortera Exempel på problem där materialet i kursen används Histogramproblemet Schemaläggning Abstrakta datatyper Datastrukturer Att jämföra objekt Om tentamen Skriftlig
DD1361 Programmeringsparadigm. Formella Språk & Syntaxanalys. Per Austrin
DD36 Programmeringsparadigm Formella Språk & Syntaxanalys Föreläsning Per Austrin 26--3 Kursavsnittet syntax/formella språk Teori om formella språk verktygslåda för strängmatchning: Ändliga automater och
Objektorienterad Programkonstruktion. Föreläsning 9 30 nov 2016
Objektorienterad Programkonstruktion Föreläsning 9 30 nov 2016 Collections Ett samlingsnamn på objekt som innehåller en samling av andra objekt Det finns många olika sorters Collections, t.ex listor, träd,
Tentamen i Grundläggande Programvaruutveckling, TDA548
Tentamen i Grundläggande Programvaruutveckling, Joachim von Hacht/Magnus Myreen Datum: 2017-08-14 Tid: 14.00-18.00 Hjälpmedel: Lexikon Engelskt-Valfritt språk. Betygsgränser: U: -23 3: 24-37 4: 38-47 5
Lösningsförslag till exempeltenta 2
Lösningsförslag till exempeltenta 2 1 1. Beskriv hur man kan söka igenom en tvådimensionell array. Beskriv pseudokoden och förklara så klart som möjligt hur den fungerar. Lösning: Se laboration 3. - Beskriv
Objektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning X: Klass diagram, inkapsling, arv Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Outline Introduktion HT2 Åtkomst Abstrakt datatyp UML Överlagring
732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy cards. Slingor
732G11 Linköpings universitet 2011-02-01 1 2 3 Strukturdiagram Strukturdiagram används för att visa hur ett program fungerar. Man kan se alla val och upprepningar som sker i programmet. Består av tre (!)
729G09 Språkvetenskaplig databehandling
729G09 Språkvetenskaplig databehandling Föreläsning 2, 729G09, VT15 Reguljära uttryck Lars Ahrenberg 150409 Plan för föreläsningen Användning av reguljära uttryck Formella språk Reguljära språk Reguljära
732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Exempelduggan. Luffarschack. Koda spel
732G11 Linköpings universitet 2011-02-15 1 2 3 4 Extrapass Extrapass håller på att bokas. Blir 3-4 st. och öppet för alla. Mer info på kursmailen när bokningen är klar. i Java En funktion i Java... public
Input. Programmering. Andra källor
Programmering hh.se/db2004 Föreläsning 13: Undantag - med exempel från input klassen Scanner Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering Input Standard Input Med standard
TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Mer om Interface Generiska klasser Undantag Nästlade klasser 1
Klassdeklaration. Metoddeklaration. Parameteröverföring
Syntax: Class Declaration Modifier Class Body Basic Class Member Klassdeklaration class Class Member Field Declaration Constructor Declaration Method Declaration Identifier Class Associations Motsvarar
Reguljära uttryck. Reguljära uttryck. Nu kommer en siffra78 och en till SIFFRA(78) men utan 7kstuga SIFFRA(89)
Reguljära uttryck Ett sätt att söka och manipulera text Reguljära uttryck Konstruerar mönster som försöker hitta nåt i text Viktigt, användbart, många resurser http://regex.info/ http://etext.lib.virginia.edu/services/helpsheets/unix/regex.html
Dagens föreläsning. Sett i datorsalarna. Mer om arrayer. Matriser. Formatering av utskrifter. Inläsning med hjälp av Scanner-klassen
(5 februari 2018 F4 1 ) Dagens föreläsning Sett i datorsalarna Mer om arrayer Matriser Formatering av utskrifter Inläsning med hjälp av Scanner-klassen Ett exempel med dialogrutor Java-doc Kommer först
729G09 Språkvetenskaplig databehandling
729G09 Språkvetenskaplig databehandling Lektion inför Laboration 1 vt15 Lars Ahrenberg Plan för lektionen Grupperingar Substitutioner Strängfunktioner i Python (kort repetition) Reguljära uttryck i Python
Föreläsning 3: Typomvandling, villkor och val, samt textsträngar
Föreläsning 3: Typomvandling, villkor och val, samt textsträngar Camilla Kirkegaard camilla.kirkegaard@liu.se Linköpings universitet Sweden October 14, 2013 1 Innehåll n n n n n Repetition Typomvandlingar
Användarhandledning Version 1.2
Användarhandledning Version 1.2 Innehåll Bakgrund... 2 Börja programmera i Xtat... 3 Allmänna tips... 3 Grunderna... 3 Kommentarer i språket... 4 Variabler... 4 Matematik... 5 Arrayer... 5 på skärmen...
Dagens föreläsning. Sett i datorsalarna. Mer om arrayer. Matriser. Formatering av utskrifter. Inläsning med hjälp av Scanner-klassen
(10 februari 2019 F4 1 ) Dagens föreläsning Sett i datorsalarna Mer om arrayer Matriser Formatering av utskrifter Inläsning med hjälp av Scanner-klassen (10 februari 2019 F4 2 ) Hört och sett if-loop Skall
SMD 134 Objektorienterad programmering
SMD 134 Objektorienterad programmering Dagens agenda: Typer i Java: primitiva datatyperna, referenstyper Variabler och variabeltilldelningar med primitiva typer Konstanter av de olika typerna. Heltalsräkning
Information. Computer
Information Objektorienterad modellering och diskreta strukturer Lennart Andersson Reviderad 2009-10-14 2009 Tentamen torsdag 22 oktober 8-12/13. Hjälpmedel på tentamen. Martin: PPP Andersson: UML Holm:
Objektorienterad programmering Föreläsning 11. Copyright Mahmud Al Hakim
Objektorienterad programmering Föreläsning 11 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda Multipla relationer Flerdimensionella fält Nationella inställningar Redigering av utskrifter
Outline. Objektorienterad Programmering (TDDC77) Abstrakta klasser. Abstrakta metoder. Abstrakta klasser. Gränssnitt. Uppräkningar (enum) Ahmed Rezine
Objektorienterad Programmering (TDDC77) Föreläsning XII: Interfaces, Enums,, Collections Links for: interfaces, enums, generics, collections Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Abstrakta
Samlingar Collection classes
Samlingar Collection classes Sven-Olof Nyström Uppsala Universitet 17 mars 2005 Skansholm: Kapitel 9, 19 Se även Suns tutorial om Collections Olika slag av samlingar i Java Arrayer (Till exempel: int[])
Outline. Objektorienterad Programmering (TDDC77) Laborationsserie del två. Vad händer under HT2. Introduktion HT2 UML.
Outline Objektorienterad Programmering (TDDC77) Föreläsning X: Klass diagram, inkapsling, arv Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Vad händer under HT2 Laborationsserie del två I Klasser
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.
Tentamen Programmeringsteknik II 2015-05-26 Skrivtid: 0800 1300 Tänk på följande Skriv läsligt! Använd inte rödpenna! Skriv bara på framsidan av varje papper. Börja alltid ny uppgift på nytt papper. Lägg
ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet
ITK:P1 Föreläsning 1 Att programmera i språket Java DSV Peter Mozelius Programmering Olika typer av programmering som t ex: o Imperativ programmering (C, Pascal m fl) o Funktionell programmering (Lisp,
Strängar. Strängar (forts.)
Strängar En sträng i C är helt enkelt en array av char: char namn[20]; För att få strängar att bete sig som om de vore av dynamisk längd markeras strängens slut med null-tecknet \0 : J o z e f S w i a
Föreläsning 14 Innehåll
Föreläsning 14 Innehåll Abstrakta datatyper, datastrukturer Att jämföra objekt övriga moment i kursen Om tentamen Skriftlig tentamen både programmeringsuppgifter och teoriuppgifter Hitta fel i fingerade
Omtentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-16, TDA540. Dag: , Tid:
Omtentamen för TDA540 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-16, TDA540 Dag: 2017-04-12, Tid: 14.00-18.00 Ansvarig: Examinator: Alex Gerdes Carlo A. Furia Förfrågningar:
Lektion 1, del b Utskrifter av variabelvärden Inläsning av värden till variabler
Lektion 1, del b Utskrifter av variabelvärden Inläsning av värden till variabler Denna lektion tar upp Utskrifter: Utskrift av variabelvärden på skärmen i DrJavas Interaktions-fönster eller i ett Popup-fönster
Tentamen OOP 2015-03-14
Tentamen OOP 2015-03-14 Anvisningar Fråga 1 och 2 besvaras på det särskilt utdelade formuläret. Du får gärna skriva på bägge sidorna av svarsbladen, men påbörja varje uppgift på ett nytt blad. Vid inlämning
Grundläggande stränghantering
Grundläggande En sträng är en sekvens av tecken (text). t) För att ange ett strängvärde omgärdar man det med dubbelfnuttar: Exempel på strängvärden: "Ångström" "1256" "ABC123" Man kan slå ihop strängar,
Att deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1)
Föreläsning 10 STRING OCH STRINGBUILDER; VARIABLERS SYNLIGHET Att deklarera och att använda variabler När vi deklarerar en variabel, t ex int x; inför vi en ny variabel med ett namn och en typ. När namnet
TDDE44 Programmering, grundkurs
TDDE44 Programmering, grundkurs Föreläsning 5 Jody Foo, jody.foo@liu.se Föreläsning 5 & 6 Laboration 3: En egen pokedex data från webben Ny datatyp: dictionary Mer om dataabstraktion Nästlade datastrukturer
Tentamen , Introduktion till Java, dtaa98, dtea53
Mittuniversitetet 2007-09-01 Institutionen för informationsteknologi och medier Sid:1(3) dtaa98, dtea53 Martin Kjellqvist; Linda Karlsson, Ulf Reiman Lösningsansatser Tentamen 2007-09-01, Introduktion
Sökning och sortering
Sökning och sortering Programmering för språkteknologer 2 Sara Stymne 2013-09-16 Idag Sökning Analys av algoritmer komplexitet Sortering Vad är sökning? Sökning innebär att hitta ett värde i en samling
Dagens text. Programmeringsteknik. Mer om Scanner-klassen. Dialogrutor (klassen JOptionPane) Bubbelsortering. Omslagsklasser.
(16 februari 2016 F5.1 ) Dagens text Programmeringsteknik Mer om Scanner-klassen Dialogrutor (klassen JOptionPane) Bubbelsortering ArrayList Omslagsklasser Arbetsexempel (16 februari 2016 F5.2 ) Pokertärningar
Objektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning XII: Interfaces, Enums, Generics, Collections Links for: interfaces, enums, generics, collections Ahmed Rezine IDA, Linköpings Universitet Hösttermin
Tentamen Objekt-orienterad programmering i Java, 5p distanskurs
Tentamen 2006-05-06 Objekt-orienterad programmering i Java, 5p distanskurs Uppsala Universitet Instutitionen för informationsteknologi Avdelningen för datalogi Kursansvarig: Sven-Olof Nyström May 2, 2007
Textbearbetning i skalet och man-sidor
Kapitel 5 Textbearbetning i skalet och man-sidor Vi har redan använt skalkommandon för att göra saker textfiler. Här kommer gomgång av sådana kommandon som vi redan använt, några nya varianter, samt ett
F2 Datatyper och variabler. ID1004 Objektorienterad programmering Fredrik Kilander
F2 Datatyper och variabler ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Datatyper Java är ett starkt typat språk Varje slags data har en datatyp Datatyp Javasyntax Exempel Teckensträng
Idag. Javas datatyper, arrayer, referenssemantik. Arv, polymorfi, typregler, typkonvertering. Tänker inte säga nåt om det som är likadant som i C.
Idag Javas datatyper, arrayer, referenssemantik Klasser Arv, polymorfi, typregler, typkonvertering Strängar Tänker inte säga nåt om det som är likadant som i C. Objectorienterad programmering Sida 1 Ett
Tentamen i Grundläggande Programvaruutveckling, TDA548
Tentamen i Grundläggande Programvaruutveckling, Joachim von Hacht/Magnus Myreen Datum: 2016-12-20 Tid: 08.30-12.30 Hjälpmedel: Engelskt-Valfritt språk lexikon Betygsgränser: U: -23 3: 24-37 4: 38-47 5
I ett program hantera man ofta samlingar av objekt av samma typ.
Fält I ett program hantera man ofta samlingar av objekt av samma typ. Sådana samlingar vill man vanligtvis kunna gruppera ihop till en sammanhängande struktur. För detta ändamål tillhandahåller Java språkkonstruktioner
String [] argv. Dagens Agenda. Mer om arrayer. Mer om arrayer forts. String [] argv. argv är variabelnamnet. Arrayer och Strängar fortsättning
Dagens Agenda String [] argv String [] argv Arrayer och Strängar fortsättning Booleska operatorer if, for, while satser Introduktion till algoritmer public static void main(string [] argv) argv är variabelnamnet
Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper
Tentamen Programmeringsteknik I 2016-06-11 Skrivtid: 0900 1400 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer
Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.
Programmering med Java Programmering med Java Programspråket Java Källkodsexempel Källkod Java API-exempel In- och utmatning Grunderna Ann Pan panda@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 Game.java
Programmering för språkteknologer II, HT2014. Rum
Programmering för språkteknologer II, HT2014 Avancerad programmering för språkteknologer, HT2014 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv14/pst2/ 1 Idag - Parametriserade
Programmering för språkteknologer II, HT2014. Rum
Progrmmering för språkteknologer II, HT2014 Avncerd progrmmering för språkteknologer, HT2014 evelin.ndersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelin/uv/uv14/pst2/ Idg - Ändlig utomter -
TDDD02 Föreläsning 2 HT-2013. Reguljära uttryck och reguljära språk Lars Ahrenberg
TDDD02 Föreläsning 2 HT-2013 Reguljära uttryck och reguljära språk Lars Ahrenberg Översikt Reguljära uttryck sökproblem i texter definitioner och exempel UNIX-funktionen grep Reguljära transformationer
Symboliska konstanter const
(5 oktober 2010 T11.1 ) Symboliska konstanter const Tre sätt som en preprocessormacro med const-deklaration med enum-deklaration (endast heltalskonstanter) Exempel: #define SIZE 100 const int ANSWER =
Parallellism, återblick
Parallellism, återblick Josef Svenningsson December 11, 2012 Lab7 Det är problem med lab7. Gå med i den grupp som ni använt tidigare. DEMO Flera saker händer samtidigt Ofta hanterar program olika indata
DAB760: Språk och logik
DAB76: Språk och logik /4: Finita automater och -7 reguljära uttryck Leif Grönqvist (leif.gronqvist@msi.vxu.se) Växjö Universitet (MSI) GSLT (Sveriges nationella forskarskola i språkteknologi) Göteborg
TDDC77 Objektorienterad Programmering
TDDC77 Objektorienterad Programmering Föreläsning 11 Sahand Sadjadee IDA, Linköpings Universitet Hösttermin 2018 Outline Uppräkningar (enum) Klasshierarki Generics Kollektioner Iterable Uppräkningar(enum)
[] Arrayer = Indexerad variabel
[] Arrayer = Indexerad variabel Lagra många värden i en variabel Jmfr inom matematiken, variabler x 0, x 1, x 2, I detta dokument tas upp hur man skapar och hanterar sådana variabler i java. Dessa kallas
Python. Vi har ofta behov av att behandla datastrukturer på ett enhetligt sätt så att vi kan göra samma sak i flera olika program.
Moduler Vi har ofta behov av att behandla datastrukturer på ett enhetligt sätt så att vi kan göra samma sak i flera olika program. Vi har också ofta behov av att skapa överblick i våra program. Som ett
Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 12
Grundläggande programmering, STS 1, VT 2007. Sven Sandberg Föreläsning 12 I torsdags: Klassen TelefonKostnad Exemplifierar objektorienterad design, metoder, konstruktorer static Standardklassen Math Matematiska
Programmering för språkteknologer I, VT2012. Rum
Programmering för språkteknologer I, VT2012 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.lingfil.uu.se/~evelina/uv/uv12/pst1/ Idag - Kursplan - Börja programmera - Lokala variabler - aritmetiska
Outline. Objektorienterad Programmering (TDDC77) Att instansiera en klass. Objekt. Instansiering. Åtkomst. Abstrakt datatyp.
Objektorienterad Programmering (TDDC77) Föreläsning X: Klass diagram, inkapsling, arv Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Att instansiera en klass Objekt I Man instansierar (skapar
Rekursion och induktion för algoritmkonstruktion
Informationsteknologi Tom Smedsaas, Malin Källén 20 mars 2016 Rekursion och induktion för algoritmkonstruktion Att lösa ett problem rekursivt innebär att man uttrycker lösningen i termer av samma typ av
DAT043 Objektorienterad Programmering
DAT043 Objektorienterad Programmering Detta är en exempeltenta som innehåller gamla tentauppgifter av ungefär liknande slag som ni kan förvänta er se på ordinarie tenta i Del 1 respektive Del 2. Dock är
Uppgifter till tenta i 729G04 Programmering och diskret matematik. 7 augusti 2015, kl 08:00-12:00
1 ( 6) Uppgifter till tenta i 729G04 Programmering och diskret matematik. 7 augusti 2015, kl 08:00-12:00 Tillåtna hjälpmedel: Dator, penna, papper, linjal, suddgummi, godkänd(a) bok/böcker/kompendier (ej
Tentamen Programmeringsteknik II Skrivtid: Hjälpmedel: Java-bok (vilken som helst) Skriv läsligt! Använd inte rödpenna!
Tentamen Programmeringsteknik II 2014-01-09 Skrivtid: 0800-1300 Hjälpmedel: Java-bok (vilken som helst) Tänk på följande Skriv läsligt! Använd inte rödpenna! Skriv bara på framsidan av varje papper. Börja
Laboration 1 - Grunderna för OOP i Java
Uppdaterad: 2006-08-31 Laboration 1 - Grunderna för OOP i Java Inledning Laborationen går ut på att lära sig grunderna för objektorienterad programmering, samt motsvarande språkkonstruktioner i Java. Labben
732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner
732G11 Linköpings universitet 2011-01-21 1 2 3 4 5 6 Skapa program Kompilera: Källkod Kompilator bytekod Köra: Bytekod Virtuell maskin Ett riktigt program Hej.java class Hej { public static void main (