Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Проект3.rtf
Скачиваний:
20
Добавлен:
11.04.2015
Размер:
12.7 Mб
Скачать

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

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

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

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

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

Самостоятельная работа

Задача 3.1. Добавьте к контекстному меню команду «Выход» и запрограммируйте ее.

Задача 3.2. Создайте и запрограммируйте еще одно контекстное меню, содержащее команды "Убрать все флажки", "Включить все флажки", "Включить инверсивно". Такое меню должно появляться после щелчка правой клавишей мыши в любой точке панели с флажками. Не забудьте "привязать" это меню (PopupMenu2) к панели с флажками (см. пункт 19).

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

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

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

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

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

if CheckBox.Checked then (если флажок установлен} Memol.Lines.Add(' X F(X) F "(X)')

{Строка содержит подписи для столбцов значений аргумента, функции и ее производной} else (Иначе ёсли флажок не установлен} {Строка содержит лишъ подписи для столбцов значений аргумента и функции] Memol.Lines.Add(' X F(X)');

• * •

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

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

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

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

begin

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

str3 := strl + str2 + str3

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

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

begin

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

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

str3 := strl + str2

end;

• • •

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

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

Задача 3.5. Вставьте в форму объект Chart из закладки Additional для построения графика функции.

Щелкните два раза на объекте, появится следующее окно

Выберите команду Add…на кнопке справа

Выберите тип диаграммы, например FastLine

Получится следующее окно

Закройте его по клавише Close

Появится окно формы с видом

Теперь в текст программы добавьте команду

Из пункта 21.

procedure Tforml.N2Click(Sender: TObject);

var х, у, h, а, Ъ : real;

cod : integer;

strl, str2: string;

begin

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

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

(Получаем числовое значение левой границы] Val(Editl.Text, a, co}

{Получаем числовое значение правой границы} Val(Edit2.Text, b, cod};

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

Val(Edit3.Text, h, cod);

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

while x<=b+h/2 do

{пока аргумент х не превысит }

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

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

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

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

Str(y:8:3,str2);

if CheckBox1.Checked then

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

Memol .Lines.Add(sir1 +str2);

.series1.addXY(x,y);

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

end;

end;

Задача 3.6. Совместите процессы табулирования функции и построения графика

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]