МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
ІКТА
кафедра ЗІ
З В І Т
до лабораторної роботи №2
з курсу: «Алгоритмічні мови та програмування»
на тему: «Програми з розгалуженими та циклічними алгоритмами»
Варіант №6
ЗАВДАННЯ
Скласти блок-схему алгоритму та програму мовою C# для табулювання функції, представленої сумою ряду . Табулювання здійснювати на інтервалі [1, 1.5] з кроком табуляції 0.05 та абсолютною похибкою 0.00001. Оцінку похибки здійснювати за значенням чергового члена ряду.
Забезпечити ввід значень аргументів з клавіатури і вивід результату розрахунку на дисплей.
БЛОК-СХЕМА АЛГОРИТМУ
Блок-схема методу Main ()
1
2
3
Блок-схема методу Input()
1
2
3
4
3
5
6
7
8
Блок-схема методу Count()
1
x=a,b ; x=x+h
2
3
4
5
9 6
7
10
8
СПИСОК ІДЕНТИФІКАТОРІВ КОНСТАНТ, ЗМІННИХ, ФУНКЦІЙ, ВИКОРИСТАНИХ У БЛОК-СХЕМІ АЛГОРИТМУ І ПРОГРАМІ, ТА ЇХ ПОЯСНЕННЯ
x, a, b, h, dE, d – змінні дійсного типу;
n – змінна цілого типу;
y – змінна дійсного типу, якій надається значення результату обчислення виразу;
Main() – головний метод;
Input() – метод, в якому вводяться дані;
Count() – метод, в якому обчислюється вираз і виводиться його значення на екран;
Console.WriteLine () – метод виводу даних, який належить класу Console;
Console.ReadLine() – метод вводу даних який належить класу Console;
Convert.ToDouble() – метод перетворення типу змінної в тип double;
Math.Pow(x,y) – математичний метод обчислення xy;
new – оператор, який створює об’єкт;
class Values – базовий клас Values, який містить метод Input();
class Obch() – похідний клас Obch від класу Values, який містить метод Count();
class the_Engine – клас the_Engine, який містить метод Main().
ТЕКСТ ПРОГРАМИ
using System;
class Values
{
double a, b, h, d;
public void Input()
{
string val;
Console.WriteLine("Vvedit' nyzhnju mezhu intervaly");
val = Console.ReadLine();
a = Convert.ToDouble(val);
Console.WriteLine("Vvedit' verhnju mezhu intervaly");
val = Console.ReadLine();
b = Convert.ToDouble(val);
Console.WriteLine("Vvedit' krok");
val = Console.ReadLine();
h = Convert.ToDouble(val);
Console.WriteLine("Vvedit' pohybku");
val = Console.ReadLine();
d = Convert.ToDouble(val);
}
class Obch : Values
{
public void Count()
{
int n;
double y, x, dE;
for (x = a; x < b + h / 2; x += h)
{
n = 1;
y = 0;
dE = Math.Pow((x - 1), n) / (n * Math.Pow(x, n));
while (dE > d)
{
y += dE;
n++;
dE = Math.Pow((x - 1), n) / (n * Math.Pow(x, n));
}
Console.WriteLine("Ostannij chlen dorivnue:"+dE);
Console.WriteLine("Rezyltat x={0,5} y={1,7}\n", x, y);
}
}
}
class the_Engine
{
public static void Main()
{
Obch Go = new Obch();
Go.Input();
Go.Count();
}
}
}
РЕЗУЛЬТАТ РОБОТИ ПРОГРАМИ
Vvedit’ nyzhnju mezhu intervalu
1
Vvedit’ verhnju mezhu intervalu
1,5
Vvedit’ krok
0,05
Vvedit’ pohybku
0,00001
Ostannij chlen dorivnue:0
Rezyltat x=0 y=0
Ostannij chlen dorivnue:1,28547261686232E-06
Rezyltat x=1,05 y=0,0487888277003924
Ostannij chlen dorivnue:1,24184264611832E-06
Rezyltat x=1,1 y=0,095308835917401
Ostannij chlen dorivnue:7,55087166734282E-06
Rezyltat x=1,15 y=0,139753467147416
Ostannij chlen dorivnue:3,57224508459078E-06
Rezyltat x=1,2 y=0,182317386831276
Ostannij chlen dorivnue:1,82857142857144E-06
Rezyltat x=1,25 y=0,223141333333334
Ostannij chlen dorivnue:4,97905904977121E-06
Rezyltat x=1,3 y=0,262358019552877
Ostannij chlen dorivnue:2,55143330254512E-06
Rezyltat x=1,35 y=0,300101273391963
Ostannij chlen dorivnue:5,5509288178378 E-06
Rezyltat x=1,4 y=0,33646785746001
Ostannij chlen dorivnue:2,96727702827307E-06
Rezyltat x=1,45 y=0,371559433223466
Ostannij chlen dorivnue:5,64502926947679E-06
Rezyltat x=1,5 y=0,405457029633985
ВИСНОВКИ
Під час лабораторної роботи я ознайомився з таким принципом
об’єктно-орієнтованого програмування, як успадкування і використав його в програмі, яка табулює функцію, представлену сумою ряду .