| 
| 
 | Вопрос # 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
 Комментарий к оценке: Спасибо.Просто возникли мелкие трудности с самой оболочкой.
 |  
 Мини-форум вопросаМини-форум пуст. Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |