Добавил:
Допоможу чим зможу) Відсигнальте якщо знайшли шось корисне) Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
119
Добавлен:
28.03.2018
Размер:
129.41 Кб
Скачать

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

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

ІКТА

кафедра ЗІ

ЗВІТ

до лабораторної роботи № 6

з курсу: «Технології програмування Ч.2»

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

ІЄРАРХІЇ КЛАСІВ»

Варіант № 5

Виконав: ст. гр. КБ-12

Войтович О.О.

Прийняв: Партика А. І.

Львів - 2018

Мета роботи - вивчити інструкції мови C#. Навчитися складати та відлагоджувати розрахункові програми з розгалуженими та циклічними структурами.

1. Завдання

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

а) Табулювання функції що вибирається залежно від значення аргумента, на проміжку [a, b] з кроком табуляції h

2 а). Блок-схема алгоритму програми

3 а). Cписок ідентифікаторів констант, змінних, функцій, використаних у блок-схемі алгоритму і програмі,

та їх пояснення

y – задана функція;

x – аргумент функції;

а – початок заданого проміжку;

b – кінець заданого проміжку;

h – крок табулювання функції;

for - цикл з передумовою;

log10(x) – обчислення натурального логарифма з основою 10;

pow(x,y) – обчислення х в степені у;

соs (x) – обчислення косинуса;

sin(x) – обчислення синуса.

4 а). Текст програми

using System;

namespace _2a

{

class Program

{

static void Main(string[] args)

{

double a, b, h, x, y; // описуємо змінні

a = Convert.ToDouble(Console.ReadLine());

b = Convert.ToDouble(Console.ReadLine());

h = Convert.ToDouble(Console.ReadLine());

for (x = a; x < b + h; x += h) // запускаємо цикл від a до b з кроком h

{ if (x < 0.2) y = (Math.Log10(3 * x + 1) / Math.Log10(5));

else if (x >= 0.2 && x < 0.4) y = Math.Pow(x, (Math.Cos(x)));

else y = ((1 / Math.Sin(x)) * Math.Log10(x));

// виконуємо перевірку на умову і виконуємо певну функцію

Console.WriteLine(x+"\t"+y);

}

Console.Read();

}

}

}

5 а). Результати роботи програми

a = 0.1; b = 0.7; h = 0.05;

б) табулювання функції, представленої рядом, на інтервалі [a, b] з кроком табуляції h та абсолютною похибкою d. Оцінку похибки здійснювати за значенням модуля чергового члена ряду.

2 б). Блок-схема алгоритму програми

3 б). Cписок ідентифікаторів констант, змінних, функцій, використаних у блок-схемі алгоритму і програмі,

та їх пояснення

y – задана функція;

x – аргумент функції;

а – початок заданого проміжку;

b – кінець заданого проміжку;

h – крок табулювання функції;

d - абсолютнa похибкa;

s, k – змінні;

for - цикл з передумовою;

do while – цикл з післяумовою;

pow(x,y) – обчислення х в степені у;

fabs (x) – обчислення модуля числа з плаваючою комою;

sin(x) – обчислення синуса.

4 б). Текст програми

using System;

namespace _2b

{

class Program

{

static void Main(string[] args)

{

double a, b, h, x, y, d, s; long k; // описуємо змінні

a = Convert.ToDouble(Console.ReadLine());

b = Convert.ToDouble(Console.ReadLine());

h = Convert.ToDouble(Console.ReadLine());

d = Convert.ToDouble(Console.ReadLine());

for (x = a; x < b + 0.001; x = x + h)

// запускаємо цикл від a до b з кроком h

{

k = 0; s = 0; // присвоюємо значення змінним

do // запускаємо цикл з післяумовою

{

y = (1 / Math.Pow(2, k)) * Math.Sin(x / Math.Pow(2, k));

// обраховуємо функцію

s = s + y; k = k + 1; // змінюємо значення змінних

}

while (Math.Abs(y) > d); // перевіряємо умову

Console.WriteLine(x+"\t"+s); // виводимо результат

} Console.Read(); } }

}

5 б). Результати роботи програми

a = 1.1; b = 2; h = 0.1; d = 0.001