![]() |
|
#1
|
|||
|
|||
![]() Уважаемы программисты помогите с решением задачи
генерацию набора цифр от нуля до девяти (количество объектов в наборе должно изменяться от одного до девяти, одинаковые цифры в наборе не допускаются); вывод набора цифр пользователю в одной из определённых в индивидуальном задании графических форм в течение фиксированного промежутка времени; вывод пользователю всех цифр (в заданной графической форме) для того, чтобы он мог указать, какие из них входили в набор; индикация ошибок пользователя (при их наличии). Графическая форма: Римские цифры, словесная форма, цвет шрифта реализовал вот так Код:
unit main; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Label1: TLabel; Button1: TButton; Timer1: TTimer; Button2: TButton; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} function DecToRoman(Decimal: LongInt): string; const Romans: array[1..9] of string = ('I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX'); Arabics: array[1..9] of Integer = (1, 2, 3, 4, 5, 6, 7, 8, 9); var i: Integer; scratch: string; begin scratch := ''; for i := 9 downto 1 do while (Decimal >= Arabics[i]) do begin Decimal := Decimal - Arabics[i]; scratch := scratch + Romans[i]; end; Result := scratch; end; procedure TForm1.Timer1Timer(Sender: TObject); begin // числа от 1 до 9 включительно будут отображаться последовательно Label1.Caption:=Label1.Caption +' ' + IntToStr(Random(8)+1); end; procedure TForm1.FormCreate(Sender: TObject); begin //надо обязательно иницилизировать генератор Randomize; Timer1.Interval := 5000; // 5 секунд Timer1.Enabled := false; end; procedure TForm1.Button1Click(Sender: TObject); begin Timer1.Enabled:=True; end; procedure TForm1.Button2Click(Sender: TObject); begin Timer1.Enabled := false; end; end. |