Составить программу ** Паскале для получения таблицы умножения в шестнадцатеричной...

0 голосов
73 просмотров

Составить программу на Паскале для получения таблицы умножения в шестнадцатеричной системе счисления с использованием типа переменной char, оператора Case и функции chr(z1+48) - для получения символьного значения цифры от 0 до 9 (где z1 – переменная для первой цифры произведения)


Информатика (80 баллов) | 73 просмотров
0

ABC или ABC.net ?

0

ABC.net

0

Интересная задача, за пару часов управлюсь=))

0

VarA,B:integer;C,H:Char;BeginRead(B);For A:= 1 to 15 do Begin Case (A*B) mod 16 of 0:H:='0'; 1..9:H:=Chr(((A*B)mod 16)+48); 10:H:='A'; 11:H:='B'; 12:H:='C'; 13:H:='D'; 14:H:='E'; 15:H:='F'; End; Case (A*B)div 16 of 0:C:='0'; 1..9:C:=Chr(((A*B)div 16)+48); 10:C:='A'; 11:C:='B'; 12:C:='C'; 13:C:='D'; 14:C:='E'; 15:C:='F'; End; WriteLn(C+H) EndEnd.

Дан 1 ответ
0 голосов
Правильный ответ

Var
A,B:integer;
C,H:Char;
Begin
For B:= 1 to 15 do
 Begin
 For A:= 1 to 15 do
  Begin
   Case (A*B) mod 16 of
   0:H:='0';
   1..9:H:=Chr(((A*B)mod 16)+48);
   10:H:='A';
   11:H:='B';
   12:H:='C';
   13:H:='D';
   14:H:='E';
   15:H:='F';
   End;
   Case (A*B)div 16 of
   0:C:='0';
   1..9:C:=Chr(((A*B)div 16)+48);
   10:C:='A';
   11:C:='B';
   12:C:='C';
   13:C:='D';
   14:C:='E';
   15:C:='F';
   End;
   Write(C+H,' ')
  End;
 WriteLn
 End
End.

0

Спасибо)

0

Не за что=) Обращайся=)))

0

Глуповатое задание. Нормальные люди берут константу c16='0123456789ABCDEF' и выбирают из нее c16[k mod 16]