uses
crt; // Используется для очистки экрана и приостановки выполнения
var
i, j, n: integer;
begin
clrscr; // Очистить экран
write('Введите размер таблицы (от 1 до 20): '
readln;
if (n < 1) or (n > 20) then
begin
writeln('Неверный размер таблицы. Введите число от 1 до 20.'
readln; // Ждать нажатия клавиши
halt; // Завершить программу
end;
writeln; // Пустая строка для отделения ввода от таблицы
// Заголовок таблицы
write(' '
for j := 1 to n do
write(j:4); // Выводим номера столбцов
writeln;
writeln('-----' * (n + 1)); // Горизонтальная черта
// Основная часть таблицы
for i := 1 to n do
begin
write(i:4, '| ' // Выводим номер строки
for j := 1 to n do
begin
write((i * j):4); // Выводим произведение с выравниванием
end;
writeln; // Переход на новую строку
end;
readln; // Ждать нажатия клавиши перед закрытием окна
end.
Описание программы:
1. Модуль crt используется для очистки экрана с помощью clrscr.
2. Внешний цикл for i := 1 to 10 проходит по множителям.
3. Вложенный цикл for j := 1 to 10 проходит по множителям для каждого i.
4. Вывод осуществляется с форматированием, где i*j:4 гарантирует выравнивание результата в поле шириной 4 символа.
5. readln в конце программы позволяет увидеть результаты перед закрытием окна консоли.
Эту программу можно скомпилировать в любой компиляторе для Паскаля (например, Free Pascal).