Untitled
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