Міністерство освіти і науки України
Національний університет «Львівська Політехніка»
Інститут комп’ютерних технологій автоматики та метрології
Кафедра захисту інформації
Звіт
Про виконання лабораторної роботи № 2
«Програми з розгалуженими та циклічними алгоритмами»
з дисципліни
« Алгоритмічні мови та програмування»
(Варіант 11)
обчислити значення виразу:
, [ 0,1] , h=0,1 , d=0,0001
Завдання:
Скласти блок-схеми алгоритмів та програми мовою Сі# для табулювання функції. Забезпечити ввід даних інтервалу, кроку і похибки табулювання з клавіатури і вивід результатів на дисплей. Дані для роботи беруться з таблиць за вказівкою викладача:
Табулювання функції, представленої рядом, на інтервалі [a,b] з кроком h та абсолютною похибкою d. Оцінку похибки здійснювати за значенням модуля чергового члена ряду.
Блок-схема до методу Main класу Program:
Початок
1
Lab.vvedennja() 2
Lab.obchuslennja() 3
Блок-схема до методу vvedennja() класу Laoratorna:
Блок-схема до методу cycle() класу Laboratorna;
Блок-схема до методу obchuslenna() класу Laboratorna;
Блок-схема до методу vuvedennja() класу Laboratorna;
Список ідентифікаторів, змінних, методів, використаних у блок-схемі алгоритму і програмі та їх пояснення:
vvedennja() – метод класу Laboratorna для введення значень змінних.
vuvedennja() – метод класу Laboratorna для виведення кінцевого результату роботи програми на екран.
оbchuslennja() – метод класу Laboratorna для обчислення значення виразу.
Console– клас, в якому містяться методи вводу і виводу (WriteLine; Write; ReadLine)
static void Main()–головний метод, який керує роботою програми, (з нього починається робота програми).
Pow(x,y)-метод класу Maht для піднесення змінної x до степеня y
Таблиця ідентифікаторів, змінних, використаних у блок-схемі алгоритму і програмі та їх пояснення.
№
Позначення
Тип
Призначення, опис
1.
a
double
(плаваючий довгий)
Початок інтервалу, вхідна
2.
b
double
(плаваючий довгий)
Кінець інтервалу, вхідна
3.
h
double
(плаваючий довгий)
Крок,вхідна
4.
d
double
(плаваючий довгий)
Похибка,вхідна.
5.
s
string
Змінна рядкового типу,вхідна.
6.
i
double
(плаваючий довгий)
Змінна для заміни виразу,вихідна
7.
x
double
(плаваючий довгий)
Аргумент функції, вихідна
8.
syma
double
(плаваючий довгий)
Сума обчисленнь,вихідна
Остаточна версія програми:
using System;
using System.Collections.Generic;
using System.Text;
namespace laba2
{
class Laboratorna
{
public double a, b, h, d, x, k, i,syma;
public void vvedennja()
{
Console.Write("vvedit a=");
string s = Console.ReadLine();
a = Convert.ToDouble(s);
Console.Write("vvedit b=");
string q = Console.ReadLine();
b = Convert.ToDouble(q);
Console.Write("vvedit h=");
string w = Console.ReadLine();
h = Convert.ToDouble(w);
Console.Write("vvedit d=");
string e = Console.ReadLine();
d = Convert.ToDouble(e);
}
public void obchuslennja()
{
syma = 0;
k = 0;
i = (Math.Pow((-1), k )* Math.Pow(x, 2 * k + 3)) / ((2 * k + 1) * (2 * k + 3));
for (k = 1; Math.Abs(i) > d; k++)
{
i = (Math.Pow((-1), k )* Math.Pow(x, 2 * k + 3)) / ((2 * k + 1) * (2 * k + 3));
syma =syma+ i;
}
vuvedennja();
}
public void vuvedennja()
{
Console.Write("dlja x=" + x);
Console.Write("\t");
Console.Write("i=" + i);
Console.Write("\t");
Console.WriteLine("syma=" + syma);
}
public void cycle()
{
for (x = a; x <= b; x += h)
{
obchuslennja();
}
}
}
class Program
{
static void Main()
{
Laboratorna got = new Laboratorna();
got.vvedennja();
got.cycle();
}
}
}
Результат програми: