Материалы сайта
Это интересно
Программирование на С++
МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ. МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ АВИАЦИОННО-ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ им. К.Э. ЦИОЛКОВКОГО КАФЕДРА ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ Лаботраторные работы второго курса второго семестра. Руководитель: Чернадский Дата сдачи: _____________ Подпись: _____________ Студент: Лицентов Д.Б. Группа: 3ИТ-2-26 Москва 1998 Лабораторная работа номер 1 Задание: вывести значение функции sinh(x)/sin(x) и её производно на интервале от А до Б в десяти точках. Значения производной функции должно считаться двумя способами: первое прямым вычислением и второе в помощью рядов. Значение производной функции должно считаться до машинного нуля. Текст программы. #include#include double function(double x) { return sinh(x)/sin(x);} double dir(double x) { return (cosh(x)*sin(x)-cos(x)*sinh(x))/(sin(x)*sin(x)); } double *derives( double (*f) (double),//функция double *x,//массив значений иксов double k, //кол-во точек на интервале в которос берется производная double *D,//массив дельта double a,//граница отрезка double b)//граница отрезка { x = new double [10]; D = new double [10]; double *pr = new double[10]; double s = 0; for (int i=0;i<10;i++) { x[i] =s+a; s = (b-a)/k; a+=s; double d = s;//дельта int m = 0; double d_pred,f_pred,f0=0; do { d = d /2; f_pred = f0; f0 = (-f(x[i])+f(x[i]+d))/(d); m++; } while (((f0!=f_pred)&&(m<=100)));//вычисляем до машинного нуля D[i]=d_pred;//массив значений дельта pr[i]=f_pred;//значения производной cout << "\n x[" << i <<"] " << x[i] << "\t" < > a; cout << "Input b:"; cin >> b; if (a>b) {cout <<"Input a #include #include class stroka { char *ch; int len; friend int operator == (stroka & a , stroka & b); friend stroka* Friend0(stroka c); friend istream& operator >>(istream & in, stroka & a ); friend ostream& operator <<(ostream & out, stroka & a ); public : stroka(int N=80) {ch = new char [N]; ch[0]='\0'; } stroka (const char *s) { int j=0; while (ch[j++]); ch = new char[len]; ch[len] = '\0'; len--; for (int i=0;i > s0; s0.string1(); cout <<"\n"<<*Friend0(s0); } stroka* Friend0(stroka c) { stroka *GodDame_Mother_F_1; stroka *GodDame_Mother_F_2; stroka *GodDame_Mother_F_; GodDame_Mother_F_1 = new stroka[c.len]; GodDame_Mother_F_2 = new stroka[c.len]; GodDame_Mother_F_ = new stroka[c.len]; int i=0,j=0,k=-1,h=0,g=0,f=0; for(i=0;i<=c.len;i++){ if(((c.ch[i]==' '||c.ch[i]=='.')&&((c.ch[i+1]!=' ')||(c.ch[i- 1]!=' ')))){ //cout< >(istream &in,stroka & A) { cout <<"\n\tInput string : "; in.getline(A.ch,80,'\n'); return in; } ostream &operator <<(ostream &out,stroka & A) { out << A.ch; return out; } Результат работы. |Input string : demon13 | | | |13 mon de | Лабораторная работа №3 Написать программу с наследованием классов и виртуальными функциями. Текст программы. #include class complex { public : double x,y; virtual void fun (int x=0, int y=0)=0; }; class What_the_hell_we_got: public complex { public : void fun (int x, int y) {cout<<"\n What_the_hell_we_got "<< x<<"\t"< >x>>k; pcom1 -> fun(k,x); pc2 -> fun (k,x); Umnojinia C3, *pc3 = & C3; pc3 -> fun (x); pcom1=pc3; pcom1->fun(k,x); xz C4, *pc4 = & C4; pc4 -> fun (x); } Результаты работы |3 | |4 | | | |What_the_hell_we_got 4 3 | |Plusssssss x+y =7 | |Umnojinia x*x =9 | |What_the_hell_we_got 4 3 | |Xzubla x^3 =27 | Вводим два числа и смотрим что получится при сложение умножении или возведение в третью степень.