Zentrale Fragestellung. Grundsätzliche Überlegungen über die Struktur eines Programms vor Beginn der Programmierung. Verschiedene Design-Methoden
|
|
- Georg Schmid
- vor 7 Jahren
- Abrufe
Transkript
1 7 Progrmmstruktur & Module 7Progrmmstruktur & Module 7.1 Softwredesign 7.1 Softwredesign Grundsätzliche Überlegungen über die Struktur eines Progrmms vor Beginn der Progrmmierung Verschiedene Design-Methoden Top-down Entwurf / Prozedurle Progrmmierung trditionelle Methode bis Mitte der 80er Jhre fst usschließlich verwendet n Progrmmiersprchen wie Fortrn, Cobol, Pscl oder C orientiert Objekt-orientierter Entwurf moderne, sehr ktuelle Methode Ziel: Bewältigung sehr komplexer Probleme uf Progrmmiersprchen wie C++, Smlltlk oder Jv usgerichtet 7.2 Top-down Entwurf Zentrle Frgestellung ws ist zu tun? 7 Progrmmstruktur & Module 7.2 Top-down Entwurf in welche Teilufgben lässt sich die ufgbe untergliedern? Beispiel: Rechnung für Kunden usgeben Rechnungspositionen zusmmenstellen Lieferungsposten einlesen Preis für Produkt ermitteln Mehrwertsteuer ermitteln Rechnungspositionen ddieren Positionen formtiert usdrucken Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 25 / 115 Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 26 / Progrmmstruktur & Module 7.2 Top-down Entwurf (2) 7.2 Top-down Entwurf 7 Progrmmstruktur & Module 7.2 Top-down Entwurf 7.2 Top-down Entwurf (3) Modul-Bildung Problem: Gliederung betrifft nur die ktivitäten, nicht die Struktur der Dten Gefhr: Sehr viele Funktionen rbeiten "wild" uf einer Unmenge schlecht strukturierter Dten Lösung: Gliederung von Dtenbeständen zusmmen mit Funktionen, die druf operieren Modul Dten Funktion1 Funktion6 Funktion4 Funktion2 Funktion5 Funktion3 Funktion1 Funktion2 Funktion4 Funktion3 Funktion5 Funktion6 Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 27 / 115 Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 28 / 115
2 7 Progrmmstruktur & Module 7.3 Module in C 7 Progrmmstruktur & Module 7.3 Module in C 7.3 Module in C 7.3 Module in C (2) Teile eines C-Progrmms können uf mehrere.c-dteien (C-Quelldteien) verteilt Logisch zusmmengehörende Dten und die druf operierenden Funktionen sollten jeweils zusmmengefsst Modul Jede C-Quelldtei knn seprt übersetzt (Option -c) Zwischenergebnis der Übersetzung wird in einer.o-dtei bgelegt % cc -c prog.c (erzeugt Dtei prog.o ) % cc -c f1.c (erzeugt Dtei f1.o ) % cc -c f2.c f3.c (erzeugt f2.o und f3.o ) Ds Kommndo cc knn mehrere.c Dteien übersetzen und ds Ergebnis zusmmen mit.o Dteien binden:!!!.c Quelldteien uf keinen Fll mit Hilfe der #include nweisung in ndere Quelldteien einkopieren Bevor eine Funktion us einem nderen Modul ufgerufen knn, muss sie deklriert Prmeter und Rückgbewerte müssen beknnt gemcht Mkrodefinitionen und Deklrtionen, die in mehreren Quelldteien eines Progrmms benötigt, zu Heder-Dteien zusmmengefsst Heder-Dteien mit der #include nweisung des Präprozessors in C-Quelldteien einkopiert der Nme einer Heder-Dtei endet immer uf.h % cc -o prog prog.o f1.o f2.o f3.o f4.c f5.c Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 29 / 115 Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 30 / Progrmmstruktur & Module 7.4 Gültigkeit von Nmen 7 Progrmmstruktur & Module 7.5 Globle Vriblen 7.4 Gültigkeit von Nmen 7.5 Globle Vriblen Gültigkeitsregeln legen fest, welche Nmen (Vriblen und Funktionen) wo im Progrmm beknnt sind Mehrere Stufen 1. Globl im gesmten Progrmm (über Modul- und Funktionsgrenzen hinweg) 2. Globl in einem Modul (uch über Funktionsgrenzen hinweg) 3. Lokl innerhlb einer Funktion 4. Lokl innerhlb eines Blocks Überdeckung bei Nmensgleichheit eine lokle Vrible innerhlb einer Funktion überdeckt gleichnmige globle Vriblen eine lokle Vrible innerhlb eines Blocks überdeckt gleichnmige globle Vriblen und gleichnmige lokle Vriblen in umgebenden Blöcken Gültig im gesmten Progrmm Globle Vriblen ußerhlb von Funktionen definiert Globle Vriblen sind b der Definition in der gesmten Dtei zugreifbr Globle Vriblen, die in nderen Modulen definiert wurden, müssen vor dem ersten Zugriff beknntgemcht ( extern Deklrtion = Typ und Nme beknntmchen) Beispiele: extern Typ Nme extern int, b; extern chr c;, ; Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 31 / 115 Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 32 / 115
3 7 Progrmmstruktur & Module 7.5 Globle Vriblen 7 Progrmmstruktur & Module 7.5 Globle Vriblen 7.5 Globle Vriblen (2) 7.5 Globle Funktionen Probleme mit globlen Vriblen Zusmmenhng zwischen Dten und druf operierendem Progrmmcode geht verloren Funktionen können Vriblen ändern, ohne dss der ufrufer dies erwrtet (Seiteneffekte) Progrmme sind schwer zu pflegen, weil bei Änderungen der Vriblen erst lle Progrmmteile, die sie nutzen gesucht müssen Funktionen sind generell globl (es sei denn, die Erreichbrkeit wird explizit uf ds Modul begrenzt) Funktionen us nderen Modulen müssen ebenflls vor dem ersten ufruf deklriert (= Typ, Nme und Prmetertypen beknntmchen) Ds Schlüsselwort extern ist bei einer Funktionsdeklrtion nicht notwendig globle Vriblen möglichst vermeiden Beispiele: double sinus(double); flot power(flot, int); Globle Funktionen (und soweit vorhnden die globlen Dten) bilden die äußere Schnittstelle eines Moduls "vertrgliche" Zusicherung n den Benutzer des Moduls Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 33 / 115 Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 34 / Progrmmstruktur & Module 7.6 Einschränkung der Gültigkeit uf ein Modul 7.6 Einschränkung der Gültigkeit uf ein Modul 7 Progrmmstruktur & Module 7.7 Lokle Vriblen 7.7 Lokle Vriblen Zugriff uf eine globle Vrible oder Funktion knn uf ds Modul (= die Dtei) beschränkt, in der sie definiert wurde Schlüsselwort sttic vor die Definition setzen sttic Vriblen-/Funktionsdefinition extern-deklrtionen in nderen Modulen sind nicht möglich Die sttic-vriblen bilden zusmmen den Zustnd eines Moduls, die Funktionen des Moduls operieren uf diesem Zustnd Vriblen, die innerhlb einer Funktion oder eines Blocks definiert, sind lokle Vriblen bei Nmensgleichheit zu globlen Vriblen oder loklen Vriblen eines umgebenden Blocks gilt die jeweils letzte Definition lokle Vriblen sind ußerhlb des Blocks, in dem sie definiert wurden, nicht zugreifbr und hben dort keinen Einfluss uf die Zugreifbrkeit von Vriblen Hilfsfunktionen innerhlb eines Moduls, die nur von den Modulfunktionen benötigt, sollten immer sttic definiert sie ddurch nicht Bestndteil der Modulschnittstelle (= des "Vertrgs" mit den Modulbenutzern)!!! ds Schlüsselwort sttic gibt es uch bei loklen Vriblen (mit nderer Bedeutung! - dort jeweils kursiv geschrieben) Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 35 / 115 Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 36 / 115
4 7 Progrmmstruktur & Module 7.8 Gültigkeitsbereiche Übersicht Funktion1 Funktion2 Funktion4 Funktion3 7.8 Gültigkeitsbereiche Übersicht Funktion6 Modul1 Modul2 Modul3 Funktion5 globle Vriblen modul-lokle Vriblen =globl sttic funktionslokle Vriblen modullokle Funktion modul-lokle Funktion (= sttic) globle Funktionen 7 Progrmmstruktur & Module 7.9 Lebensduer von Vriblen 7.9 Lebensduer von Vriblen Die Lebensduer einer Vriblen bestimmt, wie lnge der Speicherpltz für die Vrible ufgehoben wird Zwei rten Speicherpltz bleibt für die gesmte Progrmmusführungszeit reserviert sttische (sttic) Vriblen Speicherpltz wird bei Betreten eines Blocks reserviert und dnch wieder freigegeben dynmische (utomtic) Vriblen Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 37 / 115 Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 38 / Progrmmstruktur & Module 7.9 Lebensduer von Vriblen 7 Progrmmstruktur & Module 7.9 Lebensduer von Vriblen 7.9 Lebensduer von Vriblen (2) 7.9 Lebensduer von Vriblen (3) uto-vriblen sttic-vriblen lle loklen Vriblen sind utomtic-vriblen der Speicher wird bei Betreten des Blocks / der Funktion reserviert und bei Verlssen wieder freigegeben der Wert einer loklen Vriblen ist beim nächsten Betreten des Blocks nicht mehr sicher verfügbr! Lokle uto-vriblen können durch beliebige usdrücke initilisiert die Initilisierung wird bei jedem Eintritt in den Block wiederholt!!! wird eine uto-vrible nicht initilisiert, ist ihr Wert vor der ersten Zuweisung undefiniert (= irgendws) Der Speicher für lle globlen Vriblen ist generell von Progrmmstrt bis Progrmmende reserviert Lokle Vriblen erhlten bei Definition mit dem Schlüsselwort sttic eine Lebensduer über die gesmte Progrmmusführung hinweg der Inhlt bleibt bei Verlssen des Blocks erhlten und ist bei einem erneuten Eintreten in den Block noch verfügbr!!! Ds Schlüsselwort sttic ht bei globlen Vriblen eine völlig ndere Bedeutung (Einschränkung des Zugriffs uf ds Modul) Sttic-Vriblen können durch beliebige konstnte usdrücke initilisiert die Initilisierung wird nur einml beim Progrmmstrt vorgenommen (uch bei loklen Vriblen!) erfolgt keine explizite Initilisierung, wird utomtisch mit 0 vorbelegt Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 39 / 115 Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 40 / 115
5 8.1 Einordnung 8.2 Überblick 8Zeiger(-Vriblen) 8.2 Überblick ' 8.1 Einordnung Eine Zeigervrible (pointer) enthält ls Wert die dresse einer nderen Vriblen Konstnte: Bezeichnung für einen Wert der Zeiger verweist uf die Vrible Über diese dresse knn mn indirekt uf die Vrible zugreifen Vrible: Bezeichnung eines Dtenobjekts Zeiger-Vrible (Pointer): Bezeichnung einer Referenz uf ein Dtenobjekt chr *p = &; p Drus resultiert die große Bedeutung von Zeigern in C Funktionen können ihre rgumente verändern (cll-by-reference) dynmische Speicherverwltung effizientere Progrmme ber uch Nchteile! Progrmmstruktur wird unübersichtlicher (welche Funktion knn uf welche Vrible zugreifen?) häufigste Fehlerquelle bei C-Progrmmen Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 41 / 115 Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 42 / Definition von Zeigervriblen 8.4 dressopertoren 8.3 Definition von Zeigervriblen 8.4 dressopertoren Syntx: dressopertor &. Typ *Nme ; &x der unäre dress-opertor liefert eine Referenz uf den Inhlt der Vriblen (des Objekts) x Beispiele int x = 5; int *; int y; = &x; x y 5 5 Verweisopertor *. *x der unäre Verweisopertor * ermöglicht den Zugriff uf den Inhlt der Vriblen (des Objekts), uf die der Zeiger x verweist y = *; Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 43 / 115 Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 44 / 115
6 8.5 Zeiger ls Funktionsrgumente 8.5 Zeiger ls Funktionsrgumente 8.5 Zeiger ls Funktionsrgumente ' 8.5 Zeiger ls Funktionsrgumente (2) Prmeter in C by-vlue übergeben die ufgerufene Funktion knn den ktuellen Prmeter beim ufrufer nicht verändern uch Zeiger by-vlue übergeben, d. h. die Funktion erhält lediglich eine Kopie des dressverweises über diesen Verweis knn die Funktion jedoch mit Hilfe des *-Opertors uf die zugehörige Vrible zugreifen und sie verändern cll-by-reference void swp (int *, int *); int min() int, b; swp(&, &b); void swp (int *px, int *py) int tmp; tmp = *px; *px = *py; *py = tmp; b px py tmp Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 45 / 115 Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 46 / Zeiger ls Funktionsrgumente 8.5 Zeiger ls Funktionsrgumente 8.5 Zeiger ls Funktionsrgumente (2) 8.5 Zeiger ls Funktionsrgumente (2) void swp (int *, int *); int min() int, b; swp(&, &b); b void swp (int *, int *); int min() int, b; swp(&, &b); b void swp (int *px, int *py) int tmp; tmp = *px; *px = *py; *py = tmp; px py tmp void swp (int *px, int *py) int tmp; tmp = *px; *px = *py; *py = tmp; px py tmp Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 47 / 115 Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 48 / 115
7 8.5 Zeiger ls Funktionsrgumente 8.5 Zeiger ls Funktionsrgumente 8.5 Zeiger ls Funktionsrgumente (2) 8.5 Zeiger ls Funktionsrgumente (2) void swp (int *, int *); int min() int, b; swp(&, &b); void swp (int *px, int *py) int tmp; tmp = *px; *px = *py; *py = tmp; b *px px py tmp void swp (int *, int *); int min() int, b; swp(&, &b); void swp (int *px, int *py) int tmp; tmp = *px; *px = *py; ➌ *py = tmp; b *px px *py py tmp ➌ Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 49 / 115 Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 50 / Zeiger ls Funktionsrgumente 8.5 Zeiger ls Funktionsrgumente 8.5 Zeiger ls Funktionsrgumente (2) 8.5 Zeiger ls Funktionsrgumente (2) void swp (int *, int *); int min() int, b; swp(&, &b); void swp (int *px, int *py) int tmp; tmp = *px; *px = *py; *py = tmp; ➍ b px *py py tmp ➍ void swp (int *, int *); int min() int, b; swp(&, &b); void swp (int *px, int *py) int tmp; tmp = *px; *px = *py; ➌ *py = tmp; ➍ b px py tmp ➌ ➍ Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 51 / 115 Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 52 / 115
8 8.6 Zeiger uf Strukturen 8.6 Zeiger uf Strukturen 8.6 Zeiger uf Strukturen 8.6 Zeiger uf Strukturen (2) Konzept nlog zu "Zeiger uf Vriblen" dresse einer Struktur mit &-Opertor zu bestimmen Zeigerrithmetik berücksichtigt Strukturgröße Beispiele struct person stud1; struct person *pstud; pstud = &stud1; /* pstud stud1 */ Zugriff uf Strukturkomponenten über einen Zeiger Beknnte Vorgehensweise *-Opertor liefert die Struktur.-Opertor zum Zugriff uf Komponente Opertorenvorrng bechten (*pstud).best = n ; (*pstud).lter = 21; unleserlich! Besondere Bedeutung zum ufbu verketteter Strukturen Syntktische Verschönerung ->-Opertor (*pstud).best pstud->lter = = 21; n ; Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 53 / 115 Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 54 / Zusmmenfssung Vrible int ; 5 Zeiger int ; *p = &; 5 p 8.7 Zusmmenfssung Struktur struct int ; sint ; chr c;; struct s s1 = 2, ; s1 2 Zeiger uf Struktur int struct ; s *sp = &s1; s1 2 sp 9Felder 9 Felder 9.1 Eindimensionle Felder 9.1 Eindimensionle Felder eine Reihe von Dten desselben Typs knn zu einem Feld zusmmengefsst bei der Definition wird die Größe des Felds ngegeben Größe muss eine Konstnte sein b C99 bei loklen Feldern uch zur Lufzeit berechnete Werte zulässig der Zugriff uf die Elemente erfolgt durch Indizierung, beginnend bei Null Definition eines Feldes Typ Nme [ Größe ] Initilisierung ; Beispiele: int x[5]; double f[20]; Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 55 / 115 Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 56 / 115
9 9 Felder 9.2 Initilisierung eines Feldes 9 Felder 9.3 Initilisierung eines Feldes (2) 9.2 Initilisierung eines Feldes 9.3 Initilisierung eines Feldes (2) =, konstnter usdruck Felder des Typs chr können uch durch String-Konstnten initilisiert chr nme1[5] = "Otto"; chr nme2[] = "Otto"; Ein Feld knn durch eine Liste von konstnten usdrücken, die durch Komm getrennt sind, initilisiert int prim[4] = 2, 3, 5, 7; chr nme[5] = O, t, t, o, \0 ; wird die explizite Felddimensionierung weggelssen, so bestimmt die Zhl der Initilisierungskonstnten die Feldgröße int prim[] = 2, 3, 5, 7; chr nme[] = O, t, t, o, \0 ; zu wenig Initilisierungskonstnten ngegeben, so die restlichen Elemente mit 0 initilisiert Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 57 / 115 Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 58 / Felder 9.4 Zugriffe uf Feldelemente Indizierung: wobei: Beispiele: Feldnme [ usdruck ] 0 <= Wert(usdruck) < Feldgröße prim[0] == 2 prim[1] == 3 nme[1] == t nme[4] == \0 9.4 Zugriffe uf Feldelemente ' 10Zeiger und Felder ein Feldnme ist ein konstnter Zeiger uf ds erste Element des Feldes im Gegenstz zu einer Zeigervriblen knn sein Wert nicht verändert es gilt: int rry[5]; int * = rry; rry Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 59 / 115 Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 60 / 115
10 10Zeiger 2. und Felder 10Zeiger 2. und Felder ein Feldnme ist ein konstnter Zeiger uf ds erste Element des Feldes im Gegenstz zu einer Zeigervriblen knn sein Wert nicht verändert ein Feldnme ist ein konstnter Zeiger uf ds erste Element des Feldes im Gegenstz zu einer Zeigervriblen knn sein Wert nicht verändert es gilt: es gilt: int rry[5]; rry int rry[5]; rry int * = rry; int * = rry; int *ep; ep = &rry[0]; int *ep; ep = &rry[0]; ep ep Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 61 / 115 Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 62 / Zeiger 2. und Felder 10Zeiger 2. und Felder ein Feldnme ist ein konstnter Zeiger uf ds erste Element des Feldes im Gegenstz zu einer Zeigervriblen knn sein Wert nicht verändert ein Feldnme ist ein konstnter Zeiger uf ds erste Element des Feldes im Gegenstz zu einer Zeigervriblen knn sein Wert nicht verändert es gilt: es gilt: int rry[5]; rry int rry[5]; rry int * = rry; int *ep; ep = &rry[0]; int * = rry; int *ep; ep = &rry[0]; ep = &rry[2]; ➌ ep = &rry[2]; ➌ ep ➌ ep ➌ Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 63 / 115 Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 64 / 115
11 10Zeiger 2. und Felder 10Zeiger 2. und Felder ' ein Feldnme ist ein konstnter Zeiger uf ds erste Element des Feldes im Gegenstz zu einer Zeigervriblen knn sein Wert nicht verändert ein Feldnme ist ein konstnter Zeiger uf ds erste Element des Feldes im Gegenstz zu einer Zeigervriblen knn sein Wert nicht verändert es gilt: es gilt: int rry[5]; rry int rry[5]; rry int * = rry; int *ep; ep = &rry[0]; 1 ➍ int * = rry; int *ep; ep = &rry[0]; 1 ➍ ep = &rry[2]; *ep = 1; ➍ *ep ep ep = &rry[2]; ➌ *ep = 1; ➍ ep ➌ ➌ Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 65 / 115 Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 66 / rithmetik mit dressen 10.2 Zeigerrithmetik und Felder 10.1rithmetik mit dressen 10.2Zeigerrithmetik und Felder ' ++ -Opertor: Inkrement = nächstes Objekt int rry[3]; int * = rry; ++; ++; ➌ -- -Opertor: Dekrement = vorheriges Objekt +, ddition und Subtrktion von Zeigern und gnzzhligen Werten. Dbei wird immer die Größe des Objekttyps berücksichtigt! rry!!! chtung: ssozitivität der Opertoren bechten ➌ int rry[5]; = rry; = +3; Ein Feldnme ist eine Konstnte für die dresse des Feldnfngs Feldnme ist ein gnz normler Zeiger Opertoren für Zeiger nwendbr ( *, [] ) ber keine Vrible keine Modifiktionen erlubt es gilt: keine Zuweisung, kein ++, --, +=, int rry[5]; /* rry ist Konstnte für den Wert &rry[0] */ int * = rry;/* int * = &rry[0] */ int *ep; /* Folgende Zuweisungen sind äquivlent */ rry[i] = 1; [i] = 1; *(+i) = 1; /* Vorrng! */ *(rry+i) = 1; ep = &rry[i]; *ep = 1; ep = rry+i; *ep = 1; Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 67 / 115 Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 68 / 115
12 10.2 Zeigerrithmetik und Felder 10.2 Zeigerrithmetik und Felder 10.2Zeigerrithmetik und Felder 10.2Zeigerrithmetik und Felder int rry[5]; int *pointer; chr buffer[6]; chr *bptr; rry int rry[5]; int *pointer; chr buffer[6]; chr *bptr; rry ➒ ➑ 700 rry[0] = 10; rry[1] = 920; ➌ strcpy(buffer,"hllo"); ➍ pointer = rry; ➎ bptr = buffer; Fomle Prmeter der Funktion strcpy ziel quelle ➌ ➌ pointer buffer ➍ ➎ bptr ➎ "hllo" h l l o \0 ➍ h l l o \0 ➌ rry[0] = 10; rry[1] = 920; ➌ strcpy(buffer,"hllo"); ➍ pointer = rry; ➎ bptr = buffer; ➏ pointer++; ➐ bptr++; ➑ *pointer = 700; ➒ rry++; pointer buffer bptr ➏ ➏ ➐ ➐ h l l o \0 Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 69 / 115 Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 70 / Mehrdimensionle Felder 10.3 Mehrdimensionle Felder 10.4 Zugriffe uf Feldelemente bei mehrdim. Fel- 10.4Zugriffe uf Feldelemente bei mehrdim. Feldern neben eindimensionlen Felder knn mn uch mehrdimensionle Felder vereinbren Definition eines mehrdimensionlen Feldes Indizierung: Feldnme [ 1 ] [ n ] Typ Nme [ Größe ] Initilisierung ; wobei: 0 <= i < Größe der Dimension i des Feldes n = nzhl der Dimensionen des Feldes int mtrix[4][4]; Relisierung: in der internen Speicherung die Feldelemente zeilenweise hintereinnder im Speicher bgelegt Felddefinition: int f[2][2]; blge der Elemente: f[0][0], f[0][1], f[1][0], f[1][1] f ist ein Zeiger uf f[0][0] int feld[5][8]; feld[2][3] = 10; ist äquivlent zu: int feld[5][8]; int *f1; f1 = (int*)feld; f1[2*8 + 3] = 10; oder *(f1 + (2*8 + 3)) = 10; Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 71 / 115 Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 72 / 115
13 10.5Initilisierung eines mehrdimensionlen Feldes 10.5 Initilisierung eines mehrdimensionlen ein mehrdimensionles Feld knn - wie ein eindimensionles Feld - durch eine Liste von konstnten Werten, die durch Komm getrennt sind, initilisiert wird die explizite Felddimensionierung weggelssen, so bestimmt die Zhl der Initilisierungskonstnten die Größe des Feldes int feld[3][4] = 1, 3, 5, 7, /* feld[0][0-3] */ 2, 4, 6 /* feld[1][0-2] */ ; feld[1][3] und feld[2][0-3] in dem Beispiel mit 0 initilisiert! 11 Dynmische Speicherverwltung 1Dynmische Speicherverwltung Felder können (mit einer usnhme im C99-Stndrd) nur mit sttischer Größe definiert Wird die Größe eines Feldes erst zur Lufzeit des Progrmm beknnt, knn der benötigte Speicherbereich dynmisch vom Betriebssystem ngefordert : Funktion mlloc Ergebnis: Zeiger uf den nfng des Speicherbereichs Zeiger knn dnch wie ein Feld verwendet ( []-Opertor) void *mlloc(size_t size) int *feld; cst-opertor int groesse; feld = (int *) mlloc(groesse * sizeof(int)); if (feld == NULL) perror("mlloc feld"); exit(1); for (i=0; i<groesse; i++) feld[i] = 8; sizeof-opertor Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 73 / 115 Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 74 / Dynmische Speicherverwltung 1Dynmische 2. Speicherverwltung (2) Dynmisch ngeforderte Speicherbereiche können mit der free- Funktion wieder freigegeben void free(void *ptr) double *dfeld; int groesse; dfeld = (double *) mlloc(groesse * sizeof(double)); free(dfeld); die Schnittstellen der Funktionen sind in in der include-dtei stdlib.h definiert #include <stdlib.h> 12 Explizite Typumwndlung Cst-Opertor 12Explizite Typumwndlung Cst-Opertor C enthält Regeln für eine utomtische Konvertierung unterschiedlicher Typen in einem usdruck Beispiel: In mnchen Fällen wird eine explizite Typumwndlung benötigt (vor llem zur Umwndlung von Zeigern) Syntx: Beispiel: (Typ) Vrible int i = 5; flot f = 0.2; double d; Beispiele: (int) (flot) b feld = (int *) mlloc(groesse * sizeof(int)); d = i * f; (int *) (chr *) flot double mlloc liefert Ergebnis vom Typ (void *) cst-opertor mcht drus den Typ (int *) Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 75 / 115 Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 76 / 115
14 13sizeof-Opertor 13 sizeof-opertor 14 Eindimensionle Felder ls Funktionsprme- 14Eindimensionle Felder ls Funktionsprmeter In mnchen Fällen ist es notwendig, die Größe (in Byte) einer Vriblen oder Struktur zu ermitteln z. B. zum nfordern von Speicher für ein Feld ( mlloc) Syntx: sizeof x sizeof (Typ) Ds Ergebnis ist vom Typ size_t ( int) (#include <stddef.h>!) liefert die Größe des Objekts x in Bytes liefert die Größe eines Objekts vom Typ Typ in Bytes int ; size_t b; b = sizeof ; /* b = 2 oder b = 4 */ b = sizeof(double) /* b = 8 */ gnze Felder können in C nicht by-vlue übergeben wird einer Funktion ein Feldnme ls Prmeter übergeben, wird dmit der Zeiger uf ds erste Element "by vlue" übergeben die Funktion knn über den formlen Prmeter (=Kopie des Zeigers) in gleicher Weise wie der ufrufer uf die Feldelemente zugreifen (und diese verändern!) bei der Deklrtion des formlen Prmeters wird die Feldgröße weggelssen die Feldgröße ist utomtisch durch den ktuellen Prmeter gegeben die Funktion kennt die Feldgröße dmit nicht ggf. ist die Feldgröße über einen weiteren int-prmeter der Funktion explizit mitzuteilen die Länge von Zeichenketten in chr-feldern knn normlerweise durch Suche nch dem \0-Zeichen bestimmt Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 77 / 115 Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 78 / Eindimensionle Felder ls Funktionsprme- 14Eindimensionle 2. Felder ls Funktionsprmeter (2) wird ein Feldprmeter ls const deklriert, können die Feldelemente innerhlb der Funktion nicht verändert Funktionsufruf und Deklrtion der formlen Prmeter m Beispiel eines int-feldes: int, b; int feld[20]; func(, feld, b); int func(int p1, int p2[], int p3); oder: int func(int p1, int *p2, int p3); 14 Eindimensionle Felder ls Funktionsprme- 14Eindimensionle 2. Felder ls Funktionsprmeter (3) Beispiel 1: Bestimmung der Länge einer Zeichenkette (String) int strlen(const chr string[]) int i=0; while (string[i]!= \0 ) ++i; return(i); die Prmeter-Deklrtionen int p2[] und int *p2 sind vollkommen äquivlent! im Unterschied zu einer Vriblendefinition int f[] = 1, 2, 3; // initilisiertes Feld mit 3 Elementen int f1[]; // ohne Initilisierung oder Dimension nicht erlubt! int *p; // Zeiger uf einen int Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 79 / 115 Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 80 / 115
15 14 Eindimensionle Felder ls Funktionsprme- 14Eindimensionle 2. Felder ls Funktionsprmeter (4) Beispiel 2: Konkteniere Strings void strct(chr to[], const chr from[]) int i=0, j=0; while (to[i]!= \0 ) i++; while ( (to[i++] = from[j++])!= \0 ) ; Funktionsufruf mit Feld-Prmetern ls ktueller Prmeter beim Funktionsufruf wird einfch der Feldnme ngegeben chr s1[50] = "text1"; chr s2[] = "text2"; strct(s1, s2);/* s1= "text1text2" */ strct(s1, "text3");/* s1= "text1text2text3" */ ' 15 Zeiger, Felder und Zeichenketten 15Zeiger, Felder und Zeichenketten Zeichenketten sind Felder von Einzelzeichen (chr), die in der internen Drstellung durch ein \0 Zeichen bgeschlossen sind Länge eines Strings ermitteln ufruf strlen(x); /* 1. Version */ int strlen(const chr *s) int n; for (n=0; *s!= \0 ; s++) n++; return(n); /* 2. Version */ int strlen(const chr *s) chr *p = s; while (*p!= \0 ) p++; return(p-s); x s x s n=0 h l s++ h l p l l o \0 n=4 o \0 p++ n=5 Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 81 / 115 Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 82 / Zeiger, Felder und Zeichenketten 15Zeiger, 2. Felder und Zeichenketten (2) wird eine Zeichenkette zur Initilisierung eines chr Feldes verwendet, ist der Feldnme ein konstnter Zeiger uf den nfng der Zeichenkette chr messge[] = "now is the time"; n o w _ i s _ t h e _ t i m e \0 messge 15 Zeiger, Felder und Zeichenketten 15Zeiger, 2. Felder und Zeichenketten (3) wird eine Zeichenkette zur Initilisierung eines chr Zeigers verwendet, ist der Zeiger eine Vrible, die mit der nfngsdresse der Zeichenkette initilisiert wird chr *pmessge = "hello world"; h e l l o _ w o r l d \0 pmessge pmessge++; printf("%s", pmessge); /*gibt "ello world" us*/ wird dieser Zeiger überschrieben, ist die Zeichenkette nicht mehr dressierbr! h e l l o _ w o r l d \0 pmessge h l l o \0 ➌ pmessge = "hllo"; Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 83 / 115 Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 84 / 115
16 15 Zeiger, Felder und Zeichenketten 15Zeiger, 2. Felder und Zeichenketten (4) die Zuweisung eines chr Zeigers oder einer Zeichenkette n einen chr Zeiger bewirkt kein Kopieren von Zeichenketten! pmessge = messge; weist dem Zeiger pmessge lediglich die dresse der Zeichenkette "now is the time" zu n o w _ i s _ t h e _ t i m e \0 messge pmessge wird eine Zeichenkette ls ktueller Prmeter n eine Funktion übergeben, erhält diese eine Kopie des Zeigers 15 Zeiger, Felder und Zeichenketten 15Zeiger, 2. Felder und Zeichenketten (5) Zeichenketten kopieren /* 1. Version */ void strcpy(chr to[], const chr from[]) int i=0; while ( (to[i] = from[i])!= \0 ) i++; /* 2. Version */ void strcpy(chr *to, const chr *from) while ( (*to = *from)!= \0 ) to++, from++; /* 3. Version */ void strcpy(chr *to, const chr *from) while ( *to++ = *from++ ) ; Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 85 / 115 Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 86 / Zeiger, Felder und Zeichenketten 15Zeiger, 2. Felder und Zeichenketten (6) in NSI-C können Zeichenketten in nicht-modifizierbren Speicherbereichen ngelegt (je nch Compiler) Schreiben in Zeichenketten (Zuweisungen über dereferenzierte Zeiger) knn zu Progrmmbstürzen führen! Beispiel: pmessge ber! strcpy("zu ueberschreiben", "reinschreiben"); chr *pmessge = "hello world"; h e l l o _ w x o r l d \0 pmessge[6] = x ; chr messge[] = "hello world"; messge[6] = x ; ok! ' 16Felder von Zeigern 16 Felder von Zeigern uch von Zeigern können Felder gebildet Deklrtion int *pfeld[5]; int i = 1 int j; Zugriffe uf einen Zeiger des Feldes pfeld[3] = &i; Zugriffe uf ds Objekt, uf ds ein Zeiger des Feldes verweist j = *pfeld[3]; ➍ ➍ ➌ pfeld pfeld[3] ➌ * pfeld[3] i 1 ➍ j Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 87 / 115 Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 88 / 115
17 16Felder 2. von Zeigern (2) 16 Felder von Zeigern Definition und Initilisierung eines Zeigerfeldes: chr *month_nme(int n) sttic chr *Montsnmen[] = "Unzulessiger Mont", "Jnur", "Dezember" ; return ( (n<0 n>12)? Montsnmen[0] : Montsnmen[n] ); 17 rgumente us der Kommndozeile 17rgumente us der Kommndozeile beim ufruf eines Kommndos können normlerweise rgumente übergeben der Zugriff uf diese rgumente wird der Funktion min( ) durch zwei ufrufprmeter ermöglicht: int min (int rgc, chr *rgv[]) oder int min (int rgc, chr **rgv) Montsnmen U n z u l M o n t \0 J n u r \0 F e b r u r \0 M e r z \0 der Prmeter rgc enthält die nzhl der rgumente, mit denen ds Progrmm ufgerufen wurde der Prmeter rgv ist ein Feld von Zeiger uf die einzelnen rgumente (Zeichenketten) D e z e m b e r \0 der Kommndonme wird ls erstes rgument übergeben (rgv[0]) Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 89 / 115 Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 90 / rgumente us der Kommndozeile 17.1 Dtenufbu 17 rgumente us der Kommndozeile 17.2 Zugriff Beispiel: usgeben ller rgu- 17.1Dtenufbu 17.2Zugriff Beispiel: usgeben ller rgumente (1) ' Kommndo: rgc 5 rgv cc - -o uf9 uf9.c Dtei cc.c: min(int rgc, chr *rgv[]) rgv[1] NULL 0 c c \0 - \0 - o \0 u f 9 * rgv[1] oder rgv[1][0] \0 u f 9. c \0 rgv[3][1] ds folgende Progrmmstück gibt lle rgumente der Kommndozeile us (ußer dem Kommndonmen) int min (int rgc, chr *rgv[]) int i; for ( i=1; i<rgc; i++) printf("%s%c", rgv[i], (i < rgc-1)? : \n ); rgc 5 rgv rgv[1] rgv[2] rgv[3] rgv[4] rgv[5] NULL 0 c c \0 - \0 - o \0 u f 9 1. Version \0 u f 9. c \0 Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 91 / 115 Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 92 / 115
18 17 rgumente us der Kommndozeile 17.2 Zugriff Beispiel: usgeben ller rgu- 17.2Zugriff Beispiel: usgeben ller rgumente (2) ds folgende Progrmmstück gibt lle rgumente der Kommndozeile us (ußer dem Kommndonmen) int min (int rgc, chr **rgv) while (--rgc > 0) rgv++; linksseitiger Opertor: erst dekrementieren, 2. Version dnn while-bedingung prüfen Schleife läuft für rgc=4,3,2,1 printf("%s%c", *rgv, (rgc>1)? : \n ); 18Zeiger uf Zeiger 18 Zeiger uf Zeiger ein Zeiger knn uf eine Vrible verweisen, die ihrerseits ein Zeiger ist int x = 5; int * = &x; int **p = &; /* ** p = 5 */ x 5 p rgc rgv *rgv nch 1x rgv++ *rgv nch 4x rgv++ NULL 0 c c \0 - \0 - o \0 u f 9 \0 u f 9. c \0 wird vor llem bei der Prmeterübergbe n Funktionen benötigt, wenn ein Zeiger "cll bei reference" übergeben muss (z. B. swp-funktion für Zeiger) Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 93 / 115 Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 94 / Strukturen Beispiele 19 Strukturen struct student chr nchnme[25]; chr vornme[25]; chr gebdtum[11]; int mtrnr; short gruppe; chr best; ; Initilisierung Strukturen ls Funktionsprmeter Felder von Strukturen Zeiger uf Strukturen struct komplex double re; double im; ; 19 Strukturen 19.1Initilisieren von Strukturen 19.1 Initilisieren von Strukturen Strukturen können wie Vriblen und Felder bei der Definition initilisiert die Zuordnung zu den Komponenten erfolgt entweder ufgrund der Reihenfolge oder ufgrund des ngegebenen Nmens (in C++ nur ufgrund der Reihenfolge möglich!) Beispiele struct student stud1 = "Meier", "Hns", " ", , 5, n ; struct komplex c1 = 1.2, 0.8, c2 =.re=0.5,.im=0.33;!!! Vorsicht bei Zugriffen uf eine Struktur die Komponenten immer durch die Komponentennmen identifiziert, bei der Initilisierung nch Reihenfolge ber nur durch die Postion potentielle Fehlerquelle bei Änderungen der Strukturtyp-Deklrtion Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 95 / 115 Jürgen Kleinöder Univ. Erlngen-Nürnberg Informtik 4, 2010 WS 2010/11 96 / 115
3 Module in C. 4 Gültigkeit von Namen. 5 Globale Variablen (2) Gültig im gesamten Programm
3 Module in C 5 Glole Vrilen!!!.c Quelldteien uf keinen Fll mit Hilfe der #include Anweisung in ndere Quelldteien einkopieren Bevor eine Funktion us einem nderen Modul ufgerufen werden knn, muss sie deklriert
MehrF Zeiger, Felder und Strukturen in C
F Zeiger, Feder und Strukturen in C F Zeiger, Feder und Strukturen in C 3 Definition von Zeigervriben F.1 Zeiger(-Vriben) F.1 Zeiger(-Vriben) Syntx: Typ *Nme ; 1 Einordnung Konstnte: Bezeichnung für einen
MehrMechanismus Aufrufer Funktion Funktion Aufrufer Parameter ja mit Hilfe von Zeigern Funktionswert nein ja globale Variablen ja ja
2 Kurzeinführung in die Progrmmiersprche C 2.7 Progrmmstruktur & Module 10 Werteustusch zwischen Funktionen Mechnismus Aufrufer Funktion Funktion Aufrufer Prmeter j mit Hilfe von Zeigern Funktionswert
Mehr2 Kurzeinführung in die Programmiersprache C 2.7 Programmstruktur & Module. 2 Kurzeinführung in die Programmiersprache C 2.7 Programmstruktur & Module
2 Kurzeinführung in die Progrmmiersprche C 2.7 Progrmmstruktur & Module 10 Werteustusch zwischen Funktionen Mechnismus Aufrufer Funktion Funktion Aufrufer Prmeter j mit Hilfe von Zeigern Funktionswert
MehrF Zeiger, Felder und Strukturen in C
F Zeiger, Felder und Strukturen in C F Zeiger, Felder und Strukturen in C F.1 Zeiger(-Variablen) 1 Einordnung Konstante: Bezeichnung für einen Wert a 0110 0001 Variable: Bezeichnung eines Datenobjekts
Mehrc dl SPiC (Teil C, SS 11) 13 Zeiger und Felder 13.1 Zeiger Einführung 13 1 Zeigervariable := Behälter für Verweise ( Adresse) Beispiel int x = 5;
Überblick: Teil C Systemnhe Softwreentwicklung Einordnung: Zeiger (Pointer) Literl: Drstellung eines Wertes 0110 0001 12 Progrmmstruktur und Module Vrible: Bezeichnung chr ; eines Dtenobjekts Behälter
MehrÜbungen zur Systemprogrammierung I Wintersemester 2001/2002
1 Orgnistorisches Orgnistorisches Folien der Üungen im WWW Üungen zur Systemprogrmmierung I Wintersemester 2001/2002 URL zur Üung http://www4.informtik.uni-erlngen.de/lehre/ws01/v_sp1/ueung/ hier findet
MehrE Mikrocontroller-Programmierung. E.2 Beispiel: AVR-Mikrocontroller (ATmega-Serie) 1 Mikrocontroller-Umgebung. E.1 Überblick.
E Mikrocontroller-Progrmmierung E Mikrocontroller-Progrmmierung 1 Mikrocontroller-Umgebung E.1 Überblick E.1 Überblick Mikrocontroller-Umgebung Prozessor m Beispiel AVR-Mikrocontroller Speicher Peripherie
MehrGrundlagen der Programmierung Prof. H. Mössenböck. 7. Arrays
Grundlgen der Progrmmierung Prof. H. Mössenböck 7. Arrys Eindimensionle Arrys Arry = Tbelle gleichrtiger Elemente [0] [1] [2] [3] Nme bezeichnet ds gesmte Arry Elemente werden über Indizes ngesprochen
Mehr3. Gültigkeit von Definitionen
3. Gültigkeit von Definitionen GPS-3-1 Themen dieses Kpitels: Definition und Bindung von Bezeichnern Verdeckungsregeln für die Gültigkeit von Definitionen Gültigkeitsregeln in Progrmmiersprchen 2005 bei
MehrAusdrücke haben einen Wert sin(math.pi) wird zu 1 sin(kreisradius) wird zur Laufzeit ausgewertet. Informatik I Kapitel 6
Informtik I Kpitel 6 Ausdrücke hben einen Wert sin(mth.pi) wird zu 1 sin(kreisrdius) wird zur Lufzeit usgewertet Elementre Konzepte von Progrmmiersprchen Zusmmenfssung des Kpitel 6 Küchlin, Weber, Einführung
MehrU3 3. Übung U3 3. Übung. Systemnahe Programmierung in C Übungen Moritz Strübe Universität Erlangen-Nürnberg Informatik 4, 2009 U3.fm
U3 3. Übung U3 3. Übung Besprechung Aufgabe 1 Pointer Register und Ports U3.1 U3-1 Zeiger U3-1 Zeiger 1 Einordnung Konstante: a 0110 0001 Variable: a Zeiger-Variable (Pointer): a char *p = &a; p U3.2 2
MehrProgrammieren in C/C++ und MATLAB. Programmieren in C/C++ und MATLAB. Sebastian Bauer Sven Willert Sabine Schmidt
Progrmmieren in C/C und MATLAB Sestin Buer Sven Willert Sine Schmidt Institut für Geowissenschften Christin-Alrechts-Universität zu Kiel Sestin Buer Institut für Geowissenschften Progrmmieren in C/C und
Mehr2 Beispiel Sinusberechnung
2 Beispiel Sinusberechnung #include #include double sinus (double x) { double summe; double x_quadrat; double rest; int k; main() { double wert; D.8 Funktionen printf("berechnung des
MehrFORMALE SYSTEME. 7. Vorlesung: Reguläre Ausdrücke. TU Dresden, 2. November Markus Krötzsch
FORMALE SYSTEME 7. Vorlesung: Reguläre Ausdrücke Mrkus Krötzsch TU Dresden, 2. November 2017 Rndll Munroe, https://xkcd.com/851_mke_it_better/, CC-BY-NC 2.5 Mrkus Krötzsch, 2. November 2017 Formle Systeme
Mehr5.2 BASIC MSC (BMSC) BASIC MSC. Kommunikation zwischen Instanzen. Message Sequence Charts
BASIC MSC Ein System besteht us Instnzen. Eine Instnz ist eine bstrkte Einheit, deren Interktion mit nderen Instnzen oder mit der Umgebung mn (teilweise) beobchten knn. Instnzen kommunizieren untereinnder
Mehreinlesen n > 0? Ausgabe Negative Zahl
1 Lösungen Kapitel 1 Aufgabe 1.1: Nassi-Shneiderman-Diagramm quadratzahlen Vervollständigen Sie das unten angegebene Nassi-Shneiderman-Diagramm für ein Programm, welches in einer (äußeren) Schleife Integer-Zahlen
MehrUngleichungen. Jan Pöschko. 28. Mai Einführung
Ungleichungen Jn Pöschko 8. Mi 009 Inhltsverzeichnis Einführung. Ws sind Ungleichungen?................................. Äquivlenzumformungen..................................3 Rechnen mit Ungleichungen...............................
MehrSatz 6.5 (Mittelwertsatz der Integralrechnung) Sei f : [a, b] R stetig. Dann gibt es ein ξ [a, b], so dass. b a. f dx = (b a)f(ξ) f dx (b a)m.
Stz 6.5 (Mittelwertstz der Integrlrechnung) Sei f : [, b] R stetig. Dnn gibt es ein ξ [, b], so dss 9:08.06.2015 gilt. f dx = (b )f(ξ) Lemm 6.6 Sei f : [, b] R stetig und m f(x) M für lle x [, b]. Dnn
MehrF Zeiger, Felder und Strukturen in C
F Zeiger, Felder und Strukturen in C F Zeiger, Felder und Strukturen in C 3 Definition von Zeigervariablen F.1 Zeiger(-Variablen) F.1 Zeiger(-Variablen) Syntax: Typ *Name ; 1 Einordnung Konstante: Bezeichnung
MehrBetriebssysteme, Rechnernetze und verteilte Systeme 1. Crashkurs C (2)
Betriebssysteme, Rechnernetze und verteilte Systeme 1 Crashkurs C (2) Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/teaching/ss2008/bsrvs1/
MehrProgrammieren in C/C++ und Matlab
Progrmmieren in C/C und Mtl Sine Schmidt & Sestin Buer Institut für Geowissenschften Christin-Alrechts-Universität zu Kiel Progrmmieren in C/C und Mtl CAU, SS 08 for- / while-schleifen: - numerische Integrlerechnung
MehrDas Rechnen mit Logarithmen
Ds Rechnen mit Logrithmen Etw in der 0. Klssenstufe kommt mn in Kontkt mit Logrithmen. Für die, die noch nicht so weit sind oder die, die schon zu weit dvon entfernt sind, hier noch einml ein kleiner Einblick:
Mehr11. DER HAUPTSATZ DER DIFFERENTIAL- UND INTEGRALRECHNUNG
91 Dieses Skript ist ein Auszug mit Lücken us Einführung in die mthemtische Behndlung der Nturwissenschften I von Hns Heiner Storrer, Birkhäuser Skripten. Als StudentIn sollten Sie ds Buch uch kufen und
MehrS 1. Definition: Ein endlicher Automat ist ein 5-Tupel. Das endliche Eingabealphabet
Der endliche Automt Modell: Eingend rechtsseitig unegrenzt F F F F F F F F F F F F F F Lesekopf S 1 Definition: Ein endlicher Automt ist ein 5-Tupel A = ( Σ;S;F;s 0 ; ϕ ) Dei ist Σ= {e 1;e 2...e n} Ds
MehrMathematik Bruchrechnung Grundwissen und Übungen
Mthemtik Bruchrechnung Grundwissen und Übungen von Stefn Gärtner (Gr) Stefn Gärtner -00 Gr Mthemtik Bruchrechnung Seite Inhlt Inhltsverzeichnis Seite Grundwissen Ws ist ein Bruch? Rtionle Zhlen Q Erweitern
MehrMultiplikative Inverse
Multipliktive Inverse Ein Streifzug durch ds Bruchrechnen in Restklssen von Yimin Ge, Jänner 2006 Viele Leute hben Probleme dbei, Brüche und Restklssen unter einen Hut zu bringen. Dieser kurze Aufstz soll
MehrGrundlagen der Informatik II Übungsblatt: 2, WS 17/18 mit Lösungen
PD. Dr. Prdyumn Shukl Mrlon Brun Micel Wünsche Dr. Friederike Pfeiffer-Bohnen Dr. Luks König Institut für ngewndte Informtik und Formle Beschreibungsverfhren Grundlgen der Informtik II Übungsbltt: 2, WS
MehrFalls die Werte von X als Ergebnisse eines Zufallsvorgangs resultieren, wird X zu einer stetigen Zufallsvariable.
Sttistik I für Sttistiker, Mthemtiker und Informtiker Lösungen zu Bltt 11 Gerhrd Tutz, Jn Ulbricht, Jn Gertheiss WS 7/8 Theorie: Stetige Zufllsvriblen Begriff Stetigkeit: Eine Vrible oder ein Merkml X
MehrLineare Algebra und Numerische Mathematik für D-BAUG
R Käppeli L Herrmnn W Wu Herbstsemester 206 Linere Algebr und Numerische Mthemtik für D-BAUG Beispiellösung für Serie 5 ETH Zürich D-MATH Aufgbe 5 5) Seien u und v Lösungen des LGS Ax = b mit n Unbeknnten
MehrBisher haben wir keine Annahmen bzgl. der Sortierung der gegebenen Werte gemacht, d.h. sie durften in beliebiger Reihenfolge im Array a stehen
4.2.2 Binäre Suche Bisher hben wir keine Annhmen bzgl. der Sortierung der gegebenen Werte gemcht, d.h. sie durften in beliebiger Reihenfolge im Arry stehen Nehmen wir n, dss die Werte im Arry gemäß der
MehrFORMALE SYSTEME. Kleene s Theorem. Wiederholung: Reguläre Ausdrücke. 7. Vorlesung: Reguläre Ausdrücke. TU Dresden, 2.
FORMALE SYSTEME 7. Vorlesung: Reguläre Ausdrücke Mrkus Krötzsch Rndll Munroe, https://xkcd.com/851_mke_it_etter/, CC-BY-NC 2.5 TU Dresden, 2. Novemer 2017 Mrkus Krötzsch, 2. Novemer 2017 Formle Systeme
MehrQuadratische Funktionen
Qudrtische Funktionen Die Scheitelpunktform ist eine spezielle Drstellungsform von qudrtischen Funktionen, nhnd der viele geometrische Eigenschften des Funktionsgrphen bgelesen werden können. Abbildung
MehrVersuchsplanung. Grundlagen. Extrapolieren unzulässig! Beobachtungsbereich!
Versuchsplnung 22 CRGRAPH www.crgrph.de Grundlgen Die Aufgbe ist es Versuche so zu kombinieren, dss die Zusmmenhänge einer Funktion oder eines Prozesses bestmöglich durch eine spätere Auswertung wiedergegeben
MehrExportmodul Artikel-Nr.: 20208
Seite 1 / 5 V5.32 Exportmodul Artikel-Nr.: 20208 Erweiterungsmodul für ds ELV-TimeMster Komplettsystem Hndbuch und Beschreibungen Ab der Version 5 befinden sich die Kurznleitung und ds gesmte Hndbuch ls
Mehr1 Zeiger als Funktionsargumente. U3-1 einfache swap_double Funktion. 1 Zeiger als Funktionsargumente. 1 Zeiger als Funktionsargumente.
U3 3. Üung U3 3. Üung 1 Zeiger l Funktionrgumente U3-1 einfche wp_doule Funktion Aufge 2 U3-1 einfche wp_doule Funktion Prmeter werden in C y-vlue üergeen die ufgerufene Funktion knn den ktuellen Prmeter
MehrFormale Systeme, Automaten, Prozesse SS 2010 Musterlösung - Übung 6 M. Brockschmidt, F. Emmes, C. Fuhs, C. Otto, T. Ströder
Prof Dr J Giesl Formle ysteme, utomten, Prozesse 2010 M rockschmidt, F Emmes, C Fuhs, C Otto, T tröder Hinweise: Die Husufgben sollen in Gruppen von je 2 tudierenden us dem gleichen Tutorium berbeitet
MehrTeil 5: Zeiger, Felder, Zeichenketten Gliederung
Teil 5: Zeiger, Felder, Zeichenketten Gliederung Zeiger und Adressen Felder (Arrays) Zeichenketten (Strings) Zeigerarithmetik Mehrdimensionale Felder Zeiger und Adressen Felder Zeichenketten Zeigerarithmetik
Mehra = c d b Matheunterricht: Gesucht ist x. Physikunterricht Gesucht ist t: s = vt + s0 -s0 s - s0 = vt :v = t 3 = 4x = 4x :4 0,5 = x
Bltt 1: Hilfe zur Umformung von Gleichungen mit vielen Vriblen Im Mthemtikunterricht hben Sie gelernt, wie mn Gleichungen mit einer Vriblen umformt, um diese Vrible uszurechnen. Meistens hieß sie. In Physik
Mehr- 1 - VB Inhaltsverzeichnis
- - VB Inhltsverzeichnis Inhltsverzeichnis... Die Inverse einer Mtrix.... Definition der Einheitsmtrix.... Bedingung für die inverse Mtrix.... Berechnung der Inversen Mtrix..... Ds Verfhren nch Guß mit
MehrGrundbegriffe der Informatik Aufgabenblatt 6
Mtr.nr.: Nchnme: Vornme: Grundbegriffe der Informtik Aufgbenbltt 6 Tutorium: Nr. Nme des Tutors: Ausgbe: 2. Dezember 2015 Abgbe: 11. Dezember 2015, 12:30 Uhr im GBI-Briefksten im Untergeschoss von Gebäude
MehrKapitel 6. Funktionen
Kpitel 6 Funktionen Josef Leydold Mthemtik für VW WS 07/8 6 Funktionen / 49 Reelle Funktion Reelle Funktionen sind Abbildungen, in denen sowohl die Definitionsmenge ls uch die Wertemenge Teilmengen von
MehrFunktionen. Kapitel 6. Reelle Funktion. Graph einer Funktion. Beispiel. Beispiel. Zeichnen eines Graphen. Bijektivität
Reelle Funktion Kpitel 6 Funktionen Reelle Funktionen sind Abbildungen, in denen sowohl die Definitionsmenge ls uch die Wertemenge Teilmengen von R üblicherweise Intervlle) sind. Bei reellen Funktionen
Mehr6. Quadratische Gleichungen
6. Qudrtische Gleichungen 6. Vorbemerkungen Potenzieren und Wurzelziehen, somit uch Qudrieren und Ziehen der Qudrtwurzel, sind entgegengesetzte Opertionen. Sie heben sich gegenseitig uf. qudrieren Qudrtwurzel
MehrEndliche Automaten und ihre Verwendung in der morphologischen Verarbeitung. Hans Uszkoreit
Vorlesung CL Endliche Automten und ihre Verwendung in der morphologischen Verrbeitung Hns Uszkoreit WS 00/01 Automten Automten in der weiteren Bedeutung des Wortes sind ein zentrles Konzept ber nicht forml
MehrIntegrieren. Regeln. Einige Integrale die man auswendig kennen sollte. Partielle Integration
Integrieren Regeln (f() + g())d = f()d + g()d c f()d = c f()d b f()d = f()d b Einige Integrle die mn uswendig kennen sollte s d = s + s+ + C (für s ) d = ln + C cos d = sin + C sin d = cos + C sinh d =
MehrDatenstrukturen & Algorithmen Lösungen zu Blatt 2 FS 12
Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérle de Zurich Politecnico federle di Zurigo Federl Institute of Technology t Zurich Institut für Theoretische Informtik 29 Ferur 2012
MehrU8 7. Übung U8 7. Übung
U8 7. Übung U8 7. Übung Dynamische Speicherverwaltung Generisches Sortieren Aufgabe 7 U8.1 U8-1 Dynamische Speicherverwaltung U8-1 Dynamische Speicherverwaltung Erzeugen von Feldern der Länge n: mittels:
MehrVektoren 105. array-qualifier static restrict const volatile array-size-expression assignment-expression * simple-declarator identifier
Vektoren 105 direct-declarator simple-declarator ( simple-declarator ) function-declarator array-declarator array-declarator direct-declarator [ [ array-qualifier-list ] [ array-size-expression ] ] array-qualifier-list
Mehr1 Metrische Räume. Sei X eine nichtleere Menge. Definition 1.1. Eine Abbildung: d : X X R heißt Metrik auf X, falls für alle x, y, z X gilt
Metrische Räume Sei X eine nichtleere Menge. Definition.. Eine Abbildung: d : X X R heißt Metrik uf X, flls für lle x, y, z X gilt (i) d(x, y) 0, (ii) d(x, y) = d(y, x), (iii) d(x, y) d(x, z) + d(z, y)
MehrKurvenintegrale. 17. Juli 2006 (Korrigierte 2. Version) 1 Kurvenintegrale 1. Art (d.h. f ist Zahl, kein Vektor)
Kurvenintegrle Christin Mosch, Theoretische Chemie, Universität Ulm, christin.mosch@uni-ulm.de 7. Juli 26 (Korrigierte 2. Version Kurvenintegrle. Art (d.h. f ist Zhl, kein Vektor Bei Kurvenintegrlen. Art
MehrGrundlagen zu Datenstrukturen und Algorithmen Schmitt, Schömer SS 2001
Grundlgen zu Dtenstrukturen und Algorithmen Schmitt, Schömer SS 001 http://www.mpi-sb.mpg.de/~sschmitt/info5-ss01 U N S A R I V E R S A V I E I T A S N I S S Lösungsvorschläge für ds 4. Übungsbltt Letzte
MehrGrundlagen der Integralrechnung
Grundlgen der Integrlrechnung Wolfgng Kippels 8. April 018 Inhltsverzeichnis 1 Vorwort Ds unbestimmte Integrl Ds bestimmte Integrl 5 4 Beispielufgben 8 4.1 Beispielufgbe 1...............................
MehrUniversität Karlsruhe Institut für Theoretische Informatik. Klausur: Informatik III
Nme Vornme Mtrikelnummer Lösungsvorschlg Universität Krlsruhe Institut für Theoretische Informtik o. Prof. Dr. P. Snders 8. März 2006 Klusur: Informtik III Aufgbe 1. Multiple Choice 10 Punkte Aufgbe 2.
Mehr2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)
Mehr1KOhm + - y = x LED leuchtet wenn Schalter x gedrückt ist
. Ohm = LED leuchtet wenn chlter gedrückt ist 2. Ohm = NICH ( = NO ) LED leuchtet wenn chlter nicht gedrückt ist = ist die Negtion von? Gibt es so einen kleinen chlter (Mikrotster)? 2. Ohm = UND LED leuchtet
MehrKlausur über den Stoff der Vorlesung Grundlagen der Informatik II (90 Minuten)
Institut für Angewndte Informtik und Formle Beschreiungsverfhren 2.7.24 Klusur üer den Stoff der Vorlesung Grundlgen der Informtik II (9 Minuten) Nme: Vornme: Mtr.-Nr.: Semester: (SS 24) Ich estätige,
MehrTyp : void* aktuelle Parameter Pointer von beliebigem Typ
2. Funktionen - Prototypvereinbarung typangabe funktionsname(parameterliste); - Funktionsdefinition typ funktionsname(parameterliste){ Anweisung - Funktionstyp -> Typ der Funktionswertes zulaessige Typangaben
MehrCrashkurs - Integration
Crshkurs - Integrtion emerkung. Wir setzen hier elementre Kenntnisse des Differenzierens sowie der Produktregel, Quotientenregel und Kettenregel vorus (diese werden später in der VO noch usführlich erklärt).
MehrLösungen Quadratische Gleichungen. x = x x = Also probieren wir es 3 4 = 12. x + + = Lösen Sie die folgenden Gleichungen nach x auf:
Aufgbe : ) Lösen Sie die folgenden Gleichungen nch uf: = kein Problem einfch die Wurel iehen und ds ± nicht vergessen.. = = ±, b) + 5 = 0 Hier hben wir bei jedem Ausdruck ein, lso können wir usklmmern:
MehrUmwandlung von endlichen Automaten in reguläre Ausdrücke
Umwndlung von endlichen Automten in reguläre Ausdrücke Wir werden sehen, wie mn us einem endlichen Automten M einen regulären Ausdruck γ konstruieren knn, der genu die von M kzeptierte Sprche erzeugt.
MehrVorlesung. Einführung in die mathematische Sprache und naive Mengenlehre
Vorlesung Einführung in die mthemtische Sprche und nive Mengenlehre 1 Allgemeines RUD26 Erwin-Schrödinger-Zentrum (ESZ) RUD25 Johnn-von-Neumnn-Hus Fchschft Menge ller Studenten eines Institutes Fchschftsrt
MehrC/C++-Programmierung
1 C/C++-Programmierung Speicherverwaltung, 0, const Sebastian Hack Christoph Mallon (hack mallon)@cs.uni-sb.de Fachbereich Informatik Universität des Saarlandes Wintersemester 2009/2010 2 Speicherverwaltung
MehrÜbungen zu Wurzeln III
A.Nenner rtionl mchen: Nenner ist Qudrtwurzel: 5 bc 1.).).).) 5.) 1 15 9 bc.).) 8.) 9.) 10.) 5 5 B.Nenner rtionl mchen: Nenner ist höhere Wurzel: 1 1 9 5 1 1.).).).) 5.).) 5 C.Nenner rtionl mchen: Nenner
MehrProgrammiertechnik. Teil 4. C++ Funktionen: Prototypen Overloading Parameter. C++ Funktionen: Eigenschaften
Programmiertechnik Teil 4 C++ Funktionen: Prototypen Overloading Parameter C++ Funktionen: Eigenschaften Funktionen (Unterprogramme, Prozeduren) fassen Folgen von Anweisungen zusammen, die immer wieder
Mehr3 Uneigentliche Integrale
Mthemtik für Physiker II, SS 2 Freitg 2.5 $Id: uneigentlich.te,v.7 2/5/2 :49:7 hk Ep $ $Id: norm.te,v.3 2/5/2 2:2:45 hk Ep hk $ 3 Uneigentliche Integrle Am Ende der letzten Sitzung htten wir ds Mjorntenkriterium
MehrG2 Grundlagen der Vektorrechnung
G Grundlgen der Vektorrechnung G Grundlgen der Vektorrechnung G. Die Vektorräume R und R Vektoren Beispiel: Physiklische Größen wie Krft und Geschwindigkeit werden nicht nur durch ihre Mßzhl und ihre Einheit,
MehrResultat: Hauptsatz der Differential- und Integralrechnung
17 Der Huptstz der Differentil- und Integrlrechnung Lernziele: Konzept: Stmmfunktion Resultt: Huptstz der Differentil- und Integrlrechnung Methoden: prtielle Integrtion, Substitutionsregel Kompetenzen:
MehrE Mikrocontroller-Programmierung
E Mikrocontroller-Programmierung E Mikrocontroller-Programmierung E.1 Überblick Mikrocontroller-Umgebung Prozessor am Beispiel AVR-Mikrocontroller Speicher Peripherie Programmausführung Programm laden
MehrKantonale Prüfungen Mathematik I Prüfung für den Übertritt aus der 8. Klasse
Kntonle Prüfungen 0 für die Zulssung zum gymnsilen Unterricht im 9. Schuljhr Mthemtik I Serie H8 Gymnsien des Kntons Bern Mthemtik I Prüfung für den Übertritt us der 8. Klsse Bitte bechten: - Berbeitungsduer:
MehrDef.: Sei Σ eine Menge von Zeichen. Die Menge Σ* aller Zeichenketten (Wörter) über Σ ist die kleinste Menge, für die gilt:
8. Grundlgen der Informtionstheorie 8.1 Informtionsgehlt, Entropie, Redundnz Def.: Sei Σ eine Menge von Zeichen. Die Menge Σ* ller Zeichenketten (Wörter) über Σ ist die kleinste Menge, für die gilt: 1.
MehrProgrammiersprachen Einführung in C
Programmiersprachen Einführung in C Teil 8: Felder und Zeichenketten Prof. Dr. Gliederung Programmiersprachen 1. Von der Maschinensprache zu C 2. Die Struktur von C-Programmen 3. Variable und Datentypen
MehrInhalt. 4.5 Arbeit mit Zeigern (engl. Pointer)
Inhalt Inhalt: 4. Programmiersprache C 4.1 Programmaufbau in C 4.2 Basisdatentypen und einfache Anweisungen 4.3 Steuerfluss-Konstrukte 4.4 Arbeit mit indizierten Größen (Felder) 4.5 Arbeit mit Zeigern
Mehr1. Stegreifaufgabe aus der Physik Lösungshinweise
. Stegreifufgbe us der Physik Lösungshinweise Gruppe A Aufgbe Ds.Newtonsche Gesetz lässt sich zum Beispiel so formulieren: Wirkt uf einen Körper keine Krft (oder ist die Summe ller Kräfte null) so bleibt
MehrEffiziente Algorithmen und Komplexitätstheorie
Effiziente Algorithmen und Komplexitätstheorie Vorlesung Ingo Wegener Vertretung Thoms Jnsen 10042006 1 Ws letzten Donnerstg geschh Linere Optimierung Wiederholung der Grundbegriffe und Aussgen M konvex
MehrGrundlagen der Systemnahen Programmierung in C (GSPiC)
Grundlgen der Systemnhen Progrmmierung in C (GSPiC) Überblick: Teil C Systemnhe Softwreentwicklung 12 Progrmmstruktur und Module Teil C Systemnhe Softwreentwicklung 13 Zeiger und Felder Dniel Lohmnn 14
MehrZeiger (engl. Pointer)
Zeiger (engl. Pointer) Zeiger Ein Zeiger (engl. Pointer) speichert eine Adresse, unter der ein Wert im Speicher des Computers gespeichert werden kann. Eine Variable im Gegensatz speichert einen Wert. Der
MehrArrays 115. array-qualifier static restrict const volatile array-size-expression assignment-expression * simple-declarator identifier
Arrays 115 direct-declarator simple-declarator ( simple-declarator ) function-declarator array-declarator array-declarator direct-declarator [ [ array-qualifier-list ] [ array-size-expression ] ] array-qualifier-list
Mehr3 Hyperbolische Geometrie
Ausgewählte Kpitel der Geometrie 3 Hperbolische Geometrie [... ] Im Folgenden betrchten wir nun spezielle gebrochen-linere Abbildungen, nämlich solche, für die (mit den Bezeichnungen ϕ,b,c,d wie oben die
Mehra Z1 a 1 a 1,2 Diese Matrix hat genau dann Rang 2, ist also genau dann invertierbar, wenn a 2,2 a 1,2a 2,1
18 Determinnten 207 18 Determinnten Nchdem wir nun schon recht usführlich Mtrizen und linere Gleichungssysteme studiert hben, wollen wir jetzt die sogennnten Determinnten einführen, die beim Rechnen mit
Mehr7.9A. Nullstellensuche nach Newton
7.9A. Nullstellensuche nch Newton Wir hben früher bemerkt, dß zur Auffindung von Nullstellen einer gegebenen Funktion oft nur Näherungsverfhren helfen. Eine lte, ber wirkungsvolle Methode ist ds Newton-Verfhren
MehrTeil 1: Rechenregeln aus der Mittelstufe. Allgemeine Termumformungen
Teil 1: Rechenregeln us der Mittelstufe Allgemeine Termumformungen Kommuttivgesetz: Bei reinen Produkten oder Summen ist die Reihenfolge egl x y z = z y x = x z y =.. x+y+z = z+y+x = x+z+y =.. Ausklmmern:
MehrAlgebra-Training. Theorie & Aufgaben. Serie 3. Bruchrechnen. Theorie: Katharina Lapadula. Aufgaben: Bernhard Marugg. VSGYM / Volksschule Gymnasium
Algebr-Trining Theorie & Aufgben Serie Bruchrechnen Theorie: Kthrin Lpdul Aufgben: Bernhrd Mrugg VSGYM / Volksschule Gymnsium Liebe Schülerin, lieber Schüler Der Leitspruch «Übung mcht den Meister» gilt
MehrKapitel 10. Integration. Josef Leydold Mathematik für VW WS 2015/16 10 Integration 1 / 35
Kpitel 0 Integrtion Josef Leydold Mthemtik für VW WS 205/6 0 Integrtion / 35 Flächeninhlt Berechnen Sie die Inhlte der ngegebenen Flächen! f (x) = Fläche: A = f (x) = +x 2 Approximtion durch Treppenfunktion
Mehr5.1 Charakterisierung relativ kompakter und kompakter
Kpitel 5 Kompkte Mengen 5.1 Chrkterisierung reltiv kompkter und kompkter Mengen X sei im weiteren ein Bnchrum. Definition 5.1. Eine Menge K X heißt kompkt, wenn us jeder offenen Überdeckung von K eine
MehrVerlauf Material LEK Glossar Lösungen. In acht Leveln zum Meister! Exponentialgleichungen lösen. Kerstin Langer, Kiel VORANSICHT
Eponentilgleichungen lösen Reihe 0 S Verluf Mteril LEK Glossr Lösungen In cht Leveln zum Meister! Eponentilgleichungen lösen Kerstin Lnger, Kiel Klsse: Duer: Inhlt: Ihr Plus: 0 (G8) 5 Stunden Eponentilgleichungen
MehrBeispiellösungen zu Blatt 24
µthemtischer κorrespondenz- zirkel Mthemtisches Institut Georg-August-Universität Göttingen Aufge Beispiellösungen zu Bltt Mn eweise, dss mn ein Qudrt für jede Zhl n 6 in genu n kleinere Qudrte zerlegen
Mehr10: Lineare Abbildungen
Chr.Nelius: Linere Alger SS 2008 1 10: Linere Aildungen 10.1 BEISPIEL: Die Vektorräume V 2 und Ê 2 hen diegleiche Struktur. Es git eine ijektive Aildung f : V 2 Ê 2, die durch die Vorschrift definiert
MehrBrückenkurs Lineare Gleichungssysteme und Vektoren
Brückenkurs Linere Gleichungssysteme und Vektoren Dr Alessndro Cobbe 30 September 06 Linere Gleichungssyteme Ws ist eine linere Gleichung? Es ist eine lgebrische Gleichung, in der lle Vriblen nur mit dem
Mehr4 Stetigkeit. 4.1 Intervalle
4 Stetigkeit Der Grenzwertbegriff für Zhlenfolgen lässt sich uf Funktionen übertrgen. Funktionen (oder Abbildungen) wren bereits im Kpitel über Mengen ufgetreten. Hier wird nun der Fll betrchtet, dss Definitionsbereich
MehrGrundlagen der Integralrechnung
Grundlgen der Integrlrechnung W. Kippels 0. April 2014 Inhltsverzeichnis 1 Ds unbestimmte Integrl 2 2 Ds bestimmte Integrl 4 Beispielufgben 7.1 Beispielufgbe 1............................... 7.2 Beispielufgbe
Mehr12. STAMMFUNKTIONEN UND DAS UNBESTIMMTE INTEGRAL
98 Dieses Skript ist ein Auszug mit Lücken us Einführung in die mthemtische Behndlung der Nturwissenschften I von Hns Heiner Storrer, Birkhäuser Skripten. Als StudentIn sollten Sie ds Buch uch kufen und
MehrRWTH Aachen Lehrgebiet Theoretische Informatik Rossmanith Dreier Hark Kuinke. SS 2017 Blatt
RWTH Achen Lehrgeiet Theoretische Informtik Rossmnith Dreier Hrk Kuinke SS 2017 Bltt 4 22.5.2017 Lösungsvorschlg zur Vorlesung Formle Sprchen, Automten und Prozesse Aufge T11 1. L, d L, er / L. L, d für
Mehr2. Funktionen in der Ökonomie
FHW, ZSEBY, ANALYSIS - - Funktionen in der Ökonomie Beispiele: qudrtische Funktionen, Eponentilfunktion Qudrtische Funktionen Einfchste qudrtische Funktion: y = Allgemeine qudrtische Funktion: y = + b
Mehr14. INTEGRATION VON VEKTORFUNKTIONEN
120 Dieses Skript ist ein Auszug mit Lücken us Einführung in die mthemtische Behndlung der Nturwissenschften I von Hns Heiner Storrer, Birkhäuser Skripten. Als StudentIn sollten Sie ds Buch uch kufen und
MehrDer Gauß - Algorithmus
R Brinkmnn http://brinkmnn-du.de Seite 7..9 Der Guß - Algorithmus Der Algorithmus von Guss ist ds universelle Verfhren zur Lösung beliebiger linerer Gleichungssysteme. Einführungsbeispiel: 7x+ x 5x = Drei
MehrDynamische Speicherverwaltung
Dynamische Speicherverwaltung INE2 M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was geht es? Bisjetzt Beispiel Ranglistenprogramm für Sportveranstaltungen Besser - genaue Anzahl Teilnehmer
MehrVorkurs Mathematik für Ingenieur Innen WS 2017/2018 Übung 3. (a) Berechnen Sie die fehlenden Strecken und Winkel im folgenden rechtwinkligen Dreieck:
Prof. Dr. J. Pnnek Dynmics in Logistics Vorkurs Mthemtik für Ingenieur Innen WS 207/208 Übung 3 Aufgbe : Trigonometrie () Berechnen Sie die fehlenden Strecken und Winkel im folgenden rechtwinkligen Dreieck:
MehrDoppel- und Dreifachintegrale
KAPITEL 6 Doppel- und Dreifchintegrle 6. Doppelintegrle................................... 74 6.. Flächeninhlt ebener ereiche.......................... 74 6..2 Definition und Eigenschften des Doppelintegrls..............
Mehr2. Das Rechnen mit ganzen Zahlen (Rechnen in )
. Ds Rechnen mit gnzen Zhlen (Rechnen in ).1 Addition und Subtrktion 5 + = 7 Summnd Summnd Summe 5 - = 3 Minuend Subtrhend Differenz In Aussgen mit Vriblen lssen sich nur gleiche Vriblen ddieren bzw. subtrhieren.
Mehr