Задание 1. Создать программу вычисления указанной величины. Результат проверить при заданных исходных значениях.
z2 z3 z4 1 + z + + + 2 3 4 При x = 0.4×104, y = –0.875, z = –0.475×10-3 → w = 1.9873. Решение:
w = cos x − cos y
(1+ 2 sin 2 y )
#include<iostream.h> #include<math.h> #include<conio.h> void main() { float x,y,z,w; // Необходимые данные cout<<"Vvedite x: "<<endl; cin>>x; cout<<"Vvedite y: "<<endl; cin>>y; cout<<"Vvedite z:"<<endl; cin>>z; // вычислить значение w согласно заданию w=pow(fabs(cos(x)-cos(y)),(1+2*pow(sin(y),2)))*(1+z+pow(z,2)/2+pow(z,3)/3+pow(z,4)/4); cout<<"w= "<<w<<endl; // выводим w // далее для завершения программа ждёт нажатия любой клавиши cout<<"Press any key..."<<endl; getch(); }
Рисунок 1 – Результат выполнения программы задания 1.
Задание 2. Составить программу для вычисления значения rez в зависимости от поставленного условия. Для получения результатов подобрать исходные данные так, чтобы выполнялись все возможные ветви алгоритма. Перед выводом полученного результата должно выводиться сообщение о ветви, при прохождении которой он получен.
#include<iostream.h> #include<conio.h> #include<math.h> void main() { double r,m,rez; // Значения переменных cout<<"Vvedite r: "<<endl; cin>>r; cout<<"Vvedite m: "<<endl; cin>>m; if((0.5<fabs®)&&(fabs®<fabs(m+0.5))) // Проверка 1-го условия { rez=(4*r+3*m)/((pow(r,3)+pow(m,3))*pow(sin(pow(m,3)),2)); cout<<"Pervaya vetka. rez="<<rez<<endl; } else if((fabs®>(fabs(m)+0.5))) // Проверка 2-го условия { rez=sqrt(fabs(r-m))*pow(cos(pow(r,2)),3); cout<<"Vtoraya vetka. rez="<<rez<<endl; } else cout<<"Tret'ya vetka. ERROR!"<<endl; cout<<"Press any key..."<<endl; getch(); }
Рисунок 2 – Результат программы по условию 1
Рисунок 3 – Результат программы по условию 2
Рисунок 4 – Результат программы, если данные не подходят условиям
Задание 3. Для каждого x, изменяющегося от a до b с шагом h, найти значения функции Y(x), суммы S(x) и |Y(x)–S(x)| и вывести в виде таблицы. Значения a, b, h и n вводятся с клавиатуры. Работу программы проверить для a = 0,1; b = 1,0; h = 0,1; значение параметра n выбрать в зависимости от задания. n Y ( x) = cos( x) x 2k
S ( x) = ∑ (−1) k
k =0
Решение:
#include<iostream.h> #include<stdio.h> #include<math.h> #include<conio.h> int fac(int); int fac(int g) //Функция для вычисления факториала { if(g==0)return 1; return g*fac(g-1); } void main() { int a,b,k,n; double s,y,x,h,c=0; //Ввести значения cout<<"Vvedite znacheniya a,b, shag h, i n"<<endl; cin>>a>>b>>h>>n; for(x=a;x<=b;x+=h) //В цикле перебираем значения x { s=0; y=cos(x); for(k=0;k<=n;k++) //цикл для определения суммы s { c=pow(-1,k)*(pow(x,2*k)/fac(2*k)); s+=c; } //значения в виде таблицы printf("x=%5.3f y=%5.3f s=%5.3f |y(x)-s(x)|=%5.3f\n",x,y,s,fabs(y-s)); }
(2k )! ,
.
cout<<"Press any key..."<<endl; getch(); }
Рисунок 5 – Результат выполнения задания 3
Задание 4. В одномерном целочисленном массиве (размер массива (не больше 20) и значения его элементов вводить с клавиатуры) вычислить сумму элементов массива, расположенных между первым и последним положительными элементами. Решение:
#include<iostream.h> #define n 20 #include<conio.h> void main() { int i,s[n],a,b,sum=0; cout<<"Vvedite massiv:"<<endl; for(i=0;i<n;i++)
{cout<<"Vvedite "<<i+1<<" element massiva:"<<endl;
Задание 5. В двухмерном целочисленном массиве (размеры массива N, M и значения его элементов вводить с клавиатуры) найти указанное значение. Массив в памяти разместить динамически (с использованием операций new и delete), ввод исходных данных и вывод полученных результатов выполнить в основной функции, а решение задачи оформить в виде отдельной функции пользователя. Не использовать глобальных переменных. Найти минимальный элемент и поменять его с первым элементом. Решение: