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

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

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

Musterlösung Klausur 13/

EiP Übung

Einführung in die Programmierung für Computerlinguisten

EiP Übung

EiP Übung

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

Linux-Einführung Übung

13 Reguläre Ausdrücke

Einführung in die Computerlinguistik

Praktikum zur Vorlesung Einführung in die Programmierung WS 14/15 Blatt 3

Computer & GNU/Linux Einführung Teil 4

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

4 Schleifen und Dateien

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

Unix/Linux Grundlagen für Einsteiger

Vorsemesterkurs Informatik Übungsaufgaben. Tag 4a - Python

EiP Übung

Zwischenklausur Informatik, WS 2016/17. Lösungen zu den Aufgaben

Zugriff auf die swhv-mitgliederverwaltung

EiP Übung

EiP Übung

Pipes. 1 Prozessverwaltung. 2 Pipes. 3 Rechteverwaltung. 4 Secure Shell Fernsteuern anderer Rechner. 5 Kommandos, Kommandos, Kommandos,...

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

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

Softwaretechnik Teil Webprogrammierung (HTML, PHP) SS2011

Python Einführung. Monica Selva Soto. 24 März Mathematisches Institut

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

COBOL Grundlagen. Übungen zur Schulung

Vorsemesterkurs Informatik Sommersemester Aufgabenblatt Nr. 4A

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

INFORMATIK FÜR BIOLOGEN

1 Bizz Buzz Woof (ca =18 Punkte) def read file(file_in): fp = open(file_in, r ) l = fp.read() fp.close() return l

Arbeiten mit der Shell Teil 2

GI Vektoren

Der Rumpf. Titel Seite 3

Arbeiten mit der Shell Teil 2

C-Probeklausur (Informatik 1; Umfang: C, Teil 1; SS07)

Basiskonzepte des Rechnerbetriebs

Kurs 1613 Einführung in die imperative Programmierung

Strings. Daten aus Dateien einlesen und in Dateien speichern.

Übungen zur Vorlesung EidP (WS 2015/16) Blatt 6

Statistische Software (R)

Übungsblatt 2. Abgabe: Freitag, 7. November 2014, 18:00 Uhr

Einführung in Python Übung 1

pue02 October 28, 2016

Computational Engineering I

Variablen in MATLAB. Unterschiede zur Mathematik: Symbolisches und numerisches Rechnen. Skriptdateien. for-schleifen.

Allgemeine Hinweise: TECHNISCHE UNIVERSITÄT MÜNCHEN. Name Vorname Studiengang Matrikelnummer. Hörsaal Reihe Sitzplatz Unterschrift

Abgabe: (vor 12 Uhr)

Übungsblatt 1: Zur Benutzung von Computern im CIP-Pool der Informatik

Informatik I: Einführung in die Programmierung. Übungsblatt 3. Abgabe: Freitag, 15. November 2013, 18:00 Uhr

Übungsklausur Programmieren / Algorithmen und Datenstrukturen 2

Eine JAVA Einführung ... Quellcode:... COMA Übung 3. T.Bosse. A.Griewank. Vorschau JAVA Programme Sprachen Kate

Ü 425 Wenn. Aufgabe. Wenn-Bedingung. Benötigte Datei: Übungsmappe.xls. Lernen Sie eine einfache Wenn-Bedingung kennen.

EiP Übung

Datenstrukturen und Algorithmen 2. Klausur SS 2001

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

Übungspaket 12 Der Datentyp char

Einführung in die Angewandte Bioinformatik

Python 3.6. Erste Schritte auf dem Mac. Syshack. 22. Juni 2017 Version 2.0. Python Erste Schritte auf dem Mac Syshack, 22.

Programmierkurs Java

L A TEX, Linux, Python

1.) Zahlensysteme (10 Punkte)

Programmieren in C (Übungsblatt 1)

Klausur "C#" WS 2012/2013

Im Windows Betriebssystem sind Dateien eindeutig gekennzeichnet durch ihren Pfad, Dateinamen und nach einem Punkt die Dateierweiterung.

Hochschule Darmstadt Informatik-Praktikum WS 2017/2018 WIng Bachelor 6. Aufgabenblatt Zeiger, verkettete Liste, Dateieingabe und -ausgabe

Einheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen

Programmieren in C (Übungsblatt 1)

Studentische Lösung zum Übungsblatt Nr. 7

Programmieren lernen mit Groovy Strings, GStrings, Textverarbeitung

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

Programmieren mit dem Java-Hamster-Modell. VP Orientierung Informatik WS 2008/09 H.Hagenauer

4. Übungsblatt zu Mathematik für Informatiker I, WS 2003/04

Allgemeine Informatik 1 im WS 2006/07 Übungsblatt 1 (Teil 2)

Benutzer- und Rechtevergabe

Arbeiten mit der Shell Teil 1

Klausur C-Programmierung / / Klingebiel / 60 Minuten / 60 Punkte

Klausur in Programmieren

Computer & GNU/Linux Einführung Teil 2

Kapitel 1 Pythons Sicht der Dinge

Probe-Klausur im Modul: Grundlagen der Informatik (GDI)

Lesen Sie alle Aufgabenstellungen sorgfältig durch, bevor Sie mit der Bearbeitung der ersten Aufgabe beginnen.

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

"Organisation und Technologie von Rechensystemen 4"

EH2000 Ablauf am Morgen

Programmierkurs Python I

Wirtschaftsinformatik I (Bachelor) SS 07 Prof. Gomber. Python

Institut für Programmierung und Reaktive Systeme 20. November Programmieren I. 4. Übungsblatt

FOM Essen / FH Bochum Fachbereich {Mechatronik und Maschinenbau. Prof. Dr. M. Eikelberg SS 2009

Mit PuTTY und WinSCP an der Pi

Informatik für Schüler, Foliensatz 18 Rekursion

Bearbeitungszeit: 90 min. ... Matrikel-Nr. 1 (11) 2 (24) 3 (24) 4 (10) 5 (21) Punkte: Prüfer Note

FOM Essen / FH Bochum Fachbereich {Mechatronik und Maschinenbau. Prof. Dr. M. Eikelberg SS 2006

Wann benötigen Sie eine neue Lizenz-Datei mit der Endung.pkg?

6 Ein- und Ausgabe. Bisher war unsere (Bildschirm-) Ausgabe leichtflüchtig (

Transkript:

KLAUSUR ZUM BACHELORMODUL EINFÜHRUNG IN DIE PROGRAMMIERUNG WS 2016/17, DR. MAXIMILIAN HADERSBECK KLAUSUR AM 6.2.2017 VOR NACH MATRIKELNUMMER: STUDIENGANG: B.Sc. Computerlinguistik, B.Sc. Informatik, Magister Bitte unterstreichen Sie den für Sie zutreffenden Studiengang! Die Klausur besteht aus 11 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. Zahlenkonvertierung 2 2. Kleines Programm mit Schleife 6 3. Kleines Programm mit Sortieren 6 4. Reguläre Ausdrücke 10 5. Kleines Programm mit Funktion 6 6. Programm mit Rekursion 5 7. Frequenzliste 20 8. Secure Copy 4 9. Dateiverwaltung 5 10. Zeichensätze 2 11. Frequenzliste 4 Summe 70 Note Einwilligungserklärung Hiermit stimme ich einer Veröffentlichung meines Klausurergebnisses in der Vorlesung vom 6.2.2017 unter Verwendung meiner Matrikelnummer im Internet zu. Datum: Unterschrift:

1 Zahlenkonvertierung Aufgabe 1 Zahlenkonvertierung Geben Sie die fehlenden Zahlendarstellungen in den entsprechenden Codierung an. 1. Dezimalzahl: 13 Binär: Oktal: Hexadezimal 2. Hexadezimal: EE Binär: Oktal: Dezimalzahl 2 PUNKTE 2 Kleines Programm mit Schleife Aufgabe 2 Kleines Programm mit Schleife Schreiben Sie ein Programm, das von 20 bis 0 rückwärts jede zweite Zahl auf der Konsole ausgibt. Wenn die Zahl kleiner gleich 10 und größer gleich 5 dann soll auch noch auf der Konsole der Text ausgeben werden: Achtung ich bin zwischen 10 und 5 6 PUNKTE Seite 2 von 12

3 Kleines Programm mit Sortieren Aufgabe 3 Kleines Programm mit Sortieren Gegeben ist eine Wortliste mit Umlauten: wortliste = ["Am","Abend","schmecken","die","Äpfel","am","Besten"]!/usr/bin/python3 wortliste = ["Am","Abend","schmecken","die","Äpfel","am","Besten"] print("sorted=",sorted(wortliste)) 1. was gibt vorherige Programm aus: Ändern Sie das Programm, dass 2. die Sortierung die Wörter vor dem Sortieren in Kleinbuchstaben konvertiert werden. Wie lautet der Programmcode und wie lautet das Ergebnis der Sortierung? Ändern Sie das Programm, dass 3. die Umlaute, sprich die Internationalisierung (deutscher Text in UTF-8) berücksichtigt wird. Wie lautet der Programmcode und wie das Ergebnis der Sortierung? 6 PUNKTE Seite 3 von 12

4 Reguläre Ausdrücke in einem Text Aufgabe 4 Reguläre Ausdrücke in einem Text Sie arbeiten mit einem deutschen Text. Der gesamte Text ist einer Stringvariable inhalt gespeichert. Geben Sie die regulären Ausdrücke an die folgende Muster im Text finden! 1. Wie lautet die Kontrollanweisung, die alle Wörter, die maximal 5 Buchstaben umfassen findet und ausgibt? (3 Punkte) import re re1=re.compile( ) 2. Nun geben Sie nur den regulären Ausdruck an: (a) Findet alle Handynummern nach folgendem Muster: +49 160/12345678 (Handynummer, 3 Stellen Ländercode, 3 Stellen Vorwahl, 8 Stellen Teilnehmer) (b) findet alle mehrstelligen Zahlen (auch reelle Zahlen sind zugelassen) (z.b. 123 oder 1.23 oder 1,23 ). (c) findet alle Links in folgendem Format: (<a href=... </a>). (d) findet alle Wörter, die nur aus Großbuchstaben bestehen (z.b. USA) (e) findet alle Datumsangaben: z.b. 31.12.2016 oder 1.1.16 (f) findet alle Wörter, hinter denen ein Punkt, ein Ausrufezeichen oder ein Fragezeichen steht z.b. geht. oder geh! oder lachen? (g) findet alle Wörter, die einen Umlaut enthalten ä ü ö ß Ä Ü Ö 10 PUNKTE Seite 4 von 12

5 Kleines Programm mit Funktion Aufgabe 5 Kleines Programm mit Funktion Gegeben ist eine Liste mit ganzen Zahlen Wie lautet in Python eine Funktion, bigger_than(list,x), die die Liste durchläuft und alle Werte der Liste auf der Konsole ausgibt, die größer sind als der Wert des zweiten Arguments. Ein Beispiel: liste=[2,4,6,8] bigger_than(liste,5) ergibt die Ausgabe: 6 ist größer als 5 8 ist größer als 5 6 PUNKTE Seite 5 von 12

6 Programm mit Rekursion Aufgabe 6 Programm mit Rekursion Gegeben ist folgendes Programm: def rechne (elem): if (elem >= 0 and elem <= 5): return 0 else: elem = elem - 1 ; print(elem," ",end="") return elem+rechne(elem); wert=10 result=rechne(wert) print("\nresult=",result) 1. Was gibt das Programm aus? (2 Punkte) 2. Was ist das Ergebnis, wenn die Funktion mit dem Wert -2 aufgerufen wird? 3. Was ist das Ergebnis, bzw. was passiert, wenn in der Funktion anstatt elem = elem - 1 folgendes steht: elem = elem + 1 und positive bzw. negative Zahlen eingegeben werden? (2 Punkte) 5 PUNKTE Seite 6 von 12

7 Python-Programm: Erstellen einer Frequenzliste Aufgabe 7 Sie haben die komplette Ausgabe einer Süddeutschen Zeitung in der Datei sz.txt gespeichert. Achten Sie bei den folgenden Aufgaben darauf, dass Sie einen deutschen Text eingelesen haben: a) Lesen Sie die Datei zeilenweise ein und spalten Sie jede Zeile in Wörter auf! b) Erzeugen Sie damit eine Frequenzliste aller Wörter c) Geben Sie die Wörter der Frequenzliste zusammen mit deren Häufigkeit auf der Konsole aus, für die eine der drei Bedingungen Bed1,...Bed3 gilt: Bed. 1:... Die Wörter sollen nur 3 bis maximal 5 Buchstaben enthalten. Bed. 2:... In den Wörter sollen nur die Buchstaben. (a, e, i, o, u, r, b, ü, ö) vorkommen (Groß/Kleinschreibung ist gleichgültig) Bed. 3:... die Wörter sollen auf nen. enden. d) Sortieren Sie jetzt die Frequenzliste nach Häufigkeit (häufigstes Wort zuerst) und... e)... speichern Sie die sortierte Liste in der Datei freq.txt im Format "Das Wort wort kommt anzahl mal vor" Tragen Sie in den freigelassenen Raum auf der linken Seite, die den Anweisungen auf der rechten Seite entsprechenden Python-Programmzeilen ein. Startzeile eines Python-Programms Regular Expression Modul Regular Expr. für Teilaufgabe a) bis c) Öffnen utf8 Datei sz.txt, Lesen Öffnen utf8 Datei freq.txt, Schreiben Zeilenweise einlesen nach line speichern Sie die alle Wörter im Dictionary freq Seite 7 von 12

Durchlaufen Sie die Frequenzliste freq und geben sie die Wörter und deren Häufigkeit aus 20 PUNKTE falls die Bedingungen Bed. 1 gilt falls die Bedingungen Bed. 2 gilt falls die Bedingungen Bed. 3 gilt nun sortieren Sie die Frequenzliste und schreiben Sie die sortierte Liste in die Ausgabedatei Schliessen Sie geöffnete Dateihandles Seite 8 von 12

8 Secure Copy Aufgabe 8 Secure Copy Sie bekommen von einer Partneruniversität folgende Accountdaten: Rechnername: projekt.an.partner-uni.de Verzeichnis: /projekte/klausur/ Username: lmugast (Passwort: z7g8ttz wird für die Lösung der Aufgabe nicht gebraucht, in der Praxis natürlich schon(interaktive Abfrage)) 1. Schreiben Sie auf, wie der Befehl lautet um die Datei corpus.tgz aus ihrem aktuellen Verzeichnis (Arbeitsverzeichnis) zur Partneruniversität zu kopieren! 2. Schreiben Sie auf, wie der Befehl lautet um die Datei rohdaten.zip von der Partneruniversität zu Ihrem Rechner zu kopieren! Ziel soll das aktuelle Verzeichnis (Arbeitsverzeichnis) sein. (2 Punkte) 9 Dateiverwaltung Aufgabe 9 Dateisystem /Dateieigenschaften/Pfade (2 Punkte) 4 PUNKTE 1. Machen Sie die Datei aufgabe1.txt für alle lesbar! 2. Erläutern Sie kurz den Unterschied folgender zwei Befehle! a) cp /tmp/text.txt /home/benutzer/ b) cp./tmp/text.txt /home/benutzer/ 3. Unter welcher Bedingung ist die Wirkung der cp Befehle aus der vorherigen Aufgabe identisch? (2 Punkte) 4. Ermitteln Sie wieviel Speicherplatz Sie in Ihrem Homeverzeichnis belegt haben! 5 PUNKTE Seite 9 von 12

10 Zeichensätze Aufgabe 10 Zeichensätze Das Wort München ist in vier verschiedenen Textkodierungen als oktaler byteweiser Dump dargestellt. Ordnen Sie die Kodierungen latin1, UTF-8, UTF-16 und UCS-4 (=UTF-32) richtig zu! 0000000 376 377 000 115 000 374 000 156 000 143 000 150 000 145 000 156 0000020 000 012 0000022 Kodierung des obigem Dumps: 0000000 115 303 274 156 143 150 145 156 012 0000011 Kodierung des obigem Dumps: 0000000 000 000 000 115 000 000 000 374 000 000 000 156 000 000 000 143 0000020 000 000 000 150 000 000 000 145 000 000 000 156 000 000 000 012 0000040 Kodierung des obigem Dumps: 0000000 115 374 156 143 150 145 156 012 0000010 Kodierung des obigem Dumps: (2 Punkte) 2 PUNKTE Seite 10 von 12

11 Frequenzliste Aufgabe 11 Frequenzliste Gegeben ist eine Datei text.txt. Erstellen Sie daraus eine Datei frequenzliste.txt. (Eine Liste mit zwei Spalten, Anzahl und Wort, nach Anzahl sortiert) mit Hilfe der GNU Core Utilities sort, tr, uniq unter Anwendung von Pipes in einer Befehlszeile. Erläutern Sie die einzelnen Schritte kurz! 4 PUNKTE Seite 11 von 12

es folgt ein Schmierblatt... Seite 12 von 12