1 / 44

Programmieren in C Einführung

Programmieren in C Einführung. Hochschule Fulda – FB AI Wintersemester 2014/15 http://c-ai.rz.hs-fulda.de Peter Klingebiel, HS Fulda, DVZ. Zur Vorlesung. Peter Klingebiel Dipl. Ing. Maschinenbau Leiter DVZ HS Fulda Raum E318 Telefon 0661/9640-172 http://www.hs-fulda.de/~klingebiel

Download Presentation

Programmieren in C Einführung

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programmieren in CEinführung Hochschule Fulda – FB AI Wintersemester 2014/15 http://c-ai.rz.hs-fulda.de Peter Klingebiel, HS Fulda, DVZ

  2. Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  3. Zur Vorlesung Peter Klingebiel Dipl. Ing. Maschinenbau Leiter DVZ HS Fulda Raum E318 Telefon 0661/9640-172 http://www.hs-fulda.de/~klingebiel mailto:klingebiel@hs-fulda.de Webseite der Vorlesung Folien, Aufgaben, Demoprogramme, Links usw. http://c-ai.rz.hs-fulda.de Programmieren in C - Peter Klingebiel - HS Fulda - DVZ Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 3

  4. Programmieren in C 1 • Programmieren • in • C ??? Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  5. Programmieren in C 2 Quelle: Eines Tages - Spiegel Online Programmieren in C - Peter Klingebiel - HS Fulda - DVZ Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 5

  6. Programmieren in C 3 Quelle: Eines Tages - Spiegel Online Programmieren in C - Peter Klingebiel - HS Fulda - DVZ Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 6

  7. Programmieren !?!?!? Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. Euklidischer Algorithmus 3 Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  14. 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

  15. Euklidischer Algorithmus 5 Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  16. 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

  17. Euklidischer Algorithmus 7 Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  18. 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

  19. Euklidischer Algorithmus 9 Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  20. Kochrezept 1 Programmieren in C - Peter Klingebiel - HS Fulda - DVZ Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 20

  21. Kochrezept 2 Programmieren in C - Peter Klingebiel - HS Fulda - DVZ Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 21

  22. Montageanleitung Programmieren in C - Peter Klingebiel - HS Fulda - DVZ Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 22

  23. Kaffee kochen 1 Programmieren in C - Peter Klingebiel - HS Fulda - DVZ Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 23

  24. Kaffee kochen 2 Programmieren in C - Peter Klingebiel - HS Fulda - DVZ Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 24

  25. Kaffee kochen 3 Programmieren in C - Peter Klingebiel - HS Fulda - DVZ Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 25

  26. Temperaturregelung Bügeleisen 1 Programmieren in C - Peter Klingebiel - HS Fulda - DVZ Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 26

  27. Temperaturregelung Bügeleisen 2 Schematischer Aufbau Programmieren in C - Peter Klingebiel - HS Fulda - DVZ Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 27

  28. Temperaturregelung Bügeleisen 3 Wirkungsplan / Regelkreis Programmieren in C - Peter Klingebiel - HS Fulda - DVZ Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 28

  29. Temperaturregelung Bügeleisen 4 Temperaturverlauf Programmieren in C - Peter Klingebiel - HS Fulda - DVZ Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 29

  30. Algorithmus Temperaturregelung ? Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  31. Temperaturregelung in Assembler Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  32. Temperaturregelung in C Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  33. 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

  34. 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

  35. 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

  36. 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

  37. Programmiersprachen 5 • 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

  38. Programmiersprachen 7 • Beispiele Typisierung • Stammbaum Programmiersprachen (Wikipedia) Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  39. Programmentwicklung 1 • 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

  40. Programmentwicklung 2 Friedemann Weise: Doppelkaffeetasse (auf youtube) Programmieren in C - Peter Klingebiel - HS Fulda - DVZ Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 40

  41. Programmentwicklung 3 Beispiel: Entwicklungsumgebungen für C Kommandozeile mit Systemtools Unix / Linux / Windows / iOS: Editor, Systemcompiler (gcc), Debugger, usw. GCC (http://gcc.gnu.org/) Integrierte Entwicklungsumgebung (IDE) NetBeans (https://netbeans.org/) z.B. mit Cygwin (http://www.cygwin.com/) Code::Blocks (http://www.codeblocks.org/) z.B. mit MinGW (http://www.mingw.org/) u.v.a.m. Programmieren in C - Peter Klingebiel - HS Fulda - DVZ Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 41

  42. Mikrokontroller 1 Beispiel: Arduino Uno Programmieren in C - Peter Klingebiel - HS Fulda - DVZ Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 42

  43. Mikrokontroller 2 Beispiel: Arduino Nano Programmieren in C - Peter Klingebiel - HS Fulda - DVZ Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 43

  44. Mikrokontroller 3 Programmieren in C - Peter Klingebiel - HS Fulda - DVZ Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 44

More Related