home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power-Programmierung
/
CD1.mdf
/
pascal
/
das_buch
/
einfuehr
/
for4.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
1993-06-07
|
2KB
|
51 lines
PROGRAM BinToDez1; { Rechnet eine Dualzahl in eine Dezimalzahl um }
USES Crt; { Die Unit CRT darf nicht fehlen }
CONST
Basis = 2; { Basis des Dualsystems }
VAR
Binaer : STRING; { Variable zur Aufnahme des Binärstrings }
Dezimal : INTEGER; { enthält die Dezimalzahl }
I, L : INTEGER; { Stringlänge und Laufvariable }
Potenz : INTEGER; { enthält die größtmögliche Zweierpotenz }
FUNCTION Pow(A : INTEGER) : INTEGER;
VAR
J, Hoch : INTEGER;
BEGIN
Hoch := 1;
FOR J := 1 TO A DO
Hoch := Hoch * Basis;
Pow := Hoch;
END;
BEGIN
ClrScr; { Bildschirm löschen }
Write('Bitte geben Sie eine Dualzahl ein: ');
ReadLn(Binaer);
Dezimal := 0; { dezimalen Wert auf Null setzen }
L := Length(Binaer); { Stringlänge ermitteln }
FOR I := 1 TO L DO
BEGIN
IF (Binaer[I] <> '0') AND (Binaer[I] <> '1') THEN { GÜLTIG? }
BEGIN { Nein => Fehlermeldung ausgeben }
WriteLn(^J^J, 'Fehler in der Binärzahl!');
Exit; { und Programm beenden ... }
END
ELSE BEGIN
Potenz := Pow (L-I);
Dezimal := Dezimal + Potenz * (Ord(Binaer[I])-Ord('0'));
END;
END;
WriteLn('Die Dualzahl ', Binaer, ' lautet dezimal: ', Dezimal);
ReadKey;
END.