Предмет: Информатика, автор: egordima2003

Программа просит пользователя ввести с клавиатуры целое число от 2 до 20. Если введённое число не соответствует указанному условию, программа просит ввести его повторно, пока не будет введено нужное число. Затем программа выводит на экран таблицу умножения чисел от единицы до введённого пользователем числа. Слева и сверху от таблицы отображаются перемножаемые числа, отделённые от остальной части таблицы символами «*». Ширина каждого столбца таблицы должна задаваться в программе константой, равной 4. Например, если пользователь вводит число 20, на экран выводится таблица, показанная на рисунке ниже.

Приложения:

Ответы

Автор ответа: Аноним
0
PascalABC.NET 3.3.5, сборка 1650 от 01.04.2018
Внимание! Если программа не работает, обновите версию!

begin
  var n:=ReadInteger('Введите число от 2 до 20:');
  if n.Between(2,20) then begin
    Write(4*' ');
    for var i:=1 to n do Write(i:4);
    Writeln(NewLine,4*' ',4*n*'*');
    for var i:=1 to n do begin
      Write(i:3,'*');
      for var j:=1 to n do Write(i*j:4);
      Writeln
      end
    end
  else Writeln('Вы нарушили условие')
end.
Приложения:
Автор ответа: contrlc
1
//PascalABC.NET версия 3.3.5

const
  width = 4;

begin
  var num := readinteger('Введите число от 2 до 20:');
  while(not (num in [2..20])) do
    num := readinteger('Введите число заново:');
  var count := num >= 10 ? 3 : 2;
  for var i := 1 to num + 2 do
  begin
    if((i > 2) and (count = 2)) then write((i - 2), '*')
    else if((i > 2) and (count = 3)) then write((i - 2):2, '*');
    if((i = 1) or (i = 2)) then write(' ' * count)
    else write(' ');
    for var j := 1 to num do
    begin
      if(i = 1) then write(j:width)
      else if(i = 2) then write('*' * width)
      else if(i < 12) then write(((i - 2) * j):(width - 1), ' ')
      else write(((i - 2) * j):(width - 1), ' ');
    end;
    writeln;
  end;
end.
Похожие вопросы
Предмет: Математика, автор: prime162