Strukturiertes Programmieren

Ähnliche Dokumente
Übung zur Vorlesung Strukturiertes Programmieren WS 2014/15. Übungsblatt 1: JAVA - Erste Schritte Abgabe: Besprechung:

Aufgabenblatt 1: - Präsenzübung für die Übungen Do Mi Ausgabe Mi

Vorkurs Informatik WiSe 17/18

Vorkurs Informatik WiSe 16/17

Institut für Programmierung und Reaktive Systeme. Java 1. Markus Reschke

Einführung in die Programmierung WS 2018/19. Übungsblatt 0: Einführung

Einführung in die Programmierung WS 2014/15. Übungsblatt 0: Einführung

Einführung in die Programmierung I. 1.0 EBNF 2.0 Einfache Java Programme. Thomas R. Gross. Department Informatik ETH Zürich

Prof. Dr. Heinrich Müller. Informatik VII Universität Dortmund. Organisatorisches zum Vorkurs Informatik

Java: Kapitel 1. Überblick. Programmentwicklung WS 2008/2009. Holger Röder Holger Röder

Vorkurs Informatik WiSe 15/16

Übungen zu Algorithmen

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

Vorsemesterkurs Informatik

Grundlagen der Informatik für Ingenieure I

Lernziele Dateiverwaltung Bearbeiten von Textdateien Sichere Anmeldung per SSH-Schlüssel. Linux für Anfänger

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

Die Shell. [prompt]> <command> <flags> <args>

TU Kaiserslautern. Übungsblatt 2: Software-Entwicklung 1 (WS 2017/18) Hinweise zu Einreichaufgaben. Hinweise zu den Übungen

Grundlagen der Programmierung

Linux II. Reguläre Ausdrücke Editoren Scripting. 2 Linux II. Linux I II III Res WN/TT NLTK XML Weka E Reguläre Ausdrücke Editoren Scripting

Übung U02 (WS 2005/06) U02

Programmierung für Mathematik HS12 Übung 1

Grundlagen der Informatik für Ingenieure I

Hello World! Eine Einführung in das Programmieren

Arbeiten in der Unix-Kommandozeile

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Arbeiten in der Unix-Kommandozeile

ÜBUNG Regeln für die Hausaufgaben. Was gibt es im UNIX-Pool zu beachten? Der erste Besuch im UNIX-Pool

Shellkurs Shell, SSH, Skripte... Justus Pfannschmidt, Carola Bothe, Samuel Domiks Freie Universität Berlin

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

Basiskonzepte des Rechnerbetriebs

II.1.1. Erste Schritte - 1 -

Hello World! Javakurs 2012, 1. Vorlesung. Theresa Enghardt. basierend auf der Vorlage von Mario Bodemann und Sebastian Dyroff. wiki.freitagsrunde.

This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 License.

Java Einführung Programmcode

Java und Eclipse Installation, erstes Beispielprogramm

Skripte. Beispiel. M. Fyta Computergrundlagen 73/93

Praktikum zu Einführung in die Informatik für LogWings und WiMas Wintersemester 2013/14

Grundlagen der Programmierung UE. Dr. Herbert Prähofer (Gruppe 1 2, & 3) DI Markus Weninger(Gruppe 4)

Infrastruktur. INE1-Praktikum 1. Einführung. Augabe 1: Programme starten und konfigurieren. INE1 Informatik für Ingenieure 1

Linux Kurs Vorlesung 2 - Terminal

Übungen zur Vorlesung Wissenschaftliches Rechnen I

II.1.1. Erste Schritte - 1 -

1 Linux-Befehlsübersicht

Hello World! Eine Einführung in das Programmieren Das erste Programm

II.1.1. Erste Schritte - 1 -

Einführung in die Computerlinguistik Einführung in Perl (1)

Objektorientierte Programmierung OOP Programmieren mit Java

AuP Survival Guide. Peter Tröger und Christine Jakobs. Wintersemester 2017/2018 Algorithmen und Programmierung Tutorium

UNIX Die wichtigsten Befehle

Programmieren I. Administratives / Java Installation. Thomas Vetter, Brian Amberg, Andreas Forster. 21. September 2010 UNIVERSITÄT BASEL

Material zum Grundlagenpraktikum ITS. eine kleine Linux-Befehlsreferenz. Stand: Oktober 2007 zusammengestellt von: Cornelia Menzel Version 1.

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015

