1)составьте программу, которая запрашивает цифру от 1 до 3 и русует эту цифру в графическом окне.2)составьте программу, чтобы рисовалась любая вселенная цифра от 0 до 9.язык паскаль. ! ​

Lyn8023 Lyn8023    1   07.10.2019 17:30    114

Ответы
bolbatunovao bolbatunovao  11.01.2024 17:00
Конечно, я помогу вам составить такие программы на языке Паскаль. Вот решение для обоих вопросов:

1) Программа для рисования цифры от 1 до 3:

program DrawDigit;
uses graph;

procedure DrawOne();
begin
line(100, 50, 100, 150);
end;

procedure DrawTwo();
begin
line(100, 50, 200, 50);
line(200, 50, 200, 100);
line(200, 100, 100, 100);
line(100, 100, 100, 150);
line(100, 150, 200, 150);
end;

procedure DrawThree();
begin
line(100, 50, 200, 50);
line(200, 50, 200, 150);
line(100, 100, 200, 100);
line(100, 150, 200, 150);
end;

var
digit: integer;
gd, gm: smallint;

begin
gd := Detect;
InitGraph(gd, gm, '');

writeln('Введите цифру от 1 до 3:');
readln(digit);

case digit of
1: DrawOne();
2: DrawTwo();
3: DrawThree();
end;

readln;
closegraph;
end.



Программа сначала инициализирует графическое окно, а затем запрашивает цифру от пользователя. В зависимости от выбранной цифры, вызывается соответствующая процедура для рисования этой цифры. В конце программы окно закрывается.

2) Программа, чтобы рисовалась любая цифра от 0 до 9:

program DrawDigit;
uses graph;

const
DigitPatterns: array [0..9] of string =
(
'###'#10'#'#10'#'#10'#'#10'###', // 0
' '#10' '#10' '#10' '#10' #', // 1
'###'#10' '#10'###'#10'#'#10'###', // 2
'###'#10' '#10'###'#10' '#10'###', // 3
'# '#10'# '#10'###'#10' '#10' #', // 4
'###'#10'#'#10'###'#10' '#10'###', // 5
'###'#10'#'#10'###'#10'# '#10'###', // 6
'###'#10' '#10' '#10' '#10' #', // 7
'###'#10'#'#10'###'#10'#'#10'###', // 8
'###'#10'#'#10'###'#10' '#10'###' // 9
);

procedure DrawDigit(digit: integer);
var
i, j: integer;
begin
for i := 1 to 5 do
begin
for j := 1 to length(DigitPatterns[digit]) do
begin
if DigitPatterns[digit][j] = '#' then
line(j * 10, i * 10, j * 10, i * 10);
end;
end;
end;

var
num: integer;
gd, gm: smallint;

begin
gd := Detect;
InitGraph(gd, gm, '');

writeln('Введите цифру от 0 до 9:');
readln(num);

DrawDigit(num);

readln;
closegraph;
end.


В данной программе для каждой цифры от 0 до 9 создан паттерн, представляющий собой строку символов "#" и "перевод каретки" (#10). Этот паттерн используется для рисования каждой цифры. В цикле по строке паттерна проверяется символ и при нахождении символа "#" рисуется горизонтальная линия. В результате получается изображение выбранной цифры.

Если возникнут еще вопросы, не стесняйтесь спрашивать!
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика