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

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

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

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

Добавлен: 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));}