KLAUSUR ZUM BACHELORMODUL EINFÜHRUNG IN DIE PROGRAMMIERUNG WS 2013/14, DR. MAXIMILIAN HADERSBECK KLAUSUR AM

Ähnliche Dokumente
KLAUSUR ZUM BACHELORMODUL,,EINFÜHRUNG IN DIE PROGRAMMIERUNG WS 2011/12, DR. MAXIMILIAN HADERSBECK KLAUSUR AM

Musterlösung Klausur 13/

KLAUSUR ZUM BACHELORMODUL EINFÜHRUNG IN DIE PROGRAMMIERUNG WS 2016/17, DR. MAXIMILIAN HADERSBECK KLAUSUR AM

KLAUSUR ZUM BACHELORMODUL EINFÜHRUNG IN DIE PROGRAMMIERUNG WS 2015/16, DR. MAXIMILIAN HADERSBECK KLAUSUR AM

Musterlösung Klausur 11/ Fragen zu utf-8: 1.1. Welche zwei Methoden gibt es, um STDIN und STDOUT auf utf-8 zu setzen.

MODULTEILPRÜFUNG ZUR VORLESUNG,,KORPUSBEARBEITUNG IN DER COMPUTERLINGUISTIK SS 2014 DR. MAXIMILIAN HADERSBECK

EiP Übung

EiP Übung

Praktische Übung. Die Lernplattformen ILIAS ist mit Stud.IP verbunden, sodass Sie Lernmodule dieser Plattform

KLAUSUR ZUM BACHELORMODUL PROBEKLAUSUR VORLESUNG COMPUTERLINGUISTISCHE ANWENDUNGEN PROBEKLAUSUR, DR. BENJAMIN ROTH KLAUSUR AM

KLAUSUR ZUM BACHELORMODUL PROBEKLAUSUR COMPUTERLINGUISTISCHE ANWENDUNGEN PROBEKLAUSUR, DR. BENJAMIN ROTH KLAUSUR AM

ÜBUNG 6 ZUR EINFÜHRUNG IN DIE PROGRAMMIERUNG FÜR COMPUTERLINGUISTEN. Leonie Weißweiler

Übersicht PERL. !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!!

EiP Übung

EiP Übung

KLAUSUR ZUM BACHELORMODUL PROBEKLAUSUR ÜBUNG COMPUTERLINGUISTISCHE ANWENDUNGEN PROBEKLAUSUR, DR. BENJAMIN ROTH KLAUSUR AM

EiP Übung

KLAUSUR ZUM BACHELORMODUL PROBEKLAUSUR ÜBUNG COMPUTERLINGUISTISCHE ANWENDUNGEN PROBEKLAUSUR, DR. BENJAMIN ROTH KLAUSUR AM

4 Schleifen und Dateien

Probeklausur Name: (c)

EiP Übung Sichern Sie im Verzeichnis aufg3 den Inhalt des Artikels im Wochenmagazin "der Freitag" über google in der Datei artikel.

hue04 November 18, 2016

ZWEITE ÜBUNG ZUR EINFÜHRUNG IN DIE PROGRAMMIERUNG FÜR COMPUTERLINGUISTEN LEONIE WEIßWEILER

Übersicht Shell-Scripten

Shell. Oder Konsole suchen im Application Finder. Auch Terminal, Bash oder Kommandozeile genannt. Bash nimmt Befehle entgegen und führt diese aus

EiP Übung

UNIX/Linux Lösung. Mär 14, 17 20:40 Seite 1/6. Prozeßsynchronisation (was ist das?, wo kommt es vor?, Beispiel?):

Viel Erfolg bei der Bearbeitung der Aufgaben!

Einführung in die Computerlinguistik

Einführung in die Programmierung für Computerlinguisten

1 Berechnung von Summen (ca = 10 Punkte)

Einführung in Perl O'REILLY" 2. Auflage. Randal L. Schwartz & Tom Christiansen. Deutsche Übersetzung von Matthias Kalle Dalheimer

Klausur: Informatik I am 06. Februar 2009 Gruppe: D Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:

Vordiplom Wirtschaftswissenschaften Allgemeine Informatik I WS 2001/ April 2002

SIEBTE ÜBUNG ZUR EINFÜHRUNG IN DIE PROGRAMMIERUNG FÜR COMPUTERLINGUISTEN. Leonie Weißweiler

