Grundläggande datalogi - Övning 9
|
|
- Lisbeth Öberg
- för 7 år sedan
- Visningar:
Transkript
1 Grundläggande datalogi - Övning 9 Björn Terelius January 30, 2009
2 Ett formellt språk är en (oftast oändlig) mängd strängar. Språket definieras av en syntax som är en samling regler för hur man får bilda giltiga strängar. Om syntaxen inte är alltför komplicerad kan den beskrivas i BNF (). Till exempel definieras syntaktiskt giltiga kemiska formler av <formel> ::= <mol> \n <mol> ::= <group> <group><mol> <group> ::= <atom> <atom><num> (<mol>)<num> <atom> ::= <LETTER> <LETTER><letter> <LETTER> ::= A B C... Z <letter> ::= a b c... z <num> ::=
3 Syntaxanalys/parsning ska: undersöka om strängen är giltig översätta strängen till intern representation (ofta ett träd) Ofta kan man i stort sett mekaniskt konstruera en parser från grammatiken genom att för varje symbol skriva en inläsningsfunktion som rekursivt anropar de inläsningsfunktioner som specificeras i grammatiken. Den här formen av parsning kallas rekursiv medåkning (recursive descent).
4 Betrakta följande enkla grammatik för en viss sorts satser. <Mening> ::= <Sats>. <Sats><Konj><Mening> <Sats> ::= <Subj> <Pred> <Subj> ::= JAG DU <Pred> ::= VET TROR <Konj> ::= ATT OCH Vilka av följande meningar är korrekta (enligt syntaxen) DU VET. DU TROR ATT DU VET DU VET OCH JAG VET. JAG OCH DU TROR ATT JAG VET.
5 De 5 omskrivningsreglerna behöver var sin inläsningsfunktion. För <Mening> kan den t.ex. se ut på följande sätt: def read_mening(q): read_sats(q) if q.peek()=='.' q.get() else: read_konj(q) read_mening(q) Hur ser de andra funktionerna ut?
6 Den bruna gladan är ovanlig i Sverige, men häckar emellanåt i Skåne. Lätet är ett skriande HYHYHYHYHIHYYYYY som består av ett eller flera HY, följt av ett HIH och noll eller flera Y. 1. Skriv en syntax för den bruna gladans skri. 2. Beskriv kortfattat hur ett program som kontrollerar syntaxen i ett fågelskri kan fungera.
7 Lösning 1. <skri> ::= <start><mitt> <start><mitt><slut> <start> ::= HY HY <start> <mitt> ::= HIH <slut> ::= Y Y <slut> 2. Skapa en funktion för varje icke-slutsymbol i grammatiken ovan. Tjuvkika på nästa tecken (eller två tecken i start) för att avgöra vilken funktion som ska anropas i de fall då det finns flera alternativ.
8 För att göra en Dagobertmacka lägger man en brödskiva i botten, sen lägger man på ett eller två pålägg, sen en brödskiva till, följt av ett eller två pålägg, följt av en brödskiva och så vidare (alltid ett eller två pålägg mellan brödskivorna). Allra överst ska det vara en brödskiva. Mackan kan bli hur stor som helst! *om+f+bj* är ett exempel på en liten macka med ost, marmelad, fisk, banan, och jordnötssmör. Brödskivorna representeras av * (mörkt bröd) och + (ljust bröd) och för påläggen tar vi bara med begynnelsebokstaven. Här är ett förslag på en syntax för Dagobertmackor <macka> ::= <bröd><pålägg><bröd> <pålägg>::= abcdefghijklmnopqrstuvwxyz
9 Tala om vad som är fel med syntaxen! Mackan kan bara ha två bröd, så den kan inte bli hur stor som helst Mackan kan bara ha ett pålägg mellan bröden Det finns ingen definition av <bröd> <pålägg> är hela alfabetet istället för en godtycklig bokstav i alfabetet
10 Det har gjorts olika utvidgningar av BNF som tillåter en mer kompakt representation av en grammatik. Utvidgningar som baseras på reguljära uttryck använder oftast konventionen att <symbol>? betyder 0 eller 1 förekomst av <symbol> <symbol>* betyder 0 eller flera förekomster av <symbol> <symbol>+ betyder 1 eller flera förekomster av <symbol> Utvidgningar som baseras på Wirth s notation använder istället [ <symbol> ] betyder 0 eller 1 förekomst av <symbol> { <symbol> } betyder 0 eller flera förekomster av <symbol>
11 Hur undviker man buggar? 1. Tänk igenom vad funktionen ska göra. Vad ska den ta för indata och vad ska den ta för utdata? 2. Strukturera koden och använd tydliga variabelnamn. 3. Kommentera koden. Om koden är tydlid behövs inga kommentarer om vad koden gör, men däremot hur och varför. 4. Kan algoritmen bevisas vara korrekt för alla giltiga indata?
12 Hur hittar man buggar i programmet? 1. Testa enkla indata med kända utdata. 2. Om det olika delar av koden körs beroende på indata, testa någon representant för varje fall. 3. Testa indata som är nära gränsen för det tillåtna. 4. Testa ogiltiga indata. Vad händer?
13 Vad gör man när man hittat ett testfall som misslyckas? 1. Försök hitta det enklaste/minsta testfallet som visar buggen. 2. Om koden och testfallet är tillräckligt enkla man exekvera koden i huvudet eller på papper. När går det fel? 3. Använd spårutskrifter. Hur förändras de aktuella variablerna? 4. Binärsök. Är allt ok halvvägs genom koden? 5. Bryt ner programmet till mindre funktioner och testa varje funktion för sig.
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.
Läs merReguljä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
Läs merGrundläggande datalogi - Övning 1
Grundläggande datalogi - Övning 1 Björn Terelius October 30, 2008 Python är ett tolkat språk som kan köras interaktivt. tcs-ray:~/grudat08>python >>> 11+3*4 23 >>> a = 15 >>> b=a >>> print "a =", a, "b
Läs merParsning. TDP007 Konstruktion av datorspråk Föreläsning 6. Peter Dalenius Institutionen för datavetenskap
Parsning TDP007 Konstruktion av datorspråk Föreläsning 6 Peter Dalenius Institutionen för datavetenskap 2017-02-14 2 Analys av källkod Lexikalisk analys Bildar tokensutifrån källkodens text. Syntaktisk
Läs merInlämningsuppgift MiniPlotter
LUNDS TEKNISKA HÖGSKOLA Institutionen för datavetenskap EDAA01 Programmeringsteknik fördjupningskurs Inlämningsuppgift MiniPlotter I den här uppgiften ska ett program som ritar grafer av matematiska funktioner
Läs merÖvning 6. Komprimering, kryptering, dokumentering & testning
Per Sedholm DD1320 (tilda11) 2011-10-05 1. Smittskydd Övning 6 Komprimering, kryptering, dokumentering & testning Du har fått ett mail som innehåller tips mot spridning av virus. Informationen är komprimerad
Läs merAutomatateori (2) Idag: Sammanhangsfria språk. Dessa kan uttryckas med Grammatik PDA
Automatateori (2) Idag: Sammanhangsfria språk Dessa kan uttryckas med Grammatik PDA Grammatik = språkregler Ett mer kraftfullt sätt att beskriva språk. En grammatik består av produktionsregler (andra ord
Läs merFöreläsning 9: Turingmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen.
Föreläsning 9: Turingmaskiner och oavgörbarhet Turingmaskinen Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen. Data är ett oändligt långt band där nollor och ettor står
Läs merProgramkonstruktion och Datastrukturer
Programkonstruktion och Datastrukturer VT 2012 Tidskomplexitet Elias Castegren elias.castegren.7381@student.uu.se Problem och algoritmer Ett problem är en uppgift som ska lösas. Beräkna n! givet n>0 Räkna
Läs merTräd och koder. Anders Björner KTH
27 Träd och koder Anders Björner KTH 1. Inledning. Det är i flera sammanhang viktigt att representera information digitalt (d.v.s omvandla till sviter av nollor och ettor). Beroende på vilka villkor som
Läs merFöreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt
Föreläsning 2 Programmeringsteknik och C DD1316 Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C Python introduktion Utskrift Inläsning Variabler Datatyp Aritmetiska operatorer Omvandling
Läs meri=1 c i = B och c i = a i eller c i = b i för 1 i n. Beskriv och analysera en algoritm som löser detta problem med hjälp av dynamisk programmering.
Algoritmer och Komplexitet ht 8 Övning 3+4 Giriga algoritmer och Dynamisk programmering Längsta gemensamma delsträng Strängarna ALGORITM och PLÅGORIS har den gemensamma delsträngen GORI Denlängsta gemensamma
Läs merKlassdeklaration. 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
Läs merObjektorienterad programmering
Objektorienterad programmering Föreläsning 14 Copyright Mahmud Al Hakim mahmud@dynamicos.se www.webacademy.se Agenda Exceptionella händelser Vanliga Programfel Exception-klasser Automatiskt genererade
Läs merIntroduktion till formella metoder Programmeringsmetodik 1. Inledning
Introduktion till formella metoder Programmeringsmetodik 1. Inledning Fokus på imperativa program (ex. C, Java) program betyder härefter ett imperativt program Program bestäms i en abstrakt mening av hur
Läs merSpråket Python - Del 2 Grundkurs i programmering med Python
Hösten 2009 Dagens lektion Funktioner Filhantering Felhantering 2 Funktioner 3 FUNKTIONER Att dela upp program Att dela upp program i mindre delar, funktioner är ett viktigt koncept i programmering. Viktigt
Läs merHI1024 Programmering, grundkurs TEN2 2015-10-30
HI1024 Programmering, grundkurs TEN2 2015-10-30 KTH STH Haninge 8.15-13.00 Tillåtna hjälpmedel: En A4 handskriven på ena sidan med egna anteckningar Kursboken C PROGRAMMING A Modern Approach K. N. King
Läs merGrundläggande logik och modellteori
Grundläggande logik och modellteori Kapitel 6: Binära beslutsdiagram (BDD) Henrik Björklund Umeå universitet 22. september, 2014 Binära beslutsdiagram Binära beslutsdiagram (Binary decision diagrams, BDDs)
Läs merDD1361 Programmeringsparadigm. Formella Språk & Syntaxanalys. Per Austrin
DD1361 Programmeringsparadigm Formella Språk & Syntaxanalys Föreläsning 3 Per Austrin 2015-11-13 Huvudkoncept hittils: Snabb repetition Formellt språk en mängd strängar Reguljära språk den klass av formella
Läs merAlgoritmer och datastrukturer H I HÅKAN S T R Ö M B E R G N I C K L A S B R A N D E F E L T
Algoritmer och datastrukturer H I 1 0 2 9 HÅKAN S T R Ö M B E R G N I C K L A S B R A N D E F E L T Föreläsning 1 Inledande om algoritmer Rekursion Stacken vid rekursion Rekursion iteration Möjliga vägar
Läs merSCB :-0. Uno Holmer, Chalmers, höger 2 Ex. Induktiv definition av lista. // Basfall
Rekursiva funktioner Föreläsning 10 (Weiss kap. 7) Induktion och rekursion Rekursiva funktioner och processer Weiss 7.1-3 (7.4, 7.5.3 utgår) Fibonaccital (7.3.4) Exempel: Balansering av mobil (kod se lab
Läs merMer källkod. Styrstrukturer Val Slingor Operatorer Källkodsexempel med minne. Erik Forslin. Rum 1445, plan 4 på Nada
Mer källkod Styrstrukturer Val Slingor Operatorer Källkodsexempel med minne Erik Forslin efo@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 1 Styrstrukturer i Java En styrstruktur är något som påverkar
Läs merIdag: Reguljära språk Beskrivs av Reguljära uttryck DFA Grammatik
Idag: Reguljära språk Beskrivs av Reguljära uttryck DFA Grammatik Först några definitioner: Alfabet = en ändlig mängd av tecken. Ex. {0, 1}, {a,b}, {a, b,..., ö} Betecknas ofta med symbolen Σ Sträng =
Läs merDynamisk programmering
DD2354, Algoritmer och komplexitet, 27 Uppgifter till övning 4 Dynamisk programmering Talföljder Givet är två följder av positiva heltal a,a 2,,a n och b,b 2,, b n där alla tal är mindre än n 2 samt ett
Läs merProgramdesign. minnesutrymme storlek på indata. DA2001 (Föreläsning 15) Datalogi 1 Hösten / 20
Programdesign Välj datastruktur så programmet blir så enkelt som möjligt. Välj algoritm så programmet blir lättläst, robust och effektivt. Analysera programmet för att få en bra metod. Överväganden vid
Läs merFö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?
Föreläsning 10 Datalogi 1 DA2001 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer på skärmen print( Hej ) print( Hur är det?
Läs merIntroduktion 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
Läs merTDDC74 Programmering: Abstraktion och modellering Datortenta , kl 14-18
TDDC74 Programmering: Abstraktion och modellering Datortenta - 017-10-7, kl 14-18 Läs alla frågorna först och bestäm dig för i vilken ordning du vill lösa uppgifterna. Uppgifterna är inte nödvändigtvis
Läs merProgrammering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p
Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Skriven av Michael Andersson Introduktion Programmering I högnivåspråk fokuserar på själv problemet (algoritmen) istället
Läs merTommy Färnqvist, IDA, Linköpings universitet. 2 Strukturer 2 2.1 Domäner... 2 2.2 Tolkningar... 3
Föreläsning 2 Semantik 729G06 Logikdelen Föreläsningsanteckningar i Programmering och logik 27 januari 2014 Tommy Färnqvist, IDA, Linköpings universitet 2.1 Innehåll Innehåll 1 Lite mer syntax 1 2 Strukturer
Läs merDD1361 Programmeringsparadigm. Formella Språk & Syntaxanalys. Per Austrin
DD1361 Programmeringsparadigm Formella Språk & Syntaxanalys Föreläsning 4 Per Austrin 2015-11-20 Idag Rekursiv medåkning, fortsättning Olika klasser av språk och grammatiker Parsergeneratorer Sammanfattning
Läs mer729G75: Programmering och algoritmiskt tänkande. Tema 1. Föreläsning 1 Jody Foo
729G75: Programmering och algoritmiskt tänkande Tema 1. Föreläsning 1 Jody Foo Föreläsningsöversikt Kursinfo / Om kursen Algoritmer Objektorienterad programmering i praktiken terminologi använda objekt
Läs merÖvning 6 - Tillämpad datalogi 2012
/home/lindahlm/activity-phd/teaching/12dd1320/exercise6/exercise6.py October 2, 20121 0 # coding : latin Övning 6 - Tillämpad datalogi 2012 Sammanfattning Idag gick vi igenom komprimering, kryptering och
Läs merBackcode. Jonathan Crusoe TDP019 Projekt: Datorspråk Linköpings universitet
Žƒ ƒ Ž Ž ˆ ƒ ƒ ƒ Žƒ ƒ Ž ˆ Œ ŽŽ ƒ Backcode Jonathan Crusoe TDP019 Projekt: Datorspråk Linköpings universitet Innehållsförteckning 12-05-29 Inledning... 3 Användarhandledningen... 4 Klasser... 4 Metoder...
Läs merFöreläsning 2 5/6/08. Reguljära uttryck 1. Reguljära uttryck. Konkatenering och Kleene star. Några operationer på språk
Reguljära uttryck Ändliga automater och reguljära uttryck Språk som är och inte är reguljära Konkatenering och Kleene star Två strängar u och v (på alfabetet )kan konkateneras till strängen uv Givet två
Läs merDynamisk programmering
Algoritmer, datastrukturer och komplexitet, hösten 27 Uppgifter till övning 4 Dynamisk programmering På denna övning är det också inlämning av skriftliga lösningar av teoriuppgifterna till labb 2 och muntlig
Läs merKompilatorer och interpretatorer
1 of 6 Örebro universitet Institutionen för teknik Thomas Padron-McCarthy (Thomas.Padron-McCarthy@oru.se) Tentamen i Kompilatorer och interpretatorer för Dataingenjörsprogrammet m fl lördag 7 november
Läs merPython. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.
är, som Scheme, ett interpreterat språk men det finns kompilatorer för. När man interpreterar ett språk tillhandahåller man en interpretator som läser sats för sats och försöker tolka den. När man kompilerar
Läs merTuringmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen.
Turingmaskiner och oavgörbarhet Turingmaskinen Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen. Data är ett oändligt långt band där nollor och ettor står skrivna: Oändligt
Läs merDatalogi I, grundkurs med Java 10p, 2D4112, Fiktiv tentamen, svar och lösningar och extra kommentarer till vissa uppgifter 1a) Dividera förs
Datalogi I, grundkurs med Java 10p, 2D4112, 2002-2003 Fiktiv tentamen, svar och lösningar och extra kommentarer till vissa uppgifter 1a) Dividera först talet 37 med 2. Använd heltalsdivision. Det ger kvoten
Läs merProgramdesign. Dokumentera. Dokumentera
Programdesign Dokumentera Välj datastruktur så programmet blir så enkelt som möjligt. Välj algoritm så programmet blir lättläst, robust och effektivt. Analysera programmet för att få en bra metod. Överväganden
Läs merDD1361 Programmeringsparadigm. Carina Edlund
DD1361 Programmeringsparadigm Carina Edlund carina@nada.kth.se Funktionell programmering Grundidéen med funktionell programmering är att härma matematiken och dess funktionsbegrepp. Matematiskt funktionsbegrepp
Läs merPython. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.
är, som Scheme, ett interpreterat språk men det finns kompilatorer för. När man interpreterar ett språk tillhandahåller man en interpretator som läser sats för sats och försöker tolka den. När man kompilerar
Läs merBlock 2 Algebra och Diskret Matematik A. Följder, strängar och tal. Referenser. Inledning. 1. Följder
Block 2 Algebra och Diskret Matematik A BLOCK INNEHÅLL Referenser Inledning 1. Följder 2. Rekursiva definitioner 3. Sigmanotation för summor 4. Strängar 5. Tal 6. Övningsuppgifter Referenser Följder, strängar
Läs merAlla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata.
Att förstå variabler Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata. Vad är en variabel? En variabel är en plats att lagra information. Precis
Läs merÖvning 5 - Tillämpad datalogi 2013
/afs/nada.kth.se/home/w/u1yxbcfw/teaching/13dd1320/exercise5/exercise5.py October 1, 2013 1 0 # coding : latin Övning 5 - Tillämpad datalogi 2013 Automater, reguljära uttryck, syntax Sammanfattning Idag
Läs merNågra inbyggda funktioner (med resultat!) Introduktion till programmering D0009E. Föreläsning 4: Villkor och rekursion. Modulus-operatorn.
Några inbyggda funktioner (med resultat!) Introduktion till programmering D0009E Föreläsning 4: Villkor och rekursion Konverterar mellan de grundläggande typerna: >>> int("") >>> int(.999) >>> float().0
Läs merProgrammering A. Johan Eliasson johane@cs.umu.se
Programmering A Johan Eliasson johane@cs.umu.se 1 Jag Undervisar mest grundläggande programmering på Institutionen för datavetensakap Applikationsutveckling för iphone Applikationsutveckling i Java Datastrukturer
Läs merIntroduktion till programmering D0009E. Föreläsning 5: Fruktbara funktioner
Introduktion till programmering D0009E Föreläsning 5: Fruktbara funktioner 1 Retur-värden Funktioner kan både orsaka en effekt och returnera ett resultat. Hittills har vi ej definierat några egna funktioner
Läs merTENTAMEN I PROGRAMSPRÅK -- DVG C kl. 08:15-13:15
TENTAMEN I PROGRAMSPRÅK -- DVG C01 140605 kl. 08:15-13:15 Ansvarig Lärare: Donald F. Ross Hjälpmedel: Bilaga A: BNF-definition Betygsgräns: Kurs: Max 60p, Med beröm godkänd 50p, Icke utan beröm godkänd
Läs merIntroduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 2014-2015. Lektion 4
Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 014-015 Denna lektion ska vi studera rekursion. Lektion 4 Principen om induktion Principen om induktion är ett vanligt sätt att bevisa
Läs merProgrammering i C. Christer Sandberg, Gunilla Eken, Stefan Bygde Olof Andersson Linus Källberg Caroline Uppsäll Johan Hägg
Programmering i C En tuff kurs på halvfart för nybörjare i programmering Christer Sandberg, Gunilla Eken, Stefan Bygde Olof Andersson Linus Källberg Caroline Uppsäll Johan Hägg 1 Idag Kursupplägg Satser
Läs merDefinition. Mängden av reguljära uttryck på alfabetet Σ definieras av. om α och β är reguljära uttryck så är (α β) ett reguljärt uttryck
Lunds tekniska högskola Datavetenskap Lennart Andersson Föreläsningsanteckningar EDAF10 6 Reguljära uttryck I unix-skal finns ange enkla mönster för filnamn med * och?. En del program, t ex emacs, egrep
Läs merIntroduktion till programmering SMD180. Föreläsning 5: Fruktbara funktioner
Introduktion till programmering Föreläsning 5: Fruktbara funktioner 1 Retur-värden Funktioner kan både orsaka en effekt och returnera ett resultat. Hittills har vi ej definierat några egna funktioner med
Läs merViktiga begrepp. Algoritm. Array. Binärkod. Blockprogrammering. Bugg / fel och felsökning. Dataspel. Dator
Viktiga begrepp Den här ordlistan är till för dig som går kursen Om Programmering. Eftersom detta är en grundläggande kurs har vi i vissa fall gjort en del förenklingar. En del begrepp är svåra att förenkla,
Läs merFormell logik Kapitel 1 och 2. Robin Stenwall Lunds universitet
Formell logik Kapitel 1 och 2 Robin Stenwall Lunds universitet Kapitel 1: Atomära satser Drömmen om ett perfekt språk fritt från vardagsspråkets mångtydighet och vaghet (jmf Leibniz, Russell, Wittgenstein,
Läs merTentamen i kurserna Beräkningsmodeller (TDA181/INN110) och Grundläggande Datalogi (TDA180)
Göteborgs Universitet och Chalmers Tekniska Högskola 19 januari 2005 Datavetenskap TDA180/TDA181/INN110 Tentamen i kurserna Beräkningsmodeller (TDA181/INN110) och Grundläggande Datalogi (TDA180) Onsdagen
Läs merMultipel tilldelning. Introduktion till programmering D0009E. Föreläsning 6: Iteration. while-satsen. Kom ihåg. Snurror kontra rekursion
Introduktion till programmering D0009E Föreläsning 6: Iteration Multipel tilldelning Helt ok att tilldela en variabel flera gånger: bruce = bruce, bruce = 7 bruce Output: 7 Som tillståndsdiagram: bruce
Läs merTekniker för storskalig parsning: Grundbegrepp
Tekniker för storskalig parsning: Grundbegrepp Joakim Nivre Uppsala Universitet Institutionen för lingvistik och filologi joakim.nivre@lingfil.uu.se Tekniker för storskalig parsning: Grundbegrepp 1(17)
Läs merOm semantisk följd och bevis
Matematik, KTH Bengt Ek december 2017 Material till kursen SF1679, Diskret matematik: Om semantisk följd och bevis Logik handlar bla om studiet av korrekta slutledningar, dvs frågan om när det är riktigt
Läs merPraktisk hantering av automatiserade testfall T U A C A P T M F T W!
Praktisk hantering av automatiserade testfall T U A C A P T M F T W! Das TOC (Hålla låda i ca 35 min) Presentation quien soy yo? Bakgrund vad, varför? Hur man kan testa (in-) parametrar och regelverk på
Läs merFöreläsning 2 Programmeringsteknik och C DD1316
Föreläsning 2 Programmeringsteknik och C DD1316 Föreläsning 2 Programmeringsteknik och C Datatyp Aritmetiska operatorer Omvandling av typer Reserverade ord Mikael Djurfeldt Logiska operatorer
Läs merkind spelling Scanning
sats terminal Kompilatorteknik 2015 källprogram! Exempel program let var v : integer; const t ~ 3 in v := v + t kind spelling Scanning LET let föreläsningsfilmer Scannerns eller den lexikala analysatorns
Läs merFormell logik Kapitel 9. Robin Stenwall Lunds universitet
Formell logik Kapitel 9 Robin Stenwall Lunds universitet Kapitel 9: Introduktion till kvantifiering Vi har hittills betraktat logiska resonemang vars giltighet enbart beror på meningen hos konnektiv som
Läs merUniversitetet i Linköping Institutionen för datavetenskap Anders Haraldsson
1 2 Grundläggande datavetenskap, IT1 Perspektiv på datateknik, D1 Perspektiv på datavetenskap, C1 Breddföreläsning orientering om: formella språk grammatik parsing Att läsa mer: Brookshear, Computer Science
Läs merFöreläsning 7: Syntaxanalys
DD2458, Problemlösning och programmering under press Föreläsning 7: Syntaxanalys Datum: 2009-10-27 Skribent(er): Carl-Fredrik Sundlöf, Henrik Sandström, Jonas Lindmark Föreläsare: Fredrik Niemelä 1 Syntaxanalys
Läs merTentamen i Introduktion till programmering
Tentamen i Introduktion till programmering Kurskod: Skrivtid: D0009E 09:00-13:00 (4 timmar) Totalt antal uppgifter: 7 Totalt antal poäng: 38 Tentamensdatum: 2014-05-17 Jourhavande lärare: Tillåtna hjälpmedel:
Läs merGrammatik. BNF-grammatik
Grammatik Objektorienterad modellering och diskreta strukturer / design Grammatik Reguljära uttryck klarar inte av att beskriva mängden av aritmetiska uttryck. Lennart Andersson Reviderad 2010 10 07 2010
Läs merIntroduktion till programmering och Python Grundkurs i programmering med Python
Introduktion till programmering och Python Hösten 2009 Dagens lektion Vad är programmering? Vad är en dator? Filer Att tala med datorer En första titt på Python 2 Vad är programmering? 3 VAD ÄR PROGRAMMERING?
Läs merFöreläsning 5: Modellering av frasstruktur. 729G09 Språkvetenskaplig databehandling Lars Ahrenberg
Föreläsning 5: Modellering av frasstruktur 729G09 Språkvetenskaplig databehandling Lars Ahrenberg 2014-05-05 1 Översikt Introduktion generativ grammatik och annan syntaxforskning Att hitta mönster i satser
Läs merBER AKNINGSBARHET F OR DATALOGER. Kent Petersson. Institutionen for Datavetenskap Goteborgs Universitet / Chalmers Goteborg, Sweden
BER AKNINGSBARHET F OR DATALOGER Fran till P Kent Petersson Institutionen for Datavetenskap Goteborgs Universitet / Chalmers 412 96 Goteborg, Sweden ii Kent Petersson Department of Computer Science Goteborgs
Läs merTDDC74 Lab 02 Listor, sammansatta strukturer
TDDC74 Lab 02 Listor, sammansatta strukturer 1 Översikt I denna laboration kommer ni att lära er mer om: Mer komplexa rekursiva mönster, procedurer och processer. Hur man kan hantera listor och andra enklare
Läs merDD1361 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
Läs merDD1314 Programmeringsteknik
Skolan för Datavetenskap och kommunikation DD1314 Programmeringsteknik Föreläsning 1 o print o variabler o reserverade ord o input o kommentarer o beräkningar o datatyper o if-satser Kursinformation Programmering:
Läs merTentamen , 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
Läs merMÖNSTER OCH TALFÖLJDER
MÖNSTER OCH TALFÖLJDER FÖRELÄSNINGENS INNEHÅLL OCH SYFTE Genomgång av viktiga matematiska begrepp, uttryck och symboler med anknytning till mönster och talföljder. Skälet till att välja detta innehåll
Läs merFöreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk
Föreläsning 2 steknik och C DD1316 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer betyder att instruera en dator Ett program
Läs merFöreläsning 2. Täcker material från lektion 1, 2, 3 och 4:
(22 januari 2016 F2.1 ) Föreläsning 2 Täcker material från lektion 1, 2, 3 och 4: Datatyper Aritmetik Tecken och strängar Klasser, Objekt Metoder Villkor, villkorssatser och iterationer main-metoden Kodstandard
Läs merHI1024 Programmering, grundkurs TEN
HI1024 Programmering, grundkurs TEN2 2016-01-09 KTH STH Haninge 8.15-13.00 Tillåtna hjälpmedel: En A4 handskriven på ena sidan med egna anteckningar Kursboken C PROGRAMMING A Modern Approach K. N. King
Läs merDagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program
Dagens föreläsning Programmeringsteknik för Ingenjörer VT05 Föreläsning 3-4 Repetition Datatyper Uttryck Operatorer Satser Algoritmer Programmeringsteknik VT05 2 Repetition Repetition - Programmering i
Läs merPROV I MATEMATIK Automatateori och formella språk DV1 4p
UPPSALA UNIVERSITET Matematiska institutionen Salling (070-6527523) PROV I MATEMATIK Automatateori och formella språk DV1 4p 19 mars 2004 SKRIVTID: 15-20. POÄNGGRÄNSER: 18-27 G, 28-40 VG. MOTIVERA ALLA
Läs merUppgift 1 (grundläggande konstruktioner)
Uppgift 1 (grundläggande konstruktioner) a) Skriv ett program som låter användaren mata in 7 heltal och som gör utskrifter enligt nedanstående körexempel. Mata in 7 heltal: 1 0 0 3 1 1 1 Tal nr 2 var en
Läs merFöreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk
Föreläsning 2 steknik DD1310 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer funktioner betyder att instruera en dator Ett program
Läs mer1/15/2013. DD1310/DD1314/DA3009 Programmeringsteknik. Lärandemål... Vilka läser kursen? ...fler lärandemål VARFÖR? Föreläsning 1
Skolan för Datavetenskap och kommunikation DD1310/DD1314/DA3009 Programmeringsteknik Föreläsning 1 Kursinfo Diagnostiskt prov Python-intro: print variabler reserverade ord input kommentarer beräkningar
Läs merDD1310/DD1314/DA3009 Programmeringsteknik LÄRANDEMÅL... Vilka läser kursen? ...FLER LÄRANDEMÅL. Föreläsning 1
Skolan för Datavetenskap och kommunikation DD1310/DD1314/DA3009 Programmeringsteknik Föreläsning 1 Kursinfo Python-intro: print variabler reserverade ord input kommentarer beräkningar datatyper if-satser
Läs merInledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock
Inledning Vad är ett datorprogram, egentligen? Olika språk Problemlösning och algoritmer 1 (14) Varför använda en dator? Genom att variera de program som styr datorn kan den användas för olika uppgifter.
Läs mer10. Mängder och språk
Objektorienterad modellering och diskreta strukturer 10. Mängder och språk Sven Gestegård Robertz Institutionen för datavetenskap, LTH 2013 Rekaputilation Vi har talat om satslogik, predikatlogik och härledning
Läs merFöreläsning 7 Innehåll. Rekursion. Rekursiv problemlösning. Rekursiv problemlösning Mönster för rekursiv algoritm. Rekursion. Rekursivt tänkande:
Föreläsning 7 Innehåll Rekursion Rekursivt tänkande: Hur många år fyller du? Ett år mer än förra året! Rekursion Rekursiv problemlösning Binärsökning Generiska metoder Rekursiv problemlösning: Dela upp
Läs merInlämningsuppgift : Finn. 2D1418 Språkteknologi. Christoffer Sabel E-post: csabel@kth.se 1
Inlämningsuppgift : Finn 2D1418 Språkteknologi Christoffer Sabel E-post: csabel@kth.se 1 1. Inledning...3 2. Teori...3 2.1 Termdokumentmatrisen...3 2.2 Finn...4 3. Implementation...4 3.1 Databasen...4
Läs mer7, Diskreta strukturer
Objektorienterad modellering och diskreta strukturer 7, Diskreta strukturer Sven Gestegård Robertz Datavetenskap, LTH 2013 1 Inledning 2 Satslogik Inledning Satslogiska uttryck Resonemang och härledningar
Läs merKonstruktion av datorspråk
Konstruktion av datorspråk Fö2: Funderingar kring hur man kan bedöma programspråk samt några fler detaljer i Ruby Peter Dalenius peter.dalenius@liu.se Institutionen för datavetenskap Linköpings universitet
Läs merPrimitivt rekursiva funktioner och den aritmetiska hierarkin
Primitivt rekursiva funktioner och den aritmetiska hierarkin Rasmus Blanck 0 Inledning En rad frågor inom logiken, matematiken och datavetenskapen relaterar till begreppet beräkningsbarhet. En del i kursen
Läs merProgrammeringsteknik med C och Matlab
Programmeringsteknik med C och Matlab Kapitel 2: C-programmeringens grunder Henrik Björklund Umeå universitet Björklund (UmU) Programmeringsteknik 1 / 32 Mer organisatoriskt Imorgon: Datorintro i lab Logga
Läs mer729G09 Språkvetenskaplig databehandling
729G09 Språkvetenskaplig databehandling Modellering av frasstruktur Lars Ahrenberg 2015-05-04 Plan Formell grammatik språkets oändlighet regler Frasstrukturgrammatik Kontextfri grammatik 2 Generativ grammatik
Läs merLaboration: Whitebox- och blackboxtesting
Tilda11 höstterminen 2011 Laboration: Whitebox- och blackboxtesting Mål med laborationen Du ska lära dig begreppen white-box testing och black-box testing Du ska öva dig på att konstruera testfall Du ska
Läs merIntroduktion till programmering SMD180. Föreläsning 4: Villkor och rekursion
Introduktion till programmering Föreläsning 4: Villkor och rekursion 1 1 Några inbyggda funktioner (med resultat!) Konverterar mellan de grundläggande typerna: >>> int("32") 32 >>> int(3.999) 3 >>> float(32)
Läs merNp MaB vt Låt k = 0 och rita upp de båda linjerna. Bestäm skärningspunkten mellan linjerna.
Vid bedömning av ditt arbete med uppgift nummer 17 kommer läraren att ta hänsyn till: Hur väl du beräknar och jämför trianglarnas areor Hur väl du motiverar dina slutsatser Hur väl du beskriver hur arean
Läs merTentamen. Datalogi I, grundkurs med Java 10p, 2D4112, Lördagen den 30 november 2002 kl , salar E33, E34
Tentamen Datalogi I, grundkurs med Java 10p, 2D4112, 2002-2003 Lördagen den 30 november 2002 kl 9.00 14.00, salar E33, E34 Inga hjälpmedel 30 poäng ger säkert godkänt, 40 poäng ger betyg 4 50 poäng ger
Läs merAlfabeten, strängar och språk. String
Alfabeten, strängar och språk Objektorienterad modellering och diskreta strukturer / design Språk och reguljära uttryck Ett alfabet är en ändlig icketom mängd vars element kallas symboler. Lennart Andersson
Läs merPlanering av ett större program, del 2 - for och listor. Linda Mannila
Planering av ett större program, del 2 - for och listor Linda Mannila 9.10.2007 Vad kan vi nu? Primitiva datatyper Tal, strängar, booleska värden Utskrift Indata Felhantering Funktioner och moduler (grunder)
Läs mer