blikk info infothek forum galerie sitemap

Umrechnen von Zahlenformen mit Stringformat

anfang zurueck weiter ende nach oben
Erstellen Sie Programm welches das Umrechnen zmischen Binärformat, Hexadezimalformat und Dezimalformat beherscht. Unterteilen Sie das Progrmm in Prozeduren bzw. Funktionen

Pseudocode der Hauptfunktionen:

Binärzahl nach Dezimalzahl:
Beginne
 
Für i = Länge von Binärzahl hinunter bis 1 Beginne
   
Falls Binärzahl[Position i] = 1 dann
     
Tabelle[Position i] = Potenz ( 2 , ( (Länge von Binärzahl) – 1) )
   
Sonst
     
Tabelle[Position i] = 0
 
Ende (Für)
 
Für i = 1 bis Länge von Binärzahl Beginne
   
Summe = Summe + Tabelle[Position i]
 
Ende(Für)
Ende

Dezimalzahl nach Binärzahl:
Beginne
 
Für i = 1 bis Tabellenmaximum Beginne
   
Falls Rest von Dezimalzahl = 0 dann Beginne
     
Tabelle[Position i] = 0
     
Dezimalzahl = Dezimalzahl / 2 ohne Kommastellen
   
Ende (Falls)
   
Sonst Beginne
     
Tabelle[Position i] = 1
     
Dezimalzahl = Dezimalzahl / 2 ohne Kommastellen
   
Ende (Sonst)
 
Ende (Für)
 
Für i = Tabellenmaximum hinunter bis 1 Beginne
   
Hilfsvariable = String von Tabelle[Position i]
   
Binärzahl = Binärzahl + Hilfsvariable
 
Ende (Für)
Ende

Dezimal nach Hexadezimal:
Beginne
 
Solange Dezimalzahl > 0 Beginne
   
i = i + 1
   
Tabelle[Position i] = Rest von Dezimalzahl / 16
   
Dezimalzahl = Dezimalzahl / 16 ohne Kommastellen
  
Ende (Solange)
 
Für j = i Hinunter bis 1 Beginne
   
Falls Tabelle[Position j] < 10 Dann Beginne
     
Hilfsvariable = String von Tabelle [Position j]
     
Ergebnis = Ergebnis + Hilfsvariable
     
Ende(Falls)
    
Sonst Beginne
     
Hilfsvariable = Zeichen von ASCIICODE (Tabelle[Position i] +55)
     
Ergebnis = Ergebnis + Hilfsvariable
   
Ende (Sonst)
 
Ende(Für)
Ende

Hexadezimal nach Dezimal
Beginne
 
Für i = Länge von (Hexadezimalzahl) hinunter bis 1 Beginne
   
Falls (ASCII-Zahl von (Hexadezimalzahl[Position i] >96) UND ( ASCII-
                                          Zahl von (Hexadezimalzahl[Position i]<103) Dann Beginne
     
Hexadezimalzahl[Position i] = Zeichen von ASCIICODE (ASCII-Zahl 
                                                                                 (Hexadezimalzahl[Position i] – 32)
   
Ende(Falls)
   
Falls (Hexadezimalzahl[Position i]<= 9)UND(Hexadezimalzahl[Position i] >= 0) 
                                                                                                                Dann beginne
     
Ergebnis = Ergebnis + (Potenz (16, (Länge von Hexadezimalzahl – i) * (ASCII-
                                                             Zahl von Hexadezimalzahl – ASCII-Zahl von 0)
   
Ende(Falls)
   
Sonst Beginne
     
Ergebnis = Ergebnis + (Potenz (16, (Länge von Hexadezimalzahl – i) * (ASCII-
                                                                                   Zahl von Hexadezimalzahl – 55)

    Ende (Sonst)
 
Ende(Für)
Ende

 

Autoren: Matthias L. & Patrick C.

nach oben
punkt Aufgabenseite seitenbereich schließen

Links

TS-Theorie zu dieser Seite
AS-Aufgabe zu dieser Seite
CS-Quellcode zu dieser Seite