Определить, какие цифры в 8-ом представлении числа отсутствуют в 10-ом? - Free Pascal
Формулировка задачи:
Создание программы, использующей тип данных "Множество".
Дано 10-ое число. Какие цифры в 8-ом его представлении отсутствуют в 10-ом?
Решение задачи: «Определить, какие цифры в 8-ом представлении числа отсутствуют в 10-ом?»
textual
Листинг программы
var
d, o: set of 0..9;
m, n, p: Integer;
begin
Write('Введите число: '); ReadLn(n); m:=n;
repeat Include(o,m mod 8); m:=m div 8; until m=0;
repeat Include(d,n mod 10); n:=n div 10; until n=0;
Write(' Восьмеричные: '); for p:=0 to 7 do if p in o then Write(p); WriteLn;
o:=o-d;
Write(' Нет в 10-ом: '); for p:=0 to 7 do if p in o then Write(p); WriteLn;
end.
Объяснение кода листинга программы
- Объявляются три переменные: d, o, m, n, p типа set of 0..9 и Integer соответственно.
- Пользователю предлагается ввести число, которое будет сохранено в переменной n.
- Переменная m инициализируется значением n.
- Запускается цикл, который будет выполняться до тех пор, пока m не станет равным 0. В каждой итерации цикла в переменную o включается цифра, соответствующая остатку от деления m на 8.
- Запускается еще один цикл, который будет выполняться до тех пор, пока n не станет равным 0. В каждой итерации цикла в переменную d включается цифра, соответствующая остатку от деления n на 10.
- Выводится сообщение
Восьмеричные:и последовательно выводятся цифры из переменной o с помощью цикла. - Цикл останавливается, и в переменной o вычитается переменная d.
- Выводится сообщение
Нет в 10-ом:и последовательно выводятся цифры из переменной o с помощью цикла.