Teil III Begriffe der Informatik, Zahlensysteme, Datentypen

Werbung
Teil III
Begriffe der Informatik,
Zahlensysteme, Datentypen
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 1/50
Inhalt
Inhalt
●
Begriffe der Informatik
●
Zahlensysteme - Stellenwertsysteme
●
Datentypen
●
Hamster-Simulator
–
Eigene Funktionen
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 2/50
Begriffe
Begriffe in
in der
der Informatik
Informatik
Begriffe in der Informatik
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 3/50
Begriffe
Begriffe in
in der
der Informatik
Informatik
Dieser Teil der Vorlesung macht Sie mit den folgenden
Begriffen vertraut:
●
Zeichensatz
●
Token
●
Schlüsselwörter
●
Bezeichner
●
Anweisungen
●
Programme
●
Kommentare
●
Codekonventionen
●
Programmentwicklung
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 4/50
Begriffe
Begriffe in
in der
der Informatik
Informatik - Zeichensatz
Zeichensatz
Allgemein wird als Zeichensatz die Menge an Zeichen
verstanden, die der entsprechende Compiler verarbeiten
kann:
–
Der verwendbare Zeichensatz ist abhängig von der
Programmiersprache bzw. dem Compiler
–
Sie können prinzipiell immer die ersten 128 Zeichen des
ASCII-Zeichensatzes verwenden
–
Nehmen Sie beim Schreiben Ihrer Programme (Variablen,
Funktions-/Prozedurnamen, Dateinamen,...) Abstand von
länderspezifischen Zeichen wie Umlaute
Alle Zeichen, die im Zeichensatz des Compilers enthalten
sind, werden als „gültige“ Zeichen bezeichnet
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 5/50
Begriffe
Begriffe in
in der
der Informatik
Informatik - Zeichensatz
Zeichensatz
Allgemein wird als Zeichensatz die Menge an Zeichen
verstanden, die der entsprechende Compiler verarbeiten
kann:
–
Der verwendbare Zeichensatz ist abhängig von der
Programmiersprache bzw. dem Compiler
–
Sie können prinzipiell immer die ersten 128 Zeichen des
ASCII-Zeichensatzes verwenden
–
Nehmen Sie beim Schreiben Ihrer Programme (Variablen,
Funktions-/Prozedurnamen, Dateinamen,...) Abstand von
länderspezifischen Zeichen wie Umlaute
Alle Zeichen, die im Zeichensatz des Compilers enthalten
sind, werden als „gültige“ Zeichen bezeichnet
Wichtig: In den meisten Programmiersprachen wird Großund Kleinschreibung unterschieden!
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 6/50
Begriffe
Begriffe in
in der
der Informatik
Informatik - Token
Token
Ein Token ist eine Einheit, die aus gültigen Zeichen
besteht. Der Begriff Token bildet die Obermenge für:
●
●
●
●
Symbole:
<; =; <=; +; ...
Schlüsselwörter:
while, if, else, try, int, ...
Bezeichner:
Prozedurnamen, Variablennamen, ...
Literale (Konstanten):
true, 47, 8.15, "Hallo, Welt!"
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 7/50
Begriffe
Begriffe in
in der
der Informatik
Informatik - Token
Token
Unterschiedliche Token werden in der Regel von einander
durch sogenannte Trennzeichen oder
Zwischenraumzeichen getrennt:
–
Leerzeichen („Blank“)
–
Tabulator
–
Zeilenende
–
Zeilenvorschub
–
Seitenvorschub
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 8/50
Begriffe
Begriffe in
in der
der Informatik
Informatik - Token
Token
Unterschiedliche Token werden in der Regel von einander
durch sogenannte Trennzeichen oder
Zwischenraumzeichen getrennt:
●
–
Leerzeichen („Blank“)
–
Tabulator
–
Zeilenende
–
Zeilenvorschub
–
Seitenvorschub
Allerdings können Token auch durch die Syntax bedingt getrennt
werden „zaehler=zaehler-3“ wird i.d.R. in „zaehler“ „=“ „-“ und „3“
getrennt
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 9/50
Begriffe
Begriffe in
in der
der Informatik
Informatik - Schlüsselwörter
●
●
●
Mit Schlüsselwörtern werden bestimmte Tokens bezeichnet, die in der
jeweiligen Programmiersprache bereits mit einer Funktion belegt sind
Ein Schlüsselwort kann daher nicht als Bezeichner verwendet
werden!
Beispiele für Schlüsselwörter:
abstract
boolean
byte
case
class
const
continue
default
double
enum
extends
false
final
float
for
goto
if
int
long
new
public
static
super
switch
this
throw
throws
true
try
void
while
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 10/50
Begriffe
Begriffe in
in der
der Informatik
Informatik - Bezeichner
Bezeichner
Als Bezeichner werden die Benennungen selbst
angelegter Einheiten verstanden:
●
Variablennamen
●
Prozedurnamen
●
...
Bezeichner müssen folgenden Regeln genügen (in Java):
●
●
●
Beginnt mit Buchstabe, Unterstrich oder $-Zeichen
Anschließend: Buchstaben, Ziffern, Unterstriche und
$-Zeichen
Keine Umlaute und kein ß!
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 11/50
Begriffe
Begriffe in
in der
der Informatik
Informatik - Anweisungen
Anweisungen
Syntax:
Anweisung
Grundbefehl
Anweisungsequenz
Anweisung
Anweisungen müssen abgeschlossen (terminiert) werden, damit der
Compiler sie als solche erkennt. In der Regel wird durch ein
Semikolon (;) terminiert.
Semantik:
Anweisungen einer Anweisungssequenz werden in Reihenfolge
nacheinander ausgeführt
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 12/50
Begriffe
Begriffe in
in der
der Informatik
Informatik – Code
Code Block
Block
Syntax:
CodeBlock
{
Anweisungsequenz
}
Ein Code-Block wird durch „{“ und „}“ umschlossen. Er fasst
Anweisungssequenzen zusammen.
Semantik:
Ein Code-Block dient zur Strukturierung / Zusammenfassung einer
oder mehrerer Anweisungen. Dies dient zur Übersichtlichkeit und bei
if-Anweisungen / Schleifen um Anweisungssequenzen
zusammenzufassen.
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 13/50
Begriffe
Begriffe in
in der
der Informatik
Informatik - Programm
Ein Programm ist gekennzeichnet durch eine oder mehrere
Anweisungssequenzen und einen Einsprungpunkt.
Der Einsprungpunkt definiert an welcher Stelle das Programm
begonnen werden soll, wenn es gestartet wird.
In Java (bzw. dem Hamster-Simulator) ist dies eine Funktion mit dem
Namen main.
1 void main() // Hamster-Simulator
2{
3 …
4}
1 public static void main (String[] args) //Java
2{
3…
4}
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 14/50
Begriffe
Begriffe in
in der
der Informatik
Informatik - Kommentar
Kommentar
Syntax:
Kommentar
Zeilenkommentar
Bereichskommentar
Zeilenkommentar
//
Zeichen
/*
Zeichen
Zeilenendezeichen
Bereichskommentar
Alexander Syndikus (h_da)
Informatik für CuB
*/
WS 2016/17 - 15/50
Begriffe
Begriffe in
in der
der Informatik
Informatik - Kommentar
Kommentar
Semantik:
Kommentare sind ein elementarer Bestandteil der
Dokumentation:
●
●
Sie können in Kommentaren beschreiben, welches (Teil)problem ein
Codeblock löst
Der Programmcode kann in einzelne Aufgabenblöcke unterteilt
werden
●
Sie steigern die Lesbarkeit Ihrer Programme
●
Ihr Code kann leichter wieder verwendet werden
●
Probleme und/oder Fehler im Programm können festgehalten werden
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 16/50
Stellenwertsysteme
Stellenwertsysteme
Stellenwertsysteme
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 17/50
Stellenwertsysteme
Stellenwertsysteme - Historie
Historie
3100 BC
Erstes Stellenwertsystem (Basis 60) in Mesopotamien
1800 BC
“Plimpton 322“ Tafel (Babylon), Auflistung pythagoreischer Tripel
(a2 + b2 = c2)
1650 BC
Papyrus Rhind (Ägypten), umfangreiche Sammlung von
Rechenaufgaben
300 BC
Formulierung des euklidischen Algorithmus zur Berechnung des
größten gemeinsamen Teilers zweier natürlichen Zahlen
300 BC
Brahmi-Zahlschrift in Indien mit Symbolen für die Zahlen 1 bis 9
(Stellenwertsystem zur Basis 10)
630 AD
Erste Verwendung der Ziffer 0 im heutigen Sinn
660 AD
Arabische Mathematiker übernehmen das indische Zahlensystem
(Hindu-arabisches Zahlensystem)
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 18/50
Stellenwertsysteme
Stellenwertsysteme - Historie
Historie
825
Abu Dscha’far Muhammad ibn Musa al-Chwarizmi
‫أبو جعفر محمد بن موسى الخوارزمي‬
veröffentlicht sein Buch Über das Rechnen mit indischen Ziffern
in Persien. Das Buch gilt als Grundlage aller modernen Zahlensysteme.
1202
Leonardo von Pisa, genannt Fibonacci, italienischer Mathematiker,
verfasst sein Buch Liber Abaci. Dies ist die erste systematische
Einführung in das hindu-arabische Zahlensystem (Basis 10) in Europa.
1524
Adam Ries veröffentlicht sein Buch über die Rechengesetze des
Dezimalsystems, welches sich in Europa durchsetzt.
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 19/50
Stellenwertsysteme
Stellenwertsysteme
Stellenwertsysteme oder polyadische Zahlensysteme
bilden die Grundlage heutiger Zahlensysteme
In einem polyadischen Zahlensystem mit der Basis B wird
eine Zahl Z nachPotenzen von B zerlegt:
mit:
B = Basis des Zahlensystems
a = Wert des Symbols an der Stelle i (einzelne Ziffer einer Zahl)
n = Anzahl der ganzen Stellen
m = Anzahl der Nachkommastellen
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 20/50
Stellenwertsysteme
Stellenwertsysteme : Zeichenvorrat
Zeichenvorrat
●
Für die Darstellung einer Zahl in einem Stellwertsystem werden einzelne
Zeichen für die Stellen benötigt
●
Für das dezimale System werden die normalen Ziffern verwendet
●
Ist die Basis < 10 werden nur entsprechend viele Ziffern verwendet
●
Ist die Basis > 10 so werden (meist) Buchstaben verwendet
Dezimal (10)
0
1
Binär (2)
0
1
Oktal (8)
0
Duodezimal (12)
Hexadezimal (16)
Alexander Syndikus (h_da)
2
3
4
5
6
7
1
2
3
4
5
6
7
0
1
2
3
4
5
6
0
1
2
3
4
5
6
Informatik für CuB
8
9
7
8
9
X
E
7
8
9
A
B
C
D
E
F
WS 2016/17 - 21/50
Stellenwertsysteme
Stellenwertsysteme - Beispiele
Beispiele
Betrachten wir die „Umrechnung“ der Zahl
208410 in das 10er-System :
4
x
100
(1) =
4
8
x
101
(10) =
80
0
x
102
(100) =
0
2
x
103
(1000) =
2000
2084
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 22/50
Stellenwertsysteme
Stellenwertsysteme - Beispiele
Beispiele
Betrachten wir die „Umrechnung“ der Zahl
10110112 in das 10er-System :
1
x
20
(1) =
1
1
x
21
(2) =
2
0
x
22
(4) =
0
1
x
23
(8) =
8
1
x
24
(16) =
16
0
x
25
(32) =
0
1
x
26
(64) =
Alexander Syndikus (h_da)
64
_____
91
Informatik für CuB
WS 2016/17 - 23/50
Binärsystem
Binärsystem
●
Mit Zahlen im Binärsystem lassen sich arithmetische
Operationen ausführen, genau wie mit Zahlen im
Dezimalsystem auch
–
●
●
●
(Es sieht nur ungewohnt aus. . . )
Das bedeutet, dass binäre Zahlen gleichwertig zu Zahlen
im Dezimalsystem sind
Aufgrund des sehr begrenzten Zeichenvorrats lassen sich
binäre Zahlen sehr einfach elektronisch darstellen
–
0 entspricht beispielsweise ungeladen oder keine Spannung
angelegt
–
1 könnte durch geladen oder Spannung liegt an dargestellt
werden
Rechnen mit binären Zahlen lässt sich ebenfalls einfach in
elektronischen Schaltungen realisieren
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 24/50
Binärsystem
Binärsystem -- Arithmetik
Arithmetik
Addition:
Subtraktion:
Beispiel:
Beispiel:
0
0
1
1
+
+
+
+
0
1
0
1
= 0
= 1
= 1
= 10
10112
+ 112
11102
Multiplikation:
0
0
1
1
x
x
x
x
0
1
0
1
=
=
=
=
Beispiel:
0
0
0
1
10102
x 112
111102
Alexander Syndikus (h_da)
0
0
1
1
-
0
1
0
1
= 0
= -1
= 1
= 0
10112
- 1112
1002
Division:
0
0
1
1
/
/
/
/
0
1
0
1
=
=
=
=
Beispiel:
Informatik für CuB
nicht def.
0
nicht def.
1
10102
/ 102
1012
WS 2016/17 - 25/50
Datentypen
Datentypen
Datentypen
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 26/50
Datentypen
Datentypen
Umgangssprache
Häufig werden hier Information und Daten synonym verwand. In der
Informatik bezeichnen beide allerdings unterschiedliche Sachlagen.
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 27/50
Datentypen
Datentypen
Umgangssprache
Häufig werden hier Information und Daten synonym verwand. In der
Informatik bezeichnen beide allerdings unterschiedliche Sachlagen.
Information
...bezeichnet Wissen und Erkenntnisse auf Seite des Menschen
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 28/50
Datentypen
Datentypen
Umgangssprache
Häufig werden hier Information und Daten synonym verwand. In der
Informatik bezeichnen beide allerdings unterschiedliche Sachlagen.
Information
...bezeichnet Wissen und Erkenntnisse auf Seite des Menschen
Daten
...bezeichnet die Repräsentation dieser Informationen in einem
datenverarbeitendem System.
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 29/50
Datentypen
Datentypen :: Bits
Bits &
& Bytes
Bytes
Rückblick: Speichermedien und Binärzahlen
Eine Stelle einer binären Zahl kann die Zustände
1 oder 0 annehmen.
Ebenfalls speichern digitale Medien (in der Regel)
diese Zustände entsprechend als geladen oder nicht geladen
bzw. magnetisiert oder nicht magnetisiert, etc.
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 30/50
Datentypen
Datentypen :: Bits
Bits &
& Bytes
Bytes
Rückblick: Speichermedien und Binärzahlen
Eine Stelle einer binären Zahl kann die Zustände
1 oder 0 annehmen.
Ebenfalls speichern digitale Medien (in der Regel)
diese Zustände entsprechend als geladen oder nicht geladen
bzw. magnetisiert oder nicht magnetisiert, etc.
Ein Bit
Üblicherweise verwendet man „eine binäre Stelle“ als Einheit, wenn es
um Größen von digitalen Speichern geht.
Das Wort „Bit“ ist hierbei die Abkürzung von „binary digit“
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 31/50
Datentypen
Datentypen :: Bits
Bits &
& Bytes
Bytes
Rückblick: Speichermedien und Binärzahlen
Eine Stelle einer binären Zahl kann die Zustände
1 oder 0 annehmen.
Ebenfalls speichern digitale Medien (in der Regel)
diese Zustände entsprechend als geladen oder nicht geladen
bzw. magnetisiert oder nicht magnetisiert, etc.
Ein Bit
Üblicherweise verwendet man „eine binäre Stelle“ als Einheit, wenn es
um Größen von digitalen Speichern geht.
Das Wort „Bit“ ist hierbei die Abkürzung von „binary digit“
Ein Byte
Weiterhin ist es üblich, 8 bit zu einem „Byte“ zusammenzufassen
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 32/50
Datentypen
Datentypen :: Übersicht
Übersicht
Grundsätzlich lassen primitive Datentypen grob einteilen in:
●
Logische Datentypen (boolean)
–
Können nur den Zustand wahr/falsch (true/false) speichern
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 33/50
Datentypen
Datentypen :: Übersicht
Übersicht
Grundsätzlich lassen primitive Datentypen grob einteilen in:
●
Logische Datentypen (boolean)
–
●
Können nur den Zustand wahr/falsch (true/false) speichern
Ganzzahlige Datentypen (byte, short, integer, long integer)
–
Perfekte Genauigkeit
–
Eingeschränkter Wertebereich
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 34/50
Datentypen
Datentypen :: Übersicht
Übersicht
Grundsätzlich lassen primitive Datentypen grob einteilen in:
●
Logische Datentypen (boolean)
–
●
●
Können nur den Zustand wahr/falsch (true/false) speichern
Ganzzahlige Datentypen (byte, short, integer, long integer)
–
Perfekte Genauigkeit
–
Eingeschränkter Wertebereich
Reelle Zahlen (real/float, double)
–
Wesentlich größerer Wertebereich
–
Teilweise sehr eingeschränkte Genauigkeit
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 35/50
Datentypen
Datentypen :: Übersicht
Übersicht
Grundsätzlich lassen primitive Datentypen grob einteilen in:
●
Logische Datentypen (boolean)
–
●
●
●
Können nur den Zustand wahr/falsch (true/false) speichern
Ganzzahlige Datentypen (byte, short, integer, long integer)
–
Perfekte Genauigkeit
–
Eingeschränkter Wertebereich
Reelle Zahlen (real/float, double)
–
Wesentlich größerer Wertebereich
–
Teilweise sehr eingeschränkte Genauigkeit
Zeichen (character)
–
1 Zeichen
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 36/50
Datentypen
Datentypen :: Übersicht
Übersicht
Viele Sprachen bieten jedoch weitere Datentypen:
●
Zeichenketten (string)
–
Beliebige Länge
–
Auch wenn eine Zeichenkette nur Zahlen enthält, sind
arithmetisch Operationen (meist) nicht möglich
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 37/50
Datentypen
Datentypen :: Übersicht
Übersicht
Viele Sprachen bieten jedoch weitere Datentypen:
●
●
Zeichenketten (string)
–
Beliebige Länge
–
Auch wenn eine Zeichenkette nur Zahlen enthält, sind
arithmetisch Operationen (meist) nicht möglich
Komplexe Zahlen (complex)
–
z.B. Fortran
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 38/50
Datentypen
Datentypen :: Übersicht
Übersicht
Viele Sprachen bieten jedoch weitere Datentypen:
●
●
Zeichenketten (string)
–
Beliebige Länge
–
Auch wenn eine Zeichenkette nur Zahlen enthält, sind
arithmetisch Operationen (meist) nicht möglich
Komplexe Zahlen (complex)
–
●
z.B. Fortran
Klassenobjekte
–
Eigenschaften hängen von der jeweiligen Klasse ab
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 39/50
Datentypen
Datentypen :: Wertebereiche
Wertebereiche
Typ
short
int
long
float1
Größe
16 bit
32 bit
64 bit
32 bit
float2
Von
Bis
-32.768
32.767
-2.147.483.648
2.147.483.647
-9.223.372.036.854.775.808 9.223.372.036.854.775.807
2−126 ≈ ± 1,175·10−38
(1−2−24) × 2128 ≈ 3,403·1038
32 bit
2−149 ≈ ± 1,4·10−45
≈ 3,403·1038
double1
64 bit
2−1022 ≈ ± 2,2251·10−308
(1−2−53) × 21024 ≈ 1,798·10308
double2
64 bit
2−52×2−1022=2−1074≈ ±4,94·10−324
≈ 1,798·10308
1
normalisiert
2
denormalisiert
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 40/50
Datentypen
Datentypen :: integer
integer
Integertypen (short, int, long) speichern Zahlenwerte direkt
als ihre binäre Entsprechung. Dadurch:
●
Die Werte werden 100% genau gespeichert
●
Der Wertebereich ist linear aufgeteilt und sehr begrenzt
●
Integer eignen sich vor allem zum Zählen
●
Nachkommastellen sind nicht darstellbar
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 41/50
Datentypen
Datentypen :: float
float
Die Floattypen (float und double) speichern eine Basis und
einen Exponenten
●
Wert = x * 10y
●
Die Werte x und y sind normale Integer ohne Nachkommastellen
●
Durch Kommaverschiebung werden Nachkommastellen im Wert
erreicht
Beispiele:




47,11 = 4711 * 10-2
583.025 = 583.025 * 100
23.567.345.567.842.698.427 ≈ 23.567.345.567.842 * 106
23.567.345.567.842.698.443 ≈ 23.567.345.567.842 * 106
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 42/50
Datentypen
Datentypen :: float
float
Die Floattypen (float und double) speichern eine Basis und
einen Exponenten
●
Wert = x * 10y
●
Die Werte x und y sind normale Integer ohne Nachkommastellen
●
Durch Kommaverschiebung werden Nachkommastellen im Wert
erreicht
Beispiele:




●
47,11 = 4711 * 10-2
583.025 = 583.025 * 100
23.567.345.567.842.698.427 ≈ 23.567.345.567.842 * 106
23.567.345.567.842.698.443 ≈ 23.567.345.567.842 * 106
Ein Computer kann keine reelle Zahl mit unendlicher Genauigkeit
speichern! + Beispiel aus Tabellenkalkulation zeigen
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 43/50
Datentypen
Datentypen :: Char
Char
Ein Char(acter) speichert ein einzelnes Zeichen der
ASCII Tabelle
●
Dort ist jedem Zeichen (druckbar wie nicht druckbar) eine bestimmte
Zahl zugeordnet
●
Technisch gehört Char zu den Integerdatentypen
●
Beispiele:
65
A
48
0
107
k
38
&
Komplette Tabelle:
https://de.wikipedia.org/wiki/American_Standard_Code_for_Information_Interchange#
ASCII-Tabelle
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 44/50
Datentypen
Datentypen :: String
String
Ein String ist eine Zeichenkette, also eine
Aneinanderreihung beliebig vieler „char“s.
●
●
Der String ist kein primitiver Datentyp
Er hat (teilweise historisch bedingt) Ähnlichkeiten mit
Arrays
●
Ein String kann theoretisch unendlich lang sein
●
...oder auch leer
Beispiele:
●
"Hallo, Welt 1"
●
"Ein ziemlich langer Text..."
●
""
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 45/50
Hamster-Simulator
Hamster-Simulator
Hamster-Simulator
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 46/50
Grundlagen
Grundlagen der Programmierung
Programmierung :: Funktionen
Funktionen
Bei komplexeren Aufgaben entsteht die Notwendigkeit
diese in einzelne Unteraufgaben zu zerlegen
Bsp.:
●
●
Briefe versenden:
–
Brief drucken
–
Brief senden
„Brief senden“ :
–
Brief in den Umschlag stecken; melde, wenn keine
Umschläge mehr vorhanden sind
–
Wenn Brief in Umschlag steckt dann:
Ausreichend frankieren; melde, wenn dies nicht möglich war
–
Wenn Brief frankiert werden konnte: senden
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 47/50
Hamster-Simulator
Hamster-Simulator : (eigene) Funktionen
Bei komplexeren Programmen entsteht die Notwendigkeit
diese in einzelne – wiederverwendbare – Teile zu zerlegen
●
●
Bsp.: „drehe 1 mal nach rechts entspricht 3 mal
'linksUm()'“
Anstelle jedes mal zu schreiben:
linksUm();
linksUm();
linksUm();
●
kann man eine Funktion schreiben:
void rechtsUm() {
linksUm();
linksUm();
linksUm();
}
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 48/50
Hamster-Simulator
Hamster-Simulator : (eigene) Funktionen
Bei komplexeren Programmen entsteht die Notwendigkeit
diese in einzelne – wiederverwendbare – Teile zu zerlegen
●
Bsp.: „gehe nur 1 Schritt nach vorne, wenn es möglich ist“
●
Anstelle jedes mal zu schreiben:
if (vornFrei()) { vor(); }
●
kann man eine Funktion schreiben:
boolean vorWennFrei(){
boolean vorne_pruefung = vornFrei();
if (vorne_pruefung)
{
vor();
}
return vorne_pruefung;
}
Alexander Syndikus (h_da)
Informatik für CuB
WS 2016/17 - 49/50
Fragen ?
Herunterladen