Informatik Grundlagen, WS04, Seminar 7 Informatik Informatik Grundlagen, Seminar 2 WS04 Seite 1 Allgemeines Besprechung „Unvollständige Spezifikation“ im Übungsblatt Übungsblatt Mittwoch oder Donnerstag? Informatik Grundlagen, Seminar 2 WS04 Seite 2 2-dimensionale Felder Matrix int myMatrix[ROWS][COLUMNS] Informatik Grundlagen, Seminar 2 WS04 Seite 3 Funktionen Immer Return Value angeben auch wenn standardmäßig int als return wert also int myFunc()… nicht myFunc()… Wenn in Funktion verschiedene Zweige (durch if-else) müssen alle Zweige Return Value zurückgeben! Normalerweise aber sowieso nur ein Ausstiegspunkt void myProc() ist Prozedur Informatik Grundlagen, Seminar 2 WS04 Seite 4 main main hat auch Rückgabewert. int main() {… Dieser kann von Win(DOS) batch file verwendet werden. errorlevel Auch Linux/ Unix kann Rückgabewert in shell scripts verwenden $? Informatik Grundlagen, Seminar 2 WS04 Seite 5 Call by value Tafel: Funktion max int main () { int a,b printf („%d“,max (a,b)); } int max(int x, int y) { … } Jede Funktion hat eigenen Speicher für lokale Variablen Demo: Debugger. Gültigkeitsbereich von Vars. Demo projekt test4: zech expo funktion Informatik Grundlagen, Seminar 2 WS04 Seite 6 Call by value Was ist das? Probieren sie swap-Funktion: vertauscht x und y; int swap (int x, int y) { int temp = x; x=y; y=temp; } main() { int a=4; int b=5; swap (a,b); } Informatik Grundlagen, Seminar 2 WS04 Seite 7 Parameterübergabe Aktualparameter Formalparameter Zuweisungskompatibilität Typen von Aktualparameter und Formalparameter müssen zusammenpassen. sonst castet der compiler. bsp: int myFunc (int iPar) {…} main () { myFunc(2.0) } Informatik Grundlagen, Seminar 2 WS04 Seite 8 Umwandeln String in Integer Dasselbe Prinzip wie in Übung 2: Binärzahl umwandeln in Dezimalzahl. Informatik Grundlagen, Seminar 2 WS04 Seite 9 Deklaration - Defínition Unterschied? Compiler benötigt Deklaration Linker benötigt Definition #include <stdio.h> ist eine Forward Deklaration von printf Definition ist in anderer Bibliothek/ Datei Demo projekt test4: zech expo funktion auskommentieren von Dekl. /Def. Informatik Grundlagen, Seminar 2 WS04 Seite 10 tipps Visual Studio Consolen Fenster ist nach Programmaufruf sofort wieder weg. Abhilfe: Ctrl F5 statt F5: Start without Debugging Informatik Grundlagen, Seminar 2 WS04 Seite 11 Aufgabe: Matrix Matrix mit Skalar multiplizieren. Erklärung Tafel. Weitere Aufgabe : eigenes strcmp Informatik Grundlagen, Seminar 2 WS04 Seite 12