7. Grundlagen von Funktionen

Größe: px
Ab Seite anzeigen:

Download "7. Grundlagen von Funktionen"

Transkript

1 7. Grundlagen von Funktionen

2 Funktionen in C++ Bestandteile eines C++ - Programms C++ Kern Standardbibliothek Anwender Sonstiges vordefinierte Datentypen, Operatoren, Befehle vordefinierte Funktionen (und Klassen) selbsterstellte Funktionen (und Klassen) externe Bibliotheken Dr. Norbert Spangler /Programmieren

3 Funktionen in C++: Standardbibliothek Mathematische Funktionen mittels #include <cmath> abs (x*x-a) >=1.0e-10 sqrt(summe) Argument und Wert z.b. double Weitere Funktionen in cmath: exp log log10 pow asin sin cos tan acos atan sinh cosh tanh rand() ganzzahlige Zufallszahl Argument keines, Funktionswert int strlen(ca) Zeichenzahl eines Character-Arrays Argument Character-Array, Funktionswert int cin.eof() wahr/falsch bei Dateiende Dr. Norbert Spangler /Programmieren

4 Funktionen in C++: Anwender-Funktionen Eigene Formeln p-q-formel bei quadratischen Gleichungen Argumente: p und q Funktionswert : eine Lösung loesung = pqformel(p,q) Suchen eines Elements in einem Array Argumente: Arrayelemente + Anzahl der Elemente + Suchelement Funktionswert : gefundener Index (Stelle) stelle = suche(anzahl,array, suchelement) Sortieren der Elemente einesarrays Argumente: Arrayelemente + Anzahl der Arrayelemente Funktionswert : void sortiere(anzahl,array) Eingabe von Daten Argumente: Daten Funktionswert : void oder bool Ausgabe von Daten Argumente: Daten Funktionswert : void Regel: Funktionen machen keineausgaben am Bildschirm, es sei denn, es handelt sich um eine Ausgabefunktion Dr. Norbert Spangler /Programmieren

5 Motivation: wofür? Funktionen lösen spezielle (Teil-)Aufgaben mathematische Formeln spezielle Algorithmen: Suchen, Sortieren, Gleichungen,Auswertungen Ein-/Ausgabe für Tastatur, Bildschirm, Dateien usw. Steuerungen von Geräten,Anlagen, Funktionen sind Zusammenfassungen von Arbeitspaketen und bieteneine Möglichkeit zur Verteilung des Programmieraufwands auf Teams Voraussetzung Die Schnittstellen (d.h. die Kommunikation) der Funktionen untereinander sind klar festgelegt bzw. beschrieben. -> Welche Daten werden benötigt um die Funktion auszuführen? -> Welche Daten/Ergebnisse liefert die Funktion? Dr. Norbert Spangler /Programmieren

6 Motivation: Programmqualität Funktionen sind damit eigenständige" Programmteile innerhalb einer Anwendung zur -Strukturierung/Beherrschung der Komplexität (Komponenten), - Lösung von Teilaufgaben, - Arbeitsorganisation d.h. Aufteilung auf Teams, - Verbesserung der Übersichtlichkeit und Lesbarkeit, - Verbesserung des Testens, - Wiederverwendung (z. Bsp. Ein-/Ausgabe vonarrays), - Archivierung in Bibliotheken, -Übersetzung: jede Funktion wird durch einen eigenen Compilerlauf bearbeitet. Damit könnten auch unterschiedliche Programmiersprachen verwendet werden. Funktionen erhöhen die Programmqualität Dr. Norbert Spangler /Programmieren

7 7.1 Beispiel einer Anwender-Funktion: Musterprogramm Wurzel berechnen Wurzel berechnen Eingabe a Eingabe a Ja a <= 0 Nein a<=0 ja nein a muss > 0 sein Ausgabe wurzel(a) a muss >0 sein x=a Solangex*x-a ungenau x*x-a x = x x Ausgabe x Wurzel(a) x = a S olangex*x-a ungenau Das "große unübersichtliche" Struktogramm wird ersetzt durch "kleine" übersichtliche" für jede Funktion, sowie das eigentliche Programm: - Eingabe mit Plausibilitätskontrolle->einfach zu testen - eigentliche Aufgabe->keine unzulässigen Daten mehr x*x-a x = x x Ergebnis x Dr. Norbert Spangler /Programmieren

8 main mit Verwendung einer Funktion wurzel // Wurzel berechnen #include <iostream> using namespace std; Funktion1: main void main() { double radikand; double wurzel(double); } cout <<"\n radikand eingeben "; cin>>radikand; //Plausibilitaetskontrolle if ( radikand<0 )// unzulaessige Eingabe cout <<"\n darf nicht < 0 sein "; else //Ergebnis cout <<"\n Wurzel von "<<radikand <<" = "<< wurzel(radikand) <<endl; Prototyp: Funktionstyp ist double 1 Parameter vom Typ double Dadurch ist wurzel in main bekannt und kann verwendet werden. Aufruf Hier wird wurzel verwendet. aktuelle Parameter Mit diesen Daten aus dem main soll wurzel arbeiten Dr. Norbert Spangler /Programmieren

9 Die Funktion wurzel formale Parameter (Platzhalter, lokale Variable der Funktionwurzel) double wurzel(double a) { const double genauigkeit=0.001; double x=a; if (a==0.0) return 0.0; else while ( abs (x*x-a)>genauigkeit ); x=x-(x*x-a)/(2*x); return x; } Funktionskopf Funktionsblock Definition Ergebnis (Funktionswert) Dr. Norbert Spangler /Programmieren

