НАУЧНИ ТРУДОВЕ НА РУСЕНСКИЯ УНИВЕРСИТЕТ , том 54, серия 3.2 Реализация на вградения механизъм за извод в междинната форма на SPIDER/CNP програма

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

Download "НАУЧНИ ТРУДОВЕ НА РУСЕНСКИЯ УНИВЕРСИТЕТ , том 54, серия 3.2 Реализация на вградения механизъм за извод в междинната форма на SPIDER/CNP програма"

Препис

1 Реализация на вградения механизъм за извод в междинната форма на SPIDER/CNP програма Цанко Големанов Abstract: Control Network Programming (CNP) is a style of high-level programming that is especially effective for solving problems that have natural graph-like representation of imperative, declarative, or mixed nature. The calculation of the behavior of a SPIDER/CNP program was not carried out by separate module Interpreter. Instead, the logic of interpreter and backtracking functionality are embedded directly in the code of the SPIDER/CNP project. This manipulation is performed by SPIDER-compiler on the step of translating SPIDER program to the intermediate code. The main specifics of Net, State and Arrow compilation and the intermediate code generation are discussed. Key words: Backtracking, Control Network Programming, CNP, SpiderCNP, intermediate code. ВЪВЕДЕНИЕ Фундаменталната част на всяка SPIDER-програма е Управляващата Мрежа (УМ). УМ по същество представлява ориентиран граф и е крайно множество подмрежи, една от които е главна. Подмрежите могат да се извикват помежду си, потенциално рекурсивно. Всяка подмрежа се състои от етикетирани възли (състояния), и свързващи ги стрелки. По всяка стрелка може да се постави последователност от "примитиви". Примитивите представляват елементарни действия, еквивалентът на които в традиционните езици за програмиране са потребителски-дефинираните функции. Изпълнението на една SPIDER-програма представлява трасировка на графа-ум и търсенето на път между началното и финалното състояние. Елементарните действия (примитивите) съдържат код на избран host език (Pascal, C и др) и се изпълняват при придвижването по стрелките, свързващи отделните възли. На практика се прилага вградена стратегия за извод - разширен BACKTRACKING [1], като по-долу ще бъдат разгледани подходите с помощта на които е реализиран този основен, за изпълнението на SPIDER програмата, механизъм [2]. Особености на междинната форма на програмата Междинната форма на потребителската програма (SpiderUnit.SPI) се генерира от SPIDER компилатора. Тя представлява програма на host-езика, в която стратегията за извод и механизмите за неговото управление са реализирани с рекурсивни процедури. На всеки от обектите на УМ (подмрежи, състояния, стрелки) съответстват определени програмни структури, а в главната програма се извършва първоначална инициализация и стартиране на изпълнението на УМ. За да се внесе по-голяма яснота относно вида на междинната програма и реализацията на вградената стратегия за търсене на решение, по-долу е проследена транслацията на малка примерна програма. Без да се влиза в подробности се коментира как изглеждат транслирани подмрежа, състояние и стрелка. Разглежданата примерна SPIDER програма има една главна подмрежа MainNet, състояща се от две обикновени състояния (StartState, OtherState), две системни състояния (STOP, FINISH) и стрелки, по които е поставен единствения примитив Prim. Кодът на примитива Prim (при host език Pascal), генериращ MessageBox с различни съобщения при движение в права и обратна посока по стрелката, графичното представяне на УМ и съответстващия й текстов вид на са показани на фиг

2 {&P} procedure Prim; // Примитив Prim if FORW then showmessage('prim forw') else showmessage('prim back'); MAIN MainNet MAIN MainNet; body StartState: Prim OtherState: Prim > OtherState > FINISH; > STOP; Фиг. 1. Примерна УМ и примитив Prim В резултат от работата на SPIDER-компилатора се получава междинна програма на host-езика, първата част на която отговаря изцяло на частта Глобални декларации, а след нея под формата на рекурсивни процедури се разполага транслираната УМ. Тялото на генерираната основна функция SpiderSolutions, чрез която се стартира SPIDER-програмата, има вида показан на фиг.2. function SpiderSolutions : integer; ENT :='StartState'; //име на входното състояние на главната //подмрежа CPC :=0; //инициализиране на текущите разходи на пътя SOL :=0; //инициализиране на броя намерени решения for NN :=1 to 1 do //за всички дефинирани подмрежи new( NTO [ NN ]); NTO [ NN ]^ := DO ; try N 1( ENT,nil,0); except SpiderSolutions := SOL ; end. //задаване на мрежови опции по //подразбиране //извикване на главната подмрежа //връща броя намерени решения Фиг. 2. Стартираща функция SpiderSolutions

3 В главната програма се задават стойности на някои системни променливи, заделя се памет за мрежовите опции и се извършва обръщение към главната подмрежа MainNet (транслирана като процедурата N 1). От тази процедура се излиза в случай, че главната подмрежа е изпълнена неуспешно. Транслираната главна подмрежа MainNet е показана на фиг.3. procedure N 1 ( 1IS :string; 1DR :pointer; 1O :word); var 1DA : 1DP ; //подмрежа 1 се вика като процедура N 1 //начално състояние //системна информация за изход и обратно връщане //запис за локални данни на подмрежата inc( NTO [1]^.CurrRec); //увеличаване на мрежовото ниво на рекурсия if NTO [1]^.CurrRec-1<= NTO [1]^.Recursion then //проверка за ограничение на //нивото new( 1DA ); with 1DA ^ do // установяване на системни и потребителски локални данни Return:= 1O ; RetRec:= 1DR ; Loops :=nil; if 1IS ='StartState' then S 1( 1DA ) //извикване на състояние 1 else if 1IS ='OtherState' then S 2( 1DA ) //извикване на състояние 2 //неуспешно изпълнение на подмрежата dec( NTO [1]^.CurrRec); //намаляване на мрежовото ниво на рекурсия Фиг. 3. Транслираната главна подмрежа MainNet В тялото на процедурата, отговаряща за една подмрежа се извършва заделяне на памет за системните и потребителски данни на текущото рекурсивно ниво и според стойността на 1IS се извършва преход към начално й състояние. Неуспешното изпълнение на това състояние води и до неуспешното изпълнение на подмрежата. Тези действия обаче се извършват само в случай, че текущото ниво на рекурсивна вложеност не надхвърля максимално зададеното чрез системната опция RECURSION [3]. Тогава подмрежата е също неуспешно изпълнена. Преходът към едно състояние на подмрежа се извършва чрез извикването на съответстващата му процедура. Транслираното състояние StartState е показано на фиг.4. procedure S 1 (Rec:pointer); var SO 1 : SOP ; SA 1 : 1DP ; SL 1 : NCLRP ; //състояние 1 се вика като процедура S 1 //указател към запис с мрежовите локални данни //локални опции на състоянието //достъп до мрежовите локални данни //локален брояч на примките SA 1:=Rec; //предаване на достъп до мрежовите локални данни SO 1:= FNO ( NTO [1],1); //обновяване на локалните опции на състоянието SL 1:= FNL ( SA 1^.Loops,1); //обновяване на брояча на примките inc( SL 1^.CurrLoops); //увеличаване на брояча на примките if ( SL 1^.CurrLoops-1<= SO 1^.Loops) and //проверка за ограничение на примките ( FNV ( RNV,1)<= SO 1^.Visits) then //проверка за еднократно посещение A 1; //изпълнение на стрелка 1 A 2; //изпълнение на стрелка 2 при неуспех на 1 //{неуспешно изпълнение на състояние dec( SL 1^.CurrLoops); //{намаляване на брояча на примките Фиг. 4. Транслирано състояние StartState

4 В началото на разгледаната процедура е показано как се използва набор локални системни променливи (за достъп до локалните опции и мрежови данни), след което се извършва последователното изпълнение на излизащите от състоянието две стрелки. Ако първата стрелка (процедура A 1) се изпълни неуспешно, то се преминава към изпълнение на следващата ( A 2). Неуспешното изпълнение на всички излизащи стрелки води до неуспешното изпълнение на състоянието. Тези действия обаче се извършват само в случай, че текущия брой на примките (повторно влизане в състоянието на едно рекурсивно ниво) не надхвърля максимално зададения (системна опция LOOPS [3]) и не е установена опцията за еднократно посещение (ONEVISIT [3]). Тогава състоянието е също неуспешно изпълнено. Изпълнението на примитивите по една стрелка се извършва чрез извикване на съответстващата й процедура. Транслираната първа стрелка на състояние StartState е показана на фиг.5. procedure A 1; //стрелка 1 се вика като процедура A 1 label L 1; //етикет за начало на обратното изпълнение на стрелката failure:=false; forw:=true; //инициализация на флаговете: успех, права посока CPC := CPC + SO 1^.ArrowCost^; //увеличаване на текущите пътни разходи if SO 1^.MaxPathCost^>= CPC then //проверка на максималните пътни разходи PRIM; //право изпълнение на примитива Prim if failure then //при локален неуспех forw:=false; //смяна на посоката на движение по стрелката GoTo L 1 //преход към обратно изпълнение на стрелката S 2(Rec); //преход към състояние 2 на подмрежата //неуспешно изпълнение на състояние 2 forw:=false; //смяна на посоката на движение L 1: PRIM; //обратно изпълнение на примитива Prim //неуспешно изпълнение на стрелка 1 CPC := CPC - SO 1^.ArrowCost^; //намаляванее на текущите пътни разходи Фиг. 5. Транслирана първа стрелка на състояние StartState Изпълнението на всяка стрелка започва с нулиране на флага за неуспех и установяване на флага за движение в права посока. Следва увеличаване на текущите пътни разходи с тежестта на стрелката и проверка дали получената стойност не надхвърля максимално допустимите разходи, задавани чрез системната опция MAXPATHCOST [3]. В случай че текущите разходи са в рамките на разрешеното, се преминава към последователно изпълнение на примитивите формиращи стрелката, като след всеки се проверява условието за локален неуспех failure. При установяване на такъв, започва обратното изпълнение на преминатите примитиви и това води до неуспешното изпълнение на стрелката. Преходът към друго състояние се състои в извикване на съответстващата му процедура. Изпълнението на SPIDER УМ приключва с: неуспех (неуспешно изпълнение на главната подмрежа N 1) и брой намерени решения в системната променлива SOL = 0; успех - индикация е достигането до системното състояние FINISH и брой намерени решения в системната променлива SOL > 0. Програмната обработка на успешното изпълнение (достигнат FINISH) е реализирано като системна процедура със следната алтернативна функционалност: Ако е достигнат максималния брой търсени решения: o Генериране на изключение (exception), предаване на управлението след try except на стартовата функция SpiderSolutions и изход с

5 установения брой намерени решения SOL Иначе продължаване на търсенето на нови решения: o Инкрементиране на броя на намерените решения SOL o Задаване на локален неуспех: failure := TRUE o Задаване на обратна посока на движение по стрелката: forw := FALSE Трябва да се отбележи, че търсенето на всички възможни решения (при опция SOLUTIONS=ALL [3]) може да предизвика многократни достигания до FINISH, приключващи с неуспешно изпълнение на главната подмрежа N 1. Обаче и в този случай функцията SpiderSolutions ще изведе коректно намерения текущ брой решения в SOL. ЗАКЛЮЧЕНИЕ Разгледаната по-горе реализация на основния механизъм за извод в SPIDER/CNP има следните основни предимства: Избягва се използването на отделна интерпретираща програма за изпълнение на УМ, понижаваща многократно производителността при изпълнение на мултипарадигмения проект. Програмата се състои от два отделни езика - един за описание на примитивите (host) и друг за описание на УМ (SPIDER). Благодарение на компилирането на УМ в базов междинен код на host езика и следващо финално изграждане на проекта, става възможно двата езика могат да се развиват абсолютно независимо. Като host език може да се използва някой широко разпространен императивен език с пълните си обектно-ориентирани възможности. Към момента има реализация на SPIDER за Delphi, C++ и Lazarus, като предстои разработка и за Java платформа. ЛИТЕРАТУРА [1] R. J. Schalkoff, Intelligent Systems: Principles, Paradigms and Pragmatics. Jones & Bartlett Publishers, [2] K. Kratchanov, E.Golemanova, and T.Golemanov, Control Network Programs and Their Execution, in 8th WSEAS Int. Conf. on Artificial Intelligence, Knowledge Engineering and Data Bases (AIKED 2009), Cambridge, UK, 2009, pp [3] K. Kratchanov, T.Golemanov, and E.Golemanova, Control Network Programs: Static Search Control with System Options, in 8th WSEAS Int. Conf. on Artificial Intelligence, Knowledge Engineering and Data Bases (AIKED 2009), Cambridge, UK, 2009, pp За контакти: гл. ас. д-р Цанко Големанов, Катедра Компютърни системи и технологии, Русенски университет Ангел Кънчев, тел.: , е-mail: TGolemanov@uniruse.bg Докладът е рецензиран

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

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

Подробно

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

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

Подробно

Lush Green

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

Подробно

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

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

Подробно

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

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

Подробно

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

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

Подробно

Проф

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

Подробно

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

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

Подробно

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

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

Подробно

Microsoft Word - Primer3_1.doc

Microsoft Word - Primer3_1.doc 3.1.) Създаване на нов проект demultiplexor и нов файл demultiplexor.vhd в текстовия редактор Galaxy Стартирайте текстовия редактор Galaxy, използвайки опциите : Start > Programs > WARP > Galaxy 3.1.1.

Подробно

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

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

Подробно

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

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

Подробно

-

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

Подробно

Microsoft Word - KZ_TSG.doc

Microsoft Word - KZ_TSG.doc ПРИЛОЖЕНИЕ НА ТЕОРИЯТА НА СИГНАЛНИТЕ ГРАФИ ЗА АНАЛИЗ НА ЕЛЕКТРОННИ СХЕМИ С ОПЕРАЦИОННИ УСИЛВАТЕЛИ В теорията на електронните схеми се решават три основни задачи: ) анализ; ) синтез; ) оптимизация. Обект

Подробно

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

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

Подробно

4

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

Подробно

Сериализация Калин Георгиев 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 Първо изискване:

Подробно

Lush Green

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

Подробно

УКАЗАНИЯ

УКАЗАНИЯ УКАЗАНИЯ ЗА ЗАПИСВАНЕ НА ИЗБИРАЕМИ ДИСЦИПЛИНИ ПРЕЗ СУСИ І. ОБЩА ИНФОРМАЦИЯ СУСИ е информационна система, през която всеки студент може да проследи студентското си състояние, изучаваните от него дисциплини,

Подробно

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

Анализ и оптимизация на софтуерни приложения Анализ и оптимизация на софтуерни приложения Александър Пенев Васил Василев (от гледна точка на производителността) Съдържание 1. Видове транслатори 2.Фази по време на компилация 3. Оптимизационна фаза

Подробно

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?

Подробно

НАУЧНИ ТРУДОВЕ НА РУСЕНСКИЯ УНИВЕРСИТЕТ , том 51, серия 4 Параметрично 3D проектиране на елемент от ръчен винтов крик Ахмед Али Ахмед Parametric

НАУЧНИ ТРУДОВЕ НА РУСЕНСКИЯ УНИВЕРСИТЕТ , том 51, серия 4 Параметрично 3D проектиране на елемент от ръчен винтов крик Ахмед Али Ахмед Parametric Параметрично 3D проектиране на елемент от ръчен винтов крик Ахмед Али Ахмед Parametric 3D construction of a jack-screw s part: The paper describes a method for a parametric construction of the nut, which

Подробно

НАУЧНИ ТРУДОВЕ НА РУСЕНСКИЯ УНИВЕРСИТЕТ , том 47, серия 4 Сравнително изследване на някои от характеристиките на измервателните системи за позиц

НАУЧНИ ТРУДОВЕ НА РУСЕНСКИЯ УНИВЕРСИТЕТ , том 47, серия 4 Сравнително изследване на някои от характеристиките на измервателните системи за позиц Сравнително изследване на някои от характеристиките на измервателните системи за позициониране и навигация на автомобили Даниел Любенов, Митко Маринов A comparative study of some characteristics of the

Подробно

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

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

Подробно

C++

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

Подробно

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

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

Подробно

Видеорекордер АHD-3908 Ръководство за експлоатация Моделите от тази серия са отличен избор за цифрово наблюдение на обекти в различни сфери, където во

Видеорекордер АHD-3908 Ръководство за експлоатация Моделите от тази серия са отличен избор за цифрово наблюдение на обекти в различни сфери, където во Видеорекордер АHD-3908 Ръководство за експлоатация Моделите от тази серия са отличен избор за цифрово наблюдение на обекти в различни сфери, където водещ фактор е сигурността. Вградената LINUX операционна

Подробно

Slide 1

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

Подробно

Microsoft Word - WI60V01_Instr_exploat_RFID_2011.doc

Microsoft Word - WI60V01_Instr_exploat_RFID_2011.doc 1. Предназначение на продукта Блиндираната врата управлявана чрез безконтактна карта е продукт предназначен да повиши сигурността на вашето жилище или офис, както и да улесни ежедневната експлоатация.

Подробно

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

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

Подробно

Мрежов видео рекордер Ръководство за употреба

Мрежов видео рекордер Ръководство за употреба Мрежов видео рекордер Ръководство за употреба Съдържание Работа с USB мишка... 3 Главно меню... 4 Преглед на живо... 5 Цифрово машабиране... 5 PTZ Управление... 6 Извикване на Предварителна настройка (Presets)

Подробно

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

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

Подробно

НАУЧНИ ТРУДОВЕ НА РУСЕНСКИЯ УНИВЕРСИТЕТ , том 51, серия 4 Методика за изследване изпреварването между автомобили с помощта на GPS приемници Свил

НАУЧНИ ТРУДОВЕ НА РУСЕНСКИЯ УНИВЕРСИТЕТ , том 51, серия 4 Методика за изследване изпреварването между автомобили с помощта на GPS приемници Свил Методика за изследване изпреварването между автомобили с помощта на GPS приемници Свилен Костадинов, Митко Маринов, Даниел Любенов Method for testing overtaking between cars using GPS loggers: In this

Подробно

Приложение на методите на Рунге Кута за решаване на уравненията за отравяне на ядрения реактор 1. Въведение В доклада са направени поредица от изчисле

Приложение на методите на Рунге Кута за решаване на уравненията за отравяне на ядрения реактор 1. Въведение В доклада са направени поредица от изчисле Приложение на методите на Рунге Кута за решаване на уравненията за отравяне на ядрения реактор 1. Въведение В доклада са направени поредица от изчисления върху уравненията за отравяне на ядрения реактор

Подробно

Kontrolno 5, variant 1

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

Подробно

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

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

Подробно

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

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

Подробно

НАУЧНИ ТРУДОВЕ НА РУСЕНСКИЯ УНИВЕРСИТЕТ , том 49, серия 3.2 Един подход за обработка и конвертиране на векторни изображения в WEB-базираните сис

НАУЧНИ ТРУДОВЕ НА РУСЕНСКИЯ УНИВЕРСИТЕТ , том 49, серия 3.2 Един подход за обработка и конвертиране на векторни изображения в WEB-базираните сис Един подход за обработка и конвертиране на векторни изображения в WEB-базираните системи Цветан Христов Христов An Approach for Vector Graphics Manipulation and Conversion in the WEB-Based Systems: In

Подробно

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

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

Подробно

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

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

Подробно