Суть такого свойства алгоритма как дискретность заключается в том, что... Алгоритм должен обеспечивать решение не одной конкретной задачи, а некоторого класса задач данного типа
Исполнитель алгоритма не должен принимать решения, не предусмотренные составителем алгоритма
Алгоритм должен быть разбит на последовательность отдельных шагов
Записывая алгоритм для конкретного исполнителя, можно использовать лишь те команды, что входят в систему его команд
При точном исполнении всех команд алгоритма процесс должен прекратиться за конечное число шагов, приведя к определенному результату
Объяснение: Настольный теннис — олимпийский вид спорта, спортивная игра с мячом, в которой используют специальные ракетки и игровой стол, разграниченный сеткой пополам. Игра может проходить между двумя соперниками или двумя парами соперников. Задачей игроков является удерживать мяч в игре при ракеток — каждый игрок после одного отскока мяча на своей половине стола должен отправить мяч на половину стола соперника. Очко начисляется игроку или паре игроков, когда соперник не может вернуть мяч в соответствии с правилами. Каждая партия продолжается до 11 очков, матч состоит из нечётного количества партий, и играется на большинство побед в партиях.
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;
Объяснение: