42007

ДОСЛІДЖЕННЯ ОПИСУ ТА ВИКОРИСТАННЯ КЛАСІВ

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

Информатика, кибернетика и программирование

Вивчити опис класу в мовах програмування С та С. Написати програми мовами програмування С та С що демонструють випадки застосування класу згідно з варіантом дод. Короткі теоретичні відомості Мова С Опис класу: опис класу ::= clss позначка класу { тіло класу }; тіло класу ::= {privte:} закритий елемент public: відкритий елемент {protected:} захищений елемент позначка класу ::= ідентифікатор закритий елемент ::= опис змінної метод прототип методу опис статичної змінної опис статичної змінної ::= sttic опис змінної...

Украинкский

2013-10-26

130 KB

21 чел.

Лабораторна робота  1.1

ДОСЛІДЖЕННЯ ОПИСУ ТА ВИКОРИСТАННЯ КЛАСІВ

Мета роботи  вивчити опис класів, навчитися створювати, використовувати та знищувати об’єкти класів.

Завдання

1. Вивчити опис класу в мовах програмування С++ та С#.

2. Вивчити механізми створення, використання та знищення об’єктів класів в мовах програмування С++ та С#.

3. Написати програми мовами програмування С++ та С#, що демонструють випадки застосування класу, згідно з варіантом (дод. 1).

Короткі теоретичні відомості

Мова С++

Опис класу:

<опис класу> ::= class <позначка класу> {<тіло класу>};

<тіло класу> ::= {private:} <закритий елемент>

     public: <відкритий елемент>

    {protected:} <захищений елемент>

<позначка класу> ::= <ідентифікатор>

<закритий елемент> ::= <опис змінної> | <метод> |

 <прототип методу> | <опис статичної змінної>

<опис статичної змінної> ::= static <опис змінної>

<відкритий елемент> ::= <конструктор> | <деструктор> |

 <опис змінної> | <метод> | <прототип методу> |

 <метод типу static> | <метод типу const>

<захищений елемент> ::= <опис змінної> | <метод> |

        <прототип методу>

<конструктор> ::= <позначка класу>

       ({<список формальних параметрів>}0)

       {<тіло конструктора>}

<тіло конструктора> ::= <тіло закритої підпрограми>

<деструктор> ::= ~<позначка класу> ( ) {<тіло деструктора>}

<тіло деструктора> :: = <тіло закритої підпрограми>

<метод> ::= <опис функції>

<прототип методу> ::= <опис прототипу функції>

<метод типу static> ::= static <метод>

<метод типу const> ::=<позначка типу значення, що вироблюється> 

      <позначка методу> ({<список формальних параметрів>}0) const

  <тіло методу>

Опис методу поза класом:

<опис методу поза класом> ::= <опис методу> |

 <опис методу типу static> | <опис методу типу const>

<опис методу> ::= <позначка типу значення, що вироблюється> 

       <позначка класу>::<позначка методу>

       ({<список формальних параметрів>}0)

       <тіло методу>

<позначка методу> ::= <ідентифікатор>

<тіло методу> ::= {{<оператори>}0}

<опис методу типу static> ::= <опис методу>

<опис методу типу const> ::=

  <позначка типу значення, що вироблюється > 

  <позначка класу>::<позначка методу>

  ({<список формальних параметрів>}0) const

  <тіло методу>

Опис конструктора та деструктора поза класом:

<опис конструктора поза класом> ::=

  <позначка класу>::<конструктор>

<опис деструктора поза класом> ::=

  <позначка класу>::~<деструктор>

Опис статичних елементів поза класом:

<позначка типу> <позначка класу> :: <ідентифікатор> =

     <статичний вираз>

Використання конструкторів, методів та статичних елементів:

<використання конструкторів> ::= <позначка класу>

            <позначка об'єкта>;

<позначка об'єкта> ::= <ідентифікатор> | <ідентифікатор>

 ({<список фактичних параметрів>}) | &<ідентифікатор> |

 *<ідентифікатор> | <ідентифікатор>[<R-вираз>]

<використання методів> ::= <ідентифікатор об'єкта>.

  <виклик методу> | <ідентифікатор об'єкта>-><виклик методу>

<виклик методу> ::= <виклик функції>

<використання методу типу const> ::=  <використання методів>

<використання методу типу static> ::= <позначка класу> :: 

      <виклик методу>

Мова С#

Опис класу:

<опис класу> ::= class  <позначка класу>  {<тіло класу>}

<тіло класу> ::= {private <закритий елемент>}0 

    {public  <відкритий елемент>}0

    {protected  <захищений елемент>}0 

<позначка класу> ::= <ідентифікатор>

<закритий елемент> ::=  <опис змінної> | <метод> |

 <метод типу static>  | <опис статичної змінної>

<опис статичної змінної> ::= static <опис змінної>

<відкритий елемент> ::= <конструктор> | <деструктор> |

 <опис змінної> | <метод>| <метод типу static>  

<захищений елемент> ::= <опис змінної> | <метод>

<конструктор> ::= <позначка класу>

       ({<список формальних параметрів>}0)

       {<тіло конструктора>}

<тіло конструктора> ::= <тіло закритої підпрограми>

<деструктор> ::= ~<позначка класу> ( ) {<тіло деструктора>}

<тіло деструктора> :: = <тіло закритої підпрограми>

<метод> ::= <опис функції>

<метод типу static> ::= static <метод>

<метод типу const> ::=<позначка типу значення, що вироблюється> 

     <позначка методу> ({<список формальних параметрів>}0)  const

<тіло методу>


Методичні рекомендації

Опис класу може складатися з трьох частин: закритої, відкритої та захищеної. За умовчанням першою частиною є закрита. Тому рекомендується починати опис класу із закритих елементів.

Для наочності опису класу користувачеві рекомендується опис таких відкритих елементів, як <конструктор>, <деструктор> та <метод>, наводити поза класом. Пам’ятайте, якщо в класі описаний статичний елемент, то його необхідно обов’язково визначити та ініціювати поза класом.

Пишучи програму мовою С++, опис класу слід виконувати в окремому заголовковому файлі (.h), а опис методів у файлі .сpp. Пишучи програму мовою С# опис класу слід виконувати в окремому від головної програми файлі .cs.

Всі методи класу, окрім <метод типу static>, при виклику одержують неявний аргумент – вказівну this (тобто адресу об’єкта).

Користувачу в роботі необхідно самостійно навести опис усіх елементів <конструктор> та <деструктор>, незважаючи на те, що в мові С# <конструктор> за умовчанням (<конструктор> без параметрів) та <деструктор> створюються автоматично.

Контрольні запитання та завдання

1. Що таке клас? Що відрізняє клас і об’єкт?

2. З яких частин складається опис класу?

3. Що таке конструктор та деструктор?

4. Наведіть  приклади типів конструкторів.

5. Для чого використовується конструктор?

6. Для чого використовується деструктор?

7. Наведіть приклади використання методів.

  Література: [1]; [2]; [5]; [6].


Лабораторна робота  1.3

ДОСЛІДЖЕННЯ КОНТЕЙНЕРНИХ КЛАСІВ

Мета роботи – дослідити опис контейнерних класів, набути навички їх створення та використання в об’єктно-орієнтованих мовах програмування С++ та С#.

Завдання

1. Вивчити та дослідити опис контейнерних класів у мовах програмування С++ та С#.

2. Написати програми мовами програмування С++ та С#, що демонструють випадки застосування контейнерних класів, згідно з варіантом (дод. 3).

Теоретичні відомості

Опис контейнерного класу:

<опис контейнерного класу> ::= class <позначка класу>

   { <опис об'єктів інших класів>

      <опис елементів контейнерного класу> };

<опис об'єктів інших класів> ::= <позначка класу >

<позначка об’єкта>; | <позначка класу > *<позначка об’єкта>; |

<позначка класу > <позначка об’єкта>[R-вираз];

Контрольні запитання

1. Що таке контейнерний клас?

2. Який порядок створення обєкта контейнерного класу.

Література: [3]; [4]; [6]; [7].

Лабораторна робота  1.5

ДОСЛІДЖЕННЯ ПЕРЕВАНТАЖЕННЯ ОПЕРАЦІЙ ТА ОПЕРАТОРІВ

Мета роботи – дослідити перевантаження унарних та бінарних операцій та операторів.

Завдання

1. Дослідити опис перевантаження операцій у мовах програмування С++ та С#.

2. Дослідити опис перевантаження операторів у мовах програмування С++ та С#.

3. Написати програми мовами С++ та С# для дослідження опису та використання перевантаження операцій та операторів згідно з варіантом  (дод. 5).

Теоретичні відомості

Мова С++

Опис перевантаження операцій:

<опис перевантаження операцій> ::=

<опис перевантаження унарної операції> |

<опис перевантаження бінарної операції>

<опис перевантаження унарної операції> ::= <позначка класу>

            operator <позначка унарної операції> ( )

{<тіло перевантаженої унарної операції>}

<тіло перевантаженої унарної операції> ::= <тіло закритої

підпрограми, яке закінчується оператором  return *this;>

<опис перевантаження бінарної операції> ::=

<позначка типу значення, що вироблюється>

operator <позначка бінарної операції> (<параметр> )

{<тіло перевантаженої операції>}

<тіло перевантаженої операції>::= <тіло закритої підпрограми>

<параметр> ::= <другий операнд перевантаженої бінарної операції>

Опис перевантаження оператора привласнення:

<опис перевантаження оператора привласнення>::=

<позначка класу>& operator = (<пар. const>)

{<тіло перевантаженого оператора>}

<пар. const> ::= const <позначка класу> & <ідентифікатор>

<тіло перевантаженого оператора> ::= <тіло закритої підпрограми,

яке закінчується оператором return *this;>

Мова С#

Опис перевантаження операцій:

<опис перевантаження операцій> ::=

<опис перевантаження унарної операції> |

<опис перевантаження бінарної операції>

<опис перевантаження унарної операції> ::= public static 

<позначка класу> operator <позначка унарної операції>

(<параметр>) {<тіло перевантаженої унарної операції>}

<параметр> ::= <операнд перевантаженої унарної операції>

<тіло перевантаженої унарної операції> ::= <тіло закритої

підпрограми>

<опис перевантаження бінарної операції> ::= public static 

<позначка типу значення, що вироблюється>   operator

<позначка бінарної операції> (<параметр>, <параметр>)

{<тіло перевантаженої операції>}

<тіло перевантаженої операції>::= <тіло закритої підпрограми>

<параметр> ::= <операнд перевантаженої бінарної операції>

Методичні рекомендації

Пам’ятайте, що якщо при використанні бінарної операції або оператора з об’єктом вашого класу тип першого операнда не збігається з типом вашого класу, то опис перевантаження такої операції або оператора необхідно робити як дружню функцію. У цьому випадку обидва операнди передаються в списку параметрів.

Якщо перевантаження унарної операції описується як метод класу, то в нього відсутній список параметрів, тому що єдиний операнд цієї операції є неявним аргументом (*this).

Контрольні запитання та завдання

1. Що означає перевантажити оператор чи операцію?

2. Наведіть приклади перевантаження унарних операцій.

3. Наведіть приклади перевантаження бінарних операцій та операторів.

4. Покажіть, як використовуються перевантажені операції та оператори.

Література: [1] - [3]; [5].

Лабораторна робота  1.6

ДОСЛІДЖЕННЯ МЕХАНІЗМУ ОДИНОЧНОГО УСПАДКУВАННЯ КЛАСІВ

Мета роботи – дослідити механізм одиночного успадкування класів.

Завдання

1. Дослідити механізм одиночного успадкування класів у мовах програмування С++ та С#.

2. Написати програми мовами С++ та С#, що демонструють застосування механізму одиночного успадкування класів згідно з варіантом (дод. 6).

Теоретичні відомості

Мова С++

Опис базового класу:

<опис базового класу> ::= <опис класу>

Опис похідного класу:

<опис похідного класу> ::= class <позначка класу> :

                       <атрибут доступу>

           <позначка базового класу>

          {<тіло похідного класу>};

<атрибут доступу> ::= {private} | public | protected

<позначка базового класу> ::= <ідентифікатор>

<тіло похідного класу> ::= <тіло класу>

Якщо базовий клас успадковується з атрибутом доступу  public, то елементи public базового класу стають елементами public похідного класу. Елементи protected базового класу стають елементами protected похідного класу.  Елементи private базового класу  не успадковуються.  

Якщо базовий клас успадковується з атрибутом доступу private то елементи public і protected базового класу стають елементами private похідного класу. Елементи private базового класу не успадковуються.

Якщо базовий клас успадковується з атрибутом доступу protected, то елементи public і protected базового класу стають елементами protected похідного класу. Елементи private базового класу  не успадковуються.

Явний виклик конструктора базового класу:

<виклик конструктора базового класу> ::=

<опис конструктора похідного класу>

<опис конструктора похідного класу> ::=

    <позначка похідного класу>

  (<список формальних параметрів базового та похідного класів>) :

  <позначка базового класу>

  (<список фактичних параметрів базового класу>)

  {<тіло конструктора похідного класу>}

Мова С#

Опис базового класу:

<опис базового класу> ::= <опис класу>

Опис похідного класу:

<опис похідного класу> ::= class <позначка класу> :

           <позначка базового класу>

          {<тіло похідного класу>}

<позначка базового класу> ::= <ідентифікатор>

<тіло похідного класу> ::= <тіло класу>

Явний виклик конструктора базового класу:

<виклик конструктора базового класу> ::=

<опис конструктора похідного класу>

<опис конструктора похідного класу> ::=

    <позначка похідного класу>

  (<список формальних параметрів базового та похідного класів>) :

  base (<список фактичних параметрів базового класу>)

  {<тіло конструктора похідного класу>}

Методичні рекомендації

Необхідно пам'ятати, що елементи <конструктор> та <деструктор> базового класу не успадковуються.

При створенні об'єкта похідного класу завжди спочатку викликається <конструктор> базового класу, а потім <конструктор> похідного класу. Тому для ініціювання закритих елементів базового класу необхідно явно звертатися до конструктора базового класу.

Контрольні запитання та завдання

1. У чому полягає сутність механізму успадкування?

2. Розкажіть, які бувають типи успадкування.

3. Поясніть роль атрибута доступу в успадкуванні.

4. Наведіть приклади використання методів базового класу при його успадкуванні з атрибутом доступу public.

5. Наведіть приклади використання методів базового класу при його успадкуванні  з атрибутом доступу private.

6. Наведіть приклади використання методів базового класу при його успадкуванні  з атрибутом доступу protected.

Література: [1] - [3]; [5]; [6].

Лабораторна робота  2.1

ДОСЛІДЖЕННЯ ПОЛІМОРФІЗМУ

Мета роботи – дослідити застосування поліморфізму в мовах об'єктно-орієнтованого програмування на прикладі мов С++ та С#.

 

Завдання

1. Дослідити механізм поліморфізму.

2. Дослідити віртуальні функції.

3. Написати програми мовами С++ та С# для дослідження поліморфізму згідно з варіантом (дод. 8).

Теоретичні відомості

Мова С++

Опис віртуальних функцій:

<опис віртуальної функції> ::= virtual <опис функції>

<опис суто віртуальної функції> ::=

 virtual <опис прототипу функції> = 0;

Використання віртуальної функції:

<використання віртуальної функції> ::=

 <використання методу класу>

Мова С#

Опис віртуальних функцій:

<опис віртуальної функції> ::= virtual <опис функції>

<опис суто віртуальної функції> ::=

 abstract <опис прототипу функції>;

<перевантаження віртуальної функції>::= override <опис функції>;

Використання віртуальної функції:

<використання віртуальної функції> ::=

 <використання методу класу>

Методичні рекомендації

Якщо функція була оголошена як віртуальна, то вона зберігає цю властивість у всіх перевизначеннях у похідних класах. Описуючи віртуальну функцію у похідному класі, можна не використовувати модіфікатор virtual.

Якщо в класі є хоча б один <опис суто віртуальної функції>, то такий клас називається абстрактним. Пам'ятайте, що абстрактний базовий клас використовується тільки для успадкування інтерфейсу та реалізації, тому його об’єкти не можуть бути реалізованими.

Контрольні запитання

1. У чому полягає сутність поліморфізму?

2. Наведіть приклади застосування поліморфізму.

3. Яка функція називається віртуальною?

4. Яка функція називається суто віртуальною?

5. Як використовуються віртуальні функції?

6. Який клас називається абстрактним?

7. Наведіть приклади абстрактного класу.

Література: [1] - [3]; [5]; [6].

Лабораторна робота  2.3

ДОСЛІДЖЕННЯ ПОТОКОВОГО ВВЕДЕННЯ/ВИВЕДЕННЯ

Мета роботи – дослідити потокове введення/виведення, перевантаження операцій >>, <<, можливості форматування введення/виведення.

Завдання

1. Вивчити опис потокового введення/виведення у мові С++.

2. Дослідити опис перевантаження операцій >>  та  << у мові С++.

3. Дослідити можливості форматування введення/виведення у мові С++.

4. Написати програму мовою С++ для дослідження опису та використання потокового введення/виведення згідно з варіантом (дод. 10).

Теоретичні відомості

Потокове введення:

<потокове введення> ::= <об’єкт класу istream>  >>  <параметр1>

      {>>  <параметр1>}0 ;

<об’єкт класу istream> ::= cin

<параметр1> ::= <ідентифікатор>

Потокове виведення:

<потокове виведення> ::= <об’єкт класу ostream>  <<  <параметр2>

        {<<  <параметр2>}0 {<< endl}0;

<об’єкт класу ostream>  ::= cout

<параметр2> ::= <ідентифікатор> | <рядок символів> |

     | <маніпулятор>

<маніпулятор> ::= <стандартні функції форматування виведення

      значень з файла iomanip.h>

Опис перевантаження операції  >>:

<опис перевантаження операції  >> > ::= istream& operator >>

 (istream& <пар.1>,<форм.парам.1>)

{<тіло перевантаженого оператора>}

<пар.1> ::= <ідентифікатор об’єкта класу istream>

<форм.парам.1> ::= <опис посилання на об’єкт класу >

Опис перевантаження операції  <<:

<опис перевантаження операції << > ::= ostream& operator <<

 (ostream& <пар.2>, <форм.парам.2>)

  {<тіло перевантаженого оператора>}

<пар.2> ::= <ідентифікатор об’єкта класу ostream>

<форм.парам.2> ::= const <опис посилання на об’єкт класу > |

<опис об’єкта класу>

Сі++: Файл iomanip.h

setbase(<основа>); - встановлює значення системи числення для

           параметрів, що виводяться

<основа> ::= 8 | 10 | 16

setiosflags(<біт прапору>); - встановлює вирівнювання

<біт прапору> ::= 1 | 2

1 – по правому краю; 2 – по лівому краю.

setfill(<символ>); - встановлює символ, яким заповнюються вільні

         позиції для параметра, що виводиться

<символ> ::=  <символьний літерал>

setw(<поле>); - встановлює кількість позицій під параметр,

  що виводиться

<поле> ::= <ціле значення>

setprecision(<поле>); - встановлює кількість позицій після крапки

   для параметра, що виводиться

Методичні рекомендації

Треба пам’ятати, що опис перевантаження операції  >>  або  <<  не може бути методом класу, що описується, а тільки дружньою функцією, бо об’єкт цього класу передається явно, як формальний параметр. Важливо також, щоб під час описування перевантаження потокового введення об’єкт класу, що описаний, передавався через посилання.

Під час описування методів класу, що виводять значення об’єкта, ви повинні використовувати маніпулятори виведення, які описані у файлі iomanip.h. Для використання потокового введення/виведення необхідно в програму включити файл iostream.h.

Контрольні запитання

1. Що таке потік? Як він використовується?

2. Що таке маніпулятори і для чого вони використовуються?

3. Як описується перевантаження операцій  >> та <<?

4. Використання перевантажених операцій  >> та <<?

Література: [1] - [3].

Лабораторна робота 2.4

ДОСЛІДЖЕННЯ РОБОТИ З ФАЙЛАМИ

Мета роботидослідити роботу з файлами з використанням потоків у мові С++.

Завдання

1. Дослідити структуру класів потокового введення/виведення для роботи з файлами у мові С++.

2. Написати програму мовою С++, яка демонструє застосування класів потокового введення/виведення для роботи з файлами на прикладі побудови бази даних про студентів та складається з:

– опису класу "Студент": змінна "студент" пойменованого типу; конструктор за умовчанням для початкової ініціалізації об’єкта; метод введення характеристик об’єкта як перевантаження операції >>; метод виведення характеристик об’єкта як перевантаження операції <<; метод запису об’єкта до файла як перевантаження операції <<; метод читання об’єкта з файла як перевантаження операції >>; метод обробки файла; методи ініціювання та закриття графічного режиму; метод побудови результату обробки файла у вигляді гістограми;

– завдання: створити базу даних про студентів, яка зберігається у файлі, для чого необхідно створити об’єкт класу "Студент", ввести та записати до файла N студентів (N > 5), вивести базу даних про студентів на екран, обробити базу даних і побудувати результат обробки у вигляді гістограми.

3. Варіанти до виконання роботи слід вибирати з дод.11.

Теоретичні відомості

Файлове введення/виведення оброблюється за допомогою файла fstream.h, який включає опис класів ifstream, ofstream та fstream для створення та управляння вхідними та вихідними файловими потоками. Ієрархія класів наведена на мал.1.

Мал. 1. Ієрархія класів потокового введення/виведення

Для правильного відкриття файлових потоків необхідно створити об’єкти потрібних класів відповідними конструкторами, що мають такий опис:

ifstream();

ifstream(const char*);

ifstream(const char*, int);

ofstream();

ofstream(const char*);

ofstream(const char*, int);

fstream();

fstream(const char*, int);

Перший параметр конструкторів з параметрами є рядком символів, який визначає повне ім’я файла, другий параметр – визначає режим відкриття файла (табл. 1).

Таблиця 1

Режим

Опис

ios::in

Читання даних з файла

ios::out

Запис даних до файла

ios::app

Запис даних до файла з доповненням у кінець

ios::ate

Відкриття файла з пошуком його кінця, але запис даних можливе з будь-якої позиції

ios::trunc

Відкриття існуючого файла з очищенням його вмісту

ios::nocreate

Відкриття тільки існуючого файла

ios::noreplace

Відкриття нового файла

ios::binary

Відкриття двоїчного файлу

Конструктор за умовчання створює об’єкт класу, який пізніше буде зв’язаний з файлом за допомогою методу

void open(const char*, int),

який має ті ж самі параметри, що й конструктори з параметрами.

Кожний файл повинний бути закритим за допомогою деструктора відповідного класу або за допомогою методу close().

Запис даних до файла:

<Запис даних до файла> ::=   <об’єкт класу ofstream або fstream>

<<  <параметр>; | <об’єкт класу ofstream або fstream> .write((char*)&< параметр >, int <size>);

<параметр> ::= <ідентифікатор змінної >

<size> ::= sizeof(<параметр>)

Читання даних з файла:

<Читання даних з файла> ::= <об’єкт класу ifstream або fstream>  

>>  <параметр>; | <об’єкт класу ifstream або fstream>

.read((char*)&< параметр >, int <size>);

Методи позиціонування вказівної позиції файла:

seekg(int <пар.> {, int <направлення>}01); – позиціонувати

покажчик читання з файла

seekp(int <пар.> {, int <направлення>}01); – позиціонувати

покажчик запису до файла

Якщо ці методи використовуються з одним параметром, то

<пар.> ::= кількість байтів від початку файла.

Якщо ці методи використовуються з двома параметрами, то

<пар.> ::= кількість байтів, на які потрібно пересунути покажчик

<направлення> ::= ціле значення, що визначає від якої позиції

     необхідно відкласти <пар.>:

ios::cur  – від поточної позиції;

ios::beg – від початку файлу;

ios::end – від кінця файлу.


Методичні рекомендації

Перш ніж описувати клас “Студент” опишіть пойменований тип, який характеризує студента, а в класі опишіть змінну цього пойменованого типу. Всі методи та конструктори класу повинні бути описані поза класом.

Для більш наглядної демонстрації результатів роботи програми необхідно одночасно вивести на екран всю базу даних про студентів та результат обробки файла у вигляді гістограми.

Контрольні запитання та завдання

1. Опишіть ієрархію класів потокового введення/виведення.

2. Яким чином можна відкрити файл для запису?

3. Яким чином можна відкрити файл для читання?

4. Наведіть приклади введення даних до файла.

5. Наведіть приклади виведення даних з файла.

6. Що таке покажчик позиції файла і як виконується  його позиціонування?

Література: [1] - [3].

PAGE  20


ios

stream

ostream

iostream

fstream

ofstream

ifstream


 

А также другие работы, которые могут Вас заинтересовать

6894. Общие сведения о механических передачах 49.5 KB
  Общие сведения о механических передачах Для увеличения производительности и облегчения физического и умственного труда человека создаются машины - механические устройства, выполняющие движения для преобразования энергии, материалов или информац...
6896. Определение постоянной в законе Стефана-Больцмана 107 KB
  Цель работы: изучение законов теплового излучения. Приборы и принадлежности: лампа накаливания, выпрямитель, реостат, амперметр, вольтметр, приёмник светового излучения, микроамперметр. Тела способны излучать электромагнитные волны...
6897. Исследование спектров поглощения ипропускания световых волн 106 KB
  Исследование спектров поглощения ипропускания световых волн Цель работы: освоение методов получения спектров пропускания, ознакомление с параметрами фильтров и с принципом работы монохроматора. Приборы и принадлежности: монохроматор МУМ-01, блок пит...
6898. Изучение и компьютерное моделирование работы LC-автогенератора с трансформаторной обратной связью 320 KB
  Автогенераторы Цель работы Изучение и компьютерное моделирование работы LC-автогенератора с трансформаторной обратной связью. В работе необходимо исследовать условия самовозбуждения автогенератора, а также научиться определять амплитуду нап...
6899. Поняття державного механізму та значення його для держави 81.72 KB
  Вступ На будь-якому етапі розвитку людства питання про те, якою повинна бути держава, її функції, а також як і ким повинна здійснюватися державна влада залишалося в тій або іншій мірі актуальним і суттєвим. Держава, як вища форма організації суспіль...
6900. Разработка форм и интерфейса базы данных используя средства Microsoft Access 336 KB
  Разработка форм Цель работы: Используя средства Microsoft Access, приобрести навыки разработки интерфейса базы данных Основы создания формы. Создадим форму с помощью автоформы - Клиенты. Для этого будем использовать таблиц...
6901. Лінійна алгебра. Конспект лекцій та тестові завдання 855 KB
  Вища математика належить до циклу фундаментальнихдисциплін і забезпечує вивчення загальнонаукових, загально інженерних та спеціальних дисциплін.У технічному університеті курс вищої математики є одним із основних, визначальних, як для всь...
6902. Правознавство. Основи державного (конституційного) права України 1.37 MB
  Лекція 1. Основи державного (конституційного) права України ПЛАН Загальна характеристика держави. Державний суверенітет. Поняття і риси правової держави. Форми держави. Загальна характеристика права. Поняття норм права. Джере...