Лист 10
ТГТУ.090105.011
ПЗ Изм.
Лист № документа Подпись Дата
СОДЕРЖАНИЕ
Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1 Текст программы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2 Описание программы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.1 Общие сведения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
2.2 Функциональное назначение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3 Описание логической структуры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
2.4 Используемые технические средства . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.5 Вызов и загрузка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.6 Входные данные . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.7 Выходные данные . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17
3 Описание применения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.1 Назначение программы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2 Условия применения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.3 Описание задачи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.4 Входные и выходные данные . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4 Тестовый пример . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Список используемых источников . . . . . . . . . . . . . . . . . . . . . 21
Введение
«Начать с начала и продолжать, пока не будет найден искомый ключ; затем остановиться. » Эта последовательная процедура представляет собой очевидный путь поиска и может служить отличной отправной точкой для рассмотрения множества алгоритмов поиска, поскольку они основаны на последовательной процедуре. За кажущейся примитивностью последовательного поиска скрывается ряд очень интересных и эффективных, несмотря на их простоту, идей.
1 Текст программы
Project2:
#include <vcl.h>
#pragma hdrstop
#include <tchar.h>
USEFORM("Unit1.cpp", Form1);
WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
{
try
{
Application->Initialize();
Application->MainFormOnTaskBar = true;
Application->CreateForm(__classid(TForm1), &Form1);
Application->Run();
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
catch (...)
{
try
{
throw Exception("");
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
}
return 0;
}
GUI GUI = new GUI();
}
}
Unit1:
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Close();
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
const n=10;
AnsiString FileName;
int i
StringGrid1->ColCount=1;
StringGrid1->RowCount=1;
StringGrid1->Cells[0][0]="";
if (OpenDialog1->Execute()) {
FileName=OpenDialog1->FileName;
}
StringGrid1->RowCount=n+1;
StringGrid1->ColCount=2;
StringGrid1->FixedCols=1;
StringGrid1->Cells[0][n]="";
for (i = 0; i < n; i++) {
StringGrid1->Cells[0][i]=IntToStr(i);
}
StringGrid1->Cells[0][i]=IntToStr(n+1);
StringGrid1->Cols[1]->LoadFromFile(FileName);
LabeledEdit1->SetFocus();
Button3->Visible=true;
}
void __fastcall TForm1::Button3Click(TObject *Sender)
{
int i;
int key;
key=StrToInt(LabeledEdit1->Text);
for (i = 0; i < StringGrid1->RowCount; i++) {
if ((key==StrToInt(StringGrid1->Cells[0][i]))
&&(key!=StrToInt(StringGrid1->RowCount-1)))
{
ShowMessage("Запись найдена: № "+StringGrid1->Cells[0][i]);
break;
}
}
if (i==StringGrid1->RowCount) ShowMessage("Запись не найдена!");
}
void __fastcall TForm1::Button4Click(TObject *Sender)
{
int n,m,i,j;
StringGrid1->ColCount=1;
StringGrid1->RowCount=1;
StringGrid1->Cells[0][0]="";
n=StrToInt(LabeledEdit2->Text
m=StrToInt(LabeledEdit3->Text);
StringGrid1->RowCount=n+1;
StringGrid1->ColCount=m;
StringGrid1->FixedCols=1;
Randomize();
for (i = 0; i < n+1; i++) {
StringGrid1->Cells[0][i]=IntToStr(i); }
for (j = 1; j <= m; j++) {
StringGrid1->Cells[j][n]="";
}
for (i = 0; i < n; i++) {
for (j = 1; j <= m; j++) {
StringGrid1->Cells[j][i]=IntToStr(Random(n*m));
}
}
LabeledEdit1->SetFocus();
Button3->Visible=true;
}
void __fastcall TForm1::Button5Click(TObject *Sender)
{
int n,m,i,j;
n=StrToInt(LabeledEdit2->Text);
m=StrToInt(LabeledEdit3->Text);
StringGrid1->RowCount=n+1;
StringGrid1->ColCount=m;
StringGrid1->FixedCols=1;
for (i = 0; i < n+1; i++) {
StringGrid1->Cells[0][i]=IntToStr(i);
}
for (i = 0; i < n; i++) {
for (j = 1; j <= m; j++) {
StringGrid1->Cells[j][i]="";
}
}
LabeledEdit1->SetFocus();
Button3->Visible=true;
}
9