Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
3
Добавлен:
30.05.2020
Размер:
148.99 Кб
Скачать

2.3.1. Приклад написання програми консольного застосування

Текст програми може мати вигляд

//---------------------------------------------------------------------------

#include <vcl.h>

#include <conio.h>

#include <stdio.h>

#include <math.h>

#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused

int main(int argc, char* argv[])

{

double x, y, z, u, ma;

int kod;

puts("Input x, y, z");

scanf("%lf%lf%lf",&x, &y, &z);

puts("Function U(x) :\n 0 - cos(x)\n 1 - sin(x)\n 2 - tan(x)");

scanf("%d", &kod);

switch(kod){

case 0: u=cos(x); printf("\n\tCos(x)= %8.6lf", u); break;

case 1: u=sin(x); printf("\n\Sin(x)= %8.6lf", u); break;

case 2: u=tan(x); printf("\n\Tg(x)= %8.6lf", u); break;

}

puts("\nMax ABS - 1, Else - Max");

scanf("%d", &kod);

if (kod == 1){

u = fabs(u);

y = fabs(y);

z = fabs(z);

}

if (u>y) ma=u;

else ma=y;

if (z>ma) ma=z;

if (kod==1) printf("Max ABS = %8.6lf", ma);

else printf("Max = %8.6lf", ma);

puts("\nPress any key ... ");

getch();

return 0;

}

Результати виконання програми :

Індивідуальні завдання

Обчислити значення y залежно від вибраної функції від (x), аргумент якої визначається з поставленої умови. Можливі значення функції від (x) : 2x, x2, х/3 (у віконному додатку вибір виконати за допомогою компоненти RadioGroup). Передбачити виведення повідомлень, що показують, за якої умови і з якою функцією проводилися обчислення у.

  1. , де

  2. , де

  3. , де

  4. , де

  5. , де

  6. , де

  7. , де

  8. , де

  9. , де

  10. , де

  11. , де

  12. , де

  13. , де

  14. , де

  15. , де

  16. , де

Структура звіту

/ Проверка состояния CheckBox1

if (CheckBox1 -> Checked){

if (x<0)

y=5*pow(x,3)-(8/pow(x,2))+(4*sqrt(x)+1/x);

Edit6 ->Text=("y= "+FloatToStrF(y, ffFixed, 8,2));

// Проверка состояния CheckBox2

if (CheckBox2 -> Checked){

if (x>=0)

y=pow(5*pow(x,4)-2*x-1,(1/3)+(8/pow((x-5),2)));

Edit6 ->Text=("y= "+FloatToStrF(y, ffFixed, 8,2));//x-это число,

//ffFixed - Это формат. Универсальное программирование фиксированая точка,

//3,5 - 2 цифры после 8 до.

}}

#include <vcl.h>

#pragma hdrstop

#include "Unit1.h"

#include "math.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)

{

int z;

double x, y, n, m, k, u;

Edit1 ->Clear();

Edit3 ->Clear();

Memo1 ->Clear();

Edit4 ->Clear();

Edit5 ->Clear();

x = StrToFloat(Edit1->Text);

k = StrToFloat(Edit3->Text);

m = StrToFloat(Edit4->Text);

z = StrToFloat(Edit5->Text);

Memo1 ->Lines ->Add("\tЛабораторна робота 2");

RadioGroup1 ->ItemIndex = 0;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

int z;

double x, y, n, m, k, u;

x=StrToFloat(Edit1 ->Text);

// Проверка нажатия кнопки и выбор соответствующей функции

switch(RadioGroup1 ->ItemIndex){

case 0: u=(2*x);

Memo1 ->Lines ->Add("2*x= "+FloatToStrF(u, ffFixed, 8,2));

Edit6 ->Text=("y= "+FloatToStrF(y, ffFixed, 8,2));

break;

case 1: u=pow(x,2);

Memo1 ->Lines ->Add("pow(x,2)= "+FloatToStrF(u, ffFixed, 8,2));

Edit6 ->Text=("y= "+FloatToStrF(y, ffFixed, 8,2));

break;

case 2: u=(x/3);

Memo1 ->Lines ->Add("x/3= "+FloatToStrF(u, ffFixed, 8,2));

Edit6 ->Text=("y= "+FloatToStrF(y, ffFixed, 8,2));

break;

}

// Вычисление y=

if(z>1) x = z;

else x = z*z+1;

y = sin(n*x)+cos(k*x)+log(m*x);

Edit6 ->Text=("y= "+FloatToStrF(y, ffFixed, 8,5));

Memo1 ->Lines ->Add("Y= "+FloatToStrF(y, ffFixed, 8,5));

}

//---------------------------------------------------------------------------

  1. Назва роботи.

  2. Тема роботи.

  3. Мета роботи.

  4. Перелік використних компонентів.

  5. Властивості використаних компонентів та події, що вони забезпечують. (Доцільно оформити у вигляді таблиці.)

  6. Скрін-шот працюючого додатку.

  7. Програмний код додатку.

  8. Відповіді на контрольні питання до роботи.

Контрольні питання

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Unit1.h"

#include "math.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)

//int ;

{ double x, y, k, m,z;

x = StrToFloat(Edit1->Text);

k = StrToFloat(Edit3->Text);

m = StrToFloat(Edit2->Text);

z = StrToFloat(Edit4->Text);

Memo1 ->Clear();

Memo1 ->Lines ->Add("\t\tЛабораторна робота 3");

RadioGroup1 ->ItemIndex = 0;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

int z;

double x, y, n, m, k, u;

x=StrToFloat(Edit1 ->Text);

// Перев³рка номера натиснуто¿ кнопки ³ виб³р в³дпов³дно¿ функц³¿

switch(RadioGroup1 ->ItemIndex){

case 0: u=(2*x);

Memo1 ->Lines ->Add("2*x= "+FloatToStrF(u, ffFixed, 8,2));

Edit5 ->Text=("y= "+FloatToStrF(y, ffFixed, 8,2));

break;

case 1: u=pow(x,2);

Memo1 ->Lines ->Add("pow(x,2)= "+FloatToStrF(u, ffFixed, 8,2));

Edit5 ->Text=("y= "+FloatToStrF(y, ffFixed, 8,2));

break;

case 2: u=(x/3);

Memo1 ->Lines ->Add("x/3= "+FloatToStrF(u, ffFixed, 8,2));

Edit5 ->Text=("y= "+FloatToStrF(y, ffFixed, 8,2));

break;

}

// Y

if(z>1) x = z;

else x = z*z+1;

y = sin(n*x)+cos(k*x)+log(m*x);

Edit5 ->Text=("y= "+FloatToStrF(y, ffFixed, 8,5));

Memo1 ->Lines ->Add("Y= "+FloatToStrF(y, ffFixed, 8,5));

}