Отчет по учебной практике (Научно-исследовательская работа


Список использованных источников



Download 52,82 Kb.
bet3/3
Sana19.10.2022
Hajmi52,82 Kb.
#854348
TuriОтчет
1   2   3
Bog'liq
OTChET SIDOROV

Список использованных источников
1.Программирование на языке Си [Электронный ресурс] : учеб. пособие / Р. Ю. Царев. - Красноярск: Сиб. федер. ун-т, 2014. - 108 с. - Режим доступа: http://znanium.com/bookread2.php?book=510946
2.Программирование на языке Pascal: Пособие / Рапаков Г.Г., Ржеуцкая С.Ю. - СПб:БХВ-Петербург, 2014. - 473 с. - Режим доступа: http://znanium.com/bookread2.php?book=940323
3. Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ. Мейерс Скот. –ДМК Пресс 2017. – 300 с.
4. Программирование на языке С++: Учебное пособие / Т.И. Немцова, С.Ю. Голова, А.И. Терентьев; Под ред. Л.Г. Гагариной. - М.: ИД ФОРУМ: ИНФРА-М, 2012. - 512 с. - Режим доступа: http://znanium.com/bookread2.php?book=244875
Приложение
Задание №1:
#include
#include

const double e =0.025;

int main(){
double y,t,result_1, result_2;
double x[5] = {-0.63,-0.35,-0.12,0.35,0.57};
for (int i = 0; i < 5; ++i) {
y = 0.7 * x[i] + 0.01 * x[i] * x[i];
result_2 = 5 * x[i] * log((1 + y) / (1 - y));
t = y;
result_1 = t;
int index = 1;
while (fabs(t) > e) {
t *= y * y * (index * 2 - 1) / (index * 2 + 1);
++index;
result_1 += t;
}
result_1 *= 2 * 5 * x[i];
std::cout << "result_1\t" << result_1 << "\tresult_2\t" << result_2 << "\n";
}
return 0;

Тест:


Числовые данные:






n

x1

x2

x3

x4

x5

x6

ж)

0,025

5

-0.63

-0.35

-0.12

0.35

0.57

-

В процессе выполнения программы мы получаем значения result_1 при помощи суммы ряда, и result_2 при помощи обычной формулы.
При этом погрешность не превышает e = 0.025

result_1 2.94867 result_2 2.9519


result_1 0.870114 result_2 0.870743
result_1 0.100863 result_2 0.100864
result_1 0.879203 result_2 0.879866
result_1 2.41648 result_2 2.43008

Задание №2:


#include

using namespace std;

void CoutSys(double **a, double *y, int n) {
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cout << a[i][j] << "*x" << j;
if (j < n - 1)
cout << " + ";
}
cout << " = " << y[i] << endl;
}
}

double *methodGauss(double **a, double *y, int n){


double *x,max;
int k, index;
const double eps = 0.00000001; // точность
x = new double[n];
k = 0;
while (k < n) {
// Поиск строки с максимальным a[i][k]
max = abs(a[k][k]);
index = k;
for (int i = k + 1; i < n; ++i) {
if (abs(a[i][k]) > max) {
max = abs(a[i][k]);
index = i;
}
}
// Перестановка строк
if (max < eps) {
// нет ненулевых диагональных элементов
cout << "Решение получить невозможно из-за нулевого столбца ";
cout << index << " матрицы A\n";
return 0;
}
for (int j = 0; j < n; ++j) {
double temp = a[k][j];
a[k][j] = a[index][j];
a[index][j] = temp;
}
double temp = y[k];
y[k] = y[index];
y[index] = temp;
// Нормализация уравнений
for (int i = k; i < n; ++i) {
double temp = a[i][k];
if (abs(temp) < eps) continue; // для нулевого коэффициента пропустить
for (int j = 0; j < n; j++) {
a[i][j] = a[i][j] / temp;
}
y[i] = y[i] / temp;
if (i == k) // уравнение не вычитать само из себя
continue;
for (int j = 0; j < n; ++j) {
a[i][j] = a[i][j] - a[k][j];
}
y[i] = y[i] - y[k];
}
++k;
}
// обратная подстановка
for (int i = n -1; i >= 0; --i){
x[i] = y[i];
for (int j = 0; j < i; ++j){
y[j]=y[j] - a[j][i] * x[i];
}
}
return x;
}

int main(){


double **a, *y , *x;
int n;
cout << "number of equations : \n";
cin >> n;
a = new double *[n];
y = new double[n];
for (int i =0; i < n; ++i){
a[i] = new double[n]; // n - количество переменных можно изменить
for (int j = 0; j < n; ++j){
cout << "a["<if (fin.is_open()) {
fin >> n;
for (int i = 0; i < n; ++i) {
for (int j = 0; j < n; ++j) {
fin >> b[i][j];
}
fin >> y[i];
}
fin.close();
}
double *x;
x = methodKramer(b, y, n);
std::ofstream fout("output.txt");
if (fout.is_open()){
for (int i = 0; i < n; ++i) {
fout << x[i] << " ";
}
}
for (int i =0; i < n; ++i){
delete[] b[i];
}
delete x;
delete b;

return 0;


}

Тест:
Система уравнений


5x+4y+4z = 11;
4x+5y+4z = 8;
4x+4y+5z=7;

Входные данные – “input.txt”


3
5 4 4 11
4 5 4 8
4 4 5 7
Выходные данные – “output.txt”
3 0 -1

Download 52,82 Kb.

Do'stlaringiz bilan baham:
1   2   3




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish