Aufgabenstellung      Hinweise C++      Hinweise BASIC      Musterlösung C++      Musterlösung BASIC 

 

 

Texte und Symbole
06.12.2001
  (zuletzt aktualisiert am 10.04.2002)

Aufgabenstellung:

Schreiben Sie ein Programm, welches den sog. ASCII-Code für alle Zeichen im Bereich 32-255 am Bildschirm ausgibt.

Die Grundtabelle enthält die Zeichen für den Bereich 0-127, die für jeden Zeichensatz gleich ist. Eine erweiterte Tabelle enthält die Zeichen für den Bereich 0-255. Die ASCII-Tabelle weicht im Bereich ab 128 je nach Sprache in verschiedenen Ländern leicht vom amerikanischen  Standard ab.

Hier die ASCII-Tabelle, wie sie von GWBASIC und C++ im DOS-Modus genutzt wird:

 

Erweiterte Aufgabenstellung:

Schreiben Sie ein Unterprogramm / eine Funktion, so dass beim Aufruf eine ganze Zahl zwischen 1 und 6 übergeben werden kann, und die entsprechend dem übergebenen Wert das Bild der zugehörigen Würfel-Anzeige auf dem Bildschirm ausgibt. Testen Sie die Funktion durch ein geeignetes Hauptprogramm

 

Beispiel:

 

5 à      o   o
           o
         o   o

 

3 à      o
           o
             o

 

Aufgabenstellung      Hinweise C++      Hinweise BASIC      Musterlösung C++      Musterlösung BASIC   

 

Hinweise zur Bearbeitung:

C++

Informieren Sie sich anhand der schriftlichen Unterlagen und/oder des Online-Kurses über die folgenden Elemente der Programmier­sprache C++

Deklaration von Variablen für Buchstaben und Texte, Datentyp „CHAR“

Eingabe und Ausgabe von Buchstaben und Texten

Umwandlung von Buchstaben in ASCII-Werte und umgekehrt

Vergleich von Buchstaben und Texten

 

 

Aufgabenstellung      Hinweise C++      Hinweise BASIC      Musterlösung C++      Musterlösung BASIC

   

Hinweise zu BASIC :

Sie benötigen für diese Aufgabe Grundlagen über die Verarbeiten von Buchstaben, Sonderzeichen und Texten:

Variablen für Buchstaben und Texte, Dateneingabe und -ausgabe

Will man eine Variable dazu verwenden, um darin Buchstaben oder Texte abzuspeichern, muss der Variablenname mit dem String-Zeichen „$“ enden.

Beachten Sie, dass man mit diesen Variablen dann nicht rechnen kann, auch wenn eine Zahl eingegeben wurde. (Addieren geht – s. Beispiel, hat dann aber eine andere Bedeutung !)

Beispiel:

10 A$ =“Hallo“

20 B$ =“ 

30 PRINT „Geben Sie Ihren Namen ein :“

40 INPUT C$

50 D$=A$+B$+C$

60 PRINT D$

Umwandlung von Buchstaben in ASCII-Werte

Rechnerintern wird jedes Textzeichen als Zahlenwert abgespeichert. Die Zuordnung der Zeichen zu den Zahlencodes ist international in der sog. ASCII-Tabelle festgelegt. (ASCII steht als Abkürzung für: American Standard Code for Information Interchange)

Die Funktion zur Berechnung des Zahlencodes eines Textzeichens heißt ASC()

Beispiel:            PRINT ASC(“A“)

Man erhält so den Code des Zeichens „A“, nämlich die Zahl 65.

Umgekehrt kann man zu einer Zahl im Bereich 0-255 das zugehörige Textzeichen bestimmen mit Hilfe der Funktion CHR$().

Beispiel:            PRINT CHR$(98)

Hier erhält man das Zeichen zum Codewert 98, nämliche den Buchstaben „b“.

Vergleich von Buchstaben und Texten

Zwar kann man mit Textzeichen nicht rechnen wie mit Zahlen, aber man kann Text vergleichen mit den Operatoren „<“ und „>“, um die Reihenfolge von Zeichen gemäß ihrer Stellung in der ASCII-Tabelle zu ermitteln.

Beispiel:

10 INPUT A$

20 INPUT B$

30 IF A$<B$ PRINT A$;“ kommt vor “;B$

40 IF B$<A$ PRINT B$;“ kommt vor “;A$

50 END

 

Aufgabenstellung      Hinweise C++      Hinweise BASIC      Musterlösung C++      Musterlösung BASIC

  

Musterlösungen:

C++

// ASCII.cpp

// Musterlösung von H.Wehmeyer

 

 

#include "stdafx.h"

#include <iostream.h>

 

 

int main()

{

      cout<<"Tabelle der ASCII-Werte zwischen 32 und 255"<<endl;

      cout<<endl;

      for(int i=32;i<256;i++)

      {

            char zeichen=i;

            cout<<i<<" "<<zeichen<<"; ";

            if (i%11==0) cout<<endl;

      }

      return 0;

}

 

Aufgabenstellung      Hinweise C++      Hinweise BASIC      Musterlösung C++      Musterlösung BASIC   

 

Musterlösung BASIC

10 'Programm fuer die ASCII-Tabelle

20 'Musterloesung von H.Wehmeyer

30 '

40 CLS

50 PRINT "Dieses Programm erzeugt die ASCII-Tabelle"

60 PRINT "fuer Werte zwischen 32 und 255"

70 PRINT

80 FOR I= 32 TO 255

90 PRINT I;CHR$(I);"  ";

100 NEXT I

 

Aufgabenstellung      Hinweise C++      Hinweise BASIC      Musterlösung C++      Musterlösung BASIC