Вывести таблицу умножения
Требуется вывести на экран двумерную таблицу умножения.
Нередко ставится задача построить на экране какую-нибудь двумерную таблицу. Подобное реализуется с помощью двух циклов. При этом один цикл должен быть вложен в другой.
Например, в коде ниже внешний цикл for
отвечает за формирование строк. Всего их будет 9, значит количество повторений цикла должно быть равно 9.
Внутренний цикл for
формирует каждое значение в строке. Всего значений в строке 9. Значит и число его повторений должно быть 9.
В теле вложенного цикла for
происходит формирование значения очередного элемента таблицы путем умножения текущего значения счетчика внешнего цикла на текущее значение счетчика внутреннего цикла. Поскольку на протяжении десяти повторений внутреннего цикла, значение счетчика внешнего цикла не меняется, то получается строка, где числа от 1 до 9 умножаются на одно и то же число.
После выхода из внутреннего цикла, перед следующей итерацией внешнего цикла требуется осуществить переход на новую строку. Иначе все значения будут записаны не в виде таблицы, а в виде одной строки.
var
i, j: integer;
begin
for i := 1 to 9 do begin
for j := 1 to 9 do
write((i * j):3);
writeln;
end;
end.
Результат выполнения программы:
1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81
Вариант программы построения таблицы с подсветкой заголовков строк и столбцов. Размерность таблицы задается с клавиатуры:
uses crt;
var
i, j, n: integer;
begin
readln(n);
for i := 1 to n do begin
for j := 1 to n do begin
if (i = 1) or (j = 1) then
textcolor(lightgreen)
else
textcolor(white);
write((i * j):4);
end;
writeln;
end;
end.