Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лаба инфа4

.docx
Скачиваний:
1
Добавлен:
04.03.2022
Размер:
146.64 Кб
Скачать

Лабораторная работа №4

Запись арифметического выражения в программе Microsoft Visual Studio на языке программирования C++ на основе использования пользовательских функций

Оглавление

1 Задание 3

2 Ход выполнения лабораторной работы 3

2.1 Формализация и уточнение задания 3

2.2 Разработка блок-схемы 3

2.3 Код программы 5

2.4 Тестирование программы 7

Список использованных источников 8

1 Задание

Разработать проект в среде программирования Microsoft Visual Studio, в которой осуществляется расчет арифметического выражения

при x = 5,305 и y = -0,084.

Для выполнения лабораторной работы следует разработать:

  1. Функцию ввода double Vvod(TextBox^t)

  2. Функцию double Vuch(double x, double y) для расчета арифметического выражения

  3. Функцию вывода void Vivod(double z, TextBox^t)

  4. Событийную функцию, в которой осуществляются вызовы функции ввода double Vvod(TextBox^t), пользовательской функции double Vuch(double x, double y) и функции вывода void Vivod(double z, TextBox^t)

2 Ход выполнения лабораторной работы

2.1 Формализация и уточнение задания

Функция ввода: double Vvod(TextBox^t).

Функция вывода: void Vivod(double z, TextBox^t).

Пользовательская функция для расчета арифметического выражения: double Vuch(double x, double y).

Переводим формулу (1) на язык программирования C++:

b= (log10(x) – pow(sin(x * y), 2))/(0, 8 * log(pow(1 - x, 2)));

2.2 Разработка блок-схемы

Построим общую блок-схему в приложении Microsoft Visio (рисунок 1).

Рисунок 1 – Блок-схема общей работы программы

Также разработаем блок-схему работы функции ввода (рисунок 2).

Рисунок 2 – Блок-схема функции ввода

Разработаем блок-схему работы пользовательской функции (рисунок 3).

Рисунок 3 – Блок-схема пользовательской функции

Разработаем блок-схему работы функции вывода (рисунок 4).

Рисунок 4 – Блок-схема функции вывода

Разработаем блок-схему событийной функции (рисунок 5).

Рисунок 5 – Блок-схема событийной функции

2.3 Код программы

Laboratornsrabots.cpp

#include "stdafx.h"

#include "Form1.h"

using namespace Laboratornsrabots;

[STAThreadAttribute]

int main(array<System::String ^> ^args)

{

// Включение визуальных эффектов Windows XP до создания каких-либо элементов управления

Application::EnableVisualStyles();

Application::SetCompatibleTextRenderingDefault(false);

// Создание главного окна и его запуск

Application::Run(gcnew Form1());

return 0;

}

Form1.h

#pragma once

#include "form2.h"

#include "form3.h"

namespace Laboratornsrabots {

using namespace System;

using namespace System::ComponentModel;

using namespace System::Collections;

using namespace System::Windows::Forms;

using namespace System::Data;

using namespace System::Drawing;

<…>

#pragma endregion

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {

form2^ f=gcnew form2();

f->Owner=this;

f->Show();

//f->ShowDialog();

this->Hide();

}

private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) {

form3^ f=gcnew form3();

f->Owner=this;

f->Show();

//f->ShowDialog();

this->Hide();

}

};

}

Form2.h

#pragma once

#define _USE_MATH_DEFINES

#include <math.h>

namespace Laboratornsrabots {

using namespace System;

using namespace System::ComponentModel;

using namespace System::Collections;

using namespace System::Windows::Forms;

using namespace System::Data;

using namespace System::Drawing;

<…>

#pragma endregion

double Vuch(double x, double y)

{

double b=(log10(x)-pow(sin(x*y),2))/(0,8*log(pow(1-x,2)));

return b;

}

double Vvod(TextBox^t)

{

return Convert::ToDouble(t->Text);

}

void Vivod(double z, TextBox^t)

{

t->Text=Convert::ToString(z);

}

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {

double x1=Vvod(textBox1);

double y1=Vvod(textBox2);

double b1=Vuch(x1,y1);

Vivod(b1,textBox3);

}

private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) {

Owner->Show();

this->Close();

}

};

}

2.4 Тестирование программы

При исходных данных x = 5,305 и y = -0,084 значение выражения совпадает с результатом в Microsoft Excel. На рисунке 1 представлен результат вычислений в Microsoft Visual Studio

Рисунок 1 – Результат вычисления в Visual Studio

На рисунке 2 показан результат вычисления арифметического выражения в программе Microsoft Exel.

Рисунок 2 – Результаты вычисления в Microsoft Exel

Список использованных источников

  1. ГОСТ 7.1-2001 СИБИД. Библиографическая запись. Библиографическое описание. Общие требования и правила составления [электронный ресурс] URL: https://internet-law.ru/gosts/gost/1560 (дата обращения 03.11.2019)

  2. ГОСТ 7.32-2001 СИБИД. Отчет о научно-исследовательской работе. Структура и правила оформления (с Изменением N 1) [электронный ресурс] URL: http://docs.cntd.ru/document/gost-7-32-2001-sibid (дата обращения 03.11.2019)

Соседние файлы в предмете Информатика