,,,
2
1.
2.
3.
4.
5.
6.
7.
8.
- 2 -
2I.
-
. -
-
.
, -
.
, -
.
-
.
.
1101 101 ( -
).
: 1101,
1 .
1101 , -
11010 -
.
-
. ,
,
- 3 -
, .. -
, . -
-
.
. --
, -
,
-,
, .. -
-
, .
,
, -
.
2II.
, -
, -
. -
, ,
. , -
-
, -
-
, ..
.
- 4 -
2III.
? .
567
. -
: ,
. 9, .. 2^9=512, 2^10=1024
.
. 9+1=10.
1,
1 0. .
9
: 567-2^9=55. 2^8=256.
55 256 ,
.. 10.
: 2^7=128 > 55,
. .. 2^6=64 .
1000. 2^5=32 ,
32 < 55, 1 (
10001), 55-32=23. 2^4=16 < 23 - -
1 => 100011. 23-16=7. 2^3=8 > 7 =>
1000110. 2^2=4 < 7 => 10001101, 3. 2^1=2 <
3 => 100011011, 1. 2^0=1 = 1 => 1000110111.
.
- 5 -
567,
. .
. .. 16^2=256 < 567,
16^3=4096 > 567, 2+1=3. -
, .
1 15,
(
- ).
2, .. 256*2=512 < 567, 256*3=768 > 567.
22 0, -
2,
蠠 砠 堠 :
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F. 젠 :
567-2*16^2=55.
. 3*16^1=48 < 55, 4*16^1=64 > 55,
젠 堠 23 0. -
=55-3*16^1=7. : .. 16^0=1
, .. 27 0.
2237 0, -
.
.
.
24A3F 0 -
. (4 ) 16
4-1=3, 16^3=4096. -
, .. 4.
- 6 -
4096*4=16384.
. : 16^2=256. 256
.. A.
A F 10 15 ( A=10, B=11,
C=12, D=13, E=14, F=15). 256 10 2560
, -
16384. 18944. -
: 3*16^1=48,
18992. : 15*16^0=15.
219007 0.
.
2IV.
䠠 砠 頠
,
. -
,
.
,
,
-
. :
,
? -
,
- 7 -
: , ..
1 0,
,
.
: .
,
,
. -
, -
, -
, .. 堠
.
,
,
, -
-
-
.
, -
-
.
,
, .
-
, .. .
- 10 -
2VII.
:
Program Perevod;
.
:
- Uses: TPU
( Turbo Pascal).
- Const: -
. S - -
. ,
.
- Var: .
Longint - ,
-2147483648 2147483647
32 .
Integer - , -
-32768 32767 16
.
Char - , -
.
Byte - ,
0 255 8 .
Set of '0'..'F' - ,
'0' 'F'.
Array [1..255] of Char -
- 11 -
255 .
String - ( -
1 255 ).
Zast.
, -
.
. :
Window (1,1,80,24) - -
.
ClrScr - .
TextColor (15) - -
( ).
GoToXY (x,y) - y
x.
Write ( ) - -
.
-
.
,
, -
.
-
, , -
.
. -
- 12 -
Begin.
Y 1 -
.
Zast, -
-
.
Zast -
- Repeat.
-
.
, 13,2
( 2> 0 ).
ReadKey.
,
Klav. -
.
If, -
-
.
If ,
"".
Y ,
1, 7.
,
"".
True
ESC (). -
- 13 -
Y 7, Klav
. -
-,
.
頠
, , Y<7, ..
. -
True,
, -
.
.
. -
, "ESC
- Ġ ".
. Stroka
( ) -
2.
Case
, -
Isx ( -
), Keys (,
) Kon (
).
- 14 -
⠠ 堠 ࠠ
- Repeat,
.
, ,
Klav. -
UpCase -
. If , -
, ,
Kol ( ) -
,
A ( ) -
.
,
. Kol
,
.
Until 䠠
- ,
ESC.
, -
. ,
, -
, -
.
1 Kol ( ).
If -
-
- 15 -
, Promeg -
Kol-1.
. -
.
.
I,
- -
(. .III.
).
I, I 0.
-
:
- Help
J ;
- If
, ;
- ,
;
- , -
Promeg.
,
.
,
- 16 -
, -
.
, WriteLn.
-,
, -
ESC. ESC -
堠
- .
-
, "ESC - Ġ
DOS".
, -
.
2VIII.
:
- 17 -
_____________________________________________________
| |
| > . |
| |
| . |
| |
| .|
| |
| .|
| |
| . |
| |
| . |
| |
| ESC - DOS |
| |
|_____________________________________________________|
.
.
. -
, :
ESC
.
:
- 18 -
_____________________________________________________
| |
| . |
| |
| ? 32 = 100000 |
| ? 33 = 100001 |
| ? 26 = 11010 |
| ? 500 = 111110100 |
| ? 3 = 11 |
| ? 34_ |
| |
| |
| |
| |
| |
| ESC - ޠ |
|_____________________________________________________|
, ,
.
, -
,
.
,
'1' '0', -
.
- 19 -
,
,
,
.
,
, -
.
, -
ESC ( ).
.
,
.
,
.
- 8 -
Program Perevod;
Uses Crt;
Const P1=' '; { }
s:array [1..7] of string[50]=(p1+' .',
p1+' .',
p1+' .',
p1+' .',
p1+' .',
p1+' .',
' ESC - DOS');
Var Promeg,Chast:Longint;
Znach,j:Integer;
Klav:Char;
i,Stroka,Isx,Kon,y,Kol,Help:Byte;
Keys: Set of '0'..'F';
a: Array [1..255] of Char;
Otv,Pom: string;
Procedure Zast; { }
begin
Window(1,1,80,24); { 8024 }
ClrScr; { }
TextColor(15); { - }
FOR I:=1 TO 7 do begin { }
GoToXY (15,I*2); Write (s[i]); { }
end;
end { zast }; { }
Function Stepen (Chis,St: Byte): Longint; { }
var c: Byte;
Res: longint;
begin
Res:=1;
For c:=1 to st do Res:=Res*chis;
Stepen:=Res; { }
End { Stepen }; { }
Begin { }
y:=1; { y - }
Zast; { }
Repeat { }
TextColor(13);
GoToXY (13,y*2); Write(Chr(16)); { }
klav:=ReadKey; { klav }
GoToXY (13,y*2); Write(' '); { }
if Ord(Klav)=72 then if y > 1 then y:=y-1 else y:= 7; { }
if Ord(Klav)=80 then if y < 7 then y:=y+1 else y:= 1; { }
if Ord(Klav)=27 then begin y:=7; klav:=Chr(13) end; { ESC }
if (Ord(Klav)=13) and (y<7) then begin { }
ClrScr; { }
TextCOLOR (13); GoToXY (20, 1); Write (s[y]); { }
TextCOLOR (10); GoToXY (31,24); Write ('ESC - '); { }
TextColor(15); { - }
Window(1,2,80,23); { 2 23 }
Stroka:=2; { }
- 9 -
Case y of { }
1,3 : begin { }
Isx:=10;
Keys:=['0'..'9']; { }
If y=1 Then Kon:=2 else Kon:=16; { }
end;
2,5 : begin
Isx:= 2;
Keys:=['0','1']; { }
If y=2 Then Kon:=10 else Kon:=16; { }
end;
4,6 : begin
isx:=16;
keys:=['0'..'9','A'..'F']; { }
if y=4 then kon:=10 else kon:=2; { }
end;
end;
Repeat { }
Write('? '); Promeg:=0; Kol:=0; Otv:=''; { }
Repeat { }
klav:=ReadKey; { }
if UpCase(Klav) in Keys then begin { }
kol:=kol+1; { }
a[kol]:=UpCase(Klav); { }
Write (a[kol]); { }
end;
if (Ord(Klav)=8) and (Kol>0) then begin { }
kol:=kol-1;
GoToXY(WhereX-1,WhereY);
ClrEol;
end;
Until (Ord(klav)=13) or (Ord(klav)=27); { ESC }
if Ord(klav)=13 then begin { - }
for i:=1 to kol do begin { }
if a[i]<'A' then Znach:=Ord(a[i])-48
else Znach:=Ord(a[i])-55;
promeg:=promeg+Znach*Stepen(isx,kol-i);
end;
i:=0;
Repeat { }
i:=i+1;
Chast:=Trunc(Promeg/Stepen(Kon,i));
Until Chast<Kon;
For j:=i downto 0 do begin { }
Help:=Trunc(Promeg/Stepen(Kon,j));
If Help>9 Then Pom:=Chr(55+Help)
Else Str(Help,Pom);
Otv:=Otv+Pom;
Promeg:=Promeg-Help*Stepen(Kon,j);
end;
WriteLn(' = ',Otv); { }
end; { }
Until Ord(Klav)=27; { ESC }
Zast; { }
end;
Until (Ord(Klav)=13) and (y=7); { ESC }
ClrScr { }
end.
2 1. 2. 3. 4. 5.
Copyright (c) 2024 Stud-Baza.ru , , , .