© Roland Angst, 2010Institute of Visual Computing Informatik I for D-MAVT Exercise Session 1.

Slides:



Advertisements
Ähnliche Präsentationen
Programme in C++.
Advertisements

Einführung in die Programmiersprache C/C++
Visual C# Programmieren mit dem Visual Studio. Was ist C#? Programmiersprache von Microsoft Einfach zu erlernen Vielfältige Möglichkeiten Basierend auf.NET.
Ein- und Ausgabe von Dateien
1. 2 Microsoft.NET Überblick Dirk Primbs Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH.
6. Der OpenMP Standard Direktiven-basiertes API zur Programmierung von Parallelrechnern mit gemeinsamem Speicher für FORTRAN, C und C++
Gliederung des Inhalts
Fachpraktikum Graphische Benutzungsoberflächen Wintersemester 2007/08
FOR Anweisung.
Brandenburgische Technische Universität Cottbus Program Profiling Andrzej Filipiak Übung Testen von Software SoSe 2006.
Das erste Programm (Folie 16)
Der C-Präprozessor EDV1 - 04Präprozessor.
Der C-Präprozessor 08-CPräprozessor.
Planung einfache Dateibehandlung (externe Dateien, Öffnen, Lesen/Schreiben, Schließen). Diskussion des Problems, die Wörter in einem gegebenen Text.
WebCast: Managed Smart Tags mit VSTO Jens Häupel.NET Technologieberater Microsoft Deutschland GmbH
MSDN Webcast: VB. NET für Einsteiger und Umsteiger Einführung in VB
Einführung Inhalte dieses Kurses Generationen der Programmiersprachen
© A. Schwing, 2010Institute of Visual Computing Informatik I for D-MAVT Exercise Session 10.
Informatik I for D-MAVT
© Alexander Schwing, 2010Institute of Visual Computing Informatik I for D-MAVT Exercise Session 2.
Informatik 1 Übung 2.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 3 Folie 2 Windows Presentation Foundation (WPF) s.a.
Clustered Neuronal Network A C#.NET project for Compute Cluster Server 2003.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 12 Folie 2 Web Services (1)
SQL Server 2005 CLR-Integration
Einführung in die Programmiersprache C 3.Tag Institut für Mathematische Optimierung - Technische Universität Braunschweig.
© Roland Angst, 2012Institute for Visual Computing Exercise Session 1 Roland Angst,
Entwicklung der Programmiersprachen
Zeit: 13h-15h Datum: Raum: IFW B42
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Bedeutung von Internet-Technologien
Your name Bedeutung von Internet- Technologien Gruppe 1 Andreas Feuerstein Philipp Hochratner Christian Weinzinger.
Neno Loje Berater & MVP für Visual Studio ALM und TFS (ehemals VSTS) Hochqualitative Produkte mit Visual Studio & TFS 2010.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung
Windows Presentation Foundation WS 2013/14 Prof. Dr. Herrad Schmidt
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 1 Folie 2 Microsoft.NET Framework: Quelle:
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 11 Folie 2 Model-View-ViewModel s.a.
Die Zählschleife int s = 0 for (int k=1; k
Einführung Real Programmers vs. Quiche Eaters ; Die Mersennesche Vermutung, Editor, Compiler, Computer, Betriebssystem, Plattform, Das erste C++-Programm.
Parallel Programming Parallel Matrix Multiplication
Informatik 1 Übung 7.
Informatik 1 Übung 4.
Informatik Objekte und Klassen 1. Objektorientiertes Modellieren und Programmieren 1.1 Objekte und Klassen.
Computerorientierte Physik VORLESUNG und Übungen Vorlesung Zeit: Mo., – Uhr Ort: Hörsaal 5.01, Institut für Physik, Universitätsplatz 5, A-8010.
Ganze Zahlen Die Typen int, unsigned int; Auswertung arithmetischer Aus-drücke, arithmetische Operatoren.
Einführung Die Mersenne’sche Vermutung, Editor, Compiler, Computer, Betriebssystem, Plattform, Das erste C++-Programm.
Informatik I for D-MAVT
C-Einstieg. Agenda 1Vorbereitung 2Aufbau eines Programms 2.1Header 2.2 Methoden 2.3Main 3Datentypen & Variablen 4Operatoren(+, -, *, /) 5Logik 5.1IF 5.2Switch.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Grundlagen wissenschaftlichen Arbeitens An Overview of C++ Ali CICEK
DAS C ++ PROGRAMM Emine Birol. Erste Version: C with classes In 1985, in 1990 und in 1994 hatte C++ Versionen, die weiterzuentwickeln. Der Standart ist.
Arrays / Felder Themen: Arrays / Felder / Vektoren Was soll das eigentlich? Erstellen von Arrays Arrays auslesen. Wie sie verwaltet werden.
Grundlagen Wissenschaftlichen Arbeitens Hilal Tekoglu
Algorithmen und Datenstrukturen Übungsmodul 1
Fakultiativkurs Informatik 07/08 Pascal Schuppli / Daniel Hirschi.
Programmieren ... in C++ Prof. Dr.-Ing. Franz-Josef Behr, HfT Stuttgart Programmeiren I.
Programmieren in C Annäherung an C
Programmieren in C Module und Bibliotheken Hochschule Fulda – FB AI Sommersemester Peter Klingebiel, HS Fulda, DVZ.
Repetitorium PG : Standard Template Library FH-Darmstadt, FB Informatik.
Übung 1 - MdMT Methoden der Medizintechnik Übung zur Vorlesung Peter Knüppel Folge 1 – Intro Organisatorisches.
Informationssysteme für Ingenieure Übung 8: XML Maria Husmann Büro: CNB E 104.1
1 // Laengste Zeile bestimmen // // Liest die Eingabe Zeichen fuer Zeichen, bis // das erscheint. // Die laengste Zeile wird ausgegeben (bei.
Übung Informatik I exercise01. 2 Inhaltsübersicht Nachbesprechung Übung 1 Individuelle Fragen/Bemerkungen.
Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 1 Programmierpraktikum Java SS 2005 Mag.Thomas Hilpold.
Namensräume (namespaces). verwendet man umfangreiche eigene und fremde Bibliotheken (Sammlungen von Funktionen) so ist die Wahrscheinlichkeit groß, daß.
Arguments to main() int main(int argc, char *argv[]) { int i;
 Präsentation transkript:

© Roland Angst, 2010Institute of Visual Computing Informatik I for D-MAVT Exercise Session 1

© Roland Angst, 2010Institute of Visual Computing Organisatorisches Teaching Assistant Roland Angst Übungsabgabe Auf Papier, keine s Später, wenn Programme umfangreicher werden, ev. auch Abgabe per möglich Gruppenlösungen erlaubt (aber max. 2 Studenten pro Gruppe) Abgabetermin eine Woche nach Vorbesprechung Testatbedingungen 75% aller Übungen Voraussichtlich 12 Serien (d.h. 9 gelöste Serien)

© Roland Angst, 2010Institute of Visual Computing Übungsstundenablauf Wünsche? Repetition der Vorlesungsunterlagen? Lediglich Vor- und Nachbesprechung der Übungen? Interaktiv?

© Roland Angst, 2010Institute of Visual Computing Computer Crash-Kurs

© Roland Angst, 2010Institute of Visual Computing Programmiersprachen Unterscheidung zwischen Interpretierten Sprachen Bsp: Matlab, Python,... Kompilierten Sprachen Bsp: C, C++, Pascal,...

© Roland Angst, 2010Institute of Visual Computing Kompilierte Sprachen Source Code Geschrieben in einer Programmiersprache (C, C++, Oberon, Eiffel,...) Assembler Code Binary Code Machine Instruction (Einzelne Prozessorinstruktionen; immer noch lesbar für Menschen) Unabhängig vom Betriebssystem oder Prozessor Abhängig von Rechnerarchitektur (v.a. vom Prozessor) Für Computer verständliche Übersetzung des Assembly Codes (Binär Code, nicht mehr lesbar für Menschen) *.h *.hpp *.cpp *.asm*.obj Executables, Libraries Vom Betriebssystem ausführbare Programme & Funktionen *.exe *.dll... AssemblerCompilerLinker

© Roland Angst, 2010Institute of Visual Computing Source Code (Bsp in C++) Source Code #include int main(int argc, char** argv) { std::cout << hello world; return 0; } Assembly Code (Auszug) pushebp movebp, esp subesp, 192 ; c0H pushebx pushesi pushedi leaedi, DWORD PTR [ebp-192] movecx, 48; H moveax, ; ccccccccH rep stosd pushOFFSET moveax, DWORD PTR pusheax addesp, 8

© Roland Angst, 2010Institute of Visual Computing Source Code (Bsp in C++) Binary Code vs. Assembly Code (Auszug) push ebp b ec mov ebp, esp ec c sub esp, 192; c0H push ebx 0000a56 push esi 0000b57 push edi 0000c8d bd 40 ff ff ff lea edi, DWORD PTR [ebp-192] 00012b mov ecx, 48; H 00017b8 cc cc cc cc mov eax, ; ccccccccH 0001cf3 ab rep stosd Binary CodeAssembly Code Beispiel in Visual Studio

© Roland Angst, 2010Institute of Visual Computing Source Code im Detail Source Code #include int main(int argc, char** argv) { std::cout << hello world; return 0; } Include-Direktive Compilerdirektive: wird vom Präprozessor abgearbeitet Sucht Header-Datei iostream Kopiert Inhalt der Header-Datei anstelle des #include Befehls Dies geschieht in einer temporären Datei, ursprünglicher Source Code wird nicht verändert Temporäre Datei wird an Compiler weiter gereicht Wieso Header-Dateien? Siehe später in der Vorlesung (oder in meiner Übungsstunde...)

© Roland Angst, 2010Institute of Visual Computing Source Code im Detail Source Code #include int main(int argc, char** argv) { std::cout << hello world; return 0; } main-Funktion: Einstiegspunkt des Programs Betriebssystem lädt Executable in Speicher CPU-Programpointer wird auf Anfang der main-Funktion gesetzt Prozessor startet, das Executable auszuführen Input Argumente: Kommandozeilenparameter Int argc Anzahl der Parameter Erster Parameter ist gleich dem Namen der Executable Char** argv Einzelne Parameter als Zeichenfolge (sogenanntes Array of Characters)

© Roland Angst, 2010Institute of Visual Computing Source Code im Detail Source Code #include int main(int argc, char** argv) { std::cout << hello world; return 0; } Rückgabetyp der Funktion ist ein Integer ( int ) Return 0 Gibt an, dass Programm ohne Fehler beendet wurde (Konvention, irgendein Wert könnte zurückgegeben werden...) Ausgabe des Texts mittels output-stream operator << des std::cout object Funktionen dieser Klasse werden in iostream zur Verfügung gestellt Darum muss diese Header-Datei eingebunden werden

© Roland Angst, 2010Institute of Visual Computing Fragen Zur Vorlesung?

© Roland Angst, 2010Institute of Visual Computing Übung 1 Herumspielen mit Hello-World-Program Challenge: Schafft es jemand, die Inputparameter ( int argc, char** argv ) zu verwenden?