Modelleren en Programmeren: Prolog

Maat: px
Weergave met pagina beginnen:

Download "Modelleren en Programmeren: Prolog"

Transcriptie

1 Modelleren en Programmeren: Prolog Marijn Schraagen 15 januari 2016 Herhaling Definite Clause Grammars DCG s met argumenten DCG s met returnwaardes

2 Herhaling

3 Lijsten Een lijst is een sequentie van termen Getallen, strings, variabelen, predicaten, rekenexpressies, andere lijsten Willekeurige lengte Notatie: vierkante haken [] en komma Voorbeeld: [a,b,[1,2,[3,3],x], Jan ]

4 Lijsten Een lijst is een sequentie van termen Getallen, strings, variabelen, predicaten, rekenexpressies, andere lijsten Willekeurige lengte Notatie: vierkante haken [] en komma Voorbeeld: [a,b,[1,2,[3,3],x], Jan ] Lijstoperator splitst een lijst in de head en tail [1,2,3,4,5] = [H T]. H = 1, T = [2,3,4,5]

5 Recursie op lijsten Bewerking op elk element van een lijst Roep predicaat aan voor de head Recursie op de tail Basisgeval: meestal de lege lijst [] categorie(graan,voedsel). categorie(bos,locatie). categorie(zomer,periode). info([]). info([h T]) :- categorie(h,c), writeln(c=h), info(t).?- info([graan,bos,zomer]). voedsel=graan locatie=bos periode=zomer

6 Lijst als returnwaarde Resultaat van de berekening in een tweede lijst Met lijstoperator stap voor stap opbouwen resultaatlijst Basisgeval: twee lege lijsten categorie(graan,voedsel). categorie(bos,locatie). categorie(zomer,periode). info2([],[]). info2([h T],[C T2]) :- categorie(h,c), info2(t,t2).?- info2([graan,bos,zomer],l). L = [voedsel, locatie, periode].

7 Lijst als returnwaarde Een lijst-element kan bestaan uit verschillende gedeeltes categorie(graan,voedsel). categorie(bos,locatie). categorie(zomer,periode). info2([],[]). info2([h T],[C=H T2]) :- categorie(h,c), info2(t,t2).?- info2([graan,bos,zomer],l). L = [voedsel=graan, locatie=bos, periode=zomer].

8 Trace Prolog heeft een ingebouwde debugger: trace Volg stap voor stap wat een programma doet categorie(graan,voedsel). categorie(bos,locatie). info2([],[]). info2([h T],[C T2]) :- categorie(h,c), info2(t,t2). [trace]?- info2([graan,bos],l). Call: (7) info2([graan, bos], _G6169)? creep Call: (8) categorie(graan, _G6246)? creep Exit: (8) categorie(graan, voedsel)? creep Call: (8) info2([bos], _G6247)? creep Call: (9) categorie(bos, _G6249)? creep Exit: (9) categorie(bos, locatie)? creep Call: (9) info2([], _G6250)? creep Exit: (9) info2([], [])? creep Exit: (8) info2([bos], [locatie])? creep Exit: (7) info2([graan, bos], [voedsel, locatie])? creep L = [voedsel, locatie].

9 Ingebouwde lijstpredicaten Prolog heeft ingebouwde predicaten voor veelvoorkomende lijstoperaties Element in lijst: member Lijsten combineren en splitsen: append Lengte van een lijst: length Sorteren: sort

10 Ingebouwde lijstpredicaten Prolog heeft ingebouwde predicaten voor veelvoorkomende lijstoperaties Element in lijst: member Lijsten combineren en splitsen: append Lengte van een lijst: length Sorteren: sort?- member(2,[1,2,3]). true?- member(4,[1,2,3]). false?- member(x,[1,2,3]). X = 1; X = 2; X = 3?- append([1,2],[3,4],l). L = [1,2,3,4]?- append(l1,[3,4],[1,2,3,4]). L1 = [1,2]?- append(l1,l2,[1,2,3,4]). L1 = [], L2 = [1,2,3,4];?- length([a,b,c],x). X = 3.?- length(l,3). L = [_G6240, _G6243, _G6246].?- sort([3,2,4],s). S = [2,3,4]?- sort(l,[2,3,4]). ERROR: sort/2: Arguments are not sufficiently instantiated

11 Feiten en regels aanpassen Feiten en regels uit een bestand kunnen worden aangepast vanaf de prompt of vanuit de regels Predicaten assert en retract Volgorde: assert voegt onderaan toe, asserta voegt bovenaan toe Alleen voor dynamische feiten en regels Bekijk de huidige feiten en regels met listing(naam) :- dynamic eet/2. eet(muis,kaas). eet(kat,muis).?- assert(eet(muis,graan)).?- listing(eet). :- dynamic eet/2. eet(muis,kaas). eet(kat,muis). eet(muis,graan).?- retract(eet(x,graan)).

12 Definite Clause Grammars

13 Parsing in Prolog Prolog is ontwikkeld voor het verwerken van natuurlijke taal Definieer de grammatica als Prolog-regels Definieer het lexicon als Prolog-lijsten Geef als query de vraag of een stukje tekst voldoet aan de regels voor een bepaalde grammaticale constructie Voorbeeld: zin("marie ziet Jan") of zin("marie Jan ziet") (pseudo-code)

14 Parsing in Prolog Prolog is ontwikkeld voor het verwerken van natuurlijke taal Definieer de grammatica als Prolog-regels Definieer het lexicon als Prolog-lijsten Geef als query de vraag of een stukje tekst voldoet aan de regels voor een bepaalde grammaticale constructie Voorbeeld: zin("marie ziet Jan") of zin("marie Jan ziet") (pseudo-code) Dit is een regelgebaseerde aanpak Veel (succesvolle) methodes in taalverwerking maken gebruik van een statistische aanpak Hier is veel discussie over

15 Grammatica Grammatica s maken gebruik van categorieën Werkwoord, zelfstandig naamwoord, lidwoord Kleinere eenheden worden gebruikt om een grotere categorie te definiëren Voorbeeld lidwoord + zelfstandig naamwoord naamwoordgroep naamwoordgroep + werkwoord zin de + man naamwoordgroep de man + loopt zin Query: zin("de man loopt").

16 Categorieën Categorieën worden meestal weergegeven met (Engelse) afkortingen Vaak een phrase De man = noun phrase, np uscki.nl: je moeder is een noun phrase det determiner lidwoord de n noun naamwoord man pn proper noun eigennaam Jan pron pronoun voornaamwoord hij v verb werkwoord loopt adj adjective bijvoeglijk naamwoord (een) blauw (paard) adv adverb bijwoord (het paard is) blauw prep preposition voorzetsel in con conjuction voegwoord omdat np noun phrase naamgroep de kleine muis vp verb phrase werkwoordgroep ziet de man pp prepositional phrase voorzetselgroep in de zomer s sentence zin de muis eet kaas

17 Context-vrije grammatica Deze grammatica is context-vrij (context free, CFG) Een grammaticaregel wordt toegepast op een deel van de zin Als dit deel voldoet aan de categorieën en de volgorde kan de regel worden gebruikt De rest van de zin (de context) wordt buiten beschouwing gelaten voor deze regel Vergelijk: De man loopt op de weg, De man loopt hard Computationeel handige eigenschap

18 Context-vrije grammatica Deze grammatica is context-vrij (context free, CFG) Een grammaticaregel wordt toegepast op een deel van de zin Als dit deel voldoet aan de categorieën en de volgorde kan de regel worden gebruikt De rest van de zin (de context) wordt buiten beschouwing gelaten voor deze regel Vergelijk: De man loopt op de weg, De man loopt hard Computationeel handige eigenschap Voor natuurlijke talen is een context-vrije grammatica niet altijd handig Jan zag Marie Hans Prolog uitleggen Voor veel gevallen is een CFG wel geschikt

19 Definite Clause Grammar Een definite clause is een logische formule in een bepaalde vorm p q... r z 1 conclusie, een eindig aantal voorwaarden (definite) Prolog: z :- p, q, r. Grammatica in Prolog: definite clause grammar (DCG)

20 Syntax van DCG s Grammaticaregels worden gerepresenteerd met Prolog-regels Speciale notatie Gewone regel: conclusie :- voorwaardes. DCG-regel: structuur --> categorieën. Lexicon als regels met een lijst als voorwaarde categorie --> [woord]. s --> np, vp. np --> pn. vp --> v. pn --> [jan]. v --> [loopt]. % sentence = noun phrase + verb phrase % noun phrase = proper noun % verb phrase = verb

21 Queries in een DCG Direct met de categorie Twee argumenten: tekst en rest s --> np, vp. np --> pn. vp --> v. pn --> [jan]. v --> [loopt].?- s([jan,loopt],[]). true.?- s([loopt,jan],[]). false.?- np([jan],[]). true.?- np([jan,loopt],[]). false.?- np([jan,loopt],[loopt]). true.?- np([jan,loopt],rest). Rest = [loopt].

22 Queries in een DCG Ingebouwd: phrase/2 Argumenten: categorie en lijst met de zin Uitgebreider: phrase/3, met rest s --> np, vp. np --> pn. vp --> v. pn --> [jan]. v --> [loopt].?- phrase(s,[jan,loopt]). true.?- phrase(s,[jan,loopt],rest). Rest = [].?- phrase(np,[jan,loopt],rest). Rest = [loopt].?- phrase(vp,[jan,loopt],rest). false.

23 Meerdere mogelijkheden In het lexicon staan meerdere woorden met dezelfde categorie Voor veel niet-lexicale categorieën zijn ook meerdere regels Hierdoor zijn er veel verschillende combinaties (afleidingen) die een correcte structuur vormen s --> np, vp. np --> pn. np --> det, n. vp --> v, np. pn --> [marie]. v --> [ziet]. det --> [de]. n --> [man]. n --> [muis].?- s([marie,ziet,de,man],[]). true.?- s([marie,ziet,de,muis],[]). true.?- s([marie,ziet,muis],[]). false.?- s([de,muis,ziet,marie])). true.

24 Parsingstrategie DCG Prolog kijkt naar het begin van de lijst Het begin wordt gematcht met de eerste deelcategorie De rest wordt gebruikt voor de volgende deelcategorieën Wat na de laatste deelcategorie overblijft is de rest van de query

25 s --> np, vp. np --> pn. np --> det, n. vp --> v, np.?- s([marie,ziet,de,muis],[]). query: np([marie,ziet,de,muis],rest) query: pn([marie,ziet,de,muis],rest) pn = [marie] np = [marie], Rest = [ziet,de,muis] query: vp([ziet,de,muis],rest) query: v([ziet,de,muis],rest) v = [ziet], Rest = [de,muis] query: np([de,muis],rest) query: pn([de,muis],rest), fail nieuwe query: det([de,muis],rest) det = [de]. Rest = [muis] query: n([muis],rest) n=[muis], Rest = [] np = [de,muis], Rest = [] vp = [ziet,de,muis], Rest = [] s = [marie,ziet,de,muis], Rest = []

26 Parsingstrategie DCG Prolog kijkt naar het begin van de lijst Het begin wordt gematcht met de eerste deelcategorie De rest wordt gebruikt voor de volgende deelcategorieën Wat na de laatste deelcategorie overblijft is de rest van de query Vanwege deze strategie kan er achteraan de lijst iets overblijven Maar: vooraan of in het midden iets weglaten kan niet np([de,man,ziet], Rest) % goed np(begin,[ziet,de,man]) % fout!

27 Genereren Met de tekst als variabele kan je taalvoorbeelden genereren s --> np, vp. np --> pn. np --> det, n. vp --> v, np. pn --> [marie]. v --> [ziet]. det --> [de]. n --> [man]. n --> [muis].?- s(z,[]). Z = [marie, ziet, marie] ; Z = [marie, ziet, de, man] ; Z = [marie, ziet, de, muis] ; Z = [de, man, ziet, marie] ;...

28 Correcte zinnen Marie ziet Marie heeft een correcte structuur Introductie van informatie is wat ongebruikelijk Marie ziet zichzelf Voorwaarde: een naam mag in dergelijke gevallen maar 1 keer voorkomen Deze voorwaarde is niet context-vrij

29 Correcte zinnen Marie ziet Marie heeft een correcte structuur Introductie van informatie is wat ongebruikelijk Marie ziet zichzelf Voorwaarde: een naam mag in dergelijke gevallen maar 1 keer voorkomen Deze voorwaarde is niet context-vrij pn --> [marie] is alleen toegestaan als deze regel in de context nog niet is gebruikt Een gewone DCG kan deze voorwaarde niet implementeren Wel mogelijk in Prolog

30 DCG s en recursie In natuurlijke taal zit regelmatig herhaling Een grote rode vliegende luchtballon Herhaling in Prolog recursie det --> [een]. n --> [luchtballon]. adj --> [grote]. adj --> [rode]. adj --> [vliegende]. np --> det, n. np --> det, adj, n. np --> det, adj, adj, n. np --> det, adj, adj, adj, n.

31 DCG s en recursie In natuurlijke taal zit regelmatig herhaling Een grote rode vliegende luchtballon Herhaling in Prolog recursie det --> [een]. n --> [luchtballon]. adj --> [grote]. adj --> [rode]. adj --> [vliegende]. np --> det, ng. ng --> n. ng --> ag, n. ag --> ag, adj. ag --> adj.

32 DCG s en recursie In natuurlijke taal zit regelmatig herhaling Een grote rode vliegende luchtballon Herhaling in Prolog recursie det --> [een]. n --> [luchtballon]. adj --> [grote]. adj --> [rode]. adj --> [vliegende]. np --> det, ng. ng --> n. ng --> ag, n. ag --> ag, adj. ag --> adj. % oneindige recursie

33 DCG s en recursie In natuurlijke taal zit regelmatig herhaling Een grote rode vliegende luchtballon Herhaling in Prolog recursie det --> [een]. n --> [luchtballon]. adj --> [grote]. adj --> [rode]. adj --> [vliegende]. np --> det, ng. ng --> n. ng --> ag, n. ag --> adj. ag --> ag, adj. % beter

34 DCG s en recursie In natuurlijke taal zit regelmatig herhaling Een grote rode vliegende luchtballon Herhaling in Prolog recursie det --> [een]. n --> [luchtballon]. adj --> [grote]. adj --> [rode]. adj --> [vliegende]. np --> det, ng. ng --> n. ng --> ag, n. ag --> adj. ag --> adj, ag. % nog beter

35 DCG s en recursie In natuurlijke taal zit ook nesting De man zit op de bank in het park bij de rivier S(NP,VP(V,PP(NP(PP(NP(PP(NP))))))) Nesting in Prolog recursie S NP de man V zit PP PREP op NP NP de bank PP PREP in NP NP het park PREP bij PP NP de rivier

36 DCG s en recursie Nesting in Prolog recursie De man zit op de bank in het park bij de rivier s --> np, vp. np --> det, n. vp --> v, np. vp --> v, pp. np --> det, n, pp. pp --> prep, np. % np --> pp % pp --> np: recursie

37 DCG s en recursie Nesting in Prolog recursie De man loopt en de vrouw fietst s --> np, vp. np --> det, n. vp --> v. s --> s, con, s. con --> [en]. % fout: oneindige recursie

38 DCG s en recursie Nesting in Prolog recursie De man loopt en de vrouw fietst De man loopt en fietst en schaatst s --> np, vp. np --> det, n. vp --> v. vp --> v, con, vp. s --> s_simpel, con, s. s_simpel --> np, vp. con --> [en]. % eerst niet-recursief predicaat % extra niet-recursief predicaat % definitie gelijk aan s

39 DCG s met argumenten

40 Grammaticale overeenstemming Standaardcategorieën houden geen rekening met grammaticale eigenschappen np --> det,n. det --> [de]. det --> [het]. n --> [man]. n --> [huis].?- np(x,[]). X = [de, man] ; X = [de, huis] ; X = [het, man] ; X = [het, huis] ;

41 Grammaticale overeenstemming Mogelijke oplossing: aparte categorieën np --> mdet,mn. np --> odet,on. mdet --> [de]. odet --> [het]. mn --> [man]. on --> [huis].?- np(x,[]). X = [de, man] ; X = [het, huis] ;

42 Grammaticale overeenstemming Met aparte categorieën is er veel redundantie Beter: geef een argument mee aan de categorie np --> det(g),n(g). det(m) --> [de]. det(o) --> [het]. n(m) --> [man]. n(o) --> [huis].?- np(x,[]). X = [de, man] ; X = [het, huis] ;

43 Toepassing van argumenten Werkwoordsvormen Meervoud Persoonlijke voornaamwoorden Andere talen: naamvallen s --> np(p), vp(p). np(p) --> pron(p). vp(p) --> v(p). pron(1) --> [ik]. pron(2-3) --> [jij]. pron(2-3) --> [hij]. pron(4) --> [wij]. v(1) --> [loop]. v(2-3) --> [loopt]. v(4) --> [lopen].

44 Toepassing van argumenten Werkwoordsvormen Meervoud Persoonlijke voornaamwoorden Andere talen: naamvallen np --> det, n(m), pp(m). pp(m) --> prep, np(m). np(mv) --> n(mv). n(mv) --> [combinatie]. n(mv) --> [factoren]. n(ev) --> [krant]. n(ev) --> [gisteren]. prep --> [van]. det --> [een].

45 Toepassing van argumenten Werkwoordsvormen Meervoud Persoonlijke voornaamwoorden Andere talen: naamvallen s --> np(subj), vp(obj). np(n) --> pron(n). vp(n) --> v, np(n). pron(subj) --> [hij]. pron(subj) --> [zij]. pron(obj) --> [hem]. pron(obj) --> [haar]. v --> [ziet].

46 DCG s met returnwaardes

47 Argumenten als returnwaarde Een DCG met de tekst gegeven heeft als resultaat true of false Maar: onbekend hoe de parsing tot stand is gekomen Vaak is de structuur interessant Nodig voor automatische interpretatie van een zin Jan en Marie gaan morgen op vakantie Wie: Jan en Marie, subject-np Wat: vakantie, object-np in vp Wanneer: morgen, extra np in vp Of: omzetten van natuurlijke tekst in een Prolog-predicaat

48 Verzamelen van tussenresultaten Strategie: voeg bij interessante categorieën een argument toe Gebruik deze argumenten in de hoofdquery Neem een argument eventueel een paar niveaus mee s(a,b,c) --> np(a), vp(b,c). np(x) --> det, n(x). vp(x,_) --> v(x). vp(x,y) --> v(x), np(y). pn(marie) --> [marie]. pn(jan) --> [jan]. v(ziet) --> [ziet]. det --> [de]. n(man) --> [man]. n(muis) --> [muis].

49 Verzamelen van tussenresultaten De extra variabelen in de query komen vooraan s(a,b,c) --> np(a), vp(b,c). np(x) --> det, n(x). vp(x,_) --> v(x). vp(x,y) --> v(x), np(y). pn(marie) --> [marie]. pn(jan) --> [jan]. v(ziet) --> [ziet]. det --> [de]. n(man) --> [man]. n(muis) --> [muis].?- s(a,b,c,l,[]). A = man, B = ziet, C = muis L = [de, man, ziet, de, muis]

50 Van variabelen naar een predicaat Het ingebouwde predicaat =../2 zet een lijst om naar een predicaat en andersom Het eerste element van de lijst wordt de naam van het predicaat, de volgende elementen worden de argumenten van het predicaat Het ingebouwde predicaat call/1 voert een predicaat uit?- P =..[ziet,man,muis]. P = ziet(man, muis).?- eet(muis,kaas) =.. L. L = [eet,muis,kaas].?- call(eet(muis,x)). X = kaas.?- P =..[eet,muis,x], call(p). X = kaas.

51 Van strings naar lijsten Een DCG verwacht een lijst als invoer Niet handig voor de gebruiker Ingebouwd predicaat split string/4 zet een string om naar een lijst Ingebouwd predicaat read line to string/2 leest een stream (bijvoorbeeld de standaardinvoer van het toetsenbord) naar een string Let op: een atoom is niet hetzelfde als een string Gebruik in je DCG strings of gebruik een predicaat om een lijst strings om te zetten naar een lijst atomen

52 Van strings naar lijsten s --> np, vp. np --> pn. vp --> v. pn --> [marie]. v --> [loopt]. % atoom % atoom % user_input is het toetsenbord?- read_line_to_string(user_input,s). : marie loopt S = "marie loopt" % split_string(string,scheidingsteken,padding,lijst)?- read_line_to_string(user_input,s), split_string(s,,,l). : marie loopt S = "marie loopt" L = ["marie", "loopt"]

53 Van strings naar lijsten s --> np, vp. np --> pn. vp --> v. pn --> [marie]. v --> [loopt]. % atoom % atoom?- read_line_to_string(user_input,s), split_string(s,,,l), s(l,[]). : marie loopt false.

54 Van strings naar lijsten s --> np, vp. np --> pn. vp --> v. pn --> ["marie"]. v --> ["loopt"]. % string % string?- read_line_to_string(user_input,s), split_string(s,,,l), s(l,[]). : marie loopt S = "marie loopt" L = ["marie", "loopt"]

55 Van strings naar lijsten list_str_atom([],[]). list_str_atom([h T],[H2 T2]):- atom_string(h2,h), % ingebouwd predicaat list_str_atom(t,t2). s --> np, vp. np --> pn. vp --> v. pn --> [marie]. % atoom v --> [loopt]. % atoom?- read_line_to_string(user_input,s), split_string(s,,,l), list_str_atom(l,l2), s(l2,[]). : marie loopt S = "marie loopt" L = ["marie", "loopt"] L2 = [marie, loopt]

Modelleren en Programmeren: Prolog

Modelleren en Programmeren: Prolog Modelleren en Programmeren: Prolog Marijn Schraagen 20 januari 2016 Herhaling Gebruik negatie, assert Uitbreidingen DCG s Niet-natuurlijke talen Tentamenvoorbereiding Practicum: ingebouwde predicaten In

Nadere informatie

Modelleren en Programmeren: Prolog

Modelleren en Programmeren: Prolog Modelleren en Programmeren: Prolog Marijn Schraagen 13 januari 2016 Herhaling basiselementen Lijsten Trace Ingebouwde lijstpredicaten Feiten en regels aanpassen Herhaling basiselementen Feiten en regels

Nadere informatie

Inleiding: Combinaties

Inleiding: Combinaties Zinnen 1 Inleiding: Combinaties Combinaties op verschillende niveaus: Lettergrepen als combinaties van fonemen. Woorden als combinaties van morfemen. Zinnen als combinaties van woorden en woordgroepen.

Nadere informatie

Natuurlijke-Taalverwerking 1

Natuurlijke-Taalverwerking 1 Natuurlijke-Taalverwerking 1 Week 3 Definite Clause Grammar (vervolg) Overzicht 1 DCG Hoofdzinnen en bijzinnen Betekenis Generatie Automatisch Vertalen Meer dan context-vrije grammatica Een toepassing

Nadere informatie

Natuurlijke-taalverwerking. Week 2

Natuurlijke-taalverwerking. Week 2 Natuurlijke-taalverwerking Week 2 Overzicht Context-vrije Grammatica s CFGs in Prolog Definite Clause Grammars (DCGs) Construeren van bomen Recapitulatie Doel: computers taal laten begrijpen Noodzaak:

Nadere informatie

Modelleren en Programmeren: Prolog

