Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программы_Прокофьева.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
54.27 Кб
Скачать

//p7_exmp3_1.cpp

//Прокофьева Д.С. группа 3270

//Вычисление отдельных функций, входящих в основную функцию

#include<stdio.h>

#include<math.h>

void Task();

int main()

{

Task();

return 0;

}

double x,a,y;

void Input();

void Calc();

void Output();

void Input(){

double Fn1(double x);

double Fn2(double x);

printf("\n Input \n");

printf("x=\n");

scanf("% lf",&x);

printf("a= \n");

scanf("% lf",&a);

}

void Output()

{

printf("\n Output \n");

printf("x= % lf",x);

printf("\t a= % lf",a);

printf("\t y= % lf \n",y);

}

double Fn1(double)

{

return sin(x)*sin(x);

}

double Fn2(double)

{

return log(fabs(1+x*x));

}

void Calc()

{

if(x<a)

y=Fn1(x);

else

y=Fn2(x);

}

void Task()

{ Input();

Calc();

Output();

}

//p7_exmp3_2.cpp

//Прокофьева Д.С., группа 3270

//Табулирование функции

#include<stdio.h>

#include<math.h>

double x0,xk,dx,x,y;

void Task();

void Input();

void Calc();

void Output();

int main()

{

Task();

return 0;

}

void Task()

{

Input();

printf("Output \n");

Calc();

}

void Input()

{

printf("Input \n");

printf("x0=");

scanf_s("% lf",&x0);

printf("xk=");

scanf_s("% lf",&xk);

printf("dx=");

scanf_s("% lf",&dx);

}

double Fn(double x)

{

double y;

y=exp(-0.1*x)*atan(x);

return y;

}

void Calc()

{

for(x=x0;x<xk;x+=dx)

{

y=Fn(x);

Output();

}

}

void Output()

{

printf("x= % lf",x);

printf("\t y= % lf \n",y);

printf("\n");

}

//р7_exmp3_3.cpp

//Прокофьева Д.С., группа 3270

//ООП,Класс,Табулирование функции

#include<iostream> //Библиотека классов

using namespace std; //Пространство имен

//Объявление класса

class Tabl

{private: //Спецификатор частного доступа

double x0,xk,dx,x,y;

public: //Спецификатор открытого доступа

double func(double x) {return x;}

void wwod();

void calc();

void wywod();

void start();

};

void Tabl::wwod() //Тело метода

{

cout<<"Input \n";

cout<<"x0=";

cin>>x0;

cout<<"xk=";

cin>>xk;

cout<<"dx=";

cin>>dx;

}

void Tabl::calc()

{

for(x=x0;x<xk;x+=dx)

{

y=func(x);

wywod();

}

}

void Tabl::wywod()

{

cout<<"x="<<x;

cout<<"\t y="<<y;

cout<<"\n";

}

void Tabl::start()

{

wwod();

cout<<"\n Output \n";

calc();

}

void main()

{

Tabl A;

A.start();

}

//р7_exmp3_4.cpp

//Прокофьева Д.С. группа 3270

//Пример класса для вычисления суммы чисел

#include<iostream> //Библиотека классов

using namespace std; //Пространство имен

//Объявление класса

class First

{private: //Спецификатор частного доступа

int a,

b;

public: //Спецификатор открытого доступа

void get_a();

void get_b();

int sum();

};

void First::get_a() //Тело метода

{

cout<<"a=";

cin>>a;

}

void First::get_b()

{ cout<<"b=";

cin>>b;

}

int First::sum()

{return a+b;}

Void main()

{

First A; //Создание экземпляра

cout<<"Input dod \n";

A.get_a();

A.get_b();

cout<<"\n Input \n";

cout<<"sum=";

cout<<"A.sum=";

cout<<"\n";

}

//р7_exmp3_5.cpp

//Прокофьева Д.С. группа 3270

//Вычисление функции по заданным координатам

#include<iostream> //Библиотека классов

#include<math.h>

using namespace std; //Пространство имен

//Объявление класса

class Second

{private: //Спецификатор частного доступа

double x;

public: //Спецификатор открытого доступа

void get_x();

double out_x() //Доступ к скрытым элементам

{return x;}

double func();

};

void Second::get_x() //Тело метода

{

cout<<"x=";

cin>>x;

}

double Second::func()

{

double a;

a=fabs(1+sin(x));

return log10(a);

}

Void main()

{

Second *A;

A=new Second;

cout<<"Input dat \n";

A->get_x();

cout<<"\n Output \n";

cout<<"x=";

cout<<A->out_x();

cout<<"\t y=";

cout<<A->func();

cout<<"\n";

delete A;

}

//р7_exmp3_6.cpp

//Прокофьева Д.С. группа 3270

//Пример конструктора и деструктора

#include<iostream> //Библиотека классов

using namespace std; //Пространство имен

//Объявление класса

class Free

{private: //Спецификатор частного доступа

int *x,

n;

public: //Спецификатор открытого доступа

Free(int); //Встроенный конструктор

~Free();

void wwod(); //Метод ввода

int wywod(); //Метод вычисления суммы

};

Free::Free(int m):n(m)

{x=new int[n];}

Free::~Free()

{delete []x;}

void Free::wwod() //Тело метода

{

cout<<"Input mass \t";

for(int i=0;i<n;i++){

cout<<"x["<<i<<"]=";

cin>>x[i];

}

}

int Free::wywod()

{

int i;

cout<<"\n Output mass \n";

for(int i=0;i<n;i++)

cout<<x[i]<<"\t";

cout<<"\n";

return i;

}

Void main()

{

int a;

cout<<"Input \n";

cout<<"a=";

cin>>a;

Free *A;

A=new Free(a); //Выделение памяти под класс

A->wwod();

cout<<"\n Input \n";

A->wywod();

delete A; //Возвращение памяти

}

//р7_exmp3_7.cpp

//Прокофьева Д.С. группа 3270

//Вычисление суммы значений элементов

#include<iostream> //Библиотека классов

using namespace std; //Пространство имен

//Объявление класса

class Fakt

{private: //Спецификатор частного доступа

int *x,

n;

public: //Спецификатор открытого доступа

Fakt(int m):n(m) //Встроенный конструктор

{

x=new int[n]; //Выделение памяти

}

~Fakt()

{

delete[]x;

}

void wwod(); //Метод ввода

int sum(); //Метод вычисления суммы

};

void Fakt::wwod() //Тело метода

{

cout<<"Input \t";

cout<<n;

cout<<"\t Numbers \n";

for(int i=0;i<n;i++)

cin>>x[i];

}

int Fakt::sum() //Вычисление суммы

{

int a=0; //Обнуление счетчика

for(int i=0;i<n;i++)

a+=x[i];

return a; //Возвращение суммы

}

Void main()

{

int len;

cout<<"len=";

cin>>len;

Fakt *A;

A=new Fakt(len); //Выделение памяти под класс

A->wwod();

cout<<"sum=";

cout<<A->sum(); //Введение суммы

cout<<"\n";

delete A; //Возвращение памяти

}

//р7_exmp3_8.cpp

//Прокофьева Д.С. группа 3270

//Иерархия классов

#include<iostream> //Библиотека классов

using namespace std; //Пространство имен

//Объявление класса

class First

{private: //Спецификатор частного доступа

int a;

public: //Спецификатор открытого доступа

void wwod_a();

int out_a()

{return a;}

};

void First::wwod_a() //Тело метода

{

cout<<"a= \t";

cin>>a;

}

class Second:

public First

{

private: //Спецификатор частного доступа

int b;

public: //Спецификатор открытого доступа

void wwod_b();

int sum();

};

void Second::wwod_b()

{ cout<<"b=";

cin>>b;

}

int Second::sum()

{return out_a()+b;}