Perl-Workshop, Teil II

9 Block 9: Von der Idee zum Programm: Restrict.pl

Perl Programmierung Grundlagen

Übung zur Vorlesung EidP (WS 2018/19) Blatt 4

EiP Übung

FÜNFTE ÜBUNG ZUR EINFÜHRUNG IN DIE PROGRAMMIERUNG FÜR COMPUTERLINGUISTEN. Leonie Weißweiler

Unix/Linux Grundlagen für Einsteiger

Eine Beschreibung des Programms und der dahinter stehenden Philosophie.

Musterlösung

Klausur: Informatik I am 06. Februar 2009 Gruppe: D Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:

Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme

Klausur: Grundlagen der Informatik I, am 06. Februar 2009 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:

Computer & GNU/Linux Einführung Teil 4

hue05 November 25, 2016

Grundlagen der Programmierung

hue12 January 24, 2017

Übungszettel 2a - Python

UNIX/Linux Lösung. Mär 18, 18 15:34 Seite 1/6

6 UTF8 und Stringverarbeitung

13 Reguläre Ausdrücke

Systemverwaltung mittels Skripts

Kommandozeileneingabe. Einführung in Perl Kommandozeileneingabe etc. Kommandozeileneingabe Optionen. Kommandozeileneingabe Bsp (1)

Klausur zu Grundlagen der Informatik / Allgemeine Informatik I 2. März 2006 (WS 2005/2006) Prof. Dr. Franz Schweiggert / Norbert Heidenbluth

10 Block 10: Verwendung von Modulen in Perl

Probeklausur Informatik 2 Sommersemester 2013

Linux-Einführung Übung

Tag 2 Repetitorium Informatik (Java)

Allgemeines. Shell Programmierung Unix. Kommentar. Vorgangsweise. Mag. Thomas Griesmayer

Vorlesung Objektorientierte Programmierung Klausur

REXX. Was ist REXX. Scriptsprache für viele Plattformen Erste Schritte F. Hodel os2.a-net.ch

Arbeiten mit der Shell Teil 2

Arbeiten mit der Shell Teil 2

Arithmetik in der tcsh

Arbeiten mit der Shell Teil 2

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)

Perl-Praxis. Dateien und Daten. Jörn Clausen

Programmiertechnik 1 FOR-SCHLEIFEN

Stephan Mechler, AUFGABE 1

Hochschule Für Angewandte Wissenschaften FH München Sommersemester Thomas Kolarz. Folie 1.

Einführung in Perl. O'REILLY Beijing Cambridge Farnham Köln Sebastopol Taipei Tokyo. Randal L. Schwartz, Tom Phoenix & brian dfoy

Okt 10, 16 17:29 UNIX/Linux Lösung

Dateisystem 1, Suchen & Finden

Unterschiede in Dateien mit diff

GI Vektoren

Öffnen einer Datei. Programm mit einer Fehlermeldung beendet. open( IN, "datei.txt" ) or die( "open-fail: $!" );

Info 1 Aufgabensammlung 2003 by Andreas Scholz

UNIX/Linux Lösung. Mär 08, 16 16:11 Seite 1/6

Programmierstarthilfe SS 2010 Fakultät für Ingenieurwissenschaften und Informatik 6. Blatt Für die Woche vom bis zum 4.6.

Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme

WS2018/ Oktober 2018

Bash-Skripting Linux-Kurs der Unix-AG

Verwenden Sie für jede Aufgabe die C++ IDE von Eclipse (pro Aufgabe ein Projekt).

Ihr Heimatverzeichnis. Die Ausgangsverzeichnisse für die neu zu erstellenden Verzeichnisse sind folgender Tabelle zu entnehmen:

Ein- und Ausgabeumlenkung

Der Rumpf. Titel Seite 3

1. Teilklausur. Name:... Vorname:... Matrikel-Nummer:...

Klausur: Grundlagen der Informatik I, am 06. Februar 2009 Gruppe: A Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

Programmieren I + II Regeln der Code-Formatierung

Aufruf des Compilers in der Kommandozeile und Ausführung des Programms:

8. Arbeiten mit Dateien

Sep 25, 18 8:36 UNIX/Linux Lösung

Transkript:

KLAUSUR ZUM BACHELORMODUL EINFÜHRUNG IN DIE PROGRAMMIERUNG WS 2013/14, DR. MAXIMILIAN HADERSBECK KLAUSUR AM 03.02.2014 VOR NACH MATRIKELNUMMER: STUDIENGANG: B.Sc. Computerlinguistik, B.Sc. Informatik, Magister Bitte unterstreichen Sie den für Sie zutreffenden Studiengang! Die Klausur besteht aus 15 Aufgaben. Die Punktzahl ist bei jeder Aufgabe angegeben. Die Bearbeitungsdauer beträgt 90 Minuten. Bitte überprüfen Sie, ob Sie ein vollständiges Exemplar erhalten haben. Tragen Sie die Lösungen in den dafür vorgesehenen Raum im Anschluss an jede Aufgabe ein. Falls der Platz für Ihre Lösung nicht ausreicht, benutzen Sie bitte nur die ausgeteilten Zusatzblätter! Aufgabe mögliche Punkte erreichte Punkte 1. Ein-/Ausgabe 3 2. UNICODE I: Properties 9 3. UNICODE II: Codierung 2 4. Zahlenkonvertierung 2 5. Subsitute Befehl 9 6. Reguläre Ausdrücke 11 7. Subroutine I 9 8. Subroutine II 7 9. Rekursion 8 10. Frequenzliste 20 11. Allgemeine Befehle 5 12. Zeichensaetze 3 13. UNIX Internet Copy 5 14. Ein- und Ausgabeumleitung 2 15. Frequenzliste 5 Summe 100 Note Einwilligungserklärung Hiermit stimme ich einer Veröffentlichung meines Klausurergebnisses in der Vorlesung vom 03.02.2014 unter Verwendung meiner Matrikelnummer im Internet zu. Datum: Unterschrift:

1 Fragen zu utf-8 Aufgabe 1 Ein-/Ausgabe 1. Was bedeutet die Anweisung use utf8; in einem PERL Programm? (1 Punkt) 2. Was bedeutet die Anweisung use strict; in einem PERL Programm? (1 Punkt) 3. Wie lautet das open Statement in PERL zum Öffnen der utf-8 Datei sz.txt zum Schreiben? (1 Punkt) 3 PUNKTE 2 UNICODE und Codierung Aufgabe 2 UNICODE I: Properties Was geben die folgenden PERL Fragmente 2.1),2.2) und 2.3) aus, wenn die Zeilen der folgenden Liste mit den regulären Ausdrücken getestet werden. my @lines = ("mir geht es gut?", "Die 1. Klausur im Februar 2014", "ist sehr lange."); foreach my $line (@lines).... hier die Fragmente einsetzen 2.1 Fragement: while ($line =~ /(\P{Ll)(.{3,)\s/g) { print " $1 $2 \n"; Ausgabe: 2.2 Fragement: if ($line =~ /(\p{l.*(\p{p)/) { print " $1 gefolgt von $2 \n"; Seite 2 von 10

Ausgabe: 2.3 Fragement: if ($line =~ /\s([^.]+?)\s(.*)$/) { print " $1 $2\n"; Ausgabe: Aufgabe 3 UNICODE II: Codierung In wievielen nachfolgenden Bytes wird das Wort Öl, bestehend aus den 2 Buchstaben Ö und l in einer Datei gespeichert, wenn die Datei im Format 1) ISO-Latin und im Format 2) utf-8 gespeichert ist. Geben Sie Anzahl der Bytes bei 1) und 2) an: 9 PUNKTE 1. Anzahl der Bytes bei ISO-Latin : (1 Punkt) 2. Anzahl der Bytes bei UTF-8 : (1 Punkt) Aufgabe 4 Zahlenkonvertierung Geben Sie die fehlenden Zahlendarstellungen in den entsprechenden Codierung an. 2 PUNKTE 1. Dezimalzahl: 11 Binär: Oktal: Hexadezimal (1 Punkt) 2. Hexadezimal: AF Binär: Oktal: Dezimalzahl (1 Punkt) 2 PUNKTE Seite 3 von 10

3 Reguläre Ausdrücke Was wird bei folgenden substitute Befehlen ausgegeben? Begründen Sie kurz warum? Aufgabe 5 Substitute Befehl: 1. $string="sie findet in der Siemensküche sieben Siegel im Teesieb" $string=~s/sie.+sie/xxx/; print "$string; 2. $string="sie findet in der Siemensküche sieben Siegel im Teesieb" $string=~s/sie.+?sie/xxx/ig; print $string; 3. $string=""tiger haben gestreifte Haut, nicht nur gestreiftes Fell."" $string=~ s/gestreift(\p{l*)/schön$1/; print $string; Aufgabe 6 Reguläre Ausdrücke Sie arbeiten mit Wörtern aus einem deutschen Text, die in der Liste @woerter gespeichert sind. Wie lauten die regulären Ausdrücke (verwenden ausschliesslich(!) UNICODE Properties), die folgende Wörter in der Liste @woerter finden (geben Sie nur den regulären Ausdruck an!). 9 PUNKTE 1. findet alle Wörter, die mit 2 Vokalen anfangen. (1 Punkt) 2. findet alle Wörter, die mit einem Kleinbuchstaben beginnen und mit einem Punktuationszeichen enden. (2 Punkte) 3. findet alle Wörter, die mit einem Großbuchstaben, mit heit enden und maximal 10 Buchstaben lang sind. (2 Punkte) 4. findet alle Zahlen (auch Kommazahlen und Zahlen mit Tausendertrennzeichen, also z.b. 2,99 oder 12.800). (2 Punkte) 5. findet alle Wörter die genau eine Zahl enthalten. (1 Punkt) 6. findet alle Wörter mit Buchstaben die alphabetisch zwischen "a" "m" liegen. (1 Punkt) 7. findet alle Wörter, die mit einem Konsonanten (Tipp: einem Nichtvokal also) anfangen und höchstens 8 Buchstaben lang sind (2 Punkte) 11 PUNKTE Seite 4 von 10

4 Kleine Programme und Subroutinen Aufgabe 7 Subroutine I Schreiben Sie eine Subroutine sub anagramm($) die eine Zeichenkette als Skalar als Argument bekommt und den Wert 1 zurückgibt, wenn die Zeichenkette ein Anagramm ist, ansonsten den Wert 0. (Sie dürfen die Systemroutine rewind nicht verwenden.) z.b. $ja=&anagramm("anna") gibt den Wert 1 zurück. Aufgabe 8 Subroutine II Schreiben Sie eine Subroutine sub mittelwert($@), die mit zwei Argumenten aufgerufen wird. Im ersten Argument ist gespeichert, wie viele Elemente in der Liste sind. Die Liste wird als zweites Element übergeben. Die Subroutine soll den Mittelwert aller Werte aus der übergebenen Liste berechnen und zurückliefern. z.b. $erg=&mittelwert(3,(2,4,6)) berechnet den Wert 4 im Skalar $erg 9 PUNKTE Seite 5 von 10

Aufgabe 9 Rekursion 7 PUNKTE!/usr/bin/perl use strict; { my (@werte) = (1,34,6,4,9); my $result = &werbinich(@werte); print "Result= $result \n"; sub werbinich (@) { my @liste = @_; if (scalar(@liste) == 0) { return 0; else { shift(@liste); return 2 + &werbinich(@liste); 1. Welchen Wert gibt das Programm aus? (2 Punkte) 2. Was ist das Ergebnis bei der Liste my (@werte) = (1,34,6);? (1 Punkt) 3. Was ist das Ergebnis, bzw. was passiert, wenn in der Subroutine anstatt shift(@liste) die Anweisung pop(@liste) steht? (2 Punkte) 4. Was ist das Ergebnis, bzw. was passiert, wenn in der Subroutine anstatt shift(@liste) die Anweisung push(@liste,1) steht? (2 Punkte) 8 PUNKTE 5 PERL-Programm: Erstellen einer Frequenzliste Aufgabe 10 Es werden die vier häufigsten Wörter in einer Datei gesucht, die mindestens 4 Buchstaben lang sind. Von einer utf-8 Datei sz.txt, in der deutscher Text gespeichert ist, sollen die 4 häufigsten Wörter ausgeben werden, die mindestens 4 Buchstaben lang sind. Die Datei ist zu öffnen, soll zeilenweise gelesen, die Anzahl der gesuchten Wörter gezählt werden und in einen HASH eingetragen werden. Der HASH soll nach der Häufigkeit der Wörter sortiert werden und die sortierten Keys in einer Liste gespeichert werden. Aus dieser Liste sollen die 4 häufigsten Wörter auf dem Terminal ausgegeben werden und in der Datei viele.txt gespeichert werden. Seite 6 von 10

Es soll die Anzahl aller gesuchten Wörter ausgeben werden. Tragen Sie in den freigelassenen Raum auf der linken Seite, die den Anweisungen auf der rechten Seite entsprechenden PERL-Programmzeilen ein. Startzeile eines PERL-Programms 20 PUNKTE PERL soll sich streng verhalten Codierungseigenschaften einstellen Nationalität einstellen Programmanfang Variablendeklaration (füllen Sie diese Zeilen erst aus, wenn Sie wissen, welche Variablen benötigt werden) Öffnen der utf8 Datei sz.txt zum Lesen Öffnen der utf8 Datei viele.txt zum Schreiben Zeilenweise einlesen nach $line mit while Zerteilen Sie line an Zeichen, die keine Buchstaben sind (verwenden sie UNICODE Properties) und speichern Sie das Ergebnis in der Liste woerter) Durchlaufen der Liste, zählen Sie die gesuchten Wörter mit maximal 4 Buchstaben in speichern Sie sie HASH freq while-schleife zu Ende Speichern Sie alle Wörter, die in freq vorkommen, nach Häufigkeit sortiert, in sortierte_woerter Geben Sie am Terminal aus, wieviele gesuchten Wörter im Text vorkommen Geben Sie die fünf häufigsten Wörter auf dem Terminal aus und speichern Sie sie in der Ausgabedatei important.txt. nach dem Muster (z.b.): 1002 = der 1000 = die... Schliessen Sie geöffneten Dateihandles Programmende Seite 7 von 10

6 UNIX Aufgabe 11 Allgemeine Befehle Ordnen Sie die Befehle: "du", "ps", "ls", "top", "ip", "kill", "netstat", "ifconfig", "renice", "chmod" den Aufgabenbereichen zu 1. Prozessverwaltung: 2. Netzwerkeigenschaften/Netzwerkverwaltung: 3. Dateianzeige/Dateieigenschaften: Aufgabe 12 Zeichensätze Was ist hier passiert? Statt "abc äöü" wird "abc à à ü" angezeigt. Erklären Sie die Ursache und mögliche Abhilfe! 5 PUNKTE Aufgabe 13 Internet Copy Gegeben ist ein entfernter Server mit folgenden Daten: -die IP-Adresse: 2001:db8::1 -der Loginname: chef -das Passwort: dckskpm!3 -der Dateiname und Pfad: /projekt/wichtig.zip -der Hostname ist nicht bekannt Kopieren Sie die angegebene Datei auf Ihren Rechner in Ihr aktuelles Verzeichnis mit Hilfe des Befehls "scp"! Hinweis: IPv6-Adressen sind in vielen Fällen, so auch bei der Verwendung mit scp in eckige Klammern [] zu setzen. Wie lautet der Befehl? 3 PUNKTE Welche Angabe wird interaktiv abgefragt? (4 Punkte) (1 Punkt) Aufgabe 14 Ein- und Ausgabeumleitung Sie haben eine Datei namens "dump.sql" erhalten. Diese soll via "stdin" dem Programm "mysql" übergeben werden. Welcher der drei folgenden Aufrufe ist falsch? 5 PUNKTE Seite 8 von 10

1. mysql < dump.sql 2. cat dump.sql mysql 3. cat dump.sql > mysql Was passiert bei dem falschen Aufruf? 2 PUNKTE Aufgabe 15 Frequenzliste Sie haben einfachen Text (Kodierung utf8) als komprimierte Datei erhalten: text.txt.gz Packen Sie diese Datei aus! (1 Punkt) Erstellen Sie eine Datei "frequenzliste.txt" (Eine Liste mit zwei Spalten Anzahl und Wort, nach Anzahl sortiert) mit Hilfe der Linux-Befehle: cat, sort, tr und uniq unter Anwendung von Pipes in einer Befehlszeile. (4 Punkte) 5 PUNKTE Seite 9 von 10

es folgt ein Schmierblatt... Bitte entfernen Seite 10 von 10