Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Delphi Chars und Strings Informatik AG. Zeichen Ein Computer kann nur Zahlen verarbeiten. Wie aber werden dann Zeichen (Buchstaben,

Ähnliche Präsentationen


Präsentation zum Thema: "Delphi Chars und Strings Informatik AG. Zeichen Ein Computer kann nur Zahlen verarbeiten. Wie aber werden dann Zeichen (Buchstaben,"—  Präsentation transkript:

1 Delphi Chars und Strings Informatik AG

2 Zeichen Ein Computer kann nur Zahlen verarbeiten. Wie aber werden dann Zeichen (Buchstaben, Ziffern, Sonderzeichen) gespeichert? Schon relativ früh (1967) wurde erkannt das Systeme nur mit einer einheitlichen Codierung Daten austauschen können. Die ASCII-Tabelle wurde festegelegt (American Standard Code for Information Interchange). Code…0…1…2…3…4…5…6…7…8…9…A…B…C…D…E…F 0…NULSOHSTXETXEOTENQACKBELBSHTLFVTFFCRSOSI 1…DLEDC1DC2DC3DC4NAKSYNETBCANEMSUBESCFSGSRSUS 2…SP!"#$%&'()*+,-./ 3… :;<=>? 5…PQRSTUVWXYZ[\]^_ 6…`abcdefghijklmno 7…pqrstuvwxyz{|}~DEL

3 Informatik AG Zeichen In Pascal wird ein Zeichen als „char“ bezeichnet. Ein Char benötigt zur Speicherung 1 Byte. Die Deklaration einer Variablen sieht folgendermaßen aus: Var c: char; Mit einem einzelnen Zeichen läßt sich nicht sehr viel anstellen. Die wichtigsten Befehle die Pascal für Zeichen bereit hält sind. 1. Die Zuweisung a := ‘A‘; 2. ASCII-Wert i := ord(‘A‘); // ergibt Zahl->Zeichen c := str(65); // ergibt ‚A‘ 4. Großbuchstabe c := upper(‘a‘);// ergibt ‚A‘ 5. Kleinbuchstabe c := lower(‘A‘);// ergibt ‚a‘

4 Informatik AG Zeichenketten Im normalen Leben haben wir es doch eher mit Zeichenketten zu tun, also mehrere einzelne Zeichen aneinandergereiht. Zeichenketten werden (nicht nur) in Pascal als ‚string‘ bezeichnet. Die Deklaration einer Variablen sieht dann folgendermaßen aus: Var s: string; Im Rechner wird ein String als Feld von Zeichen (Array) gespeichert. Einzelne Zeichen lassen sich wie bei einem Array über den Index ansprechen. Für s := ‘Hallo‘; wird im Speicher folgendes Abbild hinterlegt Speicherplatz12345 ASCII72 ($48)$61$6c $6f ZeichenHallO S[1] ergibt somit ‚H‘ und s[5] ist ein ‚o‘

5 Informatik AG Zeichenketten Auf Zeichenketten können die folgenden Operatoren angewandt werden: „+“ Hiermit werden Zeichenketten verbunden. ‘Guten ‘+‘Tag‘ ergibt somit ‘Guten Tag‘ „=,<>,…“ Zeichenketten lassen sich vergleichen. Dazu wird jedes einzelne Zeichen zweier Strings, beginnend von links, durch Umwandlung in den entsprechenden ASCII-Wert miteinander verglichen, bis das Ergebnis fest steht. ‚Hallo‘ = ‚Hallo‘ ‚hallo‘< ‚1234‘ ‚12345‘ < ‚99‘ ‚100‘> ‚DIE LÄNGE SPIELT KEINE GRÖSSE‘ ‚stimmt‘<

6 Informatik AG Zeichenketten Wichtige Funktionen für Zeichenketten: 1.Function length(s:string): integer Gibt die Anzahl der Zeichen des Strings s zurück 2.function pos(Substr: string; S: string): Integer; Gibt die erste Position des Strings substr im String s zurück 3.function copy(S; Index, Count: Integer): string; copiert aus dem String s ab der Position index count viele Zeichen 4.function trim(s:string):string; Trim lösche alle Leerzeichen am Anfang und am Ende eines Strings 5.function strtoint(s:string):integer; Wandelt einen String in einen Integerwert 6.function inttostr(i:integer):String Wandelt eine Integer in einen String um.

7 Informatik AG Übungsaufgaben Für die Übungsaufgaben benötigen wir folgendes Formular: Die Aufgaben sollen im OnClick-Event des Buttons gelöst werden.

8 Informatik AG Übungsaufgaben 1.Das Label soll den Text aus Edit1 und Edit2 zusammengefügt anzeigen. begin erg.caption := edit1.text+edit2.text; end; 2.Das Label soll die Anzahl der Zeichen aus beiden Editfeldern ausgeben. Inttostr und length werden benötigt. begin erg.caption := inttostr(length(edit1.text+edit2.text)); erg.caption := inttostr(length(edit1.text)+length(edit2.text)); end;

9 Informatik AG Übungsaufgaben Für die nächsten Aufgaben benötigt man die For-Next-Schleife und die Abfrage einer Bedingung. Zur Erinnerung noch einmal deren Syntax: var i: integer; begin for i := 1 to 100 do begin // was auch immer end; // alternativ for i := 100 downto 1 do var a,b: integer; begin if a = b then begin a := a +1; end else begin a := a + 2; end; var a,b: integer; begin if a = b then a := a +1; else a := a + 2; end;

10 Informatik AG Übungsaufgaben Zählt die ‚A‘ in den beiden Eingabefeldern und gebt sie in erg aus. var i : integer; anzahl: integer; begin anzahl := 0; for i := 1 to length(edit1.text) do begin if edit1.text[i] = ‘A‘ then anzahl := anzahl + 1; end; for i := 1 to length(edit2.text) do begin if edit1.text[i] = ‘A‘ then anzahl := anzahl + 1; end; erg.caption := inttostr(anzahl); end; var i : integer; anzahl: integer; s : string; begin anzahl := 0; s := edit1.text+edit2.text; for i := 1 to length(s) do begin if edit1.text[i] = ‘A‘ then anzahl := anzahl + 1; end; erg.caption := inttostr(anzahl); end;

11 Informatik AG Übungsaufgaben Die Eingabe in Edit1 soll umgekehrt (Rückwärts) in Erg ausgegeben werden. var i, l : integer; s : integer; begin s := ‘‘; l := length(Edit1.text); for i := 1 to l do s := s + edit1.text[l-i+1]; erg.caption := s; end; var i, l : integer; s : integer; begin s := ‘‘; l := length(Edit1.text); for i := l downto 1 do s := s + edit1.text[i]; erg.caption := s; end;


Herunterladen ppt "Delphi Chars und Strings Informatik AG. Zeichen Ein Computer kann nur Zahlen verarbeiten. Wie aber werden dann Zeichen (Buchstaben,"

Ähnliche Präsentationen


Google-Anzeigen