Задача табулирования функции

Автор: Пользователь скрыл имя, 19 Февраля 2013 в 11:33, практическая работа

Описание работы

Цель работы. Создать форму для решения задачи табулирования функции. Создать главное меню (объект типа MainMenu), содержащее команды: выйти из программы, табулировать функцию, очистить поля вывода результатов, а также контекстное меню (PopupMenu) с командой для очистки поля вывода. Результаты табулирования вывести в многострочное поле редактирования (объект типа Memo). Предусмотреть возможность вывода результатов на экран, в файл, в массив. Направление вывода задать с помощью трёх флажков (объектов типа CheckBox), расположенных на панели группы объектов (типа GroupBox) (см. рис. 9).

Работа содержит 1 файл

лАБ_РАБ№3_Делфи.doc

— 114.50 Кб (Скачать)

Memol.Lines.Add (‘     X           F(X)');

{Получаем  числовое значение левой границы} 

Val(Edit1.Text, a, cod);

{Получаем  числовое значение правой границы} 

Val(Edit2.Text, b, cod);

{Получаем  числовое значение шага}

Val(Edit3.Text, h, cod);

х:=а;           {Табулируем функцию}

while x<=b+h/2 do {пока аргумент х не превысит }

begin                    {правую границу с определенным запасом}

y:=sin(x)+l;         {Вычисляем значения функции}

{Формируем  символьные строки из значений }

Str(x.:8:2,str1);     { аргумента и функции}

Str(y:8:3,str2);

if CheckBox1.Checked then

{Вставляем  строку в поле Memol}

Memol .Lmes.Add(sfrl+str2);

x:=x+h; {Увеличиваем аргумент на величину шага}

end

end;

22. Выполните программу  и поупражняйтесь с разными значениями левой, правой границы и шага аргумента. Закройте окно программы «Табулирование функции».

23. Сохраните созданную  программу в своей папке.

24. Создайте ехе-файл  программы.

25. Закройте Delphi, запустите созданную программу и выполните вычисления для различных входных данных.

26. Продемонстрируйте   созданную   форму  преподавателю.   Закончите работу.

Задание.

Задача 3.1. Определите количество элементов массива больших 0,5 и меньших 1.

Задача 3.2. Модифицируйте программу, предусмотрев возможность табулирования функции и ее производной. Выбор варианта (с производной или без неё) осуществить с помощью дополнительного флажка.

Подсказка. Выполните такие действия:

• вставьте в форму  объект типа CheckBox (флажок), его свойству Caption присвойте значение «Производная», выберите для подписи кирилизованный шрифт 12-го размера, выровняйте вставленный объект.

• поменяйте программный  код кнопки «Табулировать», использовав в тексте процедуры ButtonlClick такие команды:

{Объявите  переменные str1, sir2, str3 как string в начале процедуры}

if CheckBox.Checked then {если флажок установлен}

Meinol.Lines.Add (     X               F(X)               F "(X)')

{Строка содержит подписи для столбцов значений аргумента, функции и ее производной}

else {Иначе - если флажок не установлен}

{Строка содержит  лишь подписи для столбцов  значений аргумента и функции} 

Memol.Lines.Add ('     X                F(X)');

{А в цикле задаем:}

y:=sin(x)+l;                       {Вычисляем значение функции}

yl: =cos(x);                         {Вычисляем значение производной}

if CheckBox.Checked then {Если флажок установлен}

begin

Str(x:8:2, str1); Str(y:8:2, str2); Str(yl:8:2, str3);

str3 := str1 + str2 + str3                                       

end;

{Формируем символьную строку из значений аргумента, функции и ее производной, между которыми вставляем несколько пропусков}

else {Если флажок не установлен}

begin

Str(x:8:2, str1);       {Формируем символьную строку}

Str(y:8:2, str2);       {из значений аргумента и функции}

str3 := str1 + str2

end;                   

Замечание. Номера объектов в Вашей программе могут отличаться от приведённых выше.

Задача 3.3. Предусмотрите в созданной программе дополнительную возможность для определения максимального и минимального значений функции.

Подсказка. В теле процедуры ButtonlClick, описывающей программный код кнопки «Табулировать», воспользуйтесь такими командами:

{в начале процедуры:}

max:=sin(a)+l;

• • •

{в цикле:}

if max<y then max:=y;

• • •

{После цикла:}

Str(max:8:3, str1); Memol.Lines.Add(  'max=' + str1);

Задача З.4. Поменяйте процедуру команды «Табулировать» так, чтобы для включенного флажка «В массив» вывод результатов выполнялся в одномерный массив.


Информация о работе Задача табулирования функции