© Alexander Schwing, 2010Institute of Visual Computing Informatik I for D-MAVT Exercise Session 2.

Slides:



Advertisements
Ähnliche Präsentationen
Kurzwiederholung Informatik I, Teil I: Grundkonzepte
Advertisements

ALP II: Objektorientierte Programmierung Sommersemester 2006
1 Datenbankapplikationen 9.1MS Visio 9.2MS Access 9.3Embedded SQL 9.4JDBC 9.5Cold Fusion 9.6PHP.
Forschungszentrum caesar
Agenda Sitzung 2 für den Programmaufbau
6. Der OpenMP Standard Direktiven-basiertes API zur Programmierung von Parallelrechnern mit gemeinsamem Speicher für FORTRAN, C und C++
Intelligente Dateisysteme Einführende Bemerkungen Manfred Thaller, Universität zu Köln Köln 17. Oktober 2013.
Verteilte Software - Java - Prozedurale Programmierung 1
Gliederung des Inhalts
Datentypen Genauigkeiten
FOR Anweisung.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 3 Claudio Moraga, Gisbert Dittrich FBI Unido
VB .NET Proseminar .NET SS04.
Brandenburgische Technische Universität Cottbus Program Profiling Andrzej Filipiak Übung Testen von Software SoSe 2006.
Das erste Programm (Folie 16)
Einführung in C++ und das objektorientierte Programmieren (OOP)
Der C-Präprozessor EDV1 - 04Präprozessor.
EDV1 - 06FelderPointer Felder, Zeichenketten, Pointer.
Der C-Präprozessor 08-CPräprozessor.
Umrechnung Bit und Bytes und Bibytes
© A. Schwing, 2010Institute of Visual Computing Informatik I for D-MAVT Exercise Session 10.
Einführung in die Programmiersprache C 1
Informatik I for D-MAVT
© Roland Angst, 2010Institute of Visual Computing Informatik I for D-MAVT Exercise Session 1.
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,
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 Programmierung Wintersemester 2008/09 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.
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.
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 (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Die Zählschleife int s = 0 for (int k=1; k
Parallel Programming Parallel Matrix Multiplication
Informatik 1 Übung 7.
Informatik 1 Letzte Übung.
1 Blitz++ Stefan Kofler Was ist Blitz++ Arrays bis 11 Dimensionen Numerisch Größe muss nicht bekannt sein schnell.
University of Applied Sciences Übung Objektorientierte Programmierung II Dipl.-Inf. (FH) Markus Vogler.
Equals, Hashcode und CompareTo Micha Kessler
Informatik I for D-MAVT
Vorlesung 1.
OPENTOUCH™ SUITE FOR MLE
C-Einstieg. Agenda 1Vorbereitung 2Aufbau eines Programms 2.1Header 2.2 Methoden 2.3Main 3Datentypen & Variablen 4Operatoren(+, -, *, /) 5Logik 5.1IF 5.2Switch.
Programmierung 1. Einführung Seite 1
Grundlegende Funktionsweise eines Computers
Purga - Scriptengine Ein Einblick.
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.
Learning By Doing Übungen GPanel Quadratfenster mit pixelunabhängigen Windowkoordinaten (doubles) Zweckmässige Standardwerte (defaults) 01 x 0 1 y // WbzEx5.java.
Datentypen Überblick Datentypen Einfache / fundamentale Datentypen
BMEVIEEA100 Grundlagen der Programmierung
Vorlesung 5. #include double fv(double x) { return sin(x); } int main(){ int i,N=10; double a=1,b=2,del,x,sum,f,integral; for(i=1,sum=0.0,del = (b-a)/N;i
Speichergrößen in der digitalen Datenverarbeitung
Hochschule Fulda – FB ET Sommersemester 2014
GWDG – Kurs Parallelrechner-Programmierung mit MPI MPI Punkt-zu-Punkt-Kommunikation Oswald Haan
A) Erklären Sie den Datentyp char. b) Erklären Sie den Datentyp Struct c) Erklären Sie die Wirkungsweise des Operators & bei Anwendung im Zusammenhang.
Java Syntaxdiagramme Buchstabe A B Z a z ... Ziffer
1 // Laengste Zeile bestimmen // // Liest die Eingabe Zeichen fuer Zeichen, bis // das erscheint. // Die laengste Zeile wird ausgegeben (bei.
Pointer. Precompiled Header  Vorübersetzung eingebundener Dateien häufig genutzt, selten geändert  Projekttyp „Win32 Console Application“
Tutorium Software-Engineering SS14 Florian Manghofer.
Pointer, Arrays und verkettete Listen. Mehrdimensionale Arrays  Pointer auf ein Array von Pointern  int32 **matrix = new int32*[3];  matrix: Zeiger.
IOStreamLibrary.
Hello World! Javakurs 2013 Arne Kappen
Java-Kurs - 4. Übung weitere Kontrollstrukturen
Arguments to main() int main(int argc, char *argv[]) { int i;
IOStreamLibrary.
Syntax: while ( BEDINGUNG ) { // Anweisungen die so lange immer wieder ausgeführt // werden, wie die Bedingung zutrifft } for (INITIALISIERUNG; BEDINGUNG;
Einführung in die Programmierung
Grundlagen der OO-Programmierung in C#
 Präsentation transkript:

© Alexander Schwing, 2010Institute of Visual Computing Informatik I for D-MAVT Exercise Session 2

© Alexander Schwing, 2010Institute of Visual Computing Organisatorisches Teaching Assistant Roland Angst CAB G 89 Übungsabgabe Auf Papier, keine s Später wenn Programme umfangreicher werden, ev. auch Abgabe per möglich Testatbedingungen 75% aller Übungen Voraussichtlich 12 Serien (d.h. 9 gelöste Serien)

© Alexander Schwing, 2010Institute of Visual Computing Probleme der letzten Übung Installation von MinGW __DATE__ hat 2 Präfix- und Suffix-Unterstriche Jede Anweisung (Instruktion) endet mit einem Strichpunkt (;)

© Alexander Schwing, 2010Institute of Visual Computing Probleme der letzten Übung Debugger GNU Source-Level Debugger Release Candidate_gdb-6.3 Gdb Installation

© Alexander Schwing, 2010Institute of Visual Computing Repetition Ablauf beim Kompilieren: Präprozessor ( #include ) Kompilieren (maschinenlesbare Form) Linken (Verbinden einzelner Bestandteile) Ablauf beim Ausführen Laden des Programms in den Speicher (Betriebssystem) Zeilenweises Abarbeiten ab Funktion int main(int argc, char** argv) {... }

© Alexander Schwing, 2010Institute of Visual Computing Funktion Auch: Subroutine, Subprogramm Aufbau: int main(int argc, char** argv) {... } Funktionskopf Funktionskörper Rückgabetype Funktionsname Parameter

© Alexander Schwing, 2010Institute of Visual Computing Variablen Basisdatentypen Variablendefinition und Initialisierung NameSize [bytes on x86] Range Integral bool 10 oder 1 char bis (signed) oder 0 bis (unsigned) short bis (signed) oder 0 bis (unsigned) wchar_t 2 bis 4 int bis (signed) oder 0 bis (unsigned) long 4 wie int long bis (signed) oder 0 bis (unsigned) Floating Point float 4+/ x bis x double 8+/ x bis x long double 8 bis 16 int Variable1, Variable2, Variable3 = 10, Variable4(20);

© Alexander Schwing, 2010Institute of Visual Computing Variablen Gültigkeitsbereich (Scope) von Variablen Bits und Bytes 1 byte = 8 bit (kleinste adressierbare Einheit) 1 MiB (Mebibyte) = 1024 KiB (Kibibyte) = 1024 * 1024 byte 1 MB (Megabyte) = 1000 kB (Kilobyte) = 1000 * 1000 byte k bits codieren 2 k Zustände int a = 2, b = 3; cout << a << << b; { int a = 5; cout << a << << b; } cout << a; Ausgabe:

© Alexander Schwing, 2010Institute of Visual Computing Variablen Speicher Speicherbedarf bestimmen Mit Operator: size_t sizeof( {type-name} )... int Variable1; short _123; double VariAble1; char Buch_stabe;... 0x100x140x180x22 StatementRückgabewert sizeof(short) 2 sizeof(double) 8 sizeof(wchar_t) bei mir: 2 #include int main() { size_t groesse = sizeof(wchar_t); std::cout << Groesse: << groesse; std::cout << std::endl; return 0; }

© Alexander Schwing, 2010Institute of Visual Computing Variablen Implizites Casting Hierarchie Long double Double Float Unsigned long int Long int Unsigned int Int int i1 = 1, i2 = 3; double f1 = 8.98; float f2 = 4.78; int i3 = f1/f2;// 8.98/4.78 = float f3 = i3/i2;

© Alexander Schwing, 2010Institute of Visual Computing Variablen Explizites Casting Konstanten const float sqrt2 = f; int i1 = 1, i2 = 3; double f1 = 8.98; float f2 = 4.78f; int i3 = int(f1/double(f2));// 8.98/4.78 = float f3 = float(i3)/i2;

© Alexander Schwing, 2010Institute of Visual Computing Variablen Achtung:... int z = 1; bool test_1 = z == 2;//test_1 = false bool test_2 = z = 3;//test_2 = true bool test_3 = z = 0;//test_3 = false bool test_4 = z == 1;//test_4 = false bool test_5 = z == 0;//test_5 = true... ?

© Alexander Schwing, 2010Institute of Visual Computing Präprozessordirektiven Letzte Woche #include Neu #define SQRT

© Alexander Schwing, 2010Institute of Visual Computing ASCII-Tabelle

© Alexander Schwing, 2010Institute of Visual Computing Operatoren

© Alexander Schwing, 2010Institute of Visual Computing Operatoren

© Alexander Schwing, 2010Institute of Visual Computing Quiz Deklariere die Variablen, sodass kein impliziter Cast vorgenommen wird: a) a = 2; b = a < 7; c = '6'; b) a = b || char( c – 7) == 'b'; a) int a; bool b; char c; b) bool a; bool b; int c;

© Alexander Schwing, 2010Institute of Visual Computing Übung 2 Aufgabe 1: Gültige Variablennamen int _123; float Variable A; double 123_; char WasIstDas?; Aufgabe 2: Algebraische Operationen 1.5f * 2 5 / 3 5 / / 3 2.0f / % 2 2 / 4 * / 4 * 4 2 * 4 / % 4 6.0f * (2 / 4) Ja Nein, wegen Leerzeichen Nein, weil Zahl am Anfang Nein, wegen Sonderzeichen = 1.5f * 2.0f= 3.0f- float = 1- int = 5.0 / 2.5= 2.0- double = 5.0 / 3.0= double = 2.0 / 3.0= double = 1- int = 0 * 4= 0- int = 0.5 * 4= 2.0- double = 8 / 4= 2- int = 4 + 2= 6- int = 6.0f * 0.0f= 0.0f- float

© Alexander Schwing, 2010Institute of Visual Computing Übung 2 Aufgabe 3: Typkonvertierung (Casting) 2 / float(3) double(2 / 3) Aufgabe 4: Programmanalyse QuelltextVariableninhaltAusgab e... int i1, i2 = 3, i3(4.5); double d1 = 4.5f; i1 = i2 * d1 / i3; cout << << endl; cout << 4 << 5 << endl; cout << (4 < 5) << endl; cout << 4 << 5 << endl; cout << 4 / 5 << endl; //cout << 4 < 5 << endl;... i1 undefiniert, i2 = 3, i3 = 4; d1 = 4.5 i1 = 3, i2 = 3, i3 = 4, d1 = 4.5 Kompilererror (niedrigere Präzedenz) = 2.0f / 3.0f= 0.66f- float = double(0)= 0.0- double ??

© Alexander Schwing, 2010Institute of Visual Computing Übung 2 Aufgabe 5: Ein Programm Lese vier Zahlen (double) ein und berechne den Mittelwert: #include // für cout und cin using namespace std; int main() { double input1, input2, input3, input4;// undef. variablen double mittelwert;// undef. variablen cout > input1; cout > input2; cout > input3; cout > input4; mittelwert = (input1 + input2 + input3 + input4)/4;// Mittelwert berechnen cout << "Mittelwert: " << mittelwert << endl;// Mittelwert ausgeben return 0;// Rückgabe }

© Alexander Schwing, 2010Institute of Visual Computing Übung 2