Grundlagen der Programmentwicklung

Größe: px
Ab Seite anzeigen:

Download "Grundlagen der Programmentwicklung"

Transkript

1 Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling Hochschule Darmstadt Fachbereich Informatik WS 2013/14

2 Über C++ Über C++ C++ ist eine in der Industrie weit verbreitete Programmiersprache. Sie wurde 1979 von Bjarne Stroustrup bei AT&T als objektorientierte Erweiterung der Programmiersprache C entworfen. Die von der ISO genormte Programmiersprache ist eine effiziente und maschinennahe Sprache und erlaubt ebenfalls ein hohes Abstraktionsniveau. Sowohl in der systemnahen Programmierung als auch in der Anwendungsentwicklung wird sie nach Abbildung: Bjarne Stroustrup wie vor in vielen Bereichen eingesetzt. Typische Anwendung findet C++ z.b. bei Betriebssystemen, Gerätetreibern, eingebetteten Systemen, Spielen und Signalprozessoren, aber auch bei Anwendungssoftware für Desktops und mobile Endgeräte. 2 / 18

3 Überblick 1 Über C++ 2 Der Übersetzungsvorgang Ausführen des Programms 3 / 18

4 , das wir kennenlernen werden, ist Hallo Welt. Es hat die einzige Aufgabe, einen Text auf dem Bildschirm auszugeben und ist in Listing 1 zu sehen. 1 # include <iostream > // stellt cout bereit 2 using namespace std; 3 4 int main () { 5 cout << " Hallo Welt!"; // Bildschirmausgabe 6 return 0; 7 } Listing 1: Hallo Welt-Programm Anhand dieses Programms lässt sich der Grundaufbau eines C++-Programms und dessen Konzepte erläutern. 4 / 18

5 Der Grundaufbau eines C++-Programms -- main() Das Programm wird Zeile für Zeile eingelesen und vom Compiler übersetzt. Sobald das Programm gestartet wird, beginnt der Computer mit der Ausführung an der Funktion int main() (Zeile 4 in Listing 1). Dort beginnt die Abarbeitung der Anweisungen. Wichtig: Jedes C++-Programm benötigt diese Funktion! Der allgemeine Aufbau der main()-funktion sieht so aus: int main() { } return 0; Zwischen den geschweiften Klammern ({ und }) wird die eigentliche Funktionalität dieses Programms durch weitere Anweisungen beschrieben. Mit return 0; wird an das Betriebssystem die erfolgreiche Ausführung zurückgemeldet. 5 / 18

6 Der Grundaufbau eines C++-Programms -- Kommentare Kommentare sind dazu da, bestimmte Informationen an den Programmierer zu liefern (z.b. was macht diese Zeile). Für das Programm haben sie keine Bedeutung und werden beim Übersetzen des Programms vom Compiler ignoriert. Kommentare steigern nicht nur die Lesbarkeit des Programms, sondern können auch dazu verwendet werden, bestimmte Zeilen vorübergehend zu entfernen. In C++ sind zwei Arten von Kommentaren möglich: // Ich bin ein einzeiliger Kommentar /* * Dieser Kommentar * umfasst mehrere Zeilen. */ Nutzen Sie Kommentare, um den Programmcode so verständlich zu machen, dass durch lesen der Anmerkungen dessen Sinn klar wird. 6 / 18

7 Bildschirmausgabe in C++ Über die Zeile cout << "Hallo Welt!"; wird der Text Hallo Welt auf dem Bildschirm ausgegeben. Alles was zwischen den Anführungszeichen (") steht, wird ausgegeben. Anhand der Richtung der << lässt sich erkennen, dass hier eine Ausgabe (zeigt auf cout) stattfindet. Die gesamte Anweisungszeile wird mit einem Semikolon (;) abgeschlossen. Da der Befehl cout nicht fester Bestandteil von C++ ist, muss dieser vorher über die Zeile #include <iostream> aus einer externen Bibliothek (Sammlung mehrfach verwendbarer Funktionalität) eingebunden werden. Mit using namespace std; grenzt man diesen Namensraum von anderen Bibliotheken ab, die evtl. auch cout verwenden (aber in einem anderen Kontext) und weist diesen Befehl dem Standard-Namensraum (std) zu. 7 / 18

8 Blöcke und Anweisungen Einfache Anweisungen (engl. statements) werden in C++ mit einem ; (Semikolon) abgeschlossen. Eine leere Anweisung wird durch ein einzelnes Semikolon in der Zeile dargestellt. cout << "Hallo Welt"; return 0; ; // Leere Anweisung Eine Zusammenfassung von Anweisungen wird als Block bezeichnet und in geschweifte Klammern ({ und }) eingeschlossen. Alle Anweisungen innerhalb dem Blocks gelten nur dort. Ein Block benötigt kein abschliessendes Semikolon. int main() { // Beginn des Blocks return 0; // Anweisung innerhalb des Blocks } // Ende des Blocks 8 / 18

9 Einrückungen erhöhen die Lesbarkeit des Quellcodes Es lassen sich beliebig viele Blöcke in den Programmcode einfügen. Für jede Blockebene hat sich eine Einrückung um einen Tabulatorschritt als guter Programmierstil herausgestellt, um die Lesbarkeit zu erhöhen. Endet ein Block, so wird auch die Einrückungstiefe um einen Tabstop verringert. 1 # include <iostream > 2 using namespace std; 3 4 int main () { 5 cout << " Hallo Welt "; // neue Einrueckungstiefe 6 { 7 cout << " Hallo Block "; // eine weitere Einrueckungstiefe 8 } 9 return 0; // Verringerung der Einrueckungstiefe nach Blockende 10 } In NetBeans gibt es eine nützliche Funktion unter Source Format bzw. über die Tastenkombination Alt + + F zum Formatieren des Quellcodes. Sie sollten sich jedoch angewöhnen, die Einrückungen automatisch bei der Eingabe des Quellcodes vorzunehmen. 9 / 18

10 Der Übersetzungsvorgang Überblick 1 Über C++ 2 Der Übersetzungsvorgang Ausführen des Programms 10 / 18

11 Der Übersetzungsvorgang Der Übersetzungsvorgang -- Compiler Computer können den in C++ geschriebenen Quellcode nicht direkt ausführen, da die Anweisungen nicht in Maschinensprache (Assembler) vorliegen. Deshalb muss der Quellcode zuerst von einem Compiler übersetzt werden. Er führt die folgenden Aktionen aus: Syntaxprüfung Es wird ermittelt, ob die Syntax der Programmiersprache eingehalten wurde (Schlüsselwörter, Struktur, Reihenfolge) Analyse und Optimierung Verbesserungen am Programm, welche dessen Ausführungsgeschwindigkeit oder Effizienz erhöhen Codeerzeugung Objektcode wird erzeugt, welcher der Zielsprache schon sehr ähnelt, aber noch nicht direkt ausführbar ist Zusätzlich zum Programmcode werden Headerdateien (z.b. iostream.h), die im Quellcode mit #include angegeben sind, automatisch in den Compilevorgang eingebunden. 11 / 18

12 Der Übersetzungsvorgang Der Übersetzungsvorgang -- Linker Aus der Objektdatei wird nun mit Hilfe des Linkers eine ausführbare Datei (.exe unter Windows) erstellt. Unterschiedliche Dateien, die beim compile-vorgang entstanden sind, werden zusammen mit den externen Bibliotheken zu einem gemeinsamen Programm verbunden. Der gesamte Vorgang sieht folgendermassen aus: 12 / 18

13 Der Übersetzungsvorgang Fehlermeldungen des Compilers Sollte der Programmierer Syntaxfehler (Tippfehler) oder andere Fehler im Quellcode gemacht haben, dann kann der Compiler diese melden. Jedoch werden nicht alle Fehler entdeckt (z.b. Logikfehler) und durch andere Implementierungen des Compilers können diese unterschiedliche Fehlermeldungen ausgeben. Betrachten wir dazu erneut unser Beispielprogramm, links korrekt, rechts mit Fehler: 1 # include <iostream > 2 using namespace std; 3 4 int main () { 5 cout << " Hallo Welt \n"; 6 return 0; 7 } Listing 2: Fehlerfreies Programm 1 # include <iostream > 2 using namespace std ; 3 4 int main () { 5 cout << " Hallo Welt \n" 6 return 0; 7 } Listing 3: Fehlerhaftes Programm Wir versuchen nun, dieses fehlerhafte Programm zu übersetzen und achten darauf, was der Compiler an Fehlermeldungen ausgibt. 13 / 18

14 Der Übersetzungsvorgang Fehlermeldungen der Compiler weisen auf Fehler hin Visual Studio 2012 Die folgende Meldung wird von Visual Studio 2012 ausgegeben: Die Ausgabe ist zwar nicht falsch, jedoch könnte die Codezeile präziser angegeben sein. g++ in NetBeans unter Windows Der Standardcompiler in NetBeans für Windows ist g++ aus der GNU Compiler Collection (GCC) über cygwin. Dieser gibt folgende Meldung aus: compile.cpp: In function int main() : compile.cpp:6: error: expected ; before return Ähnlich wie bei Visual Studio, ist auch diese Meldung nicht ganz präzise. 14 / 18

15 Der Übersetzungsvorgang Fehlermeldungen der Compiler weisen auf Fehler hin Clang++ ist ein neuerer Compiler, der Teil des LLVM Projekts ist und darin C++ Programme übersetzt. compile.cpp:5:23: error: expected ; after expression cout << "Hallo Welt\n" ^ ; 1 error generated. Diese Ausgabe ist wesentlich präziser (genaue Zeile) und hilfreicher, um den Fehler zu lokalisieren. Fazit Sehen Sie sich also die Ausgaben des Compilers genau an, er gibt Ihnen wichtige Hinweise und Lösungsvorschläge zu Fehlern im Programmcode. 15 / 18

16 Ausführen des Programms Überblick 1 Über C++ 2 Der Übersetzungsvorgang Ausführen des Programms 16 / 18

17 Ausführen des Programms Das Programm ausführen In Praktikum 1 wird beschrieben, wie Sie das Programm mit NetBeans ausführen können. Demo 17 / 18

18 Fragen?

Hello World! Eine Einführung in das Programmieren Das erste Programm

Hello World! Eine Einführung in das Programmieren Das erste Programm Hello World! Eine Einführung in das Programmieren Das erste Programm Görschwin Fey Institute of Embedded Systems Hamburg University of Technology Slide 2 Betriebssystem Funktion Anwendung Gerätesteuerung

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

Kontrollstrukturen -- Schleifen und Wiederholungen

Kontrollstrukturen -- Schleifen und Wiederholungen Kontrollstrukturen -- Schleifen und Wiederholungen Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14

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

Operatoren und Ausdrücke

Operatoren und Ausdrücke Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Überblick 1 2 / 11 Motivation Es gibt eine Reihe

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

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

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

C++ - Einführung in die Programmiersprache Header-Dateien und Funktionen. Leibniz Universität IT Services Anja Aue C++ - Einführung in die Programmiersprache Header-Dateien und Funktionen Leibniz Universität IT Services Anja Aue Modularisierung Logische Gliederung von Programmteilen mit Hilfe von Namensräumen. Aufteilung

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

VORBEMERKUNGEN ZUM INFORMATIK-KURS : PROGRAMMIEREN MIT C++

VORBEMERKUNGEN ZUM INFORMATIK-KURS : PROGRAMMIEREN MIT C++ VORBEMERKUNGEN ZUM INFORMATIK-KURS : PROGRAMMIEREN MIT C++ Sie können ein C++-Programm mit den unterschiedlichsten Programmen erstellen. Früher wurde mit dem kostenlos zu erwerbenden dev++ -Programm gearbeitet.

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

Peter Prinz. Das Übungsbuch. CTestfragen und Aufgaben mit Lösungen

Peter Prinz. Das Übungsbuch. CTestfragen und Aufgaben mit Lösungen Peter Prinz Das Übungsbuch CTestfragen und Aufgaben mit Lösungen Grundlagen Dieses Kapitel enthält grundlegende Fragen und Aufgaben zur Erstellung von C-Programmen. Hierzu gehören folgende Themen: Header-Dateien

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

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

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

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

Einführung in C ++ und die Objektorientierte Programierung

Einführung in C ++ und die Objektorientierte Programierung 1/38 Einführung in C ++ und die Objektorientierte Programierung Florian Adamsky, B. Sc. (PhD cand.) florian.adamsky@iem.thm.de http://florian.adamsky.it/ cbd Softwareentwicklung im WS 2014/15 2/38 Outline

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

Aufgabe 1. Universität Duisburg-Essen Fachbereich Mathematik Dr. O. Rheinbach

Aufgabe 1. Universität Duisburg-Essen Fachbereich Mathematik Dr. O. Rheinbach Universität Duisburg-Essen SS09 Fachbereich Mathematik Dr. O. Rheinbach 21.04.2009 Aufgabe 1 Öffnen Sie Visual Studio 2008 und wählen unter Datei Neu Projekt im Dialogfenster erst Win32 und dann rechts

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

Programmierkurs C++ Grundlagen. Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.

Programmierkurs C++ Grundlagen. Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck. Programmierkurs C++ Grundlagen Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Algorithmen, Maschinen- und Programmiersprachen Algorithmen

Mehr

Programmierung in C++

Programmierung in C++ Skript zur vhb-vorlesung Programmierung in C++ Teil 1 Prof. Dr. Herbert Fischer Hochschule Deggendorf Inhaltsverzeichnis 1 Einführung in die objektorientierte Programmierung: C++... 3 1.1 Entwicklung von

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

Leseprobe. Norbert Heiderich, Wolfgang Meyer. Technische Probleme lösen mit C/C++ Von der Analyse bis zur Dokumentation ISBN:

Leseprobe. Norbert Heiderich, Wolfgang Meyer. Technische Probleme lösen mit C/C++ Von der Analyse bis zur Dokumentation ISBN: Leseprobe Norbert Heiderich, Wolfgang Meyer Technische Probleme lösen mit C/C++ Von der Analyse bis zur Dokumentation ISBN: 978-3-446-42382-4 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42382-4

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

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

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

Kurzeinführung in C/C++ Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ Einleitung

Kurzeinführung in C/C++ Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ Einleitung Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ 1 Einleitung Vorteile von Java: gut strukturiert mit hohem Funktionsumfang (mächtige Standardbibliothek) weitestgehend

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

Programmierung in C++ Teil 1

Programmierung in C++ Teil 1 zur vhb-vorlesung Programmierung in C++ Teil 1 Prof. Dr. Herbert Fischer Technische Hochschule Deggendorf Prof. Dr. Herbert Fischer Seite: I Stand: 11.02.17 Datei: skript_cpp1_2017_v9 Inhaltsverzeichnis

Mehr

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

Klausur: Grundlagen der Informatik I, am 06. Februar 2009 Gruppe: A 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 ( / 12 Pkt.) Was liefert

Mehr

Klausur: Grundlagen der Informatik I, am 27. März 2009 Gruppe: F Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

Klausur: Grundlagen der Informatik I, am 27. März 2009 Gruppe: F 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 ( / 15 Pkt.) Was liefert

Mehr

Klausur: Informatik, am 11. Juli 2013 Gruppe: A Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:

Klausur: Informatik, am 11. Juli 2013 Gruppe: A 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 ( / 15 Pkt.) Was liefert

Mehr

Einstieg in Java und OOP

Einstieg in Java und OOP examen.press Einstieg in Java und OOP Bearbeitet von Christian Silberbauer 1. Auflage 2009. Taschenbuch. x, 170 S. Paperback ISBN 978 3 540 78615 3 Format (B x L): 15,5 x 23,5 cm Gewicht: 314 g Weitere

Mehr

Programmieren/Algorithmen und Datenstrukturen 1

Programmieren/Algorithmen und Datenstrukturen 1 Hochschule Darmstadt FB Informatik Prof. Dr. R.Nitsch Programmieren/Algorithmen und Datenstrukturen 1 Praktikum 1 Lernziele Mit der Entwicklungsumgebung einfache Konsolenanwendungen erstellen und debuggen

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

Übung 1 - Betriebssysteme I

Übung 1 - Betriebssysteme I Prof. Dr. Th. Letschert FB MNI 13. März 2002 Aufgabe 0: Basiswissen Rechnerarchitektur: Übung 1 - Betriebssysteme I Aus welchen Komponenten besteht ein Rechner mit Von-Neumann Architektur? Was sind Bits

Mehr

Kontrollstrukturen -- Entscheidungen, Abfragen und Fallunterscheidungen

Kontrollstrukturen -- Entscheidungen, Abfragen und Fallunterscheidungen Kontrollstrukturen -- Entscheidungen, Abfragen und Fallunterscheidungen Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich

Mehr

Übungen zu Systemprogrammierung 1

Übungen zu Systemprogrammierung 1 Übungen zu Systemprogrammierung 1 Ü1-2 Speicherverwaltung Sommersemester 2018 Christian Eichler, Jürgen Kleinöder Lehrstuhl für Informatik 4 Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl

Mehr

Einleitung Entwicklung in C Hello-World! Konstrukte in C Zusammenfassung Literatur. Grundlagen von C. Jonas Gresens

Einleitung Entwicklung in C Hello-World! Konstrukte in C Zusammenfassung Literatur. Grundlagen von C. Jonas Gresens Grundlagen von C Jonas Gresens Proseminar C Grundlagen und Konzepte Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität

Mehr

Klausur: Informatik, am 11. Juli 2013 Gruppe: B Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:

Klausur: Informatik, am 11. Juli 2013 Gruppe: B 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 ( / 6 Pkt.) a) Geben

Mehr

Objektorientierte Programmierung - Was ist Programmieren?

Objektorientierte Programmierung - Was ist Programmieren? Objektorientierte Programmierung - Was ist Programmieren? Programmieren ist ein logischer, sequentieller Vorgang Programmieren Beim Programmieren nutzt man eine Sprache Diese Sprache ist ein Hilfsmittel

Mehr

Bedingte Anweisungen

Bedingte Anweisungen Bedingte Anweisungen Bedingte Anweisungen werden nicht immer ausgeführt, sondern nur, wenn eine Bedingung erfüllt (wahr) ist. C/C++/Java bieten hier 2 Konstruktionen an: if-anweisung sowie switch-case

Mehr

Allgemeines. Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C. #include <stdio.h>

Allgemeines. Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C. #include <stdio.h> Allgemeines Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C #include int main() { printf( hello world\n ); return 0; } Peter Sobe 1 Verschiedene Sprachkonzepte

Mehr

Grundlagen von C# - 1

Grundlagen von C# - 1 Grundlagen von C# - 1 Marc Satkowski 20. November 2016 C# Kurs Gliederung 1. Über diesen Kurs 2. Benötigte Software 3. Exkurs: Architektur von.net und C# 4. Erstes Programm: Hello World Grundlegende Eigenschaften

Mehr

Einleitung. Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ Kurzeinführung in C/C++

Einleitung. Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ Kurzeinführung in C/C++ Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ 1 Einleitung Vorteile von Java: gut strukturiert mit hohem Funktionsumfang (mächtige Standardbibliothek) weitestgehend

Mehr

C++ Das Übungsbuch. Testfragen und Aufgaben mit Lösungen. von Ulla Kirch, Peter Prinz. überarbeitet

C++ Das Übungsbuch. Testfragen und Aufgaben mit Lösungen. von Ulla Kirch, Peter Prinz. überarbeitet C++ Das Übungsbuch Testfragen und Aufgaben mit Lösungen von Ulla Kirch, Peter Prinz überarbeitet C++ Das Übungsbuch Kirch / Prinz schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG

Mehr

C++ Teil 1. Sven Groß. 9. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil 1 9. Apr / 19

C++ Teil 1. Sven Groß. 9. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil 1 9. Apr / 19 C++ Teil 1 Sven Groß IGPM, RWTH Aachen 9. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 1 9. Apr 2015 1 / 19 Organisatorisches Anmeldung zu Vorlesung und Praktikum über CampusOffice heute! Zugang zu

Mehr

Übungen zu Systemprogrammierung 1 (SP1)

Übungen zu Systemprogrammierung 1 (SP1) Übungen zu Systemprogrammierung 1 (SP1) Ü1-2 Speicherverwaltung Andreas Ziegler, Stefan Reif, Jürgen Kleinöder Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität

Mehr

4 Schleifen und Dateien

4 Schleifen und Dateien 4 Schleifen und Dateien 4.1 Übungsaufgabe 4.1.1 Aufgabe 1 Schreiben Sie drei C++ Programme: pword_for.cxx, pword_while.cxx, pword_do.cxx. Die Programme sollen den Benutzer höchstens 5 Mal nach einem Passwort

Mehr

C - PRÄPROZESSOR. Seminar effiziente C Programmierung WS 2012/13. Von Christian Peter

C - PRÄPROZESSOR. Seminar effiziente C Programmierung WS 2012/13. Von Christian Peter C - PRÄPROZESSOR Seminar effiziente C Programmierung WS 2012/13 Von Christian Peter Themen Was sind Präprozessoren? Beispiele für Präprozessoren Funktionsweisen Der C - Präprozessor Der # Präfix #include

Mehr

Grundlagen der Informatik. Mathias Buhr

Grundlagen der Informatik. Mathias Buhr Grundlagen der Informatik 1 Übersicht - 2.Übung Rückblick 1. Übung Compiler prozedurale Programmierung in C Variablen Funktionen Kontrollstrukturen Literatur 2 Rückblick Information & Entropie Zahlensysteme

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

In diesem Kapitel lernen Sie den Umgang mit Visual C++ kennen, legen Ihr erstes Projekt an und schreiben ein kurzes Programm.

In diesem Kapitel lernen Sie den Umgang mit Visual C++ kennen, legen Ihr erstes Projekt an und schreiben ein kurzes Programm. KAPITEL 3 jetzt lerne ich In diesem Kapitel lernen Sie den Umgang mit Visual C++ kennen, legen Ihr erstes Projekt an und schreiben ein kurzes Programm. 3.1 Einführung in Visual C++ Da Sie Visual C++ in

Mehr

GI Grundlagen der Informatik (GI)

GI Grundlagen der Informatik (GI) Grundlagen der Informatik (GI) 1 / 15 Gi_Vorlesung_01_2016 Lehrkräfte: Grundlagen der Informatik (GI) 1.) Prof. Dr.-Ing. Martin Pollakowski Raum B2.1.04, Tel.: - 226, E-Mail: martin.pollakowski@w-hs.de

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

Die Programmiersprache C++ Einführung / Datentypen

Die Programmiersprache C++ Einführung / Datentypen Die Programmiersprache C++ Einführung / Datentypen Karsten Rink Department for Environmental Informatics, Helmholtz-Centre for Environmental Research, Leipzig Warum C++? Universalsprache objektorientiert

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

2. Einführungsbeispiel eines Programms in C

2. Einführungsbeispiel eines Programms in C 2. Einführungsbeispiel eines Programms in C Wir lernen den allgemeinen Aufbau eines C-Programms kennen. Sämtliche kleineren C-Programme besitzen nämlich (glücklicherweise) einen recht ähnlichen Aufbau,

Mehr

1.3 Handhabung eines Programmiersystems

1.3 Handhabung eines Programmiersystems 1.3 Handhabung eines Programmiersystems Der Turbo-Pascal-Editor Man muss nichts vom Innenleben eines Computers verstehen, um mit ihm umgehen zu können. Wir wollen ihn als "black box" verwenden, also lediglich

Mehr

Klausur Informatik WS 2012/13

Klausur Informatik WS 2012/13 Klausur Informatik WS 2012/13 Name Gruppe 1 Vorname Dauer 90 min Matrikelnummer Hilfsmittel keine Die Klausur ist mit 50 Punkten sicher bestanden. Hinweies: Voraussetzung für die Teilnahme ist das Bestehen

Mehr

Installationsanleitung

Installationsanleitung 1. C Installationsanleitung C-Programmierung mit Hilfe von Eclipse unter Windows XP mit dem GNU C-Compiler (GCC) 2. Inhaltsverzeichnis 1. Einleitung... 3 2. Cygwin... 3 2.1 Cygwin-Installation... 3 2.2

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

Klausur Programmieren 1 SS 2017

Klausur Programmieren 1 SS 2017 Klausur Programmieren 1 SS 2017 Name Gruppe 1 Vorname Dauer 90 min Matrikelnummer Hilfsmittel keine Die Klausur ist mit 50 Punkten sicher bestanden. Hinweies: Voraussetzung für die Teilnahme ist das Bestehen

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

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

SRC Modula-3 Kommandos und Dateien Ein einfaches Beispiel Importieren von Modulen Hinweise zu den Übungsprogrammen Probleme - Mögliche Ursachen

SRC Modula-3 Kommandos und Dateien Ein einfaches Beispiel Importieren von Modulen Hinweise zu den Übungsprogrammen Probleme - Mögliche Ursachen SRC Modula-3 Kommandos und Dateien Ein einfaches Beispiel Importieren von Modulen Hinweise zu den Übungsprogrammen Probleme - Mögliche Ursachen Moritz Schnizler 1998, RWTH Aachen Einführung in die M3-

Mehr

Inhaltsverzeichnis. 1. Einleitung Eine der am häufigsten verwendeten Programmiersprachen: C Die Geschichte von C++...

Inhaltsverzeichnis. 1. Einleitung Eine der am häufigsten verwendeten Programmiersprachen: C Die Geschichte von C++... Inhaltsverzeichnis 1. Einleitung... 8 1.1 Eine der am häufigsten verwendeten Programmiersprachen: C++... 8 1.2 Die Geschichte von C++... 9 1.3 Was zeichnet C++ aus?...11 1.4 Programmieren lernen mit C++...13

Mehr

Kapitel 1. Grundlagen

Kapitel 1. Grundlagen Grundlagen Dieses Kapitel beschreibt die nötigen Schritte zur Erstellung eines lauffähigen C- Programms. Diese Schritte können Sie auf Ihrem System anhand von einführenden Beispielen nachvollziehen. Die

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

Einführung in die Programmierung

Einführung in die Programmierung Einführung in die Programmierung Brückenkurs Prof. Dr. Rethmann Fachbereich Elektrotechnik und Informatik Hochschule Niederrhein WS 2009/10 Einführung in die Programmierung Erste Programme 2 / 38 Übersicht

Mehr

Vorkurs Informatik WiSe 17/18

Vorkurs Informatik WiSe 17/18 Java Einführung Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 04.10.2017 Technische Universität Braunschweig, IPS Überblick Organisatorisches Arbeitsablauf Hello World 04.10.2017 Dr. Werner Struckmann

Mehr

Praktikumstermin B-07: make & Makefiles

Praktikumstermin B-07: make & Makefiles Praktikumstermin B-07: make & Makefiles Version 2014-11-26: Problem mit dem Löschbefehl gelöst. Ursache: Auf den Terminalrechnern funkt ein Softwarepaket aus einer anderen Lehrveranstaltung dazwischen

Mehr

Klassen in Java. Grundlagen der Programmierung. Stephan Kleuker 68

Klassen in Java. Grundlagen der Programmierung. Stephan Kleuker 68 Klassen in Java Stephan Kleuker 68 Klassen in Java (Syntax) (1/3) class Datum { int tag; int monat; int jahr; } Java hat Schlüsselworte (z. B. class), diese dürfen z. B. nicht als Variablennamen genutzt

Mehr

Programmierung mit C Modularisierung von Programmen. Präprozessor-Anweisungen nutzen.

Programmierung mit C Modularisierung von Programmen. Präprozessor-Anweisungen nutzen. Programmierung mit C Modularisierung von Programmen. Präprozessor-Anweisungen nutzen. Modularisierung Zerlegung eines Programms in überschaubare Einheiten Die einzelnen Einheiten werden als Modul bezeichnet.

Mehr

Hochschule Darmstadt Informatik-Praktikum WS 2017/2018 EIT Bachelor 5. Aufgabenblatt Datenstruktur, Dateieingabe und -ausgabe

Hochschule Darmstadt Informatik-Praktikum WS 2017/2018 EIT Bachelor 5. Aufgabenblatt Datenstruktur, Dateieingabe und -ausgabe Aufgabe 5: Häuser verwalten Für ein Schneeräumungsunternehmen soll ein Programm zur Verwaltung von Häuserlisten geschrieben werden. Das Programm soll in der Lage sein, zu einem Haus die wichtigsten Informationen

Mehr

2.4 Das erste C++-Programm *

2.4 Das erste C++-Programm * 2.4 Das erste C++-Programm * 11 2.4 Das erste C++-Programm * Den besten Lernerfolg erzielen Sie, wenn Sie alle Beispiele dieses Buchs selbst nachvollziehen. Sie können hierzu einen Compiler verwenden,

Mehr

1.8.5 Wiederholungen. Beispiele Unendliche Schleife: 1.8 Kontrollstrukturen 75. ( Bedingung ) AnweisungOderBlock. ja Anweisung. Bedingung erfüllt?

1.8.5 Wiederholungen. Beispiele Unendliche Schleife: 1.8 Kontrollstrukturen 75. ( Bedingung ) AnweisungOderBlock. ja Anweisung. Bedingung erfüllt? 1.8 Kontrollstrukturen 75 1.8.5 Wiederholungen Häufig muss die gleiche Teilaufgabe oft wiederholt werden. Denken Sie nur an die Summation von Tabellenspalten in der Buchführung oder an das Suchen einer

Mehr

Hydroinformatik I: Hello World

Hydroinformatik I: Hello World Hydroinformatik I: Hello World Prof. Dr.-Ing. habil. Olaf Kolditz 1 Helmholtz Centre for Environmental Research UFZ, Leipzig 2 Technische Universität Dresden TUD, Dresden Dresden, 27. Oktober 2017 1/21

Mehr

C++ - Lernen und professionell anwenden

C++ - Lernen und professionell anwenden mitp Professional C++ - Lernen und professionell anwenden von Prof. Dr. Ulla Kirch, Dr. Peter Prinz 6., überarbeitete Auflage 2012 C++ - Lernen und professionell anwenden Kirch / Prinz schnell und portofrei

Mehr

Programmieren für Physiker: C++ SS 2016

Programmieren für Physiker: C++ SS 2016 Programmieren für Physiker: C++ SS 2016 Programmieren für Physiker: C++ Termine: Vorlesung: Di. 8:00-9:30 Uhr, Lehmann-HS (Matthias Steinhauser) Hörsaalübungen: Fr. 8:00-9:30 Uhr, Lehmann-HS (Achim Mildenberger)

Mehr

Softwareentwicklung I

Softwareentwicklung I FAKULTÄT FÜR TECHNIK STUDIENGÄNGE ELEKTROTECHNIK / INFORMATIONSTECHNIK (ET/IT) TECHNISCHE INFORMATIK (TI) MECHATRONIK (MEC) MEDIZINTECHNIK (MT) Softwareentwicklung I Arbeiten mit Visual Studio 2010 Projekt

Mehr

Informatik I - Einstiegskurs

Informatik I - Einstiegskurs Informatik I - Einstiegskurs Dr. Henrik Brosenne Georg-August-Universität Göttingen Institut für Informatik Basiert auf dem Einstiegskurs im Wintersemester 2009/10 von Markus Osterhoff Wintersemester 2012/13

Mehr

Tobias Wolf Seite 1 von 19

Tobias Wolf  Seite 1 von 19 Praktikumsanleitung Informatik (für Visual Studio 2017) Seite 1 von 19 Praktikum - Ablauf - Je 2 Studenten pro Rechner Jedes Zweier-Team erstellt ein Programm, welches dem Betreuer gemeinsam gezeigt und

Mehr

Einführung in die Programmierung

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

Mehr

Zum Abschluss wird gezeigt, wie aus einem C++ Quell-Programm ein ausführbares Programm erzeugt wird. 1. Installation von NetBeans...

Zum Abschluss wird gezeigt, wie aus einem C++ Quell-Programm ein ausführbares Programm erzeugt wird. 1. Installation von NetBeans... Erste Schritte Dieser Teil der Veranstaltung gibt einen ersten Eindruck der Programmierung mit C++. Es wird ein erstes Gefühl von Programmiersprachen vermittelt, ohne auf die gezeigten Bestandteile genau

Mehr

C++ - Einführung in die Programmiersprache Ein- und Ausgabe in die Konsole. Leibniz Universität IT Services Anja Aue

C++ - Einführung in die Programmiersprache Ein- und Ausgabe in die Konsole. Leibniz Universität IT Services Anja Aue C++ - Einführung in die Programmiersprache Ein- und Ausgabe in die Konsole Leibniz Universität IT Services Anja Aue Eingabe (input) und Ausgabe (output) In diesem Kapitel wird nur das Lesen von und das

Mehr

13 Reguläre Ausdrücke

13 Reguläre Ausdrücke 13 Reguläre Ausdrücke 13.1 Übungsaufgabe 13.1.1 Aufgabe 1 Schreiben Sie ein C++ Programm, das eine txt-datei (UTF8 kodiert) öffnet und mit wcin alle Wörter einliest, Punktuationszeichen am Anfang und Ende

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