Programmiertechnik I - HTWG Konstanz - Drachenfels

Stichworte der Lernzettel - Letzte Seite von jedem Skript...

Stichworte der Lernzettel - Letzte Seite von jedem Skript...


Konrad Grüner
Diese Lernkarten behandeln grundlegende Konzepte der Programmiertechnik auf Universitätsniveau, mit Fokus auf objektorientierte Programmierung in Java. Sie decken Themen wie Klassen, Objekte, Methoden, Vererbung, Polymorphie, Schnittstellen und Ausnahmen ab. Besonders hervorgehoben werden Konzepte wie Kapselung, dynamische Bindung und der Umgang mit Strings und Compilern. Die Karteikarten richten sich an Studierende der Informatik, die ihr Verständnis von Java und objektorientierter Programmierung vertiefen möchten.
Flashcards
148
Students
15
Language
German
Category
Computer Science
Level
University
Created / Updated
27.12.2013 / 29.01.2025

Flashcards

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.

 

Wikipedia

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

  1. Kibibyte und Kilobyte  
  2. Mebibyte und Megabyte
  3. 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)

Wikipedia

 

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

mehr

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.

Wikipedia

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

Study