12.07.2015 Aufrufe

Prozedurale Programmierung in C - Public.fh-wolfenbuettel.de

Prozedurale Programmierung in C - Public.fh-wolfenbuettel.de

Prozedurale Programmierung in C - Public.fh-wolfenbuettel.de

MEHR ANZEIGEN
WENIGER ANZEIGEN
  • Keine Tags gefunden...

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Fachhochschule Braunschweig / Wolfenbüttel- University of Applied Sciences -E<strong>in</strong>führung <strong>in</strong> die <strong>Programmierung</strong>Teil A: <strong>Prozedurale</strong> <strong>Programmierung</strong> <strong>in</strong> CFachbereich WirtschaftW<strong>in</strong>tersemester 2006/07Dipl.-Inform. Holger MärtensWolfsburg, 22.09.2006


Fachhochschule Braunschweig / Wolfenbüttel- University of Applied Sciences -Folien zum Kapitel 1:Allgeme<strong>in</strong>e Grundlagen


Fachhochschule Braunschweig / Wolfenbüttel- University of Applied Sciences -Algorithmus vs. ProgrammBsp.: Sortierung e<strong>in</strong>es Fel<strong>de</strong>sJeweils 2 benachbarte Schlüssel wer<strong>de</strong>n verglichen.Ist Zahl[i] > Zahl[i+1], so wer<strong>de</strong>n Schlüssel vertauscht.Das größte Element steigt <strong>in</strong> je<strong>de</strong>m Durchgang ansEn<strong>de</strong>.Sortierung ist been<strong>de</strong>t, wenn ke<strong>in</strong>e Vertauschung mehrerfolgt ist, o<strong>de</strong>r spätestens nach n–1 Durchläufen.Fachbereich WirtschaftPrivate Sub BubbleSort()Dim LB&, UB&, TEMP&, Pos&, X&LB = LBound(Feld)UB = UBound(Feld)While UB > LBPos = LBFor X = LB To UB - 1If Feld(X) > Feld(X + 1) ThenTEMP = Feld(X + 1)Feld(X + 1) = Feld(X)Feld(X) = TEMPPos = XEnd IfNext XUB = PosWendEnd Sub<strong>Prozedurale</strong> <strong>Programmierung</strong> <strong>in</strong> CW<strong>in</strong>tersemester 2006/07 – Version 1.0Quelle: http://olli.<strong>in</strong>formatik.uni-ol<strong>de</strong>nburg.<strong>de</strong>/fpsort/Animation.htmlDipl.-Inform. Holger Märtens3


Fachhochschule Braunschweig / Wolfenbüttel- University of Applied Sciences -Fachbereich WirtschaftSyntaxdiagramm, Automat, Grammatik<strong>Prozedurale</strong> <strong>Programmierung</strong> <strong>in</strong> CW<strong>in</strong>tersemester 2006/07 – Version 1.0Dipl.-Inform. Holger Märtens4


Fachhochschule Braunschweig / Wolfenbüttel- University of Applied Sciences -Fachbereich WirtschaftGenerationen von Programmiersprachen2. Generation: Assemblersprachen – Beispiel:MARK1 = LDA ARGUMADD 1SPA ARGUM3. Generation: höhere Programmiersprachen – Beispiel <strong>in</strong> C:<strong>in</strong>t ggT (<strong>in</strong>t m, <strong>in</strong>t n){if (n == 0) return m;else return ggT (n, m % n);}<strong>Prozedurale</strong> <strong>Programmierung</strong> <strong>in</strong> CW<strong>in</strong>tersemester 2006/07 – Version 1.0Dipl.-Inform. Holger Märtens5


Fachhochschule Braunschweig / Wolfenbüttel- University of Applied Sciences -Fachbereich WirtschaftBeispiel für prozedurale <strong>Programmierung</strong>:Fakultätsfunktion <strong>in</strong> BASIC10 INPUT N E<strong>in</strong>gabe20 LET F = 1 Zuweisung30 FOR I = N DOWNTO 1 |40 LET F = F * I | Schleife (e<strong>in</strong> Block)50 NEXT I |60 PRINT F Ausgabe<strong>Prozedurale</strong> <strong>Programmierung</strong> <strong>in</strong> CW<strong>in</strong>tersemester 2006/07 – Version 1.0Dipl.-Inform. Holger Märtens6


Fachhochschule Braunschweig / Wolfenbüttel- University of Applied Sciences -Beispiel für objektorientierte <strong>Programmierung</strong>:Fakultätsfunktion <strong>in</strong> JavaFachbereich Wirtschaftclass IntegerNumberKlasse{private <strong>in</strong>t value = 0;Datumpublic void setValue (<strong>in</strong>t v) Metho<strong>de</strong>{value = v;};public <strong>in</strong>t computeFaculty (); Metho<strong>de</strong>{<strong>in</strong>t f = 1;<strong>in</strong>t n = value;while (n > 0) { f = f * n; n--; };return f;};};<strong>Prozedurale</strong> <strong>Programmierung</strong> <strong>in</strong> CW<strong>in</strong>tersemester 2006/07 – Version 1.0Dipl.-Inform. Holger Märtens7


Fachhochschule Braunschweig / Wolfenbüttel- University of Applied Sciences -Fachbereich WirtschaftBeispiel für funktionale <strong>Programmierung</strong>:Fakultätsfunktion <strong>in</strong> MLfun fak n =IF n = 0 |THEN 1| Fall-ELSE| unter-IF n = 1| scheidungTHEN 1 |ELSE n * fak (n–1); rekursiver Aufruf<strong>Prozedurale</strong> <strong>Programmierung</strong> <strong>in</strong> CW<strong>in</strong>tersemester 2006/07 – Version 1.0Dipl.-Inform. Holger Märtens8


Fachhochschule Braunschweig / Wolfenbüttel- University of Applied Sciences -Fachbereich WirtschaftBeispiel für Logikprogrammierung:Fakultätsfunktion <strong>in</strong> Prologfak (0, 1).Faktfak (1, 1).Faktfak (n, f) :– fak (n–1, ff), f = ff * n. Regel?- fak (5, 110). Hypotheseno?- fak (5, 120).yes?- fak (5, x).x = 120<strong>Prozedurale</strong> <strong>Programmierung</strong> <strong>in</strong> CW<strong>in</strong>tersemester 2006/07 – Version 1.0Dipl.-Inform. Holger Märtens9

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!