- •Министерство образования и науки украины
- •Реферат
- •Содержание
- •Введение
- •1 Постановка задачи
- •2 Описание критериев
- •2.1 Критерий Вальда
- •2.2 Критерий Гурвица
- •2.3 Критерий Лапласса
- •2.4 Критерий Сэвиджа
- •3 Разработка программного продукта
- •3.1 Средства для разработки
- •3.2 Интерфейс программного продукта
- •4 Руководство пользователя
- •Источники материалов
- •Приложение а
- •Приложение b
- •Приложение c
- •Приложение d
- •Приложение e
Приложение c
//КРИТЕРИЙ Гурвица
//поиск минимального элемента для Гурвица
for i7:=1 to StringGrid1.RowCount-1 do //строка
begin
min:=glmas[i7,1];
max:=glmas[i7,1];
for j7:=1 to StringGrid1.ColCount-1 do //столбец
begin
if glmas[i7,j7]<min then
min:=glmas[i7,j7];
if glmas[i7,j7]>max then
max:=glmas[i7,j7];
end;
H:=((P*min)+((1-p)*max));//критерий гурвиццо
Hmass[i7]:=H;
Memo4.Text:=Memo4.Text+FloatToStr(H)+';'; //вывод всех минимальных значений
max:=hmass[1];
for i8:=1 to StringGrid1.RowCount-1 do
begin
if hmass[i8]>max then max:=hmass[i8];
end;
end;
Label10.Caption:='H=max( )='+FloatToStr(max);
Приложение d
//!!Поиск максимального значения в столбце для матрицы рисков(R)
for j3:=1 to StringGrid1.ColCount-1 do
begin
max:=glmas[i3,j3];
for i3:=1 to StringGrid1.RowCount-1 do
begin
if glmas[i3,j3]>max then max:=glmas[i3,j3];
end;
rmasmax[j3]:=max;
// StringGrid3.Cells[j3-1,0]:=FloatToStr(rmasmax[j3]);
end;
//строим матрицу рисков
for j4:=StringGrid1.FixedCols to StringGrid1.ColCount-1 do
begin
for i4:=StringGrid1.FixedRows to StringGrid1.RowCount-1 do
begin
temp:=rmasmax[j4]-(StrToFloat(StringGrid1.Cells[j4,i4]));
StringGrid2.Cells[j4-1,i4-1]:=FloatToStr(temp);
rmas[j4,i4]:=temp;//делаем массив из значений стринггрида2
end;
end;
//поиск максимального значения по матрице рисков(критерий Сэвиджа)
// minmc:=MaxInt;
Memo3.Lines.Clear;
for j5:=0 to StringGrid2.RowCount-1 do //Перебор по строкам
begin
maxmc:=StrToFloat(StringGrid2.Cells[0,j5]);//0 столбец j5 строка
for i5:=0 to StringGrid2.ColCount-1 do //Поиск максимального в строке
begin
If maxmc<StrToFloat(StringGrid2.Cells[i5,j5]) Then
maxmc:=StrToFloat(StringGrid2.Cells[i5,j5]);
if maxmc>minmc then minmc:=maxmc;
end;
Memo3.Text:=Memo3.Text+FloatToStr(maxmc)+';'; //вывод всех максимальных значений сэвиджа
Label9.Caption:='S=min( )='+FloatToStr(maxmc);
end;
Приложение e
procedure TForm1.Button5Click(Sender: TObject);
var
Bmp : TBitmap;
WinRect : TRect;
hWinDC : THandle;
begin
SavePictureDialog1.Filter:='All files | *.jpg';
if SavePictureDialog1.Execute Then
Bmp := TBitmap.Create;
Bmp.Width := Self.Width;
Bmp.Height := Self.Height;
hWinDC := GetWindowDC(Self.Handle);
BitBlt(
Bmp.Canvas.Handle,
0,
0,
Bmp.Width,
Bmp.Height,
hWinDC,
0,
0,
SRCCOPY
);
ReleaseDC(Self.Handle, hWinDC);
Bmp.SaveToFile('Результат.bmp');
Bmp.Free;
end;