50
EPR (Subject) / Kapitel 1 (Lesson)
Advertisement
- Ein PROGRAMM ist ... eine Folge von Instruktionen bzw.: der vorhergesehene Ablauf von Regeln, die angewandt werden müssen, um ein gewünschtes Ergebnis zu erhalten
- PROGRAMMIEREN ist Problemstellung ANALYSIEREN -> Lösungsidee CODIEREN -> Programm d.h.: analysieren + codieren = programmieren
- Geschichte des Computers: "Elisa mag halt ihre indischen Farben" Eniac (1946), Mailüfterl (1958), Hitachi AS 7031 (1980), IBM AT (1983), iPaq (1997), Fairchild ACE1101 MC smallest web server (2001)
- Komponenten eines Computers - Von-Neumann-Architektur Input/Output - Input/Output-Schnittstellen - Central Processing Unit (CPU) [ Microprozessor z.B.: Pentium 4 - Speicher (Memory): 0000 - 0001 - 0002 - 0003] - und umgekehrt!
- Algorithmus = systematisches Lösungsverfahren
- Entwickeln eines Algorithmus: 1) Lösungsschritte? Reihenfolge? 2) Voraussetzungen f. richtiges Ergebnis? 3) welche Sprache?
- Computer kennen nur JA oder NEIN
- Dezimalsystem Zahlensystem des Menschen: Jede Stelle kann zehn Werte annehmen Z {0,1,2,3,4,5,6,7,8,9}
- Dualsystem Zahlensystem des Computers: Jede Stelle kann zwei Werte annehmen - eine Stelle heisst ein BIT: Z {0,1}
- ein Byte sind... 8 Bits (Ziffern)
- Advertisement
- ein Byte ist... die kleinste Zahlenrepräsentation/adressierbare Einheit im Speicher (Memory)
- ein Byte kann ... versch. Zustände einnehmen 2 hoch 8 = 256 Möglichkeiten
- ein Byte wird angesprochen über seine eindeutige Adresse
- künstliche Sprache = höhere Programmiersprache = Bindeglied zw. menschl. Sprache und Maschinensprache = meist angelehnt an mathematische Notation
- Programm als Folge von Instruktionen -> Befehlszyklus der ... ...CPU: Befehl holen - Befehl dekodieren - notwendige Daten holen - Befehl ausführen - und von vorne!
- Mathematische Interpretation: Aussagen! c = a + b <-- wenn a den Wert 3 hat und b den Wert 4, wähle c so, dass Gleichung wahre Aussage ist
- Programmiertechnische Interpretation: c = a + b <-- KEINE Aussage, stets RECHNUNG!
- COMPILER Programm - Bindeglied zw. künstl. Hochsprache und Maschinensprache - übersetzt die Hochsprache in Assemblersprache
- ASSEMBLER Programm - Übersetzt Assemblersprache in Maschinensprache (0en und 1en)
- mit Großbuchstabe muss beginnen Programmname / Klassenname
- Elemente eines Java-Programms: Methoden Anweisungen Daten(Variablen, Literale)
- Methoden: wozu? was? woraus? - STRUKTURIERUNG Programms - kleine in sich geschlossene Arbeitsaufgaben (lösen Subaufgaben) - aus ANWEISUNGEN aufgebaut
- Anweisungen sind die .. .. eigentlichen Arbeitsschritte (Schleifen, Zuweisungen, Rechnungen, Methodenaufrufe, etc.)
- Arten von Anweisungen: 1) KONTROLLANWEISUNGEN (Kontrollieren Programmablauf) kein Strichpunkt! z.B. oft: FOR-Schleife 2) AUSDRÜCKE (eigentliche Arbeitsschritte) ermitteln ein ERGEBNIS (zb: zahl = zahl * i;) erledigen eine AUFGABE (zb: System.out.println(zahl);) werden immer mit STRICHPUNKT abgeschlossen!
- Geschweifte Klammern nach Kontrollanweisung (zb) for-Schleife nicht zwingend - ohne wird aber nur die 1. Zeile wiederholt
- Block-Anweisung Anweisungen zu einem Block ZUSAMMENGEFASST --> Block-Anfang: { ... Block-Ende: } Anweisungen darin werden NACHEINANDER verarbeitet verhält sich wie EINE EINZIGE Anweisung
- Methoden 2 z.B.: public static void main(String[] args) { System.out.println(Hello, World!); } 1) Haben EINDEUTIGEN NAMEN (frei wählbar) 2) eigenartige Modifikatoren (modifier) 3) können DATEN enthalten 4) führen ANWEISUNGEN aus (M.=Sammlung von Anweisungen, zu einer zusammengefasst) z.B.: public static void main(String[] args) { System.out.println(Hello, World!); }
- Arten von Daten wozu Daten? - Verwalten von Daten - Anweisungen arbeiten mit ihnen 1) LITERALE (eigentliche Werte): Zahlen, Zeichen, ... (= was zb. zugewiesen wird) 2) VARIABLEN: Besitzen WERT Gegensatz: Mathemat. Variablen stehen STELLVERTRETEND für einen Wert Besitzen DATENTYP: Ganze Zahlen (byte, short, int, long) Gleitkomma Zahlen (float, double) Zeichen (Buchstaben, Ziffern, Sonderzeichen: char) Referenz auf ein Objekt vom Typ xyz
- DEKLARATION von Variablen Variablen müssen vor dem ersten Gebrauch vereinbart (deklariert) werden. z.B.: int zahl;
- Variablen- / Programm- / Methodennamen auch bezeichnet als: Identifier = Bezeichner
- Advertisement
- Wertzuweisung von Variablen int zahl; zahl = 17;
- Variablen-Deklaration mit Wertzuweisung Initialisierung: int zahl = 17; (= Deklaration + Wertzuweisung gleichzeitig)
- Welche Namen dürfen Variablen, Methoden u Programme annehmen? Erlaubte Namen für Bezeichner (Identifier): Syntaktische Regeln: 1. NICHT reservierte Worte 2. beliebige Kombination legaler Zeichen: A...Z, a...z, 0...9, _, $ 3. English, keine Umlaute, keine Operatoren 4. Erstes Zeichen KEINE ZIFFER 5. beliebig lang 6. Groß-/Kleinschreibung relevant (Großb. am Anfang von Programm-/Klassennamen!!)
- Welche elementaren Datentypen gibt es? Ganzzahlen Typen: byte, short, int, long Gleitkommazahlen Typen: float, double Logische Typen: boolean Zeichen: char
- GZ-Datentyp byte: 8-Bit-Zahl -> 2 hoch 8 = 256 -> -128 ... 127
- GZ-Datentyp short: 16-Bit-Zahl -> 2 hoch 16 = ca. 65.000 Möglichkeiten
- GZ-Datentyp int: 32-Bit-Zahl -> 2 hoch 32 = ca. 4 Milliarden Möglichkeiten
- GZ-Datentyp long: 64-Bit-Zahl -> 2 hoch 64 = sehr große Zahl
- GK-Datentyp float: 4 Byte -> +/- 1,4 * 10 hoch -45 bis +/- 3,4 * 10 hoch 38 -> extrem kleine bis extrem große Zahl (pos. & neg.) - dennoch geringe Genauigkeit!
- GK-Datentyp double: 8 Byte -> total extrem kleine (pos. & neg.) bis total extrem große Zahl (pos. & neg.)
- Datentypen - Logische: boolean (true, false) z.B.: 2 < 1 --> false 2 > 1 --> true LOGISCHEN OPERATOREN UND AUSDRÜCKE - die sich mit der VERKNÜPFUNG von logischen Sachverhalten befassen (Logik)
- Datentypen: Zeichen: (www.unicode.org) char --> 2 Byte --> \u0000 bis \uFFFF --> 'a', 'b', '\'', ...
- Welche Bedeutung haben Datentypen? MATCHING TYPES (Variable kann nur Werte aufnehmen, die ihrem Datentyp entsprechen) --> Typeinschränkung gewährleistet Typsicherheit: Buchstaben können nicht an Zahlenvariablen zugewiesen werden --> FEHLERMINIMIERUNG!
- arithmetisch [zu griech. arithmos »Zahl«], Eigenschaft, die einen OPERATOR ODER AUSDRUCK als ZUM RECHNEN MIT ZAHLEN zugehörig kennzeichnet.
- numerisch bzw. nummerisch bezeichnet: die ZAHLEN- oder NUMMERNDARSTELLUNG eines Sachverhaltes, das heißt die Abstraktion einer messbaren Eigenschaft in Ziffern-Kodierung
- Type dismatch = zb. int a = 3.141592....
- ( a + b ) * 3 == a + b * 3 (richtig / falsch?) falsch
- a + ( b * 3 ) == a + b * 3 (richtig / falsch?) richtig (Punkt- vor Strichrechnung!)
- 7 * ( a - b ) + a * a == 7 * ( a - ( b + a * a ) ) (richtig / falsch?) falsch
- Name der .java-Datei richtet sich nach? EXAKT nach dem Programm- / Klassennamen