procedure TfrmMain.FindFilesOnDisk(Dir : string);
var SR : TSearchRec;
Err : integer;
i, j : integer;
st : string;
begin
if (Dir[Length(Dir)] <> '\') then Dir := Dir + '\';
Err := FindFirst(Dir + '*.*', faAnyFile, SR);
while Err = 0 do
j := 0;
st := AnsiUpperCase(SR.Name);
if lbDirs.Items.Count > 0 then //Если в списке есть каталоги
//Проверить, нет ли среди них
for i := 0 to lbDirs.Items.Count - 1 do
if lbDirs.Items[i] = st then //найденного
j := 1;
break;
end; //if lbDirs.Items[i] = st then
if j = 0 then
if (SR.Name <> '.') and
(SR.Name <> '..') and
((SR.Attr and faDirectory) <> 0) then
inc(NumDir);
DirList.Add(Dir + st);
frmMain.sbMain.Panels[1].Text := IntToStr(NumDir);
pbFind.Position := NumDir;
Application.ProcessMessages;
FindFilesOnDisk(Dir + SR.Name);
end; //if (SR.Name <> '.') and
end; //if j = 0 then
Err := FindNext(SR);
end;
Объяснение:
1. Берілген нүктелер арқылы өтетін түзудің теңдеуін жазыңыз: А(2;1) В(-1;2). [2 ұпай]
2. Шеңбердің берілген теңдеуі бойынша оның центрінің координаталары мен радиусын табыңыз: (х-4)2 +(у+8)2 =36 [1 ұпай]
3. нүктелері берілген.
a) төбелерінің координаталары бойынша салыңыз; [1 ұпай]
b) қабырғаларының ұзындықтарын табыңыз; [3 ұпай]
c) түрін анықтаңыз (теңқабырғалы, теңбүйірлі, тікбұрышты); [2 ұпай]
d) берілген үшбұрыштың ауданын есептеңіз. [2 ұпай]
4. Төбелері А (1;-1) В (0;1) С (4;3) және Д (5;1) нүктелері болатын төртбұрыштың тіктөртбұрыш болатынын дәлелдеп, оның ауданын табыңыз. Ол үшін:
a) төбелерінің координаталары бойынша сызбасын салыңыз; [1 ұпай]
b) қабырғаларының ұзындықтарын табыңыз; [4 ұпай]
c) диагональдарын анықтап, дәлелдеңіз; [2 ұпай]
d) тіктөртбұрыштың ауданын есептеңіз. [2 ұпай]
Объяснение
procedure TfrmMain.FindFilesOnDisk(Dir : string);
var SR : TSearchRec;
Err : integer;
i, j : integer;
st : string;
begin
if (Dir[Length(Dir)] <> '\') then Dir := Dir + '\';
Err := FindFirst(Dir + '*.*', faAnyFile, SR);
while Err = 0 do
begin
j := 0;
st := AnsiUpperCase(SR.Name);
if lbDirs.Items.Count > 0 then //Если в списке есть каталоги
//Проверить, нет ли среди них
for i := 0 to lbDirs.Items.Count - 1 do
if lbDirs.Items[i] = st then //найденного
begin
j := 1;
break;
end; //if lbDirs.Items[i] = st then
if j = 0 then
begin
if (SR.Name <> '.') and
(SR.Name <> '..') and
((SR.Attr and faDirectory) <> 0) then
begin
inc(NumDir);
DirList.Add(Dir + st);
frmMain.sbMain.Panels[1].Text := IntToStr(NumDir);
pbFind.Position := NumDir;
Application.ProcessMessages;
FindFilesOnDisk(Dir + SR.Name);
end; //if (SR.Name <> '.') and
end; //if j = 0 then
Err := FindNext(SR);
end;
end;
Объяснение:
1. Берілген нүктелер арқылы өтетін түзудің теңдеуін жазыңыз: А(2;1) В(-1;2). [2 ұпай]
2. Шеңбердің берілген теңдеуі бойынша оның центрінің координаталары мен радиусын табыңыз: (х-4)2 +(у+8)2 =36 [1 ұпай]
3. нүктелері берілген.
a) төбелерінің координаталары бойынша салыңыз; [1 ұпай]
b) қабырғаларының ұзындықтарын табыңыз; [3 ұпай]
c) түрін анықтаңыз (теңқабырғалы, теңбүйірлі, тікбұрышты); [2 ұпай]
d) берілген үшбұрыштың ауданын есептеңіз. [2 ұпай]
4. Төбелері А (1;-1) В (0;1) С (4;3) және Д (5;1) нүктелері болатын төртбұрыштың тіктөртбұрыш болатынын дәлелдеп, оның ауданын табыңыз. Ол үшін:
a) төбелерінің координаталары бойынша сызбасын салыңыз; [1 ұпай]
b) қабырғаларының ұзындықтарын табыңыз; [4 ұпай]
c) диагональдарын анықтап, дәлелдеңіз; [2 ұпай]
d) тіктөртбұрыштың ауданын есептеңіз. [2 ұпай]
Объяснение