Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program Lab2Z2V31;
- {$APPTYPE CONSOLE}
- uses
- SysUtils;
- procedure GetBin(var Num, Digit: Integer);
- begin
- Digit := Num mod 2;
- Num := Num div 2;
- end;
- function ReverseBin(const Str: string): string;
- var
- Index, Len: Integer;
- begin
- Len := Length(Str);
- SetLength(Result, Len);
- for Index := Len downto 1 do
- ReverseBin[Len - Index + 1] := Str[Index];
- end;
- procedure Main();
- const
- CMaxNatural = 2147483647;
- CMinNatural = 1;
- var
- P,Num, Digit: Integer;
- Bin: String;
- IsCorrect: Boolean;
- begin
- Write('Please, enter natural number to ', CMaxNatural,' : ');
- IsCorrect := false;
- repeat
- try
- Readln(P);
- if (P < CMinNatural) then
- Write('It is not a number from ', CMinNatural,' to ', CMaxNatural,' , please, enter valid number : ')
- else
- IsCorrect := true;
- except
- Write('Invalid input ! Please, enter natural number to ', CMaxNatural,' : ');
- end;
- until IsCorrect;
- Num := P;
- repeat
- GetBin(Num, Digit);
- Bin := Bin + IntToStr(Digit);
- until (Num < 2);
- if (P > CMinNatural) then
- begin
- Bin := Bin + '1';
- Bin := ReverseBin(Bin);
- end;
- Writeln(P,' in binary digit system equals : ', Bin);
- Readln;
- end;
- var
- IsContinue, IsCorrect: Boolean;
- Answer: Char;
- begin
- Writeln('This program converts a natural number to binary digit system.');
- Main;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement