Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Лабораторная работа номер 1 Задание- вывести значение функции sinhx-sinx и её производно на интервале от А до

Работа добавлена на сайт samzan.net: 2015-07-05

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 21.5.2024

МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ.

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ АВИАЦИОННО-ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ

им. К.Э. ЦИОЛКОВКОГО

КАФЕДРА ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

Лаботраторные работы второго курса второго семестра.

Руководитель:        Чернадский

Дата сдачи: _____________

     Подпись: _____________

Студент: Лицентов Д.Б.

Группа: 3ИТ-2-26

Москва

1998

Лабораторная работа номер 1

Задание:  вывести значение функции sinh(x)/sin(x) и её производно на интервале от А до Б в десяти точках. Значения производной функции должно считаться двумя способами: первое прямым вычислением и второе в помощью рядов. Значение производной функции должно считаться до машинного нуля.

Текст программы.

#include <iostream.h>

#include <math.h>

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" <<f_pred<<"\t"

 <<dir(x[i])<<"\t"<<D[i];

 cout << "\t"<< m;

}

return pr;

}

void main(void)

{  double a , b , *x , *D, (*f)(double)=function,*result;

int i ;

do

{  i=0;

 cout << "Input a:";

 cin >> a;

 cout << "Input b:";

 cin >> b;

 if (a>b)

   {cout <<"Input a <b";

  i=1;}

}

 while (i==1);

 result =  derives(function,x,10,D,a,b);}

Результаты работы.

Input a:1

Input b:5

x[0] 1 0.93704     0.937041          3.9346e-311                                 33

x[1] 1.8                 3.895777          3.895777           3.9346e-311      53

x[2] 2.12              7.899375           7.899994            3.9346e-311     39

x[3] 2.408            17.496182         17.496226          3.9346e-311     33

x[4] 2.6672          46.255806         46.383292          3.9346e-311     43

x[5] 2.90048        203.810226       192.558503        3.9346e-311     47

x[6] 3.110432      11886.359648   11886.359648    3.9346e-311     51

x[7] 3.299389      454.965295       454.757697        3.9346e-311     43

x[8] 3.46945        96.558946         96.562709          3.9346e-311     36

x[9] 3.622505      36.997996         36.99798            3.9346e-311     32

Сперва прога просит ввести интервал. Далее вывоти  плоды своей работы:

  •  первый столбик –номер эксперимента
  •  второй столбук - значение финкйии
  •  третий столбик значение которое получается «напрямую»
  •  четвёртый столбик - значение которое получается вычислением с помощью рядов
  •  пятый столбик – машинный ноль
  •  шестой столбик - количество итераций которое было необходимо для вычисления производной функции до машинного нуля.

Лабороторная работа №2

Задание: написать программу которая просит ввести строку, нарезает эту строку на подстроки и выводит их в обратном порядке.

Текст программы.

#include<iostream.h>

#include<string.h>

#include<stdlib.h>

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<len;i++)

  ch[i]= s[i];

}

void string1(void)

{ int j=0;

  while (ch[j++]);

  len = j-1;

}

~stroka (){delete [] ch ;}

} ;

void  main()

{   stroka s0,*s1;

 cin >> 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<<c.ch[i]<<"\tI won!!!";

  k++;

  //j=0;

  g=0;

  for(k;k<i;k++){

   if(c.ch[k]!=' '){

    //cout<<c.ch[k];

    GodDame_Mother_F_1[0].ch[j++]=c.ch[k];

    GodDame_Mother_F_2[0].ch[g++]=c.ch[k];

   }

  }

  h++;

 //for(f=0;f<g;f++)cout<<GodDame_Mother_F_2[0].ch[f];

 //cout<<'\n';

 int s,s1;

 for(int d=i;d<c.len;d++){

  s1=0;

   for(f=0;f<g;f++){

    s=0;

    if(GodDame_Mother_F_2[0].ch[f]!=c.ch[d+f]){

     //cout<<"I won!!!!!";

     s=1;

    }

    if(s!=0){s1=1;}

   }

   if(s1==0&&GodDame_Mother_F_2[0].ch[f+1]==' '){

    cout<<"I won!!!!!";

    for(int a=0;a<g;a++)cout<<GodDame_Mother_F_2[0].ch[a];

   }

 }

 }

}

return GodDame_Mother_F_;

}

int operator == (stroka & a,stroka & b)

{  int k=0;

a.string1();

b.string1();

if (a.len!=b.len) k--;

else

 for (int i=0;i<a.len;i++)

  if (a.ch[i]!=b.ch[i]) {k--;break;}

return k;

}

istream &operator >>(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 <iostream.h>

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"<<y;}

};

class Plusssssss: public complex

{ public :

void fun (int x=0, int y=0)

 {cout<<"\n Plusssssss\tx+y ="<< x+y;}

};

class Umnojinia : public What_the_hell_we_got

{public :

void fun (int x)

 {cout<<"\n Umnojinia\tx*x ="<< x*x;}

};

class xz : public Plusssssss , public Umnojinia

{public :

void fun (int x)

 {cout<<"\n Xzubla\t\tx^3 ="<< x*x*x;}

};

void main (void)

{ What_the_hell_we_got D, *pcom1 = &D;

Plusssssss C2, *pc2 = &C2;

int k,x;

cin>>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

Вводим два числа и смотрим что получится при сложение умножении или возведение в третью степень.




1. Концептуальные основы внешней политики РФ на Ближнем Востоке на современном этапе
2. Внутренние инженерные системы зданий и сооружений
3. тема золотого стандарта- Парижская и Генуэзская валютные системы
4. 1 Бактериемия возбудитель распрся по организму гемотогенным путем
5. ИСПОЛЬЗОВАНИЕ ИННОВАЦИОННЫХ ТЕХНОЛОГИЙ В ВОСПИТАТЕЛЬНОМ ПРОЦЕССЕ ПРИ РАБОТЕ С ДЕТЬМИ С ОВЗ В КОРРЕКЦИОННО
6. Мировоззренческие предпосылки аддиктивного поведения1
7. Поле редактирования с возможностью задания IP-адреса
8. Природні умови та господарська діяльність ДП Жовтневому ДЛГ
9. РЕФЕРАТ дисертації на здобуття наукового ступеня доктора медичних наук Харків ~
10. правовых актов Виды правовых норм
11. РЕФЕРАТ дисертації на здобуття наукового ступеня кандидата економічних наук Львів
12.  Сущность и принципы управления общественными отношениями
13. Реферат- Влияние колониального фактора на Дальневосточную историю Франции
14. Старение и продолжительность жизни.html
15. Специфика консультирования одного супруга супружеской пары
16. I Введение История зарубежной литературы в практике подготовки специалистов по связям с общественность
17. тема в Республике Беларусь и ее государственное регулирование Исполнитель студент гр
18. на тему- Будьте вежливы
19. Психологи Прием материалов по учебноознакомительная практике
20. Аутекологі