êóðñîâûå,êîíòðîëüíûå,äèïëîìû,ðåôåðàòû
Âîëæñêèé óíèâåðñèòåò èìåíè Â.Í.Òàòèùåâà
Ôàêóëüòåò “Èíôîðìàòèêà è òåëåêîììóíèêàöèè”
Êàôåäðà “Èíôîðìàòèêà è ñèñòåìû óïðàâëåíèÿ”
ÊÓÐÑÎÂÀß ÐÀÁÎÒÀ
ïî äèñöèïëèíå: “Ñèñòåìíîå ïðîãðàììíîå îáåñïå÷åíèå”
Òåìà:
“Èíòåðïðåòàòîð êîìàíä MS DOS”
Òîëüÿòòè
ÂÂÅÄÅÍÈÅ
1. ÒÅÎÐÅÒÈ×ÅÑÊÀß ×ÀÑÒÜ
1.1 ÎÏÅÐÀÖÈÎÍÍÀß ÑÈÑÒÅÌÀ MS DOS
1.1.1 Ôàéëû IO.SYS è MSDOS.SYS
1.1.2 Êîìàíäíûé ïðîöåññîð DOS
1.1.3. Áàçîâàÿ ñèñòåìà ââîäà-âûâîäà
1.1.4 Çàãðóç÷èê DOS
1.1.5 Äèàëîã ïîëüçîâàòåëÿ ñ DOS
1.1.6 Êîìàíäû DOS
1.2 ÍÅÄÎÑÒÀÒÊÈ ßÇÛÊÀ ÏÐÎÃÐÀÌÈÐÎÂÀÍÈß Ñ++
2. ÏÐÎÃÐÀÌÌÍÀß ×ÀÑÒÜ
2.1 ÏÎÑÒÀÍÎÂÊÀ ÇÀÄÀ×È
2.2 ÏÎÑÒÐÎÅÍÈÅ ÀËÃÎÐÈÒÌÀ ÐÅØÅÍÈß ÇÀÄÀ×È
2.2 ÀËÃÎÐÈÒÌ
2.3. ÎÏÈÑÀÍÈÅ ÐÀÇÐÀÁÎÒÀÍÍÎÉ ÏÐÎÃÐÀÌÌÛ
3. ÇÀÊËÞ×ÅÍÈÅ
4. ÑÏÈÑÎÊ ËÈÒÅÐÀÒÓÐÛ
5. ÏÐÈËÎÆÅÍÈÅ
MsDos áûëà ñîçäàíà â 1981 ã. ôèðìîé Microsoft ïî çàêàçó IBM äëÿ ðàçðàáàòûâàþùèõñÿ òîãäà êîìïüþòåðîâ IBM PC. Êîìïüþòåð IBM PC, äëÿ êîòîðîãî áûëà íàïèñàíà MsDos, áûë ìàëî ïîõîæ íà ñîâðåìåííûå êîìïüþòåðû – ìåäëåííûé ìèêðîïðîöåññîð Intel-8088, 256 Êáàéò îïåðàòèâíîé ïàìÿòè, áåç æ¸ñòêîãî äèñêà, àëôàâèòíî-öèôðîâîé ÷¸ðíî-áåëûé ìîíèòîð, ðàáîòà ëèøü ñ îäíîñòîðîííèìè 160- Êáàéòíûìè äèñêåòàìè è ò.ä. Îäíàêî ýòè âîçìîæíîñòè áûëè âûøå, ÷åì ó êîíêóðèðóþùèõ ïåðñîíàëüíûå êîìïüþòåðû.
Ïåðâàÿ âåðñèÿ Ms Dos òîæå îáëàäàëà ãîðàçäî áîëåå ñêðîìíûìè âîçìîæíîñòÿìè, ÷åì ñîâðåìåííûå ÎÑ. Îíà îáåñïå÷èâàëà ðàáîòó íà êîìïüþòåðå ëèøü îäíîãî ïîëüçîâàòåëÿ è îäíîé ïðîãðàììû (òî åñòü îäíîïîëüçîâàòåëüñêîé è îäíîçàäà÷íîé), ïîääåðæèâàëà ðàáîòó ëèøü ñ äèñêåòàìè, êëàâèàòóðíîé è àëôàâèòíî-öèôðîâûì äèñïëååì. Çàòî Ms Dos áûëà êîìïàêòíîé, ïðåäúÿâëÿëà äîâîëüíî ñêðîìíûå òðåáîâàíèÿ ê àïïàðàòóðå è âûïîëíÿëà íåîáõîäèìûé ìèíèìóì ôóíêöèé äëÿ ïîëüçîâàòåëåé è ïðîãðàìì.
Çà òå äâà äåñÿòêà ëåò, êîòîðûå ïðîøëè ñ ìîìåíòà ïîÿâëåíèÿ IBM PC, òåõíè÷åñêèå õàðàêòåðèñòèêè êîìïüþòåðîâ ñîâåðøèëè ôàíòàñòè÷åñêèé ðûâîê âïåð¸ä. Ñîâðåìåííûå êîìïüþòåðû ïðåâîñõîäÿò ïî âñåì ïîêàçàòåëÿì (áûñòðîäåéñòâèþ, îáúåìó îïåðàòèâíîé è äèñêîâîé ïàìÿòè, âîçìîæíîñòÿì ìîíèòîðà è ò.ä) êîìïüþòåðû íà÷àëà 80õ ãîäîâ â ñîòíè è äàæå òûñÿ÷è ðàç. Ïîýòîìó ôèðìà Microsoft âíåñëà â MsDos ìíîãî èçìåíåíèé è äîáàâëåíèé, ÷òîáû ðàñøèðèòü å¸ âîçìîæíîñòè è áîëåå ýôôåêòèâíî èñïîëüçîâàòü íîâûå, áîëåå ìîùíûå, êîìïüþòåðû.
Êàê íàëè÷èå àâòîìîáèëåé íå îòìåíÿåò íåîáõîäèìîñòè óìåòü õîäèòü íà ñâîèõ äâîèõ, òàê è íàëè÷èå Windows, Windows 95, Windows NT íå ëèêâèäèðóåò (õîòÿ è ñèëüíî ñîêðàùàåò) ïîòðåáíîñòè â MS DOS è DOS-ïðîãðàììàõ:
· äî ñèõ ïîð îñòà¸òñÿ ìíîæåñòâî îáëàñòåé äåÿòåëüíîñòè, ãäå DOS-ïðîãðàììû óñïåøíî ðàáîòàþò, à ïðèìåíåíèå ðåøåíèé, òðåáóþùèõ èíûõ ÎÑ, íåâîçìîæíî èëè ýêîíîìè÷åñêè íå öåëåñîîáðàçíî;
· ïðè ïîâðåæäåíèè òàêèõ ÎÑ, êàê WINDOWS 3.1, WINDOWS for Workgroup è Windows 95 (÷òî ñëó÷àåòñÿ âåñüìà ÷àñòî) äëÿ èññëåäîâàíèÿ ïðè÷èí íåèñïðàâíîñòè è èõ óñòðàíåíèÿ îáû÷íî ïðèõîäèòñÿ èñïîëüçîâàòü MS DOS è DOS-ïðîãðàììû.
Îïåðàöèîííàÿ ñèñòåìà MSDOS â íàøå âðåìÿ íå èñïîëüçóåòñÿ êàê îñíîâíàÿ ÎÑ, íî áåç íå¸ íå îáîéäåøüñÿ. Ïðè óñòàíîâêå Windows èñïîëüçóþò êîìàíäû MSDOS.  êóðñîâîé ðàáîòå ÿ èíòåðïðåòèðóþ ýòè êîìàíäû.
Ôàéëû IO.SYS è MSDOS.SYS, èíà÷å íàçûâàåìûå îñíîâíûìè ñèñòåìíûìè ôàéëàìè MS DOS, ñîäåðæàò ïðîãðàììû MSDOS, êîòîðûå ïîñòîÿííî íàõîäÿòñÿ â îïåðàòèâíîé ïàìÿòè êîìïüþòåðà.
Êîìàíäíûé ïðîöåññîð DOS Îáðàáàòûâàåò êîìàíäû, ââîäèìûå ïîëüçîâàòåëåì. Ñòàíäàðòíûé êîìàíäíûé ïðîöåññîð MS DOS èìååò èìÿ COMMAND.COM, îáû÷íî îí íàõîäèòñÿ â êîðíåâîì êàòàëîãå äèñêà, ñ êîòîðîãî çàãðóæàåòñÿ DOS. Íåêîòîðûå êîìàíäû ïîëüçîâàòåëÿ, TYPE,DIR,COPY, êîìàíäíûé ïðîöåññîð âûïîëíÿåò ñàì. Òàêèå êîìàíäû íàçûâàþòñÿ âíóòðåííèìè. Äëÿ âûïîëíåíèÿ îñòàëüíûõ (âíåøíèõ) êîìàíä ïîëüçîâàòåëÿ êîìàíäíûé ïðîöåññîð èùåò íà äèñêàõ ïðîãðàììó ñ ñîîòâåòñòâóþùèì èìåíåì è åñëè íàõîäèò å¸, òî çàãðóæàåò â ïàìÿòü è ïåðåäà¸ò åé óïðàâëåíèå. Ïî îêîí÷àíèè ðàáîòû ïðîãðàììû êîìàíäíûé ïðîöåññîð óäàëÿåò ïðîãðàììó èç ïàìÿòè è âûâîäèò ñîîáùåíèå î ãîòîâíîñòè ê âûïîëíåíèþ êîìàíä.
Áàçîâàÿ ñèñòåìà ââîäà-âûâîäà (BIOS), íàõîäÿùàÿñÿ â ïîñòîÿííîé ïàìÿòè (ïîñòîÿííî çàïîìèíàþùåì óñòðîéñòâå, ÏÇÓ) êîìïüþòåðà, ôîðìàëüíî íå ÿâëÿåòñÿ ÷àñòüþ MS DOS, îäíàêî òåñíî ñ íåé ñâÿçàíà. BIOS ñîäåðæèò ïðîãðàììû äëÿ ïðîâåðêè îáîðóäîâàíèÿ êîìïüþòåðà, èíèöèèðîâàíèÿ çàãðóçêè îïåðàöèîííîé ñèñòåìû (ÎÑ) è ïðîãðàììû äëÿ âûïîëíåíèÿ áàçîâûõ (íèçêîóðîâíåâûõ) îïåðàöèé ââîäà-âûâîäà ñ ìîíèòîðîì, êëàâèàòóðîé, äèñêàìè è ïðèíòåðîì.
Åù¸ îäíà ïðîãðàììà, êîòîðóþ ìîæíî ñ÷èòàòü ÷àñòüþ DOS,- ýòî çàãðóç÷èê DOS. Îí íàõîäèòñÿ â ïåðâîì ñåêòîðå êàæäîé äèñêåòû è â ïåðâîì ñåêòîðå ëîãè÷åñêîãî äèñêà, ñ êîòîðîãî ïðîèñõîäèò çàãðóçêà DOS (òî åñòü äèñêà Ñ:). Íàçâàíèå ýòîé î÷åíü êîðîòêîé ïðîãðàììû- çàãðóçêà â ïàìÿòü ñèñòåìíîãî ôàéëà DOS IO.SYS ïðè íà÷àëüíîé çàãðóçêå êîìïüþòåðà.
Äèàëîã ïîëüçîâàòåëÿ ñ DOS îñóùåñòâëÿåòñÿ â ôîðìå êîìàíä-ñòðîê ñèìâîëîâ, ââîäèìûõ ñ êëàâèàòóðû. Êàæäàÿ êîìàíäà ïîëüçîâàòåëÿ îçíà÷àåò, ÷òî DOS äîëæíà âûïîëíèòü òî èëè èíîå äåéñòâèå, íàïðèìåð, íàïå÷àòàòü ôàéë èëè âûäàòü íà ýêðàí îãëàâëåíèå êàòàëîãà.
Êîìàíäû DOS ñîñòîèò èç èìåíè êîìàíäû èëè âûçûâàåìîé ïðîãðàììû è, âîçìîæíî, ïàðàìåòðîâ, ðàçäåë¸ííûõ ïðîáåëàìè. Ââîä êàæäîé êîìàíäû çàêàí÷èâàåòñÿ íàæàòèåì êëàâèøè ENTER.
Ëþáàÿ êîìàíäà, ââîäèìàÿ ïîëüçîâàòåëåì â MS DOS, âûçûâàåò âûïîëíåíèå ëèáî âíóòðåííåé êîìàíäû (èç COMMAND.COM) ëèáî êàêîé-ëèáî ïðîãðàììû èëè êîìàíäíîãî ôàéëà.
Êîìàíäû DOS ñîñòîÿò èç èìåíè êîìàíäû è, âîçìîæíî, ïàðàìåòðîâ ðàçäåë¸ííûõ ïðîáåëàìè. Èìÿ êîìàíäû è ïàðàìåòðû ìîãóò íàáèðàòüñÿ êàê ïðîïèñíûìè, òàê è ñòðî÷íûìè ëàòèíñêèìè áóêâàìè. Íèæå ïîëíîñòüþ îïèñàíû òðè êîìàíäû DEL,REN,COPY, ïîäðîáíàÿ õàðàêòåðèñòèêà, ïðèìåðû ïðàâèëüíîãî íàïèñàíèÿ äëÿ ðàáîòû ñ íèìè. Ìîÿ ïðîãðàììà èíòåðïðåòèðóåò èõ ñ íåáîëüøèìè èçìåíåíèÿìè.
· Äëÿ óäàëåíèÿ ôàéëîâ â DOS èìååòñÿ êîìàíäà DEL.Ôîðìàò êîìàíäû:
DEL Èìÿ ôàéëà
 èìåíè ôàéëà ìîæíî óïîòðåáëÿòü ñèìâîëû * è ?.
Ïðèìåðû:
DEL *.bak–óäàëåíèå âñåõ ôàéëîâ ñ ðàñøèðåíèåì bak èç òåêóùåãî êàòàëîãà.
DEL my.txt- óäàëåíèå ôàéëà my.txt èç òåêóùåãî êàòàëîãà.
· Äëÿ ïåðåèìåíîâàíèÿ ôàéëîâ â DOS èìååòñÿ êîìàíäà REN. Ôîðìàò êîìàíäû:
REN èìÿ-ôàéëà1 èìÿ-ôàéëà2
Ïàðàìåòðû. Ïàðàìåòð èìÿ-ôàéëà1 çàäàåò èìÿ ïåðåèìåíóåìîãî ôàéëà, ïàðàìåòð èìÿ-ôàéëà2 –íîâîå èìÿ ôàéëà.
Ïðèìåðû:
REN xxx.doc xxx.txt –ïåðåèìåíîâàíèå ôàéëà õõõ.doc â òåêóùåì êàòàëîãå. Íîâîå èìÿ ôàéëà xxx.txt.
· Äëÿ ïåðåèìåíîâàíèÿ ôàéëîâ â DOS èìååòñÿ êîìàíäà COPY. Ôîðìàò êîìàíäû:
COPY èìÿ-ôàéëà1 èìÿ-ôàéëà2
 èìåíè ôàéëà ìîæíî óïîòðåáëÿòü ñèìâîëû * è ?, à òàêæå óêàçûâàòü èìÿ äèñêà è êàòàëîãà.
Âûïîëíåíèå êîìàíä. Åñëè â ïàðàìåòðå èìÿ-ôàéëà1 óêàçàííî èìÿ êàòàëîãà, òî ôàéëû êîïèðóþòñÿ èç ýòîãî êàòàëîãà â, èíà÷å – èç òåêóùåãî êàòàëîãà. Êàòàëîã, â êîòîðîì êîïèðóþòñÿ ôàéëû, ìîæíî çàäàòü ïàðàìåòðîì èìÿ-ôàéëà2 èëè óêàçàíèåì êàòàëîãà â ïàðàìåòðå èìÿ-ôàéëà2. Åñëè ýòîò êàòàëîã íå çàäàí, òî ôàéëû êîïèðóþòñÿ â òåêóùèé êàòàëîã.
Åñëè âî âòîðîì ïàðàìåòðå êîìàíäû çàäàíî èìÿ ôàéëà, òî îíî óêàçûâàåò íîâîå èìÿ êîïèðóåìîãî ôàéëà. Ñèìâîëû * è ? â èìåíè ôàéëà âî âòîðîì ïàðàìåòðå êîìàíäû óêàçûâàþò, ÷òî ñîîòâåòñòâóþùèå ñèìâîëû â èìåíàõ êîïèðóåìûõ ôàéëîâ ïðè êîïèðîâàíèè íå ìåíÿþòñÿ.
Ïðèìåðû:
COPY xxx.doc xxx.txt –êîïèðîâàíèå ôàéëà õõõ.doc â òåêóùåì êàòàëîãå; ñîçäà¸òñÿ ôàéë xxx.txt â òåêóùåì êàòàëîãå.
COPY a:\*.* - êîïèðîâàíèå âñåõ ôàéëîâ èç êîðíåâîãî êàòàëîãà äèñêà à: â òåêóùèé êàòàëîã.
COPY a:\*.* d: -- êîïèðîâàíèå âñåõ ôàéëîâ èç êîðíåâîãî êàòàëîãà äèñêà à: â òåêóùèé êàòàëîã äèñêà D:.
COPY \t\*.doc c:\*.txt - êîïèðîâàíèå âñåõ ôàéëîâ ñ ðàñøèðåíèåì.doc èç êàòàëîãà \t òåêóùåãî äèñêà â òåêóùèé êàòàëîã äèñêà ñ:. Ôàéëû ïîëó÷àþò ðàñøèðåíèå txt.
Åñëè ôàéë ñ òàêèì æå èìåíåì, êàê ó êîïèè, ñîçäàâàåìîé êîìàíäîé COPY, óæå ñóùåñòâóåò, òî îí çàìåùàåòñÿ áåç êàêèõ ëèáî ïðåäóïðåæäåíèé.
Ñ++ ïðîãðàììíî íåçàâèñèìûé ÿçûê. Íà ÿçûêå Ñ++ ïèøóòñÿ îïåðàöèîííûå ñèñòåìû, ðàçëè÷íûå ïðîãðàììû è ò.ä. Ïðè íàïèñàíèè ñâîåé ïðîãðàììû ÿ ñòîëêíóëñÿ ñ îäíîé ïðîáëåìîé - ýòî ðàáîòà ñî ñòðîêàìè, ÷òîáû âûïîëíèòü îïðåäåë¸ííóþ çàäà÷ó ìíå ïðèõîäèëîñü äîáàâëÿòü â ïðîãðàììó åù¸ íåñêîëüêî èëè áîëüøå ôóíêöèé äëÿ óñòðàíåíèÿ îøèáîê. Íàïðèìåð:
for (i=0;i<strlen(lptr);i++){ Ðàçäåëåíèå ñòêîêè íà äâà ïàðàìåòðà
if (lptr[i]==' ')break; Êîïèðîâàíèå â ff äî ïðîáåëà
ff[i]=lptr[i];}
strncat(fs,ff,i);
 ff êîïèðóåòñÿ ïîñèìâîëüíî ñòðîêà ðàçìåðîì i, íî ïðè ïðîñìîòðå íîâîé ñòðîêè îêàçûâàëîñü ñèìâîëîâ íå i, à â íåñêîëüêî ðàç áîëüøå, ïðèõîäèëîñü èñïîëüçîâàòü strncat, îíà âûðåçàåò íå íóæíûå ñèìâîëû. È òàê ïî÷òè íà êàæäîì øàãó áûëè ïðîáëåìà. Ýòî ìîè ïåðâûå çàìå÷àíèÿ ïî îøèáêàì, âîçìîæíî èõ ïðèáàâèòñÿ.
Ïåðåä íà÷àëîì âûïîëíåíèÿ äàííîé êóðñîâîé ðàáîòû ÿ ïîñòàâèë äëÿ ñåáÿ öåëüþ èçó÷èòü ïðèíöèïû ðàáîòû ñ ôàéëàìè â îïåðàöèîííîé ñèñòåìå DOS, êîìàíäû, ïîçâîëÿþùèå ðàáîòàòü ñ ôàéëàìè, à òàêæå ôóíêöèè è ñèñòåìíûå âûçîâû ÿçûêà Ñ++, ïîçâîëÿþùèå êîïèðîâàíèå, óäàëåíèå, ïåðåèìåíîâàíèå ôàéëîâ, ðàáîòà ñ êîìàíäíîé ñòðîêîé.  äàííîé ðàáîòå ÿ ïîñòàðàëàñü íàèáîëåå ïîäðîáíî èçó÷èòü îïåðàöèîííóþ ñèñòåìó DOS â ïðîãðàììèðóåìîé ÷àñòè è ÷àñòè÷íî äðóãèõ îïåðàöèîííûõ ñèñòåì, ïîëó÷èòü ïðàêòè÷åñêèå íàâûêè ðàáîòû ñ îïåðàöèîííîé ñèñòåìîé DOS.  êóðñîâîé ðàáîòå ÿ áóäó ñîçäàâàòü è îïèñûâàòü ïðîãðàììó, êîòîðàÿ ïîçâîëèò ðàáîòàòü ñ ôàéëàìè, à èìåííî, êîïèðîâàòü, ïåðåèìåíîâûâàòü è óäàëÿòü. Äàííàÿ ïðîãðàììà â äàëüíåéøåì ìîæåò áûòü èñïîëüçîâàíà ñòóäåíòàìè äëÿ èçó÷åíèÿ ðàáîòû ñ ôàéëàìè íà ëàáîðàòîðíûõ çàíÿòèÿõ ïî èçó÷åíèþ òåîðåòè÷åñêîãî ìàòåðèàëà è ïðèîáðåòåíèÿ ïðàêòè÷åñêèõ íàâûêîâ ïî äèñöèïëèíå «Ñèñòåìíîå Ïðîãðàììíîå Îáåñïå÷åíèå», à òàêæå ïðîãðàììà ìîæåò áûòü èñïîëüçîâàíà â ðàáîòå ñ îïåðàöèîííîé ñèñòåìîé MS DOS.
Àëãîðèòì ðåøåíèÿ ïîñòàâëåííîé çàäà÷è, âûïîëíåííûé ñ ïîìîùüþ ãðàôè÷åñêîãî ìåòîäà èçîáðàæåíèÿ àëãîðèòìîâ – áëîê-ñõåìîé ïðåäñòàâëåí íèæå.
Äëÿ ðåàëèçàöèè ìîåé çàäà÷è èñïîëüçóåòñÿ ñëåäóþùèé àëãîðèòì (ðèñóíîê 1.).
Îïèñàíèå àëãîðèòìà:
1. Ââîä êîìàíäû ñ êëàâèàòóðû
2. Èíäèôèêàöèÿ ââîäèìîé êîìàíäû
3. Îïåðàöèè íàä ïàðàìåòðàìè êîìàíäû
4. Âûïîëíåíèå êîìàíäû
Ìîÿ ïðîãðàììà èíòåðïðåòèðóåò êîìàíäû MS DOS
 ïðîãðàììå ìîæíî ïîëüçîâàòüñÿ ÷åòûðüìÿ êîìàíäàìè:
1) Exit- ïðîãðàììà çàâåðøàåòñÿ.
2) Copy – êîïèðîâàíèå ôàéëà èëè ôàéëîâ.
3) Ren –ïåðåèìåíîâàíèå ôàéëà.
4) Del –Óäàëåíèå ôàéëà.
 ïðîãðàììå ÿ èñïîëüçóþ âñòðîåííûå áèáëèîòåêè Ñ++. Òàá. 1
 îñíîâíîì ïðîãðàììà ðàáîòàåò ñî ñòðîêîâûìè ôóíêöèÿìè. Ýòè ôóíêöèè íóæíû äëÿ îáðàáîòêè ñòðîê ñ êëàâèàòóðû, äëÿ óñòðàíåíèÿ îøèáîê Ñ++.
· strtok –äëÿ óñòðàíåíèÿ îøèáîê â ñòðîêå
· strncat -êîïèðóåò îïðåäåë¸ííîå êîëè÷åñòâî ñèìâîëîâ â ïåðåìåííóþ.
· strstr - äëÿ ïîèñêà ñëîâà â ñòðîêå.
· strcpy –êîïèðóåò ñòðîêó â ïåðåìåííóþ.
· strcat –äîáàâëÿåò ñòðîêó â ïåðåìåííóþ.
· Strrev- ðåâåðñèðóåò ñòðîêó.
· Strlen- îïðåäåëÿåò êîëè÷åñòâî ñèìâîëîâ â ñòðîêå
· Strlwr-âñå ñèìâîëû ïðåîáðàçîâûâàåò â ñòðî÷íûå.
· Strpbrk- èùåò îïðåäåë¸ííûå ñèìâîëû.
Ïî÷òè â ëþáîé ïðîãðàììå íå îáîéäåøüñÿ áåç ñîáñòâåííûõ ôóíêöèé, îíè óïðîùàþò ïðîãðàììèðîâàíèå, ïðîãðàììà ñòàíîâèòñÿ áîëåå ïîíÿòíà è óäîáíà â èçó÷åíèè.  ìîåé ïðîãðàììå ÿ èñïîëüçóþ øåñòü ñâîèõ ôóíêöèé FILCOP, GAD, GIP, DELFILE, RENFILE, COPYES.
· Filcop - ôóíêöèÿ äëÿ êîïèðîâàíèÿ ôàéëîâ.
· Gad – ôóíêöèÿ äëÿ âûðåçà îäíîãî ïóòè áåç èìåíè ôàéëà èç ñòðîêè.
· Gip – ôóíêöèÿ äëÿ âûðåçà îäíîãî èìåíè ôàéëà èç ñòðîêè.
· Delete- ôóíêöèÿ óäàëåíèÿ ôàéëîâ.
· Renfile- ôóíêöèÿ ïåðåèìåíîâàíèÿ ôàéëîâ.
· Copyes- ôóíêöèÿ îáðàáàòûâàþùàÿ ñòðîêó è âûçîâà ôóíêöèè Filcop. Îíà ðàçäåëÿåò ñòðîêó íà äâà ïàðàìåòðà êîïèðîâàíèÿ- êàêîé ôàéë è êóäà êîïèðîâàòü ñ ó÷¸òîâ øàáëîíîâ (*?).
Ïîñëå çàãðóçêè ïðîãðàììû ïîÿâèòñÿ ìåíþ ñ ïðèãëàøåíèåì «>>>>». Òåïåðü ìîæíî ââîäèòü êîìàíäû. Ïîñëå ââîäà êîìàíäû ïðîãðàììà îïðåäåëÿåò å¸.
Åñëè:
· EXIT - ïðîãðàììà çàâåðøàåòñÿ.
· REN –îñòàâëÿåò â ââåä¸ííîé ñòðîêå òîëüêî äâà ïàðàìåòðà (êàêîé ôàéë, íà êàêîé ïåðåèìåíîâûâàòü) è âûçûâàåò ôóíêöèþ Renfile.
· Copy- îñòàâëÿåò â ââåä¸ííîé ñòðîêå òîëüêî äâà ïàðàìåòðà (êàêîé ôàéë, êóäà êîïèðîâàòü è ÷òî), âûçûâàåò ôóíêöèþ Copyes.
· Del- îñòàâëÿåò â ââåä¸ííîé ñòðîêå òîëüêî îäèí ïàðàìåòð (êàêîé ôàéë) è âûçûâàåò ôóíêöèþ Delete.
 ïðîãðàììå â îñíîâíîì ÿ ðàáîòàþ ñî ñòðîêîâûìè ïåðåìåííûìè è ôóíêöèÿìè äëÿ âûðåçàíèÿ ïóòåé ñ ôàéëàìè, ïóòåé, è ò.ä. Ýòî âñ¸ íóæíî, ÷òîáû èñïîëüçîâàòü øàáëîíû â íåêîòîðûõ êîìàíäàõ (Copy,delete).
Íàçâàíèå áèáëèîòåêè | Îïèñàíèå ôóíêöèè |
Stdlib.h | Ïðåîáðàçîâàíèå äàííûõ, ãåíåðèðîâàíèå ñëó÷àéíûõ ÷èñåë, ïîëó÷åíèå è óñòàíîâêà ïåðåìåííûõ ñðåäû SHELL |
Time.h | Îðãàíèçàöèÿ èìèòàöèîííîãî ïðîöåññà ñèñòåìíîãî âðåìåíè |
Iostream.h | Ïîòîêè ââîäà \ âûâîäà |
Conio.h | Ïðîòîòèï ôóíêöèè çàäåðæêè |
Stdio.h | Îáîçíà÷åíèå ïîòîêîâûõ ôàéëîâ |
Sys\stat.h | Ñèñòåìíûå âûçîâû äëÿ ðàáîòû ñ ôàéëàìè |
Sys\types.h | Ñèñòåìíûå âûçîâû äëÿ ðàáîòû ñ ôàéëàìè |
Fstream.h | Îïåðàöèè ââîäà \ âûâîäà â ôàéëàõ |
String.h | Îáðàáîòêà ñòðîê |
Fcntl.h | Ôëàãè |
Io.h | Îðãàíèçàöèÿ ââîäà \ âûâîäà |
Math.h | Èñïîëüçîâàíèå ìàòåìàòè÷åñêèõ ôóíêöèé |
 äàííîé êóðñîâîé ðàáîòå áûëè ðàññìîòðåíû êîìàíäû MS DOS, ïîçâîëÿþùèå êîïèðîâàòü, óäàëÿòü, ïåðåèìåíîâûâàòü ôàéëû. À òàêæå ôóíêöèè è ñèñòåìíûå âûçîâû ÿçûêà Ñ++, ïîçâîëÿþùèå îðãàíèçîâûâàòü êîïèðîâàíèå, óäàëåíèå ôàéëîâ è ò.ä. Äàííàÿ ðàáîòà ïîçâîëèëà ìíå áîëåå óãëóáëåííî èçó÷èòü ðàáîòó ñ ñòðîêîâûìè ôóíêöèÿìè, ðàçëè÷íûå òîíêîñòè ÿçûêà è óâèäåòü íåäîñòàòêè Ñ++.  êóðñîâîé ðàáîòå áûëà ñîçäàíà è îïèñàíà ïðîãðàììà, ïîçâîëÿþùàÿ ðàáîòàòü ñ ôàéëàìè â ñðåäå MS DOS. Äàííàÿ ïðîãðàììà ìîæåò áûòü èñïîëüçîâàíà ñòóäåíòàìè äëÿ èçó÷åíèÿ ðàáîòû ñ ôàéëàìè â ñðåäå MS DOS è ÷àñòè÷íî ñ UNIX, íà ëàáîðàòîðíûõ çàíÿòèÿõ ïî èçó÷åíèþ òåîðåòè÷åñêîãî ìàòåðèàëà è ïðèîáðåòåíèÿ ïðàêòè÷åñêèõ íàâûêîâ ïî äèñöèïëèíå «Ñèñòåìíîå Ïðîãðàììíîå Îáåñïå÷åíèå».
