Lush Green

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

Download "Lush Green"

Препис

1 Конструктори

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

3 За какво служат конструкторите? Инициализират паметта за обекта Осигуряват, че преди да почне да се работи с обекта, той е във валидно състояние Позволяват предварително задаване на стойности на полетата

4 Видове конструктори Обикновен конструктор Конструктор по подразбиране Конструктор с параметри по подразбиране Конструктор за копиране Системно генерирани конструктори по подразбиране за копиране Конструктор за преобразуване на тип

5 Дефиниция на конструктор <конструктор> ::= <име_на_клас>::<име_на_клас>(<параметри>) [ : <член-данна>(<израз>) {, <член-данна>(<израз>) } ] { <тяло> } Пример: Rational :: Rational ( int n, int d ) : numer(n), denom(d) { if (denom == 0) cerr << Нулев знаменател! ; } Инициализиращият списък се изпълнява преди тялото на конструктора!

6 Използване на конструктори <описание_на_обект> ::= <име_на_обект> [ = <израз> ] <име_на_обект>(<параметри>) <име_на_обект> = <име_на_клас>(<параметри>) Примери: Rational r1, r2 = Rational(), r3(1, 2), r4 = Rational(3,4); Rational r5 = r1, r6(r2), r7 = Rational(r3)

7 Конструктор по подразбиране Конструктор без параметри <име_на_клас>() Извиква се при дефиниция на обект без параметри Rational r1; Rational r2(); Rational r3 = Rational(); Инициализира обекта с празни, но валидни стойности Пример: Rational::Rational() : numer(0), denom(1) {} Ако в един клас не дефинирате нито един конструктор, системно се създава конструктор по подразбиране с празно тяло

8 Подразбиращи се параметри В C++ е позволено да се задават стойности по подразбиране на някои или всички параметри на функции <функция_с_подразбиращи_се_параметри> ::= <тип> <име> ( <параметри> <подразбиращи_се_параметри>) <параметри> ::= void <празно> <параметър> {, <параметър> } <подразбиращи_се_параметри> ::= <празно> <параметър> = <израз> {, <параметър> = <израз> } Пример: int f(int x, double y, int z = 1, char t = 'x') void g(int *p = NULL, double x = 2.3) int h(int a = 0, double b)

9 Конструктор с подразбиращи се параметри Конструкторите могат да бъдат с подразбиращи се параметри като всички останали функции Пример: Rational(int n = 0, int d = 1) Дефинираме три конструктора наведнъж! Rational() Rational(0,1) (конструктор по подразбиране) Rational(n) Rational(n,1) Rational(n, d) Подразбиращите параметри се задават в декларацията на конструктора, ако има такава

10 Конструктор за копиране Конструкторът за копиране служи за инициализиране на обект като се ползва като образец друг обект <име_на_клас>(<име_на_клас> const&) Образецът не трябва да може да се променя! Пример: Rational(Rational const& r) : numer(r.numer), denom(r.denom) {} Ако не напишете конструктор за копиране се създава системен такъв, който копира дословно полетата на образеца Конструкторът за копиране обикновено се пише, ако при копирането на обекта е нужно да се случи нещо допълнително

11 Извикване на конструктор за копиране <име_на_клас> <обект>(<образец>) <име_на_клас> <обект> = <образец> <име_на_клас> <обект> = <име_на_клас>(<образец>) Конструктор за копиране се извиква автоматично и при: предаване на обекти като параметри на функции връщане на обекти като резултат от функции Примери

12 Копиране на обекти със статични полета Student s1(, Надя Петрова, ); Student s2 = s1; s2.setname( Надя Иванова ); s1 Надя Петрова void anonymousprint(student s) { s.setname( Анонимен ); cout << Информация за оценка: ; s.print(); } s2 s Надя Иванова Анонимен

13 Копиране на обекти с динамични полета Student s1(, Надя Петрова, ); Student s2 = s1; s2.setname( Надя Иванова ); s1 void anonymousprint(student s) { s.setname( Анонимен ); cout << Информация за оценка: ; s.print(); } Надя Петрова s2 s

14 Копиране на обекти с динамични полета Student s1(, Надя Петрова, ); Student s2 = s1; s2.setname( Надя Иванова ); s1 void anonymousprint(student s) { s.setname( Анонимен ); cout << Информация за оценка: ; s.print(); } Надя Иванова s2 s

15 Копиране на обекти с динамични полета Student s1(, Надя Петрова, ); Student s2 = s1; s2.setname( Надя Иванова ); s1 void anonymousprint(student s) { s.setname( Анонимен ); cout << Информация за оценка: ; s.print(); } Анонимен s2 s

16 Конструктор за копиране за динамични полета Системният конструктор сляпо копира полетата При работа с динамична памет трябва да напишем собствен конструктор за копиране Трябва да се погрижим да заделим нова динамична памет и да копираме съдържанието на оригинала Student(Student const& s) : fn(s.fn), grade(s.grade) { name = new char[strlen(s.name)+1]; strcpy(name, s.name); }

17 Копиране на обекти с динамични полета Student s1(, Надя Петрова, ); Student s2 = s1; s2.setname( Надя Иванова ); s1 void anonymousprint(student s) { s.setname( Анонимен ); cout << Информация за оценка: ; s.print(); } Надя Петрова s2 Надя Петрова

18 Копиране на обекти с динамични полета Student s1(, Надя Петрова, ); Student s2 = s1; s2.setname( Надя Иванова ); s1 void anonymousprint(student s) { s.setname( Анонимен ); cout << Информация за оценка: ; s.print(); } Надя Петрова Надя Иванова s2 Надя Петрова

19 Копиране на обекти с динамични полета Student s1(, Надя Петрова, ); Student s2 = s1; s2.setname( Надя Иванова ); s1 void anonymousprint(student s) { s.setname( Анонимен ); cout << Информация за оценка: ; s.print(); } Надя Петрова s2 Надя Иванова Надя Петрова s Надя Петрова

20 Копиране на обекти с динамични полета Student s1(, Надя Петрова, ); Student s2 = s1; s2.setname( Надя Иванова ); s1 void anonymousprint(student s) { s.setname( Анонимен ); cout << Информация за оценка: ; s.print(); } Анонимен Надя Петрова s2 Надя Иванова Надя Петрова s Надя Петрова

21 Конструктор за преобразуване на тип Конструкторите с точно един параметър са специални <име_на_клас>(<тип_за_преобразуване>) Задават правило за конструиране на обект от класа по обект от друг клас, или от стойност от вграден тип Навсякъде, където се очаква Rational, но се подава стойност от друг тип, C++ се опитва да използва конструктор за преобразуване на тип Примери Rational r = 5; // Rational r(5); r = 5/1 add(3, Rational(2, 3)).print(); // add(rational(3), Rational(2, 3)).print(); Rational round(rational r) { int wholepart = r.getnumerator() / r.getdenominator(); return wholepart; // return Rational(wholePart); }

22 Временни обекти Конструкторите могат да се използват за създаване на временни анонимни обекти <временен_обект> ::= <име_на_клас>(<параметри>) Пример: Rational(2, 3).print(); cout << add(rational(1,2), Rational(1,4)); Тези обекти се създават само за да бъдат веднага използвани Временните обекти се унищожават веднага след като бъдат използвани

23 Обектите като член-данни Член-данните на даден клас биха могли да бъдат обекти от друг клас Всяка член-данна, която е обект се инициализира автоматично с конструктор по подразбиране class RationalPoint { Rational x, y; RationalPoint() {}; // x = 0/1, y = 0/1 Ако искаме да инициализираме с друг конструктор, трябва да зададем параметрите му в инициализиращия списък RationalPoint(Rational p) : x(p), y(3, 5) {}

24 Обектите като член-данни Системният конструктор за копиране автоматично извиква конструкторите за копиране на всички обекти член-данни RationalPoint p(rational(2,3)); // p = (2/3, 3/5) RationalPoint q = p; // q = (2/3, 3/5) Внимание! Ако пишем собствен конструктор за копиране, трябва ръчно да извикаме конструкторите за копиране на всички член-данни, които са обекти! RationalPoint(RationalPoint const& p) : x(p.x), y(p.y) {}

25 Масиви и обекти Можем да дефинираме масиви от обекти от един и същи клас <клас> <име>[<брой>] [ = { <описание_на_обект> {, <описание_на_обект> } } ] ; Дефинира масив <име> от <брой> обекта от <клас>, всеки от които се инициализира със съответен конструктор Примери: Rational p(1,3), q(3, 5); Rational a[6] = { Rational(), Rational(5, 7), p, Rational(q), 1 };

26 Достъп до елементите на масив от обекти Достъпът става по същия начин като с обикновени масиви Примери: a[2].print(); cout << a[3].getdenominator(); Rational r = a[1]; Rational* p = a + 1; (++p)->print(); (a + 4)->read();

27 Динамични обекти Можем да създаваме обекти в динамичната памет new <клас> връща указател към нов обект, инициализиран с конструктор по подразбиране new <клас>(<параметри>) връща указател към нов обект, инициализиран със съответния конструктор (в зависимост от параметрите) new <клас>[<брой>] връща указател към масив от обекти, инициализирани с конструктор по подразбиране

Lush Green

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

Подробно

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

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

Подробно

4

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

Подробно

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

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

Подробно

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

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

Подробно

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

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

Подробно

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

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

Подробно

Указатели. Маисиви, указатели, параметри на функции Калин Георгиев 21 декември 2016 г. Калин Георгиев Увод в програмирането 21 декември 2016 г. 1 / 23

Указатели. Маисиви, указатели, параметри на функции Калин Георгиев 21 декември 2016 г. Калин Георгиев Увод в програмирането 21 декември 2016 г. 1 / 23 Указатели. Маисиви, указатели, параметри на функции Калин Георгиев 21 декември 2016 г. Калин Георгиев Увод в програмирането 21 декември 2016 г. 1 / 23 Указатели! Калин Георгиев Увод в програмирането 21

Подробно

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

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

Подробно

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?

Подробно

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

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

Подробно

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

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

Подробно

C++

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

Подробно

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

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

Подробно

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

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

Подробно

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

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

Подробно

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

Подробно

Програмен език C Пламен Танов Ненко Табаков Мартин Вачовски Технологично училище Електронни системи Технически университет София версия 0.5

Програмен език C Пламен Танов Ненко Табаков Мартин Вачовски Технологично училище Електронни системи Технически университет София версия 0.5 Програмен език C Пламен Танов Ненко Табаков Мартин Вачовски Технологично училище Електронни системи Технически университет София версия 0.5 Литература Необходими програми Kernighan & Ritchie - The C Programming

Подробно

Структура на програма в C - Част 9 - низове от символи, C-string

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

Подробно

Сериализация Калин Георгиев 13 май 2016 г. Калин Георгиев Обектно ориентирано програмиране 13 май 2016 г. 1 / 23

Сериализация Калин Георгиев 13 май 2016 г. Калин Георгиев Обектно ориентирано програмиране 13 май 2016 г. 1 / 23 Калин Георгиев 13 май 2016 г. Калин Георгиев Обектно ориентирано програмиране 13 май 2016 г. 1 / 23 f «data; f» data; Калин Георгиев Обектно ориентирано програмиране 13 май 2016 г. 2 / 23 Първо изискване:

Подробно

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

Масиви и низове Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, 2018/19 г ноември 2018 г. Трифон Трифонов (УП 18/19) Ма Масиви и низове Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, 2018/19 г. 15 29 ноември 2018 г. Трифон Трифонов (УП 18/19) Масиви и низове 15 29 ноември 2018 г. 1 / 16 Масиви Логическо

Подробно

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

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

Подробно

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

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

Подробно

Масиви и низове Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, 2018/19 г. 15 ноември 6 декември 2018 г. Трифон Трифонов (УП 1

Масиви и низове Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, 2018/19 г. 15 ноември 6 декември 2018 г. Трифон Трифонов (УП 1 Масиви и низове Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, 2018/19 г. 15 ноември 6 декември 2018 г. Трифон Трифонов (УП 18/19) Масиви и низове 15.11-6.12.2018 г. 1 / 17 Масиви

Подробно

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

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

Подробно

Slide 1

Slide 1 Списъци. Структура и синтаксис. Създаване и показване. Основни операции(добавяне, изваждане на елемент или цял подсписък; подреждане). Трансформации. проф. дмн С. Христова Списъци Списъците / list са основна

Подробно

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

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

Подробно

Маисви

Маисви МАСИВИ 1. Структурни типове данни Структура от данни - организирана информация, която може да бъде описана, създадена и обработена с помощта на програма. Скаларни типове данни: Целочислен int Реален double

Подробно

-

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

Подробно

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

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

Подробно

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

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

Подробно

Рекурсия Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 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. Лексически анализ. Основни понятия и алгоритъм на лексическия анализ. Програмна структура на лексическия анализатор Цел на упражнението Упражнениет

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

Подробно

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

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

Подробно

Анализ и оптимизация на софтуерни приложения

Анализ и оптимизация на софтуерни приложения Анализ и оптимизация на софтуерни приложения Александър Пенев Васил Василев Съдържание 1. Какво е векторизация? 2. Примери 3. на цикли 4. Масиви от структури или структури от масиви 5. на при различни

Подробно

1 КаБел ЕООД Документация за софтуерния продукт КаБел ЕООД, подпомагащ организация на складовата дейност в железария Автор: Румен Ангелов История на в

1 КаБел ЕООД Документация за софтуерния продукт КаБел ЕООД, подпомагащ организация на складовата дейност в железария Автор: Румен Ангелов История на в 1 КаБел ЕООД Документация за софтуерния продукт КаБел ЕООД, подпомагащ организация на складовата дейност в железария Автор: Румен Ангелов История на версиите 1.10 *подредба име, размер в наличност екран

Подробно

Slide 1

Slide 1 Въведение в VHDL Паралелни оператори Паралелни оператори Паралелен оператор оператор, който се изпълнява едновременно с другите оператори от този тип. Process - Процес

Подробно

Проф

Проф Утвърдил:.. / доц. д-р Е. Великова / Утвърден от Факултетен съвет с протокол... /... СОФИЙСКИ УНИВЕРСИТЕТ СВ. КЛИМЕНТ ОХРИДСКИ Факултет по Математика и Информатика Специалност: Компютърни науки М И К 0

Подробно

Допълнения в периода Версия Модул УПТО Във връзка с промените в Наредба Н-18 е разработен специализиран модул за Управлен

Допълнения в периода Версия Модул УПТО Във връзка с промените в Наредба Н-18 е разработен специализиран модул за Управлен Допълнения в периода 29.05.2019 15.07.2019 Версия 4.43.0 Модул УПТО Във връзка с промените в Наредба Н-18 е разработен специализиран модул за Управление на Продажбите в Търговски Обекти (УПТО) към СКИПТЪР(i).

Подробно

Анализ и оптимизация на софтуерни приложения

Анализ и оптимизация на софтуерни приложения Анализ и оптимизация на софтуерни приложения Александър Пенев Васил Василев Какво могат и какво не могат компилаторите Съдържание 1. Оптимизационен континуум 2. Някои известни видове оптимизации 2/49 Оптимизационен

Подробно

Потоци (Rev: 1.1)

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

Подробно