Modelleren en Programmeren: Prolog Modelleren en Programmeren: Prolog Marijn Schraagen 8 januari 2016 Introductie Basiselementen Rekenen Recursie Introductie Prolog vs. Java Java is procedureel en imperatief Code beschrijft stap voor stap

Nadere informatie

Combinaties. Stof bij dit college

Combinaties. Stof bij dit college Combinaties Taal maakt combinaties op verschillende niveaus: Fonemen combineren tot morfemen (creëren van betekenis) Morfemen combineren tot woorden (complexe betekenissen) Woorden combineren tot woordgroepen,

Nadere informatie

Zinnen 1. Henriëtte de Swart

Zinnen 1. Henriëtte de Swart Zinnen 1 Henriëtte de Swart Combinaties Taal maakt combinaties op verschillende niveaus: Fonemen combineren tot morfemen (creëren van betekenis) Morfemen combineren tot woorden (complexe betekenissen)

Nadere informatie

Logica voor Informatica

Logica voor Informatica Logica voor Informatica 13 Prolog Wouter Swierstra University of Utrecht 1 Programmeren met Logica Propositielogica is niet geschikt voor programmeren er is nauwlijkst iets interessants uit te drukken.

Nadere informatie

Natuurlijke-Taalverwerking

Natuurlijke-Taalverwerking Natuurlijke-Taalverwerking Week 5 Parsing Overzicht DCG s en links-recursie Shift-reduce parsing Chart parsing Generatie Links-recursie?- voorouder(geert,youri). ouder(geert,jan). ouder(jan,youri). voorouder(x,y)

Nadere informatie

Zinsontleden en woordbenoemen groep 7/8

Zinsontleden en woordbenoemen groep 7/8 Zinsontleden en woordbenoemen groep 7/8 Naam: 1 Inhoudsopgave: 3 - Onderwerp 4 - Persoonsvorm 5 - Gezegde 6 - Lijdend voorwerp 7 - Meewerkend voorwerp 8 - Werkwoorden 8 - Zelfstandig naamwoorden 9 - Bijvoeglijk

Nadere informatie

Inleiding Programmeren 2

Inleiding Programmeren 2 Inleiding Programmeren 2 Gertjan van Noord December 17, 2018 Vandaag Naar aanleiding van de opdrachten Zelle hoofdstuk 11 Boolean variabelen: niet checken met == Fout: if clicked == True : gohome () Goed:

Nadere informatie

1e Deeltentamen Inleiding Taalkunde

1e Deeltentamen Inleiding Taalkunde 1e Deeltentamen Inleiding Taalkunde 28/05/2009 13.15-16.15 Dit tentamen heeft 5 vragen. Je hebt drie uur de tijd om deze te beantwoorden. Vergeet niet je naam en studentnummer steeds duidelijk te vermelden.

Nadere informatie

Grammars and automatic syntactic analysis

Grammars and automatic syntactic analysis Grammars and automatic syntactic analysis Begoña Villada and Gosse Bouma May 9, 2003 Road map 1 NLP applications require syntactic analysis What is parsing? Sentences and constituent structure Grammars

Nadere informatie

Natuurlijke Taalverwerking I shift-reduce en chart parsing

Natuurlijke Taalverwerking I shift-reduce en chart parsing Natuurlijke Taalverwerking I shift-reduce en chart parsing Gosse Bouma en Geert Kloosterman 2e semester 2005/2006 Shift-reduce conflicten Epsilon-regels Breadth-first zoeken Gebruik van een chart Toepassing:

Nadere informatie

Practicumopgave 3: SAT-solver

Practicumopgave 3: SAT-solver Practicumopgave 3: SAT-solver Modelleren en Programmeren 2015/2016 Deadline: donderdag 7 januari 2016, 23:59 Introductie In het vak Inleiding Logica is onder andere de propositielogica behandeld. Veel

Nadere informatie

Inleiding Programmeren 2

Inleiding Programmeren 2 Inleiding Programmeren 2 Gertjan van Noord en Leonie Bosveld December 19, 2016 Vandaag Naar aanleiding van de opdrachten Zelle hoofdstuk 11 Boolean variabelen: niet checken met == Fout: if clicked == True

Nadere informatie

Modelleren en Programmeren

Modelleren en Programmeren Modelleren en Programmeren Deeltoets 2. Proefopgaven Het tentamen bestaat uit tien vragen, elk goed voor drie punten. minimaal 16.5 uit 30 punten haalt. Je bent geslaagd als je Opgave 1 Neem de volgende

Nadere informatie

OEFENINGEN PYTHON REEKS 1

OEFENINGEN PYTHON REEKS 1 Vraag 1: Expressies & Types OEFENINGEN PYTHON REEKS 1 Python maakt gebruik van enkele vaak voorkomende (data)types. Zo zijn er integers die behoren tot de gehele getallen (VB: 3), zijn er float s die behoren

Nadere informatie

Practicumopgave 4: Prolog (herkansing)

Practicumopgave 4: Prolog (herkansing) Practicumopgave 4: Prolog (herkansing) Modelleren en Programmeren 2015/2016 Deadline: Maandag 7 maart 2016, 23:59 Samenvatting In de vierde inleveropdracht ga je een systeem maken om informatie bij te

Nadere informatie

Kennisrepresentatie & Redeneren. Piter Dykstra Instituut voor Informatica en Cognitie

Kennisrepresentatie & Redeneren. Piter Dykstra Instituut voor Informatica en Cognitie Kennisrepresentatie & Redeneren Piter Dykstra Instituut voor Informatica en Cognitie www.math.rug.nl/~piter piter@math.rug.nl 30 april 2007 INLEIDING Kennisrepresentatie & Redeneren Week1: Introductie

Nadere informatie

Modelleren en Programmeren

Modelleren en Programmeren Modelleren en Programmeren Jeroen Bransen 6 december 2013 Terugblik Programma en geheugen Opdrachten Variabelen Methoden Objecten Klasse Programma en geheugen Opdrachten Variabelen zijn gegroepeerd in

Nadere informatie

Natuurlijke-Taalverwerking I Definite Clause Grammar deel 1

Natuurlijke-Taalverwerking I Definite Clause Grammar deel 1 1 atuurlijke-taalverwerking I Definite Clause Grammar deel 1 Gosse Bouma en Geert Kloosterman 2e semester 2005/2006 Overzicht CFG in Prolog, DCG-notatie, Prolog-termen i.p.v. categorieën, Lexicon en grammatica

Nadere informatie

Taal- en Spraaktechnologie Ambiguïteit

Taal- en Spraaktechnologie Ambiguïteit 2 Taal- en Spraaktechnologie Ambiguïteit Gosse Bouma 2004/2005 Zinnen zijn soms ambigu Die nacht is Marie bevallen. Hij kocht het huis op de markt. De man, die de hulpverlener heeft gered,... Ik kondig

Nadere informatie

Inhoudsopgave. Relaties geordend paar, cartesisch product, binaire relatie, inverse, functie, domein, bereik, karakteristieke functies

Inhoudsopgave. Relaties geordend paar, cartesisch product, binaire relatie, inverse, functie, domein, bereik, karakteristieke functies Inhoudsopgave Verzamelingen element, Venn-diagram, singleton, lege verzameling, gelijkheid, deelverzameling, machtsverzameling, vereniging, doorsnede, verschilverzameling Relaties geordend paar, cartesisch

Nadere informatie

DOELGROEP Grammatica 3F is bedoeld voor leerlingen van havo/vwo en mbo 4. Het programma is geschikt voor zowel allochtone als autochtone leerlingen.

DOELGROEP Grammatica 3F is bedoeld voor leerlingen van havo/vwo en mbo 4. Het programma is geschikt voor zowel allochtone als autochtone leerlingen. DOELGROEP Grammatica 3F is bedoeld voor leerlingen van havo/vwo en mbo 4. Het programma is geschikt voor zowel allochtone als autochtone leerlingen. STRUCTUUR De lesstof is ingedeeld in rubrieken (onderwerpen)