10 Dateien Üblicherweise sollte man jede Funktion innerhalb eines Projekts in einer eigenen Datei speichern. Anmerkung: es geht auch mit einer Datei. main in Datei main.cpp Compiler erzeugt main.obj Funktion in einer Datei func.cpp Compiler erzeugt func.obj Linker projekt.exe-datei Dr. Norbert Spangler /Programmieren

11 7.2 Aufgabenstellung Prinzipielle Ausgangssituation: main (ist eine benutzerdefinierte Funktion); sie verwendet wurzel (ist eine weitere benutzerdefinierte Funktion), diese verwendet abs (ist eine bereitgestellte Funktion) Allgemein: Eine Funktion function1 verwendet eine andere Funktion function2. Dr. Norbert Spangler /Programmieren

12 Aufgabenstellung: Anforderungen Situation: funktion1 verwendet funktion2 z.b. funktion1 geschrieben von Programmierer/Team a funktion2 geschrieben von Programmierer/Team b Wie erkennt funktion1 dass es funktion2 gibt? Verfügbarkeit: Was passiert wenn funktion2 nicht zur Verfügung steht? Wie kann funktion1 programmiert werden wenn funktion2 nicht verfügbar ist? Kann funktion2 programmiert/getestet werden wenn funktion1 nicht existiert? Schnittstellen: Wie erfährt funktion2, mit welchen Daten aus funktion1 sie arbeiten muss? Wie wird das Ergebnis von funktion2 an funktion1 übermittelt? Bei Mehrfachverwendung von funktion2 in funktion1: An welcher Stelle in funktion1 geht es weiter? Dr. Norbert Spangler /Programmieren

13 main Schnittstellen funktion1(main) funktion2 (f) Sprung f(t) Programmcode Daten funktion 1 x y h z y=f(x); z=f(h)+1; Sprung Rücksprung/Ergebnis Stelle 1 Rücksprung/Ergebnis Stelle 2 Variante 1: Wert ausrechnen kopieren Variante 2: Adresse verraten t wird an derselben Stelle gespeichert wie h return ergebnis t ergebnis Dr. Norbert Spangler /Programmieren Programmcode Daten funktion 2

14 Erfüllung der Anforderungen/1 Wie erkennt funktion1 dass es funktion2 gibt? Ein Hinweis ist erforderlich: Prototyp Was passiert wenn funktion2 nicht zur Verfügung steht? Fehlermeldung des Linkers Wie kann funktion1 programmiert werden wenn funktion2 nicht verfügbar ist? Man erstellt eine einfache Vorabversion von funktion2 mit korrekten Schnittstellen aber ohne wesentliche Funktionalität: Stub Kann funktion2 programmiert/getestet werden wenn funktion1 nicht existiert? Man erstellt ein separates Testprogramm für funktion2: Treiber Dr. Norbert Spangler /Programmieren

15 Erfüllung der Anforderungen/2 Wie erfährt funktion2, mit welchen Daten aus funktion1 sie arbeiten muss? Bei der Verwendung der Funktion (Aufruf) müssen diese mittels Parameter übermittelt werden. Hierzu gibt es unterschiedliche Techniken (durch Kopien oder mittelsadressen). Wie wird das Ergebnis von funktion2 an funktion1 übermittelt? Hierzu gibt es unterschiedliche Techniken. Die einfachste Variante ist mittels des Returnbefehls: return Funktionswert; Alternative: Ändern von Parametern (später) Bei Mehrfachverwendung von Funktion2: An welcher Stelle in funktion1 geht es weiter? Die Stelle (Rücksprungadresse) muss beim Wechsel vom Programmcode von funktion1 in den von funktion2 gemerkt und bei der Rückkehr verwendet werden. Dies wird automatisch erledigt. Dr. Norbert Spangler /Programmieren

16 Weitere Aspekte Eine Funktion hat einen Wert(Typ) Prinzipiell ist jeder Typ zulässig, also auch int, short,char,. Hat eine Funktion "keinen Wert" wird als Typ void verwendet. Funktionen vom Typ void werden direkt aufgerufen Beispiel : tausche(x,y); sortiere(n,x); ausgabearray(n,a); Funktionen mit Typ erscheinen üblicherweise als R-Wert Beispiel: w=wurzel(radikand) ; cout<<wurzel(b*b-4*a*c) <<endl; Eine Funktion hat kann beliebig viele Parameter haben Parameter werden durch Komma getrennt Beispiel wurzel(a,genauigkeit) allgemein funktionsname(parameter1,parameter2,...,parameter_n) aber auch void main() //ohne Parameter

17 7.3 Programmierung von Funktionen Die Funktion sollte sinnvollerweise in einer eigenen cpp-datei im Projekt stehen. Daher ist zu main eine weitere cpp-datei hinzuzufügen. Der Name kann beliebig gewählt werden; üblich ist Funktionsname.cpp. Diese Datei enthält dann die Funktionsdefinition. Sie besteht aus dem Funktionskopf und dem Funktionsblock. Je nach Größe des Projekts bzw. Anzahl oder Umfang der Funktionenkann man auch mehrere Funktionsdefinitionen in einer Datei zusammenfassen. Ziel sollte generell die Übersichtlichkeit des Gesamtprogramms sein. Dr. Norbert Spangler /Programmieren

18 Funktionsdefinition = Funktionskopf + Funktionsblock Angabe des Funktionskopfs Typ der Funktion Name der Funktion entspricht dem Typ des return-wertes wie ein Variablenname Deklarationsliste Typ und Name der Parameter genauer: formale Parameter (Platzhalter) Allgemeine Funktionsdefinition: typfunktion namefunktion(typ1 p1,,typn pn) Beispiele: double wurzel(double a) //1 Parameter double wurzel(double a, double genauigkeit) //2 Parameter double loesung1(double a, double b, double c) //quadratische Gleichung - 3 Par. int rand() //kein Parameter- ganzzahlige Zufallszahl void ausgabekreisdaten( float radius) // Typ der Funktion void Dr. Norbert Spangler /Programmieren

19 Funktionsdefinition = Funktionskopf + Funktionsblock Funktionsblock { Befehle der Funktion} In einem Paar geschweifter Klammern stehen die Befehle der Funktion. Er kann alle bekannten Befehle enthalten. Insbesondere ist es möglich, neu benötigte Größen zu deklarieren. Diese sind dann lokale Größen im Funktionsblock und nach Verlassen des Blocks, d.h. nach Beendigung der Funktion, nicht mehr existent. Für die formalen Parameter im Funktionskopf, wie sie bisher dargestellt wurden, werden ebenfalls lokale Variable deklariert. Eine Funktion wird mittels return beendet. Danach erfolgt der Rücksprung in die aufrufende Funktion. Hierbei gibt es 2 Varianten. Dr. Norbert Spangler /Programmieren

20 Beendigung der Funktion mit return Wenn die Funktion vom Typ void ( z.b. void main(), void ausgabekreisdaten(...) ist, wird sie üblicherweise mittels return ohne zusätzlichen Angaben beendet. Beispiel: if ( a< 0 ) { cout<<"fehler: unzulaessige Eingabe"; return; } Ein return am Ende des Funktionsblocks, d.h. am Ende der Funktion kann auch weggelassen werden. Dr. Norbert Spangler /Programmieren

21 Beendigung der Funktion mit return wert Wenn die Funktion nicht vom Typ void ist, dann muss sie immermit return wert; beendet werden. Dabei ist wert ein Ausdruck vom selben Typ wiedie Funktion also etwa im Falle des Typs double ( wie bei wurzel) : return 0.0; //Konstante vom Typ double return x; // Variable vom Typ double return x*x-1; //Ausdruck vom Typ double Der Funktioswert funktion(parameter) ist dann als R-Wert zu verwenden. Dr. Norbert Spangler /Programmieren

22 #include<cmath> using namespace std; double wurzel(double a) { const double genauigkeit=0.001; double x=a; if (a==0.0) return 0.0; else { while ( abs (x*x-a)>genauigkeit ) x=x-(x*x-a)/(2*x); } return x; } Definition/Beispiel 1 Wegen Verwendung von abs Achtung: Alle hier vorkommenden Größen sind lokale Größen der Funktion a genauigkeit x Dr. Norbert Spangler /Programmieren

23 #include <string> using namespace std; bool ist_palindrom(string s)//typ bool { int laenge=s.length(); for ( int i=0;i<laenge/2;i++) if ( s[i]!=s[laenge-1-i] ) return false; return true; } void ausgabekreisdaten(float radius) { float pi= f; cout<<"radius } Definition: weitere Beispiele/1 Überprüft, ob eine Variable vom Typ string ein Palindrom enthält. Lokale Variable: s laenge i Lokale Variable: radius pi "<<setw(10)<<setprecision(3)<<fixed<<radius<<endl; cout<<"durchmesser "<<setw(10)<<setprecision(3)<<fixed<<radius*2<<endl; cout<<"umfang "<<setw(10)<<setprecision(3)<<fixed<<(2*radius*pi)<<endl; cout<<"flaeche "<<setw(10)<<setprecision(3)<<fixed<<(radius*radius*pi)<<endl; Dr. Norbert Spangler /Programmieren

24 #include <string> using namespace std; string notentext(int note) { if ( note==1 ) return "sehr gut"; else if ( note==2 ) return "gut"; else if ( note==3 ) return "befriedigend"; else if ( note==4 ) return "ausreichend"; else if ( note==5 ) return "mangelhaft"; else return "unbefriedigend"; } Dr. Norbert Spangler /Programmieren Definition: weitere Beispiele/2 int rabatt_prozent(int menge) { if ( menge<10 ) return 0; else if ( menge<50 ) return 5; else if ( menge<100 ) return 10; else return 20; }

25 7.4 Verwendung einer Funktion/Aufruf Will man in einer funktion1 (z.b. main) eine andere funktion2 (z.b. wurzel oder sin ) verwenden, so muss man sie im Falle von Standardfunktionen mittels include bereitstellen bzw. im Falle eigenentwickelter Funktionen dem Compiler zur Plausibilitätskontrolle alle relevanten Informationen mitteilen wie - Name der Funktion - Typ der Funktion ( genauer des Ergebnisses) - Anzahl der Parameter - Typ der Parameter - Reihenfolge der Parameter Dies geschieht durch die Angabe des Prototyps. Dr. Norbert Spangler /Programmieren

26 Prototyp (Deklaration) Der Prototyp ist ähnlich dem Funktionskopf in der Definition. Es kann auf die Angabe der Namen der Parameter verzichtet werden. Der Typist jedoch erforderlich. Der Prototyp muss vor der ersten Verwendung angegeben sein. Form: typderfunktion namederfunktion(parametertyp1,,parametertypn); Beispiele: double wurzel(double); int rabatt(int); bool ist_palindrom(string); int rabatt_prozent(int); string notentext(int); void ausgabekreisdaten(float]); Dr. Norbert Spangler /Programmieren

27 Aufruf der Funktion Beim Aufruf der Funktion müssen die (formalen) Parameter durchdie aktuell zu verwendenden Parameter (Ausdrücke) ersetzt werden. Es gibt 2 Arten des Aufrufs: Für Funktionen vom Typ void: Die Funktion wird mit aktuellen Parametern direkt hingeschrieben: ausgabekreisdaten(r); Für Funktionen mit Typ: Die Funktion hat damit einen Wert, welcher wie ein R-Wert verwendet wird. Dr. Norbert Spangler /Programmieren

