Untitled
unknown
plain_text
2 years ago
6.0 kB
13
Indexable
program DigitalClock;
var
number: Integer;
width, height: Integer;
procedure DrawDigit(number, width, height: Integer);
var
a, b: Integer;
begin
// Определение процедуры DrawDigit, которая рисует выбранную цифру
case number of
1:
begin
// Рисование цифры 1
for a := 1 to height do
begin
for b := 1 to width do
begin
// Условия для определения, где должен быть символ '*'
if (b = (width div 2) + 1) or (a = height) or ((a = 1) and (b > 1) and (b < width)) then
Write('*')
else
Write(' ');
end;
Writeln; // Переход на новую строку после завершения каждой строки рисунка
end;
end;
2:
begin
// Рисование цифры 2
for a := 1 to height do
begin
for b := 1 to width do
begin
// Условия для определения, где должен быть символ '*'
if ((a = 1) or (a = height) or ((a <= height div 2) and (b = width)) or
((a > height div 2) and (b = 1)) or ((a = height div 2 + 1) and (b > 1) and (b < width))) then
Write('*')
else
Write(' ');
end;
Writeln;
end;
end;
3:
begin
// Рисование цифры 3
for a := 1 to height do
begin
for b := 1 to width do
begin
// Условия для определения, где должен быть символ '*'
if ((a = 1) or (a = height) or (b = width)) or ((a = height div 2 + 1) and (b > 1) and (b < width)) then
Write('*')
else
Write(' ');
end;
Writeln;
end;
end;
4:
begin
// Рисование цифры 4
for a := 1 to height do
begin
for b := 1 to width do
begin
// Условия для определения, где должен быть символ '*'
if ((a = height div 2 + 1) or (b = width) or (a = height) or ((a <= height div 2) and (b = 1))) then
Write('*')
else
Write(' ');
end;
Writeln;
end;
end;
5:
begin
// Рисование цифры 5
for a := 1 to height do
begin
for b := 1 to width do
begin
// Условия для определения, где должен быть символ '*'
if ((a = 1) or (a = height) or ((a = height div 2) and (b > 1) and (b < width)) or
((a <= height div 2) and (b = 1)) or ((a > height div 2) and (b = width))) then
Write('*')
else
Write(' ');
end;
Writeln;
end;
end;
6:
begin
// Рисование цифры 6
for a := 1 to height do
begin
for b := 1 to width do
begin
// Условия для определения, где должен быть символ '*'
if ((a = 1) or (a = height) or (b = 1) or ((a <= height div 2) and (b = width)) or
((a > height div 2) and (b = width)) or (a = height div 2 + 1)) then
Write('*')
else
Write(' ');
end;
Writeln;
end;
end;
7:
begin
// Рисование цифры 7
for a := 1 to height do
begin
for b := 1 to width do
begin
// Условия для определения, где должен быть символ '*'
if ((a = 1) or (b = width)) then
Write('*')
else
Write(' ');
end;
Writeln;
end;
end;
8:
begin
// Рисование цифры 8
for a := 1 to height do
begin
for b := 1 to width do
begin
// Условия для определения, где должен быть символ '*'
if ((a = 1) or (a = height) or (b = 1) or (b = width) or (a = height div 2 + 1)) then
Write('*')
else
Write(' ');
end;
Writeln;
end;
end;
9:
begin
// Рисование цифры 9
for a := 1 to height do
begin
for b := 1 to width do
begin
// Условия для определения, где должен быть символ '*'
if ((a = 1) or (a = height) or (b = width) or (b = 1) or (a = height div 2 + 1) or ((a > height div 2) and (b = width div 2 + 1))) then
Write('*')
else
Write(' ');
end;
Writeln;
end;
end;
else
// В случае, если введена неизвестная цифра
WriteLn('Неподдерживаемая цифра.');
end;
end;
begin
// Основная программа
Write('Введите цифру от 1 до 9: ');
ReadLn(number);
if (number >= 1) and (number <= 9) then
begin
// Ввод ширины и высоты для выбранной цифры
Write('Введите ширину цифры: ');
ReadLn(width);
Write('Введите высоту цифры: ');
ReadLn(height);
// Вызов процедуры для отрисовки цифры
DrawDigit(number, width, height);
end
else
// В случае некорректного ввода цифры
WriteLn('Некорректный ввод. Введите число от 1 до 9.');
end.Editor is loading...
Leave a Comment