ESP Tutorium Studienassistent: Ewald Moitzi Gruppe 1.

Slides:



Advertisements
Ähnliche Präsentationen
Forschungszentrum caesar
Advertisements

Funktionen und Module Einführung anhand des Beispiels Wörter sortieren Timm Grams Fachhochschule Fulda Fachbereich Elektrotechnik und Informationstechnik.
der Universität Oldenburg
SWITCH - Anweisung.
DO...WHILE Anweisung.
Robotik mit LEGO Mindstorms
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK TotalView Debugger Vorgestellt von Marco Dyballa mail:
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher bekannt: Einfache Variable Feld Vereinbarung Zuweisung Block while-Schleife Bedingte Anweisung (if) Typ.
Zusammenfassung Vorwoche
Semantische Fehler Seminar im Grundstudium WS2002/2003:
Das erste Programm (Folie 16)
DVG Ablaufsteuerung
Einführung in das Programmieren mit JavaScript Mag. Andreas Starzer weloveIT – EDV Dienstleistungen.
Informatik 1 Übung 2.
Kontrollstrukturen Verwendung: Steuerung des Ablaufs.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Java und Eclipse.
Debugging in Lua Universität zu Köln Re-usable Content in 3D und Simulationssystemen Prof. Dr. Manfred Thaller Referent: Artur Wilke.
Einführung in die Programmierung
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Einführung in die Programmiersprache C 4
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
Style Guidelines für Java und .NET
C-Einstieg. Agenda 1Vorbereitung 2Aufbau eines Programms 2.1Header 2.2 Methoden 2.3Main 3Datentypen & Variablen 4Operatoren(+, -, *, /) 5Logik 5.1IF 5.2Switch.
Arduino Kurs Abend 2.
Informatik II Grundlagen der Programmierung Programmieren in C Programmstrukturen / Kontrollstrukturen Hochschule Fulda – FB ET Sommersemester 2014.
Algorithmen und Datenstrukturen Übungsmodul 1
EPROG Tutorium #3 Philipp Effenberger
Einführung in PHP.
Einführung in PHP 5.
Programmieren in C Grundlagen C 2
BMEVIEEA100 Grundlagen der Programmierung
Vorlesung 3. if else Anweisung if (Ausdruck) Anweisung1 else Anweisung2 Ausdruck hat einen von 0 verschiedenen Wert, so wird Anweisung 1 ausgeführt. Bei.
PHP: Operatoren und Kontrollstrukturen
Hochschule Fulda – FB ET Sommersemester 2014
Hochschule Fulda – FB ET Sommersemester 2014
Programmieren in C Grundlagen C 2
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
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Sammlungsklassen Array.
Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 1 Algorithmen und Datenstrukturen 1 SS 2002 Mag.Thomas.
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
MATLAB Control Statements.
C Tutorium – Debugging & Tracing – Knut Stolze. 2 Agenda Debugging & Debugger Tracing.
Einführung in die Programmiersprache C 2
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Formulare Maya Kindler 6c. Allgemein Vom client zum Server form tag eröffnet ein Formular Input tag eröffnet ein Formularfeld.
By Thorsten Zisler 1 SQL Datenbank Anbindung an den Supervisor.
TRUE und FALSE in C Der Wert 0 steht für FALSE Jeder von 0 verschiedene Wert steht für TRUE FALSE wird als 0 dargestellt TRUE wird als 1 dargestellt.
FOR Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
Inhalte der Übungen 1.Grundlagen, Ein- und Ausgabe 2.Kontrollstrukturen (Projekt 1) 3.Funktionen 4.Zeiger, Felder (Projekt 2) 5.Strings, Strukturen 6.Fileverarbeitung.
1 Arrays und Schleifen Özgü & Tim. 2 Inhaltsverzeichnis Arrays Was ist ein Array? Bauanleitung Beispiel Matrix Fehler Schleifen Wofür Schleifen? While-Schleife.
Operatoren, Kontrollstrukturen und Funktionen. Logische Operatoren  zum Vergleich zweier Ausdrücke  ==, !=,, =  Ergebnis ist vom Typ bool  Achtung!
ESP Tutorium Studienassistent: Ewald Moitzi Gruppe 1.
Wiederholte Programmausführung
Hello World! Javakurs 2013 Arne Kappen
Datentypen: integer, char, string, boolean
Java-Kurs - 4. Übung weitere Kontrollstrukturen
Struktogramme.
Java-Kurs - 2. Übung primitive Datentypen, Konstanten
Unterschiedliche Kontrollstrukturen
SS 04 Christiane Rauh Christian Hellinger
Arten von Kontrollstrukturen
Unterschiedliche Arten von Kontrollstrukturen
GRUNDLAGEN WISSENSCHAFTLICHEN ARBEITENS MODULA-2 SONAY SUBAYAZ
«Delegierter» Methoden Schablone Funktionszeiger
PGdP Tutorstunde 4 Gerald Mahlknecht Technische Universität München Informatik Divide and Conquer.
Schleifen Datenfelder (Arrays) Verzweigungen
 Präsentation transkript:

ESP Tutorium Studienassistent: Ewald Moitzi Gruppe 1

Plan für Heute Datentypen Abfragen, Schleifen Fehlerquellen Fehlersuche

Datentypen

Operatoren a = (b + c) * (d % e);

Funktionen functionName (,, …) { … }

printf printf (, param1, param2,..); Formatstring Text + Platzhalter für Variablen %[width][.precision]f width: Mindestlänge precision: Anzahl Kommastellen

Abfragen if ( ) { … } else //optional { }

Abfragen switch ( ) { case : case : …; break; … default: break; }

condition if (( a == b) && (c <= d))

Schleifen Wiederholen bis/solange Bedingung erfüllt 3 Typen Zähler (for) Kopfgesteuert (while) Fußgesteuert (do - while)

for-Schleife for ( ; ; ) { … } Bsp: int count; for (count = 0; count < 10; count++)

(do -) while while ( ) {... } do {... } while ( );

Debugging Ablauf per printf-Ausgaben verfolgen IDE (zB eclipse) Debugger: gdb (Kommandozeile) Mit ”-g” kompilieren gdb cgdb wo vorhanden (nicht am pluto) Textgrafikfenster

gdb Befehle break, b Setzt einen Breakpoint (programm wird angehalten) break oder break run Startet das Programm step, s nächste Zeile, springt in Unterfunktionen next, n Nächste Zeile, springt über Funktionen

Gdb Befehle print Gibt den Wert der variable aus backtrace, bt Aufrufliste Durch wird der letzte Befehl wiederholt

Fehlerquellen sprechende variablen namen! (nicht h, b, i) Zuweisungsoperator  bei Deklaration immer gleich Wert zuweisen int count = 5; //good  kein == if (count = 5) Modulo vs. Real-Division vs. Integer-Division  7 % 3 = ?  7 / 3 = ?  7. / 3 = ?

Fehlerquellen Faustregel: bei arithmetischen Operationen bestimmen Operanden den Ergebnistyp (float, int) Pre- und Post-Increment a = count++; // zuweisen, erhöhen a = ++count; // erhöhen, zuweisen (++x == x++) - T/F?!

Fehlerquellen Short Circuit Evaluation: von links nach rechts wird so wenig wie möglich ausgewertet Möglichst keine Werte in If-Konstrukten verändern! int a = 1;... if (a == 1 || b++) //b won‘t get incremented

Fehlerquellen Klammern if (b == 2) { if (a == 3) formatHdd(); } else doNothing(); Switch/Case/Break switch(a) { case 1: playMusic(); case 2: stopMusic();...

Fehlerquellen Klammern if (b == 2) { if (a == 3) formatHdd(); } else doNothing(); Switch/Case/Break switch(a) { case 1: playMusic(); break; //very important case 2: stopMusic();...

Fehlerquellen Off-by-one Error int count; int int_array[5] = {1,2,3,4,5}; for (count = 0; count <= 5; count++) { printf(int_array[count]); } //zählt bis int_array[5], //obwohl int_array[4] das letzte Element ist //gibt kein Warning, schwer zu entdeckender //Fehler!

Links C-Referenz: