Отчёт.2.4
.docxБийский технологический институт (филиал)
федерального государственного бюджетного образовательного
учреждения высшего образования
«Алтайский государственный технический университет им. И. И. Ползунова»
Технологический факультет
Кафедра методов и средств измерения и автоматизации
Отчет
по лабораторной работе № 2
Программирование разветвляющихся алгоритмов
(название лабораторной (практической) работы)
по дисциплине Языки программирования
(наименование дисциплины)
Вариант № 4
Выполнил
студент гр. ИСТ-
подпись и.о. фамилия
Проверил
профессор каф. МСИА А. И. Сидоренко
подпись и.о. фамилия
г. Бийск, 2017
Цель: научиться пользоваться простейшими компонентами организации переключений (TСheckBox, TRadioGroup). Написать и отладить программу разветвляющегося алгоритма.
Постановка индивидуальной задачи: Написать и отладить программу разветвляющегося алгоритма вида
Описание разработанной программы:
Программа выполняет разветвляющий алгоритм, состоящий из трех условий. При истинности каждого из условий выполняется заранее предопределенный линейный алгоритм с переменными x, y и f. При этом в алгоритм вместо переменной f подставляется результат одной из функций , выбранной в окне программы.
Разработанная программа:
-
Интерфейс программы (Рис. 1)
Рисунок 1 – Интерфейс программы
-
Код программы
#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)
{
Memo1->Clear();
Edit1->Clear();
Edit2->Clear();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
double x, y, f, result;
x = StrToFloat(Edit1->Text);
y = StrToFloat(Edit2->Text);
switch (RadioGroup1->ItemIndex) {
case 0: f = sinh(x); break;
case 1: f = pow(x, 2); break;
case 2: f = exp(x); break;
}
if (x > y) result = pow(f - y, 3) + atan(f);
else if (x < y) result = pow(y - f, 3) + atan(f);
else result = pow(y + f, 3) + 0.5;
Memo1->Lines->Add("Результат " + FloatToStrF(result, ffFixed, 8, 4));
}
Вывод:
В ходе лабораторной работы были получены навыки пользования простейшими компонентами организации переключений (TСheckBox, TRadioGroup). Также была написана и отлажена программа разветвляющегося алгоритма.