Einführung (1) Historisches

Größe: px
Ab Seite anzeigen:

Download "Einführung (1) Historisches"

Transkript

1 Einführung (1) Historisches 1964 Entwicklung des Betriebssystems Multics mit neuen Fähigkeiten wie Timesharing, virtueller Speicher etc., zunächst mit PL/1 auf einer PDP-7 von DEC implementiert PL/1 wurde als nicht geeignet empfunden, man entwickelte in Assembler weiter Entwicklung in Assembler sehr aufwendig (schlecht portier- und wartbar), Rückgriff auf Fortran Entwicklung der Programmiersprache B, angelehnt an BCPL (Basic Combined Programming Language) Entwicklung von C, das im Gegensatz zu B typisiert war Implementierung des Unix-Kernels in C Viele Betriebssysteme, beispielsweise Windows, GNU/Linux in C geschrieben Dennis Ritchie und Brian Kernighan: The C Programming Language Quasi-Standard

2 Einführung (2) Historisches 1988 erstmals durch das ANSI-Komitee standardisiert (ANSI-C bzw. C- 89) 1999 Überarbeitung und Ergänzung des Standards (C-99), bisher jedoch keine vollständige Unterstützung durch Compiler Weitgehendste Unterstützung bisher durch GNU-C-Compiler

3 Einführung (3) Historisches

4 Einführung (4) Vorteile / Eigenschaften von C Einfache Sprache, maximale Flexibilität und einfache Portierbarkeit auf andere Rechner Trennung von Sprachkern und Programmbibliotheken Programmbibliotheken unterstützen Wiederverwendung von Programmcode Wegen Hardware-Nähe, u.a. wichtig für Portierbarkeit von Unix, wird C auch als Hochsprachen-Assembler bezeichnet Funktionen der Standardbibliothek auf allen Compilern verfügbar, insbesondere Ein-/ Ausgabe, Dateioperationen, Zeichenkettenverarbeitung, Mathematik, Speicherreservierung

5 Einführung (5) Was ist ein Rechner? Maschine, die Probleme für Menschen lösen kann, in dem sie Befehle (Instruktionen) ausführt, die ihr gegeben werden. Wer führt die Befehle aus? elektronische Schaltkreise, Realisieren logische Operationen Alle Komponenten eines Rechners, die sich aus solchen Schaltkreisen zusammensetzen, bilden zusammen die Hardware eines Rechners digitaler Rechner (Computer) nutzen ein Alphabet mit 2 Symbolen, in Zahlen - und Sprachdarstellung 0 und 1, in der Logik auch F(alse) und T(rue) genannt. benutzen also das Binärsystem, ein Symbol in Zahlendarstellung ist also eine binäre Ziffer (Binary digit), kurz bit genannt. Ein Bit ist die kleinste Informationseinheit in einem Computer Ein Bit wird in einem Computer durch einen bestimmten Spannungsbereich dargestellt

6 Einführung (6) Aufgabe der Software: Festlegung, in welcher logischen Ordnung die Hardware welche Befehle ausführt zur Lösung der anstehenden Aufgabe Algorithmus: formale Beschreibung der einzelnen Schritte eines solchen Verfahrens Programm: Formulierung des Algorithmus in einer dem Computer verständlichen Sprache. Diese Sprache ist definiert durch den Befehlssatz, d.h. die Menge der Befehle, welche die Hardware ausführen kann. Problem: Die Hardware versteht nur Befehle, die aus Bitfolgen (Folgen von Nullen und Einsen)bestehen. Lösung: wiederholte Anwendung des Abstraktionsprinzips

7 Einführung (7) Ebene Abstraktion Beispiel 4 Metasprache, Hochsprache graphische Programmierung 3 Hochsprache, problemorientiert C, Pascal, Fortran 2 Maschinensprache Assembler 1b komplexe Funktionseinheiten ALU, Steuerwerk, Speicher 1a einfache Funktionseinheiten Register 0 Gatter AND, OR -1 Transistoren CMOS, TTL -2 Atome Elektronen-Loch-Modell -3 Quanten Bänder / Quantenmodell Ebenen, die in dieser Lehrveranstaltung betrachtet werden

8 Einführung (8) Grobstruktur der Organisation eines Rechners: Kontrolleinheit Speicher Input... Datenpfad Output... Prozessor

9 Einführung (9) Kommunikationsstruktur zwischen den Komponenten: Central Processing Unit (CPU) Kontrolleinheit (CU) Arithmetisch- Logische Einheit (ALU) I/O Geräte Register Hauptspeicher Festplatte Drucker Bus

10 Einführung (10) Graphische Darstellungsmittel Struktogramme engl.: structure chart Verwendet, um sequenzielle Abläufe darzustellen Grundelemente: Blöcke, Selektionen, Schleifen, Funktionsaufrufe Darstellung von oben nach unten Vorteil: sehr übersichtliche Darstellung Für wichtigste Elemente existieren direkte Entsprechungen in Programmiersprachen Nachteil: Platz für Blöcke ist bei mehrfach geschachtelten Alternativen sehr klein

11 Einführung (11) Graphische Darstellungsmittel Struktogramme Anweisung: In einem Block werden einzelne Anweisungen oder Schritte angegeben. Folge (Sequenz): Eine Folge von Anweisungen wird durch untereinander gereihte Blöcke dargestellt Alternative: Die Bedingung wird überprüft. Ist sie korrekt, wird der Block 1 (Zweig ja), ansonsten Block 2 (Zweig nein) ausgeführt.

12 Einführung (12) Graphische Darstellungsmittel Struktogramme Fallauswahl (Mehrfachauswahl): Der Ausdruck Auswahl wird ausgewertet. Je nachdem, welcher Fall zutrifft, wird in den entsprechenden Block verzweigt.trifft keiner der angegebenen Fälle zu, so wird ein Alternativblock ausgeführt. Unterprogrammaufruf: Es wird zu einem Unterprogramm verzweigt, das durch weiteres Struktogramm beschrieben ist.

13 Einführung (13) Graphische Darstellungsmittel Struktogramme Wiederholung (Schleife), vorprüfend: Die Bedingung wird vor jedem Schleifendurchlauf überprüft. Der Block wird wiederholt, solange die Bedingung erfüllt ist. Wiederholung (Schleife), nachprüfend: Die Bedingung wird nach jedem Schleifendurchlauf überprüft. Der Block wird wiederholt, solange die Bedingung erfüllt ist.

14 Einführung (14) Graphische Darstellungsmittel Struktogramme Struktogramm für den euklidischen Algorithmus zur Berechnung des größten gemeinsamen Teilers zweier ganzer Zahlen sowie ein Beispiel

15 Einführung (15) Graphische Darstellungsmittel Struktogramme Struktogramm zur Berechnung des Mittelwertes einer Folge von Zahlen

16 Einführung (16) Graphische Darstellungsmittel Datenflussdiagramme Engl.: data flow diagram, auch bubble diagram Gibt Übersicht über Funktionen und Prozesse, Betrachtung des Flusses der Daten und Zustände im System Jedoch keine Betrachtung dessen, wie das erreicht wird Schnittstellen sind abstrahierte Objekte, können zum Projekt gehören oder auch nicht Wichtig ist, aus welchem System die Daten kommen bzw. an welches System sie gesandt werden Datenflussdiagramme beschreiben keine Ablauffolgen, zeitliche oder logische Zusammenhänge Durch welche Mechanismen Funktionen ausgelöst werden, ist nicht bestimmt Funktionen können parallel ablaufen Welche Daten eine Funktion braucht, ist durch eingehende Übergänge nicht angegeben

17 Einführung (17) Graphische Darstellungsmittel Datenflussdiagramme Funktion (Prozess): Gibt eine Funktion oder einen Parameter an, der Daten bearbeitet. Wie dies erfolgt ist nicht relevant. Funktionen werden durch Kreise dargestellt. Übergang: Daten werden von einem Prozess zu einem anderen geleitet. Dies wird durch Übergänge symbolisiert. Sie werden durch Pfeile dargestellt. Schnittstelle: Schnittstellen sind Quellen und Senken von Daten. Es gibt Schnittstellen, in denen Daten erzeugt werden und solche, in die Daten geleitet werden. Schnittstellen werden durch Rechtecke dargestellt. Speicher: Dient zur Pufferung von Daten oder enthält Daten, die eine Funktion zur Bearbeitung benötigt. Speicher werden durch offene Rechtecke dargestellt. Vorlesung Informatik 1, WS 2014

18 Einführung (18) Graphische Darstellungsmittel Datenflussdiagramme Grundkonzept von Datenflussdiagrammen Daten fließen von Quellen in das System zu Funktionen. Innerhalb des Systems fließen Daten von Funktionen in den Speicher oder vom Speicher zu Funktionen Vorlesung Informatik 1, WS 2014

19 Einführung (19) Graphische Darstellungsmittel Datenflussdiagramme Grundkonzept von Datenflussdiagrammen Daten können zwischen Funktionen fließen. Daten fließen in Senken ab. Vorlesung Informatik 1, WS 2014

20 Einführung (20) Graphische Darstellungsmittel Datenflussdiagramme Erlaubte Mechanismen Daten gelangen von einer Schnittstelle zu einer anderen immer über Funktionen Das ist auch der Fall, wenn es sich um ein und dieselbe Schnittstelle handelt Daten fließen nur von Funktionen in den Speicher. Vorlesung Informatik 1, WS 2014

21 Einführung (21) Graphische Darstellungsmittel Datenflussdiagramme Nicht erlaubte Mechanismen Daten dürfen nicht von einer Quelle direkt in eine Senke fließen. Daten dürfen nicht von einer Schnittstelle direkt in den Speicher fließen. Daten dürfen nicht direkt von einem Speicher in einen anderen Speicher fließen. Vorlesung Informatik 1, WS 2014

22 Einführung (22) Graphische Darstellungsmittel Datenflussdiagramme Datenflussdiagramm für einen Fahrscheinautomaten Vorlesung Informatik 1, WS 2014

23 Einführung (23) Graphische Darstellungsmittel Datenflussdiagramme Datenflussdiagramm für einen sechsbeinigen Laufroboter Vorlesung Informatik 1, WS 2014

24 Einführung (24) Graphische Darstellungsmittel Programmablaufpläne Auch Ablaufdiagramme, Flussdiagramme, Blockdiagramme Vorteile: Anweisungen und Algorithmen gut darstellbar und lesbar Schrittweises Verfeinern möglich Können hinsichtlich Terminierung und Korrektheit einfach überprüft werden Schnittstellen sind darstellbar und erkennbar Nachteile: Keine Symbole für elementare Befehle wie Mehrfachauswahl Schleifen auf zwei Symbole aufgeteilt geschachtelte Schleifen schwer erkennbar (kann man durch Vermeidung der Schleifensymbole umgehen) Keine Sicherstellung von strukturierter Programmierung Vorlesung Informatik 1, WS 2014

25 Einführung (25) Graphische Darstellungsmittel Programmablaufpläne Grenzstelle: Bezeichnet den Anfang und das Ende eines Programms. Verarbeitung: Symbol wird für allgemeine Operationen, z.b. Berechnungen, Initialisierungen Ablauflinie: Symbolisiert Übergang zum nächsten Element. Bevorzugte Richtungen: oben unten, links rechts Übergangsstellen: Unterbrechung eines Programmablaufplanes und Fortsetzung an einer anderen Stelle; Verteilung komplexer Pläne auf mehrere Seiten Vorlesung Informatik 1, WS 2014

26 Einführung (26) Graphische Darstellungsmittel Programmablaufpläne Eingabe, Ausgabe: Darstellung von Eingaben und Ausgaben, z.b. Eingabe(anzahl) oder ergebnis Verzweigung: Symbol enthält eine Bedingung. Je nachdem, ob diese erfüllt ist oder nicht, wird auf dem einen oder anderen Zweig fortgesetzt. Unterprogrammaufruf: Verzweigung zu einem Unterprogramm, das durch einen weiteren beschrieben wird Vorlesung Informatik 1, WS 2014

27 Einführung (27) Graphische Darstellungsmittel Programmablaufpläne Wiederholung (Schleife), vorprüfend Eine Schleife wird durch ein Start- und ein Endsymbol begrenzt. Die Bedingung einer vorprüfenden Schleife wird vor jedem Schleifendurchlauf überprüft und im Startsymbol angegeben. Der Block wird wiederholt, so lange die Bedingung erfüllt ist. Wiederholung (Schleife), nachprüfend Die Bedingung einer nachprüfenden Schleife wird nach jedem Schleifendurchlauf überprüft und im Endsymbol angegeben. Der Block wiederholt, solange die Bedingung erfüllt ist. Vorlesung Informatik 1, WS 2014

28 Einführung (28) Graphische Darstellungsmittel Programmablaufpläne Programmablaufplan für den Euklidischen Algorithmus zur Berechnung des größten gemeinsamen Teilers einer ganzen Zahl. Vorlesung Informatik 1, WS 2014

29 Einführung (29) Pseudocode Pascal-ähnliche Notation begin BetragPruefen Eingabe(a); Eingabe(b); if a > b then Ausgabe(a); else Ausgabe(b); end if end BetragPruefen Vorlesung Informatik 1, WS 2014

30 Einführung (30) Erstellen eines Projektes Projekte bestehen meist aus mehreren Dateien, z.b. Quelldateien, Funktionssammlungen in Bibliotheken Zur Definition eines Projektes sind folgende Schritte notwendig: Projektverzeichnis und Projektname Alle notwendigen Quelltext- und Headerdateien Alle benötigten Bibliotheken, d.h. lauffähige Module, die Teilfunktionalität enthalten Compiler- und Link-Optionen Quelltext-Dateien Enthalten eigentlichen Quelltext Jede Datei beschreibt in der sogenannten modularen Programmierung ein in sich abgeschlossenes Modul Von außen sind Module über Schnittstellen bedienbar ausgewählte Funktionen eines Moduls, die zur Steuerung verwendet werden Header-Dateien Beinhalten Bekanntmachungen (Deklarationen), die der Compiler zur Übersetzung benötigt, und Informationen über neu definierte Datentypen Werden zur Übersetzung von Quelltext-Dateien benötigt Vorlesung Informatik 1, WS 2014

31 Einführung (31) Übersetzen von Programmen Quelltextdatei Präprozessor präprozessierte Datei Kontrolle Compiler Optimierung Assembler-Datei Assemblierer Objektdatei Vorlesung Informatik 1, WS 2014

32 Einführung (32) Übersetzen von Programmen Projekt kann aus mehreren Quelldateien bestehen, für jede muss gesamte Sequenz durchlaufen werden An den punktierten Linien kann Übersetzungssequenz abgebrochen werden und eine entsprechende Ausgabedatei erzeugt werden Präprozessor: simpler Textersetzer, durchsucht Quelldatei nach sogenannten Präprozessoranweisungen Quelltext wird also modifiziert, bevor er durch Compiler übersetzt wird Übersetzungsvorgang Untersuchung des Quelltextes nach einfachen Fehlern Übersetzung des C-Quelltextes in Assemblersprache Dadurch Einbindung von verschiedenen Assemblierern möglich Übersetzung kann durch Compileroption hier abgebrochen und Assemblerquelltext ausgegeben werden Vorlesung Informatik 1, WS 2014

33 Einführung (33) Übersetzen von Programmen Optimierung Optional. Kann durch Compilerschalter aktiviert/deaktiviert werden Verschiedene Kriterien: Laufzeit, Codegröße Nimmt Änderungen im Assemblercode vor Optimierung kann prozessorspezifische Möglichkeiten nutzen, z.b. Pipelining: Umsortieren von Befehlen für schnellere Verarbeitung Übersetzungsvorgang für jede Quelldatei notwendig zu jeder Quelldatei wird eine Objektdatei erzeugt Alle Objektdateien müssen zum Erzeugen eines ausführbaren Programms kombiniert werden (Objektdateien und Bibliotheken) Die durch Bibliotheken bereitgestellte Funktionalität kann in verschiedenen Projekten wiederverwendet werden Standardbibliotheken Projektspezifische Bibliotheken Freie oder käuflich verfügbare Bibliotheken Vorlesung Informatik 1, WS 2014

34 Einführung (34) Übersetzen von Programmen Objektdatei Bibliothek Objektdatei Bibliothek Objektdatei Linker Ausführbare Datei Vorlesung Informatik 1, WS 2014

35 Einführung (35) Übersetzen von Programmen Wie gesehen, hat der Compiler erst einmal nichts mit der Quelltextbearbeitung zu tun Quelltextbearbeitung und Übersetzung zwei getrennte Vorgänge Typischer Compiler-Aufruf: cc o programmname hallowelt.c Standard C-Compiler heißt auf vielen Systemen cc Compiler ruft automatisch Präprozessor auf, dann sich selbst, den Optimierer, den Assemblierer und den Linker -o gibt wird Name des ausführbaren Programms angegeben Restliche Parameter (hallowelt.c) sind Quelldateien des Projekts -g Bereitstellung von Informationen für den Debugger -O Verwenden des Optimierers Manche Kombinationen von Optionen sind nicht möglich

36 Einführung (36) Übersetzen von Programmen Vielzahl verfügbarer Optionen zur Beeinflussung des Übersetzungsvorganges Standard C-Compiler heißt auf vielen Systemen cc Compiler ruft automatisch Präprozessor auf, dann sich selbst, den Optimierer, den Assemblierer und den Linker -o gibt wird Name des ausführbaren Programms angegeben Restliche Parameter (hallowelt.c) sind Quelldateien des Projekts -g Bereitstellung von Informationen für den Debugger -O Verwenden des Optimierers Manche Kombinationen von Optionen sind nicht möglich -l ermöglicht das hinzubinden von Bibliotheken Auf Unix-Systemen beginnen Bibliotheken mit lib und enden auf.a oder.so Führendes lib und die Endung.a oder.so sind wegzulassen

37 Einführung (37) Übersetzen von Programmen Mathematik-Bibliothek heißt libm.so oder libm.a, als Compiler-Option ist lediglich lm anzugeben: cc o calc calc.c lm Die zum Compiler zugehörige Standardbibliothek wird automatisch hinzugelinkt Genutzte Funktionen müssen durch entsprechende Header-Dateien dem Compiler bekannt gemacht werden (Platzhalter für die Bibliotheks- Funktionen) Einbindung der Header-Dateien erfolgt mit #include-anweisung Nicht immer heißen die Header-Dateien wie die Bibliotheken

38 Einführung (38) Ein erstes Programm #include <stdio.h> // include standard library int main(int argc, char** argv) // start of the main program { printf("hello World!"); // output of Hello World! on screen return 0; // end program without error }

39 Einführung (39) Ein erstes Programm Aufruf des Compilers mit Kommandozeile unter Windows 7 (oben) Linux (rechts)

40 Einführung (40) Programme schreiben und übersetzen Zum Editieren von Programmen kann im Prinzip jeder reine Textediitor benutzt werden Syntax-Highlighting erleichtert das Erfassen der Programmstruktur und des konkreten Inhaltes (z.b. notepad++, gedit, kate) Integrierte Entwicklungsumgebungen (sog. IDE, engl. Integrated Development Environment) bieten darüber hinaus die Möglichkeit einer bequemen Projektverwaltung (Quelldateien, Compileroptionen) und des direkten Anstoßens von Übersetzungsvorgängen Debuggingfunktionen ergänzen den Leistungsumfang von IDE s Beispiele: Eclipse, Visual Studio, Code Composer

41 Einführung (41) Erste Schritte unter Visual C++ Erstellen eines Konsolenprojektes unter Microsoft Visual Studio 2010

42 Einführung (42) Erste Schritte unter Visual C++ Microsoft Visual C++ unterstützt nicht direkt das Erzeugen einer C-Anwendung Deshalb wird zunächst ein leeres Projekt erzeugt

43 Einführung (43) Erste Schritte unter Visual C++ Erzeugen einer leeren Datei hallowelt.c Einfügen dieser Datei als vorhandenes Element

44 Einführung (44) Erste Schritte unter Visual C++ Durch Doppelklick auf hallowelt.c (rechts) öffnet sich die leere Quelltextdatei Einfügen des Quelltextbeispiels von Folie 37

45 Einführung (46) Erste Schritte unter Visual C++ Erstellen der Anwendung hallowelt Unten im Ausgabefenster werden der erfolgreiche Übersetzungsvorgang und eventuelle Warnungen oder aufgetretene Fehlermeldungen angezeigt

46 Einführung (47) Erste Schritte unter Visual C++ oder Öffnen eines Kommandozeilen-Fensters im Ordner Debug mittels CMD Prompt here, falls im Kontextmenü vorhanden Öffnen eines cmd-fensters und Navigieren mittels cd ins Zielverzeichnis hallowelt.exe ausführen

47 Einführung (48) Erste Programmbeispiele in C #include <stdio.h> // include standard library int main(int argc, char** argv) // start of the main program { printf("hello World! "); // output of Hello World! on screen return 0; // end program without error }

48 Einführung (49) Erste Programmbeispiele in C #include <stdio.h> /* Umwandlung von Kilometer in Meilen in 20er Schritten von 0 bis 100 km */ main() { // Variablendeklaration int km; float meilen; int lower, upper, step; // Variablenfestlegung lower = 0; // untere Grenze upper = 100; // obere Grenze step = 20; // Schrittweite } km = lower; // Ausgabe einer Tabelle while(km <= upper){ meilen = km * ; printf("%d\t%3.1f\n",km,meilen); km = km + step; }

49 Einführung (50) Erste Programmbeispiele in C #include <stdio.h> main() { // Variablendeklaration double meilen; int km; for(km = 0; km <= 100; km = km + 20) { //Umrechnungsvorschrift meilen = km * ; printf("%3d %6.1f\n", km, meilen); } }

50 Einführung (51) Erste Programmbeispiele in C #include <stdio.h> main() { // Variablendeklaration und Initialisierung int zahl = 0; // Endlosschleife while(1) { zahl = zahl + 1; printf("%d\n", zahl); } }

51 Einführung (52) Datentypen: Folgende Datentypen sind in C realisiert int ganzzahlige Variable float Gleitpunktvariable char ein einzelnes Zeichen short kleiner, ganzzahliger Wert long großer, ganzzahliger Wert double Gleitpunktvariable mit doppelter Genauigkeit Folgende Datentypen sind in anderen Programmiersprachen zusätzlich realisiert bool logische Variable string Zeichenkette

52 Einführung (53) Formatierungsanweisung für printf %d als dezimale ganze Zahl ausgeben %6d als dezimale ganze Zahl ausgeben, mit mindestens 6 Zeichen %f als Gleitpunktzahl ausgeben %6f als Gleitpunktzahl ausgeben, mit mindestens 6 Zeichen %.2f als Gleitpunktzahl ausgeben, mit 2 Zeichen nach Dezimalpunkt %6.2f als Gleitpunktzahl ausgeben, mit mindestems 6 Zeichen und davon 2 Zeichen nach Dezimalpunkt

53 Einführung (54) Symbolische Konstanten Konstanten, Schrittweiten oder andere Größen können als symbolische Konstanten gespeichert werden. Dies ist guter Programmierstil und erhöht die Lesbarkeit von Programmen. #define Name Ersatztext Beispiel: #define lower 0

54 Einführung (55) Symbolische Konstanten #include <stdio.h> // Festlegen von symbolischen Konstanten #define startwert 0 #define endwert 100 #define schrittweite 20 main() { // Variablendeklaration double meilen; int km; for(km = startwert; km <= endwert; km = km + schrittweite) { //Umrechnungsvorschrift meilen = km * ; printf("%3d %6.1f\n", km, meilen); } }

55 Einführung (56) If-Else-Statement if (a > b) { z = a; } else { z = b; }

56 Einführung (57) Eindimensionale Felder / Vektoren Anstelle z. B. 10 verschiedene Variablen (a1, a2, a10) zu deklarieren, kann man mit Vektoren (eindimensionalen Feldern) arbeiten. int vektor[10]; In dieses Feld können 10 ganzzahlige Werte hineingeschrieben werden. Die Nummerierung beginnt immer bei 0. Die Elemente sind: vektor[0], vektor[1], vektor[2] vektor[9]

57 Einführung (58) Formatierte Eingabe mit scanf #include <stdio.h> main() /* rudimentary calculator */ { double sum, v; sum = 0; while (scanf("%lf", &v) == 1) printf("\t%.2f\n", sum += v); return 0; }

Compiler und Präprozessor (1) Erstellen eines Projektes

Compiler und Präprozessor (1) Erstellen eines Projektes Compiler und Präprozessor (1) Erstellen eines Projektes Projekte bestehen meist aus mehreren Dateien, z.b. Quelldateien, Funktionssammlungen in Bibliotheken Zur Definition eines Projektes sind folgende

Mehr

Einführung (0) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München

Einführung (0) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München Einführung (0) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München Einführung (1) Was ist ein Rechner? Maschine, die Probleme für

Mehr

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele.

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele. 1. Einführung in die Informatik Inhalt 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele Peter Sobe 1 Darstellung von Algorithmen Aus den Einführungsbeispielen und

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

Einführung zum Arbeiten mit Microsoft Visual C++ 2010 Express Edition

Einführung zum Arbeiten mit Microsoft Visual C++ 2010 Express Edition In den nachfolgenden Schritten finden Sie beschrieben, wie Sie in der Entwicklungsumgebung Microsoft Visual Studio 2010 eine Projektmappe, ein Projekt und einen ersten Quellcode erstellen, diesen kompilieren,

Mehr

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff Programmieren in C Macros, Funktionen und modulare Programmstruktur Prof. Dr. Nikolaus Wulff Der C Präprozessor Vor einem Compile Lauf werden alle Präprozessor Kommandos/Makros ausgewertet. Diese sind

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren

Mehr

Einführung in die Programmierung

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

Mehr

Praktikum Ingenieurinformatik. Termin 2. Verzweigungen (if-else), printf und scanf, while-schleife

Praktikum Ingenieurinformatik. Termin 2. Verzweigungen (if-else), printf und scanf, while-schleife Praktikum Ingenieurinformatik Termin 2 Verzweigungen (if-else), printf und scanf, while-schleife 1 1. Import/Export von Eclipse-Projekten 2. Verzweigungen (if-else-anweisung) 3. printf und scanf 4. Übungsaufgaben

Mehr

Einführung in. Logische Schaltungen

Einführung in. Logische Schaltungen Einführung in Logische Schaltungen 1/7 Inhaltsverzeichnis 1. Einführung 1. Was sind logische Schaltungen 2. Grundlegende Elemente 3. Weitere Elemente 4. Beispiel einer logischen Schaltung 2. Notation von

Mehr

Programmieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff

Programmieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff Programmieren in C Felder, Schleifen und Fließkommaarithmetik Prof. Dr. Nikolaus Wulff Addition von Zahlen 1 2 3 4 5 #include int main() { int x,y,z,sum; x = 1; y = 2; z = 4; sum = x + y + z;

Mehr

Erwin Grüner 09.02.2006

Erwin Grüner 09.02.2006 FB Psychologie Uni Marburg 09.02.2006 Themenübersicht Folgende Befehle stehen in R zur Verfügung: {}: Anweisungsblock if: Bedingte Anweisung switch: Fallunterscheidung repeat-schleife while-schleife for-schleife

Mehr

Programmentwicklung mit C++ (unter Unix/Linux)

Programmentwicklung mit C++ (unter Unix/Linux) Programmentwicklung mit C++ (unter Unix/Linux) Erste Schritte Der gcc - Compiler & Linker Organisation des Source-Codes & Libraries Automatische Programmgenerierung: Make Birgit Möller & Denis Williams

Mehr

I.1 Die Parrot Assemblersprache

I.1 Die Parrot Assemblersprache I.1 Die Parrot Assemblersprache Die virtuelle CPU Parrot ermöglicht die Verarbeitung der Parrot Assemblersprache (PASM). Zum Einstieg soll ein erstes Beispiel die Ausführung einer PASM-Datei zeigen. Legen

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {

Mehr

Zählen von Objekten einer bestimmten Klasse

Zählen von Objekten einer bestimmten Klasse Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --

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

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7 Java 7 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Dezember 2011 JAV7 5 Java 7 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen

Mehr

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt

Mehr

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

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

Mehr

Kontrollstrukturen und Funktionen in C

Kontrollstrukturen und Funktionen in C Kontrollstrukturen und Funktionen in C Lernziele: Vertiefen der Kenntnisse über Operatoren, Kontrollstrukturen und die Verwendung von Funktionen. Aufgabe 1: Quickies: Datentypen in C a) Was sind die elementaren

Mehr

Deklarationen in C. Prof. Dr. Margarita Esponda

Deklarationen in C. Prof. Dr. Margarita Esponda Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.

Mehr

Einführung in die Programmierung

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

Mehr

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

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

Mehr

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

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

Mehr

VBA-Programmierung: Zusammenfassung

VBA-Programmierung: Zusammenfassung VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung

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 main() { printf( hello world\n ); } Peter Sobe 1 Die Großfamilie der C-Sprachen

Mehr

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

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

Mehr

Propädeutikum. Dipl.-Inf. Frank Güttler

Propädeutikum. Dipl.-Inf. Frank Güttler Propädeutikum 2015 Vorbereitungskurs Informatikstudium Erfolgreich Studieren Programmieren (C-Kurs) guettler@informatik.uni-leipzig.de Universität Leipzig Institut für Informatik Technische Informatik

Mehr

Übungen zu C++ Kapitel 1

Übungen zu C++ Kapitel 1 Übungen zu C++ Kapitel 1 Aufgabe 1 Ergänze den Text. a) Die sechs logischen Einheiten eines Computers sind Eingabe-Einheit, Ausgabe-Einheit, RAM, ALU, CPU, Plattenspeicher. b) Die Programme, welche Hochsprachenprogramme

Mehr

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung M. Graefenhan 2000-12-07 Aufgabe Lösungsweg Übungen zu C Blatt 3 Musterlösung Schreiben Sie ein Programm, das die Häufigkeit von Zeichen in einem eingelesenen String feststellt. Benutzen Sie dazu ein zweidimensionales

Mehr

Algorithmik II. SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) Email: stoyan@informatik.uni-erlangen.

Algorithmik II. SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) Email: stoyan@informatik.uni-erlangen. Algorithmik II SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) Email: stoyan@informatik.uni-erlangen.de Homepage der Vorlesung Vorbemerkungen I http://www8.informatik.uni-erlangen.de/immd8

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

Java-Programmierung mit NetBeans

Java-Programmierung mit NetBeans Java-Programmierung mit NetBeans Steuerstrukturen Dr. Henry Herper Otto-von-Guericke-Universität Magdeburg - WS 2012/13 Steuerstrukturen Steuerstrukturen Verzweigungen Alternativen abweisende nichtabweisende

Mehr

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik Informatik I WS 2012/13 Tutorium zur Vorlesung 1. Alexander Zietlow zietlow@informatik.uni-tuebingen.de Wilhelm-Schickard-Institut für Informatik Eberhard Karls Universität Tübingen 11.02.2013 1. 2. 1.

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Graphic Coding. Klausur. 9. Februar 2007. Kurs A

Graphic Coding. Klausur. 9. Februar 2007. Kurs A Graphic Coding Klausur 9. Februar 2007 Kurs A Name: Matrikelnummer: Hinweise - Es sind keine Hilfsmaterialien erlaubt. (Keine Bücher, Taschenrechner, Handys) - Sie haben zwei Stunden Zeit. - Insgesamt

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Name, Vorname Matrikelnummer Probeklausur zur Vorlesung Einführung in die Programmierung WS 2008/09 Dauer: 2 Stunden Hinweise: Schreiben Sie Ihren Namen und Ihre Matrikelnummer auf dieses Deckblatt und

Mehr

1Schnelleinstieg 14. 2Wie aus einer einfachen Textdatei. 3 Wie man eigene Programme erstellt 30. Inhaltsverzeichnis. ein Programm wird 20

1Schnelleinstieg 14. 2Wie aus einer einfachen Textdatei. 3 Wie man eigene Programme erstellt 30. Inhaltsverzeichnis. ein Programm wird 20 Inhaltsverzeichnis Liebe Leserin, lieber Leser!...13 1Schnelleinstieg 14 Welche Vorkenntnisse benötigen Sie für dieses Buch?...16 An wen richtet sich dieses Buch?...16 Was benötigen Sie, um die Programmiersprache

Mehr

Diana Lange. Generative Gestaltung Operatoren

Diana Lange. Generative Gestaltung Operatoren Diana Lange Generative Gestaltung Operatoren Begriffserklärung Verknüpfungsvorschrift im Rahmen logischer Kalküle. Quelle: google Operatoren sind Zeichen, die mit einer bestimmten Bedeutung versehen sind.

Mehr

Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu)

Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu) HMExcel Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu) Inhalt 1. Einleitung...1 2. Beispiele...2 2.1. Daten in ein Tabellenblatt schreiben...2

Mehr

Kontrollstrukturen, Strukturierte Programmierung

Kontrollstrukturen, Strukturierte Programmierung , Strukturierte Programmierung Steuer- und Kontrollfluss Strukturierte Programmierung Arten von Strukturblöcken Sequenz Alternative Iteration C-Spezifisches Seite 1 Elementare Algorithmen SelectionSort

Mehr

Entwurf von Algorithmen - Kontrollstrukturen

Entwurf von Algorithmen - Kontrollstrukturen Entwurf von Algorithmen - Kontrollstrukturen Eine wichtige Phase in der Entwicklung von Computerprogrammen ist der Entwurf von Algorithmen. Dieser Arbeitsschritt vor dem Schreiben des Programmes in einer

Mehr

Testen mit JUnit. Motivation

Testen mit JUnit. Motivation Test First Design for Test in Eclipse (eigentlich: ) zu einer Klasse Beispiel zur Demonstration Ergänzungen Test First "Immer dann, wenn Du in Versuchung kommst, etwas wie eine print- Anweisung oder einen

Mehr

2. Die Darstellung von Algorithmen

2. Die Darstellung von Algorithmen 2. Die Darstellung von Algorithmen Aus den Einführungsbeispielen und Übungsaufgaben ist erkennbar, dass zur Darstellung von Algorithmen Grundelemente notwendig sind. Neben der Notation einzelner elementarer

Mehr

Übung zur Vorlesung Einführung in die Computerlinguistik und Sprachtechnologie

Übung zur Vorlesung Einführung in die Computerlinguistik und Sprachtechnologie Übung zur Vorlesung Einführung in die Computerlinguistik und Sprachtechnologie Wintersemester 2009/10, Prof. Dr. Udo Hahn, Erik Fäßler Übungsblatt 3 vom 19.11.2009 Abgabe bis 26.11.2009, 14:30 Uhr; per

Mehr

Konzepte der Informatik

Konzepte der Informatik Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens

Mehr

IT-Basics 2. DI Gerhard Fließ

IT-Basics 2. DI Gerhard Fließ IT-Basics 2 DI Gerhard Fließ Wer bin ich? DI Gerhard Fließ Telematik Studium an der TU Graz Softwareentwickler XiTrust www.xitrust.com www.tugraz.at Worum geht es? Objektorientierte Programmierung Konzepte

