L1 Programmiersprachen

Größe: px
Ab Seite anzeigen:

Download "L1 Programmiersprachen"

Transkript

1 C++ Programmierung C++ ist eine moderne Programmiersprache, an deren Beispiel sich grundsätzliche Eigenschaften und Vorgehensweisen anderer Programmiersprachen erlernen lassen. Die Codierung der Algorithmen kann daher sinnvoll in C++ erfolgen. Das Hauptaugenmerk soll aber hauptsächlich auf der Herleitung der Algorithmen liegen, nicht auf der Verwendung einer speziellen Programmiersprache. 1.1 Wie erstelle ich eigene Software? Um spezielle Problemlösungen zu erstellen bzw. Unterstützung durch den Computer zu erfahren, bedient sich der Anwender spezifischer Softwareprogramme, die im Falle der Nutzung von DOS-kompatiblen Rechnern in großer Fülle auf dem Markt angeboten werden. Hier sind oft Programme notwendig, die auf die eventuell erforderlichen Bedürfnisse des Benutzers zugeschnitten werden. Man spricht in diesem Fall von Programmanpassungen über die Programmier- bzw. Softwareschnittstelle. Bei Computersystemen in höheren Größenordnungen wird die Software für den Benutzer auf der Basis des dort bestehenden Betriebssystems speziell geschrieben, so dass den betrieblichen Anforderungen schon von Anbeginn Rechnung getragen wird. Man kann Software also auch unterscheiden in fertiggestellte Programme und in Programmiersprachen, mit denen sie erstellt werden können. Lerninhalte ❶ ❷ ❸ ❹ Programmiersprachen Grundlagen des Programmierens Der Begriff Algorithmus Beschreibungsmöglichkeiten für Algorithmen Lerninhalte L1 Programmiersprachen Programme, die für einen Computer geschrieben werden, bedienen sich des Befehlsvorrats, den der Mikroprozessor im Computer verstehen kann. Der Prozessor vom Typ 8080 z. B. versteht 243 verschiedene Befehle wie addiere, subtrahiere, hole aus Speicherzelle usw. Diese Befehle werden dem Prozessor allerdings in binär codierter Form eingegeben. Der Befehl addiere lautet beispielsweise verschlüsselt Da diese Verschlüsselung oder Sprache den Prozessor direkt zur Ausführung von Operationen veranlasst, nennt man sie auch Maschinensprache. Allerdings ist diese Form der Sprache zum Programmieren sehr ungünstig; man müsste in diesem Fall nämlich 243 verschiedene 8-stellige Zahlen kennen und die entsprechende Funktion zuordnen. Es lag nahe, anstelle der Zahlenkombination Abkürzungen zu verwenden, die von ihrer Namensgebung einen Rückschluss auf die Funktion zulassen (sogenannte Mnemonics). Aus dem Zahlencode wurde ein Buchstabencode und die Umsetzung übernimmt ein entsprechendes Programm, der sogenannte Assembler. ADD z. B. steht für addiere, SUB steht für subtrahiere. Diese Beschreibungsart nennt man Assemblersprache. Die Assemblersprache ist sehr maschinennah, aber immer noch bedienerunfreundlich. Insbesondere weist jeder Mikroprozessortyp eine andere Assemblersprache auf. Die Folge davon war die Entwicklung von höheren Programmiersprachen. Diese beinhalten nun Wörter aus der (englischen bzw. amerikanischen) Umgangssprache, so dass der Abstraktionsgrad nicht mehr so hoch und die Eingabe von Befehlen wesentlich komfortabler ist. Nach Abschluss einer Programmerstellung muss dieses lediglich mit einem Übersetzungsprogramm (Compiler oder Interpreter) in die jeweilige Maschinensprache übertragen werden, damit die Befehlsmenge für den Prozessor verständlich ist und dieser sie ausführen kann. Damit ist auch gewährleistet, dass die gleichen Programme auf verschiedenen Mikroprozessorsystemen abgearbeitet werden können. Wichtige Hochsprachen sind im folgenden kurz genannt. 1. FORTRAN (Formula Translator, entstanden 1954) ist die meistverbreitete Hochsprache zur Lösung mathematisch-naturwissenschaftlicher Probleme. Die Sprache datadidact Programmieren mit C++ 1-3

2 C++ Programmierung entspricht nicht mehr den modernen Erkenntnissen der strukturierten Programmierung, dennoch wird sie wegen der großen Menge geschriebener Software noch lange verwendet werden. 2. COBOL (Common Business Oriented Language entstanden 1959) ist die verbreitetste Programmiersprache für kommerzielle Problemstellungen. Bezüglich Sprachsyntax und Menge der programmierten Software gilt ähnliches wie bei FORTRAN. 3. ALGOL (Algorithmic Language, entstanden etwa 1960) war eine Spezialsprache für mathematisch-wissenschaftliche Probleme. ALGOL wird in der heutigen Programmentwicklung nicht mehr praktisch verwendet. Die knappe, einheitliche und geschlossene Sprachdefinition diente jedoch als Vorbild für die moderneren strukturierten Hochsprachen. 4. BASIC (Beginners All Purpose Symbolic Instruction Code) ist auf Mikrocomputern mit am weitesten verbreitet. Die stärkste Syntax-Verwandtschaft besteht zu FORTRAN. BASIC ist jedoch wenig standardisiert und ursprünglich unstrukturiert. Nach dem Aufkommen von PASCAL erschienen immer mehr BASIC-Dialekte, die auch eine Unterstützung der strukturierten Programmierung aufweisen. 5. PASCAL (benannt nach Blaise Pascal, einem Wissenschaftler des 17. Jahrhunderts, entstanden 1972) Die Sprache ist an ALGOL angelehnt, wurde unter didaktischen Gesichtspunkten entwickelt und zwingt zu strukturierter Programmierung, daher wird sie zu Lehrzwecken sehr gerne eingesetzt. Im Bereich der kommerziellen Programmierung hat sie nicht viel Anklang gefunden. Die Implementation TURBO-PASCAL bzw. BORLAND-PASCAL ist auf IBM-kompatiblen Rechnern zu einem Quasi-Standard geworden. In der grafischen Variante zur Windows-Programmierung ist ein PASCALorientiertes Entwicklungssystem unter dem Namen DELPHI bekannt. 6. C (entwickelt aus der Sprache B, etwa 1969), C++ (ab 1979) C ist die in der professionellen Softwareentwicklung am häufigsten verwendete Sprache. Obwohl ursprünglich für die Systemprogrammierung entworfen, lassen sich mit ihr auch gut strukturierte Programme für beliebige Anwendungsbereiche entwickeln. Die Spracherweiterung C++ ist mittlerweile der Quasistandard in der professionellen Softwareentwicklung. Ihre Syntax dient als Grundlage für viele neueren Programmiersprachen- Entwicklungen. 7. JAVA (ab 1994) Die Sprache wurde zur herstellerunabhängigen Programmierung von Internet-Anwendungen entwickelt und baut auf C++ auf. 8. ADA (benannt nach Lady Ada Augusta; veröffentlicht 1980) wurde vom US-Verteidigungsministerium als Universalsprache für alle Programmentwicklungen herausgebracht. Sie ist daher streng standardisiert und unterstützt parallel ablaufende Prozesse, hat sich jedoch in der professionellen Softwareentwicklung nicht stark verbreitet. 9. MODULA 2 (entstanden 1976) und OBERON MODULA 2 wurde von PASCAL-Erfinder Niklaus Wirth, Professor an der Eidgenössischen Technischen Hochschule in Zürich als Nachfolgesprachen von PASCAL entwickelt. Sie ist besser strukturiert und unterstützt modulares Programmieren. Als objektorientierte Nachfolgesprache entwickelten Wirth und seine Mitarbeiter die Sprache OBERON. Programmieren mit C++ datadidact

3 C++ Programmierung 10. Weitere Hochsprachen sind z.b. LISP und PROLOG für Anwendungen der sogenannten Künstlichen Intelligenz, PL/1 als Großrechner-Sprache, FORTH für Steuerungsanwendungen, LOGO als kindgerechte Programmiersprache, ELAN, PEARL, PERL, SIMULA, APL usw. Die bestehenden Sprachen werden ständig fortentwickelt, neue Konzepte fließen in die alten Sprachen mit ein, wie z. B. die objektorientierte Programmierung. Als kurzes Beispiel sollen in einer tabellarischen Übersicht die Befehle zur Bildschirmausgabe in verschiedenen Hochsprachen dienen. FORTRAN: FORMAT('Hallo Welt!') BASIC: PRINT "Hallo, Welt!" PASCAL: WRITELN('Hallo, Welt!'); MODULA-2: Write('Hallo, Welt!');WriteLn; C: printf("hallo, Welt!\n"); C++: cout << "Hallo, Welt!" << endl; L2 Grundlagen des Programmierens Die Praxis der Grundlagen der Programmierung wird in der Programmiersprache C++ behandelt. In C++ lässt sich strukturiert programmieren, außerdem ist C++ weiter verbreitet als die klassischen Lehrsprachen Pascal oder gar Modula-2. Die Grundlagen, die hier erarbeitet werden lassen sich mühelos auf andere Programmiersprachen anwenden. Auf viele Spezialitäten von C++, die sich in anderen Sprachen nicht wiederfinden, wird im Grundlagenteil nicht eingegangen. Alleine die Kenntnis der Befehle einer speziellen Hochsprache genügt nicht, um Programme erstellen zu können. Die Kodierung einer Vorschrift zur Problemlösung (Programmerstellung) steht vielmehr am Ende eines länger dauernden Prozesses, der im folgenden skizziert ist. Problemstellung Algorithmus Mensch Umgangssprache, mehrdeutig, komplex Struktursprache, eindeutig, detailliert Assemblersprache Assembler Hochsprache Compiler/Interpreter Programmiersprache eindeutiger Formalismus genormt prozessorunabhängig Sprachenübersetzer Maschinensprache Maschinensprache, prozessorabhängig Mikroprozessor Maschine Von der Problemstellung bis zur Bearbeitung durch den Mikroprozessor datadidact Programmieren mit C++ 1-5

4 C++ Programmierung Ausgangspunkt der Programmierung ist eine Problemstellung, die meist umgangssprachlich vorgegeben ist. Daher ist sie oft mehrdeutig, unvollständig oder unklar; diese Mehrdeutigkeiten, Unvollständigkeiten und Unklarheiten müssen im Gespräch mit dem Problemsteller geklärt werden oder vom Programmierer in eigenem Ermessen beseitigt werden. Der erste Ansatz zur Lösung besteht darin, einen Algorithmus zur Lösung des Problems zu entwerfen, der möglichst unabhängig von der verwendeten Programmiersprache ist. Dieser Entwurf wird zunächst grob sein und muss verfeinert werden; dies kann in mehreren Stufen geschehen (Prinzip der schrittweisen Verfeinerung). Ein wichtiger Ansatzpunkt für den Grobentwurf des Algorithmus' ist das EVA-Prinzip. Es ist demnach wichtig zu erkennen, wo in der Problemstellung sich die Eingabedaten befinden, wo der Verarbeitungsvorgang stattfindet und welches die interessanten Ausgabedaten sind (Problemanalyse). Ist der Algorithmus fixiert, kann er in eine Programmiersprache übertragen werden. Dabei werden üblicherweise syntaktische Fehler gemacht (Schreibfehler), die sofort vom Compiler erkannt werden. Semantische Fehler (auch logische Fehler genannt) sind Fehler in der Bedeutung; es wird etwas anderes programmiert, als beabsichtigt. Diese Fehler sind schwer zu finden und müssen durch mehrfachen Test des Programms entdeckt und eliminiert werden. Am Ende dieser Entwicklung steht ein Programm, welches das gestellte Problem fehlerfrei löst. L3 Der Begriff Algorithmus Losgelöst von der gewählten höheren Programmiersprache muss zunächst eine genaue Beschreibung bzw. Definition des Problems, das gelöst werden soll, auf allgemeine Weise erreicht werden. Dazu bedarf es einer exakten Analyse, die Aufschluss über einzugebende Daten und die Festlegung der auszugebenden Daten beinhaltet. Diese Analyse muss am Ende auch kleinste Schrittfolgen aufzeigen, die die Lösung der Aufgabenstellung beschreiben. Ein Algorithmus ist eine endliche Folge von eindeutig bestimmten, ausführbaren Anweisungen zur Lösung einer Klasse von Problemen. In einem Algorithmus werden also Anweisungen aneinandergereiht, die unser Problem lösen. Dabei sind folgende Bedingungen zu beachten. 1. Die Anweisungsfolge muss ein Ende haben, sie muss terminieren. Ohne Ende liefert die Anweisungsfolge nämlich kein Ergebnis. 2. Die einzelnen Anweisungen müssen eindeutig bestimmt und ausführbar sein. Dividiere a durch b erscheint uns als sinnvolle Anweisung; im Falle b=0 ist diese Anweisung aber gar nicht mehr ausführbar, und ein Computer reagiert auf solche Anweisungen dann mit Fehlermeldungen und Programmabbrüchen. 3. Die Anweisungsfolge löst eine Klasse von Problemen, also nicht nur das aktuelle Problem mit den aktuellen Werten, sondern mindestens mit allgemeinen Werten oder sogar noch eine ähnliche Problemstellung. Wenn z.b. das Ergebnis der Addition 4+5 gefragt ist, soll der Algorithmus a und b als Eingabe nehmen und die Summe a+b ausgeben. Eventuell kann darüber nachgedacht werden, nicht nur die Summe der Zahlen, sondern auch noch Differenz, Produkt und Quotient mit auszugeben. Im täglichen Leben begegnen uns viele Dinge, die wir unbewusst mehr oder weniger komplex ausführen und die sich, würden wir sie exakt beschreiben, als Alltagsalgorithmen darstellen. Programmieren mit C++ datadidact

5 C++ Programmierung Beispiel: Bedienung eines Getränkeautomaten Umgangssprachlich: Ich werfe Geld hinein, er liefert mir mein Getränk Eingaben in den Algorithmus: Verarbeitung: Ausgabe aus dem Algorithmus: Eine Verfeinerung des Algorithmus ist möglich, indem man als weitere Eingabe die Geldmenge im Geldbeutel betrachtet und nach dem Prüfen der Kosten testet, ob das Geld reicht. Nur in diesem Fall ist es nämlich sinnvoll, Geld einzuwerfen. L4 Beschreibungsmöglichkeiten für Algorithmen Um einen Algorithmus letztlich in eine höhere Programmiersprache übertragen zu können, ist die rein verbale Form wenig geeignet. Daher wird der Algorithmus zunächst graphisch dargestellt. Die graphische Form kann dann in eine Pseudo-Programmiersprache oder in eine konkrete Programmiersprache übertragen werden. Als graphische Darstellungsform werden der Programmablaufplan (PAP) und das Struktogramm verwendet. Programmablaufplan (PAP). Der PAP leitet nicht zum strukturierten Programmieren an, daher wird er nicht näher besprochen datadidact Programmieren mit C++ 1-7

6 C++ Programmierung Ausschnitt aus einem Programmablaufplan Struktogramm Struktogramme wurden 1973 von Nassi/Shneidermann entwickelt. Der Aufbau eines Struktogramms ist selbst bei komplexen Algorithmen sehr übersichtlich, was ein einfaches Lesen zur Folge hat. Hinzu kommt, dass in etwa zeitgleich die Programmiersprachen PASCAL und C entwickelt wurden, die die gleichen Programmstrukturen verwenden. Ein Algorithmus, der mittels Struktogramm dargestellt wird, lässt sich deshalb recht leicht in die Programmiersprachen PASCAL oder C übertragen. Anhand eines Beispiels wird der Aufbau eines Struktogramms vorgestellt. Problemstellung: Klassensprecherwahl mit zwei Kandidaten. Auszählen der Stimmen bei der Klassensprecherwahl; Es gibt nur zwei Kandidaten; alle Stimmzettel befinden sich in der Wahlurne und weisen einen der beiden Namen auf. Struktogramm Programmieren mit C++ datadidact

7 C++ Programmierung Das gezeigte Struktogramm enthält die elementaren Grundstrukturen Folge, Auswahl und Schleife. Diese werden in einem der nächsten Abschnitte genauer erläutert. Pseudo-Programmiersprache Als Pseudo-Programmiersprache wird eine Sprache bezeichnet, die sich an eine bestehende Programmiersprache anlehnt; bei der Formulierung des Algorithmus werden aber nicht so strenge Richtlinien angelegt wie bei der konkreten Programmiersprache. Beispiel: ALGORITHMUS Klassensprecherwahl-Stimmauszaehlung SOLANGE Stimmzettel in der Wahlurne TUE BEGINN Stimmzettel entnehmen Stimmzettel lesen WENN Name = A-Mann DANN Strich bei A-Mann SONST Strich bei B-Frau ENDE Striche zaehlen WENN Anzahl der Striche A-Mann = Anzahl der Striche B-Frau DANN Losentscheid SONST WENN Anzahl Striche A-Mann > Anzahl Striche B-Frau DANN A-Mann gewaehlt SONST B-Frau gewaehlt 1.2 Aufbau eines Programms in C++ Lerninhalte ❶ ❷ ❸ ❹ Vom Quelltext zum lauffähigen Programm Programmaufbau Kommentare Datentypen ❺ Variablen ❻ ❼ ❽ ❾ ❿ Konstanten Anweisungen Wertzuweisung, Rechenoperationen Implizite und explizite Typkonvertierung Inkrement- und Dekrementoperatoren Lerninhalte L1 Vom Quelltext zum lauffähigen Programm Wir arbeiten mit der integrierten Entwicklungsumgebung von Borland C++ unter Windows. Weltweit existieren ca. 10 Entwicklungssysteme für C++. Seit dem Jahr 1998 ist die Sprache nach ISO standardisiert, so dass alle Programmbeispiele mit jedem C++-System ausgeführt werden können. Im Entwicklungssystem werden die dem Menschen verständlichen C++-Quelltexte editiert (verändert), zudem werden die jeweiligen Programme compiliert (übersetzt) und gelinkt (verknüpft, verbunden mit Bibliotheken). Bei datadidact Programmieren mit C++ 1-9

8 C++ Programmierung größeren Programmierprojekten arbeitet man immer mit mehreren CPP-Dateien ihre Anzahl kann sehr groß werden, wenn viele Programmierer an dem Projekt beteiligt sind. Der Compiler erzeugt aus den Quelltexten *.CPP und *.H sogenannte Objektdateien (*.OBJ). Der Linker bindet diese Objektdateien mit Bibliotheksdateien (*.LIB) zu einem ablauffähigen EXE-Programm. Bibliotheksdateien enthalten vorgefertigte Sammlungen von Programmmodulen. ERSTPROG.CPP main() IOSTREAM.H X.CPP Y.H usw.... Compiler Compiler Compiler ERSTPROG.OBJ X.OBJ *.OBJ *.LIB Linker ERSTPROG.EXE L2 Programmaufbau Das folgende Beispielprogramm in C++ hat die Struktur der Sequenz. Diese Struktur wird weiter unten erläutert. Auch das EVA-Prinzip ist gut zu erkennen. Programmieren mit C++ datadidact

9 C++ Programmierung // Programm Erstprog.cpp // Einbinden einer Header-Datei // iostream.h ist notwendig, um Ein-/Ausgabe nutzen zu koennen #include <iostream.h> /* Definitionsteil */ // main() enthaelt das Hauptprogramm zwischen den geschweiften Klammern {} void main() { // Deklaration der Variablen float a,b,c; /* Anweisungsteil */ // Startmeldung cout << "Programm zum Addieren von zwei Zahlen." << endl; // Eingabeaufforderungen cout << "Geben Sie die erste Zahl ein: "; cin >> a; cout << "Geben Sie die zweite Zahl ein: "; cin >> b; // Berechnung der Summe, Ergebnis in c ablegen c=a+b; // Ergebnis ausgeben cout << "Die Summe von " << a << " und " << b << " ist " << c << "." << endl; } An diesem Beispiel soll der Aufbau eines Programms in C++ erläutert werden. Ein Programm in C++ besteht zunächst aus 2 Teilen. I. Einbinden evtl. benötigter Headerdateien (Vorspanndateien). Durch diese werden neue Befehle in C++ zugänglich. Es gibt eine Reihe von Standard-Headerdateien, die bei jeder C++-Implementierung mitgeliefert werden. Eine davon ist die Datei iostream.h, durch die Befehle zur Eingabe und Ausgabe verfügbar werden. II. Im Definitionsteil werden benötigte Variablen und Funktionen definiert. Im hier dargestellten einfachsten Fall wird nur die Funktion main() definiert, die das Hauptprogramm enthält. Funktionen und damit auch das Hauptprogramm main bestehen wiederum aus zwei Teilen. A. Im Variablendeklarationsteil werden die benötigten Variablen und Konstanten eingeführt (deklariert). B. Im Anweisungsteil wird der eigentliche Algorithmus in der Sprache C++ formuliert. Grobanalyse des Beispielprogramms Erstprog.cpp Im Deklarationsteil werden drei Variablen mit den Namen a, b und c deklariert. Diese können bestimmte Datentypen ( Datentypen siehe einen der nächsten Abschnitte) speichern, hier float, also Fließkommazahlen. Im Anweisungsteil werden verschiedene Anweisungen zur Ausgabe (cout <<) und Eingabe (cin >>) verwendet. Auch eine Berechnungsvorschrift (c=a+b) ist zu finden datadidact Programmieren mit C

10 C++ Programmierung L3 Kommentare Um den Überblick über ein größeres Programm zu behalten ist es wichtig, Programmteile optisch voneinander trennen zu können und bestimmte Anmerkungen anbringen zu können. Dies geschieht durch Kommentare, die vom restlichen Text auf zwei Arten abgetrennt werden können. Durch // wird ein Kommentar eingeleitet, der bis zum Ende der Zeile geht. Kommentare können aber auch in /*... */ eingeschlossen werden. Der Text in Kommentarklammern unterliegt keinen Einschränkungen und ist absolut beliebig. L4 Datentypen C++ kennt verschiedene Datentypen, die jeweils einen bestimmten Platzbedarf und verschiedene Wertebereiche haben. Typname Bereich Platzbedarf in Bytes Bool true, false 1 Char -128 bis 127 bzw. Zeichen nach ASCII-Tabelle, z.b. 1 A unsigned char 0 bis 255 bzw. Zeichen nach ASCII-Tabelle, z.b. 1 A int bis long bis unsigned int 0 bis unsigned long 0 bis float ±3,4*10-38 bis ±3,4* double ±1,7* bis ±1,7* long double ±3,4* bis ±1,1* Programmieren mit C++ datadidact

Pseudo-Programmiersprache

Pseudo-Programmiersprache 1 Erste Schritte in C++ 4 Beschreibungsmöglichkeiten für Algorithmen Struktogramm Das gezeigte Struktogramm enthält die elementaren Grundstrukturen Folge, Auswahl und Schleife. Diese werden in einem der

Mehr

L1 Programmiersprachen

L1 Programmiersprachen 1 Einführung Delphi 1.1 Wie erstelle ich eigene Software? Um spezielle Problemlösungen zu erstellen bzw. Unterstützung durch den Computer zu erfahren, bedient sich der Anwender spezifischer Softwareprogramme,

Mehr

1. Formulieren Sie den Algorithmus <Bedienung eines Getränkeautomaten> nach den oben genannten Kriterien.

1. Formulieren Sie den Algorithmus <Bedienung eines Getränkeautomaten> nach den oben genannten Kriterien. Java 1 Einführung Grundlegende Übungsaufgaben Arbeitsauftrag 1.1 1. Formulieren Sie den Algorithmus nach den oben genannten Kriterien. Beispiel: Bedienung eines Getränkeautomaten

Mehr

Inhalt. n Algorithmus. n Euklidscher Algorithmus. n Sortieren. n Programmiersprachen. n Entwicklungsschritte eines Programms.

Inhalt. n Algorithmus. n Euklidscher Algorithmus. n Sortieren. n Programmiersprachen. n Entwicklungsschritte eines Programms. Inhalt Algorithmus Euklidscher Algorithmus Sortieren Programmiersprachen Entwicklungsschritte eines Programms Algorithmen 1 Algorithmus Eindeutige Beschreibung eines allgemeinen Verfahrens unter Verwendung

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 Agenda Elementare Einführung C Programm Syntax Datentypen, Variablen und Konstanten Operatoren und Ausdrücke Kontrollstrukturen

Mehr

2. JAVA-Programmierung. Informatik II für Verkehrsingenieure

2. JAVA-Programmierung. Informatik II für Verkehrsingenieure 2. JAVA-Programmierung Informatik II für Verkehrsingenieure Problem-Algorithmus-Umsetzung Problemstellung Algorithmus Umsetzung 2 Beispiele für Algorithmen 3 Definitionsversuch Algorithmus Anleitung, wie

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

n 1. Der Begriff Informatik n 2. Syntax und Semantik von Programmiersprachen - 1 -

n 1. Der Begriff Informatik n 2. Syntax und Semantik von Programmiersprachen - 1 - n 1. Der Begriff Informatik n 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik n "Informatik" = Kunstwort aus Information

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Einführung in die Programmierung Als Programmierung bezeichnet man die Tätigkeit Computerprogramme (software) zu erstellen. Konzeptioneller Entwurf Umsetzung des Entwurfs in Programmcode (Implementation):

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

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 - 1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik

Mehr

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 - 1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik

Mehr

III.1 Prinzipien der funktionalen Programmierung - 1 -

III.1 Prinzipien der funktionalen Programmierung - 1 - 1. Prinzipien der funktionalen Programmierung 2. Deklarationen 3. Ausdrücke 4. Muster (Patterns) 5. Typen und Datenstrukturen 6. Funktionale Programmiertechniken III.1 Prinzipien der funktionalen Programmierung

Mehr

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 1. Teil 11. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches

Mehr

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 1. Teil 11. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches

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 ( / 15 Pkt.) Für eine

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

Gliederung. n Teil I: Einleitung und Grundbegriffe. n Teil II: Imperative und objektorientierte Programmierung

Gliederung. n Teil I: Einleitung und Grundbegriffe. n Teil II: Imperative und objektorientierte Programmierung Gliederung n Teil I: Einleitung und Grundbegriffe l 1. Organisatorisches l 2. Grundlagen von Programmiersprachen n Teil II: Imperative und objektorientierte Programmierung l 1. Grundelemente der Programmierung

Mehr

12. Rekursion Grundlagen der Programmierung 1 (Java)

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

Mehr

Die Programmiersprache C

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

Mehr

Übungen zur Vorlesung Wissenschaftliches Rechnen I

Übungen zur Vorlesung Wissenschaftliches Rechnen I Übungen zur Vorlesung Wissenschaftliches Rechnen I Nicolas Gauger, René Lamour, Hella Rabus Wintersemester 2007/2008 Programmierung - Einführung Programmierung - Einführung Berechnung einer Formel y =

Mehr

3. Methodik der Programmerstellung

3. Methodik der Programmerstellung 3. Methodik der Programmerstellung 3.1 Vorgehen 3.2 Programmerstellung 3.2.1 Konventionen 3.2.2 Schlüsselwörter und Bezeichner 3.2.3 Fehlertypen 3.2.4 Programmierstil 3.3 Formaler Aufbau eines Pascal-Programms

Mehr

Kapitel 1: Einführung

Kapitel 1: Einführung 10 Kapitel 1: Einführung 1.1 Was ist eine Programmiersprache? 1.2 Details zu C++ 1.3 Phasen der Programmierung 1.4 Ein erstes Programm: Hello World! 1.5 Addition zweier Zahlen 1.6 Entscheidungen 1.1 Was

Mehr

Definitionen/Vorarbeit zum Thema Java

Definitionen/Vorarbeit zum Thema Java Definitionen/Vorarbeit zum Thema Java Programmiersprachen: System von Wörtern und Symbolen, die zur Formulierung von Programmen für die elektronische Datenverarbeitung verwendet werden. Arten: z.b. Javascript

Mehr

Java I Vorlesung 1 Einführung in Java

Java I Vorlesung 1 Einführung in Java Java I Vorlesung 1 Einführung in Java Alexander Koller koller@coli.uni-sb.de 26.4.2004 Problem Algorithmus Programm Programmiersprachen Warum Java? Unser erstes Java-Programm Organisatorisches Was heißt

Mehr

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

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf  Seite 1 von 37 Skript Informatik Seite 1 von 37 Was ist Informatik? - Informatik ist die Wissenschaft von der systematischen Verarbeitung von Informationen, insbesondere deren automatisierte Verarbeitung mit Hilfe von

Mehr

Die Programmiersprache C

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

Mehr

Objektorientierte Programmierung OOP Programmieren mit Java

Objektorientierte Programmierung OOP Programmieren mit Java Objektorientierte Programmierung OOP Programmieren mit Java 5.1 Elementare Anweisungen 5.1.1 Ausdrucksanweisung 5.1.2 Leere Anweisung 5.1.3 Blockanweisung 5.1.4 Variablendeklaration 5.2 Bedingungen 5.2.1

Mehr

Inhalt. Einführung in die Strukturierte Programmierung 15

Inhalt. Einführung in die Strukturierte Programmierung 15 Inhalt Einführung in die Strukturierte Programmierung 15 1.1 Was bedeutet Programmieren? 17 1.2 Was bedeutet Strukturierte Programmierung? 18 1.3 Was ist Pascal? 19 1.4 Was ist PS/k? 20 1.5 Warum wird

Mehr

Einführung in die Programmierung mit VBA

Einführung in die Programmierung mit VBA Einführung in die Programmierung mit VBA Vorlesung vom 07. November 2016 Birger Krägelin Inhalt Vom Algorithmus zum Programm Programmiersprachen Programmieren mit VBA in Excel Datentypen und Variablen

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 Einleitung Gliederung Zum Begriff Informatik Zum

Mehr

Grundstruktur eines C-Programms

Grundstruktur eines C-Programms Grundstruktur eines C-Programms // Kommentare werden durch zwei Schrägstriche (Slash) eingeleitet /* Oder durch Slash Stern Stern Slash eingeschlossen */ #include // Präprozessor-Anweisungen

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

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

Softwareentwicklung 1 UE-Stunde 01 - Algorithmen

Softwareentwicklung 1 UE-Stunde 01 - Algorithmen Softwareentwicklung 1 UE-Stunde 01 - Algorithmen Dr. Herbert Prähofer Institut für Systemwissenschaften Johannes Kepler Universität Linz Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 06: Einführung in Kontrollstrukturen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Einführung in Kontrollstrukturen 3 Grundstrukturen von

Mehr

Grundlagen der Fortran Sprache

Grundlagen der Fortran Sprache Kapitel 1 Grundlagen der Fortran Sprache Programmieren bezeichnet das Verfahren, in einer bestimmten Sprache (Syntax) Anweisungen (sog. Quellcode) für den Computer zu schreiben. Dieser Programmcode wird

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Einleitung Gliederung Einführung in die Programmierung Wintersemester 2017/18 Zum Begriff Informatik Zum Begriff Algorithmus Zum Begriff Programmieren Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering

Mehr

Nachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

Nachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr. Seite 1 von 10 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 ( / 6 Pkt.) a) Erklären

Mehr

Nachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

Nachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr. Seite 1 von 9 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 ( / 4 Pkt.) Gegeben

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Einleitung Gliederung Einführung in die Programmierung Wintersemester 08/09 Zum Begriff Informatik Zum Begriff Algorithmus Zum Begriff Programmieren Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering

Mehr

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

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf  Seite 1 von 29 Kapitel 2 Einführung in C++ Seite 1 von 29 C++ Zeichensatz - Buchstaben: a bis z und A bis Z. - Ziffern: 0 bis 9 - Sonderzeichen: ; :,. # + - * / % _ \! < > & ^ ~ ( ) { } [ ]? Seite 2 von 29 Höhere Elemente

Mehr

4.Grundsätzliche Programmentwicklungsmethoden

4.Grundsätzliche Programmentwicklungsmethoden 4.Grundsätzliche Programmentwicklungsmethoden 1.1 Grundlage strukturierter und objektorientierter Programmierung Begriff Software Engineering - umfaßt den gezielten Einsatz von Beschreibungsmitteln, Methoden

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

Softwareentwicklung 1

Softwareentwicklung 1 Softwareentwicklung 1 Dr. Herbert Prähofer Institut für Systemsoftware Johannes Kepler Universität Linz Research and teaching network Softwareentwicklung 1 (UZR) Systemsoftware, JKU Linz 1 Vortragender

Mehr

Programmiersprache. Emily & rica

Programmiersprache. Emily & rica Programmiersprache Emily & rica inhaltsangabe Programmiersprache Def inition/funktion Arten Gängige Algorithmus/Syntax Compiler, Interpreter Def inition Unterscheidung Vor- und Nachteile Compiler/ Interpreter

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens aw@awilkens.com Überblick Grundlagen Definitionen Eigene Entwicklungen Datenstrukturen Elementare Datentypen Abstrakte Datentypen Elementare

Mehr

Effizienz von Algorithmen

Effizienz von Algorithmen Effizienz von Algorithmen Letzte Bearbeitung: Jan 211 Ein wichtiger Aspekt bei Algorithmen sind seine "Kosten". Wir wollen uns hier ausschließlich mit der Laufzeit des gewählten Algorithmus beschäftigen.

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

Gedächtnis. Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet. Zugriff.

Gedächtnis. Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet. Zugriff. Gedächtnis Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet Hauptspeicher 38265 Telefon CPU Gedächtnis Vorlesender Zugriff Verarbeitungseinheit

Mehr

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems 4. Algorithmen Motivation Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems Der Begriff Algorithmus geht auf den Gelehrten Muhammad al-chwarizmi zurück, der um

Mehr

1.3 Geschichte der Programmiersprachen

1.3 Geschichte der Programmiersprachen 50er Jahre erste Definition höherer Programmiersprachen Effizienz maßgebliches Designziel FORTRAN (Backus) als Sprache für wissenschaftliches Rechnen (komplexe Berechnungen, einfachen Daten), Arrays, Schleifen,

Mehr

Variablen, Konstanten und Datentypen

Variablen, Konstanten und Datentypen Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Variablen, Konstanten und Datentypen Überblick

Mehr

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems 4. Algorithmen Motivation Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems Der Begriff Algorithmus geht auf den Gelehrten Muhammad al-chwarizmi zurück, der um

Mehr

Kapitel 1: Einleitung. Gliederung. Zum Begriff Informatik Zum Begriff Algorithmus Zum Begriff Programmieren

Kapitel 1: Einleitung. Gliederung. Zum Begriff Informatik Zum Begriff Algorithmus Zum Begriff Programmieren Kapitel 1: Einleitung Wintersemester 2006/07 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Gliederung Zum Begriff Informatik

Mehr

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

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 1 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 1 SS 2016

Mehr

Hello World! Eine Einführung in das Programmieren Variablen

Hello World! Eine Einführung in das Programmieren Variablen Hello World! Eine Einführung in das Programmieren Variablen Görschwin Fey Institute of Embedded Systems Hamburg University of Technology Slide 2 Wie werden Daten in Programmen gespeichert und manipuliert?

Mehr

1. Erläutern Sie die Aufgaben von Datentypen in der imperativen Programmierung.

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

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

Wie entsteht ein Computerprogramm?

Wie entsteht ein Computerprogramm? Wie entsteht ein Computerprogramm Grundstrukturen von Programmen Programmiersprachen Entwicklungsschritte eines Programms Programmdokumentation Seite 1 Telefonanruf-Algorithmus Start Rufnummer bereitstellen

Mehr

Programme erstellen in Java

Programme erstellen in Java Programmieren mit Java Modul 0 Programme erstellen in Java Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Schreiben von Computerprogrammen 3 2.1 Computerprogramme bestehen aus Daten und Instruktionen.......

Mehr

Verhalten. Def. und Nutzen von Verhalten. Pseudocode Schreibtischtest. Algorithmen

Verhalten. Def. und Nutzen von Verhalten. Pseudocode Schreibtischtest. Algorithmen Verhalten Def. und Nutzen von Verhalten Algorithmen Pseudocode Schreibtischtest Verhalten & Pseudocode Das Verhalten beschreibt, wie sich die Datenstrukturen (Variablen) eines Programms verändern müssen,

Mehr

ALGOL 68 im Aspekt einer modernen Programmiersprache???

ALGOL 68 im Aspekt einer modernen Programmiersprache??? ALGOL 68 im Aspekt einer modernen Programmiersprache??? General-purpose-Programmiersprache: Ein sehr wichtiges Kriterium ist die Möglichkeit, alle Algorithmen (=Lösungsverfahren) in einer Programmiersprache

Mehr

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden

Javaprogrammierung 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

Mehr

Name Klasse Datum. Um nun mit Variablen arbeiten zu können, müssen nun einige Voraussetzungen erfüllt sein:

Name Klasse Datum. Um nun mit Variablen arbeiten zu können, müssen nun einige Voraussetzungen erfüllt sein: Name Klasse Datum 1 Allgemein Wie der Name Datenverarbeitung schon verrät, dienen Rechner dazu Daten zu speichern, zu ändern und wieder auszugeben. Programme bilden den Algorithmus ab, wie die Daten zu

Mehr

Projekt 3 Variablen und Operatoren

Projekt 3 Variablen und Operatoren Projekt 3 Variablen und Operatoren Praktisch jedes Programm verarbeitet Daten. Um mit Daten programmieren zu können, muss es Möglichkeiten geben, die Daten in einem Programm zu verwalten und zu manipulieren.

Mehr

Übungsblatt 1. Java Vorkurs (WS 2017)

Übungsblatt 1. Java Vorkurs (WS 2017) Übungsblatt 1 Java Vorkurs (WS 2017) Aufgabe 1 Hallo-Welt Erstelle ein neues Projekt mit dem Namen HelloJava. Erzeuge in diesem Projekt eine neue Klasse HelloJava. (a) Schreibe die main-methode in die

Mehr

Programmiersprachen Einführung in C

Programmiersprachen Einführung in C Programmiersprachen Einführung Teil 3: Prof. Dr. Jörg Schwenk Lehrstuhl für Netz- und Datensicherheit Gliederung Programmiersprachen 1. Von der Maschinensprache zu C 2. Die Struktur von C-Programmen 3.

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

Programmieren für Physiker: C++

Programmieren für Physiker: C++ Programmieren für Physiker: C++ Termine: Vorlesung: Di. 8:00-9:30 Uhr, Lehmann-HS (M. Steinhauser) Hörsaalübungen: Fr. 8:00-9:30 Uhr, Lehmann-HS (A. Mildenberger) Computerübungen: (voraussichtlich) (Fragen

Mehr

Vorlesung 2: Programmieren mit C

Vorlesung 2: Programmieren mit C Vorlesung 2: Programmieren mit C URL zur Lehrveranstaltung http://www.fbmnd.fh-frankfurt.de/~raimann Folien zur Vorlesung, Übungsaufgaben,... Dr. J. Raimann 1 Dev C++ Kostenlose C/C++-Entwicklungsumgebung

Mehr

Kap 1. Programmentwicklung

Kap 1. Programmentwicklung Kap 1. Programmentwicklung Dr. Norbert Spangler / Programmieren I 30.09.2013 1 1.1 Programme Ein Programm ist ein in einer Programmiersprache formulierter Algorithmus. -> Was ist eine Programmiersprache?

Mehr

Propädeutikum Programmiersprache C und Mathematik 2014

Propädeutikum Programmiersprache C und Mathematik 2014 Propädeutikum Programmiersprache C und Mathematik 2014 Fakultät für Mathematik und Informatik Universität Leipzig Dipl.-Inf. Stefan Freitag, URZ & UBL Stefan Freitag Einführungsveranstaltung Ziel und Zweck

Mehr

4.2 Gleitkommazahlen. Der Speicherbedarf (in Bits) ist üblicherweise. In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen

4.2 Gleitkommazahlen. Der Speicherbedarf (in Bits) ist üblicherweise. In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen . Gleitkommazahlen In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen Umrechnen von Einheiten und Währungen Jede Zahl x Q mit x 0 lässt sich folgendermaßen schreiben: x = s m e mit

Mehr

Informatik für Schüler, Foliensatz 2 Ausdrücke, Variablen, Datentypen, Ein- und Ausgabe

Informatik für Schüler, Foliensatz 2 Ausdrücke, Variablen, Datentypen, Ein- und Ausgabe Prof. G. Kemnitz Institut für Informatik, Technische Universität Clausthal 26. August 2009 1/17 Informatik für Schüler, Foliensatz 2 Ausdrücke, Variablen, Datentypen, Ein- und Ausgabe Prof. G. Kemnitz

Mehr

Java Übung. Übung 2. Werner Gaulke. 19. April Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung.

Java Übung. Übung 2. Werner Gaulke. 19. April Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung. Java Übung Übung 2 Universität Duisburg-Essen Kommedia, Übung EinPro SS06, 19. April 2006 (UniDUE) 19. April 2006 1 / 13 Java Programme Java Programme bestehen aus (meist mehreren) Klassen. In den Klassen

Mehr

Programmieren in Haskell Einführung

Programmieren in Haskell Einführung Programmieren in Haskell Einführung Peter Steffen Universität Bielefeld Technische Fakultät 17.10.2008 1 Programmieren in Haskell Veranstalter Dr. Peter Steffen Raum: M3-124 Tel.: 0521/106-2906 Email:

Mehr

Java I Vorlesung Imperatives Programmieren

Java I Vorlesung Imperatives Programmieren Java I Vorlesung 2 Imperatives Programmieren 3.5.2004 Variablen -- Datentypen -- Werte Operatoren und Ausdrücke Kontrollstrukturen: if Imperatives Programmieren Im Kern ist Java eine imperative Programmiersprache.

Mehr

Die Programmiersprache C Eine Einführung

Die Programmiersprache C Eine Einführung Die Programmiersprache C Eine Einführung Christian Gentsch Fakutltät IV Technische Universität Berlin Projektlabor 2. Mai 2014 Inhaltsverzeichnis 1 Einführung Entstehungsgeschichte Verwendung 2 Objektorientiert

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

Kap 1. Programmentwicklung

Kap 1. Programmentwicklung Kap 1. Programmentwicklung Dr. Norbert Spangler / Informatik 10.10.2017 1 1.1 Programme Ein Programm ist ein in einer Programmiersprache formulierter Algorithmus. -> Was ist eine Programmiersprache? hier

Mehr

1. Grundkonzepte der logischen Programmierung 2. Syntax von Prolog 3. Rechnen in Prolog. IV.1 Grundkonzepte der logischen Programmierung - 1 -

1. Grundkonzepte der logischen Programmierung 2. Syntax von Prolog 3. Rechnen in Prolog. IV.1 Grundkonzepte der logischen Programmierung - 1 - 1. Grundkonzepte der logischen Programmierung 2. Syntax von Prolog 3. Rechnen in Prolog IV.1 Grundkonzepte der logischen Programmierung - 1 - Übersicht Imperative Sprachen Deklarative Sprachen Folge von

Mehr

Klausur in Programmieren

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

Mehr

Objektorientierte Programmierung. Agenda für heute, 1. April, Eines der drei wichtigsten Programmierparadigmen

Objektorientierte Programmierung. Agenda für heute, 1. April, Eines der drei wichtigsten Programmierparadigmen Agenda für heute, 1. April, 2010 Imperatives vs. objektorientiertes Programmieren Lesen Sie den Begleittext Seite 79 85 Eines der drei wichtigsten Programmierparadigmen (Paradigma: Denkmuster) Imperative

Mehr

Algorithmus: Kochrezept

Algorithmus: Kochrezept Algorithmus: Kochrezept Ziel: Menü mit drei Gängen für 4 Personen Grundlegende Spezifikation: 1. Vorspeise: Badische Flädlesuppe 2. Hauptgericht: Überbackene Schinkenröllchen mit Spargel 3. Dessert: Vanilleeis

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, Ausdrücke und Anweisungen Kontrollstrukturen (Steuerfluss)

Mehr

Einführung in die Informatik I (autip)

Einführung in die Informatik I (autip) Einführung in die Informatik I (autip) Dr. Stefan Lewandowski Fakultät 5: Informatik, Elektrotechnik und Informationstechnik Abteilung Formale Konzepte Universität Stuttgart 24. Oktober 2007 Was Sie bis

Mehr

1. Vom Sourcecode zum Programm

1. Vom Sourcecode zum Programm 1. Vom Sourcecode zum Programm 1.1 Programmablauf source1.cpp source2.cpp header.h makefile Compiler Präprozessor Übersetzer Assembler object.obj object.obj Linker library.dll programm.exe Abbildung: Erstellung

Mehr

Klausur: Informatik I am 06. Februar 2009 Gruppe: D Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:

Klausur: Informatik I am 06. Februar 2009 Gruppe: D Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte: Seite 1 von 10 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 ( / 12 Pkt.) Was liefert

Mehr

Abschnitt 2: Daten und Algorithmen

Abschnitt 2: Daten und Algorithmen Abschnitt 2: Daten und Algorithmen 2. Daten und Algorithmen 2.1 Zeichenreihen 2.2 Datendarstellung durch Zeichenreihen 2.3 Syntaxdefinitionen 2.4 Algorithmen 2 Daten und Algorithmen Einf. Progr. (WS 08/09)

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

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

n 1. Grundkonzepte der logischen Programmierung n 2. Syntax von Prolog n 3. Rechnen in Prolog IV.1 Grundkonzepte der logischen Programmierung - 1 -

n 1. Grundkonzepte der logischen Programmierung n 2. Syntax von Prolog n 3. Rechnen in Prolog IV.1 Grundkonzepte der logischen Programmierung - 1 - n 1. Grundkonzepte der logischen Programmierung n 2. Syntax von Prolog n 3. Rechnen in Prolog IV.1 Grundkonzepte der logischen Programmierung - 1 - Übersicht Imperative Sprachen Deklarative Sprachen l

Mehr