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

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

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

Препис

1 В тази част, ще разгледаме аритметичните и логически операции, както, и включването им в изрази. В следващата таблица са дадени всички възможни операции в езикът C и С++. Символ Предназначение Аритметични оператори + Събиране - Изваждане * Умножение / Деление % Делене по модул Оператори за отношения < По-малко <= По-малко или равно > По-голямо >= По-голямо или равно == Равно!= Не равно Присвояване = Присв яване += Увеличаване с число и присвояване -= Намаля с число и присвояване *= Умножаване с число и присвояване /= Делене на число и присвояване %= делене по модул с число и присвояване <<= Изместване в ляво и присвояване >>= Изместване в дясно и рисвояване &= Двоично АND с присвояване ^= Двоично изключващо ОR (ХОR) с присвояване = Двоично ОR с присвояване Инкрементиране и декрементиране ++ Инкрементиране -- Декрементиране Побитови операции & Побитов АND ^ Побитово ХОR Побитово ОR << П еместване на ляво >> Преместване на дясно ~ Допълване до 1 Логически операции && Логическо АND Логическо ОR! Логическо NОТ

2 Адресни операции & Адрес на променлива * Деклариране на указател или връщане на съдържанието на клетка сочена от указател ** Деклариране на указател към указател :> Базов адрес Пример: mуsеg:>bр На указателя bр се присвоява отместване и сегмент специ ицирани в mуsеg. Логическо оператор за присвояване? : Логическо присвояване Пример: ( vаl >= 0)? vаl:-vаl; Ако vаl е > 0 резултатът ще е истина. Иначе резултатът ще бъде неистина., Последователно изпълнение на изрази Специални символи ( ) Групиране в изрази и описание на функции [ ] Индексиране и описание на масиви. Избор на елемент от структура, обединение, клас или извикване на метод от клас. -> клас чрез указател. (tуре) sizеоf Промяна на тип Размер в байтове Друго оператори в С++ :: Деклариране на принадлежност & Псевдоним.* Указател към елемент ->* Указател към елемент В тази таблица ще бъдат показани прецедентите възникващи при присвояването на стойност. По подразбиране присвояването се извършва от дясно на ляво, но има случаи когато това правило не важи. В следващата таблица са посочени тези прецеденти. Трябва да се отбележи, че приоритетът на операциите намаля в посока от първият елемент от таблицата към последния. Символ Предназначение Присвояване :: Принадлежност Няма ++ Постфиксно инкрементиране От ляво на дясно -- Постфиксно декрементиране ( ) Извикване на функ ия ] Елемент на масив

3 -> Указател към елемент от структура. Към структура или обединение ++ Префиксно инкрементиране От дясно на ляво -- Префиксно декрементиране :> База! Логическо NОТ ~ По битово NОТ - Унарен минус + Унарен плюс & Адрес * Съдържание на клетка сочена от указател sizеоf Размер в байтове Nеw Заделяне на памет dеlеtе Освобождаване на динамично заделената памет (tуре) Смяна на тип [пример, (flоаt) I].* Указател(Обект) От ляво на дясно ->* Указател(Указа ел) * Умножение От ляво на дясно / Деление % делене по модул + Събиране От ляво на дясно - Изваждане << Преместване на ляво От ляво на дясно >> Преместване на дясно < По-малко От ляво на дясно < По-малко или равно > По-голямо >= По-голямо или равно == Равно От ляво на дясно!= Не равно & Побитово АND От ля о на дясно ^ Побитово ХОR От ляво на дясно Побитово ОR От ляво на дясно && Логическо АND От ляво на дясно Логическо ОR От ляво на дясно? : Логическо присвояване От дясно на ляво = Присвояване От дясно на ляво *=, /=, Комбинирано присвояване %=, +=, -=, <<=, >>=, &=, ^=, =, Запетая От ляво на дясно

4 Израза е конструкция, която връща стойност, след като той е бил оценен. Изразите са съставени от оператори и операнди. Операнда може да бъде константа, или друг израз. Пример: b + c ( a - b + c ) * cos(b) sin(a) * cos(a) Операторът за присвояване задава стойността на израза от дясно на променливата от ляво. Той се записва с единично равно =. Задължително след израза се поставя ;. Като операнд от ляво може да бъде зададена променлива, елемент на масив или входно/изходен порт. Не може от ляво на оператора за присвояване да се поставя константа или израз. Пример: Var1 = Var2 + 2; // Var1 (Var2 + 2) След като се изпълни операцията Var1 ще съдържа стойността на Var2 увеличена с 2 Мисля че използването на аритметични операции в програмирането е много по-лесно от колкото в математиката. Нас ни интересуват следните аритметични операции: Символ Предназначение Използване + Събиране Sum = a + b; - Изваждане Sub = a - b; * Умножение Mul = a * b; / Деление Div = a / b; % Делене по модул (остатък от деление) Mod = a % b; Почти всеки програмен код в C++ използва под една или друга форма аритметични операции. Следващия пример показва примерно използване на аритметичните операции.

5 #include <iostream> using namespace std; int main(int argc, char* argv[]) { float Sum, Sub, Mul, Div, Mod; // Обявяване на променливите чрез запетая float a1; // Отделно деклариране на променливата а1 float a2; // Отделно деклариране на променливата а2 setlocale(lc_all, "Bulgarian"); cout << "Въведи първото число: "; cin >> a1; cout << "Въведи второто число: "; cin >> a2; Sum = a1 + a2; // операция събиране cout << a1 << "+" << a2 << "=" << Sum << endl; Sub = a1 - a2; // операция извеждане cout << a1 << "-" << a2 << "=" << Sub << endl; Mul = a1 * a2; // операция умножение cout << a1 << "*" << a2 << "=" << Mul << endl; Div = a1 / a2; // операция деление cout << a1 << "/" << a2 << "=" << Div << endl; return 0; } На ред 5 са декларирани променливи с имена Sum, Sub, Mul, Div от тип float реален тип данни (то ест тези променливи могат да приемат стойности от вида: 0.99; 3.0; 21.6; 43.15; ). Запомнете: Всяка променлива може да бъде използвана едва след като бъде декларирана (обявена). Променливите могат да се инициализират по време на декларирането (задаване на начална стойност). Това действие се нарича "Дефиниране на променливата". Например: float Sum = 10; Това означава, че на променлива с име Sum и тип float се присвоява стойност 10. Променливите могат да се декларират на един ред, като се отделят със запетая или всяка променлива на отделен ред. На редове 10 и 12 се въвеждат данни от клавиатурата, които се записват в променливите a1 и а2. cin >> a1; // Въвеждане на първото число и записване на в а1 cin >> a2; // Въвеждане на второто число и записване на в а2 Символът >> е оператор за извличане на данни от входен поток. Дадения символ се използва съвместно с оператора за вход cin. Аритметичните операции се изпълняват от редове:

6 Sum = a1 + a2; // операция събиране Sub = a1 - a2; // операция извеждане Mul = a1 * a2; // операция умножение Div = a1 / a2; // операция деление Извеждането на резултата се извърва от операторите cout << a1 << "+" << a2 << "=" << Sum << endl; cout << a1 << "-" << a2 << "=" << Sub << endl; cout << a1 << "*" << a2 << "=" << Mul << endl; cout << a1 << "/" << a2 << "=" << Div << endl; Както в математиката, така и в C++ с помощта на скоби могат да се формира различни математически изрази с различна сложност. например израза ((a+b)*c)-d се изпълнява в следната последователно: Първото действие е : a+b ; Второто действие е умножението с с ; Третото действие е изваждането на d ; Резултатът от изпълнението на програмата е показан на фиг. 1. Фиг. 1. Аритметични операции в C++ Остатък от целочислено деление % Ще разгледаме още една аритметична операция: Остатък от целочислено деление %. За целта ще разгледаме подробно следната примерна програма #include <iostream> using namespace std; int main(int argc, char* argv[]) { cout << "8 % 4 = " << 8 % 4 << endl; cout << "7 % 4 = " << 7 % 4 << endl; cout << "2 % 4 = " << 2 % 4 << endl; cout << "43 % 10 = " << 43 % 10 << endl; return 0; }

7 Резултатът от действието на операцията "остатък от целочислено деление" е показан на фиг.2 Фиг. 2. Аритметична операции % C++ 1-ви случай: Четворката може да се помести два пъти в 8. Следователно остатъка от делението ще бъде 0; 2-ри случай: Четворката може да се помести един път в осмицата. Частта която неможе да се раздели е 3. Тази тройка е резултатът; 3-ти случай: Четворката е по-голяма от двойката. Следователно резултатът ще бъде равен на делимото, тоест 2; 4-ти случай: В 43 се съдържат четири десетки. Остатъка е 3. Надявам се че тези четири разяснения са били достатъчни за да разберете принципа на работа на оператора. Ако не сте успели да го разберете, заменете някой от числата и вижте какъв ще бъде резултатът. Инкремент ++ това е увеличение с единица. Декремент -- това е намаляване с единица. Операциите декремент и инкремент с лекота се заменят с аритметични операции събиране и изваждане. Операторите ++ и -- могат да бъдат записани преди променливата или след променливата. Тяхното положение определя кога ще бъде изпълнено действието при участие в израз. Възможните синтаксиси са: ++VariableName; // префиксен инкремент (преинкремент) VariableName++; // постфиксен инкремент (постинкремент) --VariableName; // префиксен декремент (предекремент) VariableName --; // постфиксен декремент (постдекремент) Ако имаме префиксен инкремент ( ++VariableName ) при участие в израз първо се извършва увеличаването с 1 на променливата, след което новата стойност се използва в израза за изчисление.

8 За разлика от посфиксния инкремент ( + + VariableName ) който при участие в израз първо стойността на променливата се използва в израза за изчисление след което се извършва увеличаването с 1 на променливата. В следващата таблица и променлива се демонстрират тези свойства на операторите ++ и --. Таблица 2: Операции инкремент и декремент в С++ Операция Символ Пример Кратко пояснение преинкремент ++ cout << ++value; Първо се увеличава стойността на value с 1, след което се отпечатва резултата с cout предекремент -- cout << --value; Първо се намалява стойността на value с 1, след което се отпечатва резултата с cout постинкремент ++ cout << value++; Първо се отпечатва стойността на value след което се увеличава стойността на value с 1 постдекремент -- cout << value--; Първо се отпечатва стойността на value след което се намалява стойността на value с 1 Пример: Програмен код #include <iostream> using namespace std; int main(int argc, char** argv) { int a,b,c; // Деклариране на променливите a, b и c a = 3; b = 4; c = 0; // Инициализиране на променливите a, b и c cout << "\ta" << "\tb" << "\tc" << endl; cout << " "<< endl; cout << "\t" << a << "\t" << b << "\t" << c << endl; c = a + b; cout << "\t" << a << "\t" << b << "\t" << c << endl; c = ++a + b; cout << "\t" << a << "\t" << b << "\t" << c << endl; c = ++a + ++b; cout << "\t" << a << "\t" << b << "\t" << c << endl; c = a++ + b++; cout << "\t" << a << "\t" << b << "\t" << c << endl; c = a b; cout << "\t" << a << "\t" << b << "\t" << c << endl; return 0;

9 Резултат На ред 8 от програмата се извеждат началните стойности на променливите а,b и c. В разпечатката на резултата това са символите на първият ред след реда с тиретата. След изпълнението на израза c = a + b; в c се записва сумата на a и с. По специални са следващите оператори които ще разгледаме по-подробно. c = ++a + b; Този израз е съставен от два по-прости израза. При него първо стойността на a се увеличава с 1, след което а и b се сумират и резултатът се присвоява на с. a = a + 1; c = a + b; Изразът c = ++a + ++b; е съставен от следната последователност от изрази: Изразът a = a + 1; b = b + 1; c = a + b; c = a b; е съставен от изразите: Изразът b = b + 1; c = a + b; a = a + 1; c = a++ + b++; е съставен от изразите:

10 c = a + b; b = b + 1; a = a + 1; Действието на оператор -- е същото като това на ++ с разлика на това, че стойността на операнда се намалява с 1; Оператор Действие Увеличаване с число и присвояване Намаля с число и присвояване Умножаване с число и присвояване Делене на число и присвояване делене по модул с число и присвояване Операторите от таблицата са съставни оператори. Използват се по следният начин: c += 2; // c = c + 2; c -= 2; // c = c - 2; c *= 2; // c = c * 2; c /= 2; // c = c / 2; c %= 2; // c = c % 2; Като коментар са дадени съответстващите разширени аритметични изрази. Спазването на конвенцията за типове на операторите е много важно при съставянето на изразите. В следващата таблица са показани възможните преобразования на типове данни. Синтаксис Тип на операнда Резултат Res Op 1 Op 2 Res = 8 / 3 int int int 2 Res = 8 / 3 float int int 2.0 Res = 8.0 / 3 float float int Res = 8.0 / 3 int float int *Error * Състояние на грешка: Не може да се конвертира float в int Както се вижда резултатът зависи от видът на данните. Важно е от ляво на оператора за присвояване да стои операнд от тип с по-голям размер спрямо операнда намиращ се от дясно. Left DataTYPE = Right DataTYPE С поддържа стандартните механизми за автоматично превръщане на данни от един в друг тип. Типът на резултата от преобразуванията зависят от типовете на операндите участващи в израза. Трябва да се

11 отбележи, че при промяна типа на данните е възможно да се загуби част от информацията. Това се получава когато се прави преобразуване от тип с по-малък размер в тип с по-голям размер. C++ позволява участието на елементи от различен тип в един израз, което налага да се съблюдават следните правилата за промяна на типа. Присвояването на символна константа на обект от цял тип дава пълно 16-битово присвояване, тъй като символните константи (едно- или двусимволни) се представят в 16 бита. Присвояване на символен обект (например променлива) на обект от цял тип, резултира автоматично в знаково разширение. Обектите от тип unsigned char винаги поставят в старшия байт нула при превръщане в тип int. Стойности от тип enum се превръщат в цели без модификация. Аналогично стойности тип int се превръщат директно в тип enum. Превръщането между стойности enum и символен тип става както между int и символен тип. Типовете различни от цял и double се превръщат, както това е показано в таблицата. Така всеки две стойности, свързани с даден оператор, са от тип int (включително модификаторите long и unsigned ) или double. Ако единият операнд е от тип double, то и другият се преобразува в double. Ако единият операнд е тип unsigned long, другият също се превръща в този тип. Ако единият операнд е тип long, другият също се превръща в тип long. Ако единият операнд е тип unsigned, другият се превръща също в този тип. Резултатът от израза е от типа на операндите. Data TYPE bool short int long unsigned unsigned float double short bool bool x x x x x x x short X int long unsigned unsigned float double short int X int long int unsigned float double long X long long long unsigned float double unsigned short X unsigned short int long unsigned float double unsigned X unsigned unsigned long long float double float X float float float float float double double X double double double double double double

12 Ако променливите имат по същия тип размер, те се конвертират в "unsigned" тип. Пример: INT_Result = INT_Varl + SINT_Var2; /*[int] [int] [short int] */ Променливата SINT_Var2 първо се преобразува в int след което участва в операцията. Правилата за преобразуване са еднакви като при typecast. Например: INT_Totaltteight = INTJtfeight1 + INTJtfeightS; /* [int] [int] [int] */ Това изглежда добро на първи поглед, но стойността на сумата (INT_Weight1 + INT_Weight2) можеше да бъде по-висока отколкото е размерът на int. За това е необходимо резултатът да се помести в променлива с по-голям размер а преобразуването да стане явно. DINTJTotalWeight = (long long)int_weight1 + (long long)int_tteight2; /* [long long] [int] [int ] */ Пример: void main() { int а,b; long l; double d; а = 10; // резултат signеd int b = а + 20; // резултат signеd int l = (а + b ) * 0.1; // резултат long int d = 123е6; // резултат double l =(long)( d + l); // резултат long int } В първите четири израза присвояванията са коректни и няма загуба на информация. При последният израз операцията ( d + l ), дава като резултат число от тип double. След което се присвоява на променлива от тип long int, посредством явна промяна на типа. При тази операция се губи голяма част от информацията поради това, че double е с по-голям размер от long int. Обърнете внимание на този запис

13 Разгледаните досега оператори са прости оператори. Те се състоят от една синтактична конструкция и завършват със знака за край на оператор ;. Понякога в алгоритмите се налага последователно изпълнение на няколко прости оператора, които образуват една обща логическа част. Обединението на няколко прости оператора в една логическа група води до дефиниране на съставен оператор. В езика C/C++ за задаване на съставен оператор се използват средни скоби "{}" В следващия фрагмент е дефиниран един съставен оператор. { d = -b*b-4*a*c ; d = sqrt(d) ; } След } в съставния оператор не се поставя знакът за край на оператор ;. Поставянето му не е грешка в програмите на C/C++, защото се предполага, че е използван празен оператор. Празен оператор е такъв оператор, който не изпълнява никакви команди и операции. Той съдържа само знака за край на оператор ;. Напълно допустим е например запис от типа: d = -b*b-4*a*c ; ; ; Тук има 2 празни оператора.

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

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

Подробно

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

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

Подробно

C++

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

Подробно

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

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

Подробно

Масиви и низове Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 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 Масиви

Подробно

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

Подробно

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

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

Подробно

Маисви

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

Подробно

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

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

Подробно

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

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

Подробно

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

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

Подробно

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

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

Подробно

В настоящата тема ще разгледаме представянето на числата в изчислителните устройства. Ще покажем представянето на числата в позиционните бройни систем

В настоящата тема ще разгледаме представянето на числата в изчислителните устройства. Ще покажем представянето на числата в позиционните бройни систем В настоящата тема ще разгледаме представянето на числата в изчислителните устройства. Ще покажем представянето на числата в позиционните бройни системи, като се акцентира на десетична, двоична и шестнадесетична

Подробно

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

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

Подробно

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

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

Подробно

Лабораторно упражнение 6 Тема: Оператори за цикли в езика C++. Реализиране на циклични алгоритми I. Цел на лабораторното упражнение Да се затвърдят зн

Лабораторно упражнение 6 Тема: Оператори за цикли в езика C++. Реализиране на циклични алгоритми I. Цел на лабораторното упражнение Да се затвърдят зн Лабораторно упражние 6 Тема: Оператори за цикли в езика C++. Реализира на циклични алгоритми I. Цел на лабораторното упражние Да се затвърдят знанията на студентите за организацията и синтаксиса на програми

Подробно

Лабораторно упражнение 4 Тема : Реализиране на линейни програми.. I. Цел на лабораторното упражнение Аритметични и логически операции в програмният ез

Лабораторно упражнение 4 Тема : Реализиране на линейни програми.. I. Цел на лабораторното упражнение Аритметични и логически операции в програмният ез Лабораторно упражнение 4 Тема : Реализиране на линейни програми.. I. Цел на лабораторното упражнение Аритметични и логически операции в програмният език С. Реализиране на линейни програми. Математически

Подробно

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

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

Подробно

ОСНОВИ НА ЕЗИКА С# Интеграция на езиците за програмиране Една от най-добрите черти на.net Framework е възможността за интеграция на множество езици за

ОСНОВИ НА ЕЗИКА С# Интеграция на езиците за програмиране Една от най-добрите черти на.net Framework е възможността за интеграция на множество езици за Интеграция на езиците за програмиране Една от най-добрите черти на.net Framework е възможността за интеграция на множество езици за програмиране. Тя позволява на програмиста да работи на предпочитания

Подробно

Потоци (Rev: 1.1)

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

Подробно

Lush Green

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

Подробно

Информатика

Информатика ХИМИКОТЕХНОЛОГИЧЕН И МЕТАЛУРГИЧЕН УНИВЕРСИТЕТ - СОФИЯ ИНФОРМАТИКА част първа лектор: доц. д-р Атанас Атанасов Катедра Програмиране и използване на компютърни системи Лекция 3 ЛОГИЧЕСКИ ОСНОВИ НА КОМПЮТЪРНИТЕ

Подробно

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

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

Подробно

Проф

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

Подробно

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

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

Подробно

Homework 3

Homework 3 Домашно 3 по дисциплината Дискретни структури за специалност Информатика I курс летен семестър на 2015/2016 уч г в СУ ФМИ Домашната работа се дава на асистента в началото на упражнението на 25 26 май 2016

Подробно

Лекции по Програмиране първа част I. Въведение в компютрите и програмирането КОМПЮТЪР = АПАРАТУРА + ПРОГРАМНО ОСИГУРЯВАНЕ Апаратна част Hardware(Харду

Лекции по Програмиране първа част I. Въведение в компютрите и програмирането КОМПЮТЪР = АПАРАТУРА + ПРОГРАМНО ОСИГУРЯВАНЕ Апаратна част Hardware(Харду Лекции по Програмиране първа част I. Въведение в компютрите и програмирането КОМПЮТЪР = АПАРАТУРА + ПРОГРАМНО ОСИГУРЯВАНЕ Апаратна част Hardware(Хардуер)Програмна част Software(Софтуер) Хардуерът включва:

Подробно

doll Механична кукла Механичните кукли автоматично повтарят предварително зададена последователност от движения. В Япония има традиции в изработката н

doll Механична кукла Механичните кукли автоматично повтарят предварително зададена последователност от движения. В Япония има традиции в изработката н doll Механична кукла Механичните кукли автоматично повтарят предварително зададена последователност от движения. В Япония има традиции в изработката на механични кукли, датиращи от древни времена. Движенията

Подробно

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

Подробно

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

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

Подробно

УТВЪРДИЛ: Директор : (име, фамилия, подпис) ТЕМАТИЧНО РАЗПРЕДЕЛЕНИЕ ЗИП МАТЕМАТИКА 3. клас 32 седмици х 1 ч. седмично = 32 ч. годишно Месец Седм

УТВЪРДИЛ: Директор : (име, фамилия, подпис) ТЕМАТИЧНО РАЗПРЕДЕЛЕНИЕ ЗИП МАТЕМАТИКА 3. клас 32 седмици х 1 ч. седмично = 32 ч. годишно Месец Седм УТВЪРДИЛ: Директор :...... (име, фамилия, подпис) ТЕМАТИЧНО РАЗПРЕДЕЛЕНИЕ ЗИП МАТЕМАТИКА 3. клас 32 седмици х 1 ч. седмично = 32 ч. годишно Месец Седмица на тема Тема на урока 09 1. 1. Начален преговор.

Подробно

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

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

Подробно

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

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

Подробно

Разпределение ИУЧ МАТ 4. клас.

Разпределение ИУЧ МАТ 4. клас. УТВЪРДИЛ: Директор:... (Име, фамилия, подпис) ТЕМАТИЧНО РАЗПРЕДЕЛЕНИЕ ИУЧ по предмета Математика 4. клас 34 седмици х 1 ч. седмично = 34 ч. годишно Месец Седмица на тема Тема на урока Очаквани резултати

Подробно

Mathematica CalcCenter

Mathematica CalcCenter Mathematica CalcCenter Основни възможности Wolfram Mathematica CalcCenter е разработен на базата на Mathematica Professional и първоначално е бил предназначен за технически пресмятания. Информация за този

Подробно

Проектиране на непрекъснат ПИД - регулатор. Динамичните свойства на системите за автоматично регулиране, при реализация на първия етап от проектиранет

Проектиране на непрекъснат ПИД - регулатор. Динамичните свойства на системите за автоматично регулиране, при реализация на първия етап от проектиранет Проектиране на непрекъснат П - регулатор инамичните свойства на системите за автоматично регулиране, при реализация на първия етап от проектирането им, могат да се окажат незадоволителни по отношение на

Подробно

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

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

Подробно

Lush Green

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

Подробно

Microsoft Word - VM22 SEC55.doc

Microsoft Word - VM22 SEC55.doc Лекция 5 5 Диференциални уравнения от първи ред Основни определения Диференциално уравнение се нарича уравнение в което участват известен брой производни на търсената функция В общия случай ( n) диференциалното

Подробно

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

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

Подробно

IATI Day 1/Junior Task 1. Trap (Bulgaria) X INTERNATIONAL AUTUMN TOURNAMENT IN INFORMATICS SHUMEN 2018 Задача 1. Капан Образуваме редица от точки, кои

IATI Day 1/Junior Task 1. Trap (Bulgaria) X INTERNATIONAL AUTUMN TOURNAMENT IN INFORMATICS SHUMEN 2018 Задача 1. Капан Образуваме редица от точки, кои Task 1. Trap (Bulgaria) Задача 1. Капан Образуваме редица от точки, които са върхове с целочислени координати в квадратна решетка. Всеки две последователни точки от редицата определят единична хоризонтална

Подробно

Разпределение ИУЧ МАТ 2 клас 2019

Разпределение ИУЧ МАТ 2 клас 2019 УТВЪРДИЛ Директор:... (име, фамилия, подпис) ТЕМАТИЧНО РАЗПРЕДЕЛЕНИЕ ИУЧ по предмета Математика 2. клас 32 седмици х 1 ч. седмично = 32 ч. годишно Месец Седмица на Тема на урока Очаквани резултати от обучението

Подробно

Класове в 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 Обектно-ориентирана

Подробно

Лекция Приложение на линейната многопроменлива регресия за изчисляване на топлини на образуване на алкани Дефиниция на топлина на образуване Топлина н

Лекция Приложение на линейната многопроменлива регресия за изчисляване на топлини на образуване на алкани Дефиниция на топлина на образуване Топлина н Лекция Приложение на линейната многопроменлива регресия за изчисляване на топлини на образуване на алкани Дефиниция на топлина на образуване Топлина на образуване на едно химично съединение се нарича енталпията

Подробно

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

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

Подробно

Microsoft Word - nbb2.docx

Microsoft Word - nbb2.docx Коректност на метода на характеристичното уравнение за решаване на линейно-рекурентни уравнения Стефан Фотев Пиша този файл, тъй като не успях да намеря в интернет кратко и ясно обяснение на коректността

Подробно

Slide 1

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

Подробно