28 Aufruf der Funktion/ Beispiele Für Funktionen mit Typ: Die Funktion hat damit einen Wert, welcher wie ein R-Wert verwendet wird. summe=bestellmenge*stueckpreis; //Berechnung Rabattbetrag rabatt=summe * rabatt_prozent(bestellmenge) /100; cout<<" Note "<<n<<" ist "<<notentext(n)<<endl; void main()//treiber Palindrom { string text; bool ist_palindrom(string); cout<<" Text "; cin>>text; if ( ist_palindrom(text) ) cout<<text<<" ist Palindrom"<<endl; else cout<<text<<" ist Palindrom"<<endl; } Dr. Norbert Spangler /Programmieren

29 Parameterübergabe Beim Aufruf der Funktion wird (lokaler) Speicherplatz bereitgestellt für formale Parameter, sonstige lokale Variable, und die Rücksprungadresse Es werden die aktuellen Parameter ausgewertet (Ausdrücke). Diese Werte werden auf die lokalen Variablen für die formalen Parameter kopiert. Technik der Parameterübergabe : Call by Value Die Funktion arbeitet also immer mit Kopien und nie mit Variablen aus der aufrufenden Funktion (=Originaldaten). Damit können die aktuellen Parameter aus der aufrufenden Funktion nicht geändert werden (da nicht bekannt)! Sollte dies erforderlich sein müssen andere Techniken gewählt werden (->später). Nachteilig ist, dass Parameter mit hohem Speicherbedarf dupliziert werden. Dr. Norbert Spangler /Programmieren

30 Prinzipieller Ablauf des Aufrufs main Aufruf, Rücksprungadresse merken wurzel(b*b-4*a*c); //a ist im main deklariert Aktuelle Parameter auswerten und auf formale Parameter kopieren wurzel( double a ); //a ist in wurzel deklariert Funktionsblock ausführen (lokale Objekte : a, genauigkeit, x) Rücksprungadresse holen, Wert mittels return übergeben main Mit Wert/Ergebnis arbeiten Dr. Norbert Spangler /Programmieren

31 7.5 Test einer Funktion Funktionen werden in der Regel separat getestet mittels eines zugehörigen Testprogramms (Treiber). Dabei sind anstelle der bisher verwendeten Eingaben jetzt üblicherweise die Parameter zu variieren. Da aber diese stets einen fest vorgegebenen Typ haben, können hier keine verkehrten Datentypen vorkommen. Damit entfallen Testbeispiele mit unzulässigen Daten, wenn dies die Datentypen betrifft. Es sind allenfalls unsinnige Daten zu betrachten wie negative Anzahlen etc. Der Test einer Funktion ist daher in der Regel einfacher als der eines Programms mit Eingaben und Plausibilitätskontrollen. Dr. Norbert Spangler /Programmieren

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur

Unterprogramme. 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

Mehr

Kap 09. Funktionen/Ergänzungen

Kap 09. Funktionen/Ergänzungen Kap 09. Funktionen/Ergänzungen 9.1 Inline-Funktionen Der Mechanismus der Parameterübergabe hat einen "hohen" organisatorischen Aufwand z.b. durch kopieren der Parameteretc. Ist die Funktion vergleichsweise

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. Elementare Befehle und Struktogramme

5. Elementare Befehle und Struktogramme 5. Elementare Befehle und Struktogramme Programmablauf Beschreibung des Programmablaufs mittel grafischer Symbole Beispiel : Flussdiagramme ja nein Besser : Struktogramme Dr. Norbert Spangler / Grundlagen

Mehr

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

Programmiersprache 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,

Mehr

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22 C++ Teil 2 Sven Groß IGPM, RWTH Aachen 16. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 2 16. Apr 2015 1 / 22 Themen der letzten Vorlesung Hallo Welt Elementare Datentypen Ein-/Ausgabe Operatoren Sven

Mehr

Einführung in den Einsatz von Objekt-Orientierung mit C++ I

Einführung in den Einsatz von Objekt-Orientierung mit C++ I Einführung in den Einsatz von Objekt-Orientierung mit C++ I ADV-Seminar Leiter: Mag. Michael Hahsler Syntax von C++ Grundlagen Übersetzung Formale Syntaxüberprüfung Ausgabe/Eingabe Funktion main() Variablen

Mehr

Einführung in die Programmiersprache C

Einführung in die Programmiersprache C Einführung in die Programmiersprache C Marcel Arndt arndt@ins.uni-bonn.de Institut für Numerische Simulation Universität Bonn Der Anfang Ein einfaches Programm, das Hello World! ausgibt: #include

Mehr

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

Übungen zur Vorlesung EidP (WS 2015/16) Blatt 6 Andre Droschinsky Ingo Schulz Dortmund, den 0. Dezember 2015 Übungen zur Vorlesung EidP (WS 2015/16) Blatt 6 Block rot Es können 4 + 1 Punkte erreicht werden. Abgabedatum: 10. Dezember 2015 2:59 Uhr Hinweise

Mehr

Informatik für Elektrotechnik und Informationstechnik

Informatik für Elektrotechnik und Informationstechnik Informatik für Elektrotechnik und Informationstechnik Praktikum 1 Wintersemester 2013/14 1 Kennenlernen der Entwicklungsumgebung Netbeans Netbeans ist eine moderne Entwicklungsumgebung für mehrere Programmiersprachen,

Mehr

8. Funktionen mit Arrays

8. Funktionen mit Arrays 8. Funktionen mit Arrays Motivation Call by Value als Übergabetechnik kommt nur bei einfachen Variablen zum Einsatz. Das Anlegen von "Kopien" ist da akzeptabel. Bei Arrays ist es dagegenweniger sinnvoll,

Mehr

Objektorientiertes Programmieren für Ingenieure

