Лістинг 1.1. Код бібліотечного методу

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace MyLib

{

///Обчислення математичних фунцій

public class MySin

{

/// <summary>

/// Sin(x)

/// </summary>

/// <param name="x">кут в радіанах – перший аргумент функції Sin</param>

///<param name="n">показник ступеня – другий аргумент функції Sin</param>

/// <returns>Повертає значення функції Sin для заданого кута</returns>

public static double Sin(double x, int n)

{

double result = 0;

for (int i = 0; i < n; i++)

{

result = result + (Math.Pow((-1), i) * Math.Pow(x, (2 * i + 1))) / F(2 * i + 1);

}

return result;

}

static double F(int n)

{

double tmp = 1;

for (int i = 1; i <= n; i++)

{

tmp = tmp * i;

}

return tmp;

}

}

}

Побудуйте Рішення, що містить проект, для чого в Головному меню виберіть пункт Build|Build Solution. В результаті успішної компіляції буде побудований файл з розширенням dll. Оскільки побудована збірка не містить виконуваного файлу, то безпосередньо запустити наш проект на виконання не удасться. Побудуємо консольний проект, до якого приєднаємо нашу DLL, і протестуємо, наскільки коректно працюють створені нами методи.

Створення консольного проекту для тестування функції з бібліотеки

Виберіть пункт меню File|New|Project, задайте тип проекту ConsoleApplication, назвіть йому – ConsoleMySin, вкажіть, що проект додається до існуючого Рішення Lab1. В результаті у вже існуюче Рішення додасться ще один проект.

Напишіть код, який викликає реалізовану функцію Sin(x,n), стандартну функцію Sin(x), обчислює похибку і виводить результат на консоль.

Лістинг 1.2. Консольний застосунок, який викликає бібліотечний метод

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleMySin

{

class Program

{

/// <summary>

/// Виклик бібліотечного методу Sin(x,n) з MySin.dll

/// </summary>

/// <param name="args"></param>

static void Main(string[] args)

{

Console.WriteLine("Введите x- угол в радианах");

double x = double.Parse(Console.ReadLine());

Console.WriteLine("Введите показатель степени n");

int n = int.Parse(Console.ReadLine());

//вызов метода вычисления sin(x) из библиотеки

double my_sinus = MyLib.MySin.Sin(x, n);

//вызов метода из класса Math

double sinus = Math.Sin(x);

double delta = sinus - my_sinus;

Console.WriteLine("my_sinus= {0},sin={1},delta={2}", my_sinus, sinus, delta);

Console.ReadKey();

}

}

}

Побудуємо рішення і отримаємо повідомлення про помилку. Наша бібліотека не підключена до проекту.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: