- •Лабораторная работа № 3. Ввод и вывод информации
- •Лабораторная работа № 6. Отладка программ
- •Доп. Задания
- •Лабораторная работа № 7. Вычисление сумм, произведений, экстремумов
- •Лабораторная работа № 8. Решение инженерных задач на основе циклических программ
- •Лабораторная работа № 9. Одномерные массивы
- •Лабораторная работа № 10. Битовые операции
- •Лабораторная работа № 11. Указатели и ссылки
- •Лабораторная работа № 12. Обработка символьной информации
- •Лабораторная работа № 14. Динамические массивы и функции пользователя
Лабораторная работа № 8. Решение инженерных задач на основе циклических программ
Метод трапеций
cos3(x) a = 4, b = 7 |
#include <iostream> using namespace std; void main() { float a = 4, b = 7, n = 2000, h, x, s = 0; h = (b - a) / n; x = a; for (int i = 1; i <=n; i++) { s += h*(pow(cos(x), 3) + pow(cos(x + h), 3))/2; x += h; if (int(x) > (b - h)) { cout << "Vivod " << s << endl;} } }
|
|
Метод парабол
cos3(x) a = 4, b = 7 |
#include <iostream> using namespace std; void main() { float a = 4, b = 7, n = 200, h, z, x, s1 = 0, s2 = 0; h = (b - a) / 2/n; x = a + 2*h; for (int i = 1; i < n; i++) { s2 += cos(x)*cos(x)*cos(x) ; x += h; s1 += cos(x)*cos(x)*cos(x); x += h; } z = h/3*(cos(a)*cos(a)*cos(a) + 1 + 4*(pow(cos(a + h), 3)) + 4*s1 + 2*s2 + cos(b)*cos(b)*cos(b) + 1); cout << z << endl; }
|
|
Метод косательных
cos(x) + x – 7 |
#include <iostream> using namespace std; void main() { float a, b, e = 0.0001, x, x1; cout << "a= "; cin >> a; cout << "b= "; cin >> b; if ((cos(a) + a - 7)*(-cos( a)) > 0) x1 = a; else x1 = b;
x = x1; x1 = x - (cos(x) + x - 7) / (1-sin(x)); while(abs(x1 - x) > e) { x = x1; x1 = x - (cos(x) + x - 7) / (1-sin(x));; }
cout << x1 << endl; }
|
|
Метод дихотомии
cos(x) + x – 7 |
#include <iostream> using namespace std; void main() { float a, b, e = 0.0001, x, x1; cout << "a= "; cin >> a; cout << "b= "; cin >> b; while(abs(a - b) > 2*e){ x = (a+b)/2; if (((cos(x)+x-7)*(cos(a)+a-7)) <= 0) b = x; else a = x;
} cout << x << endl; }
|
|
Лабораторная работа № 9. Одномерные массивы
Задание:
Все четные элементы целочисленного массива K(n) поместить в массив L(n), а нечетные – в массив М(n). Подсчитать количество тех и других.
Поменять местами минимальный и максимальный элементы массива.
1. #include <iostream> #include <math.h>
using namespace std;
int main() { setlocale (0,""); int const n=8; int K[n]; for (int i=0;i<n;i++) { cin >> K[i]; } int L[n]; int M[n]; int l=0; int m=0; for (int i=0;i<n;i++) { if (K[i]%2==0) { L[l]=K[i]; l++; } else { M[m]=K[i]; m++; } } cout << "четные=" << l << endl; cout << "L:"; for (int i=0;i<l;i++) { cout << L[i] << " "; } cout << endl; cout << "нечетные=" << m << endl; cout << "M:"; for (int i=0;i<m;i++) { cout << M[i] << " "; } return 0; } |
|
#include <iostream>
using namespace std;
int main() { const int count = 10; int k[count];
for (int i = 0; i < count; i++) { k[i] = rand(); cout<<k[i]<<" "; }
cout<<endl;
int min = 0, max = 0;
for (int i = 0; i < count; i++) { if (k[i] < k[min]) min = i;
if (k[i] >k[max]) max = i; }
int tmp = k[max]; k[max] = k[min]; k[min] = tmp;
for (int i = 0; i < count; i++) { cout<<k[i]<<" "; }
cout<<endl;
}
|
|
