Algorithmen & Programmierung. Rekursive Funktionen (2)
|
|
- Katrin Steinmann
- vor 6 Jahren
- Abrufe
Transkript
1 Algorithmen & Programmierung Rekursive Funktionen (2)
2 Arten von Rekursion Direkte Rekursion Den Aufruf einer Funktion direkt aus ihrem Funktionskörper heraus bezeichnet man als direkte Rekursion (so haben wir es bisher gemacht). Indirekte Rekursion Rekursion kann sich auch über mehrere Funktionen erstrecken. Problem Eine Funktion muss dem Compiler bekannt sein, bevor wir sie nutzen (aufrufen) können. Deshalb haben wir bisher genutzte Funktionen immer vor nutzenden Funktionen definiert. Bei indirekter Rekursion lassen sich nutzende und genutzte Funktionen nicht eindeutig anordnen. 477
3 Deklaration von Funktionen Deklaration einer Funktion Eine Deklaration einer Funktion bedeutet ihre Bekanntmachung, d.h. dass dem Compiler die Existenz einer Funktion mitgeteilt wird, ohne dabei den Funktionskörper zu definieren. Bestandteile einer Deklaration Vorteil Bei einer Deklaration wird lediglich die Schnittstelle, d.h. Name, Rückgabetyp und Parameter der Funktion definiert. Sobald eine Funktion deklariert wurde kann sie genutzt (aufgerufen) werden. Definition der Funktion Wenn eine Funktion deklariert wurde, kann die zugehörige vollständige Funktion an einer beliebigen Stelle im Quelltext definiert werden. 478
4 Deklaration einer Funktion Deklaration vs. Funktionskopf Die Deklaration einer Funktion entspricht prinzipiell dem Funktionskopf einer vollständigen Funktionsdefinition und wird von einem Semikolon (statt des Funktionsrumpfes) abgeschlossen. Gemeinsamkeiten von Deklaration und Definition Funktionsname, Anzahl, Typ und Anordnung der Parameter müssen übereinstimmen Mögliche Unterschiede Die Benennung der einzelnen Parameter kann sich voneinander unterscheiden. Bei der Deklaration kann die Benennung der Parameter sogar ganz entfallen, es reicht hierbei eine einfache Auflistung der Datentypen der verwendeten Argumente. Prototyp Deklarierte Funktionen werden auch als (Funktions)-Prototyp bezeichnet. 479
5 Fehlende Deklaration Achtung Trifft ein C-Compiler auf einen Funktionsaufruf, ohne dass die entsprechende Funktion vorher definiert oder deklariert wurde, wird die Funktion implizit deklariert. Da der Compiler zu diesem Zeitpunkt jedoch weder den Rückgabetyp noch die Typen der Parameter dieser Funktion kennt, muss er dafür Annahmen treffen: Merke Der Rückgabetyp implizit deklarierter Funktionen ist immer int Die Typen der Parameter implizit deklarierter Funktionen werden vom Compiler geraten!!! Vor der Verwendung einer Funktion sollte zumindest ein Funktionsprototyp deklariert worden sein. Dadurch werden falsche Annahmen des Compilers über die Datentypen verhindert. Anmerkung Aktuelle Compiler ( C99) erkennen und verhindern teilweise solche Situationen. 480
6 Indirekte Rekursion Anwendungsbeispiel Aufgabe ist die Entwicklung eines simplen Taschenrechner -Programms, das den Wert eines vollständigen dyadischen Ausdrucks berechnet. Annahmen als Zahlenwerte sind nur nichtnegative einstellige ganze Zahlen zulässig Ausdrücke können mittels Klammerung geschachtelt werden als Operationen sind nur die Grundrechenarten erlaubt das Erkennen verschiedener Fehlerzustände soll möglich sein die Zeichen des dyadischen Ausdrucks werden direkt von der Tastatur gelesen 481
7 Beispiel Taschenrechner Grammatik in EBNF Ausdruck = Operand Operator Operand Operand = "(" Ausdruck ")" Zahl Zahl = "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" Operator = "+" " " "*" "/" Vereinfachung Da Zahl und Operator nur aus Terminalsymbolen bestehen, können wir sie direkt in Ausdruck und Operand integrieren: Ausdruck = Operand ("+" " " "*" "/") Operand Operand = "(" Ausdruck ")" "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" 482
8 Beispiele rekursiver Funktionen Fibonacci-Zahlen Pascalsches Dreieck Rekursiver pythagoräischer Baum
9 Fibonacci Person Fibonacci war ein italienischer Mathematiker ( ). Fibonaccis Hauptwerk Liber abaci führte in Europa die arabischen Ziffern und die Null ein und popularisierte das Dezimalsystem. Problem Fibonacci beschrieb in seinem Buch Liber abaci folgendes Problem: Ein Mann setzt ein Kaninchenpaar in ein Gehege. Diese Kaninchen bekommen jeden Monat ein weiteres Paar. Ein eben geborenes Paar wird nach zwei Monaten fruchtbar. Wie viele Kaninchenpaare gibt es nach einem Jahr in diesem Gehege? 484
10 Fibonacci-Folge Regelmäßigkeit Wir erkennen, dass sich die Anzahl der Kaninchen eines Monats aus der Summe der Anzahl der Kaninchen der beiden vorherigen Monate ergibt. Fibonacci-Folge Jede Folge deren Glieder sich aus der Summe der beiden vorhergehenden Glieder ergeben, d.h. a n+2 = a n + a n+1 wird Fibonacci-Folge genannt. Standardfolge wir legen a 0 mit 0 und a 1 mit 1 fest und erhalten dann folgende Standardfolge: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377,
11 Aufrufgraph für fib_rek(6) 486
12 Eigenschaften der Fibonacci-Folge Goldener Schnitt Der Quotient zweier benachbarter Glieder strebt gegen den goldenen Schnitt: $ Φ = lim a n & % a n 1 ' ) ( Der goldene Schnitt Φ ist ein berühmtes Verhältnis von Strecken in der Architektur. Eine Strecke der Länge l ist durch einen Punkt p im goldenen Schnitt unterteilt, wenn die beiden Teilstrecken im gleichen Verhältnis stehen wie die gesamte Strecke zu der größten der beiden Teilstrecken: p l l p l p = p l p 487
13 Die Fibonacci-Spirale Die Glieder der Fibonacci-Folge bezeichnen die Seitenlänge von Quadraten. Dabei setzt man für 13 jedes folgende Glied das korrespondierende Quadrat in folgender Reihenfolge aneinander: links oben rechts unten Werden die einander gegenüberliegenden Ecken jedes Quadrats in der gleichen Reihenfolge mit einer Kurve verbunden, erhält man eine Spirale. 488
14 Eigenschaften der Fibonacci-Zahlen Gegeben seien vier direkt aufeinander folgende Fibonacci-Zahlen f1 bis f4, d.h. für eine beliebige ganz Zahl n 0 gilt: f1 = Fib(n) f2 = Fib(n+1) f3 = Fib(n+2) f4 = Fib(n+3) Ein rechtwinkliges Dreieck lässt sich aus f1 bis f4 wie folgt darstellen: erste Kathete: a = 2 f2 f3 zweite Kathete: b = f1 f4 Hypotenuse: c = f2 2 + f
15 Explizite Berechnung Die Berechnung der Fibonacci-Zahlen ist sogar direkt möglich, d.h. ohne rekursive oder iterative Berechnung vorheriger Fibonacci-Zahlen: Formel von Binet mit Hilfe des goldenen Schnitts Φ und dessen Reziprokem ϕ=φ -1 n-te Fibonacci-Zahl Fib(n) ist dann Φ = Fib(n) = Φn ( φ) n 5 = 1 5 %% ' ' && ( * ) n % 1 5 ( ' * & 2 ) n ( * ) Achtung: Bei Berechnungen nach dieser Methode sollte für große n (n>50) die Rechenungenauigkeit reeller Zahlen unbedingt beachtet werden! 490
16 Beispiele rekursiver Funktionen Fibonacci-Zahlen Pascalsches Dreieck Rekursiver pythagoräischer Baum
17 Pascalsches Dreieck Anwendung Bisher haben wir das Pascalsche Dreieck verwendet, um schnell beliebige Potenzen von Binomen auszumultiplizieren
18 Pascalsches Dreieck Bildungsprinzip Jeder Wert ist gleich der Summe der beiden rechts und links über ihm stehenden Werte Analogie Die Bildung des Pascalschen Dreiecks basiert auf dem gleichen Prinzip wie die Fibonacci-Folge: Wenn wir das Dreieck linksbündig ausgeben, dann erhalten wir die Matrix P, deren Komponenten wie folgt berechnet werden können: P[i,j] = P[i 1, j 1] + P[i 1, j] für i>0 und j>=0 P[0,0] = 1 alle sonstigen Komponenten der Matrix sind 0 und gehören zu keinem Element des Pascalschen Dreiecks
19 Pascalsches Dreieck j i Weitere Eigenschaften Die Summe der nach rechts geneigten Diagonalen ergeben die Fibonacci-Folge In der zweiten Spalte befinden sich die natürlichen Zahlen In der dritten Spalte befinden sich die Dreieckszahlen Die Summe der n-ten Zeile entspricht 2 n 494
20 Beispiele rekursiver Funktionen Fibonacci-Zahlen Pascalsches Dreieck Rekursiver pythagoräischer Baum
21 Rekursiver pythagoräischer Baum Bedeutung Ein pythagoräischer Baum ist ein rekursiver grafischer Algorithmus, der ein Gebilde erzeugt, das nach mehreren Rekursionsschritten einem Baum ähnelt. Algorithmus man errichtet über zwei gegebenen Punkten ein Quadrat die Oberseite des Quadrats bildet die Grundseite eines Dreiecks, das mit einer beliebigen Höhe gezeichnet wird. die Eckpunkte der beiden Schenkel des Dreiecks bilden die Eingabe für den erneuten Ablauf des Algorithmus Terminierung Damit der Algorithmus terminieren kann, muss eine maximale Rekursionstiefe vorgegeben werden. 496
22 Rekursiver pythagoräischer Baum 497
23 Ende der Vorlesung
11. Folgen und Reihen.
- Funktionen Folgen und Reihen Folgen Eine Folge reeller Zahlen ist eine Abbildung a: N R Statt a(n) für n N schreibt man meist a n ; es handelt sich also bei einer Folge um die Angabe der Zahlen a, a
MehrEine Einführung in C-Funktionen
Eine Einführung in C-Funktionen CGK-Proseminar 2014 Philip Gawehn 04.07.2014, Hamburg Inhaltsverzeichnis 1 Einleitung 2 2 Grundlagen 2 2.1 Der Aufbau einer Funktion....................... 2 2.2 Schlüsselwörter.............................
MehrFibonacci-Zahlen. Geschichte. Definition. Quotienten
Mathematik/Informatik Die Fibonacci-Zahlen Gierhardt Fibonacci-Zahlen Geschichte Im Jahre 0 wurde in Pisa ein Buch über das indischarabische Dezimalsystem von dem italienischen Mathematiker Leonardo Fibonacci
MehrLeonardo da Pisa alias Fibonacci
Leonardo da Pisa alias Fibonacci 1. Juli 003 Weber Tony, Ramagnano Nicola Mathematik Fibonacci Seite / 9 Inhaltsverzeichnis Biographie...3 Fibonacci Zahlen...5 Definition...5 Fibonacci Spirale...5 Goldener
MehrVom goldenen Schnitt zum Alexanderplatz in Berlin
Vom goldenen Schnitt zum Alexanderplatz in Berlin Mathematik von 1200 bis 2004 Stefan Kühling, Fachbereich Mathematik skuehling @ fsmath.mathematik.uni-dortmund.de Schnupper Uni 26. August 2004 1 1 Goldener
MehrModul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 4
Fakultät Verkehrswissenschaften Friedrich List, Professur für Verkehrsbetriebslehre und Logistik Modul Entscheidungsunterstützung in der Logistik Einführung in die Programmierung mit C++ Übung 4 SS 2016
MehrFolgen und Reihen. Das Spiel ist immer lösbar. Doch wie viele Umlegungen sind es im günstigsten Fall?
Kantonsschule Solothurn Fachmaturität RYSWS12/13 Folgen und Reihen Einstiegsaufgaben 1. Der Turm von Hanoi Aufgabe Bewege alle Scheiben vom linken Stapel zum rechten Stapel. Dabei darf jeweils nur die
MehrProgrammierkurs 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
MehrDie Fibonacci-Zahlen 1
Die Fibonacci-Zahlen 1 Leonardo Pisano Leonardo von Pisa ca. 1170 bis 1250 Sohn eines Kaufmanns aus Pisa Sein Vater war Handelsattaché der Republik Pisa in Bugia (im heutigen Algerien). Er zeigte früh
MehrGrundlagen der Programmierung in C Funktionen
Der erste Mechanismus für Code-Reuse! Grundlagen der Programmierung in C Funktionen Wintersemester 2005/2006 G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Ältester Mechanismus für Code-Reuse:
MehrHerzlich willkommen zur Demo der mathepower.de Aufgabensammlung
Herzlich willkommen zur der Um sich schnell innerhalb der ca. 350.000 Mathematikaufgaben zu orientieren, benutzen Sie unbedingt das Lesezeichen Ihres Acrobat Readers: Das Icon finden Sie in der links stehenden
MehrEs 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
MehrPass by Value Pass by Reference Defaults, Overloading, variable Parameteranzahl
Funktionen Zusammenfassung von Befehlssequenzen als aufrufbare/wiederverwendbare Funktionen in einem Programmblock mit festgelegter Schnittstelle (Signatur) Derartige prozedurale Programmierung erlaubt
MehrGeschichte Grundlagen Fibonacci-Zahlen Geometrischer Trugschluß Anwendung Fazit und Ausblick. Der Goldene Schnitt. Dario Jotanovic
Der Goldene Schnitt Dario Jotanovic Mathematisches Proseminar Implementierung mathematischer Algorithmen Hochschule Darmstadt 19. Dezember 2013 Inhaltsangabe 1 Geschichte 2 Grundlagen Teilung im goldenen
MehrProgrammierung mit C Zeiger
Programmierung mit C Zeiger Zeiger (Pointer)... ist eine Variable, die die Adresse eines Speicherbereichs enthält. Der Speicherbereich kann... kann den Wert einer Variablen enthalten oder... dynamisch
MehrMATHEMATIK IN KUNST UND NATUR. Fibonacci Zahlen und der goldene Schnitt
MATHEMATIK IN KUNST UND NATUR Fibonacci Zahlen und der goldene Schnitt BEGLEITVORTRAG ZUR AUSSTELLUNG MATHEMATIK ZUM ANFASSEN DES MATHEMATIKUMS GIEßEN AN DER HOCHSCHULE PFORZHEIM Prof. Dr. Kirsten Wüst
MehrRepetitorium 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
Mehr1. Erläutern Sie die Aufgaben von Datentypen in der imperativen Programmierung.
1. Erläutern Sie die Aufgaben von Datentypen in der imperativen Programmierung. Beschreiben Sie ferner je einen frei gewählten Datentyp aus der Gruppe der skalaren und einen aus der Gruppe der strukturierten
MehrDeklarationen in C. Prof. Dr. Margarita Esponda
Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.
Mehr4.4. Rang und Inversion einer Matrix
44 Rang und Inversion einer Matrix Der Rang einer Matrix ist die Dimension ihres Zeilenraumes also die Maximalzahl linear unabhängiger Zeilen Daß der Rang sich bei elementaren Zeilenumformungen nicht ändert
Mehr5. Unterprogrammtechnik/Module
5. Unterprogrammtechnik/Module Unterprogramm/Modul: separate Programmeinheit, mit Anweisungen, die eine bestimmte Aufgabe erfüllen bekommt i.a. Argumente (Werte, Informationen) vom aufrufenden Programm
MehrTechnische Universität Braunschweig Institut für Programmierung und Reaktive Systeme
Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Programmieren I Dr. Werner Struckmann 7. September 2015 Name: Vorname: Matrikelnummer: Kennnummer: Anrede: Frau Herr
MehrC.3 Funktionen und Prozeduren
C3 - Funktionen und Prozeduren Funktionsdeklarationen in Pascal auch in Pascal kann man selbstdefinierte Funktionen einführen: Funktionen und Prozeduren THEN sign:= 0 Funktion zur Bestimmung des Vorzeichens
MehrÜ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
MehrGrundlagen der Programmiersprache C++
/ TU Braunschweig Grundlagen der Programmiersprache C++ Um den Studierenden den Einstieg in die FE-Programmierung zu erleichtern werden die wesentlichen Elemente eines C-Programmes beschrieben, soweit
MehrInhalt. 4.7 Funktionen
Inhalt Inhalt: 4. Programmiersprache C 4.1 Programmaufbau in C 4.2 Basisdatentypen und einfache Anweisungen 4.3 Steuerfluss-Konstrukte 4.4 Arbeit mit indizierten Größen (Felder) 4.5 Arbeit mit Pointern
MehrAlgorithmen & Programmierung. Zahlensysteme Bits und Bytes
Algorithmen & Programmierung Zahlensysteme Bits und Bytes Zahlensysteme Positionssystem Bei sogenannten Positionssystemen bestimmt (im Gegensatz zu additiven Systemen wie dem römischen Zahlensystem) die
MehrEine Einführung zum numerischen Programmieren mit Excel
Eine Einführung zum numerischen Programmieren mit Excel Bastian Groß Nina Weiand Universität Trier 23. Juni 2014 Groß, Weiand (Universität Trier) Excel/OpenOffice Kurs 2014 1/38 23. Juni 2014 1 / 38 Inhaltsverzeichnis
MehrEinstieg in die Informatik mit Java
1 / 20 Einstieg in die Informatik mit Java Rekursion Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 20 1 Überblick 2 Rekursion 3 Rekursive Sortieralgorithmen 4 Backtracking
MehrQuadratische Gleichungen
Quadratische Gleichungen Aufgabe: Versuche eine Lösung zu den folgenden Zahlenrätseln zu finden:.) Verdoppelt man das Quadrat einer Zahl und addiert, so erhält man 00..) Addiert man zum Quadrat einer Zahl
MehrANSI C. Grundlagen der Programmierung. Ricardo Hernández García. 3. Ausgabe, 2. Aktualisierung, Dezember 2013 CANSI2
ANSI C Ricardo Hernández García 3. Ausgabe, 2. Aktualisierung, Dezember 2013 Grundlagen der Programmierung CANSI2 2 ANSI C - Grundlagen der Programmierung 2.4 Vom Quellcode zum Maschinenprogramm Das folgende
Mehrzu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme
Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen
MehrTag der Mathematik 2007
Tag der Mathematik 2007 Gruppenwettbewerb Einzelwettbewerb Speed-Wettbewerb Lösungen Allgemeine Hinweise: Als Hilfsmittel dürfen nur Schreibzeug, Geodreieck und Zirkel benutzt werden. Taschenrechner sind
MehrEine Einführung zum numerischen Programmieren mit Excel
Eine Einführung zum numerischen Programmieren mit Excel Bastian Gross Universität Trier 30. April 2012 Bastian Gross (Universität Trier) Excel/OpenOffice Kurs 2012 1/36 30. April 2012 1 / 36 Inhaltsverzeichnis
Mehr1 Definition. 2 Besondere Typen. 2.1 Vektoren und transponieren A = 2.2 Quadratische Matrix. 2.3 Diagonalmatrix. 2.
Definition Die rechteckige Anordnung von m n Elementen a ij in m Zeilen und n Spalten heißt m n- Matrix. Gewöhnlich handelt es sich bei den Elementen a ij der Matrix um reelle Zahlen. Man nennt das Paar
MehrKomplexität von Algorithmen
Komplexität von Algorithmen Prof. Dr. Christian Böhm WS 07/08 in Zusammenarbeit mit Gefei Zhang http://www.dbs.informatik.uni-muenchen.de/lehre/nfinfosw Ressourcenbedarf - Größenordnungen Prozesse verbrauchen
MehrFibonaccizahlen. Auftreten in der Biologie. Bodo Werner. Department Mathematik Universität Hamburg
Fibonaccizahlen Auftreten in der Biologie Department Mathematik Universität Hamburg Fibonacci I Geschichte Leonardo da Pisa, genannt FIBONACCI (etwa 1170-1250) Liber Abbici (1202): Indisch-arabische Ziffern
MehrProgrammiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny
Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 7. Funktionen Einleitung Nach dem Prinzip Divide and Conquer bietet es sich an, größere Aufgaben in kleinere Teile zu unterteilen. Anweisungsblöcke,
MehrUnterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur
Unterprogramme Unterprogramme sind abgekapselte Programmfragmente, welche es erlauben, bestimmte Aufgaben in wiederverwendbarer Art umzusetzen. Man unterscheidet zwischen Unterprogrammen mit Rückgabewert
MehrFibonacci-Folge Mathematik»Facharbeit«
Mathematik»Facharbeit«Mathias Dirksmeier Sven Wilkens Jahrgangsstufe 12 Thomas-Morus-Gymnasium, 2009 Gliederung 1 Allgemeines 2 Allgemein Formel von Moivre-Binet Beziehung zum Goldenen Schnitt 3 Modell
MehrJava Einführung VARIABLEN und DATENTYPEN Kapitel 2
Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Inhalt dieser Einheit Variablen (Sinn und Aufgabe) Bezeichner Datentypen, Deklaration und Operationen Typenumwandlung (implizit/explizit) 2 Variablen
MehrÜbersicht. Datenstrukturen und Algorithmen Vorlesung 5: Rekursionsgleichungen (K4) Übersicht. Binäre Suche. Joost-Pieter Katoen. 20.
Übersicht Datenstrukturen und Algorithmen Vorlesung 5: (K4) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://www-i2.informatik.rwth-aachen.de/i2/dsal12/ 20.
MehrFibonacci-Zahlen in der Mathematik
Fibonacci-Zahlen in der Mathematik Christian Hartfeldt Otto-von-Guericke Universität Magdeburg Fakultät für Mathematik Institut für Algebra und Geometrie email: christian.hartfeldt@t-online.de Internetauftritt:
MehrProgrammieren in C/C++ und MATLAB
Programmieren in C/C++ und MATLAB Sven Willert Christian-Albrechts-Universität zu Kiel CAU 2-1 Datentypen und Formate Mit der Festlegung des Datentyps wird die Art bestimmt, mit der der Computer die Informationen
MehrRekursion. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Rekursion Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-12-13/infoeinf WS12/13 Aufgabe 1: Potenzfunktion Schreiben Sie eine Methode, die
MehrModul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2
Fakultät Verkehrswissenschaften Friedrich List, Professur für Verkehrsbetriebslehre und Logistik Modul Entscheidungsunterstützung in der Logistik Einführung in die Programmierung mit C++ Übung 2 SS 2016
MehrTag 6. Module, benannte Funktionen und Rekursion
Tag 6 Module, benannte Funktionen und Rekursion Wir verlassen nun die abgeschlossene kleine Welt des interaktiven Interpreters und lernen, wie man richtige Haskell-Programme schreibt. Im Interpreter haben
MehrDer 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=ZÄHLENWENN Zählt die nichtleeren Zellen eines Bereiches, deren Inhalte mit den Suchkriterien übereinstimmen
Excel Formel-Handbuch T. Korn 2011 =SUMME Gibt das Ergebnis einer Addition aus =SUMME(A1:A4) =SUMME(A1;A2;A4) : (Doppelpunkt) bedeutet bis bei zusammenhängenden Zellen ; (Semikolon) bedeutet und bei nicht
MehrObjektorientierte Programmierung
Unterlagen zur Veranstaltung Einführung in die Objektorientierte Programmierung Mit Processing Alexis Engelke Sommer 2012 Alexis Engelke Inhalt Level 1: Geometrie Hintergrundfarben Punkte, Linien und deren
MehrPraktikum Ingenieurinformatik. Termin 4. Funktionen, numerische Integration
Praktikum Ingenieurinformatik Termin 4 Funktionen, numerische Integration 1 Praktikum Ingenieurinformatik Termin 4 1. Funktionen. Numerische Integration, Trapezverfahren 1.1. Funktionen Eine Funktion ist
MehrUnd so weiter... Annäherung an das Unendliche Lösungshinweise
Stefanie Anzenhofer, Hans-Georg Weigand, Jan Wörler Numerisch und graphisch. Umfang einer Quadratischen Flocke Abbildung : Quadratische Flocke mit Seitenlänge s = 9. Der Umfang U der Figur beträgt aufgrund
MehrM. 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
MehrDie Involutfunktion Inhalt
Die Involutfunktion Inhalt Inhalt...1 Grundlagen... Basic-Programm...3 Programm-Ablaufplan Involut rekursiv...3 Programm Involut rekursiv...4 Programme für CASIO fx-7400g PLUS...5 Involutfunktion...5 Involut
Mehr12. Rekursion Grundlagen der Programmierung 1 (Java)
12. Rekursion Grundlagen der Programmierung 1 (Java) Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 24. Januar 2006 Einordnung im Kontext der Vorlesung
Mehr5 Flächenberechnung. 5.1 Vierecke Quadrat
98 5 Flächenberechnung Wussten Sie schon, dass (bezogen auf die Fläche) Ihr größtes Organ Ihre Haut ist? Sie hat durchschnittlich (bei Erwachsenen) eine Größe von ca. 1,6 bis 1,9 m 2. Wozu brauche ich
MehrKapitel 5: Abstrakte Algorithmen und Sprachkonzepte. Elementare Schritte
Elementare Schritte Ein elementarer Berechnungsschritt eines Algorithmus ändert im Allgemeinen den Wert von Variablen Zuweisungsoperation von fundamentaler Bedeutung Zuweisungsoperator In Pascal := In
MehrÜbung KogInf Problemlösen, Suche, Lisp
Übung KogInf Problemlösen, Suche, Lisp Michael Siebers 5. und 12. November 2012 Zu Meiner Person Michael Siebers, Dipl. Psych., B.Sc. AI Raum: W05/05.045 Tel.: +49-951-863 2863 E-mail: michael.siebers@uni-bamberg.de
MehrÜbungskomplex Felder (1) Eindimensionale Felder Mehrdimensionale Felder
Übungskomplex Felder (1) Eindimensionale Felder Mehrdimensionale Felder Hinweise zur Übung Benötigter Vorlesungsstoff Ab diesem Übungskomplex wird die Kenntnis und praktische Beherrschung der Konzepte
MehrBrückenkurs Mathematik
Brückenkurs Mathematik 6.10. - 17.10. Vorlesung 1 Logik,, Doris Bohnet Universität Hamburg - Department Mathematik Mo 6.10.2008 Zeitplan Tagesablauf: 9:15-11:45 Vorlesung Audimax I 13:00-14:30 Übung Übungsräume
MehrDas wichtigste zu logo (ucblogo)
Das wichtigste zu logo (ucblogo) Daniel Mohr 2. April 2006 Inhaltsverzeichnis 1 Ein paar Worte zur Geschichte 1 2 Turtle-Grafik 3 3 Dateien laden/speichern 3 4 Prozeduren 4 5 Wiederholungsanweisung 4 6
MehrProf. W. Henrich Seite 1
Klasse - ist ein benutzerdefinierter Datentyp (Referenztyp) - hat Datenelemente - hat Methoden - Konstruktor ist spezielle Methode zum Erstellen eines Objektes vom Typ der Klasse (Instanz) - jede Klasse
Mehrzu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme
Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen
MehrVorübung 1 Beschriften Sie die Tabelle wie in der Abbildung dargestellt.
Diese Anleitung führt in einige Grundfunktionen des Tabellenkalkulationsprogramms Microsoft Excel ein. Sie erstellen nach einigen Vorübungen mit Excel ein kleines Programm, das auf der Grundlage der Gesamtpunktzahl
MehrKlausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 13. April 2007, 11.15-13.00 Uhr Bearbeitungszeit: 105 Minuten
Klausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 13. April 2007, 11.15-13.00 Uhr Bearbeitungszeit: 105 Minuten Vorname: Nachname: Matrikelnummer: Legen Sie zu Beginn Ihren Studentenausweis
MehrIm Folgenden möchte ich einige einfache Algorithmen zur Berechnung dieser Zahlenfolge besprechen.
Die Fibonacci-Folge Leonardo Fibonacci (er vermittelte dem Abendland die arabischen Rechentechniken) stellte 1202 in seinem liber abaci folgende Aufgabe: Gegeben sei ein Kaninchenpaar. Jedes Kaninchenweibchen
MehrMatrizen, Determinanten, lineare Gleichungssysteme
Matrizen, Determinanten, lineare Gleichungssysteme 1 Matrizen Definition 1. Eine Matrix A vom Typ m n (oder eine m n Matrix, A R m n oder A C m n ) ist ein rechteckiges Zahlenschema mit m Zeilen und n
Mehr50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte
50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien
MehrBestimmung einer ersten
Kapitel 6 Bestimmung einer ersten zulässigen Basislösung Ein Problem, was man für die Durchführung der Simplexmethode lösen muss, ist die Bestimmung einer ersten zulässigen Basislösung. Wie gut das geht,
MehrExponentielles Wachstum
Mathematik I für Biologen, Geowissenschaftler und Geoökologen 28. Oktober 2013 Fibonacci-Zahlen Kaninchenvermehrung Fibonacci-Folge Geometrisches Mittel vs. arithmetisches Mittel Beispiele Kaninchenvermehrung
MehrJavaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden
Javaprogrammierung mit NetBeans Variablen, Datentypen, Methoden Programmieren 2 Java Bezeichner Bezeichner: Buchstabe _ $ Buchstabe _ $ Ziffer Groß- und Kleinbuchstaben werden strikt unterschieden. Schlüsselwörter
MehrLogo-Aufgaben mit Verbindung zur Mathematik
Logo-Aufgaben mit Verbindung zur Mathematik Student: Dozent: Prof. Juraj Hromkovic Datum: 13.06.007 Logo-Kenntnisse Für die Lösung der Aufgaben werden folge Logo-Befehle benötigt: Arithmetik: +, -, *,
Mehr3.6.4 Rekursive Funktionen
Klassifizierung von Funktionen mit Hilfe der Abstützrelation (Wenn eine Funktionsdefinition für f eine Funktion g aufruft, dann besteht zwischen beiden Definitionen die Relation f benutzt g ) Klasse 0
MehrFibonacci-Zahlen. Teilnehmer: Herder-Oberschule, Berlin. Käthe-Kollwitz-Oberschule, Berlin. Gruppenleiter:
Fibonacci-Zahlen Teilnehmer: Jiafan He Viet Duc Hoang Maximilian Kube Sarah Lengfeld Mona Mattner Duc Anh Vu Andreas-Oberschule, Berlin Immanuel-Kant-Oberschule, Berlin Andreas-Oberschule, Berlin Käthe-Kollwitz-Oberschule,
MehrUnter dem Symbol n! (gelesen n Fakultät) versteht man das Produkt der natürlichen Zahlen von 1 bis n.
Die Fakultät Definition: Unter dem Symbol n! (gelesen n Fakultät) versteht man das Produkt der natürlichen Zahlen von 1 bis n. n! = 1 2 3... (n 2) (n 1) n Zusätzlich wird definiert 0! = 1 Wie aus der Definition
MehrBiograe Grundlagen Arten Anwendung Problem. L-Systeme. Fabian Trattnig, Georg Messner, Benedikt Huber. 25. Jänner 2008
Biograe Grundlagen Arten Anwendung Problem Fabian Trattnig, Georg Messner, Benedikt Huber 25. Jänner 2008 Biograe Grundlagen Arten Anwendung Problem Einteilung 1 Biograe 2 Grundlagen 3 Arten 4 Anwendung
MehrGroßübung zu Einführung in die Programmierung
Großübung zu Einführung in die Programmierung Daniel Bimschas, M.Sc. Institut für Telematik, Universität zu Lübeck https://www.itm.uni-luebeck.de/people/bimschas Inhalt 1. Besprechung Übung 4 Iteration
MehrGrundlagen der Informatik I (Studiengang Medieninformatik)
Grundlagen der Informatik I (Studiengang Medieninformatik) Thema: 3. Datentypen, Datenstrukturen und imperative Programme Prof. Dr. S. Kühn Fachbereich Informatik/Mathematik Email: skuehn@informatik.htw-dresden.de
MehrProgrammierung 2. Dynamische Programmierung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland.
1 Programmierung 2 Dynamische Programmierung Sebastian Hack hack@cs.uni-saarland.de Klaas Boesche boesche@cs.uni-saarland.de Sommersemester 2012 2 Übersicht Stammt aus den Zeiten als mit Programmierung
MehrFibonaccis Kaninchen. Entdeckende Mathematik mit Derive. von Gregor Noll
Entdeckende Mathematik mit Derive von Die Fibonacci-Zahlen (1) In seinem Werk Liber abaci aus dem Jahre 1202 stellte Leonardo von Pisa, genannt Fibonacci, eine bis heute berühmt gebliebene Aufgabe: Leonardo
Mehrmentor Lernhilfe: Mathematik 10. Klasse Baumann
mentor Lernhilfe: Mathematik 10. Klasse Geometrie: Winkelfunktionen, Trigonometrie, Additionstheoreme, Vektorrechnung von Rolf Baumann 1. Auflage mentor Lernhilfe: Mathematik 10. Klasse Baumann schnell
MehrDie Goldene Spirale... 1. Der Goldene Schnitt... 3. Das Goldene Rechteck... 7. Gruppenarbeit... 8
Die Goldene Spirale Fach: Mathematik Hauptseminar: Spiralen, WS 2005/2006 Dozent: Prof. Dr. R. Deißler Referenten: Judith Stoiber 1389024 Peter Rath 1389345 Handout zum Referat vom 24.01.2006 Inhaltsverzeichnis:
Mehr2 Rationale und reelle Zahlen
2 reelle Es gibt Mathematik mit Grenzwert (Analysis) und Mathematik ohne Grenzwert (z.b Algebra). Grenzwerte existieren sicher nur dann, wenn der Zahlbereich vollständig ist, also keine Lücken aufweist
MehrDifferenzengleichungen. und Polynome
Lineare Differenzengleichungen und Polynome Franz Pauer Institut für Mathematik, Universität Innsbruck Technikerstr. 13/7, A-600 Innsbruck, Österreich franz.pauer@uibk.ac.at 1 Einleitung Mit linearen Differenzengleichungen
MehrDynamische Programmierung. Problemlösungsstrategie der Informatik
als Problemlösungsstrategie der Informatik und ihre Anwedung in der Diskreten Mathematik und Graphentheorie Fabian Cordt Enisa Metovic Wissenschaftliche Arbeiten und Präsentationen, WS 2010/2011 Gliederung
MehrInformationsverarbeitung im Bauwesen
1/23 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 6
MehrAlgorithmen und Datenstrukturen 1 Kapitel 3
Algorithmen und Datenstrukturen 1 Kapitel 3 Technische Fakultät robert@techfak.uni-bielefeld.de Vorlesung, U. Bielefeld, Winter 2005/2006 3.6 Dynamische Programmierung Die rekursive Problemzerlegung kann
MehrAnalysis I. Vorlesung 9. Reihen
Prof. Dr. H. Brenner Osnabrück WS 20/204 Analysis I Vorlesung 9 Reihen Wir haben in der siebten Vorlesung gesagt, dass man eine Dezimalentwicklung, also eine (unendliche) Ziffernfolge mit Ziffern zwischen
MehrZeichnet man nun über die Seiten des Dreiecks die Quadrate der jeweiligen Seiten, dann ergibt sich folgendes Bild:
9. Lehrsatz von Pythagoras Pythagoras von Samos war ein griechischer Philosoph und Mathematiker, der von ca. 570 v.chr. bis 510 n.chr lebte. Obwohl es über seine gesallschaftliche Stellung verschiedene
MehrDie Programmiersprache C
Die Programmiersprache C höhere Programmiersprache (mit einigen Assembler-ähnlichen Konstrukten) gut verständliche Kommandos muss von Compiler in maschinenlesbaren Code (Binärdatei) übersetzt werden universell,
MehrMit ParamArrays unter VBA kann man Prozeduren und Funktionen mit einer flexiblen Anzahl von Parametern bestücken Kontext
Mit ParamArrays unter VBA kann man Prozeduren und Funktionen mit einer flexiblen Anzahl von Parametern bestücken Kontext Dieses Beispiel baut auf dem Artikel Anzahl Zeilen und Spalten eines Range-Objektes
MehrEine lineare Abbildung ist bijektiv, d.h. ihre Matrix ist invertierbar, falls und nur falls
Kriterien für Invertierbarkeit einer Matrix Eine lineare Abbildung ist bijektiv, d.h. ihre Matrix ist invertierbar, falls und nur falls (i) für jede Basis, die Bildvektoren auch eine Basis, bilden; (intuitiv
MehrFB Informatik. Fehler. Testplan
Fehler #include int i,n,summe; int summe (int); cout 0) cin>n; i=summme(n); cout
MehrANSI C. Grundlagen der Programmierung. Ricardo Hernández García. 3. Ausgabe, September 2011 CANSI2
ANSI C Ricardo Hernández García 3. Ausgabe, September 2011 Grundlagen der Programmierung CANSI2 2 ANSI C - Grundlagen der Programmierung 2.4 Vom Quellcode zum Maschinenprogramm Das folgende Beispiel geht
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Der hat die früher handschriftlichen Folien lesbar gemacht. Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Heutige Themen Hello World!
Mehr9.2 Invertierbare Matrizen
34 9.2 Invertierbare Matrizen Die Division ist als Umkehroperation der Multiplikation definiert. Das heisst, für reelle Zahlen a 0 und b gilt b = a genau dann, wenn a b =. Übertragen wir dies von den reellen
MehrC++ - Operatoren. Eigene Klassen mit neuen Funktionen
C++ - Operatoren Eigene Klassen mit neuen Funktionen Übersicht Klassen bisher Eigene Operatoren definieren 2 Bisher Durch Kapselung, Vererbung und Polymorphy können nun eigene Klassen definiert werden,
MehrLösung zur Klausur zu Krypographie Sommersemester 2005
Lösung zur Klausur zu Krypographie Sommersemester 2005 1. Bestimmen Sie die zwei letzten Ziffern der Dezimaldarstellung von 12 34 Es gilt: 12 34 = 12 32+2 = 12 32 12 2 = 12 (25) 12 2 = ((((12 2 ) 2 ) 2
Mehr2. Die Satzgruppe des Pythagoras
Grundwissen Mathematik 9. Klasse Seite von 17 1.4 Rechnen mit reellen Zahlen a) Multiplizieren und Dividieren von reellen Zahlen + Es gilt: a b = a b mit ab R, 0 Beispiele: 18 = 36 = 6 14 14 7 = = a a
Mehr2 Geradengleichungen in Parameterform. Länge und Skalarprodukt
2 Geradengleichungen in Parameterform. Länge und Skalarprodukt Jörn Loviscach Versionsstand: 19. März 2011, 15:33 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung. Videos dazu:
Mehr