Grundlagen der Informatik für Ingenieure

Größe: px
Ab Seite anzeigen:

Download "Grundlagen der Informatik für Ingenieure"

Transkript

1 Grundlagen der Informatik für Ingenieure Dr.-Ing. Eike Schallehn OvG Universität Magdeburg Fakultät für Informatik Institut für Technische und Betriebliche Informationssysteme 2013/2014 Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 1/82

2 Organisatorisches zu Vorlesung und Übung

3 Zum Inhalt Semester (Planung) Einführung: Begriffe und Geschichte der Informatik Grundlagen der Programmierung in C++ Technische Grundlagen der Informatik Daten, Informationen, Kodierung Grundlagen der Computergrafik Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 3/82

4 Zum Inhalt Semester (Planung) Objekorientierte Programmierung mit C++ Eigenschaften von Algorithmen Datenstrukturen Grundlagen von Datenbanken Grundlagen von Rechnernetzen Grundlagen des Software Engineering Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 4/82

5 Zugrundeliegende Literatur Grundlagen der Informatik für Ingenieure Einführung in die Programmierung mit C / C++ Von: Paul, Georg / Hollatz, Meike / Jesko, Dirk / Mähne, Torsten B.G. Teubner Verlag ISBN: Einführung in die Informatik für Naturwissenschaftler und Ingenieure Levi, Paul / Rembold, Ulrich Hanser Fachbuchverlag; Auflage: 4., aktualis. u. überarb. A. (Januar 2003) ISBN: Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 5/82

6 Zum Ablauf... Alle Infos, Folienkopien und Aufgabenblätter unter Veranstaltung besteht aus: Wintersemestersemester: wöchentliche Vorlesung 14-tägliche Übung Sommersemester (geplant): wöchentliche Vorlesung wöchentliche Übung Übungen Tutorien Schriftliche Klausur am Ende des Sommersemesters Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 6/82

7 Übungen - 1 Vertiefung des Vorlesungsstoffs an Hand praktischer Übungen (Programmierung mit C++) theoretische Aufgaben mit Bezug zur Prüfung Keine Vorkenntnisse vorausgesetzt Aktuelle Übungsblätter finden sich im Online-System zu den Übungen Vorab: Einreichung von Lösungen spezieller Vortragsaufgaben Vortrag/Vorstellung zählt als Testat Während der Übung: Einreichung von Lösungen spezieller Programmieraufgaben bei Vorstellung zählen sie ebenfalls als Testat Prüfungsvoraussetzung: Wintersemester: 50% der Votierungen und 2 Testate Sommersemester (geplant): 50% der Votierungen und 2 Testate Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 7/82

8 Übungen - 2 Ablauf der Übungen Die Übungen beginnen in der 44. Kalenderwoche (ab ). Die Übungsgruppen sind unterteilt in gerade und ungerade Kalenderwoche. Daraus resultieren für jede Gruppe 6 Termine im Wintersemester. Die Nummerierung der Gruppen hat keinen Zusammenhang mit Bezeichnungen von Seminargruppen. Die Übungstermine vom werden auf den vorgezogen!!! Die Teilnehmerzahlen pro Gruppe sind begrenzt. Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 8/82

9 Übungen - 3 Anmeldung zu den Übungsgruppen 1. Einen Account auf der Webseite anlegen (Links unten Neuer Benutzer? ). Benutzername: Bitte den URZ-Accountnamen verwenden. Bitte die studentische adresse verwenden ( ) 2. Zur Lehrveranstaltungsseite gehen ( wintersemester ). 3. Übungsgruppe aussuchen und dort auf Anmeldung klicken. Hinweis: Bitte eine Gruppe entsprechend der Fakultätszugehörigkeit wählen. Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 9/82

10 Übungen - 4 Termin für die Anmeldung Die Anmeldung wird ab heute (Freitag, ) 16:00 Uhr freigeschaltet. Die Anmeldung ist vorerst bis kommenden Mittwoch ( ) freigeschaltet. Wenn Probleme auftreten, dann bitte per Mail bei Sven melden. Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 10/82

11 Tutorien Tutorien dienen der selbständigen Arbeit an Übungsaufgaben und Erweiterung der Programmierkenntnisse Hilfestellung durch anwesende Tutoren auf Anfrage Besuch freiwillig, aber empfohlen, insbesondere für Programmierneulinge Termine entsprechend LSF bzw. auf der Webseite. Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 11/82

12 Prüfungen Zweistündige (Bearbeitungszeit 120 Minuten) schriftliche Prüfung in der vorlesungsfreien Zeit am Ende des Sommersemsters Inhaltlich abgedeckt durch Vorlesung und Übung Zuvor genannte Prüfungsvoraussetzung notwendige Bedingung für Zulassung Keine Hilfsmittel erlaubt! Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 12/82

13 Sprechstunde Eike Freitag, 11:00 Uhr (nach der Vorlesung) in Raum 29/125 (Vorsicht! Versteckte Tür im Vorzimmer 29/126...) Weitere Termine nach Vereinbarung per möglich: Jederzeit auch gerne Anregungen, Kritik, technische oder organisatorische Fragen, Verbesserungsvorschläge, Hinweise zu Fehlern auf Folien, Probleme, etc. per oder nach der Vorlesung an mich! Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 13/82

14 Sprechstunde Sven Generell: in der Übung Probleme ansprechen Alternativ: per Mail schreiben und ggfs. Termin ausmachen, ich bin im Raum G zu finden. Weitere Termine nach Vereinbarung per möglich: Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 14/82

15 Alles klar?

16 Teil I Einführung

17 Überblick 1 Was ist Informatik? 2 Bereiche der Informatik 3 Geschichte der Informatik Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 17/82

18 Was ist Informatik? Informatik=? Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 18/82

19 Computer als Arbeitsmittel In der Informatik geht es genauso wenig um Computer wie in der Astronomie um Teleskope. Edsger Wybe Dijkstra Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 19/82

20 Der Begriff Informatik Kunstwort aus den 60ern Informatik Information + Technik oder Informatik Information + Mathematik oder Informatik Information + Automatik... Definition (Informatik) Informatik ist die Wissenschaft von der systematischen und automatischen Verarbeitung von Informationen, insbesondere mit Hilfe von Computern. Im Englischen: Computer Science + Information Science Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 20/82

21 Bereiche der Informatik Angewandte Informatik Entwicklung und Verwendung von speziellen Informationsverarbeitungslösungen für bestimmte Anwendungen: Ingenieurinformatik, Wirtschaftsinformatik, Geoinformatik, Bioinformatik, Medieninformatik, etc. Praktische Informatik Techniken der Programmierung und Entwicklung von Lösungen zur Informationsverarbeitung (Software): Programmiersprachen, Algorithmen, Datenstrukturen, Betriebssysteme, Datenbanken, etc. Technische Informatik Struktur, Aufbau und Funktionsweise von Computern (Hardware): Elektround Schalttechnik, Speicher, Prozessoren, Bussysteme, Schnittstellen und Peripherie Theoretische Informatik Theoretische und mathematische Modelle der Informationsverarbeitung: Entscheidbarkeit und Komplexität von Problemen, Eigenschaften von Berechnungsmodellen und Sprachen Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 21/82

22 Warum... Informatik für Ingenieure? 1 Grundlage und Ergebnis von Ingenieurtätigkeiten sind Informationen, welche in der Entwicklung, der Simulation und dem Test sowie im Betrieb von technischen Produkten verwendet werden. 2 Der Computer wird zunehmend zum Hauptarbeitsmittel von Ingenieuren, der unter dem Einsatz spezieller Software und Verfahren zur Lösung von Problemen im Ingenieurbereich eingesetzt wird. 3 Die Lösung konkreter Probleme in einem gegebenen Anwendungsszenario kann die Entwicklung spezieller Programme durch Informatiker in Kooperation mit Ingenieuren erfordern, wozu ein Austausch von Spezialisten aus beiden Bereichen möglich sein muss. Die Verarbeitung von Information und der Einsatz von Computern durch Ingenieure setzt ein grundlegendes Verständnis der informationstechnischen Grundlagen voraus.

23 Inhalte der Vorlesung Fokus auf Technische Informatik Grundlegendes Verständnis der Funktionsweise von Computern Praktische Informatik Grundprinzipien von Programmiersprachen Lösung von Problemen mittels des Computers Grundlagen der Software-Entwicklungen Betriebsysteme, Datenbanksysteme, Rechnernetze Angewandte Informatik Ingenieurtechnische Anwendungen und Problemstellungen Computergrafik als Grundlage von Computer Aided Design (CAD) Simulation Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 23/82

24 Typische Informatik-Anwendungen für Ingenieure Spezielle Anwendungen für Ingenieure Computer Aided Design (CAD) Computer Aided Manufacturing (CAM) Computer Aided Planning (CAP) Produktionsplanung und Steuerung (PPS) Produktdatenmanagement (PDM)... Allgemeine Anwendungen im Berufsalltag von Ingenieuren System zur Lösung mathematischer und statistischer Probleme Simulationssysteme Workflow-Systeme Enterprise Resource Planning (ERP)... Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 24/82

25 Warum... reicht es nicht, wenn ich als Ingenieur weiß, wie ich diese Systeme anwende? 1 Der effiziente Einsatz von Ingenieuranwendungen wird durch ein Verständnis der zugrunde liegenden Technologie erleichtert. 2 In Übergangsbereichen werden Spezialisten mit Fachwissen aus beiden Bereichen (Quereinsteiger oder Ausbildung im Übergangsbereich) benötigt, z.b. Entwicklung von Ingenieuranwendungen, Entwicklung von Produkten mit eingebetteten Systemen (Hard-, Software), Automatisierungstechnik, und Mechatronik. 3 Die Anwendungssysteme bieten Lösungen für allgemeine Problemstellungen, weshalb spezielle Verarbeitungsschritte über Erweiterungsschnittstellen ergänzt werden können.

26 Zusammenfassung: Überblick Informatik Ingenieurwissenschaften sind aus Sicht der Informatik Anwendungsbereich Informatik ist aus Sicht der Ingenieurwissenschaften Grundlage für aktuelle Lösungen Computer ist Hauptarbeitsmittel für Ingenieure (genau wie für Informatiker) Ingenieure verwenden von Informatikern entwickelte Anwendungssoftware Im folgenden: Wie entstand Informatik als Wissenschaft? Was sind die technischen Grundlagen der Datenverarbeitung? Wie werden Informationen zu verarbeitbaren Daten? Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 26/82

27 Geschichte der Informatik Entwicklung von Informationstechnik und Durchdringung des Alltags seit der 2. Hälfte des 20 Jahrhunderts explosionsartig Informationsgesellschaft Zunehmende Bedeutung und Wert von Informationen Schnelle Entwicklung von Technologien zur Verarbeitung und Kommunikation Historische Wurzeln der Informatik reichen zum Teil erheblich weiter Zurück Rechenautomaten programmierbare Maschinen Grundlagen aus Mathematik, Elektrotechnik, Linguistik, Kodierungs- und Informationstheorie Seit 50er Jahren: Relativ schnelle Folge von Rechnergenerationen Immer mehr Anwendungen der Informationstechnik in Wirtschaft und Privatbereich Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 27/82

28 Warum... Geschichte der Informatik? Mehr als die Vergangenheit interessiert mich die Zukunft, denn in ihr gedenke ich zu leben. Die Vergangenheit ist ein Prolog Albert Einstein Unbekannt

29 Geschichte der Informatik bis 1950 vor 17. Jh v. Chr.: erste mechanische Rechenhilfen in Indien/China, z.b. bis heute benutzter Abakus auf Basis des Dezimalsystems Beschreibung von reproduzierbaren Rechenverfahren, z.b. größter gemeinsamer Teiler durch Euklid (300 v. Chr). Al-Chwarizmi (820) beschreibt Grundlagen von Rechenvorschriften, die nach ihm als Algorithmen bezeichnet werden (aus lateinischer Übersetzung Dixit Algorismi... - Al-Chwarizmi hat gesagt... ) Boethius (um 1500) und Adam Riese (ab 1518) veröffentlichen Vorschriften für das schriftliche Rechnen im Dezimalsystem Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 29/82

30 Geschichte der Informatik bis Jh. Erste mechanische Rechenmaschinen zur Erleichterung der durch technischen Fortschritt und zunehmende Industrialisierung häufigeren Rechenaufgaben Wilhelm Schickard (1623): Addition und Subtraktion für astronomische Berechnungen Pascal (1641): patentiert Pascaline als Rechenmaschine für Steuerwesen und Händler, welche ebenfalls Addieren und Subtrahieren kann Gottfried Wilhelm Leibniz (1673): Rechenmaschine für 4 Grundrechenarten Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 30/82

31 Geschichte der Informatik bis 1950 Abbildung: Blaise Pascals Pascaline Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 31/82

32 Geschichte der Informatik bis Gottfried Wilhelm Leibniz beschreibt erstmals Dualsystem (Binärsystem), welches im Gegensatz zum heute und damals gebräuchlichen Dezimalsystem (Ziffern 0 bis 9) als Ziffern nur 0 und 1 verwendet Ist heute Grundlage für elektronische Rechner (Speicher, Prozessoren), welche auf unterster Ebene nur die Schaltzustände an (1, Spannung liegt an) oder aus (0, Spannung liegt nicht an) kennen 1110 = x x x x x x 101 Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 32/82

33 Geschichte der Informatik bis Jh. Entwicklung mechanischer, programmgesteuerte Maschinen Programmsteuerung erlaubt durch Folge von Befehlen Durchführung komplexerer Berechnungen Joseph-Marie Jacquard (1805): Entwicklung eines lochkartengesteuerten Webstuhl Charles Babbage (1822): entwickelt Konzept für programmgesteuerte Analytical Engine mit Speicher, Steuereinheit und Verarbeitungseinheit, deren Konstruktion wegen hohem Aufwand jedoch nie vollendet wird Hollerith (1886): System zur Erfassung von Daten auf Lochkarten Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 33/82

34 Geschichte der Informatik bis 1950 Abbildung: Analytical Engine von Charles Babbage Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 34/82

35 Geschichte der Informatik bis George Boole entwickelt Boolsche Logik und Algebra, welche grundlegende logische Operatoren UND, ODER und NICHT umfasst Angewandt auf binäre Zustände (1=wahr, 0=falsch) bilden diese die Grundlage für Funktionsweise von heutigen Prozessoren Operationen wie Rechenoperationen im Binärsystem werden auf diese logischen Grundbausteine zurückgeführt Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 35/82

36 Geschichte der Informatik bis Alan Turing entwickelt basierend auf mathematischer Logik Automatenmodell (theoretische Turingmaschine) und schafft theoretische Grundlagen für Algorithmen Konzepte der Entscheidbarkeit, Komplexität und Berechenbarkeit von Problemen Begründet damit Theoretische Informatik und zeigt Grenzen der Informatik auf Unendliches, beschriebenes Band Schreib-/ Lese Kopf Programm- Tafel (Regeln) Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 36/82

37 Geschichte der Informatik bis Jh. Entwicklung erster elektronischer Rechenmaschinen Konrad Zuse (1941): mechanisch-elektronische, programmgesteuerte Rechenmaschine Z3 auf Basis des Dualsystems und erste High-Level-Programmiersprache Plankalkül ( ) Howard Hathaway Aiken (1944): erster ebenfalls relais-basierter Großrechner Mark I J. Presper Eckert und John W. Mauchly (1946): ENIAC erster voll elektronischer Rechner auf Basis von Röhrentechnologie Ab 1949: industrielle Produktion von elektronischen Rechnern Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 37/82

38 Geschichte der Informatik bis 1950 Abbildung: ENIAC - Electronic Numerical Integrator and Computer Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 38/82

39 Geschichte der Informatik bis John von Neumann entwirft grundlegende Von-Neumann-Architektur als bis heute aktuelle Referenz für Aufbau von speicherprogrammierbaren Rechnersystemen Prinzip des Stored Program, d.h. Programm ist mit Daten zusammen im Speicher des Rechners, erlaubt flexible Programmierung für verschiedene Anwendungen Zentrale Vearbeitungseinheit Rechenwerk Steuerwerk Bus Ein-/Ausgabe Speicherwerk Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 39/82

40 Entwicklung von Hardware seit 1950 Erste Rechnergeneration: Technologie auf Röhrenbasis Stapelverarbeitung Zweite Rechnergeneration: Transistoren Entwicklung erster Betriebssysteme und Compiler für Programmiersprachen Interaktivität durch Bildschirm-Terminals für Mainframes Dritte Rechnergeneration: Integrierte Schaltungen: Mikrochips Erste Kleinrechner und Netzwerke Vierte Rechnergeneration: Hochintegrierte Schaltungen: Mikroprozessoren Halbleiterspeicher Erste Super-Computer und Parallelverarbeitung Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 40/82

41 Entwicklung von Hardware seit 1950 Entwicklungen heute Zunehmender Integrationsgrad von Schaltungen Stetig wachsende Geschwindigkeit und Speicherkapazitäten Verbreitung von Multiprozessorsystemen Zunehmede Vernetzung Computer durchdringen alle Lebensbereiche Home Computer, PCs, Laptops, Handhelds Genutz für Anwendungsprogramme, Internet, Spiele, Unterhaltungsmedien Eingebettete Systeme Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 41/82

42 Entwicklung wichtiger Software/Technologien 1961 erstes Betriebssystem CTSS 1962 Erstes Computerspiel: Spacewar! 1968 Erste Grafische Benutzeroberfläche: NLS (on-line System) 1969 Unix als Mehrbenutzer-/Multitasking-Betriebssystem (freie Variante Linux 1991) 1969 Arpanet mit TCP/IP Grundlage für heutiges Internet 1970 Relationales Datenmodell bis heute Standard für Datenbanken 1985 Microsoft Windows 1.0 als grafische Oberfläche für MS/DOS wird schrittweise zum eigenständigen Betriebssystem ausgebaut (ca. ab Windows 95/Windows NT) 1990 Grundlagen des World Wide Web: HTML und erster Web Browser Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 42/82

43 Zusammenfassung: Geschichte der Informatik Wurzeln der Informatik Algorithmen Rechentechnik Mathematische Grundlagen reichen weit zurück Seit 1950 sprunghafte Entwicklung Aber: trotz stetiger Neuerungen Grundlagen heutiger Technik seit Jahrzehnten relativ stabil Informatik ist nicht so schnelllebig, wie man vielleicht denkt Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 43/82

44 Teil II Programmierung mit C++ (1) Grundlagen

45 Überblick 1 Grundlagen der Programmierung 2 Die Programmiersprachen C und C++ 3 Aufbau von C++ Programmen Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 45/82

46 Programmentwicklung: Problem Programm muss von Menschen geschrieben werden und auch für andere Menschen verständlich sein Programm muss vom Prozessor ohne Mehrdeutigkeiten und effizient ausgeführt werden können Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 46/82

47 Programmentwicklung: Lösung C++ #include <iostream> int main() { cout << Hallo! << endl; } Programmierer verfaßt Programm in sogenannter Hochsprache Machine Code Assembler FA CLI 33C0 XOR AX,AX 8ED0 MOV SS,AX BC007C MOV SP,7C00 8BF4 MOV SI,SP 50 PUSH AX 07 POP ES 50 PUSH AX 1F POP DS FB STI... Für die Ausführung durch den Prozessor wird das Programm auf eine dem Prozessor eigene Maschinensprache umgesetzt Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 47/82

48 Hochsprache vs. Maschinensprache Programm wird in sogenannten Hochsprachen geschrieben Für die Ausführung durch den Prozessor wird das Programm auf eine dem Prozessor eigene Maschinensprache umgesetzt Zwei Möglichkeiten: Compilierung von Programmen: spezielles Programm (Compiler) übersetzt Programm vor der Ausführung in Maschinensprache eines gegebenen Prozessors und testet dabei dessen syntaktische (aber nicht inhaltliche) Korrektheit Interpretation von Programmen: spezielles Programm (Interpreter) setzt Programmbefehle zur Ausführungszeit auf Prozessorbefehle um Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 48/82

49 Compiler vs. Interpreter /1 Compiler Allgemein schnellere Ausführung Ursprünglicher Code in der Regel nicht mehr rekonstruierbar Schutz des Quelltextes Breiter Einsatz für Programmierung von Betriebssystemen, Anwendungsprogrammen, etc. C, C++, Pascal/Delphi, FORTRAN und zahlreiche weitere Interpreter Langsamere Ausführung wegen Aufwand für Übersetzung Laufzeitfehler durch Syntaxfehler möglich Quelltext des Programmes bleibt sichtbar: kein Schutz, aber offen für beliebige Anpassungen durch dritte Aber: plattformunabhängige Programme (überall wo Interpreter läuft) Einsatz im Web, als Skriptsprachen zur Ausführungssteuerung, etc. Perl, PHP, JavaScript, Python und viele andere Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 49/82

50 Compiler vs. Interpreter /2 In letzten Jahren Mischformen populär, wie z.b. Java (Sun) und.net (Microsoft) Compiler übersetzt Programme in maschinennahen, aber plattformunabhängigen Code Laufzeitumgebung (JRE bei Java, CLR bei.net) übernimmt letzten Schritt der Umsetzung Zum Teil auch Compiler für interpretierte Sprachen vorhanden Technisch unproblematisch Dient der Steigerung der Performance und/oder dem Schutz der Quelltexte Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 50/82

51 Algorithmen Aber: was genau macht das Programm? Rückblick: Definition (Informatik) Informatik ist die Wissenschaft von der systematischen und automatischen Verarbeitung von Informationen, insbesondere mit Hilfe von Computern. Die systematische und automatische Verarbeitung wird durch den Begriff Algorithmus präzisiert. Definition (Algorithmus) Ein Algorithmus ist eine eindeutige Beschreibung eines in mehreren Schritten durchzuführenden Vorgangs zur Lösung einer bestimmten Klasse von Problemen. Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 51/82

52 Algorithmusbeispiel: Kuchen Backen Problem: Kuchen Backen Algoritmus: Backrezept Input: Eier, Mehl,... Output: Kuchen 1. Zutaten vermengen 2. Teig kneten 3. Teig in Backform 4. Backform in Backofen 5. Kuchen 1h backen 6. Kuchen entnehmen Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 52/82

53 Vom Problem zur Lösung Problemanalyse Algorithmus Programmierung Von der Entwicklung bis Zur Ausführung compilierter Programme Programm in Hochsprache Compilierung Programm in Maschinen- Sprache Ausführung Durch Prozessor Arbeitsschritt Ergebnis Prozess mit Ausgabe des Resultats Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 53/82

54 Die Programmiersprachen C und C++ C als Weiterentwicklung der Programmiersprache B Anfang 1971 für Unix entwickelt C++ als objektorientierte Erweiterung aus dem Jahr 1983 Andere populäre Sprachen wie Java, C#, Perl, PHP, etc. orientieren sich am Syntax von C/C++ C/C++ Heutzutage verbreitetste Sprachen zur Entwicklung von Anwendungsprogrammen und Betriebssystemen Compiler und Entwicklungsumgebungen existieren für alle Plattformen Beide Sprachen sind offiziell standardisiert, wobei Abweichungen vom Standard bei C++ häufiger (C-Programme deshalb besser portierbar zwischen verschiedenen Compilern oder Plattformen) Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 54/82

55 Eigenschaften von C und C++ C ist eine imperative Programmiersprache: ein Algorithmus ist dargestellt als Sequenz von hintereinander auszuführenden Befehlen C ist eine prozedurale Programmiersprache: zur Strukturierung des Quelltextes kann der Gesamtalgorithmus in inhaltlich zusammenhängende und an verschiedenen Stellen (durch Aufruf) verwendbare Prozeduren (in C Funktionen) zerlegt werden C++ ist eine objekt-orientierte Programmiersprache: zur weiteren Strukturierung können Daten von Objekten (Anwendungsobjekte wie Zeichenketten, Postadressen etc., aber auch z.b. Fenster der GUI oder Programmkomponenten) sowie die zugehörige Funktionalität als Methoden (objekt-spezifische Funktionen) in Klassen zusammengefaßt werden Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 55/82

56 Verhältnis/Unterschiede von C und C++ C++ konzipiert als kompatible Erweiterung (Obermenge) von C Eigentlich sollte jedes C-Programm auch von einem C++-Compiler übersetzt werden können Im Detail jedoch problematisch, z.b. Variablennamen in C-Programmen können Schüsselwörter in C++ sein, z.b. class, new, etc. Typkonvertierung wegen Objekt-orientierung unterschiedlich Standards entwickeln sich parallel weiter, aber gegenseitige Berücksichtigung C++ bietet alternative, objekt-orientierte Bibliotheken für Standardaufgaben, z.b. stdio vs. iostream Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 56/82

57 Aufbau von Programmen/Dateien Typen von Dateien Header-Dateien (.h): enthalten Deklarationen (auch Signatur, Prototyp, Rumpf) von Funktionen, Variablen, Konstanten und in C++ auch Klassendefinitionen eines Programms oder einer Bibliothek, welche in anderen Programm(datei)en genutzt werden können, in der Regel jedoch nicht deren Definition (Implementierung) /* Deklaration einer Funktion */ int sum(int x, int y); Code-Dateien (auch Source- oder Quelldateien,.cpp,.C,.c, etc.): enthalten die Definition von Funktionen (oder Methoden in C++) und ggf. die spezielle Funktion main als Einstiegspunkt für ein ausführbares Programm /* Definition einer Funktion */ int sum(int x, int y) { return x+y }; Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 57/82

58 Aufbau von Programmen/Dateien /2 Programme können aus zahlreichen Code- und Header-Dateien bestehen Header-Dateien als Schnittstelle zwischen verschiedenen Code Dateien: in einer inkludierten Datei deklarierte Funktionen können benutzt werden, sind aber in einer anderen Code-Datei implementiert Code-Dateien werden zuerst separat übersetzt Ergebnis: Objektdateien.obj oder.o Linker: statische Verbindung verschiedener Objektdateien zu einer Programmbibliothek oder zu einem ausführbaren Programm Standardbibliotheken der Programmiersprache oder des Betriebssystems sowie Teile komplexer Programme werden meist dynamisch (zur Laufzeit) gelinkt/geladen Windows: Dynamic Load Libraries (DLL) Unix: zum Beispiel Shared Objects (.so) Vermeidet Aufblähung ausführbarer Programme und ständige Neuübersetzung immer wieder verwendeter Programmteile Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 58/82

59 C++ Übersetzungsprozeß gif.h stdio.h math.h prog.cpp gif.cpp prog.obj Compiler gif.obj Als Teil des Betriebsystems oder der Laufzeitumgebung der Programmiersprache implementiert und vorübersetzt Linker prog.exe msvcrtxxx.dlll system32.dll Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 59/82

60 Struktur der Hauptdatei Im folgenden Fokus auf einfache Programme bestehend aus einer Hauptdatei: #include <...> /* Einzubettende Programmbibliotheken */ #define... /* Definitionen und Makros */ /* Globale Variablen */ int i; char c[] =...; /* Funktionen */ int f1(int a, int b) {... }; void f2() {...}; /* Hauptprogramm */ int main() {... } Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 60/82

61 Der Präprozessor Mit # beginnende Zeilen sind Anweisungen für den Präprozessor (Teilprogramm des Compilers) zur Durchführung einfacher Transformationen des Quelltextes vor der eigentlichen Übersetzung, z.b. #include-statements: Einbettung anderer Quelltextdateien (vor allem Header-Dateien von Programmteilen oder Standardbibliotheken) #include <...> /* Datei im INCLUDE-Pfad */ #include... /* relativer Pfad */ #define-statements: Festlegung von Werten für Ausdrücke, die z.b. im Quelltext in der Folge ersetzt werden können oder für die Steuerung des Präprozessors verwendet werden können #define PI Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 61/82

62 Programmblöcke Inhaltlich zusammengehörige Befehlsfolgen werden durch geschweifte Klammern {... } zu Programmblöcken zusammengefaßt Verwendung zum Beispiel für Definition von Funktionen int f(int x, int y) {...}; Steueranweisungen wie Schleifen while (<bedingung>) {...}; Innerhalb eines Programmblocks definierte Variablen, können nur dort verwendet werden Verwendung geschweifter Klammern auch zur Definition zusammengesetzter Datentypen ( z.b. struct, enum, union) sowie zur Definition von Klassen in C++ Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 62/82

63 Sequenzen Sequenzen von Befehlen (entsprechend imperativem Programmierparadigma) werden durch Verkettung mit Semikolon ; gebildet Dabei können einzelne Befehle Definition/Deklaration von Variablen Steueranweisungen (Schleifen, Bedingungen, Fehlerbehandlung, etc.) Ausdrücke (haben immer ein Ergebnis und einen Ergebnistyp) sein Literale Werte Variablen Funktionsaufrufe Komplexe Ausdrücke: Verknüpfung von Teilausdrücken durch Operatoren Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 63/82

64 Beispiel: Mittelwert (C++) #include <iostream> using namespace std; float mittelwert(float a, float b) { return (a+b)/2; } int main() { float x,y,m; cout << x = ; cin >> x; cout << y = ; cin >> y; m = mittelwert(x,y); cout << Mittelwert = << m << endl; return 0; } Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 64/82

65 Variablendeklarationen Grundlegender Syntax: <datentyp> <variablennamen> [, <variablenname>...]; Datentyp ist: Basisdatentyp wie int, float, etc. (siehe Abschnitt Kodierung) Feld von Variablen eines Datentyps ( ) Zusammengesetzter, nutzerdefinierter Datentyp ( ) Nutzerdefinierter Objekttyp (C++ ) Zeiger auf Adresse eines Objektes oder Wertes von Datentyp ( ) Erlaubt Deklaration mehrerer Variablen eines Typs in einem Statement, z.b. int x, y, z; Erlaubt Zuweisung initialer Werte, z.b. int solution=42; Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 65/82

66 Ganzahlige C++ Datentypen Wertebereich unterschiedlich für verschiedene Plattformen, hier Win32 Ausführlicher im Abschnitt Kodierung ( ) Datentyp Speicherplatz Wertebereich char 1 Byte signed char 1 Byte short 2 Byte unsigned short 2 Byte int 4 Byte unsigned int 4 Byte 0... FFFFFFFF 16 long 8 Byte... unsigned long 8 Byte... Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 66/82

67 Gleitkommazahlen in C++ In C++ laut Standard zwei grundlegende Typen für Gleitkommazahlen Datentyp Speicherplatz Charakteristik Mantisse float 32 Bit 8 23 double 64 Bit Außerdem long double mit 80 Bit Ausführlicher im Abschnitt Kodierung ( ) Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 67/82

68 Zeichen und Zeichenketten in C++ /1 Zeichen werden in C++ durch Datentyp char abgebildet Mögliche Zustände werden für erweiterten ASCII Code benutzt (Kodierung ) Wird entsprechend Programmkontext als Zeichen oder Wert interpretiert Zeichenketten fester Länge in C durch Feld (Array ) mit bestimmter Größe, z.b. char login[9]; für Zeichnkette der Länge 8 und 1 Byte Ende-Markierung Zeichenketten beliebiger Länge in C durch Zeiger (Pointer ) auf Sequenz von Zeichen im Speicher mit Endemarkierung char* message = Hello, World! ; Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 68/82

69 Zeichen und Zeichenketten in C++ /2 Zeichenketten beliebiger Länge in C++ durch spezielle Klasse string (in der Vorlesung und Übung verwendet) #include <string> using namespace std; int main() { string m1 = Hello ; string m2 = World! ; string message = m1 + m2;... } Klasse bietet zusätzliche Funktionalität für Operatoren und Funktionen auf Zeichenketten an Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 69/82

70 Ausdrücke Zusammengesetzt aus Variablen, literalen Werten und Funktionsaufrufen Verbunden durch Operatoren Beispiele: x=1; /* Zuweisung eines literalen Wertes */ x++; /* Inkrementierung (postfix) */ x=x+1; /* Zuweisung und arithemtische Verknüpfung */ x=(x==4); /* Zuweisung und geklammerter Vergleich */ x=quadrat(x+1); /* Zuweisung und Funktionsaufruf */ x & 1; /* Logische Operation, Ergebnis ignoriert */ Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 70/82

71 Ausdrücke /2 Können durch Kombination und Klammerung beliebig komplex werden VORSICHT: Lesbarkeit! VORSICHT: Typ-Kompatibilität der Operanden Implizite Konvertierung manchmal unproblematisch, z.b. int float Teilweise Verlust von Information, z.b. float int durch Abschneiden der Nachkommastellen Nur zum Teil Fehlermeldungen oder Warnungen bei inkompatiblen Typen Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 71/82

72 Ausdrücke: Arithmetische Operatoren Operator Beispiel Bedeutung + x+y Addition - x-y Subtraktion * x*y Multiplikation / x/y Division % x%y Rest bei ganzzahliger Division ++ y=x++ Inkrementierung (postfix) x um eins erhöht y hat alten Wert von x y=++x Inkrementierung (prefix) x um eins erhöht y hat neuen Wert von x x Dekrementierung entsprechend x als pre- und postfix anwendbar Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 72/82

73 Ausdrücke: Zuweisungsoperatoren Operator Beispiel Bedeutung = x=7 Standardzuweisungsoperator += x+=7 Selbstzuweisung mit Addition entspricht x=x+7 -= x-=7 Selbstzuweisung mit Subtraktion *= x*=7 Selbstzuweisung mit Multiplikation /= x/=7 Selbstzuweisung mit Division %= x%=7 Selbstzuweisung des Divisionsrestes Ergebnis einer normalen oder prefix-zuweisung ist der neue Wert des linken Operanden Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 73/82

74 Ausdrücke: Vergleichsoperatoren Da in C lange ein boolean-datentyp fehlte, ist Ergebnis ganzzahliger Wert 1, wenn Vergleich erfolgreich (TRUE) 0, andernfalls (FALSE) Operator Beispiel Bedeutung == x==y Test auf Wertegleichheit!= x!=y Test auf Ungleichheit > x>y... größer als... < x<y... kleiner als... >= x>=y... größer als oder gleich... <= x<=y... kleiner als oder gleich Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 74/82

75 Ausdrücke: Logische Operatoren /1 Zwei Sichtweisen für logische Operationen 1 Bitweises Verknüpfen für Bytes 2 Logische Verknüpfungen von 1 (TRUE) und 0 (FALSE) kann auf 1. zurückgeführt werden Bei Operatoren für logische Verknüpfung: Abbruch (short cut) der Auswertung, wenn möglich Bei AND: Abbruch, wenn erste Bedingung FALSE, da Ergebnis nur FALSE sein kann Bei OR: Abbruch, wenn erste Bedingung TRUE, da Ergebnis nur TRUE sein kann Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 75/82

76 Ausdrücke: Logische Operatoren /2 Operator Beispiel Bedeutung!!x Logische Negation (NOT) && x&&y Logische Konjunktion (AND) x y Logische Disjunktion (OR) & x&y Bitweises AND x y Bitweises OR x y Bitweises XOR x Bitweise Negation Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 76/82

77 Ausdrücke: Sonstige Operatoren Zur Arbeit mit speziellen Datentypen wie zum Beispiel Feldern, Zeigern, Strukturen und Objekten ( ) Operator Beispiel Bedeutung [] a[7] Zugriff auf Position in Feld. window.size Zugriff auf Komponente einer Struktur oder eines Objektes * *i Dereferenzierung eines Zeigers & &i Bildung der Referenz (Zeiger) -> window->size Zugriff auf Komponente über Zeiger () (int)myfloat Explizite Typumwandlung (Casting) new w = new Window() Erzeugen eines neuen Objektes Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 77/82

78 Ein-/Ausgabe C++-style C++ definiert für Ein-/Ausgabe eigene Bibliothek iostream.h Verwendet außerdem Namensräume (iostream im Standardnamensraum std, d.h. für Verwendung #include <iostream> using namespace std; Basiert auf Datenströmen (Streams) Eingehende Datenströme: Input Streams Ausgehende Datenströme: Output Streams und deren Auswertung bzw. Manipulation Beliebige Datenströme sowie deren Operatoren und Funktionen sind als Klassen definiert Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 78/82

79 Ein-/Ausgabe C++-style: cin und cout iostream definiert Standardobjekte der Stream-Klassen für Standardeingabe (Tastatur) und Standardausgabe (Konsole) cout - Standardausgabe cin - Standardeingabe Arbeit mit Datenströmen vor allem über Shift-Operatoren, d.h. Verschieben von Daten auf oder aus Strömen >> - Verschieben von Daten aus dem Strom (Lesen) << - Verschieben von Daten auf den Strom (Schreiben) Ergebnis ist der Stream selbst, d.h. Operatoren können verkettet werden Beispiel cout << Eingabe << endl << x: ; cin >> x; Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 79/82

80 Ein-/Ausgabe C++-style: Stream-Manipulatoren Kontrolle der Streams bzgl. Darstellung von Werten und Formatierung über definierte Konstanten (Stream-Manipulatoren), z.b. Manipulator Bedeutung dec Integer als Dezimalzahl hex Integer als Hexadezimal fixed Float als Festkommazahl scientific Float als Halblogarithmisch endl Zeilenende flush Sofortige Buffer-Entleerung..... Beispiel: cout << Alter << dec << alter << endl; Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 80/82

81 Kommentare Natürlichsprachliche Beschreibung/Erklärung des Quelltextes oft hilfreich und erforderlich Werden vom Compiler bei der Übersetzung vollständig ignoriert /* Kommentar, gerne auch mal über mehrere Textzeilen */ x=x+1; // Kommentar bis zum Zeilenende Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 81/82

82 Zusammenfassung: Aufbau von Programmen Programme können aus zahlreichen Dateien bestehen Header-Dateien als Definition der Schnittstelle von Bibliotheken aus Funktionen, Variablen und Konstanten Code-Dateien enthalten Implementierung von Funtkionen aus Bibliotheken und/oder main-funktion Programmblöcke, z.b. Implementierung einer Funktionen, bestehenaus Sequenz von Befehlen Befehle sind Deklarationen, Steueranweisungen oder Ausdrücke Einfache Ausdrücke sind Funktionsaufrufe, Variablen oder literale Werte Komplexe Ausdrücke können durch Verknüpfung von Ausdrücken über Operatoren gebildet werden Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 82/82

Einführung. Rechnerarchitekturen Entwicklung und Ausführung von Programmen Betriebssysteme

Einführung. Rechnerarchitekturen Entwicklung und Ausführung von Programmen Betriebssysteme Teil I Einführung Überblick 1 2 Geschichte der Informatik 3 Technische Grundlagen der Informatik Rechnerarchitekturen Entwicklung und Ausführung von Programmen Betriebssysteme 4 Daten, Informationen, Kodierung

Mehr

Grundlagen der Informatik für Wissenschaftliche Anwendungen

Grundlagen der Informatik für Wissenschaftliche Anwendungen Grundlagen der Informatik für Wissenschaftliche Anwendungen Dr.-Ing. Eike Schallehn OvG Universität Magdeburg Fakultät für Informatik Institut für Technische und Betriebliche Informationssysteme 2017 Organisatorisches

Mehr

Geschichte der Informatik

Geschichte der Informatik Entwicklung von Informationstechnik und Durchdringung des Alltags seit der 2. Hälfte des 20 Jahrhunderts explosionsartig Informationsgesellschaft Zunehmende Bedeutung und Wert von Informationen Schnelle

Mehr

Teil IV. Grundlagen der Programmierung

Teil IV. Grundlagen der Programmierung Teil IV Grundlagen der Programmierung Überblick 1 Einleitung zu C und C++ Aufbau von Programmen/Dateien Steueranweisungen Funktionen Mehr zu Datentypen: Felder, Zeiger und Strukturen Arbeit mit Dateien

Mehr

Überblick. 1 Was ist Informatik? 2 Bereiche der Informatik. 3 Geschichte der Informatik

Überblick. 1 Was ist Informatik? 2 Bereiche der Informatik. 3 Geschichte der Informatik Teil I Einführung Überblick 1 Was ist Informatik? 2 Bereiche der Informatik 3 Geschichte der Informatik Eike Schallehn, FIN/ITI Grundlagen der Informatik für Ingenieure 15/101 Was ist Informatik? Informatik=?

Mehr

Aufbau von Programmen/Dateien

Aufbau von Programmen/Dateien Aufbau von Programmen/Dateien Typen von Dateien Header-Dateien (.h): enthalten Deklarationen (auch Signatur, Prototyp, Rumpf) von Funktionen, Variablen, Konstanten und in C++ auch Klassendefinitionen eines

Mehr

Teil II. Programmierung mit MATLAB

Teil II. Programmierung mit MATLAB Teil II Programmierung mit MATLAB Überblick 1 Grundlagen der Programmierung 2 MATLAB als Programmiersprache 3 Grundlagen: Variablen, Datentypen, Vektoren 4 Funktionen in MATLAB 5 Kontrollstrukturen 6 Nutzerinteraktion

Mehr

Grundlagen der Informatik für Wissenschaftliche Anwendungen

Grundlagen der Informatik für Wissenschaftliche Anwendungen Grundlagen der Informatik für Wissenschaftliche Anwendungen Dr.-Ing. Eike Schallehn OvG Universität Magdeburg Fakultät für Informatik Institut für Technische und Betriebliche Informationssysteme 2018 Organisatorisches

Mehr

Grundlagen der Informatik für Ingenieure

Grundlagen der Informatik für Ingenieure Grundlagen der Informatik für Ingenieure Dr.-Ing. Eike Schallehn OvG Universität Magdeburg Fakultät für Informatik Institut für Technische und Betriebliche Informationssysteme 2015/2016 Eike Schallehn,

Mehr

Angewandte Mathematik und Programmierung

Angewandte Mathematik und Programmierung Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens WS 2013/14 Operatoren Operatoren führen Aktionen mit Operanden aus. Der

Mehr

Grundlagen der Informatik für Ingenieure

Grundlagen der Informatik für Ingenieure Grundlagen der Informatik für Ingenieure Dr.-Ing. Eike Schallehn OvG Universität Magdeburg Fakultät für Informatik Institut für Technische und Betriebliche Informationssysteme 2017/2018 Eike Schallehn,

Mehr

Grundlagen der Informatik für Ingenieure

Grundlagen der Informatik für Ingenieure Grundlagen der Informatik für Ingenieure Dr.-Ing. Eike Schallehn OvG Universität Magdeburg Fakultät für Informatik Institut für Technische und Betriebliche Informationssysteme 2018/2019 Eike Schallehn,

Mehr

Grundlagen der Informatik für Ingenieure

Grundlagen der Informatik für Ingenieure Grundlagen der Informatik für Ingenieure Dr.-Ing. Eike Schallehn OvG Universität Magdeburg Fakultät für Informatik Institut für Technische und Betriebliche Informationssysteme 2017/2018 Eike Schallehn,

Mehr

Grundlagen der Informatik für Ingenieure

Grundlagen der Informatik für Ingenieure Grundlagen der Informatik für Ingenieure Dr.-Ing. Eike Schallehn OvG Universität Magdeburg Fakultät für Informatik Institut für Technische und Betriebliche Informationssysteme 2016/2017 Eike Schallehn,

Mehr

Funktionen in Matlab. Nutzerdefinierte Funktionen können in.m-datei gespeichert werden

Funktionen in Matlab. Nutzerdefinierte Funktionen können in.m-datei gespeichert werden Funktionen in Matlab Zusammenfassung von Befehlssequenzen als aufrufbare/wiederverwendbare Funktionen in einem Programmblock mit festgelegter Schnittstelle (Signatur) Derartige prozedurale Programmierung

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

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

Grundlagen der Informatik 2. Typen

Grundlagen der Informatik 2. Typen Grundlagen der Informatik 2. Typen Speicher, Speicherbedarf Ein-/Ausgabe Grundlagen der Informatik (Alex Rempel) 1 Wiederholung // root calculation #include #include using namespace

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

Informatik I: Einführung in die Programmierung 3. Werte, Typen, Variablen und Ausdrücke

Informatik I: Einführung in die Programmierung 3. Werte, Typen, Variablen und Ausdrücke Informatik I: Einführung in die Programmierung 3. Werte,, n und Albert-Ludwigs-Universität Freiburg Peter Thiemann 30. Oktober 2018 1 30. Oktober 2018 P. Thiemann Info I 3 / 39 Bits Der Computer repräsentiert

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

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

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

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08 Kapitel 4 Programmierkurs Birgit Engels, Anna Schulze Wiederholung Kapitel 4 ZAIK Universität zu Köln WS 07/08 1 / 23 2 Datentypen Arten von Datentypen Bei der Deklaration einer Variablen(=Behälter für

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

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

Motivation und Überblick

Motivation und Überblick Motivation und Überblick Drei große Bereiche der Vorlesung: Darstellung von Zahlen in Rechnern Verarbeitung von Binärdaten auf der Ebene digitaler Schaltungen Programmierung auf Maschinenebene und relativ

Mehr

Schwerpunkte. 8. Ausdrücke, Operatoren (einfache Typen) Beispiel: Schaltjahr Test. Einführendes Beispiel: Grundprobleme

Schwerpunkte. 8. Ausdrücke, Operatoren (einfache Typen) Beispiel: Schaltjahr Test. Einführendes Beispiel: Grundprobleme Schwerpunkte Vollständige und unvollständige Auswertung 8. Ausdrücke, Operatoren (einfache Typen) Teil 1 Seiteneffekte Overloading: Überladung von Operatoren Implizite und explizite (cast) Typumwandlung

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 12/13. Kapitel 3. Grunddatentypen, Ausdrücke und Variable

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 12/13. Kapitel 3. Grunddatentypen, Ausdrücke und Variable 1 Kapitel 3 Grunddatentypen, Ausdrücke und Variable 2 Eine Datenstruktur besteht aus Grunddatentypen in Java einer Menge von Daten (Werten) charakteristischen Operationen Datenstrukturen werden mit einem

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

Einführung in C. EDV1-04C-Einführung 1

Einführung in C. EDV1-04C-Einführung 1 Einführung in C 1 Helmut Erlenkötter C Programmieren von Anfang an Rowohlt Taschenbuch Verlag ISBN 3-4993 499-60074-9 19,90 DM http://www.erlenkoetter.de Walter Herglotz Das Einsteigerseminar C++ bhv Verlags

Mehr

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Definition Algorithmus. Wie beschreibt man Algorithmen?

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Definition Algorithmus. Wie beschreibt man Algorithmen? Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2015 1 Einführung Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München 2 Grundlagen von Algorithmen

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

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

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT) Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2016 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm heute 1 Einführung 2 Grundlagen von Algorithmen

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

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

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

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

Ü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

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

Klausur: Grundlagen der Informatik I, am 06. Februar 2009 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 ( / 10 Pkt.) a) Wer

Mehr

2.1 Fundamentale Typen

2.1 Fundamentale Typen 2. Elementare Typen 2.1 Fundamentale Typen C++ stellt die wichtigsten Datentypen mit passender Form der Abspeicherung und zugehörigen Rechenoperationen zur Verfügung : Boolscher Datentyp (bool) für logische

Mehr

Grundlagen der Informatik 2. Operatoren

Grundlagen der Informatik 2. Operatoren 2. Operatoren Referenzen Typumwandlungen Vorrangregeln Kommentare Grundlagen der Informatik (Alex Rempel) 1 Ausdruck (z.b. "x = 34 + y;") Folge von Operatoren und Operanden Operatoren Arithmetische Operatoren

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

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

C-Programmierung: Ausdrücke und Operatoren#Division.2F

C-Programmierung: Ausdrücke und Operatoren#Division.2F C-Programmierung: Ausdrücke und Operatoren#Division.2F http://de.wikibooks.org/wiki/c-programmierung:_ausdrücke_und_operatoren#division_.2f This Book Is Generated By Wb2PDF using RenderX XEP, XML to PDF

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

Operatoren in C/C++ und Java:

Operatoren in C/C++ und Java: Operatoren in C/C++ und Java: C/C++/Java hat eine riesige Anzahl von Operatoren (im Vergleich zu anderen Programmiersprachen). Außer den üblichen arithmetischen Operatoren +, -, *, / (und % für Ganzzahlen)

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

Wiederholung, Abbruch von Schleifen, switch-anweisung Datentypen, char, formatierte Ausgabe

Wiederholung, Abbruch von Schleifen, switch-anweisung Datentypen, char, formatierte Ausgabe Informatik Vorlesung 03b Wiederholung, Abbruch von Schleifen, switch-anweisung Datentypen, char, formatierte Ausgabe 12. November 2018 WiSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik

Mehr

Ingenieurinformatik. Einführung in die Programmiersprache C

Ingenieurinformatik. Einführung in die Programmiersprache C Ingenieurinformatik Einführung in die Programmiersprache C 1 Das Modul Ingenieurinformatik wird in den Bachelorstudiengängen Maschinenbau, Fahrzeugtechnik, Luft- und Raumfahrt angeboten Teil 1: Grundlagen

Mehr

PROCESSING EINE ZUSAMMENFASSUNG. Created by Michael Kirsch & Beat Rossmy

PROCESSING EINE ZUSAMMENFASSUNG. Created by Michael Kirsch & Beat Rossmy PROCESSING EINE ZUSAMMENFASSUNG Created by Michael Kirsch & Beat Rossmy INHALT 1. Typen und Operatoren 1. Datentypen 3. Klassen und Objekte 1. Klassen und Objekte 2. Operatoren 2. Konstruktor 3. Typkonversion

