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

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

Download "гл. ас. д-р. Нора Ангелова"

Препис

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

2 Дефиниция на функция Заглавие <тип_на_функция> <име_на_функция> (<формални_параметри>) <тип_на_функция> име на тип. Типът на резултата от изпълнението на функцията. Ако функцията не връща резултат тип void. <име_на_функция> идентификатор. <формални_параметри> множество от параметри. Те изпълняват ролята на входните данни на функцията. Функцията може да няма формални параметри. <параметър> <име_на_тип> <име_на_параметър>. Тяло редица от оператори и дефиниции оградени в {. { <тяло>

3 Декларация на функция <тип_на_функция> <име_на_функция>(<формални_параметри>); Декларацията на функцията се нарича също прототип. Имената на формалните параметри в декларацията могат да се пропускат. Пример: void testfunction(int); void testfunction2(int a);

4 Извикване на функция <име_на_функция>(<фактически_параметри>); Пример: testfunction(5);

5 Преди да се извика една функция, тя трябва да е декларирана/дефинирана. Ако дадена функция example извиква функцията testfunction, функцията testfunction трябва да бъде декларирана/дефинирана преди example.

6 Пример: void printparam(int a) { cout << a << endl; printparam(5);

7 Пример: void printparam(int a); printparam(5); void printparam(int a) { cout << a;

8 Пример: void printparam(int); printparam(5); void printparam(int a) { cout << a;

9 Свързване на формални с фактически параметри: Формален параметър стойност. Формален параметър указател.

10 void testfunction(int param) { param 5 int value = 5; testfunction(value); value 5 addr1

11 void testfunction(int *param) { param addr1 int value = 5; testfunction(&value); value 5 addr1

12 Разпределение на оперативната памет за програма: Програмен код записан е изпълнимият код на всички функции, изграждащи програмата. Статични данни записани са глобални и статични обекти. Динамични данни чрез средства за динамично разпределение на паметта се заделя и освобождава памет в процеса на изпълнение на програмата (не преди това). Тази памет е от областта на динамичните данни. Програмен стек записани са данните за функциите.

13 Хомогенна линейна структура от елементи. последен влязъл - пръв излязъл (LIFO). Пряк достъп, включване, изключване на елемент. Указател на стека (връх) Указател на стека (връх)

14 Програмен стек Елементите на стека са блокове от памет. Записани са данните за функциите. Наричат се още стекови рамки.

15 Програмен стек В дъното на стека е стековата рамка на main. На върха на стека е стековата рамка на функцията, която се обработва в момента. Под нея е стековата рамка на функцията, извикала функцията, обработваща се в момента.

16 Свързване на формални с фактически параметри: Формален параметър стойност В стековата рамка на функцията: За формалния параметър се отделя толкова памет, колкото типът му изисква и в нея се копира стойността на фактическия параметър. Формален параметър указател В стековата рамка на функцията: За формалния параметър се отделя памет за един указател. В нея се записва стойността на фактическия параметър, който трябва да бъде адрес на променлива.

17 int gcd(int x, int y) { while(x!= y) { if (x > y) { x = x - y; else { y = y - x; return x; int a = 5, b = 3; int r = gcd(a, b); cout << r << endl;

18 int gcd(int x, int y) { while(x!= y) { if (x > y) { x = x - y; else { y = y - x; return x; int a = 5, b = 3; int r = gcd(a, b); cout << r << endl; a -5 b - 3 r main gcd на main указател на стека програмен код

19 int gcd(int x, int y) { while(x!= y) { if (x > y) { x = x - y; else { y = y - x; return x; int a = 5, b = 3; int r = gcd(a, b); cout << r << endl; a - 5 b - 3 r - - y - 3 x - 5 return адрес адрес на предишна main gcd на main на gcd указател на стека програмен код

20 int gcd(int x, int y) { while(x!= y) { if (x > y) { x = x - y; else { y = y - x; return x; int a = 5, b = 3; int r = gcd(a, b); cout << r << endl; a - 5 b - 3 r - - y - 3 x = 5-3 == 2 return адрес адрес на предишна main gcd на main на gcd указател на стека програмен код

21 int gcd(int x, int y) { while(x!= y) { if (x > y) { x = x - y; else { y = y - x; return x; int a = 5, b = 3; int r = gcd(a, b); cout << r << endl; a - 5 b - 3 r - - y = 3-2 == 1 x = 2 return адрес адрес на предишна main gcd на main на gcd указател на стека програмен код

22 int gcd(int x, int y) { while(x!= y) { if (x > y) { x = x - y; else { y = y - x; return x; int a = 5, b = 3; int r = gcd(a, b); cout << r << endl; a - 5 b - 3 r - - y - 1 x = 2-1 == 1 return адрес адрес на предишна main gcd на main на gcd указател на стека програмен код

23 int gcd(int x, int y) { while(x!= y) { if (x > y) { x = x - y; else { y = y - x; return x; int a = 5, b = 3; int r = gcd(a, b); cout << r << endl; a - 5 b - 3 r - - y - 1 x - 1 return адрес адрес на предишна main gcd на main на gcd указател на стека програмен код

24 int gcd(int x, int y) { while(x!= y) { if (x > y) { x = x - y; else { y = y - x; return x; int a = 5, b = 3; int r = gcd(a, b); cout << r << endl; a - 5 b - 3 r - 1 main gcd на main указател на стека програмен код

25 void swap(int p, int q) { int temp = p; p = q; q = temp; p q 5->3 3->5 int a = 5, b = 3; swap(a, b); // 5 3 a 5 addr1 b 3 addr2

26 void swap(int p, int q) { int temp = p; p = q; q = temp; int a = 5, b = 3; swap(a, b); // 5 3 a - 5 b - 3 p - 5 q - 3 return адрес адрес на предишна temp main swap на main на swap указател на стека програмен код

27 void swap(int p, int q) { int temp = p; p = q; q = temp; int a = 5, b = 3; swap(a, b); // 5 3 a - 5 b - 3 p - 3 q - 5 return адрес адрес на предишна temp main swap на main на swap указател на стека програмен код

28 void swap(int p, int q) { int temp = p; p = q; q = temp; a - 5 b - 3 на main указател на стека int a = 5, b = 3; swap(a, b); // 5 3 main swap програмен код

29 void swap(int* p, int* q) { int temp = *p; *p = *q; *q = temp; int a = 5, b = 3; swap(&a, &b); // 3 5 p addr1 a 5->3 addr1 q addr2 b 3->5 addr2

30 void swap(int* p, int* q) { int temp = *p; *p = *q; *q = temp; int a = 5, b = 3; swap(&a, &b); // 3 5 a - 5 b - 3 p addr1 q addr2 return адрес адрес на предишна temp main swap на main на swap указател на стека програмен код

31 void swap(int* p, int* q) { int temp = *p; *p = *q; *q = temp; int a = 5, b = 3; swap(&a, &b); // 3 5 a - 3 b - 5 p addr1 q addr2 return адрес адрес на предишна temp main swap на main на swap указател на стека програмен код

32 void swap(int* p, int* q) { int temp = *p; *p = *q; *q = temp; int a = 5, b = 3; swap(&a, &b); // 3 5 a - 3 b - 5 main swap на main указател на стека програмен код

33 Област на идентификатори: Глобална дефинирани са пред всички функции, константи и променливи. Могат да се използват във всички функции, освен ако не е дефиниран локален идентификатор със същото име в някоя от функциите. Локална дефинирани са във функция и не могат да се използват в други функции. Областта им започва от дефиницията и завършва с края на блока, в който идентификаторът е дефиниран. Локалния идентификатор скрива нелокалния в областта си. Областта на формалните параметри е локална и е тялото на функцията. Област на клас

34 int sum = 0; void testfunction() { sum += 1; void testfunction2() { sum += 2; testfunction(); testfunction2(); cout << sum << endl; // 3

35 Пример: int sum = 0; void testfunction() { int sum = 10; sum += 1; void testfunction2() { sum += 2; testfunction(); testfunction2(); cout << sum << endl; // 2

36 Едномерни масиви като формални параметри: T a[] формален параметър a от тип едномерен масив от тип Т. T* a формален параметър a от тип указател към тип Т. * Трябва да се предаде и размерността на масива

37 Да се напише функция, която въвежда елементите на масив. void initarrayelements(int a[], int length) { for(int i = 0; i < length; i++) { cout << "a[" << i << "]="; cin >> a[i]; int arr[10]; initarrayelements(arr, 10);

38 void initarrayelements(int a[], int length) { for(int i = 0; i < length; i++) { cout << "a[" << i << "]="; cin >> a[i]; int arr[10]; initarrayelements(arr, 10); arr[9] arr[0] length 10 a addr return адрес адрес на предишна i - 0 main swap на main на initarrayelements указател на стека програмен код

39 void initarrayelements(int a[], int length) { for(int i = 0; i < length; i++) { cout << "a[" << i << "]="; cin >> a[i]; // *(a+i) int arr[10]; initarrayelements(arr, 10); arr[9] - ст/ст arr[0] - ст/ст length 10 a addr return адрес адрес на предишна i -0 main swap на main на initarrayelements указател на стека програмен код

40 void initarrayelements(int a[], int length) { for(int i = 0; i < length; i++) { cout << "a[" << i << "]="; cin >> a[i]; // *(a+i) int arr[10]; initarrayelements(arr, 10); arr[9]-ст/ст arr[0] - ст/ст main swap на main указател на стека програмен код

41 Многомерни масиви като формални параметри: T martix[][20] формален параметър matrix от тип двумерен масив от тип Т. В описанието му трябва да присъстват като константи всички размери с изключение на първия. T (*martix)[20] формален параметър matrix от тип указател към тип Т. * Трябва да се предаде и размерността на масива.

42 Да си припомним (лекция Масиви и указатели ): // *(*(matrix + i)+j) Адресът на третия елемент на матрицата (int matrix[5][4]) *(matrix + 2) + 0; matrix + 2; // correct matrix + 8 is equal to matrix + 8*sizeof(int*) // x *matrix + 8; matrix + 2;

43 Да се напише функция, която въвежда елементите на двумерен масив (N x M). Нека N!= M. const int MAX_ROWS = 10; const int MAX_COLS = 15; void initmatrix(int matrix[][max_cols], int rows, int cols) { for(int i = 0; i < rows; i++) { for(int j = 0; j < cols; j++) { cout << matrix[" << i << "]["<< j << "]="; cin >> matrix[i][j]; int matrix[max_rows][max_cols]; initmatrix(matrix, MAX_ROWS, MAX_COLS);

44 Да се напише функция, която въвежда елементите на двумерен масив (N x M). Нека N == M. const int MAX_ROWS_COLS = 10; void initsquarematrix(int squarematrix[][max_rows_cols], int size) { for(int i = 0; i < size; i++) { for(int j = 0; j < size; j++) { cout << squarematrix[" << i << "]["<< j << "]="; cin >> squarematrix[i][j]; int squarematrix[max_rows_cols][max_rows_cols]; initsquarematrix(squarematrix, MAX_ROWS_COLS);

45 Масивите като върнати оценки: Функциите не могат да са от тип масив. Функции могат да бъдат от тип указател.

46 // Не можем да върнем масив, който се създава във функцията int* initarray() { int arr[max_length]; for(int i = 0; i < MAX_LENGTH; i++) { cout << "arr[" << i << "]="; cin >> arr[i]; return arr; * arr e в стековата рамка на initarray

47 int* initarray(int arr[], int length) { for(int i = 0; i < length; i++) { cout << "arr[" << i << "]="; cin >> arr[i]; return arr;

48 Да се напише функция, която заменя всички срещания на символа x в символния низ s със символа y. void replace(char *str, char x, char y) { int charindex = strlen(str) - 1; while(charindex >= 0) { if (str[charindex] == x) { str[charindex] = y; charindex--;

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

Указатели. Маисиви, указатели, параметри на функции Калин Георгиев 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 г. Пример:

Подробно

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

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

Подробно

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

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

Подробно

Lush Green

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

Подробно

Маисви

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

Подробно

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

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

Подробно

Lush Green

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

Подробно

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

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

Подробно

C++

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

Подробно

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

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

Подробно

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

Подробно

Проф

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

Подробно

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

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

Подробно

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

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

Подробно

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

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

Подробно

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

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

Подробно

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

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

Подробно

Програмен език 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 Първо изискване:

Подробно

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 и С++. Символ Предназначение Аритметични

Подробно

4

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

Подробно

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?

Подробно

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

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

Подробно

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

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

Подробно

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

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

Подробно

Класове в 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 - Част 2 - типове, функции

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

Подробно

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

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

Подробно

-

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

Подробно

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

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

Подробно

Slide 1

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

Подробно

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

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

Подробно

Microsoft Word - VM22 SEC55.doc

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

Подробно

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

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

Подробно

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

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

Подробно

Kontrolno 5, variant 1

Kontrolno 5, variant 1 N P - П Ъ Л Н И З А Д А Ч И КОНТРОЛНО 5 ПО ДИЗАЙН И АНАЛИЗ НА АЛГОРИТМИ СУ, ФМИ ( ЗА СПЕЦИАЛНОСТ КОМПЮТЪРНИ НАУКИ, 1. ПОТОК; 3 МАЙ 018 Г. ) Задача 1. Разглеждаме задачата за разпознаване LongestCycle:

Подробно

Microsoft Word - PRMAT sec99.doc

Microsoft Word - PRMAT sec99.doc Лекция 9 9 Изследване на функция Растене, намаляване и екстремуми В тази лекция ще изследваме особеностите на релефа на графиката на дадена функция в зависимост от поведението на нейната производна Основните

Подробно

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

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

Подробно