|
Вопрос # 1 708/ вопрос открыт / |
|
Здравствуйте, уважаемые эксперты!
Подскажите, пожалуйста, как работает следующая программа?
Приложение: Переключить в обычный режим- unit s_found_;
-
- interface
-
- uses
- Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
- StdCtrls, Grids;
-
- type
- TForm1 = class(TForm)
- Label1: TLabel;
- Label2: TLabel;
- Button1: TButton;
- Edit2: TEdit;
- StringGrid1: TStringGrid;
- procedure Button1Click(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
-
- var
- Form1: TForm1;
-
- implementation
-
- {$R *.DFM}
-
-
- procedure TForm1.Button1Click(Sender: TObject);
- const
- SIZE=5;
- var
- a: array[1..SIZE] of integer;
- obr: integer;
- found: boolean;
- i: integer;
-
- begin
-
- for i:=1 to SIZE do
- a[i] := StrToInt(StringGrid1.Cells[i-1,0]);
-
- obr := StrToInt(edit2.text);
-
-
- found := FALSE;
- i := 1;
- repeat
- if a[i] = obr
- then found := TRUE
- else i := i+1;
- until (i > SIZE) or (found = TRUE);
-
- if found
-
-
-
- end;
-
- end.
 |
Вопрос задал: Железов Феликс Андреевич (статус: Посетитель)
Вопрос отправлен: 18 июня 2008, 20:26
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: ANBsoft
Здравствуйте, Железов Феликс Андреевич!
А что собственно непонятно?
procedure TForm1.Button1Click(Sender: TObject);
const
SIZE=5;
var
a: array[1..SIZE] of integer;
obr: integer;
found: boolean;
i: integer;
begin
for i:=1 to SIZE do
a[i] := StrToInt(StringGrid1.Cells[i-1,0]);//Данные из StringGrid преобразуются в целое и вносятся в массив
obr := StrToInt(edit2.text); //Определяется что нужно искать
found := FALSE; //Признак того, что элемент нашли
i := 1;
repeat
if a[i] = obr //если элемент массива (из ячейки StringGrid) совпадает с запросом
then found := TRUE // то установить признак того что элемент найден
else i := i+1; //иначе увеличить счетчик индекса
until (i > SIZE) or (found = TRUE); //Выполнять пока не переберем весь массив или пока не найдем
if found // если нашли
then ShowMessage('Совпадение с элементом номер ' // вывести сообщение
+IntToStr(i)+#13+'Поиск успешен.')
else ShowMessage('Совпадений с образцом нет.'); //иначе вывести что ничего не нашли
end;
Вроде все понятно.
 |
Ответ отправил: ANBsoft (статус: Студент)
Время отправки: 18 июня 2008, 20:40
Оценка за ответ: 5
Комментарий к оценке: Спасибо.
Просто возникли мелкие трудности с самой оболочкой.
|
Мини-форум вопроса
Мини-форум пуст.
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|