Mehr

Kapitel 3. Grunddatentypen, Ausdrücke und Variable

Kapitel 3. Grunddatentypen, Ausdrücke und Variable Kapitel 3 Grunddatentypen, Ausdrücke und Variable Grunddatentypen, Ausdrücke und Variable 1 Eine Datenstruktur besteht aus Grunddatentypen in Java einer Menge von Daten (Werten) charakteristischen Operationen

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 29 Einstieg in die Informatik mit Java Weitere Ausdrücke Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 29 1 Überblick 2 Kombinierte Zuweisungsoperatoren 3 Vergleichsoperatoren

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

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Martin Unold INFORMATIK. Geoinformatik und Vermessung Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen } } Beispiele für Anweisungen Wiederholung Ausgabe

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

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

4.2 Programmiersprache C

4.2 Programmiersprache C 4.2.1. Elementare Datentypen (signed) int, unsigned int, (signed) short (int), unsigned short (int), (signed) long (int), unsigned long (int) Elementare Datentypen für ganze Zahlen mit oder ohne Vorzeichen.

Mehr

1 Einführende Bemerkungen

1 Einführende Bemerkungen 1 Einführende Bemerkungen Ziel des Moduls: Einführung in den prinzipiellen Aufbau und die grundlegende Verarbeitungsweise eines Rechners Hinführung an die objektorientierte Programmierung mittels Java

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

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe Was sind Operatoren Ein Operator ist eine in die Programmiersprache eingebaute Funktion, die

Mehr

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch) JAVA BASICS 2. Primitive Datentypen 1. Warum Java? zunehmend weit verbreitet einfach und (relativ) sicher keine Adressrechnung, aber Pointer keine gotos kein Präprozessor keine globalen Variablen garbage

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

Programmieren 1 C Überblick

Programmieren 1 C Überblick Programmieren C Überblick. Einleitung 2. Graphische Darstellung von Algorithmen 3. Syntax und Semantik 4. Einstieg in C: Einfache Sprachkonstrukte und allgemeiner Programmaufbau 5. Skalare Standarddatentypen

Mehr

Einleitung Typsystem Typisierung Zusammenfassung Literatur. Typisierung. Effiziente Programmierung. Thomas Schnieders

Einleitung Typsystem Typisierung Zusammenfassung Literatur. Typisierung. Effiziente Programmierung. Thomas Schnieders Typisierung Effiziente Programmierung Thomas Schnieders Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität Hamburg 2018-04-26 Thomas Schnieders Typisierung 1

Mehr

Programmieren in C / C++ Grundlagen C 2

Programmieren in C / C++ Grundlagen C 2 Programmieren in C / C++ Grundlagen C 2 Hochschule Fulda FB AI Wintersemester 2016/17 http://c.rz.hs-fulda.de Peter Klingebiel, HS Fulda, FB AI Anweisung / Ausdruck 1 Programm setzt sich aus vielen Anweisungen

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

Allgemeine Informatik Thema 1 Informatik; Konzepte (II)

Allgemeine Informatik Thema 1 Informatik; Konzepte (II) Conf. Dr. I. Intorsureanu Wirtschaftsakademie Bukarest Allgemeine Informatik Thema 1 Informatik; Konzepte (II) Inhalt: 1.1 Was ist Informatik? 1.2 Information und Daten 1.3 Computersysteme Hardware und

Mehr

Programmiervorkurs. Wintersemester 2013/2014

Programmiervorkurs. Wintersemester 2013/2014 Programmiervorkurs Wintersemester 2013/2014 Programmiervorkurs Wintersemester 2013/2014 Organisation: Tutoren: Steffen Gebert, Alexander Wolff Johannes Grohmann, Anna Seufert, Anna Aumann, Nicolas Färber,

Mehr

Programmierkurs C++ Variablen und Datentypen

Programmierkurs C++ Variablen und Datentypen Programmierkurs C++ Variablen und Datentypen Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Überblick Welche Datentypen gibt es in

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

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? 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

Computer Systeme Dozent: Prof. Dr. Reinhard Koch

Computer Systeme Dozent: Prof. Dr. Reinhard Koch Computer Systeme Dozent: Prof. Dr. Reinhard Koch Prof. Dr.-Ing. Reinhard Koch Werdegang: 1977-1981 Studium der Elektrotechnik in Hannover 1981-1982 Masterstudium Physik in den USA 1982-1985 Beendigung

Mehr

Informatik I (D-ITET)

Informatik I (D-ITET) Die Übungsstunde Informatik I (D-ITET) Übungsstunde 1, 21.9.2008 simonmayer@student.ethz.ch ETH Zürich Administratives Abgabe der Übungen (allein oder zu zweit) Eine Übungsabgabe pro Kopf (Team vermerken)

Mehr

Informatik Vorkurs - Vorlesung 2

Informatik Vorkurs - Vorlesung 2 Informatik Vorkurs - Vorlesung 2 Variablen, Arrays, Zahlensysteme Torben Achilles, 9. Oktober 2018 Inhalt Variablen & Datentypen Arrays Zahlensysteme 9. Oktober 2018 Torben Achilles Informatik Vorkurs

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Einführung in die Programmierung by André Karge Übung - Operatoren, Methoden, Primitives 25. Oktober 2018 Einführung in die Programmierung WS18/19 André Karge 1/29 Notizen Standard Linux Befehle: http://images.linoxide.com/linux-cheat-sheet.pdf

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

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

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

Mehr

Vorkurs Informatik WiSe 17/18

Vorkurs Informatik WiSe 17/18 Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 05.10.2017 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2017

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

Informationsverarbeitung im Bauwesen

Informationsverarbeitung im Bauwesen 1/24 Informationsverarbeitung im Bauwesen Einführung in das Programmieren mit C++ Markus Uhlmann Institut für Hydromechanik Karlsruher Institut für Technologie www.ifh.kit.edu WS 2010/2011 Vorlesung 7

Mehr

C++ - Einführung in die Programmiersprache Zeiger, Referenzen und Strukturen. Leibniz Universität IT Services Anja Aue

C++ - Einführung in die Programmiersprache Zeiger, Referenzen und Strukturen. Leibniz Universität IT Services Anja Aue C++ - Einführung in die Programmiersprache Zeiger, Referenzen und Strukturen Leibniz Universität IT Services Anja Aue Zeiger (Pointer) Verweis auf eine Speicherstelle. Speicherung einer Speicheradresse.

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

7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt

7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 1 Kontrollfragen Rekursion Was bedeutet Rekursion? Geben Sie Beispiele

Mehr

Inhaltsverzeichnis. Kapitel i: Schnelleinstieg 13. Kapitel 2: Was sind Programme? 17. Kapitel 3: Wie erstellt man eigene Programme?

Inhaltsverzeichnis. Kapitel i: Schnelleinstieg 13. Kapitel 2: Was sind Programme? 17. Kapitel 3: Wie erstellt man eigene Programme? Liebe Leserin, lieber Leser 10 Kapitel i: Schnelleinstieg 13 Kapitel 2: Was sind Programme? 17 Was ist ein Programm? 18 Sprechen Sie Computer? 18 Von der Idee zum Programm 19 Von Windows, Fenstern und

Mehr