Organisatorisches Besprechung Blatt 0 Vorbereitung Blatt 1
Algorithmen und Datenstrukturen 01
Stefan Ploner
25. Oktober 2011
Organisatorisches Besprechung Blatt 0 Vorbereitung Blatt 1
Inhaltsverzeichnis
1 Organisatorisches Uber mich¨ Wichtige Links
2 Besprechung Blatt 0
Ubungsablauf und Abgabesystem¨
3 Vorbereitung Blatt 1 Pseudocode
Primitive Datentypen
Ubersicht ¨¨ uber Java Anweisungen
Organisatorisches Besprechung Blatt 0 Vorbereitung Blatt 1 Uber mich¨
Uber mich¨
• Name: Stefan Ploner
• Studiengang: Informatik, 2. Semester
• E-Mail: stefan.sp.ploner@studium.uni-erlangen.de
Organisatorisches Besprechung Blatt 0 Vorbereitung Blatt 1 Wichtige Links
Wichtige Links
• Folien: http://wwwcip.cs.fau.de/˜su75heja/
• FSI-Informatik Forum: https://fsi.cs.fau.de/forum/
• IRC: #faui2k11 auf irc.uni-erlangen.de
• AuD ¨Ubung: https://www2.cs.fau.de/aud/
• EST: http://est.cs.fau.de/
• Mailing List: aud@i2.cs.fau.de
Organisatorisches Besprechung Blatt 0 Vorbereitung Blatt 1 Ubungsablauf und Abgabesystem¨
uebung-00.pdf
Organisatorisches Besprechung Blatt 0 Vorbereitung Blatt 1 Ubungsablauf und Abgabesystem¨
Gruppenabgabe
Gruppenabgaben-Code
• zu finden im EST
• jeweils g¨ultig f¨ur ein Blatt
• generell geheim halten und nur dem Gruppenpartner f¨ur die Abgabe schicken
Abgabevorgang
• nur einer der beiden Gruppenpartner l¨adt die Aufgabe hoch
• der Code kann beim Hochladen rechts in das daf¨ur vorgesehene Feld eingef¨ugt werden
• auch der Student, der die Abgabe nicht hochgeladen hat, sollte die Abgabe im EST sehen (bitte immer ¨uberpr¨ufen!)
Organisatorisches Besprechung Blatt 0 Vorbereitung Blatt 1 Pseudocode
Durchschnittsgr¨ oße der Studenten
summeGroesse := 0 anzahlStudent := 0
wiederhole fuer alle besetzten Stuehle: frage nach groesse
summeGroesse := summeGroesse + groesse anzahlStudent := anzahlStudent + 1 gebe aus summeGroesse / anzahlStudent
Organisatorisches Besprechung Blatt 0 Vorbereitung Blatt 1 Pseudocode
Durchschnittsgr¨ oße der Studenten
summeGroesse := 0 anzahlStudent := 0
wiederhole fuer alle besetzten Stuehle:
frage nach groesse
summeGroesse := summeGroesse + groesse anzahlStudent := anzahlStudent + 1 gebe aus summeGroesse / anzahlStudent
Organisatorisches Besprechung Blatt 0 Vorbereitung Blatt 1 Pseudocode
3 Teile des Pseudocodes:
1 Variablendeklaration (taucht auch in Schleifen auf)
2 Beschreibung der durchzuf¨uhrenden Schritte
3 Ausgabe des Ergebnisses
Organisatorisches Besprechung Blatt 0 Vorbereitung Blatt 1 Pseudocode
Durchschnittsgr¨ oße getrennt nach Geschlecht
summeGroesseW := 0 summeGroesseM := 0 anzahlStudentW := 0 anzahlStudentM := 0 wiederhole fuer alle besetzten Stuehle:
frage nach groesse frage nach geschlecht
falls geschlecht = "weiblich":
summeGroesseW := summeGroesseW + groesse anzahlStudentW := anzahlStudentW + 1 sonst:
summeGroesseM := summeGroesseM + groesse anzahlStudentM := anzahlStudentM + 1
gebe aus "Frauen: " + summeGroesseW / anzahlStudentW gebe aus "Maenner: " + summeGroesseM / anzahlStudentM
Organisatorisches Besprechung Blatt 0 Vorbereitung Blatt 1 Pseudocode
Durchschnittsgr¨ oße getrennt nach Geschlecht
summeGroesseW := 0 summeGroesseM := 0 anzahlStudentW := 0 anzahlStudentM := 0 wiederhole fuer alle besetzten Stuehle:
frage nach groesse frage nach geschlecht
falls geschlecht = "weiblich":
summeGroesseW := summeGroesseW + groesse anzahlStudentW := anzahlStudentW + 1 sonst:
summeGroesseM := summeGroesseM + groesse anzahlStudentM := anzahlStudentM + 1
gebe aus "Frauen: " + summeGroesseW / anzahlStudentW gebe aus "Maenner: " + summeGroesseM / anzahlStudentM
Organisatorisches Besprechung Blatt 0 Vorbereitung Blatt 1 Pseudocode
Gerade Zahlen in einer Zahlenreihe / Array
geradeZahlen := 0
wiederhole fuer alle zahlen der zahlenreihe: falls aktuelleZahl gerade:
geradeZahlen := geradeZahlen + 1 gebe aus geradeZahlen
Organisatorisches Besprechung Blatt 0 Vorbereitung Blatt 1 Pseudocode
Gerade Zahlen in einer Zahlenreihe / Array
geradeZahlen := 0
wiederhole fuer alle zahlen der zahlenreihe:
falls aktuelleZahl gerade:
geradeZahlen := geradeZahlen + 1 gebe aus geradeZahlen
Organisatorisches Besprechung Blatt 0 Vorbereitung Blatt 1 Pseudocode
Gerade Zahlen in einer Zahlenreihe / Array
Alternative L¨osung, n¨aher am Code:
geradeZahlen := 0
wiederhole fuer jede zahl[i] mit i von 0 bis n:
falls zahl[i] modulo 2 = 0:
geradeZahlen := geradeZahlen + 1 gebe aus geradeZahlen
Organisatorisches Besprechung Blatt 0 Vorbereitung Blatt 1 Primitive Datentypen
Arten primitiver Datentypen Name Gr¨oße Beschreibung
boolean variiert Boolescher Wahrheitswert (true/false) char 16 bit Beliebiges Zeichen (UTF-16)
byte 8 bit Ganzzahl (Zweierkomplement-Darstellung) short 16 bit Ganzzahl (Zweierkomplement-Darstellung) int 32 bit Ganzzahl (Zweierkomplement-Darstellung) long 64 bit Ganzzahl (Zweierkomplement-Darstellung) float 32 bit Gleitkommazahl (IEEE 754)
double 64 bit Gleitkommazahl (IEEE 754)
Organisatorisches Besprechung Blatt 0 Vorbereitung Blatt 1 Primitive Datentypen
Arten primitiver Datentypen Name Gr¨oße Beschreibung
boolean variiert Boolescher Wahrheitswert (true/false)
char 16 bit Beliebiges Zeichen (UTF-16)
byte 8 bit Ganzzahl (Zweierkomplement-Darstellung) short 16 bit Ganzzahl (Zweierkomplement-Darstellung) int 32 bit Ganzzahl (Zweierkomplement-Darstellung) long 64 bit Ganzzahl (Zweierkomplement-Darstellung) float 32 bit Gleitkommazahl (IEEE 754)
double 64 bit Gleitkommazahl (IEEE 754)
Organisatorisches Besprechung Blatt 0 Vorbereitung Blatt 1 Primitive Datentypen
Arten primitiver Datentypen Name Gr¨oße Beschreibung
boolean variiert Boolescher Wahrheitswert (true/false) char 16 bit Beliebiges Zeichen (UTF-16)
byte 8 bit Ganzzahl (Zweierkomplement-Darstellung) short 16 bit Ganzzahl (Zweierkomplement-Darstellung) int 32 bit Ganzzahl (Zweierkomplement-Darstellung) long 64 bit Ganzzahl (Zweierkomplement-Darstellung) float 32 bit Gleitkommazahl (IEEE 754)
double 64 bit Gleitkommazahl (IEEE 754)
Organisatorisches Besprechung Blatt 0 Vorbereitung Blatt 1 Primitive Datentypen
Arten primitiver Datentypen Name Gr¨oße Beschreibung
boolean variiert Boolescher Wahrheitswert (true/false) char 16 bit Beliebiges Zeichen (UTF-16)
byte 8 bit Ganzzahl (Zweierkomplement-Darstellung) short 16 bit Ganzzahl (Zweierkomplement-Darstellung) int 32 bit Ganzzahl (Zweierkomplement-Darstellung) long 64 bit Ganzzahl (Zweierkomplement-Darstellung)
float 32 bit Gleitkommazahl (IEEE 754) double 64 bit Gleitkommazahl (IEEE 754)
Organisatorisches Besprechung Blatt 0 Vorbereitung Blatt 1 Primitive Datentypen
Arten primitiver Datentypen Name Gr¨oße Beschreibung
boolean variiert Boolescher Wahrheitswert (true/false) char 16 bit Beliebiges Zeichen (UTF-16)
byte 8 bit Ganzzahl (Zweierkomplement-Darstellung) short 16 bit Ganzzahl (Zweierkomplement-Darstellung) int 32 bit Ganzzahl (Zweierkomplement-Darstellung) long 64 bit Ganzzahl (Zweierkomplement-Darstellung) float 32 bit Gleitkommazahl (IEEE 754)
double 64 bit Gleitkommazahl (IEEE 754)
Organisatorisches Besprechung Blatt 0 Vorbereitung Blatt 1 Ubersicht ¨¨ uber Java Anweisungen
Main-Funktion
...vorerst zum Copy & Pasten
public class ClassName {
public static void main(String[] args) { // program starts here
} }
Organisatorisches Besprechung Blatt 0 Vorbereitung Blatt 1 Ubersicht ¨¨ uber Java Anweisungen
Variablen
int number; // variable declaration number = 2; // assignment
number = number + 2; // number is now 4
double decimalNumber = 3.14; // decimal number int[] numbers; // array declaration numbers = new int[5]; // ...and initialization numbers[0] = 3; // assignment
// numbers contains { 3, 0, 0, 0, 0 } at this point int[] moreNumbers = { 0, 1, 5, 7 }; // alternative way // moreNumbers contains { 0, 1, 5, 7 } at this point
Organisatorisches Besprechung Blatt 0 Vorbereitung Blatt 1 Ubersicht ¨¨ uber Java Anweisungen
Kontrollstrukturen
// <condition> can be any boolean expression if (<condition>) {
// do something }
else {
// do something else }
while (<condition>) {
// repeat as long as <condition> is true }
Organisatorisches Besprechung Blatt 0 Vorbereitung Blatt 1 Ubersicht ¨¨ uber Java Anweisungen
Array mit for-Schleife iterieren
int[] numbers = { 0, 5, 8, 12 };
for (int i = 0; i < numbers.length; i++) { // print all numbers to the console System.out.println(numbers[i]);
}
Organisatorisches Besprechung Blatt 0 Vorbereitung Blatt 1 Ubersicht ¨¨ uber Java Anweisungen