Класове в C++ (Rev: 742) Любомир Чорбаджиев 1 20 октомври 2006 г. Съдържание Съдържание 1 Обектно-ориентирано програмиране 1

Размер: px
Започни от страница:

Download "Класове в C++ (Rev: 742) Любомир Чорбаджиев 1 20 октомври 2006 г. Съдържание Съдържание 1 Обектно-ориентирано програмиране 1"

Препис

1 Класове в C++ (Rev: 742) Любомир Чорбаджиев 1 lchorbadjiev@elsys-bg.org 20 октомври 2006 г. Съдържание Съдържание 1 Обектно-ориентирано програмиране Модулност Обектно-ориентирана терминология Класове в C Класове и обекти Член-променливи Член-функции Модификатори за достъп до членовете на класа Приятелски функции и класове Обекти Конструктори Дефиниране на член-функции Обектно-ориентирано програмиране 1.1. Модулност Сложност на програмното обезпечение Сложността е присъща на по-голямата част от програмните продукти, които се разработват в софтуерната индустрия. Сред основните причини за сложността на програмните системи са: 1

2 Сложността на предметната област, която програмните системи моделират. Размерът на програмните продукти. Гъвкавостта на програмните системи. Нуждата от развитие на програмните системи. Сложност на програмното обезпечение 1 Grady Booch, Object Oriented Analysis and Design with Applications, Декомпозиция Начинът за управление на сложни системи е известен още от древността разделяй и владей (divide et impera) (Dijkstra, E Programming Considered as a Human Activity.) Програмната система се разделя на части модули, компоненти. Отделните модули трябва да могат да се развиват самостоятелно. Модулите трябва да са независими. Връзките между отделните модули трябва да са слаби. Те трябва да се осъществяват чрез специално дефинирани интерфейси. Капсулация Капсулация се нарича скриването на всички детайли на модула, които нямат принос към неговите съществени характеристики. 2

3 Капсулацията е принцип, който се използва при създаването на общата структура на програмата, съгласно който всеки компонент на програмата трябва да капсулира (или скрива) вътрешното си устройство encapsulation, information hiding. Интерфейсът на всеки модул трябва да се дефинира така, че да разкрива колкото може по-малко от вътрешната структура на модула. Капсулация Да се разкриват само детайлите, които са съществени за взаимодействието на модула с външния свят. Ударението се поставя върху въпроса Какво? прави модула, а не Как? го прави. Скриват се детайлите на реализацията на поведението на модула. Запазва модула от външно вмешателство в тяхното вътрешно състояние. Намалява зависимостите между различни части на програмата. Модулите взаимодействат един с друг само посредством дефинираните интерфейси Обектно-ориентирана терминология Обектно-ориентирано програмиране Първият обектно-ориентиран език за програмиране е SIMULA I, разработен в периода от Ole-Johan Dahl и Kristen Nygaard. Малко по-късно се появява и SIMULA 67 (1967). В езикът SIMULA 67 са въведени повечето от ключовите концепции на обектно-ориентираното програмиране обекти, класове, наследяване, полиморфизъм. През 90 години на XX век обектно-ориентираното програмиране се превръща в доминираща софтуерна технология. Обектно-ориентирана терминология Обект обединение между данните и функциите, предназначени за обработването на тези данни. Метод предоставя услуга, характерна за даден обект. Съобщение заявка за изпълнение на даден метод. 3

4 Клас шаблон, по който се създават обекти. Инстанция обект, който принадлежи на даден клас. Обектно-ориентирана терминология Капсулация скриване на вътрешното устройство на обектите. Наследяване механизъм, който позволява повторно използване на спецификациите на класовете. Йерархия от класове дървовидна структура, която отразява наследствените взаимоотношения между класовете. Полиморфизъм възможността на различни класове да отговарят на едни и същи съобщения по различен начин. Обектно-ориентиран подход Програмната система е организирана около обекти. Обектите изпращат съобщения един на друг. Данните и функциите, които ги обработват, са обединени в обекти. Предметната област на програмната система се моделира в термините на обекти. Обекти Grady Booch, Object Oriented Analysis and Design with Applications,

5 Обекти Обектът е инстанция на даден клас. Обектът притежава идентичност (уникален екземпляр). Класът дефинира както интерфейса, така и реализацията на множество обекти. Класът определя поведението на всички негови обекти. След като обектът се създаде, той не може да променя класа към който принадлежи. Обекти Обектите притежават състояние, поведение и идентичност. Структурата и поведението на подобни обекти се дефинира от техния общ клас. Термините обект и инстанция са взаимозаменяеми. Обектите представят реални или абстрактни неща. Обикновено не са много сложни или големи. Трябва да имат представа за малък брой от другите обекти. Трябва да са колкото може по-малко обвързани с интерфейсите на другите обекти. Класове Класът е множество от обекти, които имат общи атрибути и поведение. Класификацията на дадено множество от обекти зависи от гледната точка. Клас е общ термин, който се използва при различни видове класификация. Група еднородни предмети, които по своите особености заемат определено място сред други подобни предмети [Български Тълковен Речник, Издателство на БАН, 1993г]. Класове Група, множество или вид, притежаващи общи атрибути. В контекста на обектно-ориентираното програмиране, класът е множество от обекти, които притежават обща структура и общо поведение. 5

6 Класът представлява спецификация на структурата, поведението (методите) и наследствеността на обектите. Абстрактен клас се нарича клас, който няма инстанции. 2. Класове в C Класове и обекти Класове в C++ Класовете в C++ предоставят на програмистите механизъм за създаване на нови типове. Класът е тип, дефиниран от потребителя. Добре подбраният набор от типове, дефинирани от потребителя, прави програмата пократка и по-изразителна. Основният смисъл на дефинирането на нови типове се състои в разделянето на несъществените детайли от свойствата, които имат определящо значение за правилното функциониране на програмата. Дефиниция на клас Дефиницията на класа се състои от две части: Заглавна част, която се състои от ключовата дума class и идентификатор, обозначаващ името на класа. Тяло на класа, което е затворено във фигурни скоби. Дефиницията на класа трябва да бъде последвана от точка и запетая или от списък от дефиниции на променливи. c l a s s Point { /*... */ }; c l a s s Rectangle { /*... */ } r1,r2; Тяло на класа В тялото на класа се дефинира списъкът от членове на класа и нивото на достъп до тях. Тялото на класа дефинира област на действие на класа. Декларирането на членове на класа в тялото на класа въвежда имената им в областта на действие на класа. Напълно възможно е два класа да имат членове с еднакви имена, тъй като те се отнасят до различни области на действие. 6

7 Обекти Дефиницията на класа може да се разглежда като шаблон, по който се създават обекти. Дефинирането на клас създава нов тип в областта на видимост, в която е направена дефиницията. За да се дефинира обект от даден клас, трябва да се дефинира променлива от съответния тип. Point p1; Point p2; 2.2. Член-променливи Член-променливи Дефинирането на член-променливите на класа е аналогично на дефинирането на променливи. Класовете могат да имат нестатични и статични член-променливи. 2 double x_; 3 double y_; 4 }; 1 c l a s s Rectangle { 2 double x_, y_, width_, height_ ; 3 }; Член-променливи Нестатичните член-променливи не могат да бъдат инициализирани при тяхното дефиниране. 1 c l a s s Foo { 2 i n t bar_ =42; // error! 3 }; При дефинирането на член-променлива не се заделя памет. Заделянето на памет и инициализирането на член-променливите се извършва едва при създаването на обект от дадения клас. Член-променливите на класа се инициализират от конструктора на класа. 7

8 2.3. Член-функции Член-функции Член-функциите реализират множеството от операции, които могат да се извършват върху обектите от даден клас. За да стане една функция член на класа, тя трябва да бъде декларирана в тялото на класа. Член-функциите могат да се дефинират в тялото на класа v o i d set_x ( double x); 4 i n t get_x () { r e t u r n x_ ;} 5 }; Член-функции Член-функциите са дефинирани в областта на действие на класа. Имената на член-функциите не се виждат извън областта на действие на класа. Извикването на член функция става като се използва оператора. (точка) или оператора -> (стрелка). 1 Point p1; 2 p1. set_x (4.2); 3 Point * ptr =& p1; 4 ptr -> get_x (); Член-функциите имат пълен достъп до всички член-променливи и член-функции на класа Модификатори за достъп до членовете на класа Модификатори за достъп Капсулирането (скриването на информацията) е механизъм който предпазва вътрешното представяне на данните. Класовете в C++ имат силно развит механизъм за скриване на информацията. В основата му са спецификаторите за достъп public, private и protected. Публичните членове на класа са достъпни от всички точки на програмата. 8

9 Скритите членове на класа са достъпни само в член-функциите на класа и в приятелите на класа. Защитените членове се държат като публични за членовете на производните класове и като скрити за всички останали точки на програмата. Достъп до членовете на класа 2 double x_; 3 double y_; 4 p u b l i c : 5 v o i d set_x ( double x ) { x_=x;} 6 v o i d set_y ( double y ) { y_=y;} 7 double get_x ( v o i d ) { r e t u r n x_ ;} 8 double get_y ( v o i d ) { r e t u r n y_ ;} 9 }; Point p1, p2; 12 p1. set_x (10.0); 13 p2.x_ =10.0; // грешка Достъп до членовете на класа 1 #i n c l u d e < iostream > 2 u s i n g namespace std ; 3 4 c l a s s Point { 5 double x_; 6 double y_; 7 p u b l i c : }; v o i d print ( Point & p ) { 12 cout <<p.x_ <<" " <<p.y_ << endl ;// грешка!! 13 } 2.5. Приятелски функции и класове Приятели на клас Механизмът на приятелите позволява да се даде достъп на определени функции до скритата част на класа. 9

10 Приятелските декларации съдържат ключовата дума friend. Няма значение в коя секция на тялото на класа е направена приятелската декларация. 2 f r i e n d v o i d print ( Point & p); 3 double x_, y_; 4 p u b l i c : }; 7 v o i d print ( Point & p ) { 8 cout << p.x_ << " " << p.y_ << endl ; 9 } 2.6. Обекти Обекти Дефиницията на класа може да се разглежда като шаблон, по който се създават обекти. Дефинирането на клас създава нов тип в областта на видимост, в която е направена дефиницията. За да се дефинира обект от даден клас, трябва да се дефинира променлива от съответния тип. При дефиниране на променлива от типа на даден клас се създава обект (екземпляр, инстанция) от класа. Всеки обект притежава собствено копие на член-променливите на класа. Обекти Всеки обект притежава собствено копие на нестатичните член-променливи на класа. Всички обекти от даден клас си поделят само едно копие на членфункциите на класа. С други думи в програмата има само едно копие на член-функциите на класа. Point p1,p2; p1. get_x (); p2. get_x (); Когато методът get_x() се извиква чрез обекта p1, то използваната в метода член-променливата x_ принадлежи на обекта p1. Аналогично за p2. 10

11 Обекти 2 double x_, y_; 3 p u b l i c : 4 v o i d set_x ( double x ) { x_=x;} 5 double get_x ( v o i d ) { r e t u r n x_ ;} 6 }; 1 Point p1, p2; 2 p1. set_x (10); 3 p2. set_x (20); 4 p1. get_x (); 5 p2. get_x (); 2.7. Конструктори Конструктори Член-променливите не могат да се инициализират при тяхната дефиниция. За инициализиране на обектите от даден клас се използва специализирана член-функция, която се нарича конструктор. Името на конструктора съвпада с името на самия клас. 2 double x_,y_; 3 p u b l i c : 4 Point ( double x, double y ); // конструктор 5 //... 6 }; Конструктори При създаването на всеки обект се извиква конструктор на класа, който инициализира обекта. Ако конструкторът има аргументи, то те трябва да се предадат при извикването му. 1 Point p1 = Point (1.0,1.0); 2 Point p2 (2.0,2.0); 3 Point p3 ; // грешка 4 Point p4 (4.0); // грешка 11

12 Конструктори Има възможност за един клас да се дефинират няколко конструктора. 2 p u b l i c : 3 Point ( double x, double y); 4 Point ( v o i d ); 5 }; Кой конструктор ще се извика в даден конкретен случай се решава според аргументите, които се предадени при извикването на конструктора. 1 Point p1 (1.0,1.0); 2 Point p2; Конструктор по подразбиране Конструктор по подразбиране се нарича конструктор, който може да се извика без да му се предават аргументи. Ако програмистът не дефинира никакъв конструктор на класа, то компилаторът при необходимост ще генерира конструктор по подразбиране. Генерираният от компилатора конструктор по подразбиране извиква конструкторите по подразбиране на всички член-променливи на класа. Конструктори: пример 2 double x_, y_; 3 p u b l i c : 4 Point ( double x, double y ) { 5 x_=x; 6 y_=y; 7 } 8 }; Конструктори: пример 12

13 2 double x_, y_; 3 p u b l i c : 4 Point ( double x, double y) 5 :x_(x), y_(y) 6 {} 7 }; Конструктори: пример Конструктори: пример 1 c l a s s Rectangle { 2 Point ul_, br_ ; 3 p u b l i c : 4 Rectangle ( double x, double y, 5 double w, double h){ 6 ul_. set_x (x). set_y (y); 7 br_. set_x (x+w). set_y (y+h); 8 } 9 }; Конструктори: пример 1 c l a s s Rectangle { 2 Point ul_, br_ ; 3 p u b l i c : 4 Rectangle ( double x, double y, 5 double w, double h) 6 : ul_ (x,y), br_ (x+w,y+h) 7 {} 8 }; 13

14 2.8. Дефиниране на член-функции Дефиниране на член-функции: Point.hpp 1 #i f n d e f POINT_HPP 2 #define POINT_ HPP 3 4 c l a s s Point { 5 double x_, y_; 6 p u b l i c : 7 Point ( double x, double y); 8 Point & set_x ( double x); }; 11 #e n d i f Дефиниране на член-функции: Point.cpp 1 #i n c l u d e " Point. hpp " 2 3 Point :: Point ( double x, double y) 4 : x_(x), y_(y) 5 {} 6 Point & Point :: set_x ( double x ) { 7 x_=x; 8 r e t u r n * t h i s ; 9 }

2. Наследяване в C++ Съдържание Съдържание Наследяване (Rev: 1.2) Любомир Чорбаджиев 1 1 февруари 2007 г. 1 Наследяване 1 2

2. Наследяване в C++ Съдържание Съдържание Наследяване (Rev: 1.2) Любомир Чорбаджиев 1 1 февруари 2007 г. 1 Наследяване 1 2 2. Съдържание Съдържание Наследяване (Rev: 1.2) Любомир Чорбаджиев 1 lchorbadjiev@elsys-bg.org 1 февруари 2007 г. 1 Наследяване 1 2 2 3 Полиморфизъм 9 1. Наследяване Наследяване UML UML unified modeling

Подробно

Предефиниране на оператори. Копиращ конструктор. Оператор за присвояване Любомир Чорбаджиев Технологическо училище Електронни системи Технически униве

Предефиниране на оператори. Копиращ конструктор. Оператор за присвояване Любомир Чорбаджиев Технологическо училище Електронни системи Технически униве Предефиниране на оператори. Копиращ конструктор. Оператор за присвояване Любомир Чорбаджиев Технологическо училище Електронни системи Технически университет, София lchorbadjiev@elsys-bg.org Revision :

Подробно

Динамична памет. Конструктори и деструктори Любомир Чорбаджиев Технологическо училище Електронни системи Технически университет, София

Динамична памет. Конструктори и деструктори Любомир Чорбаджиев Технологическо училище Електронни системи Технически университет, София Динамична памет. Конструктори и деструктори Любомир Чорбаджиев Технологическо училище Електронни системи Технически университет, София lchorbadjiev@elsys-bg.org Revision : 1.3 16 ноември 2004 г. Пример:

Подробно

Lush Green

Lush Green Класове Какво са класовете? Основен инструмент на ООП Средство за дефиниране на абстрактни типове данни Синтактична конструкция, която позволява логическо групиране на данни и операциите над тях Дефиниция

Подробно

Дефиниране на шаблон Шаблони (Templates) Любомир Чорбаджиев Технологическо училище Електронни системи Технически университет, София

Дефиниране на шаблон Шаблони (Templates) Любомир Чорбаджиев Технологическо училище Електронни системи Технически университет, София Дефиниране на шаблон Шаблони (Templates) Любомир Чорбаджиев Технологическо училище Електронни системи Технически университет, София lchorbadjiev@elsys-bg.org Revision : 1.1 9 март 2005 г. template< class

Подробно

Виртуални функции

Виртуални функции Виртуални функции Статично свързване Как компилаторът избира кой метод или коя функция да бъде извикана? Прави се сравнение между формални и фактически параметри и се избира най-точното съвпадение в случай,

Подробно

4

4 Наследяване и 4 Трифон Трифонов Обектно-ориентирано програмиране, спец. Компютърни науки, 1 поток, спец. Софтуерно инженерство, 2016/17 г. 11 май 2017 г. Трифон Трифонов (ООП 16/17) Наследяване и голямата

Подробно

036-B.dvi

036-B.dvi МАТЕМАТИКА И МАТЕМАТИЧЕСКО ОБРАЗОВАНИЕ, 2004 MATHEMATICS AND EDUCATION IN MATHEMATICS, 2004 Proceedings of the Thirty Third Spring Conference of the Union of Bulgarian Mathematicians Borovets, April 1

Подробно

Структура на програма в C - Част 7 - масиви, оператор за индексиране, sizeof оператор

Структура на програма в C - Част 7 - масиви, оператор за индексиране, sizeof оператор Структура на програма в C Част 7 - масиви, оператор за индексиране, sizeof оператор Иван Георгиев, Христо Иванов, Христо Стефанов Технологично училище "Електронни системи", Технически университет, София

Подробно

Обработка на грешки Изключения Любомир Чорбаджиев Технологическо училище Електронни системи Технически университет, София Re

Обработка на грешки Изключения Любомир Чорбаджиев Технологическо училище Електронни системи Технически университет, София Re Обработка на грешки Изключения Любомир Чорбаджиев Технологическо училище Електронни системи Технически университет, София lchorbadjiev@elsys-bg.org Revision : 1.1 27 февруари 2005 г. 1 #include < cstdio

Подробно

Lush Green

Lush Green Конструктори Жизнен цикъл на обект За обекта се заделя памет и се свързва с неговото име Извиква се подходящ конструктор на обекта... (достъп до компоненти на обект, изпълняване на операции) Достига се

Подробно

СОФТУЕРНИЯТ ПРОЦЕС

СОФТУЕРНИЯТ ПРОЦЕС МИНИСТЕРСТВО НА ТРУДА И СОЦИАЛНАТА ПОЛИТИКА ЦЕНТЪР ЗА РАЗВИТИЕ НА ЧОВЕШКИТЕ РЕСУРСИ И РЕГИОНАЛНИ ИНИЦИАТИВИ София 1849, кв. Кремиковци,, тел./факс: +359 2 994 70 18, +359 882 82 66 83, +359 876 24 82 04

Подробно

Динамична памет Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, спец. Софтуерно инженерство, 2016/17 г. 21 декември 2016 г. Тр

Динамична памет Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, спец. Софтуерно инженерство, 2016/17 г. 21 декември 2016 г. Тр Динамична памет Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, спец. Софтуерно инженерство, 2016/17 г. 21 декември 2016 г. Трифон Трифонов (УП 16/17) Динамична памет 21 декември

Подробно

Потоци (Rev: 1.1)

Потоци  (Rev: 1.1) Потоци (Rev: 1.1) Любомир Чорбаджиев 1 lchorbadjiev@elsys-bg.org 1 Технологическо училище Електронни системи Технически университет, София 8 май 2007 г. Л. Чорбаджиев (ELSYS) Потоци (Rev: 1.1) 8 май 2007

Подробно

МИНИСТЕРСТВО НА ОБРАЗОВАНИЕТО И НАУКАТА

МИНИСТЕРСТВО НА ОБРАЗОВАНИЕТО И НАУКАТА МИНИСТЕРСТВО НА ОБРАЗОВАНИЕТО И НАУКАТА У Ч Е Б Н А П Р О Г Р А М А ЗА ЗАДЪЛЖИТЕЛНА ПРОФЕСИОНАЛНА ПОДГОТОВКА ПО ПРОГРАМИРАНЕ И АЛГОРИТМИЧНИ ЕЗИЦИ ЗА ПРОФЕСИЯ: КОД 482010 ИКОНОМИСТ - ИНФОРМАТИК СПЕЦИАЛНОСТ:

Подробно

C++

C++ Управляващи оператори в C++ Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, 2018/19 г. 18 30 октомври 2018 г. Трифон Трифонов (УП 18/19) Управляващи оператори в C++ 18 30 октомври

Подробно

Програмиране на Паскал

Програмиране на Паскал Поради връзката на С++ с езика С в голяма част от литературата е прието записването С/С++. Това е найизползваният език за програмиране в света, поради което синтаксисът на някои от по-новите езици като

Подробно

Рекурсия Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, спец. Софтуерно инженерство, 2016/17 г. 21 декември 2016 г. 4 януари

Рекурсия Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, спец. Софтуерно инженерство, 2016/17 г. 21 декември 2016 г. 4 януари Рекурсия Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, спец. Софтуерно инженерство, 2016/17 г. 21 декември 2016 г. 4 януари 2017 г. Трифон Трифонов (УП 16/17) Рекурсия 21.12.16

Подробно

Ст. Джиев, Индустриални мрежи за комуникация и управление Системноориентирани спецификации за изграждане на интегрирани индустриални мрежи 2.5.1

Ст. Джиев, Индустриални мрежи за комуникация и управление Системноориентирани спецификации за изграждане на интегрирани индустриални мрежи 2.5.1 2.5. Системноориентирани спецификации за изграждане на интегрирани индустриални мрежи 2.5.1. Спецификация CIP за индустриални мрежи - въведение Спецификацията Common Industrial Protocol (CIP) е пример

Подробно

В тази част, ще разгледаме аритметичните и логически операции, както, и включването им в изрази. В следващата таблица са дадени всички възможни операц

В тази част, ще разгледаме аритметичните и логически операции, както, и включването им в изрази. В следващата таблица са дадени всички възможни операц В тази част, ще разгледаме аритметичните и логически операции, както, и включването им в изрази. В следващата таблица са дадени всички възможни операции в езикът C и С++. Символ Предназначение Аритметични

Подробно

Структура на програма в C - Част 2 - типове, функции

Структура на програма в C - Част 2 - типове, функции Структура на програма в C Част 2 - типове, функции Иван Георгиев, Христо Иванов, Христо Стефанов Технологично училище "Електронни системи", Технически университет, София 10 март 2019 г. И. Георгиев, Х.

Подробно

-

- Лениво оценяване и програмиране от по-висок ред Трифон Трифонов Функционално програмиране, спец. Информатика, 2015/16 г. 7 януари 2016 г. Трифон Трифонов (ФП-И 15/16) Лениво оценяване 7 януари 2016 г.

Подробно

Black and White

Black and White Advanced C++ Memory Management Йордан Димитър Зайков Трендафилов Memory Management Effective C++ 2 nd ed: 3, 5, 7, 8, 9, 10 More Effective C++: 1, 3, 8 Exceptional C++: 35, 36 Какво всъщност прави new?

Подробно

PowerPoint Presentation

PowerPoint Presentation Анализ на данните от мониторинга на биологичното разнообразие в рамките на НСМБР лектор: Радослав Станчев - ИАОС Основната цел на Националната система за мониторинг на биологичното разнообразие (НСМБР)

Подробно

Microsoft Word - Glava24.doc

Microsoft Word - Glava24.doc 2.4. Въведение в езика OQL Обектно ориентираният език на заявките OQL е един опит да се стандартизират обектноориентираните езици на заявките във форма на език, обединяващ в себе си декларативното SQL

Подробно

ИНТЕРНЕТ ПРОГРАМИРАНЕ - JAVA JAVA ОБЕКТИ Ненко Табаков Пламен Танов Технологическо училище Електронни системи Технически университет София 9 октомври

ИНТЕРНЕТ ПРОГРАМИРАНЕ - JAVA JAVA ОБЕКТИ Ненко Табаков Пламен Танов Технологическо училище Електронни системи Технически университет София 9 октомври JAVA ОБЕКТИ Ненко Табаков Пламен Танов Технологическо училище Електронни системи Технически университет София 9 октомври 2008 JAVA ОБЕКТИ Забележка: Тази лекция е адаптация на лекция от курса: 6.092 Java

Подробно

Канонична форма на клас или 4 (голямата четворка) Трифон Трифонов Обектно-ориентирано програмиране, спец. Компютърни науки, 1 поток, спец. Софтуерно и

Канонична форма на клас или 4 (голямата четворка) Трифон Трифонов Обектно-ориентирано програмиране, спец. Компютърни науки, 1 поток, спец. Софтуерно и Канонична форма на клас или 4 (голямата четворка) Трифон Трифонов Обектно-ориентирано програмиране, спец. Компютърни науки, 1 поток, спец. Софтуерно инженерство, 2016/17 г. 6 април 2017 г. Трифон Трифонов

Подробно

<4D F736F F D20D0E0E7FFF1EDE5EDE8E520EFEE20F7EB2E EEF220C7CECF20F120C8E7F52EB EEF E31312E3138E3>

<4D F736F F D20D0E0E7FFF1EDE5EDE8E520EFEE20F7EB2E EEF220C7CECF20F120C8E7F52EB EEF E31312E3138E3> Изх. К 8075#1/ 05.11.2018г. До: Лицата, заинтересовани от Обществена поръчка с предмет: Разработване на софтуер за киоск терминали, уеб портал и мобилно приложение по проект,,easyguide interactive mobile