Nadere informatie

Studentnummer: Inleiding Taalkunde 2013 Eindtoets Zet op ieder vel je naam en studentnummer!

Studentnummer: Inleiding Taalkunde 2013 Eindtoets Zet op ieder vel je naam en studentnummer! Inleiding Taalkunde 2013 Eindtoets Zet op ieder vel je naam en studentnummer! Dit tentamen bestaat uit 7 vragen. Lees elke vraag goed, en gebruik steeds de witte ruimte op de pagina, of de achterkant van

Nadere informatie

HOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Module 4 Programmeren

HOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Module 4 Programmeren HOOFDSTUK 3 3.1 Stapsgewijs programmeren De programmeertalen die tot nu toe genoemd zijn, zijn imperatieve of procedurele programmeertalen. is het stapsgewijs in code omschrijven wat een programma moet

Nadere informatie

Huiswerk 3: Prolog. Inleiding Taalkunde. Dinsdag 31 mei

Huiswerk 3: Prolog. Inleiding Taalkunde. Dinsdag 31 mei Huiswerk 3: Prolog Inleiding Taalkunde Dinsdag 31 mei Opdracht 1: Top-down Parsing In deze opdracht bekijken we top-down parsing. Voor dit parseeralgoritme is een implementatie in Prolog gegeven in het

Nadere informatie

Grammaticaboekje NL. Om een beeld te krijgen van de inhoud: De inhoudsopgave, een paar onderwerpen en de eerste bladzijde van de trefwoorden.

Grammaticaboekje NL. Om een beeld te krijgen van de inhoud: De inhoudsopgave, een paar onderwerpen en de eerste bladzijde van de trefwoorden. 9 789082 208306 van Om een beeld te krijgen van de inhoud: De inhoudsopgave, een paar onderwerpen en de eerste bladzijde van de trefwoorden. Opzoekboekje voor leerlingen in klas 1 tot en met 3 in de onderbouw

Nadere informatie

Inleiding. Syntaxis: de combinaties van woorden tot woordgroepen en zinnen.

Inleiding. Syntaxis: de combinaties van woorden tot woordgroepen en zinnen. Zinnen 2 Inleiding Syntaxis: de combinaties van woorden tot woordgroepen en zinnen. Wat voor rol spelen de kenmerken van de woorden hierbij? Wat voor soort woordvolgordes vinden we? Hoe kunnen die woordvolgordes

Nadere informatie

OEFENINGEN PYTHON REEKS 1

OEFENINGEN PYTHON REEKS 1 Vraag 1: Expressies & Types OEFENINGEN PYTHON REEKS 1 Python maakt gebruik van enkele vaak voorkomende (data)types. Zo zijn er integers die behoren tot de gehele getallen (VB: 3), zijn er float s die behoren

Nadere informatie

inleiding theoretische informatica practicum 1 deadline woensdag 20 februari 2008 om uur

inleiding theoretische informatica practicum 1 deadline woensdag 20 februari 2008 om uur 1 Inleiding inleiding theoretische informatica 2007-2008 practicum 1 deadline woensdag 20 februari 2008 om 14.00 uur Dit practicum is een kennismaking met functioneel programmeren. Twee belangrijke functionele

Nadere informatie

Logisch Programmeren/Prolog 2006-7

Logisch Programmeren/Prolog 2006-7 Logisch Programmeren/Prolog 2006-7 Jori Mur Center for Language and Cognition (CLCG) Rijksuniversiteit Groningen j.mur@rug.nl 1 Overzicht generatiegenoot/2 Lijsten 2 Huiswerkopgave % % truus % / \ % griet

Nadere informatie

Natuurlijke-taalverwerking 1. Daniël de Kok

Natuurlijke-taalverwerking 1. Daniël de Kok Natuurlijke-taalverwerking 1 Daniël de Kok Natuurlijke-Taalverwerking Het college Natuurlijke-taalverwerking is een inleiding in de computationele taalkunde en maakt deel uit van het curriculum van Informatiekunde

Nadere informatie

Opdrachten Werkcollege 4

Opdrachten Werkcollege 4 1. Vertaling in predicatenlogica Opdrachten Werkcollege 4 Vertaal de volgende zinnen naar de eerste orde predicatenlogica: Jan of Piet studeert wiskunde Moskou is een stad in Rusland Geen student die 5

Nadere informatie

Semantiek (2IT40) Bas Luttik. HG 7.14 tel.: Hoorcollege 8 (7 juni 2007)

Semantiek (2IT40) Bas Luttik.  HG 7.14 tel.: Hoorcollege 8 (7 juni 2007) Bas Luttik s.p.luttik@tue.nl http://www.win.tue.nl/~luttik HG 7.14 tel.: 040 247 5152 Hoorcollege 8 (7 juni 2007) Functionele talen Idee: een programma definieert reeks (wiskundige) functies. Programma

Nadere informatie

2. Syntaxis en semantiek

2. Syntaxis en semantiek 2. Syntaxis en semantiek In dit hoofdstuk worden de begrippen syntaxis en semantiek behandeld. Verder gaan we in op de fouten die hierin gemaakt kunnen worden en waarom dit in de algoritmiek zo desastreus

Nadere informatie

PYTHON REEKS 2: FUNCTIES. Mathias Polfliet

PYTHON REEKS 2: FUNCTIES. Mathias Polfliet PYTHON REEKS 2: FUNCTIES Mathias Polfliet mpolflie@etrovub.be TERUG NAAR PYTHON BASICS VRAAG 1: VOLUME BOL Het volume van een bol met straal r is 4 3 πr3 π Wat is het volume in cm³ van een bol met straal

Nadere informatie

Natuurlijke-Taalverwerking I

Natuurlijke-Taalverwerking I 1 atuurlijke-taalverwerking I Gosse Bouma en Geert Kloosterman (pract) 2e semester 2005/2006 Overzicht Week1 : Inleiding, Context-vrije grammatica. Week 2-3 : Definite Clause Grammar Regels, gebruik van

Nadere informatie

Inleiding Logica 2013

Inleiding Logica 2013 Inleiding Logica 2013 Praktica Logisch Programmeren 21, 28 oktober 2013 1 Stamboom Op deze wiki pagina vind je een stukje stamboom van een willekeurige familie. Opgave 1 Vertaal die stamboom, beginnend

Nadere informatie

Grammatica 2F. Doelgroepen Grammatica 2F. Omschrijving Grammatica 2F. meewerkend voorwerp. voegwoord alle woordsoorten

Grammatica 2F. Doelgroepen Grammatica 2F. Omschrijving Grammatica 2F. meewerkend voorwerp. voegwoord alle woordsoorten Grammatica 2F Grammatica 2F bestrijkt de basisregels van de Nederlandse grammatica die op de basisschool worden aangeleerd en waarmee in het voortgezet onderwijs meestal nog wordt geoefend. Doelgroepen

Nadere informatie

Recursion. Introductie 37. Leerkern 37. Terugkoppeling 40. Uitwerking van de opgaven 40

Recursion. Introductie 37. Leerkern 37. Terugkoppeling 40. Uitwerking van de opgaven 40 Recursion Introductie 37 Leerkern 37 5.1 Foundations of recursion 37 5.2 Recursive analysis 37 5.3 Applications of recursion 38 Terugkoppeling 40 Uitwerking van de opgaven 40 Hoofdstuk 5 Recursion I N

Nadere informatie

Programmeermethoden NA. Week 6: Lijsten

Programmeermethoden NA. Week 6: Lijsten Programmeermethoden NA Week 6: Lijsten Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna2016/ Getal opbouwen Stel je leest losse karakters (waaronder cijfers) en je moet daar een getal

Nadere informatie

Logica voor Informatica. Logica Toepassingen. PROLOG: Logische Programmeertaal. Mehdi Dastani

Logica voor Informatica. Logica Toepassingen. PROLOG: Logische Programmeertaal. Mehdi Dastani Logica voor Informatica Logica Toepassingen PROLOG: Logische Programmeertaal Mehdi Dastani m.m.dastani@uu.nl Intelligent Systems Utrecht University Programmeren met Logica Propositielogica is niet geschikt

Nadere informatie

Programmeermethoden NA

Programmeermethoden NA Programmeermethoden NA Week 6: Lijsten Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna/ Bij ons leer je de wereld kennen 1 Getal opbouwen Stel je leest losse karakters (waaronder

Nadere informatie

BEGINNER JAVA Inhoudsopgave

BEGINNER JAVA Inhoudsopgave Inhoudsopgave 6 Configuratie Hallo wereld! Praten met de gebruiker Munt opgooien Voorwaarden Lussen......6 Configuratie Met deze Sushi kaarten ga je een simpel spel maken met één van de meest populaire

Nadere informatie

Variabelen en statements in ActionScript

Variabelen en statements in ActionScript Ontwikkelen van Apps voor ios en Android Variabelen en statements in ActionScript 6.1 Inleiding Als we het in de informatica over variabelen hebben, bedoelen we een stukje in het geheugen van de computer

Nadere informatie

van PSD naar JavaScript

van PSD naar JavaScript 2015 van PSD naar JavaScript F. Vonk versie 2 19-9-2015 inhoudsopgave 1. inleiding... - 2-2. ontwikkelomgeving... - 3-3. programmeerconcepten... - 4 - statement... - 4 - sequentie... - 4 - variabele en

Nadere informatie

Eigen vaardigheid Taal

Eigen vaardigheid Taal Eigen vaardigheid Taal Door middel van het beantwoorden van de vragen in dit blok heeft u inzicht gekregen in uw kennis en vaardigheden van de grammatica en spelling van de Nederlandse taal. In het overzicht

Nadere informatie

Als een PSD selecties bevat, deelt de lijn van het programma zich op met de verschillende antwoorden op het vraagstuk.

Als een PSD selecties bevat, deelt de lijn van het programma zich op met de verschillende antwoorden op het vraagstuk. HOOFDSTUK 3 3.1 Stapsgewijs programmeren In de vorige hoofdstukken zijn programmeertalen beschreven die imperatief zijn. is het stapsgewijs in code omschrijven wat een programma moet doen, net als een

Nadere informatie

Programmeermethoden. Recursie. week 11: november kosterswa/pm/

Programmeermethoden. Recursie. week 11: november kosterswa/pm/ Programmeermethoden Recursie week 11: 21 25 november 2016 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Pointers Derde programmeeropgave 1 Het spel Gomoku programmeren we als volgt: week 1: pointerpracticum,

Nadere informatie

Modelleren en programmeren. Week 9: werken met incomplete datastructuren

Modelleren en programmeren. Week 9: werken met incomplete datastructuren Modelleren en programmeren Week 9: werken met incomplete datastructuren 1. Incomplete datastructuren Een krachtige programmeertechniek is het gebruik van incomplete datastructuren: datastructuren die variabelen

Nadere informatie

Leren Programmeren met Visual Basic 6.0 Les 3+4. Hoofdstuk 4 : De Selectie

Leren Programmeren met Visual Basic 6.0 Les 3+4. Hoofdstuk 4 : De Selectie Leren Programmeren met Visual Basic 6.0 Les 3+4 Hoofdstuk 4 : De Selectie Visual Basic 6.0 1 Basisstructuren (herhaling) Sequentie (HK2) : Alle opdrachten gewoon na mekaar uitvoeren. Hier worden geen keuzes

Nadere informatie

Benodigde voorkennis taal verkennen groep 5

Benodigde voorkennis taal verkennen groep 5 Taal actief 4 taal verkennen groep 5-8 taal verkennen groep 5 In dit document een overzicht opgenomen van de benodigde voor de lessen Taal verkennen groep 5. Deze kenn maakt onderdeel uit van de leerlijn

Nadere informatie

1 keer beoordeeld 4 maart 2018

1 keer beoordeeld 4 maart 2018 7 Samenvatting door Syb 764 woorden 1 keer beoordeeld 4 maart 2018 Vak Nederlands Nederlands Toets week 3 ZAKELIJKE TEKSTEN LEZEN Het onderwerp van een tekst bestaat uit een paar woorden. Een deel onderwerp

Nadere informatie

OEFENINGEN PYTHON REEKS 1

OEFENINGEN PYTHON REEKS 1 OEFENINGEN PYTHON REEKS 1 Vraag 1: Python als een eenvoudige rekenmachine Python maakt gebruik van enkele vaak voorkomende (data)types. Zo zijn er integers die behoren tot de gehele getallen (VB: 3) en

Nadere informatie

Modelleren en Programmeren

Modelleren en Programmeren Modelleren en Programmeren Jeroen Bransen 11 december 2015 Ingebouwde datastructuren Meer boomstructuren Access specifiers Gebruikersinvoer Codestijl Packages SAT-solver Ingebouwde datastructuren Ingebouwde

Nadere informatie

Python. Vraag 1: Expressies en types. Vraag 1 b: Types -Ingebouwde functies- Vraag 1 a 3/10/14

Python. Vraag 1: Expressies en types. Vraag 1 b: Types -Ingebouwde functies- Vraag 1 a 3/10/14 Python Vraag 1: Expressies en types Integrated Development Environment (IDE): Ø Wing 101 (gratis te downloaden op www.wingware.com) Oefeningen in de shell >> noemen we de prompt Python commando s = expressies

Nadere informatie

start -> id (k (f c s) (g s c)) -> k (f c s) (g s c) -> f c s -> s c

start -> id (k (f c s) (g s c)) -> k (f c s) (g s c) -> f c s -> s c Een Minimaal Formalisme om te Programmeren We hebben gezien dat Turing machines beschouwd kunnen worden als universele computers. D.w.z. dat iedere berekening met natuurlijke getallen die met een computer

Nadere informatie

Z I N S O N T L E D I N G

Z I N S O N T L E D I N G - 1 - Z I N S O N T L E D I N G Waarom is zinsontleding zo belangrijk? Elke scholier op de middelbare school maar ook de kinderen op de lagere school, komen veelvuldig met zinsontleding in aanraking, eigenlijk

Nadere informatie

Het Muiswerkprogramma Grammatica op maat bestrijkt de grammatica die nodig is voor het leren van de Nederlandse spelling en zinsbouw.

Het Muiswerkprogramma Grammatica op maat bestrijkt de grammatica die nodig is voor het leren van de Nederlandse spelling en zinsbouw. Grammatica op maat Het Muiswerkprogramma Grammatica op maat bestrijkt de grammatica die nodig is voor het leren van de Nederlandse spelling en zinsbouw. Doelgroepen Grammatica op maat Dit programma is

Nadere informatie

Overzicht toetsen en oefeningen Grammatica I. Grammatica I

Overzicht toetsen en oefeningen Grammatica I. Grammatica I Overzicht toetsen en oefeningen Grammatica I Grammatica I Rubriek Oefening Type Opgaven Uitleg Alle onderwerpen Totaaltoets Grammatica I (*) 42 1 Klanken/letters Deeltoets 1 (*) Naamwoorden Deeltoets 2

Nadere informatie

Natuurlijke-taalverwerking

Natuurlijke-taalverwerking Natuurlijke-taalverwerking Parse disambiguatie Week 6 Overzicht Probabilistische CFG Parsen met PCFG Afleiden van PCFG uit treebank Evaluatie Disambiguatie voor unificatiegrammatica s Disambiguatie Ambiguïteit:

Nadere informatie

REEKS II. Zaterdag 6 november 2010, 11u

REEKS II. Zaterdag 6 november 2010, 11u TEST INFORMATICA 1STE BACHELOR IN DE INGENIEURSWETENSCHAPPEN - ACADEMIEJAAR 2010-2011 REEKS II Zaterdag 6 november 2010, 11u NAAM :... VRAAG 1: AFSTAND [5 PUNTEN] In deze oefening gaan we opzoek naar identieke

Nadere informatie

PYTHON REEKS 1: BASICS. Mathias Polfliet

PYTHON REEKS 1: BASICS. Mathias Polfliet PYTHON REEKS 1: BASICS Mathias Polfliet mpolflie@etrovub.be EENVOUDIGE REKENMACHINE 2 soorten getallen Getallen Z -> integers (gehele getallen) Getallen R -> floating points (reële getallen) Door beperkte

Nadere informatie

Helden van de wiskunde: L.E.J. Brouwer Brouwers visie vanuit een logica-informatica perspectief

Helden van de wiskunde: L.E.J. Brouwer Brouwers visie vanuit een logica-informatica perspectief Helden van de wiskunde: L.E.J. Brouwer Brouwers visie vanuit een logica-informatica perspectief Herman Geuvers Radboud Universiteit Nijmegen Technische Universiteit Eindhoven 1 Helden van de wiskunde:

Nadere informatie

Een topprogrammeur in het OO programmeren is Graig Larman. Hij bedacht de volgende zin:

Een topprogrammeur in het OO programmeren is Graig Larman. Hij bedacht de volgende zin: Java Les 2 Theorie Beslissingen Algemeen Net als in het dagelijks leven worden in software programma s beslissingen genomen, naast het toekennen van waarden aan variabelen zijn beslissingen één van de

Nadere informatie

Maak automatisch een geschikte configuratie van een softwaresysteem;

Maak automatisch een geschikte configuratie van een softwaresysteem; Joost Vennekens joost.vennekens@kuleuven.be Technologiecampus De Nayer We zijn geïnteresseerd in het oplossen van combinatorische problemen, zoals bijvoorbeeld: Bereken een lessenrooster die aan een aantal

Nadere informatie

Inleiding Programmeren 2

Inleiding Programmeren 2 Inleiding Programmeren 2 Gertjan van Noord November 26, 2018 Stof week 3 nogmaals Zelle hoofdstuk 8 en recursie Brookshear hoofdstuk 5: Algoritmes Datastructuren: tuples Een geheel andere manier om te

Nadere informatie

3. Structuren in de taal

3. Structuren in de taal 3. Structuren in de taal In dit hoofdstuk behandelen we de belangrijkst econtrolestructuren die in de algoritmiek gebruikt worden. Dit zijn o.a. de opeenvolging, selectie en lussen (herhaling). Vóór we

Nadere informatie

Les 5 Werkwoorden 22 Les 6 De persoonsvorm van het werkwoord 24 Les 7 De, het, een 26 Les 8 Het meervoud (op -en, -s of - s) 28 Herhalingstoets 2 30

Les 5 Werkwoorden 22 Les 6 De persoonsvorm van het werkwoord 24 Les 7 De, het, een 26 Les 8 Het meervoud (op -en, -s of - s) 28 Herhalingstoets 2 30 Inhoud Deel 1 Grammaticale vormen Les 1 Letter, woord, zin, getal, cijfer 12 Les 2 Zinnen 14 Les 3 Persoonlijke voornaamwoorden (1) 16 Les 4 Hij / het / je / we / ze 18 Herhalingstoets 1 20 Les 5 Werkwoorden

Nadere informatie

Antwoorden Nederlands Ontleding

Antwoorden Nederlands Ontleding Antwoorden Nederlands Ontleding Antwoorden door een scholier 1587 woorden 27 april 2010 5,8 10 keer beoordeeld Vak Nederlands Taalkundig ontleden; Lidwoorden; Een lidwoord hoort altijd bij een zelfstandig

Nadere informatie

recursie Hoofdstuk 5 Studeeraanwijzingen De studielast van deze leereenheid bedraagt circa 6 uur. Terminologie

recursie Hoofdstuk 5 Studeeraanwijzingen De studielast van deze leereenheid bedraagt circa 6 uur. Terminologie Hoofdstuk 5 Recursion I N T R O D U C T I E Veel methoden die we op een datastructuur aan kunnen roepen, zullen op een recursieve wijze geïmplementeerd worden. Recursie is een techniek waarbij een vraagstuk

Nadere informatie

1

1 3a www.mevrouwzus.wordpress.com 1 1. pv= persoonsvorm 2. = zinsdeel 3. wwg = werkwoordelijk gezegde 4. nwg = naamwoordelijk gezegd 5. ond = onderwerp 6. lv = lijdend voorwerp 7. mv = meewerkend voorwerp

Nadere informatie

Inleveropdracht 1: Morfologie & Syntaxis

Inleveropdracht 1: Morfologie & Syntaxis Inleveropdracht 1: Morfologie & Syntaxis Inleiding Taalkunde 2013 Lever de uitwerking van deze opgaves op papier in tijdens college of in het cursuspostvak op Trans 10, kamer 0.16b (dat is de kamer direct

Nadere informatie

VBA voor Doe het Zelvers deel 20

VBA voor Doe het Zelvers deel 20 VBA voor Doe het Zelvers deel 20 Handleiding van Auteur: leofact Augustus 2015 handleiding: VBA voor Doe het Zelvers deel 20 Vorige aflevering In het vorige deel werd besproken hoe je de structuur en vensteropbouw

Nadere informatie

Opdracht 1 Topics on Parsing and Formal Languages - fall 2010

Opdracht 1 Topics on Parsing and Formal Languages - fall 2010 Opdracht 1 Topics on Parsing and Formal Languages - fall 2010 Rick van der Zwet 8 december 2010 Samenvatting Dit schrijven zal uitwerkingen van opgaven behandelen uit het boek [JS2009]

Nadere informatie

2 hv. 1

2 hv.  1 2 hv www.mevrouwzus.wordpress.com 1 1. pv= persoonsvorm 2. = zinsdeel 3. wwg = werkwoordelijk gezegde 4. nwg = naamwoordelijk gezegd 5. ond = onderwerp 6. lv = lijdend voorwerp 7. mv = meewerkend voorwerp

Nadere informatie

AI Kaleidoscoop. College 9: Natuurlijke taal. Natuurlijke taal: het probleem. Fases in de analyse van natuurlijke taal.

AI Kaleidoscoop. College 9: Natuurlijke taal. Natuurlijke taal: het probleem. Fases in de analyse van natuurlijke taal. AI Kaleidoscoop College 9: atuurlijke taal Het Probleem Grammatica s Transitie netwerken Leeswijzer: Hoofdstuk 14.0-14.3 AI9 1 atuurlijke taal: het probleem Communiceren met computers als met mensen, middels

Nadere informatie

Inhoud. 1 Spelling 5. Noordhoff Uitgevers bv

Inhoud. 1 Spelling 5. Noordhoff Uitgevers bv Inhoud 1 Spelling 5 1 geschiedenis van de nederlandse spelling in vogelvlucht 11 2 spellingregels 13 Klinkers en medeklinkers 13 Spelling van werkwoorden 14 D De stam van een werkwoord 14 D Tegenwoordige

Nadere informatie

Samenvatting Nederlands Redekundig ontleden

Samenvatting Nederlands Redekundig ontleden Samenvatting Nederlands Redekundig ontleden Samenvatting door Bernard 1165 woorden 29 januari 2015 6,8 14 keer beoordeeld Vak Nederlands Redekundig ontleden Allereerst, wat is redekundig ontleden? Redekundig

Nadere informatie

Woordsoorten. De woorden in een zin kunnen in een bepaalde groep worden ingedeeld. De woordsoort geeft aan tot welke groep een woord behoort.

Woordsoorten. De woorden in een zin kunnen in een bepaalde groep worden ingedeeld. De woordsoort geeft aan tot welke groep een woord behoort. Woordsoorten De woorden in een zin kunnen in een bepaalde groep worden ingedeeld. De woordsoort geeft aan tot welke groep een woord behoort. Woord Uitleg Voorbeeld Werkwoord Lidwoord Zelfstandig Bijvoeglijk

Nadere informatie

Woordsoorten. Nederlands. Aanwijzend voornaamwoord. Onderschikkend voegwoord. Persoonlijk voornaamwoord. Betrekkelijk voornaamwoord

Woordsoorten. Nederlands. Aanwijzend voornaamwoord. Onderschikkend voegwoord. Persoonlijk voornaamwoord. Betrekkelijk voornaamwoord Woordsoorten Nederlands Aanwijzend voornaamwoord Betrekkelijk voornaamwoord Bezittelijk voornaamwoord Bijvoeglijk gebruikt werkwoord Bijvoeglijk naamwoord Bijwoord Bijzin Hoofdzin Hulpwerkwoord Koppelwerkwoord

Nadere informatie

Tentamen in2505-ii Berekenbaarheidstheorie

Tentamen in2505-ii Berekenbaarheidstheorie TECHNISCHE UNIVERSITEIT DELFT Faculteit Elektrotechniek, Wiskunde en Informatica Tentamen in2505-ii Berekenbaarheidstheorie 16 juni 2008, 14.00 17.00 uur Dit tentamen bestaat uit 5 open vragen. Totaal

Nadere informatie

Onderdeel: Grammatica -- RKW Algemene informatie: Wat moet je kennen: Wat moet je kunnen: Toetsing:

Onderdeel: Grammatica -- RKW Algemene informatie: Wat moet je kennen: Wat moet je kunnen: Toetsing: PIT IG3 2017-2018 Trimester 2 Vak: Nederlands Onderdeel: Grammatica -- RKW Woordsoorten Week 13 t/m 24 Aantal lessen per week: 3 Nieuw Nederlands 5 e editie 1, 2 en 3 De leerling kent de onderstaande woordsoorten:

Nadere informatie

Inleiding Programmeren 2

Inleiding Programmeren 2 Inleiding Programmeren 2 Gertjan van Noord 11 december 2017 Zelle hoofdstuk 10 Stof Overzicht - theorie 1. Zelle hoofdstuk 4 en 5 2. Zelle hoofdstuk 7 en 8, recursie, Brookshear hoofdstuk 5 3. Zelle hoofdstuk

Nadere informatie

Natuurlijke-Taalverwerking I Shift-reduce Parsing

Natuurlijke-Taalverwerking I Shift-reduce Parsing Natuurlijke-Taalverwerkig I hift-reduce Parsig Gosse Bouma e Geert Kloosterma 2e semester 2005/2006, week 4 Meer da cotext-vrij, DCG s e liks-recursie, Bottom-up parsig, hift-reduce algoritme. Overzicht

Nadere informatie

Natuurlijke-Taalverwerking I Definite Clause Grammar 2

Natuurlijke-Taalverwerking I Definite Clause Grammar 2 Natuurlijke-Taalverwerking I Definite Clause Grammar 2 Gosse Bouma en Geert Kloosterman 2e semester 2005/2006, week 3 Hoofdzinnen en bijzinnen DCG s en append Betekenis Generatie Automatisch Vertalen Overzicht

Nadere informatie

2 Правописание Spelling 11 Hoofdletters en kleine letters 11 Klinkers na de sisklanken ж, ч, ш, щ / г, к, х / ц 12 Interpunctie 12

2 Правописание Spelling 11 Hoofdletters en kleine letters 11 Klinkers na de sisklanken ж, ч, ш, щ / г, к, х / ц 12 Interpunctie 12 Inhoudsopgave 1 Русский алфавит Het Russische alfabet 10 2 Правописание Spelling 11 Hoofdletters en kleine letters 11 Klinkers na de sisklanken ж, ч, ш, щ / г, к, х / ц 12 Interpunctie 12 3 Фонетика Fonetiek

Nadere informatie

Programma van Inhoud en Toetsing

Programma van Inhoud en Toetsing Onderdeel: leesvaardigheid Lesperiode: 1 Hoofdstuk: 1 + 2 Theorie blz. 7-8, 50 aantekeningen oefeningen uit het leerboek stappenplan lezen De leerling kent de termen onderwerp, deelonderwerp, hoofdgedachte,

Nadere informatie

Modelleren en Programmeren

Modelleren en Programmeren Modelleren en Programmeren Jeroen Bransen 27 november 2015 Recursie Objecten Constructors Aanpassen variabelen this keyword Recursie Recursie Recursieve functie roept zichzelf (direct of indirect) aan

Nadere informatie

Numerieke benadering van vierkantwortels

Numerieke benadering van vierkantwortels HP Prime Grafische Rekenmachine Numerieke benadering van vierkantwortels Doel: De waarde van een vierkantswortel met een recursieve rij benaderen, het schrijven van een klein programma. Sleutelwoorden:

Nadere informatie

1 Inleiding in Functioneel Programmeren

1 Inleiding in Functioneel Programmeren 1 Inleiding in Functioneel Programmeren door Elroy Jumpertz 1.1 Inleiding Aangezien Informatica een populaire minor is voor wiskundestudenten, leek het mij nuttig om een stukje te schrijven over een onderwerp

Nadere informatie

Natuurlijke-Taalverwerking I Definite Clause Grammar 2

Natuurlijke-Taalverwerking I Definite Clause Grammar 2 Natuurlijke-Taalverwerking I Definite Clause Grammar 2 Gosse Bouma en Geert Kloosterman 2e semester 2005/2006, week 3 Overzicht Hoofdzinnen en bijzinnen DCG s en append Betekenis Generatie Automatisch

Nadere informatie

instapkaarten taal verkennen

instapkaarten taal verkennen -b fl41..- 1 rair î ; : ; - / 0 t- t-, 9 S QURrz 71 1 t 5KM 1o r MALNBERG St 4) 4 instapkaarten ji - S 1,1 1 thema 5 1 les 2 S S S - -- t. Je leert hoe je van het hele werkwoord een voltooid deelwoord

Nadere informatie

Kennisrepresentatie & Redeneren. Piter Dykstra Instituut voor Informatica en Cognitie

Kennisrepresentatie & Redeneren. Piter Dykstra Instituut voor Informatica en Cognitie Kennisrepresentatie & Redeneren Piter Dykstra Instituut voor Informatica en Cognitie www.math.rug.nl/~piter piter@math.rug.nl 8 oktober 2007 GRAMMATICA S Kennisrepresentatie & Redeneren Week6: Grammatica

Nadere informatie

Disclaimer Het bestand dat voor u ligt, is nog in ontwikkeling. Op verzoek is deze versie digitaal gedeeld. Wij willen de lezer er dan ook op wijzen

Disclaimer Het bestand dat voor u ligt, is nog in ontwikkeling. Op verzoek is deze versie digitaal gedeeld. Wij willen de lezer er dan ook op wijzen Disclaimer Het bestand dat voor u ligt, is nog in ontwikkeling. Op verzoek is deze versie digitaal gedeeld. Wij willen de lezer er dan ook op wijzen dat er zowel typografische als inhoudelijke onvolkomenheden

Nadere informatie

6.3 VBA Syntax Instructie. Wij gaan de Visual Basic Editor opnieuw openen, om de instructie die wij zojuist getypt hebben, nader te bekijken.

6.3 VBA Syntax Instructie. Wij gaan de Visual Basic Editor opnieuw openen, om de instructie die wij zojuist getypt hebben, nader te bekijken. 6.3 VBA Syntax Wij gaan de Visual Basic Editor opnieuw openen, om de instructie die wij zojuist getypt hebben, nader te bekijken. Klik te tab Hulpmiddelen voor databases Klik in het groepsvak Macro op

Nadere informatie

Automaten en Berekenbaarheid

Automaten en Berekenbaarheid Automaten en Berekenbaarheid Bart Demoen KU Leuven 2016-2017 Les 8: 118-125 orakels en reducties met orakels Turing-berekenbare functies de bezige bever Orakelmachines I 2/14 we kennen al: een TM die een

Nadere informatie