Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Zad_p2.doc
Скачиваний:
27
Добавлен:
17.03.2016
Размер:
1.27 Mб
Скачать

Хід роботи

  1. Завантажте середовище візуального програмування C++ Builder.

  2. Створіть форму, показану на рис. 2.

  3. Уведіть описи класів і функцій, які використовуватимуться у цій задачі.

Для цього відкрийте вікно тексту програми і після рядка

TForml *Form1;

вставте програмний код опису класів і функцій, поданий у „Теоретичних відомостях та аналізі задачі" цього параграфа. Збережіть проект і текст програми.

Рис. 2.Форма "Політ ракети" Рис. 3. Тестовий приклад

  1. Уведіть математичні вирази у поля Edtt1 і Edit2 й очистіть поля результатів Edit3, Edit4, Edit5 та Edit6. Запрограмуйте кнопку "Вихід".

Зверніть увагу на те, що у виразах допускаються лише операції "+", "-", "*", "/", дійсні числа та змінна х, задана малою латинською літерою. У виразі для х не використовуйте змінну х. Для набору символу десяткової крапки у дійсних числах використовуйте символ, передбачений операційною системою комп'ютера. Тестовий приклад і результати обчислень показані на рис. 3.

  1. Запрограмуйте кнопку "Обчислити" таким чином:

    void __fastcall TForm1::Button1Click(TObject *Sender)

    {

    Telement* x=form(Edit1->Text);

    Telement* f=form(Edit2->Text);

    Telement* f1=f->differ();

    Telement* f2=f1->differ();

    double X=x->rezult();

    f -> set_var( X);

    f1 -> set_var( X );

    f2 -> set_var( X );

    int precision = 15;

    int digits = StrToFloat(ComboBox1->Text);

    Edit3->Text=FloatToStrF(x->rezult(),ffFixed,precision,digits);

    Edit4->Text=FloatToStrF(f->rezult(),ffFixed,precision,digits);

    Edits->Text=FloatToStrF(f1->rezult(),ffFixed,precision,digits):

    Edit6->Text=FloatToStrF(f2->rezult(),ffFixed,precision,digits);

    }

  2. Запрограмуйте функцію, яка виконуватиметься після зміни числа у полі ComboBox1.

Для цього запрограмуйте подію Change об'єкта ComboBox1 так, щоб при цьому виконувались дії для кнопки "Обчислити" (функція Button1Click):

void __fastcall TForm1::ComboBox1Change(TObject *Sender)

{

Button1Click(Button1);

}

  1. Збережіть програму та переконайтесь у її працездатності.

Вправи

  1. Обчисліть значення третьої похідної. Для цього введіть у форму додаткове поле для виведення третьої похідної та змініть програмний код функції Button1Click.

  2. Уведіть додаткову залежність положення ракети від ще одного параметра, - відстані до Землі. Для цього використайте ще одну змінну (наприклад, у) і змініть програмний код функції form().

  3. Забезпечте обчислення тригонометричних функцій sin(), cos() і знаходження їх похідних побудованим інтерпретатором математичних виразів. Для цього побудуйте відповідні похідні класи Sin та Cos і змініть реалізацію функції form().

  4. Одержіть аналітичний вигляд похідної математичного виразу довільного порядку. Для цього створіть функцію, обернену своєю дією до функції form(), яка би за деревоподібним графом виразу будувала сам вираз.

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