Программирование алгоритмов итеративных циклических структур

Лабораторная работа по предмету «Программирование»
Информация о работе
  • Тема: Программирование алгоритмов итеративных циклических структур
  • Количество скачиваний: 7
  • Тип: Лабораторная работа
  • Предмет: Программирование
  • Количество страниц: 9
  • Язык работы: Русский язык
  • Дата загрузки: 2021-07-07 22:02:50
  • Размер файла: 113.86 кб
Помогла работа? Поделись ссылкой
Информация о документе

Документ предоставляется как есть, мы не несем ответственности, за правильность представленной в нём информации. Используя информацию для подготовки своей работы необходимо помнить, что текст работы может быть устаревшим, работа может не пройти проверку на заимствования.

Если Вы являетесь автором текста представленного на данной странице и не хотите чтобы он был размешён на нашем сайте напишите об этом перейдя по ссылке: «Правообладателям»

Можно ли скачать документ с работой

Да, скачать документ можно бесплатно, без регистрации перейдя по ссылке:














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

Программирование алгоритмов итеративных циклических структур

в Microsoft Visual Studio (C++)
















Оглавление

1        Задание на лабораторную работу        3

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

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

2.2    Разработка алгоритма решения задачи        4

2.3    Разработка программы        5

Список используемых источников        9

















  1. Задание на лабораторную работу


Разработать программу в Microsoft Visual Studio (C++) для решения следующего уравнения, с точностью не менее 0,00001:


                       (1)

Сравнить результат со значением, полученным с помощью соответствующей встроенной функции.

Для этого необходимо:

  1. Разработать итеративную функцию void Expo(double x, double e, double& sum, DataGridView^ t);
  2. Разработать функции ввода/вывода (Vvod(), Vivod() и VivodDGV());
  3. Вывести результаты и сравнить со встроенной функцией exp().



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


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


Рекуррентная формула для формулы (1) следующим образом (формула (2)):

                                                 (2)

Для нахождения заданного члена последовательность используем формулу (3), где n – номер члена последовательности.

                                       (3)



2.2 Разработка алгоритма решения задачи


Ниже представлены алгоритмы решения данной задачи, созданные с помощью средств Microsoft Visio (Рисунки 1 и 2):

Рисунок 1 – Алгоритм функции Expo() в Microsoft Visio


Рисунок 2 – Алгоритм событийной функции в Microsoft Visio


2.3 Разработка программы


Получившаяся программа в Microsoft Visual Studio (С++) представлена ниже:

Sourse.cpp

#include "Header.h"

#include <cmath>

using namespace System;

using namespace System::Windows::Forms;


void Expo(double x, double e, double& sum, DataGridView^ t)

{

       double a, b;

       double c = 1;

       int n = 1;

       double z;

       sum = 1;


       if (x == 0){

               sum = 1;

               VivodDGV(n, c, sum, abs(b - a), t);

       }

       else {

               do {

                       a = c * (x / n);

                       b = a * (x / (n + 1));

                       sum = sum + a;

                       c = a;

                       VivodDGV(n, c, sum, abs(b - a), t);

                       n = n + 1;


                       if ((abs(b - a)) == 0) {

                               if (n > pow(10, 6)) {

                                       z = e;

                               }

                               else {

                                       z = 10000;

                               }

                       }

                       else {

                               z = abs(b - a);

                       }

               } while (z > e);

       }

 Header.h

#pragma once

using namespace System::Windows::Forms;


double Vvod(TextBox^ t);

void Vivod(double x, TextBox^ t);

void VivodDGV(int n, double x, double y, double z, DataGridView^ DGV);

void Expo(double x, double e, double& sum, DataGridView^ t);

MyForm3.h

#pragma once

#include "Header.h"

namespace Laba {

               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) {

               Form^ g = this->Owner;

               this->Hide();

               g->Show();

               g->Visible = true;

       }

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

       Application::Exit();

}

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

       double x1 = Vvod(textBox1);

       double e1 = Vvod(textBox2);

       double sum1;

       double sum2 = exp(x1);

       Expo(x1, e1, sum1, dataGridView1);

       Vivod(sum1, textBox3);

Vivod(sum2, textBox4);}

3.4 Результаты выполнения программы


Получившийся результат представлен на рисунке 3:


Рисунок 3 – Результат выполнения программы при х = 1

 

Получился результат 2,71828152557319

Результат полученный встроенной функцией 2,71828182845905

Ответы совпадают с точностью 0,00001


Вывод


Мы разработали программу и сравнили результат с встроенной функцией, ответы совпадают с заданной точностью.


Список используемых источников


  1. ГОСТ 7.32 – 2001. Издания. Отчет о научно-исследовательской работе. Структура и правила оформления. [Текст] - Введен ГОСТ 7.32-91; введ. 2006. – Минск: Межгос. Совет по стандартизации, метрологии и сертификации; М. : Изд-во стандартов, сор. 2001. – 3 с. – (система стандартов по информации библиотечному и издательскому делу).
  2. ГОСТ 19.701-90. Издания. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения. — ГОСТ 19.002-80 ГОСТ 19.003-80; 04.03.2010. — Москва: Изд-во стандартов, 2010. — 22с. – (единая система программной документации)