1) Ãåðõàðä Ôðàíêåí, Ñåðãåé Ìîëÿâêî MS DOS äëÿ ïîëüçîâàòåëÿ.- Êèåâ, 1993.
2) Ñ. Êðàêîâÿê Îñíîâû îðãàíèçàöèè è ôóíêöèîíèðîâàíèÿ ÎÑ ÝÂÌ.- Ì.: Ìèð, 1998.
3) Ñ. Êåéñëåð Ïðîåêòèðîâàíèå îïåðàöèîííûõ ñèñòåì äëÿ ìàëûõ ÝÂÌ. - Ì.: Ìèð, 1996.
4) Ý. Íåìåò, Ã. Ñíàéäåð Unix. Ðóêîâîäñòâî ñèñòåìíîãî àäìèíèñòðàòîðà. - Êèåâ.: BHV, 1997.
5) Äåãòÿðåâ Å.Ê. Ââåäåíèå â Unix.- Ì.: Ïàìÿòü, 1992.
6) Ñâèðèäîâ Ñ.Â. Ñèñòåìíûå âûçîâû ÎÑ UNIX.-Ì.:Ïàìÿòü, 1992.
7) Äóíàåâ Ñ. UNIX-ñåðâåð. Íàñòðîéêà, êîíôèãóðèðîâàíèå, ðàáîòà â îïåðàöèîííîé ñðåäå, Internet-âîçìîæíîñòè: â 2-õ òîìàõ.Òîì 1.-Ì.:Äèàëîã -ÌÈÔÈ, 1999.
8) Äóíàåâ Ñ. UNIX-ñåðâåð. Íàñòðîéêà, êîíôèãóðèðîâàíèå, ðàáîòà â îïåðàöèîííîé ñðåäå, Internet-âîçìîæíîñòè: â 2-õ òîìàõ.Òîì 2.-Ì.:Äèàëîã -ÌÈÔÈ, 1999.
9) Øàìåð Ë., Íåãóñ Ê. UNIX (ñåðèÿ «Áåç ïðîáëåì»):Ïåð. ñ àíãë. -Ì.:Áèíîì, 1998.
10) Êåéëèíãåðò Ï. Ýëåìåíòû îïåðàöèîííûõ ñèñòåì. Ââåäåíèå äëÿ ïîëüçîâàòåëåé. Ïåð. ñ àíãë.-Ì.:Ìèð,1995.
11) Ïåðñîí Ð. Windows 95 â ïîäëèííèêå. Ïåð. ñ àíãë.-ÑÏÁ:BHV-Ñàíêò -Ïåòåðáóðã, 1996.
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
#include <dir.h>
//Ïðîöåäóðà äëÿ êîïèðîâàíèÿ ôàéëà
//FILCOP----------------------------------------------------------------------
int FILCOP(char *sd,char *sf)
{
FILE *in, *out;
in = fopen(sd, "r"); îòêðûâàåò ôàèë è êîïèðóåò â áóôåð ñîäåðæèìîå
out = fopen(sf, "w"); îòêðûâàåò èëè ñîçäà¸ò ôàèë
while (!feof(in))
fputc(getc(in), out); çàïîëíÿåò íîâûé ôàèë
fclose(in); fclose(out); çàêðûâàåò ôàèë
return(0); âîçðàøåò ôóíêöèè çíà÷åíèå 0
}
Ôóíêöèÿ äëÿ ñîçäàíèÿ ïîëíîãî ïóòè
//ANY----------------------------------------------------------------------
char *GAD(char *sm, char *namf)
{ char *zzx,kr[254],*newfil; kr[0]='\0'; óñòàíàâëèâàåì ïåðåìåíûå
zzx=strpbrk(sm,"\\"); èøåò "\"
if (zzx) { åñëè åñòü
strcpy(kr,sm); êîïèðóåò â kr ïóòü áåç èìåíè ôàéëà
strrev(kr); ðåâåðñ ñòðîêè
newfil = strstr(kr, "\\"); îòðåçàåò äî "\"
strrev(newfil); ðåâåðñ ñòðîêè
strcat(newfil,namf); äîáîâëÿåò èìÿ ôàéëà â ïóòü
strlwr(newfil); óìåíüøàåò ñèìâîëû
return newfil;
}
else return namf;
}
Ôóíêöèÿ äëÿ âûðåçêè òîëüêî ïóòÿ
//ANY55----------------------------------------------------------------------
char *GIP(char *sm)
{ char *zzx,kr[254],*newfil; kr[0]='\0'; óñòàíàâëèâàåì ïåðåìåíûå
zzx=strpbrk(sm,"\\"); èøåò "\"
if (zzx) { åñëè åñòü
strcpy(kr,sm); êîïèðóåò â kr ïóòü áåç èìåíè ôàéëà
strrev(kr); ðåâåðñ ñòðîêè
newfil = strstr(kr, "\\"); îòðåçàåò äî "\"
strrev(newfil);ðåâåðñ ñòðîêè
strlwr(newfil);óìåíüøàåò ñèìâîëû
return newfil;
} else return sm;
}
Óäàëåíèå ôàèë (à,îâ)
//DELFILE----------------------------------------------------------------------
DELFILE(char *sm)
{ //char *newfil, kr[254]; óñòàíàâëèâàåì ïåðåìåíûå
struct ffblk ffblk; Ñòðóêòóðà î ôàéëå
int done;
done = findfirst(sm,&ffblk,0); èøåò ôàéëû
if (done==-1) cout<<"\nError"; åñëè ïóòü íåïðàâåëüíûé- îøèáêà
while (!done) èøåò ïîêà íå êîí÷àòñÿ ôàéëû
{
if (remove(GAD(sm,ffblk.ff_name)) == 0) óäàëåíèå ôàéëà
cout<<"\n Delete 1 files"; âûâîä íà ýêðàí òåêñòà
else
cout<<"\n File do not delete "; âûâîä íà ýêðàí òåêñòà
done = findnext(&ffblk); ñëåäóþùèé ôàéë
}
return (0);
}
Ïåðåèìåíîâàíèå ôàèëà
//RENAME----------------------------------------------------------------------
RENFILE(char *sm,char *nm)
{
strcpy(kr,sm); êîïèðóåò â kr ïóòü áåç èìåíè ôàéëà
strrev(kr); ðåâåðñ ñòðîêè
newfil = strstr(kr, "\\"); îòðåçàåò äî "\"
strrev(newfil);ðåâåðñ ñòðîêè
strlwr(newfil);óìåíüøàåò ñèìâîëû
if (rename(sm, nm) == 0) Ôó Ïåðåèìåíîâàíèå ôàèëà
cout<<"File renamed"; âûâîä íà ýêðàí òåêñòà
else
cout<<"File do not renamed"; âûâîä íà ýêðàí òåêñòà
return (0);
}
//COPY----------------------------------------------------------------------
COPYES(char *sm)
{
char *nnj,zt[254],zt2[254]; int ji=0,jiz=0; óñòàíîâêà ïåðåìåí
//ON>>>>TWO************************************************
char ff[254],fs[254],*ptr7,ffg[254],fss[254]; fs[0]='\0'; fss[0]='\0'; óñòàíîâêà ïåðåìåí
strcpy(kr,sm); êîïèðóåò â kr ïóòü áåç èìåíè ôàéëà
strrev(kr); ðåâåðñ ñòðîêè
newfil = strstr(kr, "\\"); îòðåçàåò äî "\"
strrev(newfil);ðåâåðñ ñòðîêè
strlwr(newfil);óìåíüøàåò ñèìâîëû
Ðàçäåëÿåì ñòðîêó äâà ïàðàìåòðà íà ïåðâûé
for (int i=0;i<strlen(sm);i++){ if (sm[i]==' ')break; ff[i]=sm[i];}
strncat(fs,ff,i); ptr7 = strstr(sm, " "); ×òîáû îøèáîê íåáûëî
Ðàçäåëÿåì ñòðîêó äâà ïàðàìåòðà íà ïåðâûé
for (i=1;i<strlen(ptr7);i++){ if (ptr7[i]==' ')break; ffg[i-1]=ptr7[i];}
strncat(fss,ffg,i-1); ×òîáû îøèáîê íåáûëî
//******************************************************
char nbb[254]; óñò ïåðåìåí
Åñëè åñòü *
if (strpbrk(fss,"*")){
strrev(fss); nbb[0]='\0'; ðåâåðñ FSS
for (int q=0;q<strlen(fss);q++){ Ðàçäåëåíèå íà ïóòü è ôàèë
if (fss[q]!='\\') nbb[q]=fss[q];else break; } êîïèðóåì â NBB ïóòü
strrev(fss);strrev(nbb); Ðåâåðñû
//cout<<"\n REEEEE--- "<<nbb;
}
//____________________________________________________________
char dt[254],dt2[254]; dt[0]='\0'; dt2[0]='\0'; int fll=0,ii=-2; óñò ïåðåìåí
Ðàçäåëÿåì ñòðîêó ôàèë íà íàç è ðàñøèðåíèå
for (int q=0;q<strlen(nbb);q++){ öèêë
if (nbb[q]=='.') fll=1; Åñëè òî÷êà òî ôëàã 1
if (fll==0) {dt[q]=nbb[q]; } Åñëè 0 êîïèðóåì â DT
if (fll==1) {ii++;dt2[ii]=nbb[q]; } Åñëè 1 êîïèðóåì â DT2
}
//____________________________________________________________
//cout<<"\n REEEEE111--- "<<dt;
//cout<<"\n REEEEE222--- "<<dt2;
//---------------------------------------------------------------------------
struct ffblk ffblk; Ñòðóêòóðà î ôàéëå
int done;
done = findfirst(fs,&ffblk,0); èøåò ôàèëû
if (done==-1) cout<<"\nError"; åñëè íåò òî îøèáêà
while (!done) íà÷àëî ïîèñêà
{
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
zt[0]='\0'; zt2[0]='\0'; fll=0;ii=-2;nnj=ffblk.ff_name; ji=0;jiz=0; Óñòàíîâêà ïåðåìåí
Ðàçäåëåíèå ïåðâîãî ïàð ôàéëà íà èìÿ è ðàñøèðåíèå
for (q=0;q<strlen(nnj);q++){ öèêë
if (nnj[q]=='.') fll=1; åñëè òî÷êà òî ôëàã 1
if (fll==0) {ji++;zt[q]=nnj[q]; } Åñëè 0 êîïèðóåì â ZT
if (fll==1) {jiz++;ii++;zt2[ii]=nnj[q]; } } Åñëè 1 êîïèðóåì â ZT2
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
zt[ji]='\0'; zt2[jiz-1]='\0'; char *rrr; rrr=NULL; Îáíóëèòü ïåðåì
char *path2,bpn[254]; óñòàíîâêà ïåðåì
path2=GIP(fss); Îáðàáîòêà ìîåé ôóíêöèè
bpn[0]='\0'; strcpy(bpn,path2); êîïèð â BPN
Åñëè âî âòîðîì ïàðàìåòðå åñòü çâ¸çäî÷êè òî èç ïåðâîãî ïàðàì çàìåíÿåòñÿ âòîðîé
Çàìåíà ó âòîðîãî ïàðàìåòðà èìåíè èìåíåì ïåðâîãî ïàðàìåòðà
if (dt[0]!='*'){ strcat(bpn,dt); strcat(bpn,"."); } else
{ strcat(bpn,zt); strcat(bpn,"."); }
if (dt2[0]!='*') strcat(bpn,dt2); else strcat(bpn,zt2);
Çàìåíà ó âòîðîãî ïàðàìåòðà ðàñøèðåíèÿ ðàñøèðåíèåì ïåðâîãî ïàðàìåòðà
strlwr(bpn); óìåíüøåíèå ñèìâîëîâ
strcpy(kr,sm); êîïèðóåò â kr ïóòü áåç èìåíè ôàéëà
strrev(kr); ðåâåðñ ñòðîêè
newfil = strstr(kr, "\\"); îòðåçàåò äî "\"
strrev(newfil);ðåâåðñ ñòðîêè
strlwr(newfil);óìåíüøàåò ñèìâîëû
FILCOP(GAD(fs,ffblk.ff_name),bpn); Îáðàáîòêà ìîåé ôóíêöèè è êîïèðîâàíèå
done = findnext(&ffblk); ñëåäóþùèé ôàèë
}
//---------------------------------------------------------------------------
return (0);
}
//MAIN----------------------------------------------------------------------
void main()
{
char s[254],*ptr,*lptr; óñòàíîâêà ïåðåìåííûõ
gotoxy(16,0); óñòàíîâêà òåêñòà â îïðåä. ÷àñòè ýêðàíà
cout<<"Interpretator commands DOS (COPY,DEL,REN)"; âûâîä íà ýêðàí òåêñòà
gotoxy(0,23); óñòàíîâêà òåêñòà â îïðåä. ÷àñòè ýêðàíà
Enter: ìåòêà
cout<<"\n>>>"; âûâîä íà ýêðàí òåêñòà
gets(s); strlwr(s); ÷òåíèå ñ êëàâèàòóðû è óìåíøåíèå ñèìâîëîâ
//++++++++++++++++DEL==================
strcpy(kr,sm); êîïèðóåò â kr ïóòü áåç èìåíè ôàéëà
strrev(kr); ðåâåðñ ñòðîêè
newfil = strstr(kr, "\\"); îòðåçàåò äî "\"
strrev(newfil);ðåâåðñ ñòðîêè
strlwr(newfil);óìåíüøàåò ñèìâîëû
ptr = strstr(s, "del "); èøåò "del "
if (strlen(ptr)!=0) { åñëè åñòü
strcpy(s, ptr); êîïèðóåò ñòðîêó â S
int i,vb=-1; char sg[254]; óñòàíîâêà ïåðåìåííûõ
for (i=4;i<strlen(s);i++){ Óäàëÿåò "del "
vb++;
sg[vb]=s[i]; çàíîñèò â sg
}
lptr=NULL; îáíóëÿåò lptr
lptr=strtok(sg,""); ×òîáû îøèáîê íå áûëî
DELFILE(lptr); Ñîáñòâåííàÿ ôóíêöèÿ
}
//++++++++++++++++REN==================
ptr = strstr(s, "ren "); èùåò "ren "
if (strlen(ptr)!=0) { åñëè åñòü
strcpy(s, ptr); êîïèðóò ñòðîêó â S
int i,vb=-1; char sg[254]; óñòàíîâêà ïåðåìåííûõ
for (i=4;i<strlen(s);i++){ óäàëÿåò "ren "
vb++;
sg[vb]=s[i]; çàíîñèò â SG
}
lptr=NULL; îáíóëÿåò lptr
lptr=strtok(sg,""); ×òîáû îøèáîê íå áûëî
//***************************************************
char ff[254],fs[254],*ptr7,ffg[254],fss[254]; óñòîâêà ïåðåìåííûõ
fs[0]='\0'; fss[0]='\0'; îáíóëåíèå
for (i=0;i<strlen(lptr);i++){ Ðàçäåëåíèå ñòêîêè íà äâà ïàðàìåòðà
if (lptr[i]==' ')break; Êîïèðîâàíèå â ff äî ïðîáåëà
ff[i]=lptr[i];}
strncat(fs,ff,i); ×òîáû îøèáîê íå áûëî
ptr7 = strstr(lptr, " "); èøåò ïðîáåë
for (i=1;i<strlen(ptr7);i++){ Óäàëÿåò ïðîáåë è êîïèðóåò â FFG
if (ptr7[i]==' ')break;
ffg[i-1]=ptr7[i];}
strncat(fss,ffg,i); ×òîáû îøèáîê íå áûëî
//***************************************************
RENFILE(fs,fss); Ñîáñòâåííàÿ ôóíêöèÿ
}
//++++++++++++++++COPY==================
ptr = strstr(s, "copy "); åøåò "copy "
if (strlen(ptr)!=0) { Óäàëÿåò "copy "
strcpy(s, ptr); êîïèðóò ñòðîêó â S
int i,vb=-1; char sg[254]; Óñòàíîâêà ïåðåì
for (i=5;i<strlen(s);i++){ Óäàëÿåò copy
vb++;
sg[vb]=s[i]; êîïèðóåò â SG
}
lptr=NULL; îáíóëÿåò lptr
lptr=strtok(sg,""); ×òîáû îøèáîê íå áûëî
strcpy(kr,sm); êîïèðóåò â kr ïóòü áåç èìåíè ôàéëà
strrev(kr); ðåâåðñ ñòðîêè
newfil = strstr(kr, "\\"); îòðåçàåò äî "\"
strrev(newfil);ðåâåðñ ñòðîêè
strlwr(newfil);óìåíüøàåò ñèìâîëû
ptr =strstr(lptr,"con "); èøåò "con "
if (ptr){ cout<<"\nNot is function, re-enter"; goto Enter; }
Åñëè åñòü âûâîäèò ñîîáùåíèå
ptr =strstr(lptr,"+"); èøåò +
if (ptr){ cout<<"\nNot is function, re-enter"; goto Enter; }
Åñëè åñòü âûâîäèò ñîîáùåíèå
COPYES(lptr); Ñîáñòâåííàÿ ôóíêöèÿ
}
//++++++++++++++++EXIT==================
ptr = strstr(s, "exit"); èøåò "exit"
strcpy(kr,sm); êîïèðóåò â kr ïóòü áåç èìåíè ôàéëà
strrev(kr); ðåâåðñ ñòðîêè
newfil = strstr(kr, "\\"); îòðåçàåò äî "\"
strrev(newfil);ðåâåðñ ñòðîêè
strlwr(newfil);óìåíüøàåò ñèìâîëû
if (strlen(ptr)!=0) exit(EXIT_FAILURE);
åñëè åñòü òî âûõîä ïðîãðàììû
goto Enter; íà ìåòêó
}
Âîëæñêèé óíèâåðñèòåò èìåíè Â.Í.Òàòèùåâà Ôàêóëüòåò “Èíôîðìàòèêà è òåëåêîììóíèêàöèè” Êàôåäðà “Èíôîðìàòèêà è ñèñòåìû óïðàâëåíèÿ” ÊÓÐÑÎÂÀß ÐÀÁÎÒÀ ïî äèñöèïëèíå: “Ñèñòåìíîå ïðîãðàììíîå îáåñïå÷åíèå” Òåìà: “
Èíòåðôåéñ Serial ATA
Èíôîëîãè÷åñêàÿ ìîäåëü áàçû äàííûõ "Âèäåïðîêàò"
Èíôîëîãè÷åñêàÿ ìîäåëü áàçû äàííûõ "Çàùèòà äîñòóïà"
Èíôîëîãè÷åñêàÿ ìîäåëü áàçû äàííûõ "Ïàñïîðòíûé ó÷åò"
Èíôîëîãè÷åñêàÿ ìîäåëü áàçû äàííûõ "Òåñòèðîâàíèå"
Èíôîëîãè÷åñêàÿ ìîäåëü áàçû äàííûõ äèñòàíöèîííîãî îáðàçîâàíèÿ
Èíôîëîãè÷åñêàÿ ìîäåëü áàçû äàííûõ òåõíîëîãè÷åñêîãî ïðîöåññà
Èíôîëîãè÷åñêàÿ ìîäåëü ñàéòà Àñòðàõàíñêîãî ãîñóäàðñòâåííîãî ïîëèòåõíè÷åñêîãî êîëëåäæà
Èíôîëîãè÷åñêîå ìîäåëèðîâàíèå áàçû äàííûõ "Àáèòóðèåíò"
Èíôîðìàòèêà. Óñòðîéñòâà ââîäà è âûâîäà. Ïåðèôåðèéíûå óñòðîéñòâà
Copyright (c) 2024 Stud-Baza.ru Ðåôåðàòû, êîíòðîëüíûå, êóðñîâûå, äèïëîìíûå ðàáîòû.