Êðàñèëüíèêîâ Í.Í., Ïàðô¸íîâ Â.Ã., Öàð¸â Ô.À., Øàëûòî À.À.
Êðàñèëüíèêîâ Íèêîëàé Íèêîëàåâè÷, Ïàðôåíîâ Âëàäèìèð Ãëåáîâè÷, ...
11 downloads
179 Views
577KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
Êðàñèëüíèêîâ Í.Í., Ïàðô¸íîâ Â.Ã., Öàð¸â Ô.À., Øàëûòî À.À.
Êðàñèëüíèêîâ Íèêîëàé Íèêîëàåâè÷, Ïàðôåíîâ Âëàäèìèð Ãëåáîâè÷, Öàðåâ Ôåäîð Íèêîëàåâè÷, Øàëûòî Àíàòîëèé Àáðàìîâè÷
ÂÈÐÒÓÀËÜÍÀß ËÀÁÎÐÀÒÎÐÈß ÄËß ÏÅÐÂÎÍÀ×ÀËÜÍÎÃÎ ÎÁÓ×ÅÍÈß ÏÐÎÅÊÒÈÐÎÂÀÍÈÞ ÏÐÎÃÐÀÌÌ ÂÂÅÄÅÍÈÅ
 íàñòîÿùåå âðåìÿ øêîëüíèêîâ äàæå ñòàðøèõ êëàññîâ íå ó÷àò ïðîåêòèðîâàíèþ ïðîãðàìì, à ñòóäåíòîâ îáó÷àþò ëèøü â íåêîòîðûõ âóçàõ è òîëüêî íà ñòàðøèõ êóðñàõ. Òàê æå êàê äî ïîñëåäíåãî âðåìåíè ïðîãðàììèðîâàíèþ ó÷èëè íà Ïàñêàëå êàê ÿçûêå, íàèáîëåå óäîáíîì äëÿ ïåðâîíà÷àëüíîãî îáó÷åíèÿ ïðîôåññèîíàëüíîìó ïðîãðàììèðîâàíèþ, òàê àâòîðàìè íàñòîÿùåé ðàáîòû ïðåäëàãàåòñÿ ïåðâîíà÷àëüíî îáó÷àòü ïðîåêòèðîâàíèþ íà îñíîâå àâòîìàòíîãî ïîäõîäà. Ïî ìíåíèþ àâòîðîâ, àâòîìàòû ÿâëÿþòñÿ åñ-
òåñòâåííîé ôîðìîé îïèñàíèÿ ïîâåäåíèÿ ñóùíîñòåé, òàê êàê ñîñòîÿíèÿ è ïåðåõîäû èç îäíîãî ñîñòîÿíèÿ â äðóãîå ïðèñóùè è åñòåñòâåííû äëÿ ÷åëîâåêà. Ýòîò ïîäõîä â òå÷åíèå óæå íåñêîëüêèõ ëåò èñïîëüçóåòñÿ íà êàôåäðå «Êîìïüþòåðíûå òåõíîëîãèè» ÑÏáÃÓ ÈÒÌÎ ñòóäåíòàìè òðåòüåãî êóðñà, êîòîðûå ðàçðàáàòûâàþò ïðîåêòû è ïðîåêòíóþ äîêóìåíòàöèþ ê íèì íà îñíîâå àâòîìàòíîãî ïîäõîäà [1]. Äîêóìåíòàöèÿ è ïðîåêòû ïóáëèêóþòñÿ íà ñàéòå http://is.ifmo.ru. Äëÿ ïîääåðæêè àâòîìàòíîãî ïðîãðàììèðîâàíèÿ ñîçäàíî èíñòðóìåíòàëüíîå ñðåäñòâî UniMod [2]. Îäíàêî äëÿ ïåðâîíà÷àëüíîãî çíàêîìñòâà ñ ïðîåêòèðîâàíèåì ýòî ñðåäñòâî ÿâëÿåòñÿ äîñòàòî÷íî ñëîæíûì. Ïîýòîìó â ðàìêàõ íàñòîÿùåé ðàáîòû ïðåäëîæåí óïðîùåííûé ïîäõîä ê îáó÷åíèþ ïðîåêòèðîâàíèþ ïðîãðàìì. ÎÑÍÎÂÍÛÅ ÏÎËÎÆÅÍÈß
...òåêñòîâûé ÿçûê àâòîìàòíîãî ïðîãðàììèðîâàíèÿ...
62
Ðàçðàáîòàíà «Âèðòóàëüíàÿ ëàáîðàòîðèÿ äëÿ îáó÷åíèÿ ïðîåêòèðîâàíèþ ïðîãðàìì», â êîòîðîé ïðåäëàãàåòñÿ ñîçäàòü ïðîãðàììíûå ìîäóëè äëÿ óïðàâëåíèÿ ðàçëè÷íûìè ñóùíîñòÿìè. Ïðè ýòîì ïî ñëîâåñíîìó îïèñàíèþ ñóùíîñòè ïðîåêòèðóåòñÿ ãðàô ïåðåõîäîâ êî-
© ÊÎÌÏÜÞÒÅÐÍÛÅ ÈÍÑÒÐÓÌÅÍÒÛ Â ÎÁÐÀÇÎÂÀÍÈÈ. ¹ 5, 2007 ã.
Âèðòóàëüíàÿ ëàáîðàòîðèÿ äëÿ ïåðâîíà÷àëüíîãî îáó÷åíèÿ ïðîåêòèðîâàíèþ ïðîãðàìì íå÷íîãî àâòîìàòà, ïî êîòîðîìó òåêñò ïðîãðàììû ñòðîèòñÿ ôîðìàëüíî è èçîìîðôíî. Äëÿ òàêîé ðåàëèçàöèè ðàçðàáîòàí òåêñòîâûé ÿçûê àâòîìàòíîãî ïðîãðàììèðîâàíèÿ. ÒÅÊÑÒÎÂÛÉ ßÇÛÊ ÀÂÒÎÌÀÒÍÎÃÎ ÏÐÎÃÐÀÌÌÈÐÎÂÀÍÈß
Ïðåäëàãàåìûé ÿçûê ïîçâîëÿåò â ïðîñòîé ôîðìå îïèñûâàòü ãðàôû ïåðåõîäîâ àâòîìàòîâ Ìèëè ñîñòîÿíèÿ è ïåðåõîäû ìåæäó íèìè.  ÿçûêå ïðåäóñìîòðåíû ñëåäóþùèå êîíñòðóêöèè: • automata îáúÿâëåíèå àâòîìàòà, çà êîòîðûì äîëæíà ñëåäîâàòü åãî ðåàëèçàöèÿ, çàêëþ÷åííàÿ â ôèãóðíûå ñêîáêè. Íà÷àëüíîå ñîñòîÿíèå íóëåâîå. • state îáúÿâëåíèå ñîñòîÿíèÿ, çà êîòîðûì â ôèãóðíûõ ñêîáêàõ äîëæíî ñëåäîâàòü îïèñàíèå åãî ïåðåõîäîâ. • on <event name> if() do {<job1>, <job2>,...} go to <state name>;
îïèñàíèå ïåðåõîäà èç òåêóùåãî ñîñòîÿíèÿ â ñîñòîÿíèå <state name> ïî ñîáûòèþ <event name> ïðè âûïîëíåíèè ëîãè÷åñêîãî óñëîâèÿ . Ïðè ïåðåõîäå âûïîëíÿþòñÿ äåéñòâèÿ <job1>,...  ýòîé êîíñòðóêöèè äîïóñêàåòñÿ ïðîïóñê if(), do {<job1>, <job2>,...} è go to <state name>. Ðàññìîòðèì ïðèìåð îïèñàíèÿ àâòîìàòà íà ýòîì ÿçûêå (ëèñòèíã 1). Çäåñü îïèñûâàåòñÿ àâòîìàò Auto, ñîñòîÿùèé èç äâóõ ñîñòîÿíèé state0 è state1. Ñ ñîñòîÿíèÿìè ñâÿçàíû ïåðåõîäû, âûïîëíÿþ-
ùèåñÿ â çàâèñèìîñòè îò óñëîâèé, è äåéñòâèÿ, ïðîèçâîäèìûå âî âðåìÿ ïåðåõîäîâ. Àíàëîãè÷íûé ÿçûê óæå áûë ïðåäëîæåí â ðàáîòå [3], íî îí áûë ðåàëèçîâàí òîëüêî â ñðåäå MPS (Meta Programming System) îò êîìïàíèè JetBrains, ÷òî ñèëüíî çàòðóäíÿåò åãî èñïîëüçîâàíèå. Äëÿ ÿçûêà, îïèñàííîãî â íàñòîÿùåé ðàáîòå, áûëà íàïèñàíà ôîðìàëüíàÿ ãðàììàòèêà è ðåàëèçîâàí ïðîñòîé êîìïèëÿòîð. ÊÎÌÏÈËßÒÎÐ ÄËß ÒÅÊÑÒÎÂÎÃÎ ßÇÛÊÀ ÀÂÒÎÌÀÒÍÎÃÎ ÏÐÎÃÐÀÌÌÈÐÎÂÀÍÈß
Êîìïèëÿòîð ïðåîáðàçóåò òåêñò ïðîãðàììû íà ÿçûêå àâòîìàòíîãî ïðîãðàììèðîâàíèÿ â ýêçåìïëÿð êëàññà ÿçûêà Java. Ïîëó÷åííûé ýêçåìïëÿð êëàññà ñðàçó ãîòîâ ê èñïîëüçîâàíèþ. Îïèñàíèå ïðîöåññà ïîñòðîåíèÿ êîìïèëÿòîðà è îïèñàíèå òîíêîñòåé åãî ðàáîòû
Êîìïèëÿòîð ïðåîáðàçóåò òåêñò ïðîãðàììû... â ýêçåìïëÿð êëàññà ÿçûêà Java...
Ëèñòèíã 1 automata Auto { state state0 { on event0 on event0 } state state1 { on event0 on event0 } }
if(stmt0 && stmt1) do {job0}; if(!stmt2) do {job1} go to state1;
if(stmt1) go to state0; do {job1};
ØÊÎËÀ ÑÎÂÐÅÌÅÍÍÎÃÎ ÏÐÎÃÐÀÌÌÈÐÎÂÀÍÈß
63
Êðàñèëüíèêîâ Í.Í., Ïàðô¸íîâ Â.Ã., Öàð¸â Ô.À., Øàëûòî À.À.  ñîñòàâ âèðòóàëüíîé ëàáîðàòîðèè âõîäèò ðåäàêòîð êîäà äëÿ ðåäàêòèðîâàíèÿ òåêñòîâ ïðîãðàìì è óêàçàííûé âûøå êîìïèëÿòîð. Ïîñêîëüêó ðåçóëüòàòîì ðàáîòû êîìïèëÿòîðà ÿâëÿåòñÿ ãîòîâûé äëÿ èñïîëüçîâàíèÿ ýêçåìïëÿð êëàññà, òî èìååòñÿ âîçìîæíîñòü íàáëþäàòü çà èçìåíåíèÿìè ïîâåäåíèÿ îáúåêòîâ áåç ïåðåêîìïèëÿöèè îñòàëüíûõ ìîäóëåé âèðòóàëüíîé ëàáîðàòîðèè. Òàêèì îáðàçîì, âèðòóàëüíàÿ ëàáîðàòîðèÿ ñîäåðæèò âñå íåîáõîäèìîå äëÿ îáó÷åíèÿ îñíîâàì ïðîåêòèðîâàíèÿ íà «æèâûõ» ïðèìåðàõ íåïîñðåäñòâåííî â îêíå èíòåðíåò-áðàóçåðà. Âèðòóàëüíàÿ ëàáîðàòîðèÿ ðàñïîëîæåíà íà ñàéòå http://is.ifmo.ru â îäíîèìåííîì ðàçäåëå. ÏÐÈÌÅÐ ÈÑÏÎËÜÇÎÂÀÍÈß Ðèñ. 1
âûõîäèò çà ðàìêè äàííîé ñòàòüè, òàê êàê î ïîñòðîåíèè êîìïèëÿòîðîâ ïîäðîáíî íàïèñàíî â êíèãå [4]. ÂÈÐÒÓÀËÜÍÀß ËÀÁÎÐÀÒÎÐÈß
 «Âèðòóàëüíîé ëàáîðàòîðèè äëÿ îáó÷åíèÿ ïðîåêòèðîâàíèþ ïðîãðàìì» ïðåäñòàâëåí íàáîð çàäàíèé, â êàæäîì èç êîòîðûõ ïðåäëàãàåòñÿ ñàìîñòîÿòåëüíî ðåàëèçîâûâàòü (ïî ñïðîåêòèðîâàííîìó ó÷àùèìèñÿ ãðàôó ïåðåõîäîâ) ïîâåäåíèå ñîîòâåòñòâóþùåé ñóùíîñòè íà ïðåäëîæåííîì òåêñòîâîì ÿçûêå àâòîìàòíîãî ïðîãðàììèðîâàíèÿ.  ëàáîðàòîðèè ìîæíî íàéòè è ãîòîâûå ïðîãðàììû, êîòîðûå ëåãêî ìîäèôèöèðóþòñÿ ïîëüçîâàòåëåì.
...âèðòóàëüíàÿ ëàáîðàòîðèÿ ñîäåðæèò âñå íåîáõîäèìîå äëÿ îáó÷åíèÿ îñíîâàì ïðîåêòèðîâàíèÿ íà «æèâûõ» ïðèìåðàõ...
64
Ïîêàæåì, êàê èñïîëüçîâàòü âîçìîæíîñòè, ïðåäîñòàâëÿåìûå âèðòóàëüíîé ëàáîðàòîðèåé, íà ïðèìåðå çàäà÷è îá «Óìíîì ìóðàâüå» [5]. ÓÑËÎÂÈÅ ÇÀÄÀ×È
Èãðà ïðîèñõîäèò íà ïîâåðõíîñòè òîðà ðàçìåðîì 32 íà 32 êëåòêè (ðèñ. 1).  íåêîòîðûõ èç íèõ íàõîäÿòñÿ ÿáëîêè. Âñåãî íà ïîëå 89 êëåòîê ñ ÿáëîêàìè.  ëåâîé âåðõíåé êëåòêå íàõîäèòñÿ ìóðàâåé, êîòîðûé ñìîòðèò íàïðàâî.  ëþáîé ìîìåíò âðåìåíè îí çàíèìàåò îäíó êëåòêó è ìîæåò ñìîòðåòü â îäíîì èç ÷åòûðåõ íàïðàâëåíèé. Ìóðàâåé óìååò îïðåäåëÿòü, íàõîäèòñÿ ëè íåïîñðåäñòâåííî ïåðåä íèì ÿáëîêî (âõîäíàÿ ïåðåìåííàÿ a). Çà îäèí õîä ìóðàâåé ìîæåò ñîâåðøèòü îäíî èç ÷åòûðåõ äåéñòâèé: ñäåëàòü øàã âïåðåä (äåéñòâèå g), ñúåäàÿ ÿáëîêî, åñëè îíî òàì íàõîäèòñÿ; ïîâåðíóòü íàëåâî (äåéñòâèå tl); ïîâåðíóòü íàïðàâî (äåéñòâèå tr); íè÷åãî íå äåëàòü. Ñúåäåííûå ìóðàâüåì ÿáëîêè íå ïîïîëíÿþòñÿ, à ìóðàâåé æèâ íà ïðîòÿæåíèè âñåé èãðû. Ðàñïîëîæåíèå ÿáëîê ôèêñèðîâàíî. Èãðà äëèòñÿ 200 õîäîâ, ïî èñòå÷åíèè êîòîðûõ ïîäñ÷èòûâàåòñÿ ÷èñëî ÿáëîê, ñúåäåííûõ ìóðàâüåì. Öåëü èãðû ñîçäàòü ìóðàâüÿ, êîòîðûé çà óêàçàííîå ÷èñëî õîäîâ ñúåñò êàê ìîæíî áîëüøå ÿáëîê.
© ÊÎÌÏÜÞÒÅÐÍÛÅ ÈÍÑÒÐÓÌÅÍÒÛ Â ÎÁÐÀÇÎÂÀÍÈÈ. ¹ 5, 2007 ã.
Âèðòóàëüíàÿ ëàáîðàòîðèÿ äëÿ ïåðâîíà÷àëüíîãî îáó÷åíèÿ ïðîåêòèðîâàíèþ ïðîãðàìì Ëèñòèíã 2 automata Auto2 { state s0 { on e0 if(a) do {g}; on e0 if(!a) do {tr}; } } ÈÑÑËÅÄÎÂÀÍÈÅ ÇÀÄÀ×È Â ÂÈÐÒÓÀËÜÍÎÉ ËÀÁÎÐÀÒÎÐÈÈ
Îïèøåì ïîâåäåíèå ìóðàâüÿ ãðàôàìè ïåðåõîäîâ àâòîìàòîâ Ìèëè ñ ðàçëè÷íûì ÷èñëîì ñîñòîÿíèé è ïðîàíàëèçèðóåì ïîâåäåíèå àâòîìàòîâ. Àâòîìàò ñ îäíèì ñîñòîÿíèåì Ïðîñòåéøèé ìóðàâåé (ãðàô ïåðåõîäîâ êîòîðîãî äëÿ ýêîíîìèè ìåñòà îïóùåí) äîëæåí ñúåñòü 42 ÿáëîêà (ëèñòèíã 2). Äàëåå îòêðûâàåì ñîîòâåòñòâóþùóþ ñòðàíèöó âèðòóàëüíîé ëàáîðàòîðèè ñ çàäà÷åé îá óìíîì ìóðàâüå, âûáèðàåì ðåæèì ðåäàêòèðîâàíèÿ ïðîãðàììû (Change Programm...) è â îêíî ðåäàêòîðà êîäà êîïèðóåì çàïèñàííóþ ïðîãðàììó (ðèñ. 2). Îòêîìïèëèðîâàâ è çàïóñòèâ ïðîãðàììó, ïîëó÷àåì îæèäàåìûé ðåçóëüòàò çà 200 õîäîâ ñúåäåíî 42 ÿáëîêà (ðèñ. 3).
Ðèñ. 2
íÿòü ðåäàêòèðîâàíèå ïðîãðàììû. Ïîýòîìó ðàññìîòðèì ìóðàâüÿ, ïîâåäåíèå êîòîðîãî îïèñûâàåòñÿ àâòîìàòîì ñ ïÿòüþ ñîñòîÿíèÿìè (ðèñ. 4). Àâòîìàòíàÿ ïðîãðàììà, ðåàëèçóþùàÿ ýòîò àâòîìàò, ïðèâåäåíà â ëèñòèíãå 3. Ýòà ïðîãðàììà çàäà÷ó íå ðåøàåò, òàê êàê ìóðàâåé çà 200 õîäîâ ñúåäàåò òîëüêî 83 ÿáëîêà (ðèñ. 5).
Àâòîìàò ñ ïÿòüþ ñîñòîÿíèÿìè Îñîáåííîñòü ðàçðàáîòàííîé ëàáîðàòîðèè ñîñòîèò â òîì, ÷òî â íåé ëåãêî âûïîë-
Àâòîìàò ñ ñåìüþ ñîñòîÿíèÿìè Ðàññìàòðèâàåìàÿ çàäà÷à ìîæåò áûòü ðåøåíà ñ ïîìîùüþ àâòîìàòà ñ ñåìüþ ñîñòîÿíèÿìè (ðèñ. 6).
Ðèñ. 3
Ðèñ. 4
ØÊÎËÀ ÑÎÂÐÅÌÅÍÍÎÃÎ ÏÐÎÃÐÀÌÌÈÐÎÂÀÍÈß
65
Êðàñèëüíèêîâ Í.Í., Ïàðô¸íîâ Â.Ã., Öàð¸â Ô.À., Øàëûòî À.À.
Ðèñ. 6
Ðèñ. 5
Ýòîò àâòîìàò ïîñòðîåí â ðàáîòå [5]. Â ëèñòèíãå 4 ïðèâåäåíà àâòîìàòíàÿ ïðîãðàììà, ðåàëèçóþùàÿ ýòîò àâòîìàò.
Ëèñòèíã 3 automata { state { on on } state { on on } state s2 { on on } state { on on } state { on on } }
66
Auto3 s0 e0 if(a) do {g}; e0 if(!a) do {tr} go to s3; s1 e0 if(a) do {g}; e0 if(!a) do {g} go to s0;
e0 if(a) do {g} go to s0; e0 if(!a) do {tl} go to s4; s3 e0 if(a) do {g} go to s2; e0 if(!a) do {tl} go to s2; s4 e0 if(a) do {g} go to s1; e0 if(!a) do {tr} go to s1;
Ëèñòèíã 4 automata { state { on on } state { on on } state { on on } state { on on } state { on on } state { on on } state { on on }
Auto4 s0 e0 if(a) do {g} go to s4; e0 if(!a) do {tr} go to s2; s1 e0 if(a) do {g} go to s3; e0 if(!a) do {g} go to s0; s2 e0 if(a) do {g} go to s6; e0 if(!a) do {tr} go to s4; s3 e0 if(a) do {g} go to s4; e0 if(!a) do {g} go to s1; s4 e0 if(a) do {g} go to s1; e0 if(!a) do {tr} go to s5; s5 e0 if(a) do {g} go to s6; e0 if(!a) do {tl} go to s1; s6 e0 if(a) do {g} go to s1; e0 if(!a) do {g} go to s3;
}
© ÊÎÌÏÜÞÒÅÐÍÛÅ ÈÍÑÒÐÓÌÅÍÒÛ Â ÎÁÐÀÇÎÂÀÍÈÈ. ¹ 5, 2007 ã.
Âèðòóàëüíàÿ ëàáîðàòîðèÿ äëÿ ïåðâîíà÷àëüíîãî îáó÷åíèÿ ïðîåêòèðîâàíèþ ïðîãðàìì Ýòîò ìóðàâåé ñúåäàåò âñå 89 ÿáëîê çà 200 õîäîâ (ðèñ. 7). ÇÀÊËÞ×ÅÍÈÅ
Àâòîðû íàäåþòñÿ, ÷òî ïðåäëîæåííûé ïîäõîä ê íà÷àëüíîìó îáó÷åíèþ ïðîåêòèðîâàíèþ ïðîãðàìì îêàæåòñÿ ïîëåçíûì, ñîâìåùàÿ â ñåáå óâëåêàòåëüíîñòü è èíòåðàêòèâíîñòü. Êðîìå ðàññìîòðåííîé çàäà÷è, âèðòóàëüíàÿ ëàáîðàòîðèÿ ñîäåðæèò åùå íåñêîëüêî çàäà÷, ñîñòàâ êîòîðûõ ïîïîëíÿåòñÿ è áóäåò ïîïîëíÿòüñÿ â äàëüíåéøåì. Ëèòåðàòóðà
Ðèñ. 7
1. Øàëûòî À. À. Òåõíîëîãèÿ àâòîìàòíîãî ïðîãðàììèðîâàíèÿ / Òðóäû ïåðâîé Âñåðîññèéñêîé íàó÷íîé êîíôåðåíöèè «Ìåòîäû è ñðåäñòâà îáðàáîòêè èíôîðìàöèè». Ì.: ÌÃÓ, 2003. http://is.ifmo.ru/ works/tech_aut_prog/ 2. Èíñòðóìåíòàëüíîå ñðåäñòâî Unimod. http://unimod.sourceforge.net/intro.html 3. Ãóðîâ Â.Ñ., Ìàçèí Ì.À., Øàëûòî À.À. Òåêñòîâûé ÿçûê àâòîìàòíîãî ïðîãðàììèðîâàíèÿ / Òåçèñû äîêëàäîâ ìåæäóíàðîäíîé íàó÷íîé êîíôåðåíöèè, ïîñâÿùåííîé ïàìÿòè ïðîôåññîðà À.Ì. Áîãîìîëîâà «Êîìïüþòåðíûå íàóêè è òåõíîëîãèè». Ñàðàòîâ: ÑÃÓ, 2007. Ñ. 6669. http://is.ifmo.ru/works/_2007_10_05_mps_textual_language.pdf 4. Àõî À., Ñåòè Ð., Óëüìàí Äæ. Êîìïèëÿòîðû. Ïðèíöèïû, òåõíîëîãèè, èíñòðóìåíòû. Ì.: Âèëüÿìñ. 2003. 5. Öàðåâ Ô.Í., Øàëûòî À.À. Î ïîñòðîåíèè àâòîìàòîâ ñ ìèíèìàëüíûì ÷èñëîì ñîñòîÿíèé äëÿ çàäà÷è îá «Óìíîì ìóðàâüå» / Ñáîðíèê äîêëàäîâ X ìåæäóíàðîäíîé êîíôåðåíöèè ïî ìÿãêèì âû÷èñëåíèÿì è èçìåðåíèÿì. Òîì 2. ÑÏáÃÝÒÓ «ËÝÒÈ», 2007. Ñ. 8891. http://is.ifmo.ru/download/ant_ga_min_number_of_state.pdf
Êðàñèëüíèêîâ Íèêîëàé Íèêîëàåâè÷, ìàãèñòðàíò êàôåäðû «Êîìïüþòåðíûå òåõíîëîãèè» ÑÏáÃÓ ÈÒÌÎ, Ïàðôåíîâ Âëàäèìèð Ãëåáîâè÷, äîêòîð òåõíè÷åñêèõ íàóê, ïðîôåññîð, äåêàí ôàêóëüòåòà «Èíôîðìàöèîííûå òåõíîëîãèè è ïðîãðàììèðîâàíèÿ», ÑÏáÃÓ ÈÒÌÎ, Öàðåâ Ôåäîð Íèêîëàåâè÷, ìàãèñòðàíò êàôåäðû «Êîìïüþòåðíûå òåõíîëîãèè» ÑÏáÃÓ ÈÒÌÎ, ïîáåäèòåëü ñòóäåí÷åñêîãî êîìàíäíîãî ÷åìïèîíàòà Ðîññèè ïî ïðîãðàììèðîâàíèþ 2008 ãîäà, Øàëûòî Àíàòîëèé Àáðàìîâè÷, äîêòîð òåõíè÷åñêèõ íàóê, ïðîôåññîð, çàâåäóþùèé êàôåäðîé «Òåõíîëîãèè ïðîãðàììèðîâàíèÿ» ÑÏáÃÓ ÈÒÌÎ. ØÊÎËÀ ÑÎÂÐÅÌÅÍÍÎÃÎ ÏÐÎÃÐÀÌÌÈÐÎÂÀÍÈß
67