Untitled

 avatar
unknown
plain_text
a year ago
6.0 kB
8
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