ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 16.09.2024
Просмотров: 7
Скачиваний: 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));}