You are on page 1of 7

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»

ІКТА
кафедра ЗІ

ЗВІТ
до лабораторної роботи №2

з курсу: «Технології програмування, частина 2»


на тему: «УСПАДКУВАННЯ. ІЄРАРХІЯ КЛАСІВ. ПОБУДОВА
ІЄРАРХІЇ КЛАСІВ»

Варіант №11

Виконав:
ст. гр . КБ-12
Зборовський О. О.
.
Прийняв:
Дзяний Н. Я.

Львів 2023
ЗАВДАННЯ

1
Скласти блок-схеми алгоритмів та програми мовою С# для табулювання
функцій. Забезпечити ввід значень інтервалу, кроку і похибки табулювання з
клавіатури і вивід результатів на дисплей.
а)

б)

БЛОК-СХЕМА АЛГОРИТМУ (а)

2
СПИСОК ІДЕНТИФІКАТОРІВ КОНСТАНТ, ЗМІННИХ, ФУНКЦІЙ,
ВИКОРИСТАНИХ У БЛОК-СХЕМІ АЛГОРИТМУ І ПРОГРАМІ, ТА ЇХ
ПОЯСНЕННЯ (a)

a, b, h – змінні типу double, які є аргументами виразу;

y – змінна типу double, якій надається значення результату обчислення виразу;

lab2 – головний простір імен, в якому знаходяться робочі класи;

Program – головний робочий клас;

Main() – головний метод класу Program, точка входу програми;

Console.WriteLine() – метод виводу даних;

Console.ReadLine() – метод вводу даних;

Console.ReadKey() – метод зчитування одного символу;

double.Parse(arg) – метод, який повертає аргумент перетворений до типу double;

Math.Sin(х) – математична функція обчислення синуса від х;

Math.Pow(x,y) – математична функція обчислення x в степені y;

Math.Log(x,y) – математична функція логарифму;

for – покроковий цикл з умовою;

if else – умовний оператор.

ТЕКСТ ПРОГРАМИ (a)


class program
{
static void Main()
{
Console.WriteLine("a = 3 y = 6 h = 0,2");
double a, b, h, x, y;
Console.Write(" a = ");
a = double.Parse(Console.ReadLine());
Console.Write("b = ");
b = double.Parse(Console.ReadLine());
Console.Write("h = ");
h = double.Parse(Console.ReadLine());
for (x = a; x <= b; x += h)
{
if (x < 4)
{
y = Math.Log((x + Math.Sin(x)), 3);
}
else if (x >= 4 && x < 5)
{
y = Math.Log10(Math.Exp(x) + 4);
3
}
else
{
y = Math.Log(Math.Log10(x));
}
Console.WriteLine("x = " + x.ToString("F2") + " \t " + "y = " + y.ToString("F2"));
}
}
}

РЕЗУЛЬТАТ РОБОТИ ПРОГРАМИ (a)

БЛОК-СХЕМА АЛГОРИТМУ (б)

4
СПИСОК ІДЕНТИФІКАТОРІВ КОНСТАНТ, ЗМІННИХ, ФУНКЦІЙ,
ВИКОРИСТАНИХ У БЛОК-СХЕМІ АЛГОРИТМУ І ПРОГРАМІ, ТА ЇХ
ПОЯСНЕННЯ (б)

a, b, h – змінні типу double, які є аргументами виразу;

S – змінна типу double, якій надається значення результату обчислення виразу;

lab2b – головний простір імен, в якому знаходяться робочі класи;

Class1:
 Class1(x) - Конструктор для ініціалізації змінних х та у;
 Calculation(k) - Метод обчислення чергового значення виразу;
 SetX(new_x) - Метод встановлення чергового значення х;
 GetX() - Метод повернення поточного значення х;

Class2: (наслідує Class1)


 Class2(x) - Конструктор для початкової ініціалізації змінних суми та к;
 SetAerror(aerror) - Метод встановлення значення похибки;
 CalculationSum() - Метод обчислення суми (використовується виклик
методу обчислення чергового значення виразу з попереднього класу);
 GetSum() - Метод повернення суми;
 Nulling() - Метод обнулення суми, чергового значення виразу та
встановлення в початковий стан змінної к;
 ShowResult() - Метод виводу на екран результатів: х, у, суми;

Class3:
 InputData() - Метод вводу початкових даних (меж табуляції, похибки,
кроку);
 Tabulation() - Метод табуляції (виклик методів встановлення чергового
значення х та похибки, методу обчислення суми, методу повернення
суми, методу виводу результатів обчислення на екран);

Class4:
 Main() - Основний метод (виклик методів вводу та табуляції з Class3),
точка входу в программу;

Console.WriteLine() – метод виводу даних;

Console.ReadLine() – метод вводу даних;

Console.ReadKey() – метод зчитування одного символу;

double.Parse(arg) – метод, який повертає аргумент перетворений до типу double;

5
Math.Sin(х) – математична функція обчислення синуса від х;

Math.Pow(x,y) – математична функція обчислення x в степені y;

Math.Abs(x) – математична функція обчислення модуля числа.

for – покроковий цикл з умовою;

do() while() – цикл з передумовою.

if else if else – умовний оператор.

ТЕКСТ ПРОГРАМИ (б)


class program
{
static void Main()
{
Console.WriteLine("a = 0, b = 1, h = 0.1, d = 0.0001");
double a, b, h, x, y, d, s, k;
Console.Write("a = ");
a = double.Parse(Console.ReadLine());
Console.Write("b = ");
b = double.Parse(Console.ReadLine());
Console.Write("h = ");
h = double.Parse(Console.ReadLine());
Console.Write("d = ");
d = double.Parse(Console.ReadLine());
for (x = a; x < b + d; x += h)
{
k = 0; s = 0;
do
{
y = (Math.Pow(-1, k) * Math.Pow(x, (2 * k + 3)) / ((2 * k + 1) * (2 * k + 3)));
s += y; k++;
}
while (Math.Abs(y) > d);
Console.WriteLine("x = " + x.ToString("f2") + " \t " + "s = " + s.ToString("f2") + "\t" + "k = " + k.ToString("f2"));
}
}

РЕЗУЛЬТАТ РОБОТИ ПРОГРАМИ (б)

6
ВИСНОВОК
На цій лабораторній роботі я ознайомився з основними засобами введення,
відлагодження та компіляції програми системи програмування С#, вивчив базові
принципи об’єктно-орієнтованого програмування на прикладі алгоритмічної мови
C#. Написав програми для табулювання значення математичного виразу,
забезпечив ввід аргументів з клавіатури.

You might also like