Programmiertechnik I - HTWG Konstanz - Drachenfels
Stichworte der Lernzettel - Letzte Seite von jedem Skript...
Stichworte der Lernzettel - Letzte Seite von jedem Skript...
-
- 1 / 148
-
Cartes-fiches
Was ist "ant"?
Automatisierung der Programmerstellung:
Bsp:
ant compile javac aufrufen
ant style checkstyle aufrufen
ant bugs findbugs aufrufen
Die Datei build.xml ist hierfür erforderlich, die die nötigen Anweisungen und Pfade enthält.
Was versteht man unter ASCII?
American Standard Code for Information Interchange
7-Bit Code mit den "wichtigsten" internationalen Zeichen
Was versteht man unter einer Assemblersprache?
Assemblerspachen sind primitive Programmiersprachen.
- lediglich lesbare Namen für Maschinenbefehle
- automatische Rückübersetzung von Maschinencode in Assemblercode möglich
- rechnerunabhängig
- Benutzung mühsam und fehleranfällig
Was ist das Binärsystem?
Stellenwertsystem mit der Basis 2
Rechner stellen Zahlen im Binärsystem dar, da sich die beiden Ziffern gut Kodieren lassen
- Ziffer 0 - Strom fließt
- Ziffer 1 - kein Strom fließt
Was ist ein Bit?
kleinste Speichereinheit welche genau eine Binärziffer (0 od. 1) speichern kann.
Für was steht das kürzel BMP und was versteckt sich dahinter?
Basic Multilingual Plane
Plane 0 (Zahlenbereich 0 - f f f f) des Unicode, enthält die am meisten verwendeten Schriftzeichen, wodurch viele Anwendungen mit diesem Code Point auskommen.
Enthält auch den ASCII-Code (Zahlenbereich 0 - 7f)
Was ist unter "Bus" zu verstehen?
überträgt Zahlen zwischen Hauptspeicher und Peripheriegeräten
Was ist ein Byte?
Bitkombination, kleinste in Programmen adressierbare Einheit
Auf allen "normalen" Rechnern --> 8 Bit
Was ist der Bytecode?
auch Objektcode
enthält das Programm in Maschinencode.
z.B. in Java enthält die übersetzte *.class Datei den Bytecode. Diese wird beim Übersetzten erstellt.
Was ist checkstyle und wofür wird es verwendet?
Werkzeug, welche für die Qualitätssicherung verwendet wird. Diese untersucht den Quellcode auf die Einhaltung der Stilregeln
Für was steht der Code-Point
Als Codepoint wird im Zusammenhang mit Zeichensätzen (z.B. ASCII oder Unicode) ein bestimmter Wert in einem Coderaum bezeichnet.
Das Zeichen "A" hat in beiden Zeichensätzen den Codepoint 64 (dezimal) bzw. 41 (hexadezimal)
Einfach gesagt ist der Codepoint die Adresse eines jeden Zeichens des Zeichensatzes.
Zahlenbereich ist in 17 Planes (Ebenen) eingeteilt. Plane 0 (0-ffff) heißt BasicMultilingualPlane (BMP) wird von den meisten Programmen verwendet.
Die ersten 128 Zeichen (0 - 7f) entsprechen dem ASCII-Code.
Was ist eine Code-Unit?
Der Unicode ist aus verschiedenen Code-Units aufgebaut. Dabei wird unterschieden an welchem Code-Point ein Zeichen steht. Je "neuer" das Zeichen im Unicode ist, desto mehr Code-Units werden verwendet und desto mehr Speicher wird benötigt.
Wie wird bei Unicode ein Zeichen Kodiert? (Kodierungsschema)
Eine Codeunit besteht aus mindestens 1 Byte. Zu Beginn wird immer erst festgelegt, aus wie vielen Bytesequenzen der Code-Point besteht. Ein 8-Bit-Zeichen beginnt immer mit der 0 und erst danach kommt dann die "eigentliche Adresse" des Zeichens für welche dann eigentlich nur noch 7 Bit übrig bleiben.
Eine 2, 3, 4 Byte-Sequenz beginnt immer mit 2, 3 oder 4 "1en", danach kommt eine 0 und dann beginnt die eigentliche Adresse. Jede weitere Code-Unit beginnt dann immer mit 10.
Beispiele:
- 1-Byte-Zeichen (07 Bit) - 0xxxxxxx
- 2-Byte-Zeichen (11 Bit) - 110xxxxx 10xxxxxx
- 3-Byte Zeichen (16 Bit) - 1110xxxx 10xxxxxx 10xxxxxx
- 4-Byte-Zeichen (21 Bit) - 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
Die Zahlen in Klammern sind die noch Übrigen Bits, für die eigentlichen Zeichen, wenn man die Bits welche für den Aufbau der Bytesequenz davon abzieht. Die x sind dann je nach Zeichen unterschiedlich gesetzt.
Was versteht man unter Codesegment?
Teil des Hauptspeichers
Das Codesegment ist der Teil eines Anwendungsprogramms, in dem die expliziten Maschinen-Codes (Opcodes) stehen, die an den Prozessor geleitet und dann ausgeführt werden. Ein Codesegment enthält also Anweisungen (Befehle) für den Rechner, die dieser ausführen soll.
Siehe Wikipedia
Welche Fünktion hat der Compiler?
z.dt. Übersetzer
ist ein Programm, dass den Quellcode einer Höheren Programmiersprache in den Maschinencode (Bytecode) übersetzt.
Bsp: javac (Compiler)
*.java (Quellcode) -->*.class (Bytecode)
Was macht die CPU?
Prozessor
kann zahlen arithmetisch und logisch verknüpfen, d.h. vergleichen, addieren,...
kann Programme ausführen, d.h. Zahlenfolgen als Befehle interpretieren.
Was wird im Datensegment gespeichert und wo liegt dieser Speicher?
Bereich des Arbeitsspeichers, auf den ein Programm zugreift. Er enthält statische Daten und keine Programmteile.
Was ist das Dezimalsystem?
Das am häufigste verwendete Zahlensystem.
Das Dezimalsystem ist ein Stellenwertsystem, d.h. der Wert einer Ziffer hängt davon ab, an welcher Stelle sie in der Zahl Steht
Ziffern: 0 1 2 3 4 5 6 7 8 9
Basis: 10
Was ist der EBCDIC?
Extended Binary Coded Decimal Interchange Code
Zeichencode, z.B. auf IBM Großrechnern üblich
8-Bit Code
Was versteht man unter einem Editor?
Ein Programm mit dem Quellcode in eine Datei geschrieben werden kann.
Bsp: Notepad++, Editor, jEdit, Kate,...
Was ist die Einerkomplement Darstellung?
Das Einerkomplement, ist eine arithmetische Operation auf Dualzahlen. Dabei werden alle Ziffern bzw. Bits invertiert, das heißt aus 0 wird 1 und umgekehrt.
Was kann man sich unter einer Festkommazahl vorstellen?
Eine Festkommazahl hat eine festgelegte Anzahl an Ziffern, das Komma steht hier an einer bestimmten Stelle.
Rechner verwenden keine Festkomma-Darstellung, weil sie für sehr große und sehr kleine Zahlen zu viel Speicherplatz braucht.
Wofür ist das Werkzeug "findbugs"?
untersucht den Java Bytecode auf Fehlerquellen
Wofür stehen die folgenden Abkürzungen?
- kB (MB, GB)
- KiB (MiB, GiB)
kB = Kilobyte (bzw. Mega- oder Gigabyte)
KiB = Kibibyte (bzw. Mebi- oder Gibibyte)
Was ist der Unterschied zwischen
- Kibibyte und Kilobyte
- Mebibyte und Megabyte
- Gibibyte und Gigabyte
1 Kibibyte = 210 Byte = 1024 Byte ≈ 103 Byte = 1 Kilobyte
1 Mebibyte = 220 Byte = 1024 Byte* 1024 Byte ≈ 106 Byte = 1 Kilobyte
1 Kibibyte = 230 Byte = 1024 Byte * 1024 Byte * 1024 Byte ≈ 109 Byte = 1 Kilobyte
Wie ist eine Gleitkommazahl aufgebaut?
Mantisse * 2 Exponent
- Mantisse
Binärzahl mit Vorzeichen und Komma
(Das Komma steht meist nach der 1. Stelle, also dem Vorzeichen)
- Exponent
ist eine ganze Binäre Zahl mit Vorzeichen (negativ, die Zahl < 0)
Was ist der Hauptspeicher?
=RAM (Random Access Memory)
Zahlen im Hauptspeicher gehen verloren, wenn das zugehörige Programm zu Ende gelaufen ist, oder der Rechner ausgeschaltet wird --> flüchtiger Speicher.
Was ist ein Heapsegment?
Enthält dynamische Daten.
Teil des Hauptspeichers
Aus was besteht das Hexadezimalsystem?
Zahlensystem zur Basis 16
Ziffern: 0 1 2 3 4 5 6 7 8 9 A B C D E F
Wobei: A ≙ 10; B ≙ 11; ...; F ≙ 15
Basis: 16
High-Surrogate
erklärung Folgt, blick ich grad selber nicht ganz.
High und Low-Surrogate bilden jedenfalls eine 4-Byte-Sequenz (je 2 Byte --> 16 Bit)
Beispiel:
Zeichen: Violinschlüssel
Unicode: U+1D11E
UTF16-hex: D834 DD1E
UTF16- Binär:
11011000 01100100 11011101 00011110
High Surrogate Low Surrogate
Was versteht man unter einer Hochsprache?
Programmiersprachen
- Beispiele: Fortan, Cobol, C, C++, Java, C#,...
- keine automatische Rückübersetzung von Maschinencode möglich
- rechnerunabhängig
Was ist unter IEEE-754 zu finden?
Standard für die Darstellung von Gleitkomma Zahlen.
Was kann man unter der Norm ISO 8859 finden?
Latin-1
Erweiterung des ASCII Zeichencodes auf 8-Bit mit den westeuropäischen Umlauten
Wofür ist der Befehl "java"?
Java Virtuelle Maschine
Aufrufen einer class Datei. Aufruf ohne Dateiendung, also java Beispiel um die Datei Beispiel.class auszuführen.
Wofür ist der Befehl "javac"?
Compiler aufrufen
Aufruf mit Dateiendung *.java um eine Java-Datei in dem Maschinencode zu übersetzen.
javac Beispiel.java --> Beispiel.java wird in Maschinencode in die Datei Beispiel.class geschrieben.
Wofür ist der Befehl "javadoc"?
Dokumentation generieren. Erzeugt ein Unterverzeichnis doc, in welcher die Dokumentation im HTML-Format liegt.
javadoc -d doc Beispiel.java
Was wird bei einer Kodierung gemacht?
Hierbei wir z.B. eine Zahl welche im Dezimalformat vorliegt in eine andere Form umgwandelt.
In einem Rechner werden komplett alle Daten in Binärzahlen umgewandelt (kodiert), dass der Prozessor sie verarbeiten kann.
Was versteht man bei Unicode unter der Kodierungsform?
Darstellung eines Codepoints als Folge von Code Units
Was ist Latin-1?
Latin-1 ist eine erweiterung des ASCII Codes z.B. mit den wichtigsten Westeuropäischen Umlauten
float
Wert: Gleitkommazahl (auch float --> Fliesskommazahl)
Speicherbedarf: 4 byte
Standartwert = 0,0