Programmieren in C Einführung

Slides:



Advertisements
Ähnliche Präsentationen
Hochschule Fulda – FB ET Sommersemester 2010
Advertisements

Programmiersprachen Eine allgemeine Übersicht der gängigsten Sprachen und ihrer Einteilung Gabriel Bretschner IG08 Fach: Informatiksysteme Einleitung Definition.
Referat von Frederik Barth
Hochschule Fulda – FB ET Sommersemester 2010
Hochschule Fulda – FB ET Sommersemester 2010
Lösung 7.1 Syntax und Semantik
Entwicklung der Programmiersprachen
Das Java-Hamstermodell
Seite 1 Prof. J. WALTER Kurstitel Stand: Januar 2000 mc Mikrocomputertechnik Herzlich Willkommen Prof. Jürgen Walter.
Einführung Inhalte dieses Kurses Generationen der Programmiersprachen
Simple Programmierung
? Was ist Informatik? Was ist Informatik? Alexander Lange
Einführung in die Programmiersprache Java
CGI (Common Gateway Interface)
Programmieren in C Einführung
Interpreter & Compiler
Informatik II Grundlagen der Programmierung Programmieren in C Programmstrukturen / Kontrollstrukturen Hochschule Fulda – FB ET Sommersemester 2014.
Programmieren in C Einführung
Programmieren in C Dynamische Listen / Bäume
Software der EDV-Anlage
Programmieren in C Grundlagen C 2
Informatik II Grundlagen der Programmierung Programmieren in C printf() mit variabler Feldbreite Hochschule Fulda – FB ET Sommersemester 2014
Programmieren in C Einführung
Hochschule Fulda – FB ET Sommersemester 2014
Hochschule Fulda – FB ET Sommersemester 2014
Informatik II Grundlagen der Programmierung Programmieren in C Funktionen, Adressen, Zeiger Hochschule Fulda – FB ET Sommersemester 2014
Informatik II Grundlagen der Programmierung Programmieren in C Ausflug printf() Hochschule Fulda – FB ET Sommersemester 2014
Hochschule Fulda – FB ET Sommersemester 2014
Programmieren in C Annäherung an C
Programmieren in C Module und Bibliotheken Hochschule Fulda – FB AI Sommersemester Peter Klingebiel, HS Fulda, DVZ.
Programmieren in C Grundlagen C 2
Programmieren in C Sortieren, Suchen
2 Grundlagen In diesem Abschnitt werden die Grundbegriffe und Methoden der Theorie der formalen Sprachen und der Automaten wiederholt, soweit diese ben.
Lernlandkarte OOP (ObjektOrientiertes Programmieren)
Sprachen und Programmiersprachen
Programmieren Hexenwerk oder Zauberspuk? Kinderuniversität Mittwoch, 16. März 2016 Kinder-Akademie Fulda & Hochschule Fulda Peter Klingebiel, HS Fulda,
Webseiten – HTML Gliederung 1.Einführung in HTML 2.Aufbau einer einfachen Webseite.
Tobias Sammet 8DY1 Programmieren Tobias Sammet 8DY2 Programmierung ● = das Schreiben eines Computerprogramms ● Dient zur Lösung eines.
Programmieren in C / C++ ESP8266-Boards und das Internet der Dinge
Praktische Informatik 1
Programmieren in C Annäherung an C
Scratch Einführung in die Programmierung
Programmieren und Problemlösen
Power Point Präsentationsvorlagen
Praktische Informatik 1
Kurswahlen Einführungsphase
Programmieren in C Dynamische Listen / Bäume
Eine Präsentation von Sandro Schluep und Leon Wink.
Programmieren in C Zeichen-/Stringfunktionen Dynamischer Speicher
Projektmodul DM Wearables
Programmieren in C Grundlagen C 2
Programmieren in C / C++ Software Serial, Bluetooth
Hochschule Fulda – FB AI Sommersemester 2017
Programmieren in C Wie speichert C
Einführung in die Programmierung
Materialien zum Informatikunterricht (Pohlig-Häberle)
Hochschule Fulda – FB AI Wintersemester 2014/15
Projektmodul DM Kurze Einführung Arduino und Arduino-Programmierung
Projektmodul DM Wearables
Programmieren in C Module und Bibliotheken
Einführung in die Programmierung
Kurswahlen Einführungsphase
Eingabegerät Die Tastatur
Medizinische Statistik und Informationsverarbeitung
Einführung in die Programmierung
Einführung in die Programmierung
1. Die rekursive Datenstruktur Liste 1.3 Rekursive Funktionen
Begriffe der Programmierung
Einführung in die Programmierung
 Präsentation transkript:

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

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

Zur Vorlesung Peter Klingebiel Webseite der Vorlesung 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

Programmieren C ??? Programmieren in C 1 in Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

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

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

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, Pseudocode euklid(a, b) wenn a = 0 dann liefere b sonst solange b ≠ 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 Start Programm ... Start Schleife Wenn nicht eingeschaltet Schleife verlassen Temperatur messen Wenn Temperatur >= Solltemperatur Heizen aus / Kontakt öffnen Sonst Heizen ein / Kontakt schließen Ende Schleife Ende Programm Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

Euklidischer Algorithmus 4 Alter Algorithmus, rekursiv, Pseudocode euklid(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 Start Programm ... Start Schleife Wenn nicht eingeschaltet Schleife verlassen Temperatur messen Wenn Temperatur >= Solltemperatur Heizen aus / Kontakt öffnen Sonst Heizen ein / Kontakt schließen Ende Schleife Ende Programm Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

Euklidischer Algorithmus 6 Neuer Algorithmus, iterativ, Pseudocode euklid(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 Start Programm ... Start Schleife Wenn nicht eingeschaltet Schleife verlassen Temperatur messen Wenn Temperatur >= Solltemperatur Heizen aus / Kontakt öffnen Sonst Heizen ein / Kontakt schließen Ende Schleife Ende Programm Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

Euklidischer Algorithmus 8 Neuer Algorithmus, rekursiv, Pseudocode euklid(a, b) wenn b = 0 dann liefere a sonst liefere euklid(b, a modulo b) Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

Euklidischer Algorithmus 9 Start Programm ... Start Schleife Wenn nicht eingeschaltet Schleife verlassen Temperatur messen Wenn Temperatur >= Solltemperatur Heizen aus / Kontakt öffnen Sonst Heizen ein / Kontakt schließen Ende Schleife Ende Programm Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

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

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

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

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

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

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

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

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

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

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

Algorithmus Temperaturregelung ? Start Programm ... Start Schleife Wenn nicht eingeschaltet Schleife verlassen Temperatur messen Wenn Temperatur >= Solltemperatur Heizen aus / Kontakt öffnen Sonst Heizen ein / Kontakt schließen Ende Schleife Ende Programm Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

Temperaturregelung in Assembler Start Programm ... Start Schleife Wenn nicht eingeschaltet Schleife verlassen Temperatur messen Wenn Temperatur >= Solltemperatur Heizen aus / Kontakt öffnen Sonst Heizen ein / Kontakt schließen Ende Schleife Ende Programm Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

Temperaturregelung in C Start Programm ... Start Schleife Wenn nicht eingeschaltet Schleife verlassen Temperatur messen Wenn Temperatur >= Solltemperatur Heizen aus / Kontakt öffnen Sonst Heizen ein / Kontakt schließen Ende Schleife Ende Programm 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

Hardware / Rechner / CPU 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 Skriptsprachen werden während der Ausführung vom Sprachinterpreter in Maschinencode übersetzt. Beispiele: Shell, Perl, PHP, SQL, Basic Compilersprachen mü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 Paradigmata Typisierung 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

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

Programmentwicklung 1 Problem analysieren Modell entwerfen Algorithmus entwickeln Programm kodieren Programm übersetzen (bis syntaktisch fehlerfrei) Programm testen (bis semantisch fehlerfrei ?) Programm produktiv Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

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

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

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

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

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