Подробно

ЕВРОПЕЙСКИ СЪЮЗ Европейки фонд за регионално развитие Инвестираме във вашето бъдеще ОПЕРАТИВНА ПРОГРАМА Развитие на конкурентоспособността на българск

ЕВРОПЕЙСКИ СЪЮЗ Европейки фонд за регионално развитие Инвестираме във вашето бъдеще ОПЕРАТИВНА ПРОГРАМА Развитие на конкурентоспособността на българск BG161PO003-1.1.06-0022-C0001 Ръководство за работа със системата Този документ е създаден с финансовата подкрепа на Оперативна програма на българската икономика 2007-2013, съфинансирана от Европейския

Подробно

ЦЕНТЪР ПО ИНФОРМАТИКА И ТЕХНИЧЕСКИ НАУКИ УЧЕБНА ПРОГРАМА Утвърждавам: Декан: CS 206 ИЗКУСТВЕН ИНТЕЛЕКТ Приета: прот. 8 от г.; Актуализирана

ЦЕНТЪР ПО ИНФОРМАТИКА И ТЕХНИЧЕСКИ НАУКИ УЧЕБНА ПРОГРАМА Утвърждавам: Декан: CS 206 ИЗКУСТВЕН ИНТЕЛЕКТ Приета: прот. 8 от г.; Актуализирана ЦЕНТЪР ПО ИНФОРМАТИКА И ТЕХНИЧЕСКИ НАУКИ УЧЕБНА ПРОГРАМА Утвърждавам: Декан: CS 206 ИЗКУСТВЕН ИНТЕЛЕКТ Приета: прот. 8 от 28.04.2005 г.; Актуализирана прот. 16 от 17.06.2016 г. Лектор: Акад. Проф. Иван

Подробно

Софийски университет Св. Климент Охридски Факултет по математика и информатика Курсов проект по Системи за паралелна обработка Тема: Изобразяване на ф

Софийски университет Св. Климент Охридски Факултет по математика и информатика Курсов проект по Системи за паралелна обработка Тема: Изобразяване на ф Софийски университет Св. Климент Охридски Факултет по математика и информатика Курсов проект по Системи за паралелна обработка Тема: Изобразяване на фрактал Mandelbrot set Изготвил: Елена Валентинова Георгиева,

Подробно

2. Изследване на операциите и моделиране. Моделиране на обществените процеси. Същност на моделирането. Структура на процеса на моделиране

2. Изследване на операциите и моделиране. Моделиране на обществените процеси. Същност на моделирането. Структура на процеса на моделиране 2. Изследване на операциите и моделиране. Същност на моделирането. Моделиране на обществените процеси. 1 Структура Терминология Етапи на изследването на операциите Модели и моделиране 2 Терминология 3

Подробно

Графика и Презентации - Геометрично Моделиране

Графика и Презентации - Геометрично Моделиране Компютърна Графика и ГПИ Геометрично Моделиране. Представящи схеми. Свойства. Математическо пространство. Геометрични преобразования и задачи. доц. д-р А. Пенев Геометрично Моделиране КГиГПИ - Геометрично

Подробно

Microsoft Word - Techn zad 2017-M1

Microsoft Word - Techn zad 2017-M1 ТЕХНИЧЕСКА СПЕЦИФИКАЦИЯ за предоставяне на достъп до специализирана уеб-базирана електронна платформа, позволяваща провеждане на Национално онлайн външно оценяване на дигиталните компетентности на учениците

Подробно

PowerPoint Presentation

PowerPoint Presentation Облачна услуга за дистанционна връзка с касови апарати с марка ELTRADE Инструкции за употреба Характеристика на продукта ELTRADE Cloud е услуга, която свързва в облак касовите апарати на една фирма с базата

Подробно

При изпълнението на програма се извършват определени действия над данните, дефинирани в програмата.тези данни могат да бъдат постоянни ( константи ) и

При изпълнението на програма се извършват определени действия над данните, дефинирани в програмата.тези данни могат да бъдат постоянни ( константи ) и При изпълнението на програма се извършват определени действия над данните, дефинирани в програмата.тези данни могат да бъдат постоянни ( константи ) или изменящи се (променливи). Тези данни най-често бива

Подробно

Компютърна Графика и Презентации - Графично моделиране

Компютърна Графика и Презентации - Графично моделиране Компютърна Графика и Презентации Графично Моделиране. Генеративна Компютърна Графика гл. ас. д-р А. Пенев Генеративната КГ се занимава с: Построяване на обекти (модели); Генерация на изображение; Преобразуване

Подробно

ПРОГРАМНО ОСИГУРЯВАНЕ НА КОМПЮТЪРА

ПРОГРАМНО ОСИГУРЯВАНЕ НА КОМПЮТЪРА СРЕДИ ЗА ПРОГРАМИРАНЕ ПРОГРАМНО ОСИГУРЯВАНЕ НА КОМПЮТЪРА Същност на програмното осигуряване За да могат компютрите да разбират описаните на езика за програмиране алгоритми, те трябва да бъдат преведени

Подробно

2. Лексически анализ. Основни понятия и алгоритъм на лексическия анализ. Програмна структура на лексическия анализатор Цел на упражнението Упражнениет

2. Лексически анализ. Основни понятия и алгоритъм на лексическия анализ. Програмна структура на лексическия анализатор Цел на упражнението Упражнениет 2. Лексически анализ. Основни понятия и алгоритъм на лексическия анализ. Програмна структура на лексическия анализатор Цел на упражнението Упражнението представя кратко въведение в теорията на лексическия

Подробно

Microsoft Word - Lecture 14-Laplace Transform-N.doc

Microsoft Word - Lecture 14-Laplace Transform-N.doc Лекция 4: Интегрално преобразувание на Лаплас 4.. Дефиниция и образи на елементарните функции. Интегралното преобразувание на Лаплас Laplac ranorm се дефинира посредством израза: Λ[ ] преобразувание на

Подробно

Структура на програма в C - Част 6 - goto, switch, break и continue клаузи

Структура на програма в C - Част 6 - goto, switch, break и continue клаузи Структура на програма в C Част 6 - goto, switch, break и continue клаузи Иван Георгиев, Христо Иванов, Христо Стефанов Технологично училище "Електронни системи", Технически университет, София 21 април

Подробно

Действия с плътни тела в ArchiCAD (Solid Element Operations) проф.д-р арх. Асен Писарски

Действия с плътни тела в ArchiCAD (Solid Element Operations) проф.д-р арх. Асен Писарски Действия с плътни тела в ArchiCAD (Solid Element Operations) проф.д-р арх. Асен Писарски Действия с плътни тела (Solid Element Operations) Конструктивните елементи могат да взаимодействат помежду си чрез

Подробно

Slide 1

Slide 1 Методи и алгоритми за моделиране, симулация и оптимизация на полупроводникови сензори Венцеслав Шопов E-mail: vkshopov@yahoo.com BG051PO001-3.3.06-0002 Цел на дисертационния труд е да се създаде софтуерна

Подробно

РЕЦЕНЗИЯ от проф. д-р Красен Стефанов Стефанов на дисертационен труд на тема ИНСТРУМЕНТИ ЗА ПРЕДСТАВЯНЕ НА 3D ОБЕКТИ И КОЛЕКЦИИ В ИНТЕРНЕТ за придобив

РЕЦЕНЗИЯ от проф. д-р Красен Стефанов Стефанов на дисертационен труд на тема ИНСТРУМЕНТИ ЗА ПРЕДСТАВЯНЕ НА 3D ОБЕКТИ И КОЛЕКЦИИ В ИНТЕРНЕТ за придобив РЕЦЕНЗИЯ от проф. д-р Красен Стефанов Стефанов на дисертационен труд на тема ИНСТРУМЕНТИ ЗА ПРЕДСТАВЯНЕ НА 3D ОБЕКТИ И КОЛЕКЦИИ В ИНТЕРНЕТ за придобиване на образователната и научна степен доктор, в област

Подробно

3. Синтактичен анализ. Граматика на учебен програмен език STUDENT. Извеждане на изречения от правилата на граматиката Цел на упражнението Упражнението

3. Синтактичен анализ. Граматика на учебен програмен език STUDENT. Извеждане на изречения от правилата на граматиката Цел на упражнението Упражнението 3. Синтактичен анализ. Граматика на учебен програмен език STUDENT. Извеждане на изречения от правилата на граматиката Цел на упражнението Упражнението представя кратко въведение в синтактичния анализ.

Подробно