Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Реализация разветвляющих алгоритмов

Автор:   •  Май 16, 2018  •  Лабораторная работа  •  1,377 Слов (6 Страниц)  •  528 Просмотры

Страница 1 из 6

Министерство образования Республики Беларусь

Учреждение Образования

«Белорусский государственный университет информатики и радиоэлектроники»

Кафедра вычислительных методов и программирования

Отчет по лабораторной работе № 2

По дисциплине «Основы алгоритмизации и программирования»

«Реализация разветвляющих алгоритмов»

Выполнил:                                                                                         Проверил: Жилач Н.С. 

студент 1-го курса

группы № 642791

Радевич А. Ю.

Вариант 16

Минск 2017

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

1 Анализ исходных данных

В соответствии с заданием необходимо: в качестве f(x) использовать по выбору: sh(x), x^2, e^x.; отредактировать вид формы и текст программы в соответствии с вариантом; предусмотреть вывод информации, показывающей, по какой ветке происходили вычисления.

Исходные данные представлены в формуле 1.1.

[pic 1]

(1.1)


2 Создание оконного приложения

Текст программы:

#include "math.h"

#include

#pragma hdrstop

#include "Unit1.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();

    Memo1->Lines->Add("Лаб. работа №2. Студент гр.642791 Радевич А.Ю.");

  }

  void __fastcall TForm1::Button1Click(TObject *Sender){

    double x,y,u;

    x=StrToFloat(Edit1->Text);

    y=StrToFloat(Edit2->Text);

    if((x*y)>0){

      switch(RadioGroup1->ItemIndex){

        case 0:

          u=(pow(((sinh(x))+y),2))-(sqrt(fabs((sinh(x))*y)));

          Memo1->Lines->Add("xy>0. a="+FloatToStrF(u,ffFixed,7,2));

        break;

        case 1:

          u=(pow(((pow(x,2))+y),2))-(sqrt(fabs((pow(x,2))*y)));

          Memo1->Lines->Add("xy>0. a="+FloatToStrF(u,ffFixed,7,2));

        break;

        case 2:

          u=(pow(((exp(x))+y),2))-(sqrt(fabs((exp(x))*y)));

          Memo1->Lines->Add("xy>0. a="+FloatToStrF(u,ffFixed,7,2));

        break;

        default:

        Memo1->Lines->Add("Выберите значение f(x)");

      }

    }

    if((x*y)<0){

      switch(RadioGroup1->ItemIndex){

        case 0:

          u=(pow(((sinh(x))+y),2))+(sqrt(fabs((sinh(x))+y)));

          Memo1->Lines->Add("xy<0. a="+FloatToStrF(u,ffFixed,7,2));

        break;

        case 1:

          u=(pow(((pow(x,2))+y),2))+(sqrt(fabs((pow(x,2))+y)));

          Memo1->Lines->Add("xy<0. a="+FloatToStrF(u,ffFixed,7,2));

        break;

        case 2:

          u=(pow(((exp(x))+y),2))+(sqrt(fabs((exp(x))+y)));

          Memo1->Lines->Add("xy<0. a="+FloatToStrF(u,ffFixed,7,2));

        break;

        default:

        Memo1->Lines->Add("Выберите значение f(x)");

      }

    }

    if((x*y)==0){

      switch(RadioGroup1->ItemIndex){

        case 0:

          u=(pow(((sinh(x))+y),2))+1;

          Memo1->Lines->Add("xy=0. a="+FloatToStrF(u,ffFixed,7,2));

        break;

        case 1:

          u=(pow(((pow(x,2))+y),2))+1;

          Memo1->Lines->Add("xy=0. a="+FloatToStrF(u,ffFixed,7,2));

        break;

        case 2:

          u=(pow(((exp(x))+y),2))+1;

...

Скачать:   txt (7.1 Kb)   pdf (164.8 Kb)   docx (27.4 Kb)  
Продолжить читать еще 5 страниц(ы) »
Доступно только на Essays.club