Программный продукт "Системы линейных неравенств"

Автор работы: Пользователь скрыл имя, 20 Декабря 2010 в 14:38, курсовая работа

Краткое описание

Основная задача выполняется с помощью средств вычислительной математики. В основе решения задачи лежит выполнение операций сложения векторов, умножения вектора на число, скалярное и векторное произведение при помощи формул.

Основные направления выполнения программы:

1.создать модули, предлагающие поэтапное выполнение поставленной задачи;
2.создать модули, выполняющие вычисление правильно, быстро и корректно;
3.разработать интерфейс программы, совместимый с Windows-интерфейсом.

Содержание

ВВЕДЕНИЕ…………………………………………………………… 3
1 РАЗРАБОТКА ЭСКИЗНОГО И ТЕХНИЧЕСКОГО ПРОЕКТОВ ПРОГРАММЫ…………………………………………………………
4
1.1 Задание……………………………………………………………………….. 4
1.2 Назначение и область применения…………………………………………. 4
1.3 Технические характеристики……………………………………………... 4
2 РАЗРАБОТКА РАБОЧЕГО ПРОЕКТА…………………………… 9
2.1 Разработка программы……………………………………………………… 9
2.2 Спецификация программы…………………………………………………. 22
2.3 Текст программы…………………………………………………………….. 24
3 ВНЕДРЕНИЕ……………………………………………………….. 33
ЗАКЛЮЧЕНИЕ………………………………………………………. 37
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ………………… 38

Вложенные файлы: 1 файл

КУРСОВАЯ РАБОТА.doc

— 290.00 Кб (Скачать файл)

                                          Label22.Caption:='f(C) = f(0;0) = '+FloatToStr(fx1x2)+' - минимум функции';

                       end;

                  end; 

// Находим  max или min функции при пересечении  неравенств 1 и 2, 2 и 3

if bf12 = true

  then

      if bf13 = false

          then

              if bf23 = true

                then

                  begin

                  fx1x2:=0*fx1+0*fx2+fc;

                  f12:=per12_x1*fx1+per12_x2*fx2+fc;

                  f23:=per23_x1*fx1+per23_x2*fx2+fc;

                   if form1.ComboBox4.Text = 'max'

                      then

                          begin

                          if f12>fx1x2

                            then

                                if f12>f23

                                  then

                                    Label22.Caption:='f(C) = f('+FloatToStr(per12_x1)+';'+FloatToStr(per12_x2)+') = '+FloatToStr(f12)+' - максимум функции';

                                if f23>fx1x2

                                  then

                                      if f23>f12

                                        then

                                          Label22.Caption:='f(C) = f('+FloatToStr(per23_x1)+';'+FloatToStr(per23_x2)+') = '+FloatToStr(f23)+' - максимум функции';

                                if fx1x2>f12

                                  then

                                      if fx1x2>f23

                                        then

                                          Label22.Caption:='f(C) = f(0;0) = '+FloatToStr(fx1x2)+' - максимум функции';

                          end

                     else

                      begin

                          if f12<fx1x2

                            then

                                if f12<f23

                                  then

                                    Label22.Caption:='f(C) = f('+FloatToStr(per12_x1)+';'+FloatToStr(per12_x2)+') = '+FloatToStr(f12)+' - минимум функции';

                                if f23<fx1x2

                                  then

                                      if f23<f12

                                        then

                                          Label22.Caption:='f(C) = f('+FloatToStr(per23_x1)+';'+FloatToStr(per23_x2)+') = '+FloatToStr(f23)+' - минимум функции';

                                if fx1x2<f12

                                  then

                                      if fx1x2<f23

                                        then

                                          Label22.Caption:='f(C) = f(0;0) = '+FloatToStr(fx1x2)+' - минимум функции';

                       end;

                  end; 

// Находим  max или min функции при пересечении  неравенств 1 и 2, 1 и 3

if bf12 = true

  then

      if bf13 = true

          then

              if bf23 = false

                then

                  begin

                  fx1x2:=0*fx1+0*fx2+fc;

                  f12:=per12_x1*fx1+per12_x2*fx2+fc;

                  f13:=per13_x1*fx1+per13_x2*fx2+fc;

                   if form1.ComboBox4.Text = 'max'

                      then

                          begin

                          if f12>fx1x2

                            then

                                if f12>f13

                                  then

                                    Label22.Caption:='f(C) = f('+FloatToStr(per12_x1)+';'+FloatToStr(per12_x2)+') = '+FloatToStr(f12)+' - максимум функции';

                                if f13>fx1x2

                                  then

                                      if f13>f12

                                        then

                                          Label22.Caption:='f(C) = f('+FloatToStr(per13_x1)+';'+FloatToStr(per13_x2)+') = '+FloatToStr(f13)+' - максимум функции';

                                if fx1x2>f12

                                  then

                                      if fx1x2>f13

                                        then

                                          Label22.Caption:='f(C) = f(0;0) = '+FloatToStr(fx1x2)+' - максимум  функции';

                          end

                     else

                      begin

                          if f12<fx1x2

                            then

                                if f12<f13

                                  then

                                    Label22.Caption:='f(C) = f('+FloatToStr(per12_x1)+';'+FloatToStr(per12_x2)+') = '+FloatToStr(f12)+' - минимум функции';

                                if f13<fx1x2

                                  then

                                      if f13<f12

                                        then

                                          Label22.Caption:='f(C) = f('+FloatToStr(per13_x1)+';'+FloatToStr(per13_x2)+') = '+FloatToStr(f13)+' - минимум функции';

                                if fx1x2<f12

                                  then

                                      if fx1x2<f13

                                        then

                                          Label22.Caption:='f(C) = f(0;0) = '+FloatToStr(fx1x2)+' - минимум функции';

                       end;

                  end; 

// Находим  max или min функции при пересечении  неравенств 1 и 2, 1 и 3, 2 и 3

if bf12 = true

  then

      if bf13 = true

          then

              if bf23 = true

                then

                  begin

                  f12:=per12_x1*fx1+per12_x2*fx2+fc;

                  f13:=per13_x1*fx1+per13_x2*fx2+fc;

                  f23:=per23_x1*fx1+per23_x2*fx2+fc;

                   if form1.ComboBox4.Text = 'max'

                      then

                          begin

                          if f12>f23

                            then

                                if f12>f13

                                  then

                                    Label22.Caption:='f(C) = f('+FloatToStr(per12_x1)+';'+FloatToStr(per12_x2)+') = '+FloatToStr(f12)+' - максимум функции';

                                if f13>f23

                                  then

                                      if f13>f12

                                        then

                                          Label22.Caption:='f(C) = f('+FloatToStr(per13_x1)+';'+FloatToStr(per13_x2)+') = '+FloatToStr(f13)+' - максимум функции';

                                if f23>f12

                                  then

                                      if f23>f13

                                        then

                                          Label22.Caption:='f(C) = f('+FloatToStr(per23_x1)+';'+FloatToStr(per23_x2)+') = '+FloatToStr(f23)+' - максимум функции';

                          end

                     else

                      begin

                          if f12<f23

                            then

                                if f12<f13

                                  then

                                    Label22.Caption:='f(C) = f('+FloatToStr(per12_x1)+';'+FloatToStr(per12_x2)+') = '+FloatToStr(f12)+' - минимум функции';

                                if f13<f23

                                  then

                                      if f13<f12

                                        then

                                          Label22.Caption:='f(C) = f('+FloatToStr(per13_x1)+';'+FloatToStr(per13_x2)+') = '+FloatToStr(f13)+' - минимум функции';

                                if f23<f12

                                  then

                                      if f23<f13

                                        then

                                          Label22.Caption:='f(C) = f('+FloatToStr(per23_x1)+';'+FloatToStr(per23_x2)+') = '+FloatToStr(f23)+' - минимум функции';

                       end;

                  end; 

// если  нету точек входящих в ОДР

if bf12 = false

  then

      if bf13 = false

          then

              if bf23 = false

                then  Label22.Caption:='Нету точек пересечения неравенств входящие в ОДР'; 

//определяем замкнутость

if a22*a11-a12*a21=0

Информация о работе Программный продукт "Системы линейных неравенств"