Strukturiertes Programmieren

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Informatik II (D-ITET) Informatik II (D-ITET) Übungsstunde 1. Distributed Systems Group, ETH Zürich

Einführung in die Programmierung I. 2.0 Einfache Java Programme. Thomas R. Gross. Department Informatik ETH Zürich

Übungsblatt 1. (Stapel- bzw. Batchbetrieb)

Programme erstellen in Java

Übungsblatt 1. Java Vorkurs (WS 2017)

Einführung in die Programmierung mit Java

Linux Kommandozeile: Einfache Skripte. 1 Wiederhohlung. 2 Einfache Skripte

Linux-Befehlsreferenz

Erste Java-Programme (Scopes und Rekursion)

Einführung ins Praktikum Wissenschaftliches Rechnen I

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

Bash-Skripting Linux-Kurs der Unix-AG

Zugriffsrechte. anzeigen lassen mit dem Befehl: ls -l

X Anmelden am System. X System herunterfahren. X Grundlegendes zur Shell. X Das Hilfesystem. X Dateioperationen. X Bewegen im Verzeichnisbaum

Erste Schritte zum lauffähigen Java Programm

JAVA als erste Programmiersprache Semesterkurs

Informatik I - Einstiegskurs

Informatik. Studiengang Chemische Technologie. Michael Roth Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013.

Linux I II III Res/Pro WN/TT Reguläre Ausdrücke Editoren Scripting. Linux II. 2 Linux II. Reguläre Ausdrücke Editoren Scripting. Ressourcen-Vorkurs

Praktikum RO1 Einführung Linux / Ubuntu / Bash

Programmieren in C++

01 Einführung in PHP. Einführung in PHP 1/13 PHP in Aktion

Betriebssysteme Ein Überblick

0. Erste Schritte REM. Jürgen Mäter Arbeitsgruppe Modellierung und Simulation. Lehrstuhl für Informatik 4 TU Dortmund

Praktischer Einstieg in Linux

Informatik für Schüler, Foliensatz 1 Einführung bis...

Übung 2 - Betriebssysteme I

Die Scala Entwicklungsumgebung. L. Piepmeyer: Funktionale Programmierung - Die Scala Entwicklungsumgebung

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

Programmierwerkzeuge unter Unix

Java-Einführungskurs Informatik II (D-ITET) Vincent Becker,

Einstieg in Java und OOP

Übungen zur Vorlesung Wissenschaftliches Rechnen I

Programmieren in Java -Eingangstest-

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Tutorium SS17 EINFÜHRUNG + BREAKOUT

Erste Schritte zum lauffähigen Java-Programm

Java-Einführungskurs Informatik II (D-ITET) Vincent Becker,

Informatik II (D-ITET)

Transkript:

Friedrich-Schiller-Universität Jena Fakultät für Mathematik und Informatik Institut für Informatik Prof. Dr. E.-G. Schukat-Talamazzini http://www.minet.uni-jena.de/fakultaet/schukat/ Prof. Dr. P. Dittrich http://users.minet.uni-jena.de/~dittrich/, R3430 Übung zur Vorlesung Strukturiertes Programmieren WS 2016/17 Übungsblatt 1: JAVA - Erste Schritte Abgabe: 24.10.2016 Besprechung: 25.10.2016 1. Wiederholung (1h / 1P) Arbeiten Sie das Skript (Folien) zur laufenden Vorlesung durch. Schauen Sie sich auch ein paar Seiten zur kommenden Woche an. (a) Wie sehr interessieren Sie die kommenden Vorlesungsinhalte? links: gar nicht, rechts: sehr Grundlagen der Programmierung Symbol- und Informationsverarbeitung Aufbau eines Digitalrechners Daten- und Kontrollstrukturen Syntax und Semantik von Programmiersprachen Programmieren in Java Ausdrücke, Deklarationen und Anweisungen Klassen und komplexe Datenstrukturen Objektorientiertes Programmieren Systematische Programmentwicklung Algorithmen, Terminierung und Effizienz Rekursion und Iteration Programmverifikation (b) Haben sie die Vorlesung soweit verstanden, oder ist etwas unklar? 2. Praktische Übung - Linux und JAVA (3h / 7P) Machen Sie sich mit Ihrer Rechnerumgebung vertraut, geben Sie ein JAVA-Program ein, übersetzen Sie es und führen Sie es aus. Siehe Anhang für weitere Details. 1

Nach der praktischen Übung müssten Sie folgende Fragen beantworten können: 1. Wie heißen die passenden Terminal-Befehle? : an interface to the on-line reference manuals : print name of current/working directory : change file mode bits : display a line of text : concatenate files and print on the standard output : report a snapshot of the current processes : send a signal to a process : display Linux processes : list directory contents : make directories : remove empty directories 2. Welche Rechte werden mit chmod 0755 vergeben? lesen, schreiben und ausführen für alle lesen, schreiben und ausführen für den Nutzer lesen und ausführen für die Gruppe lesen und ausführen für andere Benutzer bg: 3. Was passiert, wenn man ls fsu-jena ausführt, aber es weder einen Ordner, noch eine Datei mit diesem Namen gibt? nichts ein Ordner mit dem Namen fsu-jena wird erzeugt eine Ausgabe erscheint mit dem Text: ls: cannot access fsu-jena : No such file or directory eine Ausgabe erscheint mit dem Text: ls: action failed: No such file or directory das Terminal schließt sich und der Dateibrowser geht auf 4. Welches Kommando startet keinen Texteditor (vorausgesetzt, diese sind installiert) vim nano emacs cat gedit 5. Gibt es einen Unterschied, wenn man im Javaprogramm MyCode.java aus Aufgabe III.1 Zeile 6 system.out.println(); weglässt? ja, das Programm funktoniert nicht mehr ja, eine andere Ausgabe erscheint nein 3. Echo Hello World! (1h / 2P) Schreiben Sie ein Programm, das Hello World! zehn mal ausgibt. Hinweis: nutzen Sie den Code auf den Anhang III.1 (Für besonders Schlaue: Ja, das geht tatsächlich mit dem soweit gelernten!) Wenn Sie fertig sind, wenden Sie sich an eine_n Tutor_in oder Drucken Sie den Code aus. 4. Bitte notieren Sie die Zeit, die Sie für die Übung benötigt haben! Viel Spaß und Erfolg! 2

A. Anhang zu Übungsblatt 1: JAVA - Erste Schritte Tipp von P. Dittrich: Besorgen Sie sich zur Vorbereitung des praktischen Teils mindestens ein gutes JAVA Buch. (mit Fokus auf Programmierung; nicht zu dick; keine Referenz, denn die gibt es besser im Web). Die Übung stützt sich auf folgendes Buch: [1] R. Sedgewick und K. Wayne, Einführung in die Programmierung mit Java, Pearson, München, 2011 Damit lernt man ruckzuck Programmieren und auch etwas JAVA. Es wird durch sehr nützliche Informationen im Netz ergänzt. Aus meiner Sicht, sehr empfehlenswert. I. Wählen Sie Ihre favorisierte Computerumgebung. Für Studierende der *-Informatik empfiehlt sich hier Linux; bspw. In Form unseres Linux-Pools oder einer eigenen Linux-Installation wie Debian oder Ubuntu LTS (falls keine Partition frei, unter Windows: VirtualBox + Ubuntu). Falls Sie unbedingt ein anderes OS als Linux nutzen wollen, sollte dies kein sonderliches Problem darstellen. Technische Fragen können wir in in anderen OS leider kaum beantworten. Im Folgenden, gehen wir von einer Linux-Umgebung aus. II. Erste Schritte mit dem Betriebssystem a) Loggen Sie sich ein und ändern Ihr Passwort b) Erzeugen Sie Verzeichnisse und editieren Sie Textdateien. c) Drucken Sie eine Textdatei aus. Probieren Sie folgende Kommandos und finden Sie heraus, was sie bedeuten: Listing 1: Tutorial für Shell Befehle 1 echo " Hello, world!" 2 ls 3 ls -l 4 ls -la 5 mkdir test 6 ls 7 cd test 8 ls -la 9 cd.. 10 chmod 0700 test 11 ls -l test 12 chmod 0000 test 13 cd test 14 chmod 0755 test 15 ls -l test 16 rmdir test 17 pwd 18 mkdir uebung 19 cd uebung 20 man echo 21 echo bla > text. txt 22 ls 23 cat text. txt 24 less text. txt 25 grep bla text. txt 26 cat text. txt grep bl 27 emacs text. txt # das sollte einen Editor starten 28 # Jetzt zum Terminal wechseln und Strg + z druecken : das stoppt den laufenden Prozess 29 bg # und in den Hintergrund mit ihm 30 ps # was laeuft 31 kill -9 <pid > # beendet einen Prozess 32 top # mit q verlassen 33 man man 3

Sie können nun über die Kommandozeile: Verzeichnisse anlegen und löschen. Sich in Verzeichnisstrukturen bewegen. Textdateien editieren und ausdrucken. Wildgewordene Programme killen (ps, kill -9). Sehen was so läuft (top, ps, who). III. Erste Schritte mit JAVA Wir wollen zunächst lernen, JAVA ohne eine integrierte Entwicklungsumgebung zu nutzen. Falls JAVA nicht bereits installiert ist finden Sie bspw. hier Informationen, die Sie bei der Installation unterstützen (aber auch anderes Nützliches): www.cs.princeton.edu/introprogramming III.1. Programm erzeugen Editieren Sie eine Textdatei (% bedeutet, dass es sich um ein eine Kommandozeile im Terminal handelt): % emacs MyCode.java Und tippen das folgende JAVA Programm ein: 1 public class HelloWorld 2 { 3 public static void main ( String [] args ) 4 { 5 System. out. print (" Hello World!"); 6 System. out. println (); 7 } 8 } Speichern und prüfen, ob alles ok ist: % cat MyCode.java Dies ist ein vollständiges JAVA-Programm. Es besteht aus einer Klasse namens HelloWorld mit nur einer Methode namens main. Innerhalb dieser Methode stehen zwei Anweisungen, die ausgeführt werden, wenn wir das Programm starten (s. unten). Diese Anweisungen geben dem Computer den Befehl Hello World! auszugeben und den Cursor in die nächste Zeile zu bewegen. (JAVA erlaubt leider nicht einfach nur eine Anweisung zu geben. Es muss mindestens eine Klasse mit einer Methode main definiert werden, in der sich dann die Anweisungen befinden. Was eine Klasse und Methoden sind, lernen wir später.) III.2. Programm übersetzen (kompilieren, engl. compile) % javac HelloWorld.java Der Übersetzer javac erzeugt aus der Textdatei HelloWorld.java eine Computersprachenversion (hier: Bytecode) des Programms, nämlich HelloWorld.class. 4

III.3. Programm ausführen % java HelloWorld.class java ist ein Bytecode-Interpreter. Diesen benötigen wir, da unser Prozessor den JAVA-Bytecode nicht direkt ausführen kann. Weitere Erläuterungen, siehe Ref. [1], S. 26 35 Zusammenfassung: Sie können nun JAVA-Programme eintippen, übersetzen und ausführen. IV. Weitere Übungen Probieren Sie, was passiert wenn Sie folgende Wörter in HelloWorld.java weglassen bzw. fehlerhaft schreiben: a) public b) static c) void d) args B. Für die Abgabe der Übung Wenden Sie sich an eine_n Tutor_in Beantworten Sie die Fragen aus Aufgabe 2 Zeigen Sie die Lösung zu Aufgabe 3 Wenn sie noch nicht so weit sind, dann: Drucken Sie Ihre Lösung (Quellcode) zu Aufgabe 3 (Ausgabe von 10 x Hello World) und einen Beispiellauf aus. Geben Sie den Ausdruck und Aufgabe 2 in der Übung ab. Schicken Sie bitte mindestens den Code auch per E-Mail an die Tutoren. Die Tutoren bitten bei allen Abgaben um: schön formatierten Code (hübsch eingerückt) wir wollen ungern Code korrigieren, der in Word rein-kopiert wurde keine Screenshots Was dann? auch Texteditoren können drucken! nutzt Funktionen wie print to file, exportieren, speichern als oder L A TEX um ein PDF für die Abgabe zu generieren. eine E-Mail mit Quellcode und Abgabe(.java,.pdf), eventuell in einem komprimierten Ordner (.zip) mailto:moritz.mueller@uni-jena.de und mailto:claudia.sichting@uni-jena.de Betreff: Struk-Prog: Abgabe Blatt 1 Zusammenarbeit ist bei manchen Code-Aufgaben geduldet, aber gebt Bescheid, damit nicht die gleichen seltsamen Fehler zwei Mal korrigiert werden müssen! 5