Практическая работа по "Программированию"
Автор: andriy litvynchuk • Июль 1, 2022 • Практическая работа • 4,653 Слов (19 Страниц) • 219 Просмотры
ЗМІСТ
Завдання 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]));
...