- •Министерство образования и науки Российской Федерации
- •Содержание
- •2 Инструкция программиста 4
- •2.2 Схема алгоритма программы 4
- •3 Инструкция пользователя 9
- •Цель работы:
- •2 Инструкция программиста
- •2.1 Алгоритм программы
- •2.2 Схема алгоритма программы
- •2.3 Листинг программы
- •3 Инструкция пользователя
- •3.2.2 Порядок проверки работоспособности
- •Описание операций
- •3.3.1 Выполняемые функции и задачи
- •3.3.2 Описание операций технологического процесса обработки данных, необходимых для выполнения задач
- •3.4 Аварийные ситуации
- •Заключение
- •Список используемых источников
2.2 Схема алгоритма программы
Рисунок 2.2.1 – Схема алгоритма программы
4
Рисунок 2.2.2 - Процедура TForm1.drawNumbers (изображение чисел)
5
Рисунок 2.2.3 - Процедура TForm1.zifra(распознавание чисел)
6
2.3 Листинг программы
type
TForm1 = class(TForm)
btnOk: TButton;
btn1: TButton;
cmbInput: TComboBox;
strGrid: TStringGrid;
lbl2: TLabel;
lblOfRecogn: TLabel;
procedure drawNumbers(strGrid: TStringGrid; index: integer);
procedure recognOfNumbers(strGrid: TStringGrid);
procedure btnOkClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure btn1Click(Sender: TObject);
var
Form1: TForm1;
implementation
{$R *.dfm}
{процедура для прорисовки цифр}
procedure TForm1.drawNumbers(strGrid: TstringGrid; index: integer);
// объявляем переменные для циклов
var i, j: integer;
begin
case index of
0: begin
//------ очищаем стринг грид
for i:= 0 to strGrid.ColCount-1 do
for j:= 0 to strGrid.RowCount-1 do
strGrid.Cells[i, j]:= '';
//---------------- рисуем число 0
for i:=0 to strGrid.ColCount-1 do
begin
strGrid.Cells[i, 0]:= '*';
strGrid.Cells[i, 6]:= '*';
end;
for i:=0 to strGrid.RowCount-1 do
begin
strGrid.Cells[0, i]:= '*';
strGrid.Cells[2, i]:= '*';
end;
end;
1: begin
//--------------очищаем стринг грид
for i:= 0 to strGrid.ColCount-1 do
for j:= 0 to strGrid.RowCount-1 do
strGrid.Cells[i, j]:= '';
//---------------- рисуем число 1
for i:=0 to strGrid.RowCount-1 do
strGrid.Cells[2, i]:= '*';
strGrid.Cells[0, 2]:= '*';
strGrid.Cells[1, 1]:= '*';
end;
//------------------------------------------
{процедура запускается автоматически при запуске программы}
procedure TForm1.FormCreate(Sender: TObject);
var i: integer;
begin
// настраиваем ширину и высоту клеток в стринг гриде
for i:=0 to strGrid.ColCount-1 do
strGrid.ColWidths[i]:= 40;
for i:=0 to strGrid.RowCount-1 do
strGrid.RowHeights[i]:= 40;
// используем (подключаем) процедуру для рисования цифр
drawNumbers(strGrid, cmbInput.ItemIndex);
recognOfNumbers(strGrid);
end;
procedure TForm1.recognOfNumbers(strGrid: TStringGrid);
var
i, code: integer; strOfCode, resultOfRecogn, step: string;
begin
strOfCode:= '';
// сканируем первый столбец stringGrid
for i:= 0 to strGrid.RowCount-1 do
if strGrid.Cells[0, i] = '*' then
strOfCode:= strOfCode + '1'
else strOfCode:= strOfCode + '0';
code:= StrToInt(strOfCode);
// распознаем число по первому признаку
case code of
1111111: begin
if strGrid.Cells[1, 3] = '*' then
resultOfRecogn:= 'это число 8'
else resultOfRecogn:= 'это число 0';
step:='сканировано за 2 такта';
end;
procedure TForm1.btnOkClick(Sender: TObject);
var index: integer;
begin
index:=cmbInput.ItemIndex;
drawNumbers(strGrid, index);
end;
procedure TForm1.btn1Click(Sender: TObject);
begin
recognOfNumbers(strGrid);
end;
end.
7