Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Практическая работа по "Программированию"

Автор:   •  Июль 1, 2022  •  Практическая работа  •  4,653 Слов (19 Страниц)  •  219 Просмотры

Страница 1 из 19

ЗМІСТ

Завдання 1. Знаходження суми функціональних рядів4

Завдання 2. Операції з масивами7

Завдання 3. Табулювання функції10

Завдання 4. Операції з файлами14

Завдання 5. Сортування масивів15

ВИСНОВКИ23

СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ24


Завдання 1. Знаходження суми функціональних рядів

Умова завдання

[pic 1]

Опис алгоритму рішення завдання

[pic 2]

Після початку програми проходить ініціалізація змінних, ліве та праве граничне значення для проміжку, точність, обчислення. Потім вводиться аргумент x, з захистом від вводу неправильних даних. Знаходиться точне значення функції, значення для заданої кількості доданків і значення із заданою точністю, після знайдені значення виводяться на екран. Далі користувач може продовжити роботу та ввести значення аргументу ще раз або закрити програму.

Лістинг програми

int main() {

    SetConsoleCP(1251);

    SetConsoleOutputCP(1251);

    const int n = 13;

    const float l = 0.1, r = 1, t = 1e-3;

    int i, fact=1;

    int exit = 1;

    float sum = 0, x;

    do {

        cout << "Введіть значення х з діапазону [0.1; 1]: ";

        cin >> x;

        if (x >= l && x <= r) {

            sum = 0;

            cout << "Значення х = " << x << endl;

            cout << "Точне значення функції = " << exp(x*cos(M_PI/4))*cos(x*sin(M_PI / 4)) << endl;

            for (i = 0; i <= n; i++) {

                if (!i == 0)

                {

                    fact *= i;

                }

                sum += ((cos(i*M_PI/4)/fact)*pow(x,i));

            }

            cout << "Сума для " << n << " доданків = " << sum << endl;

            sum = 0;

            i = 0;

            fact = 1;

            cout << "Кі-ть n" << "   Сума   " << "Відхилення" << endl;

            do {

                if (!i == 0)

                {

                    fact *= i;

                }

                sum += ((cos(i * M_PI / 4) / fact) * pow(x, i));

                cout << " " << setw(3) << i << "    " << setw(8) << sum << " " << sum - (exp(x * cos(M_PI / 4)) * cos(x * sin(M_PI / 4))) << endl;

                i++;

            } while (fabs(sum - (exp(x * cos(M_PI / 4)) * cos(x * sin(M_PI / 4)))) > t);

            i--;

            cout << "Значення з точністю " << t << " для " << i << " доданків = " << sum << endl;

            cout << "Ввести значення ще раз(1) або вийти(0): ";

            cin >> exit;

            cout << endl;

        }

        else {

            cout << "Значення за межами діапазону " << endl;

        }

    } while (exit);

    system("pause");

    return 0;

}

Результат роботи

[pic 3]


Завдання 2. Операції з масивами

Умова завдання

[pic 4]

Опис алгоритму рішення завдання

[pic 5]

Після початку програми проходить ініціалізація змінних, після чого виводяться масиви x і y, потім іде обчислення і вивід результатів.

Лістинг програми

int main() {

    SetConsoleCP(1251);

    SetConsoleOutputCP(1251);

    float x[21] = {0,0,0.5,1,1.5,2,2.5,3,3.5,4,4.5,5,5.5,6,6.5,7,7.5,8,8.5,9,9.5 };

    float y[21] = {0, 29,2.5,27,13.5,18.5,16,18.5,20.5,16.5,15,15.5,7,10.5,20,2.5,28.5,22.5,10,7.5,16.5 };

    float p[21];

    cout << "x: ";

    for (int i = 1; i <= 20; i++)

    {

        cout << setw(8) << x[i];

    }

    cout << endl;

    cout << "y: ";

    for (int i = 1; i <= 20; i++)

    {

        cout << setw(8) << y[i];

    }

    cout << endl;

    cout << "n=20" << endl;

    cout << "f(x): ";

   for (int i = 1; i <= 20; i++)

    {

        if (i == 1) {

            p[i] = (-3 * y[1] + 4 * y[2] - y[3]) / (2 * (x[2] - x[1]));

        }

        else if (i == 20) {

            p[i] = (y[i - 2] + 4 * y[i - 1] - 3 * y[i]) / (2 * (x[i] - x[i - 1]));

...

Скачать:   txt (20.5 Kb)   pdf (840.7 Kb)   docx (706 Kb)  
Продолжить читать еще 18 страниц(ы) »
Доступно только на Essays.club