ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 11.09.2024
Просмотров: 6
Скачиваний: 0
Лабораторна робота № 3
Тема: Реалізація алгоритмів, що розгалужуються.
Мета: вивчити операції порівняння, логічні операції, оператори передачі управління if, switch, break, навчитися користуватися простими компонентами організації перемикань (СheckBox, RadioGroup). Написати і відлагодити програму з розгалуженнями.
Перелік використних компонентів.
СheckBox |
|
Властивість |
Значення |
Aligment |
Вирівнювання тесту всередині Memo. Якщо одно taLeftJustify, то зліва, taRightJustify - праворуч, taCenter - по центру. |
Caption |
Назва CheckBox |
Checked |
Визначає установку прапорця, true - встановлено, false - ні. |
RadioGroup |
|
Властивість |
Значення |
Items |
Список радіо-кнопок. Кожна нова задається з нового рядка. |
Caption |
Визначає назву радіо-групи |
ItemIndex |
Визначає індекс обраної радіо-кнопки. |
Властивості 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). Передбачити виведення повідомлень, що показують, за якої умови і з якою функцією проводилися обчислення у.
14 , де
Скріншоти
|
|
Код
#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;
Edit2 ->Text;
Edit3 ->Text;
Memo1 ->Lines ->Add("\tЛабораторная работа №3");
RadioGroup1 ->ItemIndex = 0;
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
double y,x,a,b,z,u;
x=StrToFloat(Edit1 ->Text);
a=StrToFloat(Edit2 ->Text);
b=StrToFloat(Edit3 ->Text);
z=StrToFloat(Edit6 ->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);
}
//---------------------------------------------------------------------------
// ?????????? y=
if (z>0)
{
x=sqrt(z);
y = b*cos(u*a)+sin(x/5)+a*pow(2.73,x);
}
else {
x=3*z+1;
y = b*cos(u*a)+sin(x/5)+a*pow(2.73,x);
}
Memo1 ->Lines ->Add("y= "+FloatToStrF(y, ffFixed, 8,3));
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). Написав і відлагодив програму з розгалуженнями.