доц. д-р Нора Ангелова

Подобни документи
Информатика

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

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

C++

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

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

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

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

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

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

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

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

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

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

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

Slide 1

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

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

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

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

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

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

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

Годишното тематично разпределение по Компютърно моделиране за 4. клас N седмица Тема очаквани резултати Методи бележки и коментари Първи учебен срок Т

Lush Green

4

Microsoft Word - UIP_mat_7klas_

-

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

5

Проф

1. Инструментални средства на изкуствения интелект. Основната характеристика на програмните системи, базирани на знания, отличаваща ги от стандартните

puzzles-final.indd

Kontrolno 5, variant 1

МОДЕЛ НА НАЦИОНАЛНОТО ВЪНШНО ОЦЕНЯВАНЕ ПО МАТЕМАТИКА В Х КЛАС ЗА УЧЕБНАТА ГОДИНА 1. Цели на НВО в Х клас съгласно чл. 44, ал. 1 от Наредба 1

ECDL_ICDL Spreadsheets.doc

Маисви

годишно разпределение по математика за 8. клас 36 учебни седмици по 3 учебни часа = 108 учебни часа I срок 18 учебни седмици = 54 учебни часа II срок

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

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

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

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

Slide 1

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

Както бе споменато в предходните части съществуват три основни вида алгоритми: линейни, разклонени и циклични. В тази част ще разгледаме линейните алг

Логаритмична регресия

Упражнение 3. Основни елементи на РНР синтаксис на езика, константи, променливи, изрази, оператори... Показване на текст в браузъра Да се създаде една

Препис:

доц. д-р Нора Ангелова

+ (събиране); - (изваждане); * (умножение); / (целочислено деление); % (остатък от целочислено деление);

std::cout << 11 % 3 << std:: endl; std::cout << 11 / 3 << std::endl;

std::cout << 11 % 3 << std:: endl; std::cout << 11 / 3 << std::endl;

Вече познавате някои характеристики на операторите Бинарни два операнда a + b a b Унарни един операнд -a

Характеристики: позиция на оператора спрямо операнда приоритет асоциативност

Позиция на оператора спрямо операнда: префиксен операторът е пред единствения си операнд инфиксен операторът е между двата си операнда постфиксен операторът е след единствения си операнд Примери: 1) Операторът + e както инфиксен (a + b), така и префиксен (+b). 2) Операторът ++ е както постфиксен (a++), така и префиксен (++a).

Приоритетът определя реда на изпълнение на операторите в израз (операторен терм). Оператор с по-висок приоритет се изпълнява преди оператор с по-нисък приоритет. Пример: Приоритетът на операторите умножение и деление (* и /) е повисок от този на операторите за събиране и изваждане (+ и -). https://en.cppreference.com/w/cpp/language/operator_precedence

Асоциативността определя реда на изпълнение на оператори с еднакъв приоритет в израз. В езика C++ има лявоасоциативни и дясноасоциативни оператори. Лявоасоциативните оператори се изпълняват отляво надясно, а дясноасоциативните отдясно наляво. Примери. 1) Аритметичните оператори +, -, * и / са лявоасоциативни. Затова изразът a - b - c е еквивалентен на (a - b) - c, а изразът a / b / c е еквивалентен на (a / b) / c. 2) Операторът за присвояване = е дясноасоциативен. Затова изразът a = b = c (a, b и c са променливи величини или обекти на клас) е еквивалентен на a = (b = c).

Възможен е следният запис: int myfirstintvar; myfirstintvar = 5; Lvalue Rvalue Стойността 5 ще се присвои на променливата и ще изчезне

Възможен е следният запис: int myfirstintvar = 10; int mysecondintvar = myfirstintvar; Lvalue Извлечи стойността от съответната променлива Стойността 10 ще се присвои на втората променлива

Възможен е следният запис: int myfirstintvar = 5; myfirstintvar = myfirstintvar + 5;

Възможен е следният запис: int myfirstintvar = 5; myfirstintvar = myfirstintvar + 5; +=, -=, *=, /= Пример: 1. int myfirstintvar = 5; myfirstintvar += 5; // еквивалентен запис 2. int intvar = 5; std::cout << (intvar += 2) + (intvar += 10) + (intvar -= 3); // Променя се стойността на intvar и стойността се използва в // операцията събиране intvar == 5 + 2 + 10 3 == 14 => 3*14

Пример: 1. int intvar = 5; std::cout << (intvar += 2) + (intvar += 10) + (intvar -= 3); // Променя се стойността на intvar и стойността се използва в // операцията събиране intvar == 5 + 2 + 10 3 == 14 => 3*14!!! Същият израз може да се пусне в онлайн компилатор https://www.onlinegdb.com/online_c++_compiler Резултат int intvar = 5; std::cout << (intvar += 2) + (intvar += 10) + (intvar -= 3); // Резултат 48 intvar == 5 + 2 + 10 = 17 => 17 + 17 + 14 = 48 int intvar = 5; std::cout << (intvar -= 3) + (intvar += 10) + (intvar += 2); // Резултат 38 intvar == 5-3 + 10 = 12 => 12 + 12 + 14 = 38

int a = 123 / 10 // Целочислено делене // a == 12 float b = 123 / 10; // Целочислено делене // b == 12 float c = 123.0 / 10; // с == 12.3

int myfirstintvar = 5; myfirstintvar++; // myfirstintvar: 6 ++myfirstintvar; // myfirstintvar: 7 myfirstintvar--; // myfirstintvar: 6 --myfirstintvar; // myfirstintvar: 5

Префиксни и постфиксни ++/-- оператори в израз Постфиксните оператори връщат rvalue стойност и променя променливата Префиксните оператори променят стойност в клетката и връщат като резултат Примери: 1. int intvar = 5; std::cout << intvar++ + 5 << std::endl; // Резултат - 10 2. 3. int a = 5; std::cout << ++intvar + 5 << std::endl; // Резултат 11 int a = 5; std::cout << ++intvar++ << std::endl; // Резултат грешка // За оператора ++ е нужно lvalue

Оператор за логическо умножение (конюнкция) bool var1 = true; bool var2 = true; var1 && var2; // true; Променлива или логически израз, който може да се оцени с истина или лъжа var1 var2 var1 && var2 false false false false true false true false false true true true

Оператор за логическо събиране (дизюнкция) bool var1 = true; bool var2 = false; var1 var2; // true; var1 var2 var1 var2 false false false false true true true false true true true true Оператор за логическо отрицание bool var1 = false;!var; // true; var1 false true! var1 true false

== - сравнение за равно!= - сравнение за различно > - сравнение за по-голямо >= - сравнение за по-голямо или равно < - сравнение за по-малко <= - сравнение за по-малко или равно

Операндите се оценяват отляво-надясно. Оценяването продължава докато се получи стойността на израза. Пример: double x, y; // // проверка дали точка е в 1-ви квадрант (x > 0) && (y > 0)

Следва продължение...