Файл: Человеко-машинный интерфейс МУ.pdf

ВУЗ: Не указан

Категория: Методичка

Дисциплина: Программирование

Добавлен: 25.10.2018

Просмотров: 1953

Скачиваний: 14

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

 

21 

Приложение В 

 

Разработка сценариев и реакций на события согласно сценариям. 

 

Нажатие на кнопку “Решить”. 

При нажатии на кнопку “Решить” происходит: 
а) проверка правильности исходных данных, и если данные не соответствуют ти-
пу (или не введен какой либо из коэффициентов), то выводится сообщение «Все 
коэффициенты системы должны быть числами», как показано на рисунке В.1; 

 

Рисунок В.1 

 
б) решение системы уравнений (после решения отбрасываются все ответы, где 

0

x

); 

в) вывод ответа в зависимости от количества найденных в пункте б решений. Ес-
ли найдено 2 решения, то выводятся 

2

2

1

1

,

,

,

y

x

y

x

, если найдено одно решение - 

1

1

y

x

, если решений нет, то выводится сообщение «Система уравнений не имеет 

решения !» 

Текст сценария: 

void __fastcall TMainForm::BtRasschetClick(TObject *Sender) 
{  
MResult->Clear(); 
   double in_a = 0, in_b = 0, in_c = 0, in_d = 0; 
   try 

    in_a = StrToFloat(Eda->Text); 
    in_b = StrToFloat(Edb->Text); 
    in_c = StrToFloat(Edc->Text); 
    in_d = StrToFloat(Edd->Text); 
   } 
  catch (...) 
  { 
   ShowMessage ("Все коэффициенты системы уравнений должны быть числами 
!"); 
   MResult->Lines->Add("Все коэффициенты системы уравнений должны быть 
числами !"); 
   return; 
  } 
  long double resX1,resX2,resY1,resY2; 
  int reslt = solution_equation(in_a, in_b, in_c, in_d, resX1, resX2, resY1, resY2); 


background image

 

22 

  if (reslt == SQ_SUCCES_TWO_ROOT) 
   { 
     MResult->Lines->Add("Cистема имеет 2 решения:"); 
     MResult->Lines->Add("x1 = " + FloatToStr(resX1) + "; y1 = "+ FloatToStr(resY1)); 
     MResult->Lines->Add("x2 = " + FloatToStr(resX2) + "; y2 = "+ FloatToStr(resY2)); 
   } 
  if (reslt == SQ_SUCCES_ALONE_ROOT) 
   { 
    MResult->Lines->Add("Cистема имеет 1 решение:"); 
    MResult->Lines->Add("x = " + FloatToStr(resX1) + "; y = "+ FloatToStr(resY1)); 
   } 
  if (reslt == SQ_ERROR_DIV_BY_ZERO)    MResult->Lines->Add("Система урав-
нений не имеет решения из-за деления на 0!"); 
  if (reslt == SQ_ERROR_NO_ROOT)        MResult->Lines->Add("Система уравне-
ний не имеет решения !"); } 
 

Массовая обработка данных
При нажатии первой кнопки “Выбрать” открывается форма для выбора 

файла с входными данными, как показано на рисунке В.2. 

 

 

Рисунок В.2 

 

Текст сценария: 
void __fastcall TFormMas::SBInpClick(TObject *Sender) 

if (OpenDialog1->Execute()) 

  if(FileExists(OpenDialog1->FileName)) 


background image

 

23 

   { 
       NameFileOpen = OpenDialog1->FileName; 
   } 
  else 
   ShowMessage("Такого файла не существует !"); 

При нажатии второй кнопки “выбрать” открывается форма для выбора фай-

ла с выходными данными, как показано на рисунке В.3. 
 

 

Рисунок В.3 

 

Текст сценария: 
void __fastcall TFormMas::SBOutClick(TObject *Sender) 

if (SaveDialog1->Execute()) 

  NameFileSave = SaveDialog1->FileName; 

При выборе кнопки решить происходит проверка входных данных, и если 

они не соответствуют заданному типу, то выводится сообщение « Указаны непра-
вильные файлы данных !», как показано на рисунке В.4. 

 


background image

 

24 

 

Рисунок В.4 

 

Если не выбраны файл с исходными данными или файл для сохранения ре-

зультатов, то выводится сообщение «Указаны не все файлы данных !», как пока-
зано на рисунке В.5. 

 

Рисунок В.5 

 

Текст сценария. 
void __fastcall TFormMas::SBRasschetClick(TObject *Sender) 

try 

if ((NameFileSave != "")&&(NameFileOpen != "")) solution_with_files(); 
 else ShowMessage("Выбраны не все файлы данных !"); 

catch(...) 

 ShowMessage("Указаны неправильные файлы данных !"); 
 return; 


 


background image

 

25 

Приложение Г 

 

Разработка алгоритма выполнения поставленной задачи 

 

 
1) Формулировка задания 

Вариант 5. 
Умножение комплексных чисел. 

3

3

2

2

1

1

ib

a

ib

a

ib

a

 

2) Математическая модель 
Произведением комплексных чисел  a+ bi  и  c+ di называется комплексное чис-
ло: ( ac – bd ) + ( ad + bc ) i . Это определение вытекает из двух требований: 
  - числа  a+ bi  и  c+ di должны перемножаться, как алгебраические двучлены, 
  - число i  обладает основным свойством:  

2

 = 1.  

П р и м е р .  ( a+ bi )( a – bi )= a 

2

 + b 

2

Следовательно, произведение  

                      двух сопряжённых комплексных чисел равно действительному  
                      положительному числу. 

3) Информационная модель 

Статус 

данного 

Содержание 

Имя 

данного 

Тип данного 

Имя 

типа 

Диапазон 

Значение 

по умол-

чанию 

Входные 

коэффициенты 
первого числа 

вещественный  Real 

5.0*10

-324

 

.. 

1.7*10

308

 

коэффициенты 
второго числа 

Выходные 

коэффициенты 
третьего числа 

вещественный  Real 

5.0*10

-324

 

.. 

1.7*10

308