asyan.org
добавить свой файл
1
Створення консольних програм
Консольна програма не має інтерфейсу користувача. Такі програми використовуються для розробки системних програм, автоматизованих модульних тестів та інших програм без інтерфейсу користувача.

Наступний приклад демонструє технологію створення і використання консольної програми на мові C#.

ОПИС

Технологія створення консольної програми на мові C#.

1. Запустіть Visual Studio

2. В головному меню виберіть пункт File|New|Project, задайте шаблон проекту ConsoleApplication і назву, наприклад, ConsoleApp1.

3. Напишіть код програми, який реалізує алгоритм обчислень.

Приклад 1. Програма шукає корені алгебраїчного рівняння

6x4-3x3+8x2-5=0

на відрізках [0,1] та [-1,0] методом дихотомії (бісекції) і Ньютона

Результати виводяться на консоль.
Лістинг 1. Код програми

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;
namespace bicection

{

class Program

{

//6x4-3x3+8x2-5=0

//x1=0.74213

//x2=-0.6365

static double f(double x)

{

//рівняння, для якого шукаємо корені

double y=6 * Math.Pow(x, 4) - 3 * Math.Pow(x, 3) + 8 * Math.Pow(x, 2)-5;

return y;

}

// -------------------------------------------------------------------

static double df(double x)

{

//перша похідна рівняння

double y = 24 * Math.Pow(x, 3) - 9 * Math.Pow(x, 2) + 16 * x;

return y;

}

// --------------------------------------------------------------------

static double bicect(double left, double right)

{

//метод бісекцій

double eps=0.00001;

double center=0;

while (right - left > eps * 2)

{

center = (right - left) / 2 + left;

if (f(center)* f(left)> 0)

left = center;

else

right = center;

}

return center;

}

// ----------------------------------------------------

static double newton(double x0)

{

//метод Ньютона

double root = x0 - f(x0)/ df(x0);

double old_root = x0;

double t = 0;

double eps = 0.00001;
while (Math.Abs(old_root - root) > 2 * eps)

{

t = old_root;

old_root = root;

root = t - f(t) / df(t);

}

return root;

}

// ----------------------------------------------------

static void Main(string[] args)

{

//метод бісекцій

double x1 = bicect(0, 1);

double x2 = bicect(-1, 0);

Console.WriteLine("Метод бісекцій");

Console.WriteLine("x1={0},x2= {1}", x1, x2);

// метод Ньютона

Console.WriteLine("Метод Ньютона");

double r1 = newton(0.7);

double r2 = newton(-0.6);

Console.WriteLine("r1={0},r2= {1}", r1, r2);

Console.ReadKey();

}

}

}