Sunteți pe pagina 1din 20

Programmieren 1 Programmieren 1

Institut fr Mikroelektronik
G h t 27 29/E360 5 St k
Oskar Baumgartner, Johann Cervenka, Otmar Ertl,
Wolfgang Gs, Tibor Grasser, Philipp
Hehenberger, Hans Kosina, Erasmus Langer,
Philipp Schwaha, Siegfried Selberherr
Guhausstrae 27-29/E360, 5. Stock
Tel.: +43(1)58801-36001
http://www.iue.tuwien.ac.at
service@iue.tuwien.ac.at
sekretariat@iue.tuwien.ac.at
Buch zur Lehrveranstaltung Buch zur Lehrveranstaltung
Programmieren in C
R b t Kli Si f i d S lb h Robert Klima, Siegfried Selberherr
Springer Verlag, 2003
2. Auflage, 2007
Beinhaltet den Stoff der Vorlesungen
Programmieren 1 und
Programmieren 2 !
Institut fr Mikroelektronik
Quelltexte zum Download
http://www.iue.tuwien.ac.at/vu_programmieren1
Der erste Transistor Der erste Transistor (= (= Trans Transconductance Var conductance Varistor istor))
Institut fr Mikroelektronik
23.Dezember 1947
Die Erfinder des Transistoreffekts Die Erfinder des Transistoreffekts (1956 Nobelpreis fr Physik) (1956 Nobelpreis fr Physik)
Institut fr Mikroelektronik
Walter Brattain, William Shockley, John Bardeen
Programmieren 1 - WS 2009/10 Institut fr Mikroelektronik 1
Die Idee zur integrierten Schaltung Die Idee zur integrierten Schaltung (2000 Nobelpreis fr Physik) (2000 Nobelpreis fr Physik)
Institut fr Mikroelektronik
Jack Kilby, 1959
Eine der ersten integrierten Schaltungen Eine der ersten integrierten Schaltungen
Institut fr Mikroelektronik
Robert Noyce, 1959 - Patent No 2,981,877, 1961
Das Prinzip des MOS Das Prinzip des MOS- -Transistors Transistors
V
GS
n+ n+
S
G
D
V
DS
> V
GS
- V
T
V
GS
- V
T
+ -
Institut fr Mikroelektronik
Julius Lilienfeld, 1928 - Patent No 1,900,028, 1933
GS T
Komplementre MOS Komplementre MOS--Transistoren (CMOS) Transistoren (CMOS)
Institut fr Mikroelektronik
Frank Wanlass, 1963 - Patent No 3,356,858, 1967
Programmieren 1 - WS 2009/10 Institut fr Mikroelektronik 2
Komplementre MOS Komplementre MOS--Transistoren (CMOS) Transistoren (CMOS)
Institut fr Mikroelektronik
Frank Wanlass, 1963 - Patent No 3,356,858, 1967
Das Mooresche Gesetz Das Mooresche Gesetz
Die Anzahl der
Bauelemente in einer
integrierten Schaltung
verdoppelt sich alle 18
Monate
Keine Sttigung in
Institut fr Mikroelektronik
1975 Gordon Moore, Mitgrnder von
g g
Sicht
Der erste Mikroprozessor: 4004 Der erste Mikroprozessor: 4004
1971
2250 Transistoren
10 m Strukturgre
100 kHz
10.81 mm
2
Institut fr Mikroelektronik
Der Der Alpha Mikroprozessor Alpha Mikroprozessor
1992
1 68 Mio Transistoren 1,68 Mio Transistoren
0,75 m Strukturgre
200 MHz
233,5 mm
2
Institut fr Mikroelektronik
Programmieren 1 - WS 2009/10 Institut fr Mikroelektronik 3
Entwicklung des Alpha Mikroprozessors
21264 EV6
15,2 Mio Transistoren
21064 EV4
1,68 Mio
Transistoren
21164 EV5
9,3 Mio Transistoren
Institut fr Mikroelektronik
1995
1992
1998
Notebook Notebook--Mikroprozessor: Pentium III/M Mikroprozessor: Pentium III/M
1999
28,1 Mio Transistoren 28,1 Mio Transistoren
0,18 m Strukturgre
1,5 GHz
106 mm
2
Institut fr Mikroelektronik
Auch schon alter Mikroprozessor: Pentium 4 Auch schon alter Mikroprozessor: Pentium 4
2000
42 Mio Transistoren 42 Mio Transistoren
0,18 m Strukturgre
1,8 GHz
217 mm
2
Institut fr Mikroelektronik
Der McKinley Mikroprozessor Der McKinley Mikroprozessor
2002
221 Mio Transistoren 221 Mio Transistoren
0,13 m
Strukturgre
2,4 GHz
421,2 mm
2
Institut fr Mikroelektronik
Programmieren 1 - WS 2009/10 Institut fr Mikroelektronik 4
Der Core 2 Der Core 2 Quad Quad Mikroprozessor Mikroprozessor
2007
2 x 291 Mio Transistoren 2 x 291 Mio Transistoren
65 nm Strukturgre
2,4 GHz
2 x 143 mm
2
Institut fr Mikroelektronik
Der Barcelona Mikroprozessor Der Barcelona Mikroprozessor
2007
463 Mio Transistoren 463 Mio Transistoren
65 nm Strukturgre
2,8 GHz
293 mm
2
Institut fr Mikroelektronik
Der Der Montecito Montecito Mikroprozessor Mikroprozessor
2004 (!)
1720 Mio Transistoren 1720 Mio Transistoren
90 nm Strukturgre
2,0 GHz
780 mm
2
Institut fr Mikroelektronik
Der Der Dunnington Dunnington Mikroprozessor Mikroprozessor
2008
1900 Mio Transistoren 1900 Mio Transistoren
45 nm Strukturgre
2,66 GHz
403 mm
2
Institut fr Mikroelektronik
Programmieren 1 - WS 2009/10 Institut fr Mikroelektronik 5
Ungebrochener Fortschritt Ungebrochener Fortschritt
Institut fr Mikroelektronik
Der erste DRAM Der erste DRAM--Baustein: i1103 Baustein: i1103
1971
1024 Bit
10 m Strukturgre
Institut fr Mikroelektronik
Heute: 1 Heute: 1 Gbit Gbit in einem Chip in einem Chip
Institut fr Mikroelektronik
Die Entwicklung der Speicherbausteine Die Entwicklung der Speicherbausteine
Institut fr Mikroelektronik
Programmieren 1 - WS 2009/10 Institut fr Mikroelektronik 6
4096 4096 Mbit Mbit in einem Chip schon im Jahr 2001 in einem Chip schon im Jahr 2001
Institut fr Mikroelektronik
64 64 Gbit Gbit in einem Chip in einem Chip
Institut fr Mikroelektronik
Samsung 30nm Flash Memory
2007 vorgestellt
2009 Massenproduktion
Ungebrochener Fortschritt Ungebrochener Fortschritt
Institut fr Mikroelektronik
200
Die Entwicklung der Mikroelektronik Die Entwicklung der Mikroelektronik
1998 2000 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 1999 2001
180
(nm)
Volume Production
200
180
150
130
90
300
Volume Production
Basic steps
Research
Pilot
450
50 GHz
65 GHz
Institut fr Mikroelektronik
90
65
45
E
U
R
A
C
C
E
S
S
65 GHz
90 GHz
120 GHz
Programmieren 1 - WS 2009/10 Institut fr Mikroelektronik 7
Die Entwicklung der Strukturgren Die Entwicklung der Strukturgren
1000
n
m
]
DRAM
MPU
250
180
150
130
70
50
35
200
140
100
70
50
35
100
h
a
l
f

p
i
t
c
h

/

M
P
U

g
a
t
e

l
e
n
g
t
h

[
nMPU
Institut fr Mikroelektronik
Quelle: Semiconductor lndustry Association
25
10
1997 1999 2001 2003 2005 2007 2009 2011 2013
D
R
A
M

Die Entwicklung der Integrationsdichte Die Entwicklung der Integrationsdichte
100000
DRAM
100
1000
10000
T
r
a
n
s
i
s
t
o
r
s

/

M
b
i
t
s

p
e
r

c
m
^
2
MPU
ASIC
Institut fr Mikroelektronik
Quelle: Semiconductor lndustry Association
1
10
1997 1999 2001 2003 2005 2007 2009 2011 2013
M
i
o
.
T
Zum Begriff Strukturgre Zum Begriff Strukturgre
10000x
Institut fr Mikroelektronik
lnfineon: lFX 256M D11: 110nm pitch
Zum Begriff Strukturgre Zum Begriff Strukturgre
Rotes Blutkrperchen
Weies Blutkrperchen
Institut fr Mikroelektronik
lnfineon: lFX 256M D09: 90nm pitch
Programmieren 1 - WS 2009/10 Institut fr Mikroelektronik 8
John von Neumann mit EDVAC in John von Neumann mit EDVAC in Princeton Princeton (1952) (1952)
Institut fr Mikroelektronik
Heinz Zemanek mit Mailfterl in Wien Heinz Zemanek mit Mailfterl in Wien (1957) (1957)
Institut fr Mikroelektronik
Das klassische Terminal VT100 Das klassische Terminal VT100
Institut fr Mikroelektronik
~1980
Der Arbeitsplatzrechner Der Arbeitsplatzrechner
Institut fr Mikroelektronik
~1990
Programmieren 1 - WS 2009/10 Institut fr Mikroelektronik 9
Der Arbeitsplatzrechner Der Arbeitsplatzrechner
Institut fr Mikroelektronik
2005
Der Miniatur Der Miniatur- -Computer 2000 Computer 2000
Institut fr Mikroelektronik
Der Miniatur Der Miniatur- -Computer 2005 Computer 2005
Institut fr Mikroelektronik
Der Der Miniatur Miniatur- -Computer Computer heute heute
Institut fr Mikroelektronik
Programmieren 1 - WS 2009/10 Institut fr Mikroelektronik 10
Computer von morgen sind berall Computer von morgen sind berall
mit Sprache
mit Beobachter
mit Anpassung
Institut fr Mikroelektronik
Elektronisches Papier Elektronisches Papier
Polymer Vision Displays
Institut fr Mikroelektronik
Sony LIBRI e-Book Reader amazon Kindle
Virtuelle Bedienungselemente Virtuelle Bedienungselemente
Mittels Laser
projizierte projizierte
Tastaturen
Institut fr Mikroelektronik
Wireless Resonant Energy Transfer Wireless Resonant Energy Transfer
WiTricity (MIT) 2007
60 W tt 60 Watt
75% Effizienz
1891
Institut fr Mikroelektronik
21.August 2008 Intel Developer Forum
Alanson Sample und Justin Rattner
Programmieren 1 - WS 2009/10 Institut fr Mikroelektronik 11
Die intelligente Wohnung von heute Die intelligente Wohnung von heute
Institut fr Mikroelektronik
Die intelligente Wohnung von morgen Die intelligente Wohnung von morgen
Institut fr Mikroelektronik
Die intelligente Wohnung von morgen Die intelligente Wohnung von morgen
Institut fr Mikroelektronik
Die intelligente Wohnung von morgen Die intelligente Wohnung von morgen
Institut fr Mikroelektronik
Programmieren 1 - WS 2009/10 Institut fr Mikroelektronik 12
Die intelligente Wohnung von morgen Die intelligente Wohnung von morgen
Institut fr Mikroelektronik
Gravierende Fehleinschtzungen Gravierende Fehleinschtzungen
l think there is a world market for maybe five computers.
1943 Thomas Watson, Vorstand von lBM
There is no reason for any individual to have a computer
at home.
1977 Ken Olson, Grnder von Digital Equipment Corporation
Institut fr Mikroelektronik
640K ought to be enough for anybody
1981 Bill Gates, Grnder von Microsoft
Oida oux eidw Oida oux eidw
Institut fr Mikroelektronik
Organisation der Lehrveranstaltung Organisation der Lehrveranstaltung
5 Vorlesungstermine im EI 7
Fr., 2. Oktober 2009 8:15
Fr., 9. Oktober 2009 8:15
Fr., 16. Oktober 2009 8:15
Fr., 6. November 2009 8:15
Fr., 20. November 2009 8:15
8 bungstermine im Computerlabor CF0305/06/10
Anmeldung zu den bungsterminen via Internet
Institut fr Mikroelektronik
Anmeldung zu den bungsterminen via Internet
http://service.iue.tuwien.ac.at/
Voraussetzung: bungsanmeldung bis 28.9. in TUWIS++
bzw. bis 6.10.2009 persnlich im Sekretariat,
2. Stiege, Raum CBO109
Programmieren 1 - WS 2009/10 Institut fr Mikroelektronik 13
Organisation der Lehrveranstaltung Organisation der Lehrveranstaltung
lnformationen zum bungsteil
Die Terminauswahl muss rechtzeitig erfolgen (sptestens einen Tag vor
Beginn der jeweiligen bungseinheit).
Fr die ersten beiden bungseinheiten: ab Fr., 9. Oktober 2009 (Nachmittag)
Die erste bungseinheit beginnt am Mo., 19. Oktober 2009.
Die Validierung erfolgt ber den Studenten-Account.
Whlen Sie mglichst frhe Termine aus, damit im Bedarfsfall ein
Termintausch ermglicht wird.
Vor den bungseinheiten 1-7 sind zugehrige Referenzbeispiele sowie die
Prsentationen der Vorlesungen zur Vorbereitung abrufbar (Download-
Bereich)
Institut fr Mikroelektronik
Bereich).
Beachten Sie, bitte, die Hinweise zur Lehrveranstaltung (abrufbar ber
die Homepage der Lehrveranstaltung).
http://www.iue.tuwien.ac.at/vu_programmieren1
Organisation der Lehrveranstaltung Organisation der Lehrveranstaltung
Hinweise zur Terminauswahl am Anmeldeserver
des Institutes http://service.iue.tuwien.ac.at/
F d b t il P i 1 d ll ld t Fr den bungsteil aus Programmieren 1 werden alle angemeldeten
Studierenden in zwei Gruppen (1 und 2) eingeteilt:
Gruppe 1 entspricht der Summe der bungsgruppen A bis D
Gruppe 2 entspricht der Summe der bungsgruppen E bis H
LVA-Nummern fr
Gruppe 1 (= A + B + C + D)
LVA-Nummern fr
Gruppe 2 (= E + F + G + H)
1. bungseinheit 360.111 360.121
2. bungseinheit 360.112 360.122
3. bungseinheit 360.113 360.123
Institut fr Mikroelektronik
4. bungseinheit 360.114 360.124
5. bungseinheit 360.115 360.125
6. bungseinheit 360.116 360.126
7. bungseinheit 360.117 360.127
8. bungseinheit 360.118 360.128
Organisation der Lehrveranstaltung Organisation der Lehrveranstaltung
Email-Adresse fr inhaltliche Fragen:
service@iue tuwien ac at service@iue.tuwien.ac.at
Email-Adresse fr organisatorische Fragen:
sekretariat@iue.tuwien.ac.at
Email-Adresse der Angehrigen:
Nachname@iue.tuwien.ac.at
Institut fr Mikroelektronik
Zugang zum Download-Bereich:
Username: programmieren1
Password: prog1
Einfhrung in Programmieren Einfhrung in Programmieren
Begleitende bungen (Freifach, 1-stndig)
Zielgruppe: Studienanfnger ohne EDV-Kenntnisse Zielgruppe: Studienanfnger ohne EDV Kenntnisse
(Teilnehmerbeschrnkung).
Anmeldung ber Internet ab Mi., 28.10. bis Di., 3.11.2009
Voraussetzung: erfolgte Anmeldung zu Programmieren 1
5 bungseinheiten zu je 2 Stunden, welche der 3. bis 7.
bungseinheit aus Programmieren 1 vorgelagert sind.
Institut fr Mikroelektronik
Der bungsstoff orientiert sich an den Referenzbeispielen von
Programmieren 1.
Weitere Informationen siehe Institutshomepage.
Programmieren 1 - WS 2009/10 Institut fr Mikroelektronik 14
Lehrveranstaltungsbewertung Lehrveranstaltungsbewertung
durch die Studierenden
Voraussetzungen:
Studenten-Account
Abonnieren der Lehrveranstaltung
in TUWIS++
(sind bereits bei erfolgreicher Anmeldung zur
Lehrveranstaltung erfllt)
Institut fr Mikroelektronik
Bitte machen Sie von diesem Angebot Gebrauch!
Inhalt Inhalt
1. Einfhrung
2. Grafische Darstellungsmittel
3 Die Entwicklungsumgebung 3. Die Entwicklungsumgebung
4. Erste Schritte
5. Variablen, Konstanten
6. Numerische Datentypen
7. Eingabe Ausgabe
8. Ausdrcke
9. Selektionen
Institut fr Mikroelektronik
9. Selektionen
10. Iterationen
11. Funktionen
...
Inhalt (2) Inhalt (2)
...
12. Speicherklassen
13 Felder 13. Felder
14. Zeiger
15. Zeichenketten
16. Abgeleitete Datentypen
17. Dateien
Institut fr Mikroelektronik
Was ist Programmieren ? Was ist Programmieren ?
Programmieren:
Entwicklung eines Programms
durch Implementierung von Algorithmen
Programme sind Erscheinungsformen von Algorithmen.
Institut fr Mikroelektronik
Programmieren 1 - WS 2009/10 Institut fr Mikroelektronik 15
Software Software- -Entwicklung Entwicklung
Ablauf:
Projektplanung
Systemanalyse Systemanalyse
Spezifikation
Entwurf
Codierung
Test
Dokumentation
Institut fr Mikroelektronik
Qualittskontrolle
Wartung
Dokumentation
Algorithmus Algorithmus
von
MOHAMMED IBN MUSA ABU DJAFAR AL KHOWARIZMI
( ) (783850)
nach dessen Buch:
Kitab al muhtasar fi hisab al gebr we al muqabala
(Kurzgefasstes Lehrbuch fr die Berechnung durch Vergleich und Reduktion)
Algorithmus Algebra Kabbala
Institut fr Mikroelektronik
lateinische bersetzung dieses Buches enthlt:
Dixit algorismi:
(So sprach AL KHOWARIZMI:)
Der Euklidische Algorithmus Der Euklidische Algorithmus
zur Bestimmung des grten gemeinsamen Teilers zweier
natrlicher Zahlen:
Aufgabe:
Seien a und b natrliche Zahlen. Bestimme den
grten gemeinsamen Teiler g = ggT(a,b) von a und b.
Verfahren:
1. Falls a = b gilt, brich die Berechnung ab; es gilt g = a.
Andernfalls gehe zu Schritt 2.
2.Falls a > b gilt, ersetze a durch a - b und setze die
Institut fr Mikroelektronik
2.Falls a b gilt, ersetze a durch a b und setze die
Berechnung mit Schritt 1 fort, sonst gehe zu Schritt 3.
3.Es gilt a < b . Ersetze b durch b - a und setze die
Berechnung mit Schritt 1 fort.
Eigenschaften eines Algorithmus Eigenschaften eines Algorithmus
Grundlegende Eigenschaften eines Algorithmus:
Das Verfahren ist durch einen endlichen Text beschreibbar. Das Verfahren ist durch einen endlichen Text beschreibbar.
Es luft in einzelnen, wohldefinierten Rechenschritten ab, die in
einer eindeutigen Reihenfolge durchzufhren sind.
Die Rechnung besitzt gewisse Parameter (Eingabegren) und
wird fr jede Eingabe nach endlich vielen Rechenschritten
abbrechen und ein eindeutig bestimmtes Ergebnis liefern.
Institut fr Mikroelektronik
Programmieren 1 - WS 2009/10 Institut fr Mikroelektronik 16
Algorithmen und Spezifikationen Algorithmen und Spezifikationen
Unterschied Algorithmus Programm ?
Ein Algorithmus ist ein Oberbegriff zu einem Programm Ein Algorithmus ist ein Oberbegriff zu einem Programm.
Ein Algorithmus ist ein Programm ohne Regeln einer
Programmiersprache!
Institut fr Mikroelektronik
Spezifikation Spezifikation
Spezifikation ist Problembeschreibung
Verfahren zur Lsung eines Problems nach Spezifikation ist
Algorithmus
Beispiel (Denksportaufgabe)
informelle Problembeschreibung
Hauptproblem ist Aufstellen der Spezifikation
Institut fr Mikroelektronik
Parkplatzproblem Parkplatzproblem
Auf einem Parkplatz stehen PKWs und Motorrder ohne
Beiwagen. Zusammen sind es n Fahrzeuge mit insgesamt m
Rdern. Bestimme die Anzahl P der PKWs.
n und m sind Parameter
(Parameter sind typisch fr Probleme, welche Algorithmen
erfordern)
P Anzahl der PKWs
plus
M Anzahl der Motorrder
ist die Gesamtzahl n der Fahrzeuge
Institut fr Mikroelektronik
PKWhat 4 Rder
Motorrad hat 2 Rder
Radzahlen der PKWs und Motorrder ist m
Parkplatzproblem Parkplatzproblem
daraus folgt:
P M n
P M m
+ =
+ = 4 2
auflsen ergibt:
Problemgelst !
P M m + = 4 2
M n P
P n P m
P
m n
=
+ =
=

4 2
2
( )
Institut fr Mikroelektronik
Problemgelst !
P =
2
Programmieren 1 - WS 2009/10 Institut fr Mikroelektronik 17
Parkplatzproblem Parkplatzproblem
Problem gelst ?
Fr n = 3 und m = 9 folgt
m gerade
Problemgelst !!
P
m n
=

=

= =
2
2
9 2 3
2
3
2
15 .
Institut fr Mikroelektronik
Parkplatzproblem Parkplatzproblem
Problem gelst ??
Fr n = 5 und m = 2 folgt
Problemgelst !!!
P
m n
=

=

=
2
2
2 2 5
2
4
s 2n m
Institut fr Mikroelektronik
Parkplatzproblem Parkplatzproblem
Problem gelst ???
Fr n = 2 und m = 10 folgt
Problemgelst !
P
m n
=

=

=
2
2
10 2 2
2
3
s m n 4
Institut fr Mikroelektronik
Parkplatzproblem Parkplatzproblem
Fehler in Problembeschreibung
Tatsachen werden als bekannt vorausgesetzt
Annahme: n und m tatschlich Fahrzeugzahl und Rderzahl
eines real existierenden Parkplatzes
Bei mathematischer Behandlung sind
n und m nur irgendwelche Zahlen
Abstraktionsschritte typisch fr Mathematik und Informatik
F l b i i k t Ei h lt Ab t kti
Institut fr Mikroelektronik
Folgen bei inkonsequenter Einhaltung von Abstraktionen
verheerend
durch Computer vervielfacht
Programmieren 1 - WS 2009/10 Institut fr Mikroelektronik 18
Spezifikationsregel Spezifikationsregel
Vor der Entwicklung eines Algorithmus ist zunchst fr das
Problem eine funktionale Spezifikation anzufertigen.
Diese beschreibt die Menge der gltigen Eingabegren Diese beschreibt die Menge der gltigen Eingabegren
(Definitionsbereich) und die Menge der mglichen Ausgabegren
(Wertebereich) mit allen fr die Lsung wichtigen Eigenschaften,
insbesondere dem funktionalen Zusammenhang zwischen ihnen.
Definitions und Wertebereich durch funktionalen
Zusammenhang zwischen Eingabe und Ausgabegren
oft nur implizit aufgefhrt
V b di V t
Institut fr Mikroelektronik
Vorbedingung = Voraussetzungen
Nachbedingung = Leistungen
funktionale Spezifikation bentigt Vor und Nachbedingung
Parkplatzproblem Parkplatzproblem
Spezifikation
Eingabe: m, n e NN
V b di m n m n gerade 2 4 s s Vorbedingung:
Ausgabe: P e N, falls Nachbedingung erfllbar,
sonst Keine Lsung.
Nachbedingung: Fr P, M e Ngilt
m n m n gerade, 2 4 s s
P M n
P M m
+ =
+ = 4 2
Institut fr Mikroelektronik
Parkplatzproblem Parkplatzproblem
offensichtlichste Voraussetzungen Vorbedingung
strker wre: strker wre:
Es existieren P, M e N, dass die Nachbedingung erfllt ist
Unschn, da:
1. Vor und Nachbedingung verknpft
2. Vorbedingung erst berprfbar, wenn Ergebnis ermittelt
Institut fr Mikroelektronik
robuste Algorithmen berprfen Einhaltung ihrer Vorbedingung
Parkplatzproblem Parkplatzproblem
Algorithmus
Eingabe: m, n e N
V b di d 2 4 Vorbedingung: m gerade, 2n s m s 4n
Verfahren: Berechne
Ausgabe: P e N
Nachbedingung: Es gibt M e N mit
P M n
P M
+ =
4 2
P
m n
=
2
2
Institut fr Mikroelektronik
Guter Stil: Spezifikation in Algorithmenbeschreibung
P M m + = 4 2
Programmieren 1 - WS 2009/10 Institut fr Mikroelektronik 19
Definition des Algorithmus Definition des Algorithmus
Ein Algorithmus ist eine Menge von Regeln fr ein Verfahren, um
aus gewissen Eingabegren bestimmte Ausgabegren
herzuleiten, wobei die folgenden Bedingungen erfllt sein , g g g
mssen:
Finitheit der Beschreibung: Das vollstndige Verfahren muss
in einem endlichen Text beschrieben sein. Die elementaren
Bestandteile der Beschreibung nennt man Schritte.
Effektivitt: Jeder einzelne Schritt des Verfahrens muss
tatschlich ausfhrbar sein.
Terminiertheit: Das Verfahren kommt in endlich vielen
Schritten zu einem Ende
Institut fr Mikroelektronik
Schritten zu einem Ende.
Determiniertheit: Der Ablauf des Verfahrens ist zu jedem
Punkt eindeutig vorgeschrieben.
Algorithmenentwurf Algorithmenentwurf
Top Down Methode
Zerlegung des Gesamtproblems in Teilprobleme
Bottom Up Methode
Zusammensetzung der Lsung aus Teillsungen
Middle Out Methode
Mischung beider Methoden
Institut fr Mikroelektronik
Genaue Definition der Schnittstellen!
Verifikation von Algorithmen Verifikation von Algorithmen
Ein Algorithmus ist korrekt, wenn die Einhaltung der Vorbedingung und
die strikte Befolgung des Ausfhrungsverfahrens die Gltigkeit der
Nachbedingung impliziert.
Korrektheit eines Programms durch Testen?
nur bei erschpfendem Test mit allen mglichen Eingaben
Regel vom Testen
Institut fr Mikroelektronik
Durch Testen kann man nur die Anwesenheit von Fehlern
nachweisen, nicht aber deren Abwesenheit.
Zusammenfassung Zusammenfassung
Programmieren ist das Entwickeln von Programmen
Programme sind Erscheinungsformen von Algorithmen
Bedeutung der korrekten Spezifikation (Parkplatzproblem!) Bedeutung der korrekten Spezifikation (Parkplatzproblem!)
Regel vom Testen
Institut fr Mikroelektronik
Programmieren 1 - WS 2009/10 Institut fr Mikroelektronik 20

S-ar putea să vă placă și