- •Лабораторна робота №1
- •Теоретичні відомості
- •Завдання для виконання
- •Int main()
- •Int main()
- •Лабораторна робота №2
- •Теоретичні відомості
- •Void main()
- •Int k,m; //опис змінних
- •Void main()
- •Int k,m; //опис змінних
- •Void main()
- •Int k,m; //опис змінних
- •Void main()
- •Int k,m; //опис змінних
- •Void main()
- •Завдання для виконання
- •Лабораторна робота №3
- •Теоретичні відомості
- •Приклади виконання завдання
- •Void main()
- •Void main()
- •Int main()
- •Завдання для виконання
- •Лабораторна робота №4
- •Теоретичні відомості
- •Приклади виконання завдання
- •Void main ( )
- •Void main ( )
- •Завдання для виконання
- •Лабораторна робота №5
- •Теоретичні відомості
- •Void main()
- •Void main()
- •Приклади виконання завдання
- •Void main ( )
- •Void main ( )
- •Завдання для виконання
- •Лабораторна робота №6
- •Теоретичні відомості
- •Приклади виконання завдання
- •Void main ( )
- •Void main ( )
- •Void main ( )
- •Завдання для виконання
- •Лабораторна робота №7
- •Теоретичні відомості
- •Void fact(int k);
- •Void fact(k);
- •Int *I; //Вказівник - змінна на дані типу int
- •Int k, *vk; //Опис змінної - вказівника *vk
- •Приклади виконання завдання лабораторної роботи
- •Int fact(int n)// Функція, що обчислює n!
- •Void dryk(int Cnm) /* Функція, що виводить на екран значення Cnm */
- •Void main ( )
- •Int Factorial(int n) /*Рекурсивна функція,що обчислює n! */
- •Void main()
- •Void Vs(double &V, double &s, double r)
- •Void main ( )
- •Void Vs(double *V, double *s, double r)
- •Void main ( )
- •Void main()
- •Завдання для виконання
- •Лабораторна робота №8
- •Теоретичні відомості
- •Приклади виконання завдання
- •Void main()
- •Void main()
- •Void main()
- •Завдання для виконання
- •Лабораторна робота №9
- •Теоретичні відомості
- •Приклади виконання завдання
- •Void main()
- •If (!feof(f1))
- •Void main()
- •Void main()
- •Void main()
- •Void main ()
- •Void main ()
- •Ifstream in( "vvid" );
- •In.Close();
- •Завдання для виконання
- •Лабораторна робота №10
- •Теоретичні відомості
- •Char st[40]
- •Char st3[100]
- •Char str4[100]
- •Приклади виконання завдання
- •Void main()
- •Void insert (char *str, int p, char c)
- •Void main()
- •Insert(s,n,c);
- •Void main()
- •Завдання для виконання
- •Лабораторна робота 11
- •Теоретичні відомості
- •If(!strcmp(ms[I].Ngr,"m21"))
- •Завдання для виконання
- •Приклади виконання завдання
- •Void main()
- •Лабораторна робота 12
- •Теоретичні відомості
- •Void show_complex() /*вивід комплекснеого числа на екран */
- •Void show_complex();
- •Void complex::show_complex()
- •Void main()
- •Приклади виконання завдання
- •Завдання для виконання
- •Лабораторна робота 13
- •Теоретичні відомості
- •Приклади виконання завдання
- •Void operator --();
- •Void operator --(int);
- •Void show_complex();
- •Завдання для виконання
- •Завдання для самостійного виконання
- •Додаток №2. Базові типи даних
- •Додаток №3. Основні специфікатори формату функції printf
- •Додаток №5. Основні математичні функції бібліотеки math.H
- •Додаток №6.
- •Додаток №7. Можливі специфікатори аргументу mode
- •Додаток №8. Основні функції для роботи із рядковими змінними бібліотеки string.H
- •Додаток №9. Основні функції для роботи із символами бібліотеки ctype.H
- •Література
- •Ткачук Валерій Михайлович
- •Лабораторний практикум
- •76000, М. Івано-Франківськ, вул. С. Бандери, 1
Void show_complex();
};
//обчислення модуля комплексного числа
double complex::modul()
{
double temp;
temp=pow(x*x+y*y,1/2.0);
return temp;
};
//обчислення аргумента комплексного числа
double complex::argument()
{
double temp;
temp=atan2(y,x)*180/pi;
return temp;
};
//вивід комплекснеого числа на екран
Void complex::show_complex()
{
if(y>=0) cout<<x<<"+"<<y<<"i"<<endl;
else cout<<x<<"-"<<y<<"i"<<endl;
};
В такому описі і елементи-члени, і елементи-функції є відкритими (public). Доступ до відкритих членів класу може бути здійснений прямим зверненням за допомогою оператора «.» згідно наступного синтаксису:
<імя класу>.<імя поля класу>
<імя класу>.<імя методу класу>
Наприклад:
Void main()
{
complex chislo; //Опис екземпляру класу chislo
chislo.x=1; // Присвоєння полю x значення 1
chislo.y=1; // Присвоєння полю y значення 1
// Вивід комплексного числа
chislo.show_complex();
// Вивід модуля комплексного числа
cout<<"Модуль комплексного числа ="<<chislo.modul()<<endl;
// Вивід аргументу комплексного числа
cout<<"Аргумент комплексного числа = "<<chislo.argument()<<endl;
}
Використання відкритих членів та методів дозволяє отримати повний доступ до елементів класу, але при беспосередньому зверненні до них виникає потенційна небезпека внести помилки у функціонування взаємозвязаних між собою елементів класу. При цьому обмеження доступу не є способом захисту даних, а тільки методом полегшення програмування та пошуку логічних помилок в роботі програми. Загальноприйнятим елементи - дані є закритими (private) , а елементи-функції – відкритими (public). Для доступу до закритих члені класу необхідно створити відповідні відкриті елементи-функції, бо доступ до них за допомогою оператора «.» в цьому випадку є неможливим. Наприклад:
class complex
{
private:
double x;
double y;
public:
double modul();
double argument();
void show_complex();
void vvid();
};
//обчислення модуля комплексного числа
double complex::modul()
{
double temp;
temp=pow(x*x+y*y,1/2.0);
return temp;
};
//обчислення аргумента комплексного числа
double complex::argument()
{
double temp;
temp=atan2(y,x)*180/pi;
return temp;
};
//вивід комплекснеого числа на екран
void complex::show_complex()
{
if(y>=0) cout<<x<<"+"<<y<<"i"<<endl;
else cout<<x<<"-"<<y<<"i"<<endl;
};
//функція вводу комплексного числа
void complex::vvid()
{
cout<<"Введіть x\t";
cin>>x;
cout<<"Введіть y\t";
cin>>y;
};
Фрагмент головної програми для вводу комплексного числа із клавіатури та виводу його на екран матиме наступний вигляд:
// Опис комплексного числа
complex chislo;
// Присвоєння значення комплексному числу
chislo.vvid();
// Вивід комплексного числа
chislo.show_complex();
Приклади виконання завдання
Приклад №1
Програма
для роботи точкою в декартовій системі
координат. Членами класу є просторові
координати точки (x,y,z)
(private).
Методами класу (public)
є: ввід координат точки із клавіатури;
вивід координат точки на екран; обчислення
та вивід відстані до початку координат
;
обчислення та вивід азимутального кута
(у сферичній системі координат);
обчислення та вивід полярного кута
(у сферичній системі координат). При
розробці методів класу використовуються
наступні формули:
;
;
#include<iostream>
#include<math.h>
#include <windows.h>
#define pi 3.1415926
using namespace std;
class tochka
{
private:
double x;
double y;
double z;
public:
double modul();//Обчислення
double fi(); //Обчислення
double teta(); //Обчислення
void sfera(double); /*Визначення положення точки відносно кулі */
void show_tochka();//Вивід координат точки
void vvid();//Ввід координат точки
};
double tochka::modul()
{
double temp;
temp=pow(x*x+y*y+z*z,1/2.0);
return temp;
};
double tochka::fi()
{
double temp;
temp=atan2(y,x)*180/pi;
return temp;
};
double tochka::teta()
{
double temp;
temp=atan2(sqrt(x*x+y*y),z)*180/pi;
return temp;
};
void tochka::sfera(double r)
{
if (pow(x*x+y*y+z*z,1/2.0)<r) cout<<"Точка лежить в межах кулі із радіусом = "<<r<<endl;
else if (pow(x*x+y*y+z*z,1/2.0)==r) cout<<"Точка лежить на сфері із радіусом = "<<r<<endl;
else cout<<"Точка лежить за межами кулі із радіусом = "<<r<<endl;
};
void tochka::show_tochka()
{
cout<<"Кооодинати точки ("<<x<<"," <<y<<","<<z<<")"<<endl;
};
void tochka::vvid()
{
cout<<"Введіть координату x\t";
cin>>x;
cout<<"Введіть координату y\t";
cin>>y;
cout<<"Введіть координату z\t";
cin>>z;
};
void main()
{
SetConsoleOutputCP(1251);
SetConsoleCP(1251);
tochka M;
M.vvid();
M.show_tochka();
cout<<"Полярний кут ="<<M.fi()<<endl;
cout<<"Азимутальний кут ="<<M.teta()<<endl;
double r;
cout<<"Введіть радіус кулі r\t";
cin>>r;
M.sfera(r);
cout<<"Відстань від точки до початку координат ="<<M.modul() <<endl;
}
Результат
роботи програми
