380 likes | 550 Views
Informatik II Grundlagen der Programmierung Programmieren in C Einführung. Hochschule Fulda – FB ET Sommersemester 2010 http://www.rz.hs-fulda.de/et Peter Klingebiel, HS Fulda, DVZ. Programmieren in C. Programmieren ??? in C. Programmieren in C. Programmieren in C ???.
E N D
Informatik IIGrundlagen der ProgrammierungProgrammieren in CEinführung Hochschule Fulda – FB ET Sommersemester 2010 http://www.rz.hs-fulda.de/et Peter Klingebiel, HS Fulda, DVZ
Programmieren in C • Programmieren ??? • in • C Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Programmieren in C • Programmieren • in • C ??? Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Programmieren ??? Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Programmieren !!! Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Programmieren • Wikipedia:http://de.wikipedia.org/wiki/Programmierung • Definition:„Programmieren ist eine Tätigkeit, bei der versucht wird, durch systematischen Einsatz einer gegebenen Programmiersprache ein gestelltes Problem zu lösen.“aus: H. Balzert, Lehrbuch Grundlagen der Informatik, 1999 Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Programm • Wikipedia:http://de.wikipedia.org/wiki/Computerprogramm • Definition:„Algorithmen, die von einem automatischen Prozessor abgearbeitet werden, bezeichnet man als Programme. Ein Programm stellt die Realisierung eines Algorithmus dar. Im Gegensatz zu einem Algorithmus ist ein Programm konkreter und eingeschränkter.“aus: Balzert, Lehrbuch ... Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Algorithmus • Wikipedia:http://de.wikipedia.org/wiki/Algorithmus • Definition:„Algorithmus (Plural: Algorithmen), Problemlösungsbeschreibung, die festlegt, wie ein Problem gelöst werden soll.“aus: Balzert, Lehrbuch ... Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Euklidischer Algorithmus 1 • Wikipedia:http://de.wikipedia.org/wiki/Euklidischer_Algorithmus • „Wenn CD aber AB nicht misst, und man nimmt bei AB, CD abwechselnd immer das kleinere vom größeren weg, dann muss (schließlich) eine Zahl übrig bleiben, die die vorangehende misst.“aus: Euklid, Die Elemente, hrg. v. C. Thaer • Algorithmus zur Bestimmung des größten gemeinsamen Teilers (ggT) Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Euklidischer Algorithmus 2 • Alter Algorithmus, iterativ, Pseudocodeeuklid(a, b)wenn a = 0 dann liefere b sonst solangeb ≠ 0 wenn a > b dann a = a – b sonst b = b – a liefere a Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Euklidischer Algorithmus 3 Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Euklidischer Algorithmus 4 • Alter Algorithmus, rekursiv, Pseudocodeeuklid(a, b) wenn b = 0 dann liefere a sonst wenn a = 0 dann liefere b sonst wenn a > b dann liefere euclid(a-b, b) sonst liefere euklid(a, b-a) Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Euklidischer Algorithmus 5 Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Euklidischer Algorithmus 6 • Neuer Algorithmus, iterativ, Pseudocodeeuklid(a, b) solange b ≠ 0 h = a modulo b a = b b = h liefere a Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Euklidischer Algorithmus 7 Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Euklidischer Algorithmus 8 • Neuer Algorithmus, rekursiv, Pseudocodeeuklid(a, b) wenn b = 0 dann liefere a sonstliefere euklid(b, a modulo b) Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Euklidischer Algorithmus 9 Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Kochrezept 1 Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Kochrezept 2 Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Montageanleitung Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Temperaturregelung Bügeleisen 1 Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Temperaturregelung Bügeleisen 2 • Schematischer Aufbau Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Temperaturregelung Bügeleisen 3 • Wirkungsplan / Regelkreis Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Temperaturregelung Bügeleisen 4 • Temperaturverlauf Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Algorithmus Temperaturregelung ??? Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Temperaturregelung in Assembler Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Temperaturregelung in C Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Programmiersprachen 1 • Wikipedia:http://de.wikipedia.org/wiki/Programmiersprache • Definition:„Um Problemlösungen in einem Formalismus niederschreiben zu können, legt man Programmiersprachen fest.“aus: Balzert, Lehrbuch ... Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Programmiersprachen 2 • Eine Programmiersprache ist eine formale Sprache (im Gegensatz z.B. zur Umgangs-sprache) • Programmiersprachen haben ein exakt de-finiertes Alphabet (i.d.R. Buchstaben, Ziffern und Sonderzeichen) • Programmiersprachen haben einen meist sehr kleinen Wortschatz (C etwa kennt nur 32 Worte!) • Programmiersprachen haben i.d.R. eine exakt einzuhaltende Syntax Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Programmiersprachen 3 Problemstellung Hochsprachen (z.B. Fortran, Pascal, C, C++, Java, SQL, PHP) Assemblersprachen (für reale oder virtuelle Maschine / CPU) Maschinensprachen (Bitcode, Bytecode, Microcode) Hardware / Rechner / CPU Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Programmiersprachen 4 • Skriptsprachenwerden während der Ausführung vom Sprachinterpreter in Maschinencode übersetzt.Beispiele: Shell, Perl, PHP, SQL, Basic • Compilersprachenmüssen vor der Ausführung von einem Übersetzersystem (Compiler, Linker) in Maschinencode übersetzt werden.Beispiele: Pascal, C, C++, C#, Java Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Programmiersprachen 5 • Skriptsprachen • Compilersprachen Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Programmiersprachen 6 • Paradigmata • Imperative Sprachen (Fortran, Pascal, C, Ada) • Deklarative Sprachen (SQL, Lisp) • Objektorientierte Sprachen (Java, C++) • Nebenläufige Sprachen (Ada, Java, Par C) • Typisierung • Typenlose Sprachen (JavaScript, PHP) • Stark typisierte Sprachen (Ada) • Schwach typisierte Sprachen (C, C++) Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Programmiersprachen 7 • Beispiele Typisierung • Stammbaum Programmiersprachen (Wikipedia) Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Programmentwicklung • Problem analysierenModell entwerfenAlgorithmus entwickeln • Programm kodieren • Programm übersetzen(bis syntaktisch fehlerfrei) • Programm testen(bis semantisch fehlerfrei ?) • Programm produktiv Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Programmiersprache C • Was kennen wir schon von C? Programmieren in C - Peter Klingebiel - HS Fulda - DVZ