• Название:

    7 пара инструкционная карта(линейное программир..

  • Размер: 0.06 Мб
  • Формат: DOCX
  • или


Практическая работа № 1

«Линейное программирование»

Задача. Написать программу по заданной формуле:

y=π∙x- e0,2α+2tg2α+1,6∙103∙log10x22tg2α∙secx

Ход выполнения

Открываем систему Lazarus. Далее Файл – Создать… - Приложение. Данное приложение необходимо сохранить с вою папку. Название проекта – ProFormula, название модуля – UnitForm.

Переименуйте созданную вами форму. Для этого перейдите в Свойства – Caption – введите «Расчёт формулы».

На открывшейся форме добавляем надпись типа TLabel. В свойствах кнопки меняем её текст Свойства – Caption – «Введите а :». Измените размер шрифта – Font – Size – 14. Создаем аналогичным образом вторую надпись – «х :», также измените размер шрифта.

После добавляем поля TEdit для ввода значений а и х:

Панель Standard – TEdit. Далее применяем Свойства – Name – EditA; Text – очистить.

Панель Standard – TEdit. Далее применяем Свойства – Name – EditX; Text – очистить.

Добавляем кнопку: Панель Standard – TButton. Далее применяем Свойства – Caption – «Результат :»; Измените размер шрифта – Font – Size – 10; Измените имя – Name – BtnRes.

Рядом с кнопкой располагаем поле вывода результата, также TEdit. В свойствах меняем имя на Name – EditRes.

После того, как были расположены все основные элементы на форму, приступаем к написанию кода.

Создадим процедуру для расчёта формулы, для этого щелкните левой клавишей мыши по кнопке на форме 2 раза. Откроется окно кода, и автоматически создастся процедура: procedure TForm1.BtnResClick(Sender: TObject);

Для начала обозначим исходные данные и разместим их в разделе описания переменных:

procedure TForm1.BtnResClick(Sender: TObject);

var

a,x,y : real; { исходные данные и результат }

temp : real; { промежуточная переменная }

s : string; { дополнительная строковая переменная}

Далее описываем составной оператор begin.. end.

begin

s := ' ';

a:= StrToFloat(EditA.text); {перевод текстового значения в вещественное

число}

x:= StrToFloat(EditX.text);

temp := 2*sin(2*a)/cos(2*a); {расчет формулы}

y := (sqrt(Pi*x)-exp(0.2*sqrt(a))+temp+

1.6e3*ln(sqr(x))/ln(10))/

(temp*1/cos(x));

s:= s+FloatToStrF(y,ffGeneral,7,2); {обратный перевод полученного значения

из вещественного числа в текст с ограничением в 7

символов}

EditRes.text := s;

end;

После написания кода, запустите Компиляцию программы .

Дополнительно:

Откройте Microsoft Word и через редактора формул создайте записанную ранее в задаче формулу:

y=π∙x- e0,2α+2tg2α+1,6∙103∙log10x22tg2α∙secx

Далее скопируйте её в стандартный графический редактор Paint, отредактируйте размеры, и сохраните изображение в папке с проектом вашей программы.

После снова откройте свою программу, и разместите на форме картинку:

Панель Additional – TImage. Далее перейдите в свойства – Picture – Загрузить – Выбираете созданное вами изображение из папки проекта – Ок.

В результате у вас получится следующая форма вашей программы (Рис.1):

Рис.1 – Готовая форма программы