Informatik Grundlagen, Übung 3

Werbung
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
Herunterladen