Practica Computerlinguistiek Tekst en uitleg:

Slides:



Advertisements
Verwante presentaties
Inleiding in de statistiek voor de gedragswetenschappen Met ondersteuning van SPSS Guido Valkeneers.
Advertisements

PSD Basisstructuren programmeren.
PSD Basisstructuren programmeren.
Universiteit Leiden Inleiding programmeren in C++ Life Science & Technology 16 februari
Programmeren met Alice
Objecten en Volgordediagrammen
Hoofdstuk 8: Recursie.
Gestructureerd programmeren in C
Inhoud Kenmerken ODBC HTML & PHP Inlogfunctie. Inhoud Kenmerken ODBC HTML & PHP Inlogfunctie.
‘Inleiding programmeren in Java’ SWI cursus: ‘Inleiding programmeren in Java’ 4e college Woe 19 januari 2000 drs. F. de Vries.
VBA en VBS Een introductie.
Conditionele expressie
Computervaardigheden Hoofdstuk 4 — Scripting (Let op: dit is enkel voor studenten Biologie.)
Hoofdstuk 6: Controle structuren
Parallelle Algoritmen String matching. 1 Beter algoritme patroonanalyse Bottleneck in eenvoudig algoritme: WITNESS(j) (j = kandidaat in eerste i-blok)
Inleidend probleem Data structuur (hiërarchie van classes)
Numerieke Natuurkunde
Flow controle Keuzes maken. Het if-statement Soms moet code alleen in bepaalde situaties uit gevoerd worden Hiervoor heeft C de if-else constructie: if(voorwaarde1){
MICPRG Les 11 Microcontroller Programmeren in C. 112 Datastructuren in C Werkgeheugen (PC en microcontroller): Statische datastructuren (vaste grootte):
Hoofdstuk 16 en 19 PHP en MYSQL
Datastructuren Sorteren, zoeken en tijdsanalyse
Haiku-Generator Les 1 – 12/02/2003 Jan De Bock.
Chris Pollentier 18 / 12 / 2002 De LOGO taalwereld.
PHP & MYSQL LES 02 PHP & FORMULIEREN. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.
PHP & MYSQL LES 01 PHP BASICS. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.
Inleiding Informatica Prof. Dr. O. De Troyer Hoofdstuk 3: Werken met numerieke gegevens.
Inleiding tot programmeren
Inleiding in de statistiek voor de gedragswetenschappen
Variabelen en berekeningen
CONTROLESTRUCTUREN (DEEL 1)
Tircms03-p les 2 Hfdst 3,4 Meer operatoren Functies.
Hoofdstuk 3 - Conditionele logica
Tircms02-p les 2 Meer operatoren Arrays en pointers Types en conversie.
tircms02-p les 1 Operating Systems practicum
AWK A Pattern scanning and processing language made by Aho Weinberger Kernighan and explained by Albert Montijn.
Bewerkingen met Strings
Torens van Hanoi ● Uitgevonden door Franse Wiskundige Edouard Lucas in ● Beschreven in zijn wiskundig “spelletjesboek” Récréations Mathématiques.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag Een embedded systeem: ARM bord.
Intermezzo: Werken met meetresultaten
1 PI1 week 9 Complexiteit Sorteren Zoeken. 2 Complexiteit van algoritmen Hoeveel werk kost het uitvoeren van een algoritme (efficiëntie)? –tel het aantal.
Docentinstructie: Het is aan te bevelen de eerste dia’s klassikaal te tonen en met uitleg te bespreken. Als na zes dia’s een korte demo van Celsius/Fahrenheit.
Hoorcollege 1: efficiëntie en complexiteitsontwikkeling.
Codetuts Academy Les 6 Module 2a Php Fundamentals 1.
Les 3 - Operators Workshop Php Basic. ICT Academy Php Basic Content Operators Wiskundig Toewijzing Vergelijking.
Codetuts Academy Les 2 Module 2a Php Fundamentals 1.
Inhoud Breuken (optellen, aftrekken, vermenigvuldigen en delen).
GUI & classes Een Gui in een class steken en het object gebruiken.
IF() ELSE() LES 4: VOORWAARDEN. BOOL Een variabele die slechts 2 mogelijke waarden kan hebben: true(waar) of false(niet waar) duid je aan met bool bool.
Robby de Robot. Javascript Tot nu toe gebruikt: – document.write(" Hello World "); – alert("tekst") – Toon een waarschuwingsvenster – prompt("tekst",
Kennismaking met programmeren
Programmeren met Reeksen
Gameprogrammeren: Keuzeopdrachten
Gameprogrammeren: Char en String
Gameprogrammeren: Expressies
Tinpro015b-les 1 C++ voor C-kenners Voor Technische Informatica.
Gameprogrammeren: Herhalingen
Tinpro015b-les3 Hfdst 3,4 Meer operatoren Functies.
Arjan Egges & Paul Bergervoet
Programmeren woensdag 4 oktober 2017.
Opdrachten herhalen public void tekenScherm (object o, PEA pea)
Programmeren in de Klas
Small Basic Console deel 2
Small Basic Console deel 2
SQL Les February 2019.
Nim, een strategisch spelletje
Software Development fundamentals
Software Development fundamentals
Gameprogrammeren: Arrays
Python – For loop + strings
Transcript van de presentatie:

Practica Computerlinguistiek Tekst en uitleg:

Inhoud " Inleiding tot Perl: – scalaire data – in- en uitvoer – array- en lijstdata – controlestructuren – oefeningen

Inhoud (2) " Reguliere expressies – reguliere expressies in Linux: grep – reguliere expressies in Perl " Morfologische analyse m.b.v. Perl – conversie van regels in tekstvorm naar formele regels – implementatie in Perl

Inleiding tot Perl " Scalaire Data – variabelen – strings – getallen – operatoren " In- en Uitvoer – invoer van de gebruiker – een file als invoer – uitvoer naar het scherm – uitvoer naar een file

Inleiding tot Perl (2) " Array- en lijstdata – toekenning – elementtoegang – push, pop, shift en unshift " Controlestructuren – If, else, elsif en unless – While en until – For en foreach

Scalaire Data " Een scalaire waarde is ofwel een getal ofwel een reeks karakters (string) " VARIABLEN: een naam voor een object dat 1 of meer waarden bevat. De naam blijft constant over het programma. De waarde kan veranderen.  In Perl krijgen scalaire variabelen een naam beginnend met '$' gevolgd door een letter. Daarna kunnen nog letters, cijfers of underscores volgen (_). Vb: $xyz123, $lijn_lengte " STRINGS: opeenvolgingen van karakters. De kortste string bevat geen karakters. De langste string is afhankelijk van het geheugen van de computer.

Perl opstarten " tik het programma in eender welke editor (in de practica gebruiken we emacs) " save het als programmanaam.pl " start het programma aan de commandline met: perl programmanaam.pl

Scalaire Data (2) " Strings met enkele aanhalingstekens: elk karakter tussen de aanhalingstekens behoort letterlijk tot deze string. " Strings met dubbele aanhalingstekens: naast gewone letters zijn er ook een aantal controlekarakters (\n, \t). Deze kunnen tussen de dubbele aanhalingstekens opgenomen worden. Een ander kenmerk: variabele interpolatie: als variabelenamen gebruikt worden in de string, dan worden deze vervangen door de waarde van die variabelen. " GETALLEN: Perl maakt geen onderscheid tussen natuurlijke getallen, reële getallen en getallen in exponentiële notatie. " OPERATOREN: produceert een nieuwe waarde ahv een of meer andere waarden. Vb: =, +, -, *, /, **, concatenatie

In- en Uitvoer " Invoer van de gebruiker: $a= – Gebruikersinvoer eindigt op \n. Aangezien we meestal niet geinteresseerd zijn in deze \n: chop($a) verwijdert laatste karakter van string " Een File als invoer: – toekennnen van FILEHANDLE: open(FILEHANDLE,$inputfile); – lezen van de invoer: $a= – sluiten van de invoerfile: close(FILEHANDLE)

In- en Uitvoer (2) " Uitvoer naar het scherm: print $a, print "hallo", print "$a\n"; " Uitvoer naar een file: – filehandle toekennen: open(OUTPUT,">$filenaam"); – print OUTPUT $a, print OUTPUT "hallo" – sluiten van file: close (OUTPUT);

Array- en Lijstdata " Een array is een geordende lijst van scalaire data. Elk element van de array is een aparte scalaire waarde. Deze elementen hebben een specifieke volgorde. " De kleinste array bevat geen elementen. De grootste array is afhankelijk van het computergeheugen " Een array-naam lijkt op de naam van een scalaire variabele, met dit verschil: het initiële karakter is ipv een $ " ELEMENTTOEGANG: elk arrayelement heeft een index. Het eerste element heeft index=0, het tweede index=1 enz. – $lijst[0] is het eerste element van de ($ wordt gebruikt omdat het om een scalaire waarde gaat)

Array- en Lijstdata (2) " PUSH: als we een element aan de rechterkant van de lijst willen toevoegen: " POP: als we het laatste element uit de array willen verwijderen: " UNSHIFT: als we een element aan de linkerkant van de lijst willen toevoegen: " SHIFT: als we het eerste element uit de array willen verwijderen:

Controlestructuren " If, else, elsif en unless – bij het gebruik van if wordt een voorwaarde geëvalueerd – als deze voorwaarde waar is wordt uitgevoerd wat in het volgende blok staat if ($a == 1) {doe dit als $a = 1;} else {doe dit als vwde niet waar is;} – elsif wordt gebruikt om meer vwden achter elkaar te schakelen – unless is omgekeerde van if.

Controlestructuren (2) " Vergelijkende operatoren – bij het stellen van de vwden worden operatoren gebruikt – gelijk aan : == bij getallen, eq bij strings – niet gelijk aan: != bij getallen, ne bij strings – kleiner dan: < bij getallen, lt bij strings – groter dan: > bij getallen, gt bij strings – kleiner of gelijk aan: <= bij getallen, le bij strings – groter of gelijk aan: >= bij getallen, ge bij strings

Controlestructuren (3) " Logische operatoren – vwden kunnen gecombineerd worden dmv 'en' en 'of' – 'en' : && – 'of' : || if (($a == 1) && ($naam eq 'Jan')) { blok1;} else { blok2;}

Controlestructuren (4) " While en until – herhalingsmechanisme zolang of totdat aan de vwden voldaan is. while ($a < 10) { doe_dit; $a++; } – until herhaalt het blok totdat aan de vwden voldaan is (cf. unless vs. if)

Controlestructuren (5) " for – for voert een lus uit met behulp van een teller – deze teller wordt eerst geinitialiseerd, lus wordt uitgevoerd totdat aan een vwde voldaan is, en er wordt iets met de teller gedaan for ($i=0;$i<10;$i++) { doe_dit; }

Controlestructuren (6) " foreach – doet iets met elk element van een array foreach $element { doe_dit; }