5. Darstellung und Verarbeitung von Textzeichen

Größe: px
Ab Seite anzeigen:

Download "5. Darstellung und Verarbeitung von Textzeichen"

Transkript

1 1 5. Darstellung und Verarbeitung von Textzeichen 5.1. Einführung Computer werden nicht nur zum Rechnen mit Zahlen oder zur Verarbeitung aussagenlogischer Werte eingesetzt. Man kann mit ihnen auch Texte speichern und verarbeiten. Bei der Programmierung unterscheidet man Textzeichen und Zeichenketten: Ein (Text-)Zeichen (engl. Character) ist ein einzelnes Zeichen, wie beispielsweise ein lateinischer Buchstabe (A,..., Z, a,..., z), eine Ziffer (0,..., 9), ein Sonderzeichen (!,?, #,, +, -,...), oder ein Schriftzeichen aus einem anderen Alphabet oder einer anderen Sprache (Russisch mit dem kyrillischen Alphabet, Griechisch, Arabisch, Hebräisch, Chinesisch, Japanisch,...). Eine Zeichenkette (engl. String) ist eine Folge von Zeichen, wie beispielsweise die Wörter, Sätze, Abschnitte und Programmbeispiele dieses Texts. Eine Zeichenkette kann auch nur ein einziges Zeichen enthalten oder gar keines, also leer sein Standards zur Zeichencodierung Computer speichern und verarbeiten Daten in binärer Form, also durch Nullen und Einsen. Ein Zeichen kann dabei dargestellt ( codiert ) werden, indem man ihm eine natürliche Zahl (also eine nichtnegative ganze Zahl) zuordnet und dann deren Binärdarstellung im Speicher ablegt. Benötigt wird also ein Standard, der jedem möglichen Zeichen eine eindeutige natürliche Zahl zuordnet, so dass man von der gespeicherten Zahl eindeutig auf das Zeichen schließen kann. Java benutzt zur Zeichencodierung den Unicode-Standard, der eine Erweiterung des ASCII- Standards ist ASCII ASCII ( American Standard Code for Information Interchange ) ist ein 7-Bit-Code. Er stellt also ein Zeichen durch eine Kombination aus sieben Bits dar, d.h. eine natürliche Zahl zwischen 0 und 127. ASCII umfasst die Ziffern 0-9 die lateinischen Groß- und Kleinbuchstaben: A - Z, a - z Sonderzeichen wie (, ),!,., :, *, #, + Steuerzeichen wie Zeilenvorschub, Seitenvorschub oder Tabulator

2 2 Die Codierung der 128 ASCII-Zeichen wird durch die ASCII-Tabelle definiert: NUL DLE Leerz. P ` p +1 SOH DC1! 1 A Q a q +2 STX DC2 " 2 B R b r +3 ETX DC3 # 3 C S c s +4 EOT DC4 $ 4 D T d t +5 ENQ NAK % 5 E U e u +6 ACK SYN & 6 F V f v +7 BEL ETB ' 7 G W g w +8 BS CAN ( 8 H X h x +9 HT EM ) 9 I Y i y +10 LF SUB * : J Z j z +11 VT ESC + ; K [ k { +12 FF FS, < L \ l +13 CR QS - = M ] m } +14 SO RS. > N ^ n ~ +15 SI US /? O _ o DEL Der ASCII-Code eines Zeichens ergibt sich als Summe der Beschriftungen seiner Zeile und Spalte. Beispiele: Der ASCII-Code des Zeichens 'A' ist 65 (= ). Der ASCII-Code des Zeichens 'a' ist 97 (= ). Der ASCII-Code des Zeichens '+' ist 43 (= ). Der ASCII-Code des Leerzeichens ' ' ist 32 (= ). Der ASCII-Code des Zeilenvorschubs (Linefeed) 'LF' ist 10 (= ). Gleichartige Zeichen stehen (bis auf wenige Ausnahmen) in zusammenhängenden Bereichen der Tabelle, werden also durch Zahlen eines Intervalls codiert: Großbuchstaben im Intervall [65,90] Kleinbuchstaben im Intervall [97,122] Ziffern im Intervall [48,57] Steuerzeichen im Intervall [0,31] und bei 127 [Die meisten dieser Steuerzeichen haben heute kaum noch Bedeutung. Ausnahmen sind

3 3 BS = Backspace = Rückwärtsschritt, LF = Line Feed = Zeilenvorschub, FF = Form Feed = Seitenvorschub, CR = Carriage Return = Ende der Eingabe und DEL = Delete = Löschen eines Zeichens] Aufgabe 1: Was ist der ASCII-Code des Fragezeichens und was ist der Code der schließenden eckigen Klammer? Welches Zeichen codiert die Zahl 95 und welches die Zahl 120? ASCII ist zwar ein 7-Bit-Code, aus praktischen Gründen werden ASCII-codierte Zeichen aber in einem Byte, also acht Bits gespeichert. Das achte Bit kann für eine Erweiterung des Zeichensatzes genutzt werden, also zur Codierung weiterer Zeichen durch die Codes 128,..., 255. Ein Beispiel für eine solche Erweiterung ist Latin-1, das u.a. Umlaute (ä, ö,...) und Vokale mit Akzent (á, à,...) umfasst. ASCII und seine 8-Bit-Erweiterungen sind durch die ISO (International Organization for Standardization) standardisiert, so z.b. Latin-1 als ISO-Standard Unicode ASCII berücksichtigt nur eine sehr kleine Teilmenge der weltweit benutzten Zeichen. Um dem abzuhelfen, wurde Unicode eingeführt. Unicode ist in seiner ursprünglichen Form ein 16-Bit- Code; später wurde er auf 32 Bits erweitert. Unicode-Zeichen werden also binär in Zwei- oder Vier-Byte-Variablen gespeichert. Der Zahlenbereich von Unicode entspricht ASCII Latin-1. Höhere Zahlen codieren die Zeichensätze weiterer Schriftsprachen, z.b. das kyrillische Alphabet ab 1024 oder die chinesischen Schriftzeichen ab Unicode ist unter der ISO-Nummer standardisiert. Näheres (auch zu ASCII und seinen Erweiterungen) findet man unter Aufgabe 2: Gehen Sie zu um zu sehen, welche Alphabete und Sprachen in Unicode berücksichtigt sind Zeichen in Java Zeichenkonstanten Java basiert auf dem 16-Bit-Unicode. Einzelzeichen werden also durch zwei Bytes codiert, wie durch die Unicode-Tabellen festgelegt. Relevant für den deutsch- und englischsprachigen Raum ist dabei der Zahlenbereich von 0 bis 255, der ASCII Latin-1 entspricht. In Java kann man eine Zeichenkonstante (also einen Wert aus dem Unicode-Zeichensatz) auf verschiedene Arten schreiben: Das Zeichen in '' (also in einfachen Hochkommata) Beispiele: 'A' 'a' 'α' '#' Die Unicode-Escape-Sequenz des Zeichens. Sie hat die Form '\uxxxx', wobei xxxx für die vier Hexadezimalziffern steht, die den Unicode des Zeichens angeben. Beispiele: '\u0041' für A, '\u0061' für a, '\u03b1' für α, '\u0023' für #

4 4 Randbemerkung: Man kann solche Sequenzen an jeder beliebigen Stelle des Java-Quelltexts einsetzen, also z.b. in Zeichenketten (siehe nächster Abschnitt) oder in Variablennamen. Für spezielle Zeichen: Eine Java-Escape-Sequenz der Form '\x', wobei x für ein Zeichen gemäß der folgenden Tabelle steht. Bezeichnung BS (Back Space, Schritt nach links) HT (horizontaler Tabulator) LF (Line Feed, Zeilenende) FF (Form Feed, vertikaler Tabulator) CR (Carriage Return, Wagenrücklauf) Zeichenvariablen Zeichen '\b' '\t' '\n' '\f' '\r' " (doppeltes Hochkomma) '\"' ' (einfaches Hochkomma) '\'' \ (Back Slash, umgekehrter Schrägstrich) '\\' Der Java-Typ für einzelne Zeichen heißt char. Sein Wertebereich ist die Menge der Zahlencodes gemäß 16-Bit-Unicode. char-konstanten in Java-Programmen werden dargestellt wie im vorangehenden Abschnitt beschrieben. Beispiel: Deklaration und Initialisierung zweier char-variablen char a='a', b='\u0023'; Aufgabe 3: Deklarieren Sie eine char-variable und weisen Sie ihr das Zeichen α zu. Berücksichtigen Sie dabei, dass dieses Zeichen auf Ihrer Tastatur nicht vorhanden ist, Sie es also nicht direkt eintippen können. char-werte werden durch System.out.println() ausgegeben. Ein char-wert wird durch System.in.read() eingelesen. Da read() einen Ganzzahlwert liefert, muss dieser Wert explizit nach char umgewandelt werden. Beispiel: Ausgabe zweier char-werte und Einlesen eines char-werts char a =..., b =...; System.out.println("a = "+a+" b = "+b); char c = (char) System.in.read(); Die Java-Klasse Character definiert eine Reihe nützlicher Methoden zum Umgang mit char-werten. Der folgende Programmausschnitt zeigt einige von ihnen: Beispiel: Einige Methoden der Klasse Character char c =...; System.out.println("Ist es ein Buchstabe? " +Character.isLetter(c));

5 5 System.out.println("Ist es ein Grossbuchstabe? " +Character.isUpperCase(c)); System.out.println("Ist es ein Kleinbuchstabe? " +Character.isLowerCase(c)); System.out.println("Ist es eine Ziffer? " +Character.isDigit(c)); System.out.println("Ist es eine Ziffer oder ein Buchstabe? " +Character.isLetterOrDigit(c)); System.out.println("Entsprechender Grossbuchstabe: " +Character.toUpperCase(c)); System.out.println("Entsprechender Kleinbuchstabe: " +Character.toLowerCase(c)); Da char-werte intern als ganze Zahlen dargestellt werden, kann man mit ihnen rechnen. Beispielsweise kann man für ein Zeichen seinen Vorgänger und seinen Nachfolger in der Unicode- Tabelle ermitteln im Fall von Buchstaben also den vorherigen und den nächsten Buchstaben im Alphabet. Beispiel: Ermittlung des Vorgängers und des Nachfolgers eines char-werts char c =...; char vorgaenger = (char)(c-1); char nachfolger = (char)(c+1); Aufgabe 4: Welchen Wert hat der Ausdruck (char)('m'-5)? Welchen Wert hat der Ausdruck (char)('9'+4)? Entsprechend sind sämtliche Wertvergleiche, die in Kap. 4 eingeführt wurden, zulässig: ==,!=, <, <=, >, >=. Aufgabe 5: Laden Sie das Programmbeispiel Chars.java herunter, führen Sie es aus und vollziehen Sie seine Operationen im Quellcode nach. Verändern und erweitern Sie es nach Ihren eigenen Ideen Zeichenketten / Strings in Java Konstanten für Zeichenketten Konstante Zeichenketten ( Stringkonstanten ) werden in Java durch Zeichenfolgen dargestellt, die in "" eingeschlossen sind (also in doppelten Hochkommata = dem Zeichen, das sich auf einer deutschen Tastatur oberhalb des Zeichens 2 befindet). Hierbei sind beliebige Unicode-Zeichen zugelassen, auch in ihrer Darstellung als Escape-Sequenzen. Beispiele: "" "Erste Zeile\nZweite Zeile" "alpha: \u03b1" Achtung: Man muss gut unterscheiden zwischen Einzelzeichen und Zeichenketten. Beispielsweise ist 'c' eine char-konstante, "c" ist dagegen eine Stringkonstante der Länge 1. Es handelt sich dabei um unterschiedliche, nicht direkt kompatible Werte und Typen!

6 Variablen: Klasse String Stringkonstanten und -variablen können in Java mit dem Typ String realisiert werden. Für das grundlegende Verständnis dieses Typs sind die folgenden Begriffe und Zusammenhänge wichtig: String-Objekte speichern String-Konstanten. String-Variablen speichern Referenzen auf String-Objekte. Das folgende Beispiel erklärt und illustriert diese Aussagen: Die Deklaration String ; deklariert eine String-Variable. Die Anweisung new String("") erzeugt ein neues String-Objekt. Die Zuweisung = new String(""); weist der String-Variablen eine Referenz auf das neu erzeugte Objekt zu. Man sagt dann, dass das Objekt referenziert, also darauf verweist, und man kann von aus über die Referenz auf den Inhalt des Objekts (hier: die String-Konstante "") zugreifen. Man muss also klar unterscheiden zwischen String-Objekten, die String-Konstanten speichern, und String-Variablen, in denen Referenzen auf String-Objekte stehen. Diese Unterscheidung ist wichtig bei String-Operationen in Java insbesondere bei Zuweisungen: Bei Zuweisungen werden Referenzen, aber keine Objekte kopiert! Beispiel: Zuweisung zwischen String-Variablen = new String(""); s2 = ; s2 Bei der Zuweisung wird der Inhalt der Variablen in die Variable s2 kopiert. Da der -Inhalt eine Referenz ist, referenziert s2 anschließend dasselbe Objekt wie. Das Objekt selbst wird nicht kopiert, so dass auch nach der Zuweisung nur ein String-Objekt vorhanden ist. Aufgabe 6: Deklarieren Sie eine String-Variable, erzeugen Sie ein String-Objekt, das Ihren Namen als Zeichenkette enthält, und lassen Sie die Variable das Objekt referenzieren. Strings können mit dem +-Operator aneinandergehängt ( konkateniert ) werden. Diese Operation haben Sie bereits in println()-aufrufen gesehen, wo der Ausgabetext durch die Konkatenation von Zeichenketten aufgebaut wurde. Bei der Anwendung des +-Operators ist relevant, dass String-Objekte nicht editierbar sind, der Inhalt eines String-Objekts also nicht geändert werden kann. Bei einer Konkatenation entsteht also ein neues String-Objekt; der Inhalt des vorhandenen Objekts bleibt unverändert.

7 7 Beispiel: Zuweisung zwischen String-Variablen Welt und anschließende Konkatenation = new String(""); s2 = ; s2 = + new String("Welt"); Nach der Zuweisung s2= referenzieren beide Variablen dasselbe Objekt mit Inhalt "" (siehe voriges Beispiel). Durch die anschließende Konkatenation entsteht ein neues Objekt mit Inhalt " Welt", das (wegen der Zuweisung =...) von referenziert wird. Das bisherige ""-Objekt bleibt unverändert und wird nach wie vor von s2 referenziert. Aufgabe 7: Betrachten Sie die folgende Anweisungsfolge String a, b, c; a = new String("Anton"); b = new String("Berta"); c = new String("Cäsar"); a = b; b = b + new String(" Müller"); Zeichnen Sie eine Skizze, die die String-Variablen und -Objekte sowie die Referenzen in ihnen zeigt. Bei der Ausführung von Java-Programmen kommt es oft vor, dass Objekte von keiner Variablen mehr referenziert werden, also nicht mehr zugreifbar sind. Solche Objekte werden durch das Java-Laufzeitsystem (genauer: den Java Garbage Collector ) automatisch gelöscht und ihr Speicherplatz wieder freigegeben; der Programmierer muss sich hierum nicht kümmern, Die Java-Klasse String definiert eine Reihe nützlicher Methoden zum Umgang mit Zeichenketten. Die folgende Auflistung zeigt einige von ihnen:.length(): Länge des Strings = Anzahl der Zeichen.equals(s2): Vergleich zweier Strings (Details dazu siehe unten).compareto(s2): ebenfalls Vergleich zweier Strings (Details dazu siehe unten).startswith("hal"): Prüfung, ob der String ein bestimmtes Anfangsstück hat.endswith("elt"): Prüfung, ob der String ein bestimmtes Endstück hat.contains("llo"): Prüfung, ob der String einen bestimmten Teilstring enthält.indexof("llo"): Position, an der ein bestimmter Teilstring beginnt (wobei die Positionszählung in einem String immer bei 0 beginnt).charat(2): Zeichen, das an einer bestimmten Position des Strings steht.substring(2): Teilstring, der an einer bestimmten Position des Strings beginnt Bei der Arbeit mit String-Variablen ist es wichtig, zwischen Vergleichen mit == und Vergleichen mit equals() zu unterscheiden: == vergleicht Referenzen in String-Variablen, equals() vergleicht String-Konstanten in String-Objekten.

8 8 Aufgabe 13: Laden Sie das Programmbeispiel Aus/StringEingabe.java herunter. Vollziehen Sie nach, wie das Programm eine Zeichen- Beispiel: Vergleich von Strings. String = new String(""); String s2 = new String(""); s2 Hier referenzieren und s2 zwei String-Objekte, die zwar denselben Inhalt haben, aber zwei verschiedene Objekte sind. ==s2 vergleicht die Inhalte der String-Variablen (also die Referenzen) und liefert false, da und s2 verschiedene Objekte referenzieren..equals(s2) vergleicht die Inhalte der String-Objekte und liefert true, da die Zeichenketten in den Objekten gleich sind. equals() prüft lediglich, ob zwei Strings gleich oder ungleich sind, und liefert entsprechend einen boolean-wert. compareto() stellt dagegen fest, welcher der beiden Strings gemäß der lexikographischen Reihenfolge (nach der z.b. Wörter in einem Wörterbuch sortiert sind) als erster steht..compareto(s2) liefert eine 0, wenn beide Strings gleich sind, eine negative Zahl, wenn s2 lexikographisch nach steht, und eine positive Zahl sonst. Aufgabe 8: Welchen Wert liefert der folgende equals()-aufruf? String a = "Anton";... a.equals("anton"); Aufgabe 9: Laden Sie das Programmbeispiel Strings.java herunter, führen Sie es aus und vollziehen Sie seine Operationen im Quellcode nach. Verändern und erweitern Sie es nach Ihren eigenen Ideen. Aufgabe 10: Gehen Sie zur Online-Dokumentation der Klasse String ( > im linken unteren Fenster "String" suchen und anklicken) und betrachten Sie die Methoden, die diese Klasse anbietet Variablen: Klasse StringBuffer Neben der Klasse String gibt es in Java die Klasse StringBuffer. StringBuffer-Objekte sind, im Gegensatz zu String-Objekten, editierbar ; man kann also die Zeichenkette im Objekt ändern. Die Klasse StringBuffer definiert einige Methoden, mit denen man auf StringBuffer- Objekten arbeiten kann. Zwei Beispiele sind die Methoden replace() und reverse(): Mit replace() kann man Teile einer Zeichenkette durch andere Zeichen ersetzen, mit reverse() kann man die gespeicherte Zeichenkette umdrehen. Aufgabe 11: Laden Sie das Programmbeispiel herunter und vollziehen Sie seine Operationen nach. Verändern und erweitern Sie es nach Ihren eigenen Ideen. Aufgabe 12: Gehen Sie zur Online-Dokumentation der Klasse StringBuffer ( > im linken unteren Fenster "StringBuffer" anklicken) und betrachten Sie die Methoden, die diese Klasse anbietet.

9 9 kette von der Tastatur in ein String-Objekt einliest und wie die Zeichenkette daraus einem StringBuffer-Objekt zugewiesen wird Lernergebnisse dieses Kapitels Nach diesem Kapitel muss man mindestens wissen, wie die ASCII-Tabelle Zeichen durch Zahlen codiert, was der Unterschied zwischen ASCII und Unicode ist, warum und wie man mit Zeichen rechnen kann und was der Unterschied zwischen Zeichen und Zeichenketten ist. In Java muss man jetzt mindestens Variablen des Typs char deklarieren und initialisieren können, Zeichenkonstanten darstellen können, zu einem Zeichen das nächste und das vorangehende ermitteln können Zeichenketten in String- und StringBuffer-Objekten speichern und verarbeiten können und zwischen String-Variablen und String-Objekten unterscheiden können, insbesondere bei Zuweisungen und Vergleichen Lösung der Aufgaben Aufgabe 1: 63, 93, _ (Unterstrich), x Aufgabe 2: - Aufgabe 3: char alpha = '\u03b1'; Aufgabe 4: 'h', '=' (nicht 13, denn hier wird nicht mit der Zahl 9, sondern mit dem Unicode/ ASCII-Code des Zeichens '9', also 57 gerechnet) Aufgabe 5: - Aufgabe 6: String ich = new String("Charlie Brown"); Aufgabe 7: a b Anton Berta Berta Müller c Cäsar Aufgabe 8: false (denn es wird zwischen Groß- und Kleinbuchstaben unterschieden)

Informatikgrundlagen I Grundlagen der Informatik I

Informatikgrundlagen I Grundlagen der Informatik I Informatikgrundlagen I Grundlagen der Informatik I Dipl.-Inf. Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 Fachbereich Automatisierung

Mehr

X = {x 1,x 2,...} sei ein Symbolalphabet eines Kodes. In diesem Kode sind card(x) = X Sachverhalte darstellbar

X = {x 1,x 2,...} sei ein Symbolalphabet eines Kodes. In diesem Kode sind card(x) = X Sachverhalte darstellbar 3. Kodierung Wir wollen Kodierung nicht als Verschlüsselung zum Zwecke der Geheimhaltung auffassen, sondern als Mittel zur Darstellung von Sachverhalten so, daß eine Rechner mit diesen Sachverhalten umgehen

Mehr

Rechnerstrukturen WS 2012/13

Rechnerstrukturen WS 2012/13 Rechnerstrukturen WS 2012/13 Repräsentation von Daten Repräsentation natürlicher Zahlen (Wiederholung) Repräsentation von Texten Repräsentation ganzer Zahlen Repräsentation rationaler Zahlen Repräsentation

Mehr

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Inhalt dieser Einheit Variablen (Sinn und Aufgabe) Bezeichner Datentypen, Deklaration und Operationen Typenumwandlung (implizit/explizit) 2 Variablen

Mehr

Programmieren in C Einführung

Programmieren in C Einführung Programmieren in C Einführung Aufbau eines Programms Einfache Programme Datentypen und Vereinbarungen Das Entwicklungswerkzeug Seite Einfache Programme Kugeltank-Berechnung #include void main

Mehr

Zahlen und Zeichen (1)

Zahlen und Zeichen (1) Zahlen und Zeichen () Fragen: Wie werden Zahlen repräsentiert und konvertiert? Wie werden negative Zahlen und Brüche repräsentiert? Wie werden die Grundrechenarten ausgeführt? Was ist, wenn das Ergebnis

Mehr

Advanced Encryption Standard. Copyright Stefan Dahler 20. Februar 2010 Version 2.0

Advanced Encryption Standard. Copyright Stefan Dahler 20. Februar 2010 Version 2.0 Advanced Encryption Standard Copyright Stefan Dahler 20. Februar 2010 Version 2.0 Vorwort Diese Präsentation erläutert den Algorithmus AES auf einfachste Art. Mit Hilfe des Wissenschaftlichen Rechners

Mehr

Was ist Wirtschaftsinformatik?

Was ist Wirtschaftsinformatik? 1. Grundlagen, 1.1 Grundverständnis der Wirtschaftsinformatik Was ist Wirtschaftsinformatik? BWL Betriebswirtschaftliche Problemstellung: Wie kann IT im Unternehmen angewendet werden, z.b. im Bereich Beschaffung

Mehr

Kapitel 3. Codierung von Text (ASCII-Code, Unicode)

Kapitel 3. Codierung von Text (ASCII-Code, Unicode) Kapitel 3 Codierung von Text (ASCII-Code, Unicode) 1 Kapitel 3 Codierung von Text 1. Einleitung 2. ASCII-Code 3. Unicode 2 1. Einleitung Ein digitaler Rechner muss jede Information als eine Folge von 0

Mehr

Übung zur Wirtschaftsinformatik I. Zahlensysteme / Codierung

Übung zur Wirtschaftsinformatik I. Zahlensysteme / Codierung WS 06/07 Thema 4: Zahlensysteme / Codierung 1 Übung zur Winfo I - Themenplan - Informationsverarbeitung in Unternehmen Tabellenkalkulation Anwendungen PC-Komponenten Zahlensysteme / Codierung Boole sche

Mehr

Barcode- Referenzhandbuch

Barcode- Referenzhandbuch Barcode- Referenzhandbuch Version 0 GER/AUS/SWI-GER 1 Einführung 1 Übersicht 1 1 Dieses Referenzhandbuch bietet Informationen zum Drucken von Barcodes über Steuerbefehle, die direkt an ein Brother-Druckergerät

Mehr

Darstellung von Informationen

Darstellung von Informationen Darstellung von Informationen Bit, Byte, Speicherzelle und rbeitsspeicher Boolesche Operationen, Gatter, Schaltkreis Bit Speicher (Flipflop) Binär- Hexadezimal und Dezimalzahlensystem, Umrechnungen Zweierkomplement

Mehr

Java programmieren: Konsolen-Programme

Java programmieren: Konsolen-Programme Java programmieren: Es war einmal vor langer Zeit in einer weit entfernten Galaxis ok, das ist etwas übertrieben. In den Anfängen der Personal Computer in den 1980er sahen Computer noch etwa so aus: Diese

Mehr

3. Informationsdarstellung

3. Informationsdarstellung Fakultät Informatik Institut Systemarchitektur Professur Datenschutz und Datensicherheit WS 204/205 3. Informationsdarstellung Dr.-Ing. Elke Franz Elke.Franz@tu-dresden.de 3 Informationsdarstellung Bitfolgen

Mehr

Voyager 9520/40 Voyager GS9590 Eclipse 5145 Kurzanleitung

Voyager 9520/40 Voyager GS9590 Eclipse 5145 Kurzanleitung Voyager 9520/40 Voyager GS9590 Eclipse 5145 Kurzanleitung VG-ECL-DE-QS Rev C 6/12 Erste Schritte Schalten Sie den Computer aus, bevor Sie den Scanner anschließen. Starten Sie den Computer neu, nachdem

Mehr

Kapitel 1. Programmierkurs. 1.2 Allgemeiner Aufbau des Computers. 1.1 Hallo, Computer...?

Kapitel 1. Programmierkurs. 1.2 Allgemeiner Aufbau des Computers. 1.1 Hallo, Computer...? Kapitel 1 Programmierkurs Birgit Engels, Anna Schulze ZAIK Universität zu Köln Einführung Hallo, Computer...? Aufbau eines Computers Was ist eine Programmiersprache? Der Programmierprozess Warum Java?

Mehr

Multimediale Werkzeuge. Textformate, Medienobjekte

Multimediale Werkzeuge. Textformate, Medienobjekte Multimediale Werkzeuge Textformate, Medienobjekte File/Datei organiation: Binaer, Gruppe von 8 bits, 1 Byte: 2 x 4er Gruppen (Nibble). Darstellung als Binaer (4 stellen Nibble), Octal (Ziffern 0-7,3 stellen

Mehr

Lua - Erste Schritte in der Programmierung

Lua - Erste Schritte in der Programmierung Lua - Erste Schritte in der Programmierung Knut Lickert 7. März 2007 Dieser Text zeigt einige einfache Lua-Anweisungen und welchen Effekt sie haben. Weitere Informationen oder eine aktuelle Version dieses

Mehr

Klausur in 12.1 Themen: Zahlsysteme, Grundlagen von Delphi (Bearbeitungszeit: 90 Minuten)

Klausur in 12.1 Themen: Zahlsysteme, Grundlagen von Delphi (Bearbeitungszeit: 90 Minuten) Name: «Vorname» «Name» Klausur in 12.1 Themen: Zahlsysteme, Grundlagen von Delphi (Bearbeitungszeit: 90 Minuten) Informatik 12 2 VP je 2 VP 6 VP 0 Notieren Sie alle Antworten in einer Word-Datei Klausur1_«Name».doc

Mehr

5.4 Klassen und Objekte

5.4 Klassen und Objekte 5.4 Klassen und Objekte Zusammenfassung: Projekt Figuren und Zeichner Figuren stellt Basisklassen für geometrische Figuren zur Verfügung Zeichner bietet eine übergeordnete Klasse Zeichner, welche die Dienstleistungen

Mehr

Programmieren in C. -- ALLE Programmiersprachen sind HÄSSLICH -- Deklaration: erst der Datentyp, dann der Variablenname. Semikolon am Ende.

Programmieren in C. -- ALLE Programmiersprachen sind HÄSSLICH -- Deklaration: erst der Datentyp, dann der Variablenname. Semikolon am Ende. PROGRAMMIEREN IN C - EIN KURZÜBERBLICK 1 Programmieren in C -- ALLE Programmiersprachen sind HÄSSLICH -- Die einfachste Programmstruktur: main () -- was zu tun ist --- Vorgeordnete Definitionen: # include

Mehr

EIN NEUES KAPITEL: SPEICHERUNG UND INTERPRETATION VON INFORMATION

EIN NEUES KAPITEL: SPEICHERUNG UND INTERPRETATION VON INFORMATION Auf diesem Computerschirm sieht man verschiedene Arten von Information dargestellt. Wie wird sie eigentlich im Computer abgespeichert. Was man sieht, ist nur eine Graphik! EIN NEUES KAPITEL EIN NEUES KAPITEL:

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 3 Grundelemente der Java-Programmierung... 3-2 3.1 Alphabet... 3-2 3.2 Bezeichner... 3-3 3.3 Kommentare... 3-3 3.4 Elementardatentypen... 3-5 3.5 Konstanten (Literale)... 3-7 3.5.1 Unbenannte Konstanten...

Mehr

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java: Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen

Mehr

Herzlich Willkommen zur Informatik I. Bits und Bytes. Zahlensystem zur Basis 10 (Dezimalzahlen) Warum Zahlensysteme betrachten?

Herzlich Willkommen zur Informatik I. Bits und Bytes. Zahlensystem zur Basis 10 (Dezimalzahlen) Warum Zahlensysteme betrachten? Herzlich Willkommen zur Informatik I Bits und Bytes Zahlen im Computer: Binärzahlen, Hexadezimalzahlen Text im Computer: ASCII-Code und Unicode Quelle: http://www.schulphysik.de/rgb.html Bit: eine binäre

Mehr

Primitive Datentypen

Primitive Datentypen Primitive Datentypen 2 Arten von Datentypen: primitive Datentypen (heute) Objekte (später) Java ist streng typisiert, d.h. für jede Variable muß angegeben werden was für eine Art von Wert sie aufnimmt.

Mehr

Hauptspeicherinhalt. Ton. Vektorgrafik Bitmapgrafik Digit. Video. 1. Darstellung von Daten im Rechner. Abb. 1.1: Einteilung der Daten

Hauptspeicherinhalt. Ton. Vektorgrafik Bitmapgrafik Digit. Video. 1. Darstellung von Daten im Rechner. Abb. 1.1: Einteilung der Daten Hauptspeicherinhalt Programmcode Daten numerisch logisch alphanumerisch Ton Grafik Ganze Zahlen Gleitkommazahlen Zeichen Zeichenketten vorzeichenlos mit Vorzeichen Vektorgrafik Bitmapgrafik Digit. Video

Mehr

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung M. Graefenhan 2000-12-07 Aufgabe Lösungsweg Übungen zu C Blatt 3 Musterlösung Schreiben Sie ein Programm, das die Häufigkeit von Zeichen in einem eingelesenen String feststellt. Benutzen Sie dazu ein zweidimensionales

Mehr

Mit Änderungen beim SPE670 Frequenz, Drehzahl, Durchfluß und Ereignis

Mit Änderungen beim SPE670 Frequenz, Drehzahl, Durchfluß und Ereignis Mit Änderungen beim SPE670 Frequenz, Drehzahl, Durchfluß und Ereignis Nach dem Einschalten erscheint zunächst für ca. 2 Sekunden die Anzeige 0. Bei fehlender Uhr oder leerer Uhrenbatterie für 2 Sekunden

Mehr

Noch für heute: primitive Datentypen in JAVA. Primitive Datentypen. Pseudocode. Dezimal-, Binär- und Hexadezimalsystem. der logische Typ boolean

Noch für heute: primitive Datentypen in JAVA. Primitive Datentypen. Pseudocode. Dezimal-, Binär- und Hexadezimalsystem. der logische Typ boolean 01.11.05 1 Noch für heute: 01.11.05 3 primitie Datentypen in JAVA Primitie Datentypen Pseudocode Name Speichergröße Wertgrenzen boolean 1 Byte false true char 2 Byte 0 65535 byte 1 Byte 128 127 short 2

Mehr

64-040 Modul IP7: Rechnerstrukturen

64-040 Modul IP7: Rechnerstrukturen 64-040 Modul IP7: 4. Textkodierung Norman Hendrich & Jianwei Zhang Universität Hamburg MIN Fakultät, Vogt-Kölln-Str. 30, D-22527 Hamburg {hendrich,zhang}@informatik.uni-hamburg.de WS 2010/2011 Hendrich

Mehr

Grundzüge Wirtschaftsinformatik KE 1 Ausgabe 25.09.2012 Seite 28 von 178

Grundzüge Wirtschaftsinformatik KE 1 Ausgabe 25.09.2012 Seite 28 von 178 Grundzüge Wirtschaftsinformatik KE 1 Ausgabe 25.09.2012 Seite 28 von 178 Zeichendarstellung Vergleichbar mit der Definition, wie Fest- oder Gleitkommazahlen repräsentiert werden, muss auch für die Darstellung

Mehr

Grundlagen der Informatik I Informationsdarstellung

Grundlagen der Informatik I Informationsdarstellung Grundlagen der Informatik I Informationsdarstellung Einführung in die Informatik, Gumm, H.-P./Sommer, M. Themen der heutigen Veranstaltung. ASCIi Code 2. Zeichenketten 3. Logische Operationen 4. Zahlendarstellung

Mehr

Programmiertechnik Skalare Typen,Variablen, Zuweisungen

Programmiertechnik Skalare Typen,Variablen, Zuweisungen Programmiertechnik Skalare Typen,Variablen, Zuweisungen Prof. Dr. Oliver Haase int i; long j; boolean isempty; double average; char naechsteszeichen; j = 42L; i = (int) j; isempty = true; average = 37.266;

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 5 Referenzdatentypen - Felder... 5-2 5.1 Eindimensionale Felder - Vektoren... 5-3 5.1.1 Vereinbarung... 5-3 5.1.2 Referenzen sind keine Felder... 5-4 5.1.3 Kopieren eindimensionaler Felder... 5-6

Mehr

Repräsentation von Daten Binärcodierung von rationalen Zahlen und Zeichen

Repräsentation von Daten Binärcodierung von rationalen Zahlen und Zeichen Kapitel 4: Repräsentation von Daten Binärcodierung von rationalen Zahlen und Zeichen Einführung in die Informatik Wintersemester 2007/08 Prof. Bernhard Jung Übersicht Codierung von rationalen Zahlen Konvertierung

Mehr

Ab J2SE 5.0 Unterstützung formatierter Bildschirmausgaben. Mit den Operatoren und Klammern können Boolesche Ausdrücke gebildet werden Beispiel:

Ab J2SE 5.0 Unterstützung formatierter Bildschirmausgaben. Mit den Operatoren und Klammern können Boolesche Ausdrücke gebildet werden Beispiel: Die Funktionen print() und println() Die Funktion System.out.printf() Format eines Funktionsaufrufs funktionsname(); Innerhalb der Klammern können Argumente angegeben werden Die Funktion kann ein Ergebnis

Mehr

AK-Automatisierungs und Kommunikationstechnik TI Technische Informatik. NWT Netzwerktechnik www.munz-udo.de

AK-Automatisierungs und Kommunikationstechnik TI Technische Informatik. NWT Netzwerktechnik www.munz-udo.de Aufgaben: Ein Ausgabe Ein Rechner verwaltet nicht nur Daten, die während der Laufzeit des Programms erzeugt werden. Die meisten Programme greifen auf ältere Datenbestände zurück oder erzeugen für einen

Mehr

Informationsdarstellung im Rechner

Informationsdarstellung im Rechner Informationsdarstellung im Rechner Dr. Christian Herta 15. Oktober 2005 Einführung in die Informatik - Darstellung von Information im Computer Dr. Christian Herta Darstellung von Information im Computer

Mehr

Übungen zu C++ Kapitel 1

Übungen zu C++ Kapitel 1 Übungen zu C++ Kapitel 1 Aufgabe 1 Ergänze den Text. a) Die sechs logischen Einheiten eines Computers sind Eingabe-Einheit, Ausgabe-Einheit, RAM, ALU, CPU, Plattenspeicher. b) Die Programme, welche Hochsprachenprogramme

Mehr

IS3480 QuantumE QuantumT 3580 Fusion 3780 Orbit 7120/7180 Solaris 7820. Kurzanleitung

IS3480 QuantumE QuantumT 3580 Fusion 3780 Orbit 7120/7180 Solaris 7820. Kurzanleitung IS3480 QuantumE QuantumT 3580 Fusion 3780 Orbit 7120/7180 Solaris 7820 Kurzanleitung Erste Schritte Schalten Sie den Computer aus, bevor Sie den Scanner anschließen. Starten Sie den Computer neu, nachdem

Mehr

Entscheidungen und Wertkonstanten

Entscheidungen und Wertkonstanten Entscheidungen und Wertkonstanten Die Entscheidungen, die ein Programm fällen kann, basieren immer auf einer einfachen Ja/Nein- Aussage. Unabhänig davon wieviel künstliche Intelligenz ein Programm besitzt,

Mehr

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten

Mehr

Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe

Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Was sind Operatoren? Ein Operator ist eine in die Programmiersprache eingebaute Funktion,

Mehr

Unicode und UTF-8. Anna-Katharina Wurst. 28. April 2015. WP5 Angewandte Programmierung

Unicode und UTF-8. Anna-Katharina Wurst. 28. April 2015. WP5 Angewandte Programmierung 28. April 2015 WP5 Angewandte Programmierung David Kaumanns & Sebastian Ebert SoSe 2015 CIS Ludwig-Maximilians-Universität München 2 Inhalt 1 Zeichensätze ASCII ISO 8859-x Unicode 2 Kodierung UTF-8 3 Anwendung

Mehr

Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11

Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11 Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11 Fakultät für Informatik Lehrstuhl 1 Dr. Lars Hildebrand Carla Delgado-Battenfeld Fatih Gedikli Tobias Marschall Benjamin Schowe

Mehr

Prinzipielle Ausführungsvarianten I

Prinzipielle Ausführungsvarianten I Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter Unser erstes Java Programm AG Softech FB Informatik TU Kaiserslautern Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 39 Hello World!

Mehr

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik Informatik I WS 2012/13 Tutorium zur Vorlesung 1. Alexander Zietlow zietlow@informatik.uni-tuebingen.de Wilhelm-Schickard-Institut für Informatik Eberhard Karls Universität Tübingen 11.02.2013 1. 2. 1.

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Rückblick Schleifen while do-while for Methoden Verfahren: Intervallschachtelung 2 Wo

Mehr

Programmieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff

Programmieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff Programmieren in C C Syntax Datentypen, Operatoren und Kontrollstrukturen Prof. Dr. Nikolaus Wulff Elementare Typen Imperative und objektorientierte Programmiersprachen bieten i.d.r. einen Satz elementarer

Mehr

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Zahlensysteme und Datendarstellung

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Zahlensysteme und Datendarstellung Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Zahlensysteme und Datendarstellung Zahlensysteme Problem: Wie stellt man (große) Zahlen einfach, platzsparend und rechnergeeignet

Mehr

Reihungen. Martin Wirsing. in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03

Reihungen. Martin Wirsing. in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03 Reihungen Martin Wirsing in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03 2 Ziele Die Datenstruktur der Reihungen verstehen: mathematisch und im Speicher Grundlegende Algorithmen auf Reihungen

Mehr

620.900 Propädeutikum zur Programmierung

620.900 Propädeutikum zur Programmierung 620.900 Propädeutikum zur Programmierung Andreas Bollin Institute für Informatik Systeme Universität Klagenfurt Andreas.Bollin@uni-klu.ac.at Tel: 0463 / 2700-3516 Lösung der Aufgaben (1/2) Lösung Aufgabe

Mehr

VisualBasic - Variablen

VisualBasic - Variablen Typisch für alle Basic-Dialekte ist die Eigenschaft, dass Variablen eigentlich nicht deklariert werden müssen. Sobald Sie einen Bezeichner schreiben, der bisher nicht bekannt war, wird er automatisch angelegt

Mehr

PIWIN 1 Übung Blatt 5

PIWIN 1 Übung Blatt 5 Fakultät für Informatik Wintersemester 2008 André Gronemeier, LS 2, OH 14 Raum 307, andre.gronemeier@cs.uni-dortmund.de PIWIN 1 Übung Blatt 5 Ausgabedatum: 19.12.2008 Übungen: 12.1.2009-22.1.2009 Abgabe:

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 02: Klassen & Objekte Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Klassen Grundstruktur einer Java-Klasse Eigenschaften (Attribute) Variablen

Mehr

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel.

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel. Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 7, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)

Mehr

Auch 2007 wird diese Empfehlung allerdings immer noch nicht universell befolgt.

Auch 2007 wird diese Empfehlung allerdings immer noch nicht universell befolgt. UTF-8 Kodierung UTF-8 (Abk. für 8-bit Unicode Transformation Format) ist die am weitesten verbreitete Kodierung für Unicode Zeichen. Unicode ist ein internationaler Standard, in dem langfristig für jedes

Mehr

Die Programmiersprache C

Die Programmiersprache C Die Programmiersprache C höhere Programmiersprache (mit einigen Assembler-ähnlichen Konstrukten) gut verständliche Kommandos muss von Compiler in maschinenlesbaren Code (Binärdatei) übersetzt werden universell,

Mehr

Propädeutikum. Dipl.-Inf. Frank Güttler

Propädeutikum. Dipl.-Inf. Frank Güttler Propädeutikum 2015 Vorbereitungskurs Informatikstudium Erfolgreich Studieren Programmieren (C-Kurs) guettler@informatik.uni-leipzig.de Universität Leipzig Institut für Informatik Technische Informatik

Mehr

Algorithmische Kernsprache. Zuweisung, einfache und bedingte Anweisung, Blöcke, Schleifen, return, debugging.

Algorithmische Kernsprache. Zuweisung, einfache und bedingte Anweisung, Blöcke, Schleifen, return, debugging. Algorithmische Kernsprache Zuweisung, einfache und bedingte Anweisung, Blöcke, Schleifen, return, debugging. Ausdrücke Anweisungen Ausdrücke bezeichnen einen Wert Kontext stellt Werte von Variablen Werte

Mehr

Vom Problem zum Programm

Vom Problem zum Programm Vom Problem zum Programm Zahlendarstellung - Konvertierung Dezimal Dual/Binär Oktal Hexadezimal Einer-/Zweierkomplement Einfache Standard-Datentypen Integer Real Character Darstellung im Speicher Aussagenlogik

Mehr

Grundlagen der Technischen Informatik. Codierung und Fehlerkorrektur. Kapitel 4.2

Grundlagen der Technischen Informatik. Codierung und Fehlerkorrektur. Kapitel 4.2 Codierung und Fehlerkorrektur Kapitel 4.2 Prof. Dr.-Ing. Jürgen Teich Lehrstuhl für Hardware-Software-Co-Design Technische Informatik - Meilensteine Informationstheorie Claude Elwood Shannon (geb. 1916)

Mehr

Einheit Variablen in der Programmiersprache C Variablen-Modell, Variablen-Vereinbarungen

Einheit Variablen in der Programmiersprache C Variablen-Modell, Variablen-Vereinbarungen Einheit Variablen in der Programmiersprache C Variablen-Modell, Variablen-Vereinbarungen Kurs C/C++ Programmierung, WS 2008/2009 Dipl.Inform. R. Spurk Arbeitsgruppe Programmierung FR 6.2 Informatik R.

Mehr

3 Objektorientierte Konzepte in Java

3 Objektorientierte Konzepte in Java 3 Objektorientierte Konzepte in Java Bisherige Beobachtungen zu Objekten: werden in Klassen zusammengefasst besitzen Eigenschaften und Verhalten verbergen private Informationen werden geboren, leben und

Mehr

11/2/05. Darstellung von Text. ASCII-Code. American Standard Code for Information Interchange. Parity-Bit. 7 Bit pro Zeichen genügen (2 7 = 128)

11/2/05. Darstellung von Text. ASCII-Code. American Standard Code for Information Interchange. Parity-Bit. 7 Bit pro Zeichen genügen (2 7 = 128) Darstellung von Text ASCII-Code 7 Bit pro Zeichen genügen (2 7 = 128) 26 Kleinbuchstaben 26 Großbuchstaben 10 Ziffern Sonderzeichen wie '&', '!', ''' nicht druckbare Steuerzeichen, z.b. - CR (carriage

Mehr

11/2/05. Darstellung von Text. ASCII-Code. American Standard Code for Information Interchange. ASCII-Tabelle. Parity-Bit. Länderspezifische Zeichen

11/2/05. Darstellung von Text. ASCII-Code. American Standard Code for Information Interchange. ASCII-Tabelle. Parity-Bit. Länderspezifische Zeichen Darstellung von Text ASCII-Code 7 Bit pro Zeichen genügen ( 7 = 18) 6 Kleinbuchstaben 6 Großbuchstaben 10 Ziffern Sonderzeichen wie '&', '!', ''' nicht druckbare Steuerzeichen, z.b. - CR (carriage return

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Objective-C CheatSheet

Objective-C CheatSheet App-Templates: Erstellt automatisch einen Navigation Controller mit editierbarem UITableView und DetailView, der bei Klick auf einzelne UITableViewCell angezeigt wird. Kreiert einen GLKitViewController

Mehr

Deklarationen in C. Prof. Dr. Margarita Esponda

Deklarationen in C. Prof. Dr. Margarita Esponda Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.

Mehr

Kapitel 3 Die erste Klasse selbst erstellen: MAMPFI

Kapitel 3 Die erste Klasse selbst erstellen: MAMPFI Kapitel 3 Die erste Klasse selbst erstellen: MAMPFI Seite 1 / 12 Kapitel 3 Die erste Klasse selbst erstellen: MAMPFI Lernziele: Eine Klasse in Java erstellen: Attribute, Datentypen, Konstruktor, Referenzattribute,

Mehr

Objektorientiertes Programmieren für Ingenieure

Objektorientiertes Programmieren für Ingenieure Uwe Probst Objektorientiertes Programmieren für Ingenieure Anwendungen und Beispiele in C++ 18 2 Von C zu C++ 2.2.2 Referenzen und Funktionen Referenzen als Funktionsparameter Liefert eine Funktion einen

Mehr

Aufgaben zur C-Programmierung für die Praktikumsperiode des 1.Semesters

Aufgaben zur C-Programmierung für die Praktikumsperiode des 1.Semesters Prof. Dr. Ulrich Breitschuh Hochschule Anhalt(FH) Fachbereich Informatik Aufgaben zur C-Programmierung für die Praktikumsperiode des 1.Semesters Hinweis: Die Aufgaben 3, 6 und 8 sind testatpichtige Aufgaben.

Mehr

Primitive Datentypen. Dr. Wolfgang Süß Thorsten Schlachter

Primitive Datentypen. Dr. Wolfgang Süß Thorsten Schlachter Dr. Wolfgang Süß Thorsten Schlachter Java-Bezeichner Für Variablen, Methoden, Klassen und Schnittstellen werden Bezeichner auch Identifizierer (von engl. identifier) genannt vergeben. Ein Bezeichner ist

Mehr

Waimea String Replacer

Waimea String Replacer Waimea String Replacer Eine benutzerfreundliche Software zum Ersetzen von Zeichenfolgen in Dateistapeln Version 3.0.0 12.03.2012 Waimea String Replacer Seite 2 1. Leistungsumfang Waimea String Replacer

Mehr

2. Zahlendarstellung und Codierungstechniken. 2.1 Maschineninterne Darstellung von Zahlen und Zeichen

2. Zahlendarstellung und Codierungstechniken. 2.1 Maschineninterne Darstellung von Zahlen und Zeichen 2. Zahlendarstellung und Codierungstechniken 2.1 Maschineninterne Darstellung von Zahlen und Zeichen 2.1 Maschineninterne Darstellung von Zahlen und Zeichen 2.2 Fehlererkennende Codes 2.3 Fehlerkorrigierende

Mehr

5.5.8 Öffentliche und private Eigenschaften

5.5.8 Öffentliche und private Eigenschaften 5.5.8 Öffentliche und private Eigenschaften Schnittstellen vs. Implementierungen: Schnittstelle einer Klasse beschreibt, was eine Klasse leistet und wie sie benutzt werden kann, ohne dass ihre Implementierung

Mehr

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung Übersicht 3.1 Modell Konto 3.2 Modell Konto - Erläuterungen 3.3 Benutzer Ein- und Ausgabe mit Dialogfenster I 3.4 Benutzer Ein- und Ausgabe mit Dialogfenster II 3.5 Klassen- und Objekteigenschaften des

Mehr

4 Codierung nach Viginere (Lösung)

4 Codierung nach Viginere (Lösung) Kapitel 4 Codierung nach Viginere (Lösung) Seite 1/14 4 Codierung nach Viginere (Lösung) 4.1 Einführung Blaise de Vigenère lebte von 1523 bis 1596 in Frankreich und war nach dem Studium bei verschiedenen

Mehr

Übungen zur Vorlesung Computergrundlagen WS 2008/09 Fakultät Physik, Universität Stuttgart Jens Harting, Martin Hecht, Bibhu Biswal Blatt 14

Übungen zur Vorlesung Computergrundlagen WS 2008/09 Fakultät Physik, Universität Stuttgart Jens Harting, Martin Hecht, Bibhu Biswal Blatt 14 Übungen zur Vorlesung Computergrundlagen WS 2008/09 Fakultät Physik, Universität Stuttgart Jens Harting, Martin Hecht, Bibhu Biswal Blatt 14 Aufgabe 33: Felder Felder (oder auch Arrays ) werden dazu benutzt,

Mehr

1 Polymorphie (Vielgestaltigkeit)

1 Polymorphie (Vielgestaltigkeit) 1 Polymorphie (Vielgestaltigkeit) Problem: Unsere Datenstrukturen List, Stack und Queue können einzig und allein int-werte aufnehmen. Wollen wir String-Objekte, andere Arten von Zahlen oder andere Objekttypen

Mehr

Was ist ein Computer? Und: Erste Schritte in C

Was ist ein Computer? Und: Erste Schritte in C Was ist ein Computer? Und: Erste Schritte in C Jörn Loviscach Versionsstand: 7. Oktober 2011, 11:51 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung. Videos dazu: http://www.j3l7h.de/videos.html

Mehr

Numerische Datentypen. Simon Weidmann

Numerische Datentypen. Simon Weidmann Numerische Datentypen Simon Weidmann 08.05.2014 1 Ganzzahlige Typen 1.1 Generelles Bei Datentypen muss man immer zwei elementare Eigenschaften unterscheiden: Zuerst gibt es den Wertebereich, zweitens die

Mehr

Kontrollstrukturen, Pseudocode und Modulo-Rechnung

Kontrollstrukturen, Pseudocode und Modulo-Rechnung Kontrollstrukturen, Pseudocode und Modulo-Rechnung CoMa-Übung III TU Berlin 29.10.2012 CoMa-Übung III (TU Berlin) Kontrollstrukturen, Pseudocode und Modulo-Rechnung 29.10.2012 1 / 1 Themen der Übung 1

Mehr

Java Einführung Operatoren Kapitel 2 und 3

Java Einführung Operatoren Kapitel 2 und 3 Java Einführung Operatoren Kapitel 2 und 3 Inhalt dieser Einheit Operatoren (unär, binär, ternär) Rangfolge der Operatoren Zuweisungsoperatoren Vergleichsoperatoren Logische Operatoren 2 Operatoren Abhängig

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12 Grundlagen: Folge 19 - Bäume 19.1 Binärbäume - Allgemeines Unter Bäumen versteht man in der Informatik Datenstrukturen, bei denen jedes Element mindestens zwei Nachfolger hat. Bereits in der Folge 17 haben

Mehr

PHP Code Konventionen Um einen einheitlichen Code zu generieren, der von jedem gelesen werden kann, müssen folgende Konventionen eingehalten werden.

PHP Code Konventionen Um einen einheitlichen Code zu generieren, der von jedem gelesen werden kann, müssen folgende Konventionen eingehalten werden. PHP Code Konventionen Um einen einheitlichen Code zu generieren, der von jedem gelesen werden kann, müssen folgende Konventionen eingehalten werden. Allgemein Ein Einzug sollte aus 4 Leerzeichen bestehen.

Mehr

3 Berechnungen und Variablen

3 Berechnungen und Variablen 3 Berechnungen und Variablen Du hast Python installiert und weißt, wie man die Python-Shell startet. Jetzt kannst Du etwas damit machen. Wir fangen mit ein paar einfachen Berechnungen an und wenden uns

Mehr

Inhaltsverzeichnis. Grundbegriffe der C-Programmierung Für den HI-TECH C-Compiler

Inhaltsverzeichnis. Grundbegriffe der C-Programmierung Für den HI-TECH C-Compiler Inhaltsverzeichnis Grundbegriffe der C-Programmierung 1. Grundsätzliches... 2 1.1 Darstellung von Werten... 2 1.1.1 Dezimale Zahlendarstellung... 2 1.1.2 Binäre Zahlendarstellung... 3 1.1.3 Hexadezimale

Mehr

LagerCheckLX Pro. Version 1.1.913

LagerCheckLX Pro. Version 1.1.913 LagerCheckLX Pro Version 1.1.913 Version 1.1.913 Was ist LagerCheckLX Pro? LagerCheckLX Pro ist ein Programm für PDAs, MDEs oder Handys mit Windows CE oder Windows Mobile als Betriebssystem zu Anzeige

Mehr

Zahlensysteme: Oktal- und Hexadezimalsystem

Zahlensysteme: Oktal- und Hexadezimalsystem 20 Brückenkurs Die gebräuchlichste Bitfolge umfasst 8 Bits, sie deckt also 2 8 =256 Möglichkeiten ab, und wird ein Byte genannt. Zwei Bytes, also 16 Bits, bilden ein Wort, und 4 Bytes, also 32 Bits, formen

Mehr

C kompakt für Java-Programmierer

C kompakt für Java-Programmierer C kompakt für Java-Programmierer Prof. Dr. Carsten Vogt, FH Köln, Institut für Nachrichtentechnik, www.nt.fh-koeln.de/vogt/ Stand: Februar 2012 In der Übung und im Praktikum "Betriebssysteme und verteilte

Mehr

620.900 Propädeutikum zur Programmierung

620.900 Propädeutikum zur Programmierung 620.900 Propädeutikum zur Programmierung Andreas Bollin Institute für Informatik Systeme Universität Klagenfurt Andreas.Bollin@uni-klu.ac.at Tel: 0463 / 2700-3516 Arrays Wiederholung (1/5) Array = GEORDNETE

Mehr

Programmieren in Python

Programmieren in Python % Vorlesung 4: Input/ Output und Filehandling % Matthias Bieg Programmieren in Python Interaktiver Modus Code wird Zeile für Zeile programmiert und direkt ausgeführt Vorteil: Das Verhalten von Codefragmenten

Mehr