Жесткий диск, имеющий емкость 210м, разбит на кластеры, имеющие размер 512*8b. кластеры пронумерованы, начиная с номера 2. сколько всего имеется кластеров и сколько байт необходимо отвести для хранения одного номера
ПЕР число: ЦЕЛ; шестн: РЯД 32 ИЗ ЗНАК; сч: ЦЕЛ; зн: ЗНАК;
ЗАДАЧА ШестнЦифра(цифра: ЦЕЛ): ЗНАК; УКАЗ ЕСЛИ цифра < 10 ТО ВОЗВРАТ ВЗНАК(ВЦЕЛ("0") + цифра) ИНАЧЕ ВОЗВРАТ ВЗНАК(ВЦЕЛ("A") - 10 + цифра) КОН КОН ШестнЦифра;
УКАЗ число := Приём.Число(); шестн := ""; Вывод.Цепь("^");
ПОКА число > 0 ВЫП шестн[ДЛИНА(шестн) + 1] = 0X; шестн[ДЛИНА(шестн)] = ШестнЦифра(число ОСТАТОК 16); число := число ДЕЛИТЬ 16 КОН;
{
if (tnum < tden)
{
temp = tnum;
tnum = tden;
tden = temp;
}
tnum = tnum - tden;
}
gcd = tden; //вычисляем наибольший общий делитель
numerator = numerator / gcd; //делим числитель и знаменатель на
НОД, получаем сокращенную дробь
denominator = denominator / gcd;
ИСПОЛЬЗУЕТ Вывод ИЗ "...\Отделы\Обмен\", Приём;
ПЕР
число: ЦЕЛ;
шестн: РЯД 32 ИЗ ЗНАК;
сч: ЦЕЛ;
зн: ЗНАК;
ЗАДАЧА ШестнЦифра(цифра: ЦЕЛ): ЗНАК;
УКАЗ
ЕСЛИ цифра < 10 ТО ВОЗВРАТ ВЗНАК(ВЦЕЛ("0") + цифра)
ИНАЧЕ ВОЗВРАТ ВЗНАК(ВЦЕЛ("A") - 10 + цифра) КОН
КОН ШестнЦифра;
УКАЗ
число := Приём.Число();
шестн := "";
Вывод.Цепь("^");
ПОКА число > 0 ВЫП
шестн[ДЛИНА(шестн) + 1] = 0X;
шестн[ДЛИНА(шестн)] = ШестнЦифра(число ОСТАТОК 16);
число := число ДЕЛИТЬ 16
КОН;
ОТ сч := 0 ДО ДЛИНА(шестн) - 1 ВЫП
зн := шестн[сч];
шестн[сч] := шестн[ДЛИНА(шестн) - 1 - сч];
шестн[ДЛИНА(шестн) - 1 - сч] := зн
КОН;
Вывод.Цепь(шестн)
КОН Задание.