Предмет: Информатика,
автор: 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.
Внимание! Если программа не работает, обновите версию!
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.
Приложения:
Автор ответа:
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.
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.
Похожие вопросы
Предмет: Қазақ тiлi,
автор: Selfsav
Предмет: Математика,
автор: bglagolev08
Предмет: Физика,
автор: sokolenkodara60
Предмет: Математика,
автор: prime162
Предмет: Алгебра,
автор: 0Annuschka0