ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 04.02.2024
Просмотров: 154
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
. Глушаков С.В. Программирование на Delphi. - Харьков: Фолио, 2002.518 с.
. Дал У., Дейкстра Э., Хоор К. Структурное программирование. - М.: Мир, 1975. - 472 с.
. Жоголев Е.А. Введение в технологию программирования (конспект лекций). - М.: "ДИАЛОГ-МГУ", 1994. - 286 с.
. Кнут Д.Е. Искусство программирования. т.3. - М.: Мир, 1984. - 724 с.
. Кофман А. Введение в теорию нечетких множеств. - М.: Радио и связь, 1982. - 432 с.
. Липаев В.В. Качество программного обеспечения. - М.: Финансы и статистика, 1983. - 366 с.
Приложение. Листинг программы
Модуль main
unit main;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, ImgList, ComCtrls, StdCtrls, ToolWin;= class (TForm): TToolBar;: TMemo;: TToolButton;: TToolButton;: TToolButton;: TToolButton;: TToolButton;: TToolButton;: TToolButton;: TToolButton;: TImageList;: TToolButton;: TToolButton;PrgEnd (Sender: TObject);FormCreate (Sender: TObject);InputMNO (Sender: TObject);OperationNM (Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm1;op_mno, vvod;
{$R *. dfm}, a2, a3: mno_mas;,n1,n2: integer;vyvod (a: mno_mas; n: integer): string;
// вывод множества: integer;: string;: = '';i: =1 to n do: = s + FloatToStrF (a [i], ffFixed, 4,2) + '; ';: = s;;TForm1. PrgEnd (Sender: TObject);
// выход из программы;;TForm1. FormCreate (Sender: TObject);
// создание формы и инициализация множеств: integer;;: = Random (10) + 5;: = Random (10) + 5;i: = 1 to n1 do[i]: = Random (11) / 10;i: = 1 to n2 do[i]: = Random (11) / 10;;TForm1. InputMNO (Sender: TObject);
// ввод нечетких множеств: integer;Sender = ToolButton1 then. SpinEdit1. Value: = n1;. StringGrid1. ColCount: = n1;. Caption: = 'Ввод множества А';i: = 1 to n1 do. StringGrid1. Cells [i - 1, 0]: = FloatToStrF (a1 [i], ffFixed, 3, 1);. ShowModal;: = Form2. SpinEdit1. Value;i: = 1 to n1 do[i]: = StrToFloat (Form2. StringGrid1. Cells [i - 1, 0]);;Sender = ToolButton2 then. SpinEdit1. Value: = n2;. StringGrid1. ColCount: = n2;. Caption: = 'Ввод множества B';i: = 1 to n2 do. StringGrid1. Cells [i - 1, 0]: = FloatToStrF (a2 [i], ffFixed, 3, 1);. ShowModal;: = Form2. SpinEdit1. Value;i: = 1 to n2 do[i]: = StrToFloat (Form2. StringGrid1. Cells [i - 1, 0]);;;TForm1. OperationNM (Sender: TObject);
// операции над множествами. Clear;Sender = addmno then. Lines. Add ('Операция: ' + addmno. Hint);(a1,n1,a2,n2,a3,n3);;Sender = peresmno then. Lines. Add ('Операция: ' + peresmno. Hint);(a1,n1,a2,n2,a3,n3);;Sender = submno then. Lines. Add ('Операция: ' + submno. Hint);(a1,n1,a2,n2,a3,n3);;Sender = ssubmno then. Lines. Add ('Операция: ' + ssubmno. Hint);(a1,n1,a2,n2,a3,n3);;Sender = mulmno then. Lines. Add ('Операция: ' + mulmno. Hint);(a1,n1,a2,n2,a3,n3);;. Lines. Add ('Множество А');. Lines. Add (vyvod (a1,n1));. Lines. Add ('Множество В');. Lines. Add (vyvod (a2,n2));. Lines. Add ('Результат');. Lines. Add (vyvod (a3,n3));;
.
Модуль op_mno
unit op_mno;_mas = array [1.20] of real;_mas = array [1.20] of 0.1;peres (a1: mno_mas; n1: integer; a2: mno_mas; n2: integer;a3: mno_mas; var n3: integer);objed (a1: mno_mas; n1: integer; a2: mno_mas; n2: integer;a3: mno_mas; var n3: integer);razn (a1: mno_mas; n1: integer; a2: mno_mas; n2: integer;a3: mno_mas; var n3: integer);simrazn (a1: mno_mas; n1: integer; a2: mno_mas; n2: integer;a3: mno_mas; var n3: integer);proizved (a1: mno_mas; n1: integer; a2: mno_mas; n2: integer;a3: mno_mas; var n3: integer);math;mu (a: mno_mas; n: integer; var b: bin_mas);
{характеристическая функция}: integer;i: =1 to n doa [i] <0.5 then[i]: = 0[i]: = 1;;peres (a1: mno_mas; n1: integer; a2: mno_mas; n2: integer;a3: mno_mas; var n3: integer);
{пересечение множеств}: integer;: =n1;n2
{объединение множеств}: integer;: =n1;n2
{разность множеств}: integer;: =n1;n2
{симметричная разность множеств}: integer;, aa2: bin_mas;(a1, n1, aa1);(a2, n2, aa2);: =n1;i: =1 to n3 do[i]: =0;i: =1 to n3 do(aa1 [i] =1) and (aa2 [i] =1) then[i]: =a1 [i];;proizved (a1: mno_mas; n1: integer; a2: mno_mas; n2: integer;a3: mno_mas; var n3: integer);
{произведение множеств}: integer;: =n1;n2
Модуль vvod
unit vvod;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, Spin, Buttons, Grids;= class (TForm): TStringGrid;: TBitBtn;: TLabel;: TSpinEdit;SpinEdit1Change (Sender: TObject);;: TForm2;
{$R *. dfm}TForm2. SpinEdit1Change (Sender: TObject);
// изменение размерности множества. ColCount: = SpinEdit1. Value;;.
1 2 3 4 5 6 7 8 9