Mehr

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. Einfache Ein- und Ausgabe mit Java 1. Hallo-Welt! Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. /** Die Klasse hello sendet einen

Mehr

Programmierparadigmen. Programmierparadigmen. Imperatives vs. objektorientiertes Programmieren. Programmierparadigmen. Agenda für heute, 4.

Programmierparadigmen. Programmierparadigmen. Imperatives vs. objektorientiertes Programmieren. Programmierparadigmen. Agenda für heute, 4. Agenda für heute, 4. Mai, 2006 Programmierparadigmen Imperative Programmiersprachen In Prozeduren zusammengefasste, sequentiell ausgeführte Anweisungen Die Prozeduren werden ausgeführt, wenn sie als Teil

Mehr

Informationen zur Verwendung von Visual Studio und cmake

Informationen zur Verwendung von Visual Studio und cmake Inhaltsverzeichnis Informationen zur Verwendung von Visual Studio und cmake... 2 Erste Schritte mit Visual Studio... 2 Einstellungen für Visual Studio 2013... 2 Nutzung von cmake... 6 Installation von

Mehr

Kontrollstrukturen - Universität Köln

Kontrollstrukturen - Universität Köln Kontrollstrukturen - Universität Köln Mario Manno Kontrollstrukturen - Universität Köln p. 1 Was sind Sprachen Auszeichnungssprachen HTML, XML Programmiersprachen ASM, Basic, C, C++, Haskell, Java, Pascal,

Mehr

Die Programmiersprache C99: Zusammenfassung

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

Mehr

Computerarithmetik ( )

Computerarithmetik ( ) Anhang A Computerarithmetik ( ) A.1 Zahlendarstellung im Rechner und Computerarithmetik Prinzipiell ist die Menge der im Computer darstellbaren Zahlen endlich. Wie groß diese Menge ist, hängt von der Rechnerarchitektur

Mehr

Installation und Inbetriebnahme von Microsoft Visual C++ 2010 Express

Installation und Inbetriebnahme von Microsoft Visual C++ 2010 Express Howto Installation und Inbetriebnahme von Microsoft Visual C++ 2010 Express Peter Bitterlich Markus Langer 12. Oktober 2012 Zusammenfassung Dieses Dokument erklärt Schritt für Schritt die Installation

Mehr

Datentypen. Agenda für heute, 4. März, 2010. Pascal ist eine streng typisierte Programmiersprache

Datentypen. Agenda für heute, 4. März, 2010. Pascal ist eine streng typisierte Programmiersprache Agenda für heute, 4. März, 2010 Zusammengesetzte if-then-else-anweisungen Datentypen Pascal ist eine streng typisierte Programmiersprache Für jeden Speicherplatz muss ein Datentyp t (Datenformat) t) definiert

Mehr

Programmiersprachen und Übersetzer

Programmiersprachen und Übersetzer Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 2 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

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

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur Unterprogramme Unterprogramme sind abgekapselte Programmfragmente, welche es erlauben, bestimmte Aufgaben in wiederverwendbarer Art umzusetzen. Man unterscheidet zwischen Unterprogrammen mit Rückgabewert

Mehr

Klausur in Programmieren

Klausur in Programmieren Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Wintersemester 2010/11, 17. Februar 2011 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt)

Mehr

Computeranwendung und Programmierung (CuP)

Computeranwendung und Programmierung (CuP) Computeranwendung und Programmierung (CuP) VO: Peter Auer (Informationstechnologie) UE: Norbert Seifter (Angewandet Mathematik) Organisatorisches (Vorlesung) Vorlesungszeiten Montag 11:15 12:45 Freitag

Mehr

Informatik Repetitorium SS 2009. Volker Jaedicke Volker.Jaedicke@web.de 0179 1322692

Informatik Repetitorium SS 2009. Volker Jaedicke Volker.Jaedicke@web.de 0179 1322692 Informatik Repetitorium SS 2009 Volker Jaedicke Volker.Jaedicke@web.de 0179 1322692 Operatoren und Datentypen Beispiel: Anweisungen Variable int a float b int c a= a % (int) (++b-1/4) Vorher 36 3.5 c=b

Mehr

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113

Mehr

Fallunterscheidung: if-statement

Fallunterscheidung: if-statement Fallunterscheidung: if-statement A E 1 E 2 V 1 V 2 Syntax: if ( ausdruck ) Semantik: else anweisungsfolge_1 anweisungsfolge_2 1. Der ausdruck wird bewertet 2. Ergibt die Bewertung einen Wert ungleich 0

Mehr

Microcontroller Kurs. 08.07.11 Microcontroller Kurs/Johannes Fuchs 1

Microcontroller Kurs. 08.07.11 Microcontroller Kurs/Johannes Fuchs 1 Microcontroller Kurs 08.07.11 Microcontroller Kurs/Johannes Fuchs 1 Was ist ein Microcontroller Wikipedia: A microcontroller (sometimes abbreviated µc, uc or MCU) is a small computer on a single integrated

Mehr

Whitebox-Tests: Allgemeines

Whitebox-Tests: Allgemeines -Tests: Allgemeines Andere Bezeichnungen Logic driven, Strukturelles Der Tester entwickelt Testfälle aus einer Betrachtung der Ablauflogik des Programms unter Berücksichtigung der Spezifikation Intuitiv

Mehr

Hochschule München, FK 03 FA SS 2012. Ingenieurinformatik

Hochschule München, FK 03 FA SS 2012. Ingenieurinformatik Hochschule München, FK 03 FA SS 2012 Ingenieurinformatik Zulassung geprüft vom Aufgabensteller: Teil 1/Aufgabe 1: 30 Minuten ohne Unterlagen, Teil 2/Aufgaben 2-4: 60 Minuten, beliebige eigene Unterlagen

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

ObjectBridge Java Edition

ObjectBridge Java Edition ObjectBridge Java Edition Als Bestandteil von SCORE Integration Suite stellt ObjectBridge Java Edition eine Verbindung von einem objektorientierten Java-Client zu einer fast beliebigen Server-Komponente

Mehr

SPS-Bearbeitung mit EPLAN 5.70

SPS-Bearbeitung mit EPLAN 5.70 SPS-Bearbeitung mit EPLAN 5.70 Beispielhaft anhand einer digitalen Eingangskarte werden hier die einzelnen Schritte der SPS-Bearbeitung erklärt. Grundsätzlich ist es ratsam sich ein spezielles Schaltplanprojekt

Mehr

Tutorial. Bibliothek AutoGUITest V1.0. Windows-Benutzeroberflächen automatisiert testen. Ausgabe: 6.6.02. 06.06.02 / 13:51 Seite 1

Tutorial. Bibliothek AutoGUITest V1.0. Windows-Benutzeroberflächen automatisiert testen. Ausgabe: 6.6.02. 06.06.02 / 13:51 Seite 1 Bibliothek AutoGUITest V1.0 Windows-Benutzeroberflächen automatisiert testen Tutorial Ausgabe: 6.6.02 06.06.02 / 13:51 Seite 1 Inhalt 1 Übersicht...3 2 Funktionsweise...3 3 Funktionsumfang...3 4 Einsatz

Mehr

Objektbasierte Entwicklung

Objektbasierte Entwicklung Embedded Software Objektbasierte Entwicklung Objektorientierung in C? Prof. Dr. Nikolaus Wulff Objektbasiert entwickeln Ohne C++ wird meist C im alten Stil programmiert. => Ein endlose while-schleife mit

Mehr

MPI-Programmierung unter Windows mit MPICH2. Installieren von MPICH2, Übersetzen, Ausführen und Debuggen von MPI-Programmen. Christian Terboven

MPI-Programmierung unter Windows mit MPICH2. Installieren von MPICH2, Übersetzen, Ausführen und Debuggen von MPI-Programmen. Christian Terboven MPI-Programmierung unter Windows mit MPIH2 Installieren von MPIH2, Übersetzen, Ausführen und Debuggen von MPI-Programmen hristian Terboven Rechen- und Kommunikationszentrum RWTH Aachen 1 02/2007 luster-installationsworkshop

Mehr

Einführung (1) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München

Einführung (1) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München Einführung (1) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München Einführung (2) Architektur des Haswell- Prozessors (aus c t) Einführung

Mehr

Grundlagen von C. Ausarbeitung von Jonas Gresens

Grundlagen von C. Ausarbeitung von Jonas Gresens Grundlagen von C Ausarbeitung von Jonas Gresens 1 Allgemein Proseminar C Grundlagen und Konzepte Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und

Mehr

Anlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt

Anlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt Anlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt AMPEL-Steuerung(en) Die Beschreibung und Programmierung der Ampel (vor allem Ampel_5) können sehr kompliziert

Mehr

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 9 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:

Mehr

Ingenieurinformatik Diplom-FA (C-Programmierung)

Ingenieurinformatik Diplom-FA (C-Programmierung) Hochschule München, FK 03 WS 2014/15 Ingenieurinformatik Diplom-FA (C-Programmierung) Zulassung geprüft: (Grundlagenteil) Die Prüfung ist nur dann gültig, wenn Sie die erforderliche Zulassungsvoraussetzung

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

In diesem Bereich wird beschrieben, wie Sie eine Datensicherung der Software Jack Plus durchführen können.

In diesem Bereich wird beschrieben, wie Sie eine Datensicherung der Software Jack Plus durchführen können. Datensicherung Jack Inhalt Allgemeines Warum muss eine Datensicherung durchgeführt werden Wohin werden Daten gesichert Was soll von Jack alles gesichert werden Vorbereitungen zur Datensicherung Datensicherung

Mehr

Einführung in PHP. (mit Aufgaben)

Einführung in PHP. (mit Aufgaben) Einführung in PHP (mit Aufgaben) Dynamische Inhalte mit PHP? 2 Aus der Wikipedia (verkürzt): PHP wird auf etwa 244 Millionen Websites eingesetzt (Stand: Januar 2013) und wird auf etwa 80 % aller Websites

Mehr

Dokumentation IBIS Monitor

Dokumentation IBIS Monitor Dokumentation IBIS Monitor Seite 1 von 16 11.01.06 Inhaltsverzeichnis 1. Allgemein 2. Installation und Programm starten 3. Programmkonfiguration 4. Aufzeichnung 4.1 Aufzeichnung mitschneiden 4.1.1 Inhalt

Mehr

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben. Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.

Mehr

Zahlensysteme: Oktal- und Hexadezimalsystem

Zahlensysteme: Oktal- und Hexadezimalsystem 20 Brückenkurs Die gebräuchlichste Bitfolge umfasst 8 Bits, sie deckt also 2 8 =256 Möglichkeiten ab, und wird ein Byte genannt. Zwei Bytes, also 16 Bits, bilden ein Wort, und 4 Bytes, also 32 Bits, formen

Mehr

Praktikum Ingenieurinformatik. Termin 2. Mein erstes C-Programm

Praktikum Ingenieurinformatik. Termin 2. Mein erstes C-Programm Praktikum Ingenieurinformatik Termin 2 Mein erstes C-Programm 1 1. Einleitung 2. Erstes C-Programm 3. Fehler ins Programm einbauen 4. Zweites und drittes C-Programm 5. Installation der Visual C++ 2010

Mehr

Einführung in die Programmierung (EPR)

Einführung in die Programmierung (EPR) Goethe-Center for Scientific Computing (G-CSC) Goethe-Universität Frankfurt am Main Einführung in die Programmierung (EPR) (Übung, Wintersemester 2014/2015) Dr. S. Reiter, M. Rupp, Dr. A. Vogel, Dr. K.

Mehr

Programmierung in C. Grundlagen. Stefan Kallerhoff

Programmierung in C. Grundlagen. Stefan Kallerhoff Programmierung in C Grundlagen Stefan Kallerhoff Vorstellungsrunde Name Hobby/Beruf Schon mal was programmiert? Erwartungen an den Kurs Lieblingstier Für zu Hause C-Buch online: http://openbook.rheinwerk-verlag.de/c_von_a_bis_z/

Mehr

Schmitt, Günter (1996): Fortran 90 Kurs technisch orientiert, R. Oldenbourg Verlag, München

Schmitt, Günter (1996): Fortran 90 Kurs technisch orientiert, R. Oldenbourg Verlag, München MANUEL KALLWEIT & FABIAN KINDERMANN Literaturempfehlung: Vorlesungsskript von Heidrun Kolinsky zu FORTRAN 90/95: http://www.rz.uni-bayreuth.de/lehre/fortran90/vorlesung/index.html Schmitt, Günter (1996):

Mehr

Grundlagen der Programmierung Prof. H. Mössenböck. 14. Schrittweise Verfeinerung

Grundlagen der Programmierung Prof. H. Mössenböck. 14. Schrittweise Verfeinerung Grundlagen der Programmierung Prof. H. Mössenböck 14. Schrittweise Verfeinerung Entwurfsmethode für Algorithmen Wie kommt man von der Aufgabenstellung zum Programm? Beispiel geg.: Text aus Wörtern ges.:

Mehr

Übersicht Programmablaufsteuerung

Übersicht Programmablaufsteuerung Übersicht Programmablaufsteuerung Konditionale Verzweigung: if - else switch-anweisung Schleifenkonstrukte: while, do - while for Schleife Sprung-Anweisungen: break, continue, goto, return Anweisungen

Mehr

Mediator 9 - Lernprogramm

Mediator 9 - Lernprogramm Mediator 9 - Lernprogramm Ein Lernprogramm mit Mediator erstellen Mediator 9 bietet viele Möglichkeiten, CBT-Module (Computer Based Training = Computerunterstütztes Lernen) zu erstellen, z. B. Drag & Drop

Mehr

Übungskomplex Felder (1) Eindimensionale Felder Mehrdimensionale Felder

Übungskomplex Felder (1) Eindimensionale Felder Mehrdimensionale Felder Übungskomplex Felder (1) Eindimensionale Felder Mehrdimensionale Felder Hinweise zur Übung Benötigter Vorlesungsstoff Ab diesem Übungskomplex wird die Kenntnis und praktische Beherrschung der Konzepte

Mehr

In diesem Bereich wird beschrieben, wie Sie eine Datensicherung der Software Jack Plus durchführen können.

In diesem Bereich wird beschrieben, wie Sie eine Datensicherung der Software Jack Plus durchführen können. Datensicherung Jack Inhalt Allgemeines Warum muss eine Datensicherung durchgeführt werden Wohin werden Daten gesichert Was soll von Jack alles gesichert werden Vorbereitungen zur Datensicherung Datensicherung

Mehr

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Access starten und neue Datenbank anlegen

Handbuch ECDL 2003 Basic Modul 5: Datenbank Access starten und neue Datenbank anlegen Handbuch ECDL 2003 Basic Modul 5: Datenbank Access starten und neue Datenbank anlegen Dateiname: ecdl5_01_02_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Access

Mehr

Handbuch ECDL 2003 Basic Modul 6: Präsentation Diagramm auf einer Folie erstellen

Handbuch ECDL 2003 Basic Modul 6: Präsentation Diagramm auf einer Folie erstellen Handbuch ECDL 2003 Basic Modul 6: Präsentation Diagramm auf einer Folie erstellen Dateiname: ecdl6_05_01_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 6 Präsentation - Diagramm

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In

Mehr

Öffnen Sie über "Extra/Makro/Projekt Manager" den VBA Projekt Manager

Öffnen Sie über Extra/Makro/Projekt Manager den VBA Projekt Manager Eigene Programme in MicroStation V8i erstellen Teil III: Elemente suchen und modifizieren mit VBA An dieser Stelle wollen wir Ihnen in einer kleinen Serie die verschiedenen Möglichkeiten der MicroStation

Mehr