
//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;}