Objektorientiertes Programmieren für Ingenieure Uwe Probst Objektorientiertes Programmieren für Ingenieure Anwendungen und Beispiele in C++ 18 2 Von C zu C++ 2.2.2 Referenzen und Funktionen Referenzen als Funktionsparameter Liefert eine Funktion einen

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte

Mehr

Klausur Informatik I WS 2006/2007

Klausur Informatik I WS 2006/2007 Klausur Informatik I WS 2006/2007 Name Gruppe 1 Vorname Dauer 90 min Matrikelnummer Hilfsmittel keine Hinweis: sofern Sie die Rückseite eines Blattes verwenden vermerken sie dies auf der Vorderseite Nr.

Mehr

FB Informatik. Fehler. Testplan

FB Informatik. Fehler. Testplan Fehler #include int i,n,summe; int summe (int); cout 0) cin>n; i=summme(n); cout

Mehr

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung:

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung: Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Der Sourcecode wird an den entsprechenden Stellen im Programm wiederholt Programm wird lang

Mehr

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML. JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung

Mehr

Vorkurs C++ Programmierung

Vorkurs C++ Programmierung Vorkurs C++ Programmierung Funktionen Rückblick Operatoren logische Verknüpfungen Zusammengesetzte Operatoren ( Zuweisungsoperatoren ) Kontrollstrukturen Bedingte Anweisungen (if-abfrage, switch-konstrukt)

Mehr

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2014/2015 Wirtschaftsingenieur Bachelor 4. Aufgabe Datenstruktur, Dateieingabe und -ausgabe

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2014/2015 Wirtschaftsingenieur Bachelor 4. Aufgabe Datenstruktur, Dateieingabe und -ausgabe Aufgabenstellung Für ein Baumkataster sollen für maximal 500 Bäume Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Nummer Bauminfo Baumart Hoehe Baum Umfang

Mehr

Die Programmiersprache C99: Zusammenfassung

Die Programmiersprache C99: Zusammenfassung Die Programmiersprache C99: Zusammenfassung Jörn Loviscach Versionsstand: 7. Dezember 2010, 19:30 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung. Videos dazu: http://www.youtube.com/joernloviscach

Mehr

Nachname: Vorname: Matr.-Nr.: Punkte: 1. Aufgabe: ( / 25 Pkt.) Gegeben ist das folgende Struktogramm zur Berechnung von sin(x) mit Hilfe einer Reihe.

Nachname: Vorname: Matr.-Nr.: Punkte: 1. Aufgabe: ( / 25 Pkt.) Gegeben ist das folgende Struktogramm zur Berechnung von sin(x) mit Hilfe einer Reihe. Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe: ( / 25 Pkt.) Gegeben ist das folgende

Mehr

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe Aufgabenstellung Für eine Hausverwaltung sollen für maximal 500 Wohnungen Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Art Baujahr Wohnung Whnginfo Nebenkosten

Mehr

Einführung in die Programmierung Wintersemester 2016/17

Einführung in die Programmierung Wintersemester 2016/17 Einführung in die Programmierung Wintersemester 2016/17 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Gültigkeitsbereiche Inhalt Lokale und globale

Mehr

Praktikum Ingenieurinformatik. Termin 4. Funktionen, numerische Integration

Praktikum 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

Mehr

Es gibt zwei verschiedene Arten, wie Programme auf dem Rechner ausgeführt werden:

Es gibt zwei verschiedene Arten, wie Programme auf dem Rechner ausgeführt werden: 3 Grundlagen 3.1 Starten eines C++ Programms Es gibt zwei verschiedene Arten, wie Programme auf dem Rechner ausgeführt werden: 1. Programme, die vom Interpreter der Programmiersprache Zeile für Zeile interpretiert

Mehr

Die einfachsten Anweisungen

Die einfachsten Anweisungen 2 Die einfachsten Anweisungen 2-1 Inhalt Die einfachsten Anweisungen Einführung Datentypen Arithmetische Operatoren Mathematische Funktionen Mehrfache Zuweisungen Übungsaufgaben Einführung Wir wollen unser

Mehr

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

zu 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

Mehr

Programmieren in C/C++ und MATLAB

Programmieren in C/C++ und MATLAB Programmieren in C/C++ und MATLAB Sven Willert Sabine Schmidt Christian-Albrechts-Universität zu Kiel CAU 5-1 Übung Schreiben Sie ein Programm, das die Zahl π durch π = 4 4 4 4 4 4 + + +... 3 5 7 9 11

Mehr

Elementare Datentypen in C++

Elementare Datentypen in C++ Elementare Datentypen in C++ bool signed/unsigned char signed/unsigned short int signed/unsigned int signed/unsigned long int (signed/unsigned long long int) float double long double void enum char Der

Mehr

Deklarationen in C. Prof. Dr. Margarita Esponda

Deklarationen 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.

Mehr

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

zu 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

Mehr

Pass by Value Pass by Reference Defaults, Overloading, variable Parameteranzahl

Pass 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

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 18

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 18 Kapitel 3 Datentypen und Variablen Seite 1 von 18 Datentypen - Einführung - Für jede Variable muss ein Datentyp festgelegt werden. - Hierdurch werden die Wertemenge und die verwendbaren Operatoren festgelegt.

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

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2010/11 Lokale und globale Variablen Namensräume Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund

Mehr

C++ Notnagel. Ziel, Inhalt. Programmieren in C++

C++ Notnagel. Ziel, Inhalt. Programmieren in C++ C++ Notnagel Ziel, Inhalt Ich versuche in diesem Dokument noch einmal die Dinge zu erwähnen, die mir als absolut notwendig für den C++ Unterricht und die Prüfungen erscheinen. C++ Notnagel 1 Ziel, Inhalt

Mehr

Inhalt. 4.7 Funktionen

Inhalt. 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

Mehr

Funktionales C++ zum Ersten

Funktionales C++ zum Ersten Funktionales C++ zum Ersten WiMa-Praktikum 1, Teil C++, Tag 1 Christoph Ott, Büro: Helmholtzstr.18, E22 Tel.: 50-23575, Mail: christoph.ott@uni-ulm.de Institut für Angewandte Informationsverarbeitung 26.08.08

Mehr

Hochschule Darmstadt Informatik-Praktikum WS 2016/2017 WIng Bachelor 4. Aufgabenblatt Modularisierung, Funktionen, Unterprogramme

Hochschule Darmstadt Informatik-Praktikum WS 2016/2017 WIng Bachelor 4. Aufgabenblatt Modularisierung, Funktionen, Unterprogramme Ziele sind das Arbeiten mit Funktionen, sowie - einfache Verzweigung (if else) - Alternativen switch case - einfache Schleifen (while oder do while) Aufgabe 4: Diese Aufgabe basiert auf der Aufgabe 3.

Mehr

Kap 9. Bitoperationen und -strukturen

Kap 9. Bitoperationen und -strukturen Kap 9. Bitoperationen und -strukturen 9.1 Anwendung von Bits Im Gegensatz zu den üblicherweise Byte-orientierten Daten gibt es auch Bit-Anwendungsbeispiele Statusanzeigen bei Ein-/Ausgabe (Stream-Klassen)

Mehr

5. Unterprogrammtechnik/Module

5. 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

Mehr

Klausur in Programmieren

Klausur in Programmieren Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Sommer 2010, 19. Juli 2010 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt) Name: Matrikelnr.:

Mehr

Übersicht. Informatik 1 Teil 9: komplexe Datentypen (Strukturen, Enumerationen, Unions)

Übersicht. Informatik 1 Teil 9: komplexe Datentypen (Strukturen, Enumerationen, Unions) Übersicht 9.1 Strukturen (Verwendung) 9.2 Strukturen (Typdeklaration) 9.3 Strukturen (Variablendeklaration) 9.4 Felder aus Strukturen 9.5 Zugriff auf Strukturkomponenten 9.6 Zugriff auf Strukturkomponenten

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

Erste Schritte der Programmierung in C

Erste Schritte der Programmierung in C Erste Schritte der Programmierung in C C versus C++ Anatomie von C-Programmen für AVR- Mikrocontroller Unterschiede zwischen C++ und C 1 Grundlegende Unterschiede File-Extensions (Header und Quellcode)

Mehr

10 Die Programmiersprache C99: Zusammenfassung

10 Die Programmiersprache C99: Zusammenfassung 10 Die Programmiersprache C99: Zusammenfassung Jörn Loviscach Versionsstand: 25. September 2014, 18:40 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html

Mehr

Arrays (Felder/Vektoren)

Arrays (Felder/Vektoren) Arrays (Felder/Vektoren) Zusammenfassung mehrerer Variablen des gleichen Typs unter einem Namen im Speicher direkt hintereinander abgelegt Definition: Typname Arrayname [Größe]; Beispiel: int ar [5]; Zugriff

Mehr

Programmieren in C/C++ und MATLAB

Programmieren in C/C++ und MATLAB Programmieren in C/C++ und MATLAB Sven Willert Sabine Schmidt Christian-Albrechts-Universität zu Kiel CAU 4-1 Übung 1) Schreiben Sie ein Programm, das die Fläche unter einer Parabel, also das Integral

Mehr

2. Programmierung in C

2. Programmierung in C 2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)

Mehr

Typ : void* aktuelle Parameter Pointer von beliebigem Typ

Typ : void* aktuelle Parameter Pointer von beliebigem Typ 2. Funktionen - Prototypvereinbarung typangabe funktionsname(parameterliste); - Funktionsdefinition typ funktionsname(parameterliste){ Anweisung - Funktionstyp -> Typ der Funktionswertes zulaessige Typangaben

Mehr

Grundlagen C und C++ Einheit 03: Grundlagen in C++ Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme

Grundlagen C und C++ Einheit 03: Grundlagen in C++ Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Grundlagen C und C++ Einheit 03: Grundlagen in C++ Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Teil 1: Wiederholung C Heutige Agenda Nutzereingaben verarbeiten Teil 2: Grundlagen in C++ Erstes

Mehr

Speicher und Adressraum

Speicher und Adressraum Linearer Speicher (Adressraum) Technische Universität München Speicher und Adressraum Freie Speicherhalde (Heap) Freier Speicherstapel (Stack) Globale Variablen Bibliotheksfunktionen Laufzeitsystem Programmcode

Mehr

C++ - Variablen: Gültigkeit - Sichtbarkeit

C++ - Variablen: Gültigkeit - Sichtbarkeit C++ - Variablen: Gültigkeit - Sichtbarkeit Reiner Nitsch 8417 r.nitsch@fbi.h-da.de Attribute von Variablen und Funktionen Attribute von Variablen sind Name (name), Typ (type), Wert (value) Attribute von

Mehr

Grundlagen der Programmierung Prof. H. Mössenböck. 6. Methoden

Grundlagen der Programmierung Prof. H. Mössenböck. 6. Methoden Grundlagen der Programmierung Prof. H. Mössenböck 6. Methoden Parameterlose Methoden Beispiel: Ausgabe einer Überschrift class Sample { static void printheader() { // Methodenkopf Out.println("Artikelliste");

Mehr

1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster

1 Aufgaben 1.1 Objektorientiert: (extended-hamster) Sammel-Hamster 1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster Aufgabe: Bearbeitungszeit: ca. 1/4 Std) Schreiben Sie ein "objektorientiertes" Programm ("CuB_05_1") für das Sammeln der Körner. Aufgabenbeschreibung:

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

Programmierkurs C++ Kapitel 6 Module Seite 1

Programmierkurs C++ Kapitel 6 Module Seite 1 Programmierkurs C++ Kapitel 6 Module Seite 1 (Quell-)Module Unter einem Modul versteht man einen Teil des Programms, der eigenständig übersetzt werden kann. In der Syntax der Programmiersprachen werden

Mehr

Einführung in die C++ Programmierung für Ingenieure

Einführung in die C++ Programmierung für Ingenieure Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF

Mehr

Einführung in die Programmierung Wintersemester 2011/12

Einführung in die Programmierung Wintersemester 2011/12 Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Kontrollstrukturen Inhalt Wiederholungen - while

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 in C. Funktionen mit Zeigern und Adressen. Prof. Dr. Nikolaus Wulff

Programmieren in C. Funktionen mit Zeigern und Adressen. Prof. Dr. Nikolaus Wulff Programmieren in C Funktionen mit Zeigern und Adressen Prof. Dr. Nikolaus Wulff ByValue versus byreferenz C übergibt immer Kopien der Variablen an Funktionen. Es ist nur dann möglich die Werte von Variablen

Mehr

DAP2 Praktikum Blatt 1

DAP2 Praktikum Blatt 1 Fakultät für Informatik Lehrstuhl 11 / Algorithm Engineering Prof. Dr. Petra Mutzel, Carsten Gutwenger Sommersemester 2009 DAP2 Praktikum Blatt 1 Ausgabe: 21. April Abgabe: 22. 24. April Kurzaufgabe 1.1

Mehr

Klausur: Grundlagen der Informatik I, am 05. Februar 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:

Klausur: Grundlagen der Informatik I, am 05. Februar 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte: Seite 1 von 8 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 10 Pkt.) a) Geben

Mehr

Zeiger, Arrays und Strings in C und C++

Zeiger, Arrays und Strings in C und C++ Zeiger, Arrays und Strings in C und C++ 1 Zeiger in Java und C/C++ Zeigervariable (kurz: Zeiger, engl.: pointer): eine Variable, die als Wert eine Speicheradresse enthält Java: Zeiger werden implizit für

Mehr

Programmierung mit C Zeiger

Programmierung 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

Mehr

GI Vektoren

GI Vektoren Vektoren Problem: Beispiel: viele Variablen vom gleichen Typ abspeichern Text ( = viele char-variablen), Ergebnisse einer Meßreihe ( = viele int-variablen) hierfür: Vektoren ( = Arrays = Feld ) = Ansammlung

Mehr

2. Programmierung in C

2. Programmierung in C 2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)

Mehr

Informatik I. Übung 2 : Programmieren in Eclipse. 5. März Daniel Hentzen

Informatik I. Übung 2 : Programmieren in Eclipse. 5. März Daniel Hentzen Informatik I Übung 2 : Programmieren in Eclipse 5. März 2014 Daniel Hentzen dhentzen@student.ethz.ch Downloads : http://n.ethz.ch/~dhentzen/download/ Heute 1. Nachbesprechung Übung 1 2. Theorie 3. Vorbesprechung

Mehr

C++ - Einführung in die Programmiersprache Funktionen. Leibniz Universität IT Services Anja Aue

C++ - Einführung in die Programmiersprache Funktionen. Leibniz Universität IT Services Anja Aue C++ - Einführung in die Programmiersprache Funktionen Leibniz Universität IT Services Anja Aue Subroutine (Unterprogramm) Lösung von Teilen einer Gesamtaufgabe. Kapselung von Anweisungen, die zu einer

Mehr

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 4

Modul 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

Mehr

7 Funktionen. 7.1 Definition. Prototyp-Syntax: {Speicherklasse} {Typ} Name ({formale Parameter});

7 Funktionen. 7.1 Definition. Prototyp-Syntax: {Speicherklasse} {Typ} Name ({formale Parameter}); S. d. I.: Programieren in C Folie 7-1 7 Funktionen 7.1 Definition Prototyp-Syntax: Speicherklasse Typ Name (formale Parameter); der Funktions-Prototyp deklariert eine Funktion, d.h. er enthält noch nicht

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

Unterlagen. CPP-Uebungen-08/

Unterlagen.  CPP-Uebungen-08/ Unterlagen http://projects.eml.org/bcb/people/ralph/ CPP-Uebungen-08/ http://www.katjawegner.de/lectures.html Kommentare in C++ #include /* Dies ist ein langer Kommentar, der über zwei Zeilen

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 Dateien, sowie Records und Funktionen Aufgabe 4: Diese Aufgabe basiert auf der Aufgabe 3. Es ist ein Programm zu erstellen, in welchem der Anwender aus einer Anzahl möglicher

Mehr

Ziel, Inhalt. Programmieren in C++ Wir lernen wie man Funktionen oder Klassen einmal schreibt, so dass sie für verschiedene Datentypen verwendbar sind

Ziel, Inhalt. Programmieren in C++ Wir lernen wie man Funktionen oder Klassen einmal schreibt, so dass sie für verschiedene Datentypen verwendbar sind Templates und Containerklassen Ziel, Inhalt Wir lernen wie man Funktionen oder Klassen einmal schreibt, so dass sie für verschiedene Datentypen verwendbar sind Templates und Containerklassen 1 Ziel, Inhalt

Mehr

Standardkonstrukte in Java

Standardkonstrukte in Java Robert Buchholz, Sven Schneider JavaKurs 2006 1. Tag Freitagsrunde / Tutoren 03. April 2006 Was lernen wir heute noch kennen? 1 Methoden Definition einer Methode Aufruf einer Methode 2 Datenstruktur Array

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

Grundlagen der Programmiersprache C++

Grundlagen 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

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 23

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf  Seite 1 von 23 Kapitel 16 Datei Aus- und Eingabe Seite 1 von 23 Datei Aus- und Eingabe - Für die Ausgabe auf Dateien und die Eingabe von Dateien werden die Streams ofstream und ifstream verwendet. - Sie sind in der Bibliothek

Mehr

Computergrundkenntnisse und Programmieren, WS 07/08, Übung 12: Numerik der Standardbibliothek

Computergrundkenntnisse und Programmieren, WS 07/08, Übung 12: Numerik der Standardbibliothek Computergrundkenntnisse und Programmieren, WS 07/08, Übung 12: Numerik der Standardbibliothek Bei der Behandlung von physikalischen Problemen spielen numerische Rechnungen eine wichtige Rolle. Die C ++

Mehr

Kurze Einführung in die Programmiersprache C++ und in Root

Kurze Einführung in die Programmiersprache C++ und in Root Kurze Einführung in die Programmiersprache C++ und in Root Statistik, Datenanalyse und Simulation; 31.10.2006 Inhalt 1 Einführung in die Programmiersprache C++ Allgemeines Variablen Funktionen 2 1 Einführung

Mehr

Klausur: Grundlagen der Informatik I, am 05. Februar 2008 Dirk Seeber, h_da, Fb Informatik

Klausur: Grundlagen der Informatik I, am 05. Februar 2008 Dirk Seeber, h_da, Fb Informatik Seite 1 von 8 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 15 Pkt.) Für eine

Mehr

Verschlüsseln eines Bildes. Visuelle Kryptographie. Verschlüsseln eines Bildes. Verschlüsseln eines Bildes

Verschlüsseln eines Bildes. Visuelle Kryptographie. Verschlüsseln eines Bildes. Verschlüsseln eines Bildes Verschlüsseln eines Bildes Visuelle Kryptographie Anwendung von Zufallszahlen Wir wollen ein Bild an Alice und Bob schicken, so dass Alice allein keine Information über das Bild bekommt Bob allein keine

Mehr

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik-

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik- Informatik Studiengang Chemische Technologie Michael Roth michael.roth@h-da.de Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013 Inhalt Teil VII Einstieg in Java I Michael Roth (h_da) Informatik

Mehr

Grundlagen. Kapitel 1

Grundlagen. Kapitel 1 Grundlagen Dieses Kapitel umfasst grundlegende Fragen und Aufgaben zur Erstellung von C++-Programmen. Hierzu zählen auch das Inkludieren von Header-Dateien Eine Header-Datei beinhaltet Informationen, die

Mehr

Ein- und Ausgabe (I/O)

Ein- und Ausgabe (I/O) Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Überblick 1 2 / 14 Motivation Computer arbeiten

Mehr

3D Programmierpraktikum: Einführung in C++ - Teil 1

3D Programmierpraktikum: Einführung in C++ - Teil 1 3D Programmierpraktikum: Einführung in C++ - Teil 1 Praktikum 3D Programmierung Sebastian Boring, Otmar Hilliges Donnerstag, 27. April 2006 LMU München Medieninformatik Boring/Hilliges 3D Programmierpraktikum

Mehr

Grundlagen der Programmierung in C Funktionen

Grundlagen 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:

Mehr

Einführung in die C-Programmierung

Einführung in die C-Programmierung Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).

Mehr

Zeiger: Der Adressoperator &

Zeiger: Der Adressoperator & Zeiger: Der Adressoperator & Variablen werden im Computer im Speicher abgelegt. Nach der Deklaration int a,b,c; double x,y,z; Sieht die Speicherbelegung etwa wie folgt aus: a b c x y z Jede Variable hat

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

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH 1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH Die Umgebungsvariable CLASSPATH kann im Hamster-Simulator sowohl für Compiler als auch für die Ausführung des Hamster-Programms gesetzt werden: Hierdurch

Mehr

Grundlagen der Informatik 11. Zeiger

Grundlagen der Informatik 11. Zeiger 11. Zeiger Motivation Zeiger und Adressen Zeiger und Funktionen Zeiger und Arrays Dynamische Objekte Grundlagen der Informatik (Alex Rempel) 1 Motivation Dynamische Speicherverwaltung Oft müssen große

Mehr

Inhalt. 4.5 Arbeit mit Zeigern (engl. Pointer)

Inhalt. 4.5 Arbeit mit Zeigern (engl. Pointer) 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 Zeigern

Mehr

Probeklausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 12. April 2007, Uhr Bearbeitungszeit: 105 Minuten

Probeklausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 12. April 2007, Uhr Bearbeitungszeit: 105 Minuten Probeklausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 12. April 2007, 13.00-14.45 Uhr Bearbeitungszeit: 105 Minuten Schalten Sie ihr Mobiltelefon aus. Bei der Klausur ist als einziges

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

Prozeduren und Funktionen

Prozeduren und Funktionen OSZ Handel I - Gymnasiale Oberstufe (Abt. V) In Anlehnung an: Duden Informatik (3.Auflage, Dudenverlag, 2001, S. 477). Prozeduren und Funktionen Fach: Informatik Parameter sind Platzhalter in einer Prozedur

Mehr

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff Programmieren in C Eine Einführung in die Programmiersprache C Prof. Dr. Nikolaus Wulff Textausgabe per printf Die Funktion printf ist kein Bestandteil der C Sprache sondern gehört zur C Bibliothek. printf

Mehr

Grundlagen der Programmentwicklung

Grundlagen der Programmentwicklung Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Über C++ Über C++ C++ ist eine in der Industrie

Mehr

Kapitel 3: Variablen

Kapitel 3: Variablen Kapitel 3: Variablen Thema: Programmieren Seite: 1 Kapitel 3: Variablen Im letzten Kapitel haben wir gelernt, bestimmte Ereignisse zu wiederholen solange eine Bedingung erfüllt ist. Nun möchten wir aber

Mehr