procedure TForm1.FormCreate(Sender: TObject); begin n:=10; Edit1.Text:=IntToStr(n); StringGrid1.ColCount:=n; end;
procedure TForm1.Button1Click(Sender: TObject); begin n:=StrToInt(Edit1.Text); StringGrid1.ColCount:=n;
end;
procedure TForm1.Button2Click(Sender: TObject); Var a : Array of Char; s : integer; b,c : char; begin Memo1.Clear; s:=0; SetLength(a,n); For k:=0 to n-1 do a[k]:=StringGrid1.Cells[k,0][1];
k:=0; repeat b:=a[k]; k:=k+1; h:=0; repeat c:=a[h]; h:=h+1 until c=b; if k=h then s:=s+1
end. 4. Дана строка, представляющая собой запись числа в восьмеричной системе счисления. Преобразовать ее в строку, представляющую собой запись числа в двоичной системе счисления.
type TForm1 = class(TForm) ComboBox1: TComboBox; Memo1: TMemo; Memo2: TMemo; BitBtn1: TBitBtn; procedure ComboBox1Click(Sender: TObject); procedure ComboBox1KeyPress(Sender: TObject; var Key: Char); procedure FormActivate(Sender: TObject); private { Private declarations } public { Public declarations } end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.ComboBox1Click(Sender: TObject); Var oct:String; var bin:String; k,i:Integer; begin oct:=ComboBox1.Text; //запись информации в строку s Memo1.Clear; Memo2.Clear;
i:=length(oct)*3; for k:=1 to length(oct) do begin if oct[k]='0' then bin:=bin+'000'; if oct[k]='1' then bin:=bin+'001'; if oct[k]='2' then bin:=bin+'010' ; if oct[k]='3' then bin:=bin+'011' ; if oct[k]='4' then bin:=bin+'100' ; if oct[k]='5' then bin:=bin+'101' ; if oct[k]='6' then bin:=bin+'110' ; if oct[k]='7' then bin:=bin+'111' ; end; //For k:=1 To length(s) Do Memo2.Lines.Add(bin); end;
procedure TForm1.ComboBox1KeyPress(Sender: TObject; var Key: Char); begin if Key=#13 Then //проверка нажатия клавиши Enter Begin ComboBox1.Items.Add(ComboBox1.Text); //строка из окна //редактирования заносится в список выбо-ра End;
4. В справочной автовокзала хранится расписание движения автобусов. Для каждого рейса указаны пункт назначения, время отправления и прибытия автобуса. Вывести информацию о рейсах, которыми можно воспользоваться для прибытия в пункт назначения раньше заданного времени.
procedure TForm1.Button2Click(Sender: TObject); Var m:Integer; d:extended; begin Memo1.Clear; Memo2.Clear; Memo3.Clear; d:=StrToFloat(Edit5.Text); Reset(f); While Not EOF(f) Do Begin Read(f,w); m:=0; if w.vr[2]>d Then m:=1; if m=0 Then Begin Memo1.Lines.Add(w.pn); Memo2.Lines.Add(FloatToStr(w.vr[1])); Memo3.Lines.Add(FloatToStr(w.vr[2])); End; End; CloseFile(f);
end;
procedure TForm1.Button3Click(Sender: TObject); begin SaveDialog1.Title:='Создать файл'; SaveDialog1.DefaultExt:='.dat'; if SaveDialog1.Execute Then Begin frasp:=SaveDialog1.FileName; AssignFile(f,frasp); ReWrite(f); End; Button1.Enabled:=True; zak:=True; end; procedure TForm1.Button4Click(Sender: TObject); begin OpenDialog1.Title:='Открыть файл'; if OpenDialog1.Execute Then Begin frasp:=OpenDialog1.FileName; AssignFile(f,frasp); Reset(f); End; Memo1.Clear; Memo2.Clear; Memo3.Clear; While Not EOF(f) Do Begin Read(f,w); Memo1.Lines.Add(w.pn); Memo2.Lines.Add(floatToStr(w.vr[1])); Memo3.Lines.Add(floatToStr(w.vr[2])); End; CloseFile(f); end; procedure TForm1.Button5Click(Sender: TObject); begin SaveDialog1.Title:='Сохранить в текстовом файле'; SaveDialog1.DefaultExt:='.dat'; if SaveDialog1.Execute Then Begin fraspt:=SaveDialog1.FileName; AssignFile(ft,fraspt); ReWrite(ft); End; CloseFile(f); CloseFile(ft);
end;
4. Отобразить взаимное расположение окружности с радиусом R с центром в точке (x0,y0) и прямой, проходящей через точки с координатами (x1,y1) и (х2,y2) (пересекаются, касаются, не пересекаются).
procedure TForm1.FormCreate(Sender: TObject); begin Edit1.Clear;Edit2.Clear;Edit3.Clear;Edit4.Clear; Edit5.Clear;Edit6.Clear;Edit7.Clear; end;
procedure TForm1.Button1Click(Sender: TObject); var x0, x1, x2, y0, y1, y2, r, x, y, z, c, a : extended; begin x1:=StrToFloat(Edit1.Text); x2:=StrToFloat(Edit2.Text); y1:=StrToFloat(Edit3.Text); y2:=StrToFloat(Edit4.Text); x0:=StrToFloat(Edit5.Text); y0:=StrToFloat(Edit6.Text); r:=StrToFloat(Edit7.Text); x:=-50; y:=0; c:=0; while (x<=50) do begin //окружность while abs(x-x0)<=r do begin y:=sqrt(sqr®-sqr(x-x0))+y0; Series2.AddXY(x,c,'',clGreen); c:=-sqrt(sqr®-sqr(x-x0))+y0; Series3.AddXY(x,y,'',clGreen); x:=x+0.002; z:=((y2-y1)*(x-x1))/(x2-x1)+y1; Series1.AddXY(x,z,'',clRed); x:=x+0.002