Вывести таблицы сложения и умножения в заданной системе счисления - Pascal
Формулировка задачи:
Помогите, пожалуйста, Составить программу, которая печатает на экране таблицы сложения и умножения в системе счисления, основание которой (от 2 до 9) вводится с клавиатуры.
Решение задачи: «Вывести таблицы сложения и умножения в заданной системе счисления»
textual
Листинг программы
type operate = (add, mul); const s: array[operate] of string[9] = ('сложения', 'умножения'); var a, b, t, p: byte; op: operate; begin repeat write('Система счисления (0..9)? '); readln(p) until p in [2..9]; for op := add to mul do begin writeln; writeln('Таблица ', s[op]); write(' |'); for a := 0 to p - 1 do write(a:3); writeln; write('--+'); for a := 1 to p do write('---'); writeln; for b := 0 to p - 1 do begin write(b, ' |'); for a := 0 to p - 1 do begin case op of add: t := a + b; mul: t := a * b end; if t < p then write(' ') else write(t div p:2); write(t mod p) end; writeln end end; readln end.
Объяснение кода листинга программы
- Объявление перечисления
operate
с возможными значениямиadd
иmul
. - Объявление константы
s
- массив строк, содержащего словасложения
иумножения
. - Объявление переменных
a, b, t, p
как байт. - Объявление переменной
op
типаoperate
. - Начало главной части программы.
- Ввод значения переменной
p
(система счисления) с запросом ввода до тех пор, пока значение не будет в диапазоне от 2 до 9. - Начало цикла
for
отadd
доmul
. - Вывод текста
Таблица сложения
илиТаблица умножения
. - Вывод шапки таблицы с нумерацией для столбцов от 0 до
p-1
. - Вывод разделителя для таблицы.
- Вывод тела таблицы, перебирая значения от 0 до
p-1
для строки и столбца. - В зависимости от типа операции (
add
илиmul
) происходит выполнение соответствующего действия и вывод результата в ячейку таблицы. - Проверка результата: если
t
меньше чемp
, то выводится пробельный символ, иначе выводитсяt div p
и остаток от деленияt mod p
. - Конец цикла.
- Конец программы. Ожидание ввода пользователя.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д