Файл: Лабораторна робота.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 12.09.2024

Просмотров: 6

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Лабораторна робота № 3

Тема: Реалізація алгоритмів, що розгалужуються.

Мета: вивчити операції порівняння, логічні операції, оператори передачі управління if, switch, break, навчитися користуватися простими компонентами організації перемикань (СheckBox, RadioGroup). Написати і відлагодити програму з розгалуженнями.

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

RadioGroup

RadioGroup

Властивість

Значення

Items

Список радіо-кнопок. Кожна нова задається з нового рядка.

Caption

Визначає назву радіо-групи

ItemIndex

Визначає індекс обраної радіо-кнопки.

 

СheckBox

Властивість

Значення

Aligment

 Вирівнювання тесту всередині Memo. Якщо одно taLeftJustify, то зліва, taRightJustify - праворуч, taCenter - по центру.

Caption

Назва CheckBox

Checked

Визначає установку прапорця, true - встановлено, false - ні.

Властивості Align, Constraints, Cursor, Enabled, Font, Height, Hint, ShowHint, Left, ParentColor, ParentFont, ParentShowHint, Name, PopupMenu, Top, Transparent, Visible, Width і деякі інші є загальними для багатьох компонентов.тся загальними для багатьох компонентів .


Завдання

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

13.1 , де

Скріншоти працюючого об’єктного додатку

Програмний код

#include <vcl.h>

#include <vcl.h>

#include <stdio.h>

#include <conio.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)

{

Memo1 ->Clear();

Memo2 ->Clear();

Edit1 ->Text;

Edit2 ->Text;

Edit3 ->Text;

Edit4 ->Text;

Edit7 ->Text;

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

RadioGroup1 ->ItemIndex = 0;

}

void __fastcall TForm1::Button1Click(TObject *Sender)

{

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

x=StrToFloat(Edit1 ->Text);

n=StrToFloat(Edit2 ->Text);

m=StrToFloat(Edit3 ->Text);

k=StrToFloat(Edit4 ->Text);

z=StrToFloat(Edit5 ->Text);

// Проверка нажатия кнопки и выбора соответственного действия по условию

switch (RadioGroup1 ->ItemIndex)

{

case 0: u=(2*x);

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

break;

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

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

break;

case 2: u=(x/3);

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


break;

default: printf("EROR!"); exit(1);

}

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

// Подсчёт у, по условию задачи

Memo2 ->Lines ->Add("\tВнимание!");

if (z>1) {x=z;

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

Memo2 ->Lines ->Add("Вы выбрали z>1 из этого следует, что по условию задачи x=z");

}

else {x=pow(z,2)+1;

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

Memo2 ->Lines ->Add("Вы выбрали z<=1 из этого из этого следует, что по условию задачи x=z^2+1");}

Memo1 ->Lines ->Add("y=sin("+FloatToStrF(u, ffFixed, 8,2)+

"*"+FloatToStrF(n, ffFixed, 2,2)+")+" + "cos("+FloatToStrF(x, ffFixed, 8,2)+

"*"+FloatToStrF(k, ffFixed, 8,2)+")+" + "ln("+FloatToStrF(x, ffFixed, 8,2)+

"*"+FloatToStrF(m, ffFixed, 8,2)+"="+FloatToStrF(y, ffFixed, 8,3));

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

Edit7 ->Text=(FloatToStrF(y, ffFixed, 8,6));

}

13.2

Скріншоти працюючого об’єктного додатку

Програмний код

#include <vcl.h>

#include <vcl.h>

#include <stdio.h>

#include <conio.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)

{

Memo1 ->Clear();

Edit1 ->Text;

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

}

void __fastcall TForm1::Button1Click(TObject *Sender)

{

double y,x;

x=StrToFloat(Edit1 ->Text);

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

// Подсч¸т y, по условию задачи)

if (CheckBox1 ->Checked)

{x=-x; }

if(x==5 || x==0)

goto b;

else

if (x<0)

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

if (x>0)

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

Memo1 ->Lines ->Add("Ïðè õ= "+FloatToStrF(x, ffFixed, 8,2));

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

goto a;

b: ShowMessage("Введите другое число") ;

a: Edit1 ->SetFocus();}

Висновок: на лабораторній роботі я вивчив операції порівняння, логічні операції, оператори передачі управління if, switch, break, навчився користуватися простими компонентами організації перемикань (СheckBox, RadioGroup). Написав і відлагодив програму з розгалуженнями.