Informatik Name: Lösung Nr. 2 K1/K

Größe: px
Ab Seite anzeigen:

Download "Informatik Name: Lösung Nr. 2 K1/K"

Transkript

1 Vorbereitungen: 1) Melden Sie sich unter Ihrem User an und bestimmen Sie den Computernamen indem Sie nach dem Einloggen auf das Computer-Icon links oben klicken. Notieren Sie den Namen des PCs hier auf dem Papier (z.b. EDV2-3146) EDV2-. 2) Melden Sie sich wieder ab. 3) Loggen Sie sich mit dem Computernamen als Benutzer ein, also z.b. mit dem User EDV ohne Passwort. Sie müssen nun zweimal ein vbs-skript (Visual Basic- Script) bestätigen, d.h. 2-mal auf ok klicken. Danach müssen Sie Ihren Vor- und Nachnamen eingeben. 3) Kopieren Sie die Ordner EcPy und Py von V:\ nach H:\ Nennen Sie den kopierten Ordner KA_InfK2 um in Py_ IhrName. Im File aa_pythoninfos_ Grundlagen.doc (in Py) stehen Zusammenfassungen von Python, die Sie beim Programmieren benutzen können. Nach PCLoes.doc kopieren Sie nach dem Programmieren der Aufgaben die Programme und die Ausgaben auf der Konsole. 4)Während des Kopierens bearbeiteten Sie die ersten drei Aufgaben schriftlich auf einem Blatt ohne Benutzen des PCs. 5) Geben Sie dieses bearbeitete Blatt ab und bearbeiten Sie nun die Computer- Aufgaben am PC. In EcPy stehen bereits Vorlagen für die Aufgaben. 6) Vor dem Ausschalten des PC kopieren Sie den Ordner src von H:\EcPy\PyPrgs\KA nach Py_ IhrName und dann diesen Ordner Pa_ IhrName auf einen Stick, den ich Ihnen gebe. 7) Löschen Sie EcPy (nach Rücksprache mit mir), und loggen Sie NICHT aus. Aufgabe 1: (Blatt) Erläutern Sie kurz die Wirkung folgender Codezeilen, Was wird jeweils berechnet? Beschreiben Sie den Inhalt der Variablen (nach jeder Codezeile bzw. nach der Schleife) a) [2P] LL7=[] for i in range(4): LL7.append(7*i) print LL7 b) [2P] qu = [t**2 for t in range(6)] print "[t**2 for t in range(6)] = %s", %(qu) c) [2P] import random as r zz=[r.randint(1,6) for i in range(2000)] pz=float(sum(zz))/len(zz) print "\n\n mi = %4.3f \n" %(pz) Lösung 1: a): LL7 zeigt jetzt auf eine leere Liste In der Liste LL7 steht nach der for-schleife: [0,7,14,21] Sie wird am Bildschirm angezeigt. b) List Comprehension -> qu=[0,1,4,9,16,25]

2 Anzeige: [t**2 for r in range(g)]= [0,1,4,9,16,25] c) alle Methoden * von random können künftig mit r.* aufgerufen werden. in zz stehen anschließend 2000 Würfelzahlen zwischen 1 und 6 pz ist der Mittelwert der Würfe, etwa 3,5 Anzeige von mi= pz, wobei davor zweimal mi \n eine neue Zeile erzeugt wird. Aufgabe 2: (Blatt) Wir haben in den letzten Wochen die Grundlagen der objektorientierten Programmierung kennen gelernt: a) [2P] Was versteht man unter Klassen, was unter Objekten? Wie werden Eigenschaften, wie Fähigkeiten von Objekten realisiert? b) [2P] Erläutere die Begriffe Vererbung und Kapselung von Daten Lösung 2: a) Klassen sind Baupläne von Objekten, sie bestehen aus Variablen und Methoden. Im Programm werden nicht einzelne Objekte, sondern eine Klasse gleichartiger Objekte definiert. Klassen sind Vorlagen, aus denen Instanzen genannte Objekte zur Laufzeit erzeugt werden. Objekte sind Realisierungen (oder Instanzierungen instance) von Klassen. Eigenschaften sind Variable. Fähigkeiten sind Methoden. b) Eigenschaften und Fähigkeiten können an Kindklassen übergeben werden. Man muss diese Dinge nicht neu programmieren. Vererbung heißt vereinfacht, dass eine abgeleitete Klasse die Methoden und Attribute der Basisklasse ebenfalls besitzt, also erbt. Somit kann die abgeleitete Klasse auch darauf zugreifen. Neue Arten von Objekten können auf der Basis bereits vorhandener Objektdefinitionen festgelegt werden. Es können neue Bestandteile hinzugenommen werden oder vorhandene überlagert werden. Als Datenkapselung bezeichnet man in der Programmierung das Verbergen von Implementierungsdetails. Auf die interne Datenstruktur kann nicht direkt zugegriffen werden, sondern nur über definierte Schnittstellen. Objekte können den internen Zustand anderer Objekte nicht in unerwarteter Weise lesen oder ändern. Ein Objekt hat eine Schnittstelle, die darüber bestimmt, auf welche Weise mit dem Objekt interagiert werden kann. Dies verhindert das Umgehen von Invarianten des Programms. Unter Kapselung versteht man vereinfacht auch, dass man auf Daten nicht direkt zugreifen kann, der Programmierer kann damit die Art, wie die Daten abgespeichert werden, anschließen ändern (z.b. statt kartesischen Koordinaten, Polarkoordinaten nehmen. Oder Entfernungen in m statt in km oder Meilen abspeichern) Aufgabe 3: (Blatt) Betrachten Sie die folgende Klasse: class Konto(object): def init (self, inhaber, knr, kstand, kk=0): self.inhaber = inhaber self.kontonummer = knr self.kontostand = kstand self.kontokorrent = kk # wie viel darf man überziehen def ueberweisen(self, ziel, betrag): if(self.kontostand-betrag<-self.kontokorrent):

3 print "Vorsicht: Das Konto ist nicht gedeckt!" return False else: self.kontostand -= betrag ziel.kontostand += betrag return True def einzahlen(self, betrag): self.kontostand += betrag def auszahlen(self, betrag): self.kontostand -= betrag def str (self): return "Der Kontostand von %s ist %7.2f" \ %(self.inhaber, self.kontostand) a) [2P] Erstellen Sie (nur auf dem Papier) zwei Konten K1 und K2, eines von Jens mit dem Anfangsstand 2012,17 und der Kontonummer und eines von Uta mit der Kontonummer und dem Anfangsstand 879,09, wobei Uta 500 überziehen darf. b) [2P] Überweisen sie von K2 nach K1 998,32. Geben Sie anschließend beide Kontostände aus. c) [2P] Welche Bedeutung hat self? Welchen Wert bekommt es beim Aufruf? Wie wird der Wert übergeben? Lösung 3: a) k1 = Konto("Jens", 70711, ) print k1 k2 = Konto("Uta", 20813, , 500) print k2 Anzeige Der Kontostand von Jens ist Der Kontostand von Uta ist b) k1.ueberweisen(k2, ) print k1 print k2 Anzeige Der Kontostand von Jens ist Der Kontostand von Uta ist c) Self ist die Adresse des augenblicklichen Objekts. Sie sird beim Aufruf implizit durch K1 übergeben, d.h. K2.uerberweisen(K1,x) wird uerberweisen(k2,k1,x) Geben Sie bitte das Blatt mit den ersten drei Aufgaben ab und bearbeiten Sie die übrigen Aufgaben am PC mit EcPy. Benutzen Sie gegebenenfalls das File aa_pythoninfos_grundlagen.doc

4 Aufgaben am PC mit Python bearbeiten Aufgabe 4: [6P] (mit Python) Benutzen Sie die Vorlage A24.py in EcPy Paket KA n 2 i+ 1 1 π Der Grenzwert der Reihe ( 1) ist 2 i= 1 i 12 Erstellen Sie ein Programm, das die Reihe für n=2000 berechnet. Kopieren Sie das Programm und das an der Konsole erzeugte Ergebnis in das File PCLoes.doc. Lösung 4: Code Beschreibung: KA2 Sj13/14, Aufgabe 4 Die Reihe der n ersten Glieder der Pi^2/12-Näherung import math as m n=2000 sum=0.0 vz=1 for i in range(1,n+1): sum=sum+vz*1./(i*i) vz=vz*(-1) print "Die Summe der %s ersten natürlichen Gliedern der Pi^2/12- Näherung ist %s" %(n,sum) print "Damit ist %s eine Näherung von Pi= " %(m.sqrt(sum*12)) Ausgabe an der Konsole Die Summe der 2000 ersten natürlichen Gliedern der Pi^2/12-Näherung ist Damit ist eine Näherung von Pi= Aufgabe 5: [6P] (mit Python) Benutzen Sie die Vorlage A25.py in EcPy Paket KA Erstellen Sie eine Klasse von 3-dim Vektoren. Der Konstruktor soll einen Vektor mit den übergebenen 3 Werten erstellen. Mit print(v) soll man den Vektor anzeigen können. Vektoren soll man addieren können und man soll die Länge eines Vektors berechnen können. Testen Sie ihre erstellten Methoden mit folgenden Aufgaben Addieren Sie v1(3,4,5) und v2(6,-2,5,0,75) und zeigen Sie das Ergebnis an. Gegen Sie die Länge der Vektorsumme aus. Kopieren Sie das Programm und das an der Konsole erzeugte Ergebnis in das File PCLoes.doc. Lösung 5: Code import math class Vektor3D(object): """Klasse für Vektoren mit 3 Komponenten""" def init (self, x=0, y=0, z=0): """initialisiert eine neue Instanz""" self.x = x self.y = y self.z = z

5 def betrag(self): """errechnet den Betrag des Vektors""" return math.sqrt(self.x**2+self.y**2+self.z**2) self.z+=v2.z return def add(self,v2): self.x+=v2.x self.y+=v2.y self.z+=v2.z return def add (self,v2): # Diese Methode wird implizit durch v3=v1+v2 aufgerufen # sie gibt ein neues Objekt zurück, x=self.x+v2.x y=self.y+v2.y z=self.z+v2.z return Vektor3D(x,y,z) def str (self): text="3-dim-vektor (%2.4f / %2.4f / %2.4f) " \ %(self.x, self.y, self.z) return text # Ende der Klassendefinition Vektor3D ################################################################# v1=vektor3d(3, 4, 5) print (v1) v2=vektor3d(6, -2.5, 0.75) print(v2) print v2.betrag() v2.add(v1) print (v2) print "Länge von v2 = ", v2.betrag() # Impliziter Aufruf von add v3=v1+v2 print v3 Ausgabe an der Konsole 3-dim-Vektor ( / / ) 3-dim-Vektor ( / / ) dim-Vektor ( / / ) Länge von v2 = dim-Vektor ( / / ) Aufgabe 6: [8P] (mit Python) Benutzen Sie die Vorlage A26.py in EcPy Paket KA Erstellen Sie eine Methode intervallschachtelung01(f,a,b,eps=10**(-10)), die eine Näherung der Nullstelle zurückgibt. Der Rückgabewert soll die Mitte des Intervalls sein, in dem eine Nullstelle liegt, die Länge des Intervalls soll eps sein. f ist die Funktion, deren Nullstelle bestimmt werden soll. Sie muss im Programm ebenfalls definiert werden. Die Werte a und b sind die linke und rechte Intervallgrenzen, in der die Nullstelle zu finden sein soll.

6 Bemerkung: f hat an den Stellen a und b genau dann unterschiedliches Vorzeichen, wenn der Funktionswert an einer der beiden Stellen größer und an der anderen kleiner als Null ist. Dies ist genau dann der Fall, wenn f(a)*f(b)<0 gilt. Ein Schritt bei der Intervallschachtelung ist: Berechnen sie die Mitte des Intervalls [a,b], d.h. m=(a+b)/2 Hat der Funktionswert an der Stelle m ein anderes Vorzeichen als an der Stelle a, so befindet sich in [a,m] eine Nullstelle, sonst in [m,b] Dieser Schritt wird so lange wiederholt, bis Intervalllänge (b-a) kleiner als eine vorgegebene Schranke ist. Erstellen Sie ein Programm, das für die Funktion f(x) = (x-3)^3 +5 eine Nullstelle sucht. Die Nullstelle ist zwischen 0,5 und 7,5. Kopieren Sie das Programm und das an der Konsole erzeugte Ergebnis in das File PCLoes.doc. Lösung 6: Code Beschreibung: Interfallschachtelung, KA2, Aufgabe 6 def f(x): return (x-3)**3 +5 def intervallschachtelung01(f,a,b,eps=10**(-10)): """ f: Funktion, a,b: Intervallgrenzen, eps: Wenn sich die linke und rechte Intervallgrenze um weniger als eps unterscheiden, wird das Verfahren abgebrochen. Rückgabe: Näherungswert der Nullstelle und Anzahl der Interationen Wenn keine NS gefunden wird, ist Anzahl =-1 """ Wenn a=b ist, wird b=a+10*eps gesetzt Wenn f(a)*f(b)>0 ist, wird eine Fehlermeldung ausgegeben. if a>b: # sorge dafür, dass a<b ist. a,b=b,a if a==b: b=a+10*eps if f(a)*f(b)>0: # Falls die Funktion an den Rändern gleiches # Vorzeichen hat muss es keine Nullstelle geben. print "Es gibt möglicherweise keine Nullstelle." return 0,-1 # Verfahren kann nicht angewandt werden # Methode Intervallhalbierung iterationenanz=0 a=float(a) # damit halbiert werden kann. b=float(b) while abs(b-a)>eps: m=(a+b)/2 iterationenanz+=1 if f(m)==0: # Nullstelle gefunden break elif f(a)*f(m)<0: b=m else:

7 a=m if iterationenanz>200: # Abbruch nach ## Iterationen iterationenanz=-2 break return m,iterationenanz ################################################################ if name == " main ": ns,schritte = intervallschachtelung01(f,0.5,7.5,10**(-6)) if schritte>0: print "Das Nullstellenverfahren intervallschachtelung01 liefert als Nullstelle", ns print " Damit ist f(",ns,")=",f(ns) print " Man benötigte hierfür",schritte,"iterationen." else: print "Vorsicht, Eine Nullstelle ist nicht garantiert." print"\n" Ausgabe an der Konsole Das Nullstellenverfahren intervallschachtelung01 liefert als Nullstelle Damit ist f( )= e-06 Man benötigte hierfür 23 Iterationen. Wichtig: Vor dem Ausschalten des PC kopieren Sie den Ordner src von EcPy\PyPrgs\KA nach Py_ IhrName und dann diesen Ordner Py_ IhrName auf einen Stick, den ich Ihnen gebe. Löschen Sie EcPy (nach Rücksprache mit mir), und loggen Sie NICHT aus.

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

Objektorientierte Programmierung mit Python Polymorphismus und Vererbung. Eltern

Objektorientierte Programmierung mit Python Polymorphismus und Vererbung. Eltern Objektorientierte Programmierung mit Python Polymorphismus und Vererbung Eltern Kind Kind Kind Kind Prinzipien der objektorientierten Programmierung Vererbung Strukturierung von Klassen. Oberbegriffe beschreiben

Mehr

Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode

Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode Methoden und Klassen Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode

Mehr

Kompetent objektorientiert programmieren

Kompetent objektorientiert programmieren Kompetent objektorientiert programmieren Aegidius Plüss, Bern, www.aplu.ch Eine objektorientierte Programmiersprache steht auf drei fundamentalen Säulen: Klassenkapselung (encapsulation) Vererbung (inheritance)

Mehr

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden Kapitel 8 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Methoden Überladen von Methoden Der this-zeiger Konstruktoren Vererbung WS 07/08

Mehr

Methoden. von Objekten definiert werden, Methoden,, Zugriffsmethoden und Read-Only

Methoden. von Objekten definiert werden, Methoden,, Zugriffsmethoden und Read-Only Methoden Wie Konstruktoren und Destruktoren zum Auf- und Abbau von Objekten definiert werden, Wie inline-methoden Methoden,, Zugriffsmethoden und Read-Only Only- Methoden einzusetzen sind, Der this-pointer

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

Programmentwicklung I für Hörer anderer Fachrichtungen -Wintersemester 2003/04- Abschlussklausur 20.02.2004

Programmentwicklung I für Hörer anderer Fachrichtungen -Wintersemester 2003/04- Abschlussklausur 20.02.2004 Programmentwicklung I für Hörer anderer Fachrichtungen -Wintersemester 2003/04- Abschlussklausur 20.02.2004 Name : Vorname : Matrikelnummer : Hauptfach : Nebenfach/Fachrichtung Hinweise : 1. Überprüfen

Mehr

Beispiel 19. December 4, 2009

Beispiel 19. December 4, 2009 Beispiel 9 December 4, 2009 Computermathematik (für Informatik) 4. Übungsblatt (Musterlösung) 2. 2. 2009 Die heutigen Übungen sollen mit dem Computeralgebrasystem Sage gelöst werden. Die Lösung der Beispiele

Mehr

Informatik für Schüler, Foliensatz 23 Konstruktor, String-Methode und Heldenklassse

Informatik für Schüler, Foliensatz 23 Konstruktor, String-Methode und Heldenklassse rof. G. Kemnitz Institut für Informatik, Technische Universität Clausthal 25. Mai 2009 1/10 Informatik für Schüler, Foliensatz 23 Konstruktor, String-Methode und Heldenklassse Prof. G. Kemnitz Institut

Mehr

Grundlagen Programmierung

Grundlagen Programmierung 1. Aufgabe (Spielen mit Objekten) Gegeben sei der auch von der Veranstaltungsseite erhältliche Programmcode auf der rechten Seite, der im Detail zuerst nicht verstanden werden muss. a) Erzeugen Sie sich

Mehr

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung Übersicht 3.1 Modell Konto 3.2 Modell Konto - Erläuterungen 3.3 Benutzer Ein- und Ausgabe mit Dialogfenster I 3.4 Benutzer Ein- und Ausgabe mit Dialogfenster II 3.5 Klassen- und Objekteigenschaften des

Mehr

10 Objektorientierte Programmierung, Teil 1

10 Objektorientierte Programmierung, Teil 1 10 Objektorientierte Programmierung, Teil 1 Wir lernen nun eine andere Technik (vor allem: eine andere Sichtweise) kennen, um unsere Programm zu organisieren, nämlich mittels Klassen und Objekten 184 Objekte,

Mehr

Objektorientierte Programmierung OOP

Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung Ein Computerprogramm besteht aus Funktionen (Programmabschnitten, die etwas tun) und Variablen (Speicherplätzen für Informationen). Werden Funktionen aktiviert, verändern

Mehr

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 3 - Objektorientierung Warum Objektorientierung Daten und Funktionen möglichst eng koppeln und nach außen kapseln Komplexität der Software besser modellieren

Mehr

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen. Ziele sind das Arbeiten mit Funktionen und dem Aufzählungstyp (enum), sowie - einfache Verzweigung (if else) - Alternativen switch case - einfache Schleifen (while oder do while) Aufgabe 3: Diese Aufgabe

Mehr

5.4 Klassen und Objekte

5.4 Klassen und Objekte 5.4 Klassen und Objekte Zusammenfassung: Projekt Figuren und Zeichner Figuren stellt Basisklassen für geometrische Figuren zur Verfügung Zeichner bietet eine übergeordnete Klasse Zeichner, welche die Dienstleistungen

Mehr

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

Übungsblatt 2. Abgabe: Freitag, 7. November 2014, 18:00 Uhr Informatik I: Einführung in die Programmierung Prof. Dr. Bernhard Nebel Dr. Christian Becker-Asano, Dr. Stefan Wölfl Wintersemester 2014/2015 Universität Freiburg Institut für Informatik Übungsblatt 2

Mehr

Fakultät Angewandte Informatik Programmierung verteilter Systeme 28.11.2011. Übungen zur Vorlesung Informatik II, Blatt 6

Fakultät Angewandte Informatik Programmierung verteilter Systeme 28.11.2011. Übungen zur Vorlesung Informatik II, Blatt 6 WS 2011/12 Fakultät Angewandte Informatik Programmierung verteilter Systeme 28.11.2011 Prof. Dr. Bernhard Bauer Übungen zur Vorlesung Informatik II, Blatt 6 Abgabe: Montag, 05.12.2011, 12.00 Uhr, Informatik

Mehr

Programmieren I. Kapitel 5. Kontrollfluss

Programmieren I. Kapitel 5. Kontrollfluss Programmieren I Kapitel 5. Kontrollfluss Kapitel 5: Kontrollfluss Ziel: Komplexere Berechnungen im Methodenrumpf Ausdrücke und Anweisungen Fallunterscheidungen (if, switch) Wiederholte Ausführung (for,

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

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

6 Ein- und Ausgabe. Bisher war unsere (Bildschirm-) Ausgabe leichtflüchtig ( 6 Ein- und Ausgabe Bisher war unsere (Bildschirm-) Ausgabe leichtflüchtig ( Drucken war hoffnungslos übertrieben); heute lernen wir, wie wir die Ergebnisse unserer Programme abspeichern können, um sie

Mehr

Überschreiben von Methoden

Überschreiben von Methoden Vergleich der DoME Realisierungen: Methode ausgeben Version 1 (ohne Vererbung): Anzeigen aller Informationen CD: A Swingin Affair (64 Min)* Frank Sinatra Titelanzahl: 16 Mein Lieblingsalbum von Sinatra

Mehr

JAVA - Methoden

JAVA - Methoden Übungen Informatik I JAVA - http://www.fbi-lkt.fh-karlsruhe.de/lab/info01/tutorial Übungen Informatik 1 Folie 1 sind eine Zusammenfassung von Deklarationen und Anweisungen haben einen Namen und können

Mehr

Programmierkurs Python I

Programmierkurs Python I Programmierkurs Python I Michaela Regneri 2010-01-21 (Folien basieren auf dem gemeinsamen Kurs mit Stefan Thater) Übersicht Mehr Abkürzungen in Python: - map - List Comprehensions Anonyme Funktionen, lambda

Mehr

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter Aufgabe 3: Konto Um Geldbeträge korrekt zu verwalten, sind zwecks Vermeidung von Rundungsfehlern entweder alle Beträge in Cents umzuwandeln und

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 34 Einstieg in die Informatik mit Java Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 34 1 Definition von Klassen 2 Methoden 3 Methoden

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Sommersemester 2014 Jochen Hoenicke (Software Engineering) Einführung in die Informatik Sommersemester

Mehr

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {... PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:

Mehr

Informationsverarbeitung im Bauwesen

Informationsverarbeitung im Bauwesen 1/21 Informationsverarbeitung im Bauwesen Einführung in das Programmieren mit C++ Markus Uhlmann Institut für Hydromechanik Karlsruher Institut für Technologie www.ifh.kit.edu WS 2010/2011 Vorlesung 8

Mehr

5.5.8 Öffentliche und private Eigenschaften

5.5.8 Öffentliche und private Eigenschaften 5.5.8 Öffentliche und private Eigenschaften Schnittstellen vs. Implementierungen: Schnittstelle einer Klasse beschreibt, was eine Klasse leistet und wie sie benutzt werden kann, ohne dass ihre Implementierung

Mehr

Für die Erstellung von Javaprogrammen sind eventuell zwei Komponenten nötig. 1. Das Java-Develepment-Kit (JDK) und die 2. Java Runtime Engine (JRE)

Für die Erstellung von Javaprogrammen sind eventuell zwei Komponenten nötig. 1. Das Java-Develepment-Kit (JDK) und die 2. Java Runtime Engine (JRE) Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Für die Erstellung von Javaprogrammen sind eventuell zwei Komponenten nötig. 1. Das Java-Develepment-Kit (JDK) und die 2. Java

Mehr

Programmierkurs Python I

Programmierkurs Python I Programmierkurs Python I Stefan Thater & Michaela Regneri Universität des Saarlandes FR 4.7 Allgemeine Linguistik (Computerlinguistik) Übersicht mehr zu OOP: - Hintergründe - Vererbung Methoden zur Operatoren-Überladung

Mehr

Vorkurs C++ Programmierung

Vorkurs C++ Programmierung Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Programmierkurs C++ Kapitel 7:Objektorientierte Programmierung Seite 1 Objektorientierte Programmierung If programming in PASCAL is like put in a straightjacket, then programming in C is like playing with

Mehr

Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012

Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012 WS 2011/2012 Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012 Prof. Dr. Robert Lorenz Musterlösung zur Vorlesung Informatik I, Extrablatt zu komplexen Datenstrukturen Aufgabe 45 **

Mehr

Inhaltsüberblick. I. Grundbegriffe - Objekte und Klassen. Organisatorisches. I. Grundbegriffe - Objektorientierte Konzepte

Inhaltsüberblick. I. Grundbegriffe - Objekte und Klassen. Organisatorisches. I. Grundbegriffe - Objektorientierte Konzepte Grundkonzepte Objektorientierter Programmierung Nicole Himmerlich FSU Jena mit Java, Oberon-2, Object-Pascal und Python Inhaltsüberblick I. Grundbegriffe 1) Kopplung 2) Datenkaspelung 3) Konstruktor 4)

Mehr

Grundlagen von Python

Grundlagen von Python Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren

Mehr

Programmieren in MATLAB Mehr als nur ein Taschenrechner

Programmieren in MATLAB Mehr als nur ein Taschenrechner Computational Physics 1, Seminar 02 Seite 1 Programmieren in MATLAB Mehr als nur ein Taschenrechner 1) Definition eigener Funktionen Anlegen eines neuen m-files im m-file-editor mit folgem Beispielinhalt:

Mehr

Java Einführung Methoden. Kapitel 6

Java Einführung Methoden. Kapitel 6 Java Einführung Methoden Kapitel 6 Inhalt Deklaration und Aufruf von Methoden Lokale und globale Namen (Bezeichner) Sichtbarkeit und Lebensdauer von Variablen in Methoden Überladen von Methoden 2 Methoden

Mehr

Programmieren II Vererbung. Programmieren II Vererbung. Programmieren II Vererbung. Programmieren II Vererbung. Einleitende Bemerkungen

Programmieren II Vererbung. Programmieren II Vererbung. Programmieren II Vererbung. Programmieren II Vererbung. Einleitende Bemerkungen Einleitende Bemerkungen Einleitende Bemerkungen Ideen hinter der objektorientierten Programmierung Objekte (/* Instanzen einer Klasse */) im Mittelpunkt Objekte bilden Einheit aus Daten (/* Attributen,

Mehr

Objektorientierte Programmierung mit Java. Grundlagen Übersicht. Programmiersprachen

Objektorientierte Programmierung mit Java. Grundlagen Übersicht. Programmiersprachen Objektorientierte Programmierung mit Grundlagen 27.10.2008 1 Übersicht 27.10.2008 2 1 Übersicht Klassen und Objekte in - Klassen - Objekte - Klassen - Objekte 27.10.2008 3 Übersicht 27.10.2008 4 2 Einführung

Mehr

Informatik für Schüler, Foliensatz 21 Objektorientierte Programmierung

Informatik für Schüler, Foliensatz 21 Objektorientierte Programmierung rof. G. Kemnitz Institut für Informatik, Technische Universität Clausthal 23. April 2009 1/14 Informatik für Schüler, Foliensatz 21 Objektorientierte Programmierung Prof. G. Kemnitz Institut für Informatik,

Mehr

Übung Datenstrukturen. Objektorientierung in C++

Übung Datenstrukturen. Objektorientierung in C++ Übung Datenstrukturen Objektorientierung in C++ Aufgabe 1a - Farben Schreiben Sie eine Klasse COLOR zur Beschreibung von Farben. Eine Farbe werde hierbei additiv durch ihren Rot-, Grün- und Blauanteil

Mehr

C++ - Einführung in die Programmiersprache Polymorphismus und Vererbung. Eltern

C++ - Einführung in die Programmiersprache Polymorphismus und Vererbung. Eltern C++ - Einführung in die Programmiersprache Polymorphismus und Vererbung Eltern Kind Kind Vererbung Definition von Klassen auf Basis von bestehenden Klassen. Implementierung von ist ein. bildet ein hierarchisches

Mehr

Sichtbarkeit & statische Methoden. Einsatz von Sichtbarkeit Einsatz statischer Methoden programmatische Realisierung 2 Beispielaufgaben

Sichtbarkeit & statische Methoden. Einsatz von Sichtbarkeit Einsatz statischer Methoden programmatische Realisierung 2 Beispielaufgaben Sichtbarkeit & statische Methoden Einsatz von Sichtbarkeit Einsatz statischer Methoden programmatische Realisierung 2 Beispielaufgaben Nicht sichtbare Methoden Wollen Eltern bestimmte Methoden vor den

Mehr

Beispiel: Zwischen der Oberklasse und der abgeleiteten Klasse besteht eine ist ein Beziehung. Eine abgeleitete Klasse stellt eine Spezialisierung der

Beispiel: Zwischen der Oberklasse und der abgeleiteten Klasse besteht eine ist ein Beziehung. Eine abgeleitete Klasse stellt eine Spezialisierung der Vererbung Vererbung ist ein Konzept der objektorientierten Programmierung,, die es ermöglicht neue Klassen von bereits vorhandenen Klassen abzuleiten. In einer abgeleiteten Klasse (subclass) muss nur spezifiziert

Mehr

Schritt 1 - Ein Spielfeld

Schritt 1 - Ein Spielfeld Schritt 1 - Ein Spielfeld Wir beginnen mit zwei einfachen Java-Klassen, dem eigentlichen Spielfeld und dem Applet zum Anzeigen des Spielfeldes (und später der Buttons und der anderen Bedienelemente). Hier

Mehr

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005 Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der

Mehr

Vorkurs Informatik: Erste Schritte der Programmierung mit C++

Vorkurs Informatik: Erste Schritte der Programmierung mit C++ Vorkurs Informatik WS 14/15 Vorkurs Informatik: Erste Schritte der Programmierung mit C++ Tag 3: Objektorientiere Programmierung 8. Oktober 2014 Vorkurs Informatik WS 14/15 > Einführung Agenda 1 Einführung

Mehr

4 Vererbung, Polymorphie

4 Vererbung, Polymorphie 4 Vererbung, Polymorphie Jörn Loviscach Versionsstand: 21. März 2014, 22:57 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html This work

Mehr

Programmieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek

Programmieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek Programmieren I Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2008/2009 1 / 22 2 / 22 Strategie zum Entwurf von Klassen Beispiele Objektorientierte Sichtweise: Mit welchen Objekten habe ich es

Mehr

Programmieren mit Python

Programmieren mit Python Programmieren mit Python Programmieren heisst: Dem Computer sagen, was er tun soll. Die Befehle muss man übrigens in einer Sprache geben, die der Computer versteht. Darum sind verschiedene Programmiersprachen

Mehr

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg. Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 Klausurteilnehmer Name: Matrikelnummer: Wichtige Hinweise Es sind keinerlei Hilfsmittel zugelassen auch keine Taschenrechner! Die Klausur dauert

Mehr

Programmieren II Klassen. Programmieren II Klassen. Programmieren II Klassen. Programmieren II Klassen. Zur Erinnerung.

Programmieren II Klassen. Programmieren II Klassen. Programmieren II Klassen. Programmieren II Klassen. Zur Erinnerung. Vorbemerkungen Zur Erinnerung aktueller Standpunkt: Entwickler von (bibliotheken) jetzt sind wichtig interne Repräsentation der Daten Realisierung der gewünschten Funktionalität Bereitstellung geeigneter

Mehr

Objektorientierte Programmierung (OOP) in Python

Objektorientierte Programmierung (OOP) in Python Objektorientierte Programmierung (OOP) in Python Dr. Michael Savorić Hohenstaufen-Gymnasium (HSG) Kaiserslautern Version 20090901 Überblick Einführungsbeispiel Basiskonzepte der OOP OOP in Python Beispiele

Mehr

Projekt: Python Programmierung

Projekt: Python Programmierung Projekt: Python Programmierung Zeichnen mit Schildkröten das Elektrotechnik- und Informatik-Labor der Fakultät IV http://www.dein-labor.tu-berlin.de Handout zum Projekt: Python Programmierung Zeichnen

Mehr

JAVA - Methoden - Rekursion

JAVA - Methoden - Rekursion Übungen Informatik I JAVA - Methoden - Rekursion http://www.fbi-lkt.fh-karlsruhe.de/lab/info01/tutorial Übungen Informatik 1 1 Methoden Methoden sind eine Zusammenfassung von Deklarationen und Anweisungen

Mehr

Der Operator this. Wir betrachten nochmals die Klassendefinition von Ballon.

Der Operator this. Wir betrachten nochmals die Klassendefinition von Ballon. Der Operator this Wir betrachten nochmals die Klassendefinition von Ballon. public class Ballon { private int durchmesser; private int x1, y1; private Color farbe =Color.black; // Konstruktor ohne Farbe

Mehr

Präsentation Interfaces

Präsentation Interfaces Einführung in Java Präsentation Interfaces Nozar Delassaei Marvi Inhalt 1. Erinnerung Klasse Objekte Beispiel Klasse Abstrakte Klasse Beispiel Abstrakte Klasse Mehrfachvererbung-1 Mehrfachvererbung-2 2.

Mehr

Einführung in die. objektorientierte Programmierung

Einführung in die. objektorientierte Programmierung Einführung in die objektorientierte Programmierung Teil 3 Vererbung Modul WI111: Objektorientierte Programmierung Fachrichtung Wirtschaftsinformatik Prof. Dr. Gert Faustmann Fachbereich Berufsakademie

Mehr

Handbuch für die Erweiterbarkeit

Handbuch für die Erweiterbarkeit Handbuch für die Erweiterbarkeit Inhalt Pakete für die Erweiterbarkeit... 2 Actions... 2 Items... 2 Itemset... 2 Die UseCaseNewAction... 3 Eigene Shapes... 4 Der Shape Container... 5 User Objects... 6

Mehr

1. Übung zu "Numerik partieller Differentialgleichungen"

1. Übung zu Numerik partieller Differentialgleichungen 1. Übung zu "Numerik partieller Differentialgleichungen" Simon Gawlok, Eva Treiber Engineering Mathematics and Computing Lab 22. Oktober 2014 1 / 15 1 Organisatorisches 2 3 4 2 / 15 Organisatorisches Ort:

Mehr

Aufgabe 1: Quer durch Java (4 Punkte) super abstract abstract protected

Aufgabe 1: Quer durch Java (4 Punkte) super abstract abstract protected Universität Augsburg, Institut für Informatik Sommersemester 2006 Prof. Dr. Werner Kießling 14. Oktober 2006 Markus Endres, Alfons Huhn, Timotheus Preisinger Informatik II Klausur 2 Hinweise: Die Bearbeitungszeit

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2009/0 : Technik vs. Iteration Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund 2 Definition (einfache,

Mehr

Übungsaufgaben: 1. Objektorientierte Programmierung - Teil 1

Übungsaufgaben: 1. Objektorientierte Programmierung - Teil 1 Übungsaufgaben: 1. Objektorientierte Programmierung - Teil 1 1. Das Objekt Bruch mit einem Standardkonstruktor (initialisieren mit 0), einem allgemeinen Konstruktor (Zähler und Nenner können beliebig vorgegeben

Mehr

Programmierung in Python

Programmierung in Python Programmierung in Python imperativ, objekt-orientiert dynamische Typisierung rapid prototyping Script-Sprache Funktionales und rekursives Programmieren P raktische Informatik 1, W S 2004/05, F olien P

Mehr

Einführung in die Programmierung 1

Einführung in die Programmierung 1 Einführung in die Programmierung 1 Einführung (S.2) Einrichten von Eclipse (S.4) Mein Erstes Programm (S.5) Hallo Welt!? Programm Der Mensch (S.11) Klassen (S.12) Einführung Wie Funktioniert Code? Geschriebener

Mehr

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden. Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 03: Wiederholung und Nutzereingaben Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Wiederholung Klassen, Objekte, Attribute und Methoden

Mehr

Kontrollstrukturen und Funktionen in C

Kontrollstrukturen und Funktionen in C Kontrollstrukturen und Funktionen in C Lernziele: Vertiefen der Kenntnisse über Operatoren, Kontrollstrukturen und die Verwendung von Funktionen. Aufgabe 1: Quickies: Datentypen in C a) Was sind die elementaren

Mehr

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

Variablen in MATLAB. Unterschiede zur Mathematik: Symbolisches und numerisches Rechnen. Skriptdateien. for-schleifen. Variablen in MATLAB. Unterschiede zur Mathematik: Symbolisches und numerisches Rechnen. Skriptdateien. for-schleifen. Wir wollen uns heute dem Thema Variablen widmen und uns damit beschäftigen, wie sich

Mehr

Name: Klausur Programmierkonzepte SS 2011

Name: Klausur Programmierkonzepte SS 2011 Prof. Dr.-Ing. Hartmut Helmke Ostfalia Hochschule für angewandte Wissenschaften Fakultät für Informatik Matrikelnummer: Punktzahl: Ergebnis: Freiversuch F1 F2 F3 Klausur im SS 2011: Programmierkonzepte

Mehr

11.3 Virtuelle Methoden

11.3 Virtuelle Methoden 11.3 Virtuelle Methoden Überdeckte Methoden: Betrachten wir noch einmal unsere Klassen Employee und Manager. class Employee void print() const cout

Mehr

Abschnitt 9: Schnittstellen: Interfaces

Abschnitt 9: Schnittstellen: Interfaces Abschnitt 9: Schnittstellen: Interfaces 9. Schnittstellen: Interfaces 9.1 Die Idee der Schnittstellen 9.2 Schnittstellen in Java 9.3 Marker-Interfaces 9.4 Interfaces und Hilfsklassen 9.5 Zusammenfassung

Mehr

Android will doch nur spielen. Java Übung

Android will doch nur spielen. Java Übung Android will doch nur spielen Java Übung Vorbereitung: Erstellen Sie mit Eclipse zunächst ein neues Java Projekt JavaUebungen. Lassen Sie die restlichen Einstellungen unverändert. Erzeugen Sie das Projekt

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung Kapitel 6 Vererbung Vererbung 1 Ziele Das Vererbungsprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen

Mehr

Angewandte Mathematik und Programmierung

Angewandte Mathematik und Programmierung Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens SS2013 Inhalt Projekt Vorlesung: praktische Implementierung üben Ein und

Mehr

Bearbeitungszeit: 120 Minuten. Kommentare kosten Zeit; kommentieren Sie ihr Programm nur da, wo der Code alleine nicht verständlich wäre.

Bearbeitungszeit: 120 Minuten. Kommentare kosten Zeit; kommentieren Sie ihr Programm nur da, wo der Code alleine nicht verständlich wäre. Fakultät IV Elektrotechnik/Informatik Klausur Einführung in die Informatik I für Elektrotechniker Name:... Matr.-Nr.... Bearbeitungszeit: 120 Minuten Bewertung (bitte offenlassen : ) Aufgabe Punkte Erreichte

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Rückblick Datentypen (int, long, double, boolean, String) Variablen und Variablendeklarationen

Mehr

Funktionen in Matlab. Lehrstuhl für Angewandte Mathematik Sommersemester und 29. Mai 2008

Funktionen in Matlab. Lehrstuhl für Angewandte Mathematik Sommersemester und 29. Mai 2008 Funktionen in Matlab Vorlesung Computergestützte Mathematik zur Linearen Algebra Lehrstuhl für Angewandte Mathematik Sommersemester 2008 15. und 29. Mai 2008 Funktionen in Matlab Wir kennen schon diverse

Mehr

Objektorientierte Programmierung (OOP) in Python

Objektorientierte Programmierung (OOP) in Python Objektorientierte Programmierung (OOP) in Python Dr. Michael Savorić Hohenstaufen-Gymnasium (HSG) Kaiserslautern Version 20110821 Überblick Einführungsbeispiel Basiskonzepte der OOP OOP in Python Beispiele

Mehr

13 OOP MIT DELPHI. Records und Klassen Ein Vergleich

13 OOP MIT DELPHI. Records und Klassen Ein Vergleich 13 OOP MIT DELPHI Delphi war früher "Object Pascal". Dieser Name impliziert eine Funktionalität, welche in der Welt der Programmierung nicht mehr wegzudenken ist: die objektorientierte Programmierung,

Mehr

FH München, FB 03 FA WS 06/07. Ingenieurinformatik. Name Vorname Matrikelnummer Sem.Gr.: Hörsaal Platz

FH München, FB 03 FA WS 06/07. Ingenieurinformatik. Name Vorname Matrikelnummer Sem.Gr.: Hörsaal Platz FH München, FB 03 FA WS 06/07 Ingenieurinformatik Name Vorname Matrikelnummer Sem.Gr.: Hörsaal Platz Zulassung geprüft vom Aufgabensteller: Teil I Aufg. 2 Aufg. 3 Aufg. 4 Aufg. 5 Summe Note Aufgabensteller:

Mehr

Einstieg ins Programmieren mit Python

Einstieg ins Programmieren mit Python Einstieg ins Programmieren mit Python Merk-Steine auf dem Weg zu Python für Kids Autor: Gregor Lingl Email: glingl@aon.at Folie 1 Gregor Lingl, Jan. 2003 http://python4kids.net Leicht zu lernen. Python-Code

Mehr

Python Programmieren. Variablen, Ausdrücke und Anweisungen

Python Programmieren. Variablen, Ausdrücke und Anweisungen Python Programmieren Funktionen Module und Namensräume Datentypen in Python Was noch zu sagen bleibt... richard rascher-friesenhausen Programmierung SS 12 Daten: Wert und Typ Variablen Variablennamen und

Mehr

188.154 Einführung in die Programmierung Vorlesungsprüfung

188.154 Einführung in die Programmierung Vorlesungsprüfung Matrikelnummer Studienkennzahl Name Vorname 188.154 Einführung in die Programmierung Vorlesungsprüfung Donnerstag, 27.1.2005, 18:15 Uhr EI 7 Arbeitszeit: 60 min - max. 50 Punkte erreichbar - Unterlagen

Mehr

28. April 2006. Python ist eine Interpreter Sprache. einfach durch eigene C Module erweiterbar. Daten werden dynamisch getypt

28. April 2006. Python ist eine Interpreter Sprache. einfach durch eigene C Module erweiterbar. Daten werden dynamisch getypt Python in der Schule 28. April 2006 1 Grundlagen Wir 1 beziehen uns in unserer Zusammenfassung auf die Python Version 2.3.5 vom 8. Februar 2005. 2 Die Haupteigenschaften von Python sind: Python ist eine

Mehr

Übungspaket 19 Programmieren eigener Funktionen

Übungspaket 19 Programmieren eigener Funktionen Übungspaket 19 Programmieren eigener Funktionen Übungsziele: Skript: 1. Implementierung und Kodierung eigener Funktionen 2. Rekapitulation des Stack-Frames 3. Parameterübergabe mittels Stack und Stack-Frame

Mehr

Aufgabe 1 (12 Punkte)

Aufgabe 1 (12 Punkte) Aufgabe 1 (12 Punkte) Schreiben Sie ein Java-Programm, das zeichenweise von der Standardeingabe liest und ermittelt, wieviele Worte die Eingabe umfaßt. Diese Anzahl soll ausgegeben werden. Ein Wort sei

Mehr

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer

Mehr

Betreutes Programmieren Vorlesung Informatik II, Blatt 7 Musterlösung

Betreutes Programmieren Vorlesung Informatik II, Blatt 7 Musterlösung SS 2011 Fakultät für Angewandte Informatik Lehrprofessur für Informatik 15.06.2011 Prof. Dr. Robert Lorenz Betreutes Programmieren Vorlesung Informatik II, Blatt 7 Musterlösung Programmieraufwand für geübte

Mehr

3 Objektorientierte Konzepte in Java

3 Objektorientierte Konzepte in Java 3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können

Mehr

Programmieren - Vererbung & Polymorphie

Programmieren - Vererbung & Polymorphie Programmieren - Vererbung & Polymorphie Reiner Nitsch r.nitsch@fbi.h-da.de Vererbung - Was ist das? Vererbung ist ein wichtiges Konzept zur Unterstützung der Wiederverwendbarkeit, wenn auch nicht das Wichtigste.

Mehr

Klausur Informatik Programmierung, Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg

Klausur Informatik Programmierung, Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg Klausur Informatik Programmierung, 22.09.2011 Seite 1 von 8 Klausurteilnehmer Name: Matrikelnummer: Wichtige Hinweise Es sind keinerlei Hilfsmittel zugelassen auch keine Taschenrechner! Die Klausur dauert

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr

Java I Vorlesung Vererbung und Sichtbarkeit

Java I Vorlesung Vererbung und Sichtbarkeit Java I Vorlesung 4 Vererbung und Sichtbarkeit 17.5.2004 Vererbung Überladen, Überschreiben, Verstecken, Verschatten Zugriffskontrolle Statische Members Wiederholung: OOP Programme bestehen aus Klassen.

Mehr

Excel Funktionen durch eigene Funktionen erweitern.

Excel Funktionen durch eigene Funktionen erweitern. Excel Funktionen durch eigene Funktionen erweitern. Excel bietet eine große Anzahl an Funktionen für viele Anwendungsbereiche an. Doch es kommt hin und wieder vor, dass man die eine oder andere Funktion

Mehr