• QBasic - Strings

Zeichenketten (Strings)

Ursprünglich war der Computer nur zum Rechnen gedacht (to compute = rechnen). Nach und nach wollte man auch Texte erfassen, d.h. es genügte nicht, daß der Computer nur mit Zahlen (im Binärsystem) umgehen konnte, sondern ein Computer mußte auch Buchstaben, Sonderzeichen, usw. darstellen und verarbeiten können.

Ein String besteht aus einer beliebigen Anzahl verschiedener Ziffern, Buchstaben oder Sonderzeichen. QBASIC erlaubt allerdings nur Zeichenketten bis zu einer Länge von 255 Zeichen. Zeichenketten können auf dem Bildschirm ausgegeben werden (PRINT "Hallo Dödel") oder einer Stringvariablen zugewiesen werden (LET datum$="1.1.1991"). Eine Stringvariable muß durch ein Dollar-Zeichen am Ende des Variablennamens gekennzeichnet werden. Mit Stringvariablen kann nicht gerechnet werden, sie können jedoch auf verschiedene Arten verändert werden.

Starte gegebenenfalls QBasic und gib die folgenden Programmzeilen ein. Speichere das Programm (strings1.bas), starte das Programm und achte auf das Resultat.


REM Strings1
CLS
LET zahl1$="2"
LET zahl2$="4"
PRINT zahl1$+zahl2$

Das Programm addiert nicht die Zahlen 2 und 4! Es ordnet den Stringvariablen zahl$1 und zahl$2 die Zeichen 2 bzw. 4 zu und gibt die Ziffern hintereinander aus.

Gib nun die folgenden Programmzeilen (strings2.bas) ein. Starte das Programm und achte auf das Resultat.


REM Strings2
CLS
LET a$="sachs"
LET b$="Nieder"
LET c$=b$+a$+"en"
PRINT c$

Die Ausgabe erlaubt eine Kombination von Stringvariablen und Zeichenketten, mit dem Pluszeichen verknüpft. Achtung: eine Mischung von Strings und Zahlenvariablen verknüpft man nicht mit einem Plus. Will man sie in einer Zeile darstellen, verwendet man das Semikolon.

Gib die folgenden Programmzeilen (strings3.bas) ein. Starte das Programm und achte auf das Resultat.

REM strings3
CLS
INPUT "Nachname: " , nname$
INPUT "Vorname: " , vname$
INPUT "Alter: " , x
GOSUB einstufung
PRINT "Hallo, " + vname$ + " " + nname$ ", du bist "; x ; " Jahre alt "
PRINT "und damit " + c$
END

einstufung:
IF x <= 12 THEN c$ = "ein Kind."
IF x > 12 AND x <= 19 THEN c$ = "ein Teenie!"
IF x > 19 AND x <= 29 THEN c$ = "ein Tweenie!"
If x > 29 THEN c$ = "eine alte Socke!"
RETURN

Zeichenkettenfunktionen

Mit der Funktion ASC(Zeichen$) kann Basic den ASCII - Code eines Zeichens ausgeben. Schreibe das folgende Programm und speichere unter ascii1.bas


REM ascii1
CLS
INPUT "Gibl ein beliebiges Zeichen ein! ", zeichen$
PRINT
PRINT "Du hast das Zeichen " + zeichen$ + " eingegeben. "
PRINT "Sein ASCII-Code lautet";
PRINT ASC(Zeichen$);
PRINT "."


Der Zeichensatz des Computers besteht aus 256 Zeichen, die jedoch nicht alle darstellbar sind, da einige Sonderfunktionen haben. Mit Hilfe der Tastatur können nicht alle dieser 256 Zeichen eingegeben werden (warum wohl?). Deshalb gibt es in QBasic die Funktion CHR$(n), mit der sich (fast) alle Zeichen auf dem Bildschirm darstellen lassen.

Das folgende Programm (ascii2.bas) gibt alle wichtigen Zeichen des Zeichensatzes aus.


REM ascii2
CLS
PRINT "Die wichtigsten Zeichen des Computers:"
FOR n=32 TO 255
PRINT CHR$(n);
NEXT n

Prüfe auch, wie die Zeichen 1 bis 6, 24 bis 27 aussehen. Erweitere dazu das Programm ascii2 um die entsprechenden Zeilen. Weiter mit Lektion 5!



Aufgaben

  1. Schreibe mit Stringvariablen und Variablen das Programm strings4.bas, welches dazu auffordert, deine Adresse einzugeben (Name, Vorname, Straße (Stringvariablen), Hausnummer, Postleitzahl (Zahlvariablen). Schreibe ein SUB, welche für fünf Postleitzahlen Städte zuordnet. Das Programm soll die vollständige Adresse wieder ausgeben.
  2. Schreibe das Programm ascii3.bas, welches das Alphabet mit em entsprechenden ASCII - Zeichen ausgibt. Ein kleiner Tipp: Der Buchstabe A hat das ASCII - Zeichen 65!


... zurück zum Inhalt