Programmieren im Unterricht mit Python

Größe: px
Ab Seite anzeigen:

Download "Programmieren im Unterricht mit Python"

Transkript

1 Programmieren im Unterricht mit Python Python in Beispielen: Eine Einführung für Programmierer J. Arnold, M. Guggisberg, T. Kohn, A. Plüss

2 Copyright c 2015, TigerJython Team Version vom 5./6. September 2015.

3 Programmieren im Unterricht mit Python 3 1 Listen und Summen Einführung Die Primzahlen eignen sich hervorragend als Beispiel- Liste, weil die Zahlen nicht regelmässig verteilt sind. In diesem Abschnitt stellen wir verschiedene Techniken vor, um die Summe einer Liste von Primzahlen (oder anderem) zu berechnen. For-Schleife For-Schleifen in Python arbeiten immer mit Listen: Die Laufvariable geht der Reihe nach alle Elemente einer Liste durch. Damit ist diese Technik prädestiniert, um die Summe zu bilden. 1 primes = [2, 3, 5, 7, 11, 13, 17, 19] 2 summe = 0 3 for p in primes: 4 summe += p 5 print summe Funktionen In Python wird eine Funktion mit def definiert und gibt mit return ein Resultat zurück. Indem wir den Code oben in eine Funktion verpacken, haben wir flexibleren, wiederverwendbaren Code. 1 def summe(liste): 2 result = 0 3 for zahl in liste: 4 result += zahl 5 return result 6 7 primes = [2, 3, 5, 7, 11, 13, 17, 19] 8 print summe(primes) Eine Funktion für alles Weil Variablen in Python keinen festen Typ haben, können wir die Summenfunktion auch so umschreiben, dass sie Strings (Zeichenketten) zusammenhängt. 1 def summe(liste): 2 if liste!= []: 3 result = head(liste) 4 for item in tail(liste): 5 result += item 6 return result 7 else: 8 return None 9 10 primes = [2, 3, 5, 7, 11, 13, 17, 19] 11 print summe(primes) 12 print summe(["tic", "Tac", "Toe"])

4 4 Programmieren im Unterricht mit Python Rekursion Für die Rekursion haben sich die Funktionen head und tail als nützlich herausgestellt. Dabei gibt head(liste) das erste Element zurück, tail(liste) den Rest wiederum als Liste. 1 def summe(liste): 2 if liste == []: 3 return 0 4 else: 5 return head(liste) + summe(tail(liste)) 6 7 primes = [2, 3, 5, 7, 11, 13, 17, 19] 8 print summe(primes) Mit head und tail können wir das erste Element einer Liste abspalten. head([2,3,5]) = 2 tail([2,3,5]) = [3,5] Für Profis: Falten* Wir gehen noch einen Schritt weiter und machen sogar die «Addition» austauschbar. Wir können dann nicht nur Summen, sondern auch Produkte mit der gleichen Funktion berechnen. Dazu nutzen wir aus, dass Funktionen in Python 1.-Klass-Objekte sind. Das heisst, wir können eine Funktion als Parameter an eine andere Funktion übergeben! 1 def fold(liste, op): 2 result = head(liste) 3 for item in tail(liste): 4 result = op(result, item) 5 return result 6 7 def add(x, y): 8 return x + y 9 10 def mul(x, y) 11 return x * y primes = [2, 3, 5, 7, 11, 13, 17, 19] 14 print fold(primes, add) 15 print fold(primes, mul) Noch etwas schöner wird es, wenn wir Lambda-Ausdrücke verwenden, um kurze Funktionen direkt in den Code einzubetten. Die Operationsfunktionen add und mul oben können wir im Prinzip auch so schreiben: add = lambda x, y: x + y mul = lambda x, y: x * y Die Namen add und mul sind aber ebenfalls überflüssig und wir rufen fold direkt so auf: 1 primes = [2, 3, 5, 7, 11, 13, 17, 19] 2 print fold(primes, lambda x, y: x + y) 3 print fold(primes, lambda x, y: x * y)

5 Listen und Summen 5 AUFGABEN 1. Schreibe eine Funktion fakult(n), die die Fakultät n! = n einer Zahl n berechnet. Natürlich geht das auf völlig verschiedene Arten und die interessante Aufgabe wäre, möglichst viele verschiedene Wege für die Berechnung zu finden. 2. Ein altes Rätsel von Sam Loyd ( ): Neulich sah ich mir zusammen mit einem Freund die Attraktionen auf Coney Island an, und dabei lernten wir kennen, was uns jemand als das ehrlichste Spiel am ganzen Strand anpries. Da waren zehn kleine Figuren, die man mit einem Ball umwerfen musste. Der Mann sagte: «Für 1 Cent haben Sie einen Wurf, und Sie können werfen, so oft Sie wollen, und so dicht rangehen, wie Sie wollen. Zählen Sie die Zahlen auf den Figuren, die Sie umwerfen zusammen, und wenn Sie genau 50 haben, nicht mehr und nicht weniger, erhalten Sie eine prächtige Maggie-Cline- Zigarre mit einem Goldband drum herum.» Unser Geld war alle, noch bevor wir heraus hatten, wie man eigentlich gewinnen konnte. Ausserdem fiel uns auf, dass eine ganze Menge Leute genauso wenig Maggie-Cline-Zigarren rauchten wie wir. Wissen Sie, wie man genau 50 Punkte macht? Die Aufgabe besteht also darin, aus den gegebenen Zahlen jene herauszusuchen, die zusammen die Summe 50 ergeben: 25, 27, 3, 12, 6, 15, 9, 30, 21, 19 Schreibe ein Programm, das diese Aufgabe für dich übernimmt!

6 6 Programmieren im Unterricht mit Python 2 Fibonacci-Zahlen berechnen Einführung Die Fibonacci-Zahlen sind das klassische Beispiel für eine rekursiv definierte Zahlenfolge: a n = a n 2 + a n 1, a 0 = a 1 = 1 1, 1, 2, 3, 5, 8, 13, 21,... In diesem Abschnitt untersuchen wir verschiedene rekursive und iterative Möglichkeiten, um die Fibonacci-Zahlen zu berechnen. Der naive Ansatz Wir beginnen mit dem naiven Ansatz und definieren eine Funktion fib(n) aus der rekursiven Formel oben. Aber vorsicht: Dieser Ansatz hat eine exponentielle Laufzeit! 1 def fib(n): 2 if n < 2: 3 return 1 4 else: 5 return fib(n-2) + fib(n-1) 6 7 print fib(30) Iterativer Ansatz mit Liste Ein iterativer Ansatz (d. h. mit einer Schleife) arbeitet viel schneller und ist ebenfalls einfach zu programmieren. Python erleichtert uns die Arbeit sehr, indem wir mit liste[-1] bzw. liste[-2] auf das letzte und zweitletzte Element einer Liste zugreifen können. 1 def fib(n): 2 F = [1, 1] 3 repeat n-1: 4 x = F[-2] + F[-1] 5 F.append(x) 6 return F[-1] 7 8 print fib(30) Iterativer Ansatz ohne Liste In diesem zweiten iterativen Ansatz verzichen wir auf die Liste. Eigentlich genügt es ja, wenn wir von der Liste jeweils die beiden letzten Elemente speichern. Python erlaubt uns, hier mit Tupeln zu arbeiten und die Abbildung (a, b) (b, a + b) direkt umzusetzen. 1 def fib(n): 2 (a, b) = (1, 1) 3 repeat n-1: 4 (a, b) = (b, a+b)

7 Fibonacci-Zahlen berechnen 7 5 return b 6 7 print fib(30) Memoization: Rekursion mit Liste Als letzten Ansatz stellen wir noch «Memoization» vor. Um den rekursiven Ansatz schneller zu machen speichern wir hier die Werte, die bereits berechnet wurden. Dazu verwenden wir ein Dictionary (Hash-Table, s. unten). 1 memo_table = {} 2 def fib(n): 3 if n < 2: 4 return 1 5 elif n in memo_table: 6 return memo_table[n] 7 else: 8 result = fib(n-2) + fib(n-1) 9 memo_table[n] = result 10 return result print fib(30) Alternativ wäre hier noch eine kürzere Variante des selben: 1 memo_table = {0: 1, 1: 1} 2 def fib(n): 3 if n not in memo_table: 4 memo_table[n] = fib(n-2) + fib(n-1) 5 return memo_table[n] 6 7 print fib(30) Dictionaries Neben Listen sind auch Dictionaries in Python fest eingebaute Datenstrukturen. Die Schlüssel ("Name", (3,4) etc.) dürfen beliebige (unveränderbare) Datentypen haben. BDFL = {"Name": "van Rossum", "Vorname": "Guido", "Geb-Jahr": 1956, "BDFL": True} PT = {(3, 4): 5, (5, 12): 13, (20, 21): 29} print "Name", BDFL["Name"] print PT[(5, 12)] Memoization ist eine spezielle Form des «Caching» von Funktionswerten. Was ist Memoization? Bei Memoization gehen wir davon aus, dass es aufwendig oder teuer ist, den Funktionswert f(x) für einen Wert x zu berechnen. Deshalb verwenden wir eine Liste oder Tabelle und speichern alle Funktionswerte von f(x) nach deren ersten Berechnung. Für einen bestimmten Wert x 1 kann also der erste Aufruf von f(x 1 ) noch teuer sein. Ab dem zweiten Aufruf liegt das Resultat aber bereits vor und wird direkt der Liste/Tabelle entnommen.

8 8 Programmieren im Unterricht mit Python 3 Listen: Chaos und Ordnung Zufallszahlen Für viele Zwecke ist es nützlich, eine Liste mit Zufallszahlen erstellen zu können, um dann mit einer solchen zufälligen Liste weiterzuarbeiten. Dazu laden wir die Funktin randint aus dem random-modul und erzeugen dann mit randint(0, 20) eine Zufallszahl zwischen 0 und from random import randint 2 liste = [] 3 repeat 30: 4 liste.append(randint(0, 20)) Mit List-Comprehensions geht das natürlich auch kürzer: from random import randint liste = [randint(0, 20) for x in range(30)] Zahlen binär zerlegen Jede ganze Zahl lässt sich auch binär schreiben. So hat 69 etwa die Binärdarstellung Diese Binärdarstellung soll uns Python liefern. Dabei sind // die Ganzzahl-Division und % der Rest dieser Ganzzahl-Division. 1 binary = [] 2 zahl = 69 3 repeat 8: 4 binary.insert(0, zahl % 2) 5 zahl = zahl // 2 6 print binary Pythons Divisionsoperatoren: 61 / 8 = // 8 = 7 61 % 8 = 5 Mit join werden die einzelnen Ziffern zu einem String ohne Kommata verbunden, so dass eine eigentliche Binärzahl entsteht: print join(binary) Sortieren (I) Nachdem wir eine Liste erzeugt haben wollen wir sie auch sortieren. Hier ist ein einfacher Algorithmus, der demonstriert, wie man Elemente aus einer ersten Liste entfernen und an eine andere Liste anhängen kann. 1 def my_sort(liste): 2 result = [] 3 while liste!= []: 4 x = min(liste) 5 liste.remove(x) # x aus alter Liste entfernen 6 result.append(x) # x an neue Liste anhängen 7 return result 8 9 print my_sort([14, 3, 4, 5, 17, 7, 18, 11, 19]) 10 print my_sort(["kuh", "Biene", "Zebra", "Emu", "Affe"])

9 Listen: Chaos und Ordnung 9 Sortieren (II) Diese Variante des Sortierens erstellt eine neue Liste, in der jedes Element an der richtigen Stelle eingefügt wird, so dass die Liste jederzeit korrekt sortiert ist. Elemente, die grösser sind als alle bisherigen können nicht eingefügt werden, sondern werden am Ende angehängt. 1 def my_sort(liste): 2 result = [] 3 for item in liste: 4 inserted = False 5 for i in indices(result): 6 if result[i] > item: 7 result.insert(i, item) 8 inserted = True 9 break 10 if not inserted: 11 result.append(item) 12 return result print my_sort([14, 3, 4, 5, 17, 7, 18, 11, 19]) Sortieren (III): Merge-Sort Die dritte Variante eines Sortieralgorithmus ist «Merge-Sort». Wir arbeiten hier mit Rekursion und nutzen aus, dass wir eine Liste in Python sehr einfach auftrennen können: liste = [4, 9, 1, 7, 5, 3] liste[2:4] -> [1, 7] liste[:3] -> [4, 9, 1] liste[3:] -> [7, 5, 3] 1 def merge_sort(liste): 2 if len(liste) <= 1: 3 return liste 4 # Liste aufteilen und Teile sortieren: 5 idx = len(liste) // 2 6 parta = merge_sort(liste[:idx]) 7 partb = merge_sort(liste[idx:]) 8 # Teillisten miteinander verschmelzen: 9 result = [] 10 while parta!= [] and partb!= []: 11 if head(parta) < head(partb): 12 result.append(head(parta)) 13 parta = tail(parta) 14 else: 15 result.append(head(partb)) 16 partb = tail(partb) 17 # Entweder parta oder partb ist hier leer: 18 return result + parta + partb print merge_sort([4, 9, 1, 7, 5, 3])

10 10 Programmieren im Unterricht mit Python Filtern Diese einfache Variante einer Filter-Funktion zeigt, wie du in Python mit in direkt prüfen kannst, ob ein Element in einer Liste vorkommt. 1 def filter(liste, allowed): 2 result = [] 3 for item in liste: 4 if item in allowed: 5 result.append(item) 6 return result 7 8 print filter([4, -3, 0, 2, -5], [0, 2, 4, 6, 8]) Hier noch die Kurzversion mit List Comprehensions: def filter(liste, allowed): return [x for x in liste if x in allowed] AUFGABEN 3. Schreibe eine Funktion, die aus einer gegebenen Liste alle doppelt vorkommenden Elemente entfernt. 4. Schreibe eine Funktion, die zwei Listen vergleicht und die Anzahl der Elemente zurückgibt, die in beiden Listen vorkommen. 5. Schreibe eine Funktion, die zu einer gegebenen Liste eine zufällige Permutation erzeugt und zurückgibt. 6. Schreibe eine Lotto-Simulation. Wähle zuerst 6 Zahlen aus 42 aus und führe dann Ziehungen mit 7 Zufallszahlen durch. Das Programm gibt dann jedes Mal die 7 Zahlen aus, wenn 4, 5 oder 6 «richtige» dabei sind und zählt zusammen, wie oft du mit deinen 6 Glückszahlen gewonnen hast. 7. Gegeben ist eine Liste, die nur die Zahlen 0 und 1 enthält. Finde darin die längste Abfolge von Nullen oder Einsen. Für die Eingabe [0, 1, 1, 0, 0, 1, 1, 1, 0] wäre die längste Folge [1, 1, 1]. Das Programm soll drei Informationen dazu ausgeben: Die Länge der Folge, ob es Nullen oder Einsen sind und an welcher Stelle in der Liste die Folge auftritt.

11 Listen: Punkte und Polygone 11 4 Listen: Punkte und Polygone Tupel werden im Gegensatz zu Listen mit runden Klammern geschrieben: Liste: [1, 2, 3] Tupel: (1, 2, 3) Einführung Punkte lassen sich in Python direkt mit Tupeln abbilden. Ein Tupel ist eine «unveränderbare» Liste. Einmal erzeugt, ändern sich die Elemente eines Tupels also nicht mehr. Für ein Polygon verwenden wir dann eine Liste von Tupeln. Hier ist ein gleichseitiges Dreieck: [(-34.6, -20), (0, 40), (34.6, -20)] In diesem Abschnitt arbeiten wir mit solchen Polygonen. Das Polygon zeichnen Als Einstieg lassen wir uns das Polygon zunächst einmal zeichnen. Dazu verwenden wir die Turtle-Grafik, die für unsere Zwecke mehr als ausreicht. 1 from gturtle import * # Turtle-Bibliothek laden 2 maketurtle() # Turtle-Fenster öffnen 3 speed(-1) # Turtle möglichst schnell 4 setpencolor("black") # Linien-Farbe: Schwarz 5 6 coords = [(-34.6, -20), (0, 40), (34.6, -20)] 7 (x, y) = coords[-1] # Startpunkt 8 setpos(x, y) 9 for (x, y) in coords: 10 moveto(x, y) Anstelle von sqrt könnten wir auch x**0.5 (x 0.5 ) verwenden. Distanzen Die Distanz eines Punkts zum Ursprung müssen wir selber berechnen. Dazu laden wir die Wurzel-Funktion sqrt aus dem Mathematik-Modul math und definieren eine neue Funktion. Anschliessend suchen wir den Punkt, der am nächsten beim Ursprung liegt. 1 from math import sqrt 2 3 def dist((x0, y0), (x1, y1)): 4 d = (x1 - x0)**2 + (y1 - y0)**2 5 return sqrt(d) 6 7 coords = [(1, 9), (2, 8), (3, 7), (4, 6), (5, 5), (6, 4)] 8 min_point = head(coords) 9 min_dist = dist(min_point, (0, 0)) 10 for point in coords: 11 d = dist(point, (0, 0)) 12 if d < min_dist: 13 min_dist = d 14 min_point = point 15 print min_point

12 12 Programmieren im Unterricht mit Python Graphen Wenn wir Polygone darstellen können, dann ist es ein kleiner Schritt zu Funktionsgraphen. In diesem Beispiel erzeigen wir eine Liste mit Punkten auf der Parabel y = 1 5 x2. coords = [] for x in range(-10, 11): coords.append((5*x, x**2)) In Python lässt sich das auch kürzer schreiben als: coords = [(5*x, x**2) for x in range(-10, 11)] AUFGABEN 8. Schreibe ein Programm, das für eine beliebige Funktion den Graphen und die Koordinatenachsen zeichnet. Das Turtle-Fenster hat in der Regel eine Grösse von Pixeln mit dem Punkt (0, 0) in der Mitte. Hinweis: Verwende für die folgenden Aufgaben das Polygon: [(34, 24), (31, 53), (70, 99), (80, 96), (104, 64), (55, 21), (44, 19), (46, 48)] 9. Schreibe eine Funktion center, die den Schwerpunkt eines Polygons berechnet. x S = x 1 + x 2 + x x n n y S = y 1 + y 2 + y y n n 10. Schreibe eine Funktion circumference, die den Umfang des Polygons ermittelt. 11. Ermittelte den Durchmesser eines Polygons, also die längste Distanz zwischen zwei Punkten. 12. Finde in einer Liste von Koordinaten drei Punkte, die sich zu einem rechtwinkligen Dreieck verbinden lassen. Idealerweise findet dein Programm natürlich alle solchen Tripel, ohne eines doppelt auszugeben. 13. Finde in einer Liste von Koordinaten vier Punkte A, B, C, D, so dass die Strecken AB und CD senkrecht zueinander stehen.

13 Strings: Text analysieren 13 5 Strings: Text analysieren Einführung Python kann relativ gut mit Strings (Zeichenketten) umgehen und bietet eine Vielzahl von Funktionen. Dabei unterscheidet Python nicht, ob ein String in einfache oder doppelte Anfährungszeichen eingeschlossen wird: "Python ist toll!" == Python ist toll! Die Länge des Strings lässt sich mit len("...") bestimmen. Buchstaben zählen In vielerlei Hinsicht unterscheiden sich Strings in Python kaum von Listen. So können wir auch mit einer for-schleife die einzelnen Buchstaben/Zeichen eines Strings durchgehen und so die vorkommenden «E» zählen. 1 def count_e(text): 2 count = 0 3 for letter in text: 4 if letter in ["e", "E"]: 5 count += 1 6 return count 7 8 print count_e("python lernen macht Spass!") Frequenzanalyse Bei einfachen Text-Verschlüsselungen lohnt es sich, eine Frequenzanalyse des Textes vorzunehmen und die Häufigkeiten der Buchstaben zu zählen. Hier lassen wir das Python erledigen und verwenden dazu ein «Dictionary». 1 def freq_analysis(text): 2 # Tabelle enthält zur Zeit nur Eintrag für a und e. 3 letters = {"a": 0, "e": 0} 4 for ch in text: 5 ch = ch.lower() # Alles in Kleinbuchstaben 6 if ch in letters: 7 # Vorhandenen Wert erhöhen: 8 letters[ch] += 1 9 else: 10 # Neuer Eintrag wird automatisch erstellt: 11 letters[ch] = 1 12 return letters print freq_analysis("python lernen ist cool!")

14 14 Programmieren im Unterricht mit Python Wörter zählen Python kann einen gegebenen String mit split direkt zerlegen und liefert dann eine Liste mit den einzelnen Teilstücken. Das nutzen wir, um die Wörter in einem String zu zählen. 1 def count_words(text): 2 words = text.split(" ") 3 return len(words) 4 5 print count_words("python ist auch eine Schlange.") Parsen einer Zahl Dieses Programm liest aus einem gegebenen String eine hexadezimale Zahl heraus. Aus "3F" wird damit 63. In Python selber lassen sich hexadezimale Zahlen als 0x3F direkt eingeben. Mit ord( A ) ermitteln wir den Ascii-Code eines einzelnen Zeichens. Die Umkehrung dazu wäre chr(65), die aus dem Ascii-Code wiederum einen String erzeugt. 1 eingabe = inputstring() 2 zahl = 0 3 for ch in eingabe.upper(): 4 zahl *= 0x10 5 if 0 <= ch <= 9 : 6 zahl += (ord(ch) - ord( 0 )) 7 elif A <= ch <= F : 8 zahl += (ord(ch) - ord( A ) + 10) 9 else: 10 print "Fehler: Ungültiges Zeichen", ch 11 break 12 print zahl AUFGABEN 14. Schreibe die Funktion count_words so um, dass sie Wörter wie «Python-Kurs» als zwei eigene Wörter zählt. 15. Schreibe ein Programm, das einen Text mit der Caesar-Chiffre verschlüsselt. 16. Schreibe ein Programm, das eine Längen-Eingabe wie «14 cm» oder «5 in» entgegennimmt und die Länge in Meter ausgibt. Hinweis: 1 in = 2.54 cm, 1 ft = cm, bzw. in Python: factors = {"in": , "ft": }

15 Klassen und eigene Datentypen* 15 6 Klassen und eigene Datentypen* Einführung Python ist zwar objektorientiert, unterscheidet sich aber massiv von OOP-Sprachen wie Java. Es gibt weder Interfaces noch Information Hiding. Bei einem Aufruf wie myobject.foo() kümmert sich Python nicht um den Typ von myobject, sondern sucht in der entsprechenden Klasse lediglich nach der Methode foo. Beim Definieren einer Klasse ist wichtig, dass self immer mitangegeben werden muss: Sowohl als erster Parameter jeder Methode als auch für den Zugriff auf Felder. Objekte erzeugen In Python können wir zu einem Objekt jederzeit neue Felder hinzufügen, indem wir ihnen einen Wert zuweisen. myobject.field=123 erzeugt direkt ein neues Feld im Objekt myobject, falls es nicht schon vorhanden ist. Dieses Verhalten nutzen wir in TigerJython aus und bieten die Funktion makeobject an, um ein zunächst leeres Objekt zu erstellen. Dieses lässt sich danach je nach Bedarf mit Feldern ergänzen. 1 ball = makeobject() 2 ball.pos = (1, 2, 3) 3 ball.radius = 4 4 ball.color = makecolor("red") 5 print ball Die Felder können aber auch direkt in makeobject angegeben werden: 1 ball = makeobject(pos=(1, 2, 3), radius=4) 2 ball.color = makecolor("red") 3 print ball Eine Klasse für Vektoren Eine neue Klasse lässt sich relativ schnell und einfach definieren. Die grösste Schwierigkeit besteht darin, das self nicht zu vergessen. Eine neue Instanz wird danach direkt mit Vector() erzeugt. In diesem Beispiel überladen wir mit den Methoden add und mul eigentlich die Plus- bzw. Stern-Operatoren +, * und repr entspricht in Java der Methode tostring(). 1 class Vector: 2 3 # Konstruktor: 4 def init (self, x, y, z=0): 5 self.x = x 6 self.y = y

16 16 Programmieren im Unterricht mit Python 7 self.z = z 8 9 # Gibt ein *neues* Objekt mit der Summe zurück: 10 def add (self, that): 11 return Vector(self.x + that.x, 12 self.y + that.y, 13 self.z + that.z) # Entspricht Self * That: 16 def mul (self, that): 17 if type(that) is int: 18 return Vector(self.x * that, 19 self.y * that, 20 self.z * that) # Entspricht That * Self: 23 def rmul (self, that): 24 return self. mul (that) # Wird von print aufgerufen: 27 def repr (self): 28 x, y, z = self.x, self.y, self.z 29 return "({0}, {1}, {2})".format(x, y, z) v1 = Vector(1, 2, 3) 32 v2 = Vector(2, -3) 33 print v1 + v2 * 2 AUFGABEN 17. Ergänze die Vektor-Klasse um die Methode sub und eine Methode dotp für das Skalarprodukt. 18. Schreibe eine Klasse Fraction, die einen Bruch darstellt und implementiere die vier Grundrechenarten +, -, * und / (über die Methode truediv ).

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland OECD Programme for International Student Assessment Deutschland PISA 2000 Lösungen der Beispielaufgaben aus dem Mathematiktest Beispielaufgaben PISA-Hauptstudie 2000 Seite 3 UNIT ÄPFEL Beispielaufgaben

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

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 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113

Mehr

Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1

Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1 B 1.0 B 1.1 L: Wir wissen von, dass sie den Scheitel hat und durch den Punkt läuft. Was nichts bringt, ist beide Punkte in die allgemeine Parabelgleichung einzusetzen und das Gleichungssystem zu lösen,

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Übung 9 - Lösungsvorschlag

Übung 9 - Lösungsvorschlag Universität Innsbruck - Institut für Informatik Datenbanken und Informationssysteme Prof. Günther Specht, Eva Zangerle Besprechung: 15.12.2008 Einführung in die Informatik Übung 9 - Lösungsvorschlag Aufgabe

Mehr

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3

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

Erwin Grüner 09.02.2006

Erwin Grüner 09.02.2006 FB Psychologie Uni Marburg 09.02.2006 Themenübersicht Folgende Befehle stehen in R zur Verfügung: {}: Anweisungsblock if: Bedingte Anweisung switch: Fallunterscheidung repeat-schleife while-schleife for-schleife

Mehr

Informationsblatt Induktionsbeweis

Informationsblatt Induktionsbeweis Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln

Mehr

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Allgemein: Das RSA-Verschlüsselungsverfahren ist ein häufig benutztes Verschlüsselungsverfahren, weil es sehr sicher ist. Es gehört zu der Klasse der

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Lineare Funktionen. 1 Proportionale Funktionen 3 1.1 Definition... 3 1.2 Eigenschaften... 3. 2 Steigungsdreieck 3

Lineare Funktionen. 1 Proportionale Funktionen 3 1.1 Definition... 3 1.2 Eigenschaften... 3. 2 Steigungsdreieck 3 Lineare Funktionen Inhaltsverzeichnis 1 Proportionale Funktionen 3 1.1 Definition............................... 3 1.2 Eigenschaften............................. 3 2 Steigungsdreieck 3 3 Lineare Funktionen

Mehr

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12 Grundlagen: Folge 19 - Bäume 19.1 Binärbäume - Allgemeines Unter Bäumen versteht man in der Informatik Datenstrukturen, bei denen jedes Element mindestens zwei Nachfolger hat. Bereits in der Folge 17 haben

Mehr

Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen

Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen Übungen if / else / else if... 2... 2 Aufgabe 2:... 2 Aufgabe 3:... 2 Aufgabe 4:... 2 Aufgabe 5:... 2 Aufgabe 6:... 2 Aufgabe 7:... 3 Aufgabe 8:... 3 Aufgabe 9:... 3 Aufgabe 10:... 3 switch... 4... 4 Aufgabe

Mehr

Aufgabe 12 Nach dem Eintippen der Kantenlänge soll die folgende Tabelle den Rauminhalt und die Oberfläche eines Würfels automatisch berechnen.

Aufgabe 12 Nach dem Eintippen der Kantenlänge soll die folgende Tabelle den Rauminhalt und die Oberfläche eines Würfels automatisch berechnen. Aufgabe 11 Excel hat für alles eine Lösung. So kann das Programm automatisch den größten oder den kleinsten Wert einer Tabelle bestimmen. Wenn man die richtige Funktion kennt, ist das überhaupt kein Problem.

Mehr

Access Verbrecherdatenbank Teil 3

Access Verbrecherdatenbank Teil 3 Access Verbrecherdatenbank Teil 3 Allgemeines Im letzten Teil des Lehrgangs zu Microsoft Access erfährst du, wie man aus einer Datenbank Informationen herausfiltert, indem an Filter und Abfragen anwendet.

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

Kapitel 3 Frames Seite 1

Kapitel 3 Frames Seite 1 Kapitel 3 Frames Seite 1 3 Frames 3.1 Allgemeines Mit Frames teilt man eine HTML-Seite in mehrere Bereiche ein. Eine Seite, die mit Frames aufgeteilt ist, besteht aus mehreren Einzelseiten, die sich den

Mehr

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben. Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.

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

Was meinen die Leute eigentlich mit: Grexit?

Was meinen die Leute eigentlich mit: Grexit? Was meinen die Leute eigentlich mit: Grexit? Grexit sind eigentlich 2 Wörter. 1. Griechenland 2. Exit Exit ist ein englisches Wort. Es bedeutet: Ausgang. Aber was haben diese 2 Sachen mit-einander zu tun?

Mehr

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

Mehr

Wir arbeiten mit Zufallszahlen

Wir arbeiten mit Zufallszahlen Abb. 1: Bei Kartenspielen müssen zu Beginn die Karten zufällig ausgeteilt werden. Wir arbeiten mit Zufallszahlen Jedesmal wenn ein neues Patience-Spiel gestartet wird, muss das Computerprogramm die Karten

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

Anleitung zum erfassen von Last Minute Angeboten und Stellenangebote

Anleitung zum erfassen von Last Minute Angeboten und Stellenangebote Anleitung zum erfassen von Last Minute Angeboten und Stellenangebote Zweck dieser Anleitung ist es einen kleinen Überblick über die Funktion Last Minute auf Swisshotelportal zu erhalten. Für das erstellen

Mehr

Wie halte ich Ordnung auf meiner Festplatte?

Wie halte ich Ordnung auf meiner Festplatte? Wie halte ich Ordnung auf meiner Festplatte? Was hältst du von folgender Ordnung? Du hast zu Hause einen Schrank. Alles was dir im Wege ist, Zeitungen, Briefe, schmutzige Wäsche, Essensreste, Küchenabfälle,

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

Mehr

Übung zur Algebra WiSe 2008/2009, Blatt 1

Übung zur Algebra WiSe 2008/2009, Blatt 1 Aufgabe 1: Zeigen Sie, dass die Untergruppe der Permutationsmatrizen in GL(n, R) isomorph zur symmetrischen Gruppe S n ist. Es sei Perm n die Menge der Permutationsmatrizen in GL(n, R). Der Isomorphismus

Mehr

Taylorentwicklung der k ten Dimension

Taylorentwicklung der k ten Dimension Taylorentwicklung der k ten Dimension 1.) Taylorentwicklung... 2 1.1.) Vorgehenesweise... 2 1.2.) Beispiel: f ((x, y)) = e x2 +y 2 8x 2 4y 4... 3 2.) Realisierung des Algorithmus im CAS Sage Math... 5

Mehr

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten

Mehr

Jedes Jahr mehr Zinsen!

Jedes Jahr mehr Zinsen! Aufgabe 21 Zinsen erhält man für gewöhnlich nur für ein Jahr. Wenn man aber schon vorher an Erspartes möchte, muss man die Tageszinsen ermitteln. Erstelle eine Tabelle, die nach der Eingabe von Kapital,

Mehr

Frankfurt am Main. Dortmund. Stuttgart. Düsseldorf

Frankfurt am Main. Dortmund. Stuttgart. Düsseldorf Aufgabenstellung Ein Handlungsreisender will seine Produkte in den zehn größten Städten Deutschlands verkaufen. Er startet in Berlin und will seine Reise dort beenden. Die zehn einwohnerreichsten Städte

Mehr

EINFACHES HAUSHALT- KASSABUCH

EINFACHES HAUSHALT- KASSABUCH EINFACHES HAUSHALT- KASSABUCH Arbeiten mit Excel Wir erstellen ein einfaches Kassabuch zur Führung einer Haushalts- oder Portokasse Roland Liebing, im November 2012 Eine einfache Haushalt-Buchhaltung (Kassabuch)

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In

Mehr

3. Verpackungskünstler. Berechnungen am Quader, Umgang mit Termen, räumliche Vorstellung

3. Verpackungskünstler. Berechnungen am Quader, Umgang mit Termen, räumliche Vorstellung Berechnungen am Quader, Umgang mit Termen, räumliche Vorstellung Päckchen, die man verschenken möchte, werden gerne mit Geschenkband verschnürt. Dazu wird das Päckchen auf seine größte Seite gelegt, wie

Mehr

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests zum Leitprogramm Binäre Suchbäume Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm

Mehr

Excel Pivot-Tabellen 2010 effektiv

Excel Pivot-Tabellen 2010 effektiv 7.2 Berechnete Felder Falls in der Datenquelle die Zahlen nicht in der Form vorliegen wie Sie diese benötigen, können Sie die gewünschten Ergebnisse mit Formeln berechnen. Dazu erzeugen Sie ein berechnetes

Mehr

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen Gleichungen Lösen Was bedeutet es, eine Gleichung zu lösen? Was ist überhaupt eine Gleichung? Eine Gleichung ist, grundsätzlich eine Aussage über zwei mathematische Terme, dass sie gleich sind. Ein Term

Mehr

Nachhilfe-Kurs Mathematik Klasse 13 Freie Waldorfschule Mitte

Nachhilfe-Kurs Mathematik Klasse 13 Freie Waldorfschule Mitte Nachhilfe-Kurs Mathematik Klasse 3 Freie Waldorfschule Mitte März 8 Aufgaben zur analytischen Geometrie Musterlösung Gegeben sind die Ebenen E und E sowie die Punkte A und B: E : 4x + y + 3z = 3 E : x

Mehr

Datenbanken Kapitel 2

Datenbanken Kapitel 2 Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,

Mehr

5.2 Neue Projekte erstellen

5.2 Neue Projekte erstellen 5.2 Neue Projekte erstellen Das Bearbeiten von bestehenden Projekten und Objekten ist ja nicht schlecht wie aber können Sie neue Objekte hinzufügen oder gar völlig neue Projekte erstellen? Die Antwort

Mehr

Leichte-Sprache-Bilder

Leichte-Sprache-Bilder Leichte-Sprache-Bilder Reinhild Kassing Information - So geht es 1. Bilder gucken 2. anmelden für Probe-Bilder 3. Bilder bestellen 4. Rechnung bezahlen 5. Bilder runterladen 6. neue Bilder vorschlagen

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

Zahlen auf einen Blick

Zahlen auf einen Blick Zahlen auf einen Blick Nicht ohne Grund heißt es: Ein Bild sagt mehr als 1000 Worte. Die meisten Menschen nehmen Informationen schneller auf und behalten diese eher, wenn sie als Schaubild dargeboten werden.

Mehr

Konzepte der Informatik

Konzepte der Informatik Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens

Mehr

10.1 Auflösung, Drucken und Scannen

10.1 Auflösung, Drucken und Scannen Um einige technische Erläuterungen kommen wir auch in diesem Buch nicht herum. Für Ihre Bildergebnisse sind diese technischen Zusammenhänge sehr wichtig, nehmen Sie sich also etwas Zeit und lesen Sie dieses

Mehr

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11 Kurzanleitung MEYTON Aufbau einer Internetverbindung 1 Von 11 Inhaltsverzeichnis Installation eines Internetzugangs...3 Ist mein Router bereits im MEYTON Netzwerk?...3 Start des YAST Programms...4 Auswahl

Mehr

Zahlenwinkel: Forscherkarte 1. alleine. Zahlenwinkel: Forschertipp 1

Zahlenwinkel: Forscherkarte 1. alleine. Zahlenwinkel: Forschertipp 1 Zahlenwinkel: Forscherkarte 1 alleine Tipp 1 Lege die Ziffern von 1 bis 9 so in den Zahlenwinkel, dass jeder Arm des Zahlenwinkels zusammengezählt das gleiche Ergebnis ergibt! Finde möglichst viele verschiedene

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

Mehr

SAMMEL DEINE IDENTITÄTEN::: NINA FRANK :: 727026 :: WINTERSEMESTER 08 09

SAMMEL DEINE IDENTITÄTEN::: NINA FRANK :: 727026 :: WINTERSEMESTER 08 09 SAMMEL DEINE IDENTITÄTEN::: :: IDEE :: Ich selbst habe viele verschiedene Benutzernamen und Passwörter und wenn ich mir diese nicht alle aufschreiben würde, würde ich alle durcheinander bringen oder welche

Mehr

1 C H R I S T O P H D R Ö S S E R D E R M A T H E M A T I K V E R F Ü H R E R

1 C H R I S T O P H D R Ö S S E R D E R M A T H E M A T I K V E R F Ü H R E R C H R I S T O P H D R Ö S S E R D E R M A T H E M A T I K V E R F Ü H R E R L Ö S U N G E N Seite 7 n Wenn vier Menschen auf einem Quadratmeter stehen, dann hat jeder eine Fläche von 50 mal 50 Zentimeter

Mehr

Dokumentation für das Spiel Pong

Dokumentation für das Spiel Pong Dokumentation für das Spiel Pong BwInf - Turnierserver Didaktik der nformatik BWINF KI Wettbewerbs-Plattform Stand: 02.09.2014 Grundlagen In diesem KI-Turnier programmiert ihr einen Schläger für das Retro-Spiel

Mehr

BIA-Wissensreihe Teil 4. Mind Mapping Methode. Bildungsakademie Sigmaringen

BIA-Wissensreihe Teil 4. Mind Mapping Methode. Bildungsakademie Sigmaringen BIA-Wissensreihe Teil 4 Mind Mapping Methode Bildungsakademie Sigmaringen Inhalt Warum Mind Mapping? Für wen sind Mind Maps sinnvoll? Wie erstellt man Mind Maps? Mind Mapping Software 3 4 5 7 2 1. Warum

Mehr

Sowohl die Malstreifen als auch die Neperschen Streifen können auch in anderen Stellenwertsystemen verwendet werden.

Sowohl die Malstreifen als auch die Neperschen Streifen können auch in anderen Stellenwertsystemen verwendet werden. Multiplikation Die schriftliche Multiplikation ist etwas schwieriger als die Addition. Zum einen setzt sie das kleine Einmaleins voraus, zum anderen sind die Überträge, die zu merken sind und häufig in

Mehr

«/Mehrere Umfragen in einer Umfrage durchführen» Anleitung

«/Mehrere Umfragen in einer Umfrage durchführen» Anleitung QuickStart «/Mehrere Umfragen in einer Umfrage durchführen» Anleitung Mehrere Umfragen in einer Umfrage durchführen Mögliches Szenario oder wann Sie davon Gebrauch machen können Sie führen regelmässig

Mehr

Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen?

Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen? Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen können zwei Ebenen (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen? Wie heiÿt

Mehr

Hilfedatei der Oden$-Börse Stand Juni 2014

Hilfedatei der Oden$-Börse Stand Juni 2014 Hilfedatei der Oden$-Börse Stand Juni 2014 Inhalt 1. Einleitung... 2 2. Die Anmeldung... 2 2.1 Die Erstregistrierung... 3 2.2 Die Mitgliedsnummer anfordern... 4 3. Die Funktionen für Nutzer... 5 3.1 Arbeiten

Mehr

Das Leitbild vom Verein WIR

Das Leitbild vom Verein WIR Das Leitbild vom Verein WIR Dieses Zeichen ist ein Gütesiegel. Texte mit diesem Gütesiegel sind leicht verständlich. Leicht Lesen gibt es in drei Stufen. B1: leicht verständlich A2: noch leichter verständlich

Mehr

Das Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala

Das Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala Das Typsystem von Scala 1 Eigenschaften Das Typsystem von Scala ist statisch, implizit und sicher 2 Nichts Primitives Alles ist ein Objekt, es gibt keine primitiven Datentypen scala> 42.hashCode() res0:

Mehr

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6 Gudrun Fischer Sascha Kriewel programmierung@is.informatik.uni-duisburg.de Anmeldung zur Klausur! Übungsblatt Nr. 6 Um an der Klausur teilzunehmen, müssen sich Studierende der angewandten Informatik in

Mehr

Binärdarstellung von Fliesskommazahlen

Binärdarstellung von Fliesskommazahlen Binärdarstellung von Fliesskommazahlen 1. IEEE 754 Gleitkommazahl im Single-Format So sind in Gleitkommazahlen im IEEE 754-Standard aufgebaut: 31 30 24 23 0 S E E E E E E E E M M M M M M M M M M M M M

Mehr

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung M. Graefenhan 2000-12-07 Aufgabe Lösungsweg Übungen zu C Blatt 3 Musterlösung Schreiben Sie ein Programm, das die Häufigkeit von Zeichen in einem eingelesenen String feststellt. Benutzen Sie dazu ein zweidimensionales

Mehr

icloud nicht neu, aber doch irgendwie anders

icloud nicht neu, aber doch irgendwie anders Kapitel 6 In diesem Kapitel zeigen wir Ihnen, welche Dienste die icloud beim Abgleich von Dateien und Informationen anbietet. Sie lernen icloud Drive kennen, den Fotostream, den icloud-schlüsselbund und

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

Typdeklarationen. Es gibt in Haskell bereits primitive Typen:

Typdeklarationen. Es gibt in Haskell bereits primitive Typen: Typdeklarationen Es gibt in bereits primitive Typen: Integer: ganze Zahlen, z.b. 1289736781236 Int: ganze Zahlen mit Computerarithmetik, z.b. 123 Double: Fließkommazahlen, z.b. 3.14159 String: Zeichenketten,

Mehr

Diese Anleitung wurde erstellt von Niclas Lüchau und Daniel Scherer. Erste Anmeldung. Schritt 1: Anmeldung..2. Schritt 2: Passwort setzen 3

Diese Anleitung wurde erstellt von Niclas Lüchau und Daniel Scherer. Erste Anmeldung. Schritt 1: Anmeldung..2. Schritt 2: Passwort setzen 3 Diese Anleitung wurde erstellt von Niclas Lüchau und Daniel Scherer Inhalt Erste Anmeldung. Schritt 1: Anmeldung..2 Schritt 2: Passwort setzen 3 Schritt 3: Nachträgliches Ändern des Passworts..4 Schreiben

Mehr

5. Tutorium zu Programmieren

5. Tutorium zu Programmieren 5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting

Mehr

1. Einführung. 2. Die Abschlagsdefinition

1. Einführung. 2. Die Abschlagsdefinition 1. Einführung orgamax bietet die Möglichkeit, Abschlagszahlungen (oder auch Akontozahlungen) zu erstellen. Die Erstellung der Abschlagsrechnung beginnt dabei immer im Auftrag, in dem Höhe und Anzahl der

Mehr

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

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 Wichtig... Mittags Pommes... Praktikum A 230 C 207 (Madeleine) F 112 F 113 (Kevin) E

Mehr

Computeria Rorschach Mit Excel Diagramme erstellen

Computeria Rorschach Mit Excel Diagramme erstellen Mit Excel Diagramme erstellen 25.12.2010 Roland Liebing Mit Excel Diagramme erstellen Diagramme können Zahlenwerte veranschaulichen, das heisst, mit Hilfe eines Diagramms können Zahlen besser miteinander

Mehr

Erstellen einer digitalen Signatur für Adobe-Formulare

Erstellen einer digitalen Signatur für Adobe-Formulare Erstellen einer digitalen Signatur für Adobe-Formulare (Hubert Straub 24.07.13) Die beiden Probleme beim Versenden digitaler Dokumente sind einmal die Prüfung der Authentizität des Absenders (was meist

Mehr

Summenbildung in Bauteiltabellen mit If Then Abfrage

Summenbildung in Bauteiltabellen mit If Then Abfrage Summenbildung in Bauteiltabellen mit If Then Abfrage Die in Bauteiltabellen ausgelesenen Werte lassen sich in jeder Spalte als Summe berechnen. So können selbstverständlich die Flächen der in der Tabelle

Mehr

Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich

Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich Mitgliederbereich (Version 1.0) Bitte loggen Sie sich in den Mitgliederbereich mit den Ihnen bekannten Zugangsdaten

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

.procmailrc HOWTO. zur Mailfilterung und Verteilung. Stand: 01.01.2011

.procmailrc HOWTO. zur Mailfilterung und Verteilung. Stand: 01.01.2011 .procmailrc HOWTO zur Mailfilterung und Verteilung Stand: 01.01.2011 Copyright 2002-2003 by manitu. Alle Rechte vorbehalten. Alle verwendeten Bezeichnungen dienen lediglich der Kennzeichnung und können

Mehr

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014)

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014) Handbuch NAFI Online-Spezial 1. Auflage (Stand: 24.09.2014) Copyright 2016 by NAFI GmbH Unerlaubte Vervielfältigungen sind untersagt! Inhaltsangabe Einleitung... 3 Kundenauswahl... 3 Kunde hinzufügen...

Mehr

Java: Vererbung. Teil 3: super() www.informatikzentrale.de

Java: Vererbung. Teil 3: super() www.informatikzentrale.de Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und

Mehr

Erstellen von x-y-diagrammen in OpenOffice.calc

Erstellen von x-y-diagrammen in OpenOffice.calc Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei

Mehr

Programmiervorkurs SS 2011 Technische Universität Darmstadt Jan Hendrik Burdinski, Felix Kerger http://www.d120.de/vorkurs.

Programmiervorkurs SS 2011 Technische Universität Darmstadt Jan Hendrik Burdinski, Felix Kerger http://www.d120.de/vorkurs. Programmiervorkurs SS 2011 Technische Universität Darmstadt Jan Hendrik Burdinski, Felix Kerger http:www.d120.de/vorkurs Aufgabenblatt 3 Du findest zur Bearbeitung dieses Aufgabenblatts zu einigen Aufgaben

Mehr

4 Aufzählungen und Listen erstellen

4 Aufzählungen und Listen erstellen 4 4 Aufzählungen und Listen erstellen Beim Strukturieren von Dokumenten und Inhalten stellen Listen und Aufzählungen wichtige Werkzeuge dar. Mit ihnen lässt sich so ziemlich alles sortieren, was auf einer

Mehr

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt

Mehr

Eine Logikschaltung zur Addition zweier Zahlen

Eine Logikschaltung zur Addition zweier Zahlen Eine Logikschaltung zur Addition zweier Zahlen Grundlegender Ansatz für die Umsetzung arithmetischer Operationen als elektronische Schaltung ist die Darstellung von Zahlen im Binärsystem. Eine Logikschaltung

Mehr

Dossier: Rechnungen und Lieferscheine in Word

Dossier: Rechnungen und Lieferscheine in Word www.sekretaerinnen-service.de Dossier: Rechnungen und Lieferscheine in Word Es muss nicht immer Excel sein Wenn Sie eine Vorlage für eine Rechnung oder einen Lieferschein erstellen möchten, brauchen Sie

Mehr

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können. Excel-Schnittstelle Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können. Voraussetzung: Microsoft Office Excel ab Version 2000 Zum verwendeten Beispiel:

Mehr

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert Beamen in EEP Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert Zuerst musst du dir 2 Programme besorgen und zwar: Albert, das

Mehr

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung. Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,

Mehr

Jederzeit Ordnung halten

Jederzeit Ordnung halten Kapitel Jederzeit Ordnung halten 6 auf Ihrem Mac In diesem Buch war bereits einige Male vom Finder die Rede. Dieses Kapitel wird sich nun ausführlich diesem so wichtigen Programm widmen. Sie werden das

Mehr

Vergleichsarbeiten in 3. Grundschulklassen. Mathematik. Aufgabenheft 1

Vergleichsarbeiten in 3. Grundschulklassen. Mathematik. Aufgabenheft 1 Vergleichsarbeiten in 3. Grundschulklassen Mathematik Aufgabenheft 1 Name: Klasse: Herausgeber: Projekt VERA (Vergleichsarbeiten in 3. Grundschulklassen) Universität Koblenz-Landau Campus Landau Fortstraße

Mehr

Das Festkomitee hat die Abi-Seite neu konzipiert, die nun auf einem (gemieteten) Share Point Server

Das Festkomitee hat die Abi-Seite neu konzipiert, die nun auf einem (gemieteten) Share Point Server Hallo Leute Das Festkomitee hat die Abi-Seite neu konzipiert, die nun auf einem (gemieteten) Share Point Server (= echtes - zeug ) liegt! Die neue Form hat insbesondere folgende Vorteile: Du bekommst einen

Mehr

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu]) 3.7 Erstellen einer Collage Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu]) Dann Größe des Dokuments festlegen beispielsweise A4 (weitere

Mehr

Theoretische Informatik SS 04 Übung 1

Theoretische Informatik SS 04 Übung 1 Theoretische Informatik SS 04 Übung 1 Aufgabe 1 Es gibt verschiedene Möglichkeiten, eine natürliche Zahl n zu codieren. In der unären Codierung hat man nur ein Alphabet mit einem Zeichen - sagen wir die

Mehr

Schritte 4. Lesetexte 13. Kosten für ein Girokonto vergleichen. 1. Was passt? Ordnen Sie zu.

Schritte 4. Lesetexte 13. Kosten für ein Girokonto vergleichen. 1. Was passt? Ordnen Sie zu. Kosten für ein Girokonto vergleichen 1. Was passt? Ordnen Sie zu. a. die Buchung, -en b. die Auszahlung, -en c. der Dauerauftrag, - e d. die Überweisung, -en e. die Filiale, -n f. der Kontoauszug, - e

Mehr