Ââåäåíèå Ýòî ìåòîäè÷åñêîå ïîñîáèå ïðåäíàçíà÷åíî äëÿ ó÷èòåëåé, êîòîðûå ïëàíèðóþò ïðîâîäèòü çàíÿòèÿ ïî êóðñó «Îñíîâû ïðîãð...
18 downloads
355 Views
588KB 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
Ââåäåíèå Ýòî ìåòîäè÷åñêîå ïîñîáèå ïðåäíàçíà÷åíî äëÿ ó÷èòåëåé, êîòîðûå ïëàíèðóþò ïðîâîäèòü çàíÿòèÿ ïî êóðñó «Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET» (.NET ÷èòàåòñÿ êàê «äîò íåò»). Êóðñ ðàçðàáîòàí âñåìèðíî èçâåñòíîé êîðïîðàöèåé Ìàéêðîñîôò â ðàìêàõ èíèöèàòèâû 1 «Ïàðòíåðñòâî â îáðàçîâàíèè» è îðèåíòèðîâàí íà ó÷àùèõñÿ 1011 êëàññîâ. Ïî ñîãëàøåíèþ ìåæäó Ìàéêðîñîôò è Ìèíèñòåðñòâîì îáðàçîâàíèÿ è íàóêè Ðîññèéñêîé Ôåäåðàöèè â ðÿäå ó÷åáíûõ çàâåäåíèé ïëàíèðóåòñÿ àïðîáàöèÿ ðóññêîé âåðñèè Microsoft Visual Basic .NET. Äàííûé êóðñ ïîçâîëÿåò íàó÷èòüñÿ ðàçðàáàòûâàòü ïðîåêòû ñ ïîìîùüþ ýòîé ñèñòåìû. Öåëü êóðñà ñîñòîèò â òîì, ÷òîáû ïîçíàêîìèòü ñ îñíîâíûìè êîíöåïöèÿìè ïðîãðàììèðîâàíèÿ ó÷åíèêîâ ñòàðøèõ êëàññîâ, êîòîðûå ëèáî îáëàäàþò íà÷àëüíîé ïîäãîòîâêîé â îáëàñòè êîìïüþòåðîâ, ëèáî âîîáùå íå çíàêîìû ñ íèìè. Íà ïðîòÿæåíèè êóðñà ó÷åíèêè èçó÷àþò òàêèå áàçîâûå ïðèåìû ïðîãðàììèðîâàíèÿ, êàê íàïèñàíèå ïñåâäîêîäà, ñîçäàíèå ôîðì, îáúÿâëåíèå ïåðåìåííûõ, âû÷èñëåíèå âûðàæåíèé, èñïîëüçîâàíèå âåòâëåíèé è öèêëè÷åñêèõ êîíñòðóêöèé è ìíîãîå, ìíîãîå äðóãîå. Ïðè ýòîì îíè îñâàèâàþò ïðèåìû ñîçäàíèÿ èíòåðåñíûõ è ïðèâëåêàòåëüíûõ ïðîãðàìì (ïðèëîæåíèé). Âñå ïðèâåäåííûå â êóðñå çàäàíèÿ ïî ðàçðàáîòêå ïðèëîæåíèé îðèåíòèðîâàíû íà èñïîëüçîâàíèå Visual Basic. NET. Îäíàêî â òåêñòå óïîìèíàþòñÿ è äðóãèå ÿçûêè ïðîãðàììèðîâàíèÿ .NET (C#, J#) è ïðèâîäÿòñÿ ïðèìåðû êîäèðîâàíèÿ áàçîâûõ àëãîðèòìè÷åñêèõ êîíñòðóêöèé íà ýòèõ ÿçûêàõ. Ýòî ïîìîãàåò ó÷åíèêàì ïîëó÷èòü ïðåäñòàâëåíèå î ìíîãîîáðàçèè èìåþùèõñÿ â èõ ðàñïîðÿæåíèè ñðåäñòâ ñîçäàíèÿ ïðîãðàìì.  äàííîì ïîñîáèè îïèñàíû ó÷åáíûå ìàòåðèàëû, ïîäãîòîâëåííûå êîðïîðàöèåé Ìàéêðîñîôò ê êóðñó, è äàþòñÿ ðåêîìåíäàöèè ïî ïîäãîòîâêå ó÷åáíîãî êëàññà ê çàíÿòèÿì, òåìàòè÷åñêîìó ïëàíèðîâàíèþ êóðñà è ïðîâåäåíèþ çàíÿòèé. Êðîìå òîãî, çäåñü ïðèâåäåíû áàçîâûå ñâåäåíèÿ îá àðõèòåêòóðå .NET Framework è ìåòîäîëîãèè îáúåêòíî-îðèåíòèðîâàííîãî ïðîãðàììèðîâàíèÿ è äàíû ññûëêè íà èñòî÷íèêè äîïîëíèòåëüíîé èíôîðìàöèè. Ýëåêòðîííàÿ âåðñèÿ ìåòîäè÷åñêîãî ïîñîáèÿ äîñòóïíà ïî àäðåñó www.microsoft.com/rus/education
1
Áîëåå ïîäðîáíóþ èíôîðìàöèþ îá ýòîé ïðîãðàììå âû ìîæåòå ïîëó÷èòü íà âåá-ñàéòå Ìàéêðîñîôò ïî àäðåñó: http://www.microsoft.com/Rus/Education/PiL
1. Èñòîðèÿ ðàçâèòèÿ ÿçûêîâ ïðîãðàììèðîâàíèÿ Ìàøèííûé ÿçûê. Íà çàðå êîìïüþòåðíîé ýðû, â 4050-å ãîäû XX âåêà, ïðîãðàììû ïèñàëèñü íà ÿçûêå ìàøèííûõ êîäîâ (computer language) è ïðåäñòàâëÿëè ñîáîé áèíàðíûå (äâîè÷íûå) èíñòðóêöèè äëÿ ïðîöåññîðà, ò. å. ôàêòè÷åñêè î÷åíü äëèííûå ïîñëåäîâàòåëüíîñòè íóëåé è åäèíèö. Ñîñòàâëåíèå è îòëàäêà òàêèõ ïðîãðàìì áûëè ÷ðåçâû÷àéíî òðóäîåìêèì äåëîì. Ïðîãðàììû íà ìàøèííûõ ÿçûêàõ áûëè ìàøèííî çàâèñèìûìè, ò. å. äëÿ êàæäîé ÝÂÌ íåîáõîäèìî áûëî ñîçäàâàòü ñâîþ ñîáñòâåííóþ ïðîãðàììó, òàê êàê â ïðîãðàììå â ÿâíîé ôîðìå ó÷èòûâàëèñü àïïàðàòíûå ðåñóðñû ÝÂÌ. Àññåìáëåðû.  íà÷àëå 50-õ ãîäîâ XX âåêà áûëè ñîçäàíû ÿçûêè ïðîãðàììèðîâàíèÿ, ïîëó÷èâøèå îáùåå íàçâàíèå àññåìáëåðîâ (assembly languages), â êîòîðûõ ïðîöåññîðó çàäàâàëèñü òåêñòîâûå èíñòðóêöèè. Òåïåðü âìåñòî íóëåé è åäèíèö ïðîãðàììèñòû ìîãëè ïîëüçîâàòüñÿ îïåðàòîðàìè, êîòîðûå áûëè ïîõîæè íà ñëîâà àíãëèéñêîãî ÿçûêà (íàïðèìåð, êîìàíäà MOV ïåðåñûëàëà äàííûå ìåæäó ðåãèñòðàìè). Äëÿ ïðåîáðàçîâàíèÿ òåêñòà ïðîãðàììû íà àññåìáëåðå â ïîíÿòíûé êîìïüþòåðó ìàøèííûé êîä èñïîëüçîâàëñÿ êîìïèëÿòîð. Ïðîãðàììû íà àññåìáëåðå áûëè, òàê æå êàê è ìàøèííûå êîäû, ìàøèííî çàâèñèìûìè. ßçûêè âûñîêîãî óðîâíÿ. Ñ ñåðåäèíû 50-õ ãîäîâ XX âåêà íà÷àëè ñîçäàâàòüñÿ ïåðâûå ÿçûêè ïðîãðàììèðîâàíèÿ âûñîêîãî óðîâíÿ (high-level languages). Ýòî áûëè ìàøèííî íåçàâèñèìûå ÿçûêè ïðîãðàììèðîâàíèÿ, òàê êàê îíè èñïîëüçîâàëè óíèâåðñàëüíóþ êîìïüþòåðíóþ ëîãèêó è íå áûëè ïðèâÿçàíû ê òèïó ÝÂÌ. Íèæå ïðèâåäåíû ïðèìåðû ÿçûêîâ ïðîãðàììèðîâàíèÿ âûñîêîãî óðîâíÿ, ñîçäàâàâøèõñÿ è èñïîëüçîâàâøèõñÿ äëÿ ðåøåíèÿ ðàçíûõ çàäà÷: q
FORTRAN (ðàñøèôðîâûâàåòñÿ êàê FORmula TRANslator òðàíñëÿòîð ôîðìóë) ÿçûê, ïðåäíàçíà÷åííûé äëÿ íàó÷íûõ è òåõíè÷åñêèõ ðàñ÷åòîâ.
q
COBOL (Common Business-Oriented Language ñòàíäàðòíûé ÿçûê äëÿ äåëîâîãî ïðèìåíåíèÿ) ÿçûê, â îñíîâíîì ïðåäíàçíà÷àâøèéñÿ äëÿ êîììåð÷åñêèõ ïðèëîæåíèé, îáðàáàòûâàâøèõ áîëüøèå îáúåìû íå÷èñëîâûõ äàííûõ.
1. Èñòîðèÿ ðàçâèòèÿ ÿçûêîâ ïðîãðàììèðîâàíèÿ
5
q
LISP (List Processing îáðàáîòêà ñïèñêîâ) è PROLOG ÿçûêè, ñîçäàííûå äëÿ èññëåäîâàíèé â îáëàñòè èñêóññòâåííîãî èíòåëëåêòà.
q
BASIC (Beginners All-Purpose Symbolic Instruction Code óíèâåðñàëüíûé ÿçûê ñèìâîëüíûõ èíñòðóêöèé äëÿ íà÷èíàþùèõ) ÿçûê, îòëè÷àþùèéñÿ ïðîñòîòîé ñîçäàíèÿ ïðîãðàìì.
q
Pascal (íàçâàí åãî ñîçäàòåëåì Âèðòîì â ÷åñòü âåëèêîãî ôðàíöóçñêîãî ìàòåìàòèêà, ôèçèêà, ëèòåðàòîðà è ôèëîñîôà Áëåçà Ïàñêàëÿ) ñîçäàí â 1970 ãîäó êàê ÿçûê äëÿ îáó÷åíèÿ ïðîãðàììèðîâàíèþ. Ïî ìíåíèþ Âèðòà, Pascal äîëæåí áûë ñïîñîáñòâîâàòü ñîáëþäåíèþ ïðàâèëüíîé äèñöèïëèíû ïðîãðàììèðîâàíèÿ, ïîýòîìó, íàðÿäó ñî ñòðîãîé òèïèçàöèåé, â íåì ñâåäåíû ê ìèíèìóìó âîçìîæíûå ñèíòàêñè÷åñêèå íåîäíîçíà÷íîñòè, à ñàì ñèíòàêñèñ èíòóèòèâíî ïîíÿòåí äàæå ïðè ïåðâîì çíàêîìñòâå ñ ÿçûêîì.
q
C (ïðîèçíîñèòñÿ «Ñè») ÿçûê, ïîçâîëÿþùèé ñîçäàâàòü áûñòðî è ýôôåêòèâíî âûïîëíÿþùèéñÿ ïðîãðàììíûé êîä.
ßçûêè îáúåêòíî-îðèåíòèðîâàííîãî ïðîãðàììèðîâàíèÿ.  90-õ ãîäàõ XX âåêà íà÷àëè ñîçäàâàòüñÿ îáúåêòíî-îðèåíòèðîâàííûå ÿçûêè ïðîãðàììèðîâàíèÿ (ñëåäóþùèé ýòàï ðàçâèòèÿ ÿçûêîâ ïðîãðàììèðîâàíèÿ âûñîêîãî óðîâíÿ), ïîçâîëÿþùèå âèçóàëüíî êîíñòðóèðîâàòü ãðàôè÷åñêèé èíòåðôåéñ ïðèëîæåíèé: q
Visual Basic .NET ñðåäà ðàçðàáîòêè, ñîçäàííàÿ êîðïîðàöèåé Microsoft äëÿ ñîçäàíèÿ ïðèëîæåíèé ñ ãðàôè÷åñêèì èíòåðôåéñîì â ñðåäå îïåðàöèîííîé ñèñòåìû Windows íà îñíîâå ïëàòôîðìû .NET.
q
Ñ++ è Ñ# ÿçûêè îáúåêòíî-îðèåíòèðîâàííîãî ïðîãðàììèðîâàíèÿ, ñîçäàííûå íà áàçå ÿçûêà Ñ è èñïîëüçóþùèå âñå åãî ïðåèìóùåñòâà.
q
Object Pascal ÿçûê, ñîçäàííûé êîìïàíèåé Borland äëÿ ðàçðàáîòêè ïðèëîæåíèé ñ ãðàôè÷åñêèì èíòåðôåéñîì â ñðåäå Delphi äëÿ îïåðàöèîííîé ñèñòåìû Windows.
Íà ðèñ. 1 ïðåäñòàâëåíà óïðîùåííàÿ ñõåìà ðàçâèòèÿ ÿçûêîâ ïðîãðàììèðîâàíèÿ.
6
Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET 1
Ðèñ. 1
1
2. Ââåäåíèå â îáúåêòíî-îðèåíòèðîâàííîå ïðîãðàììèðîâàíèå  äàííîì ïîñîáèè ðàññìàòðèâàåòñÿ ó÷åáíûé êóðñ ñ èñïîëüçîâàíèåì ñèñòåìû ïðîãðàììèðîâàíèÿ Visual Basic .NET, êîòîðàÿ áàçèðóåòñÿ íà ìåòîäîëîãèè ïîä íàçâàíèåì «îáúåêòíî-îðèåíòèðîâàííîå ïðîãðàììèðîâàíèå» (ÎÎÏ).  îñíîâå ÎÎÏ ëåæèò ïîíÿòèå îáúåêòà, îáúåäèíÿþùåãî â ñåáå ñâîéñòâà îáúåêòà è ìåòîäû îáúåêòà (äåéñòâèÿ îáúåêòîâ è íàä îáúåêòàìè). Òàêîå îáúåäèíåíèå ñâîéñòâ è ìåòîäîâ â îáúåêòå íàçûâàåòñÿ èíêàïñóëÿöèåé. Îíà ïîçâîëÿåò ïðè ñîçäàíèè ïðîãðàììû ñêðûòü îñîáåííîñòè ðåàëèçàöèè òîãî 1
Ñîñòàâëåíà íà áàçå èñòî÷íèêà: http://www.oreilly.com/pub/a/oreilly/news/languageposter_0504.html
3. Êðàòêèé îáçîð .NET Framework è Visual Studio .NET
7
èëè èíîãî ñïîñîáà îáðàáîòêè èíôîðìàöèè âíóòðè îáúåêòà è îáëåã÷àåò ïîâòîðíîå èñïîëüçîâàíèå ðàíåå íàïèñàííîãî êîäà. Äëÿ îïèñàíèÿ ðàçíûõ âèäîâ ïðîãðàììíûõ îáúåêòîâ ñëóæàò êëàññû. Êëàññ îïðåäåëÿåò íàáîð ñâîéñòâ è ìåòîäîâ, ÿâëÿÿñü ñâîåãî ðîäà øàáëîíîì, íà îñíîâå êîòîðîãî ñîçäàþòñÿ îáúåêòû. Ñîîòâåòñòâåííî, ëþáîé îáúåêò ÿâëÿåòñÿ ýêçåìïëÿðîì íåêîòîðîãî êëàññà. Ðàçðàáîòêà îáúåêòíîîðèåíòèðîâàííîé ïðîãðàììû ñâîäèòñÿ, â ïåðâóþ î÷åðåäü, ê ñîçäàíèþ íàáîðà êëàññîâ, îáëàäàþùèõ íåîáõîäèìûìè ïðîãðàììèñòó ñâîéñòâàìè è ìåòîäàìè. Íîâûå êëàññû ìîãóò ñîçäàâàòüñÿ íà îñíîâå óæå ñóùåñòâóþùèõ (ïðåäêîâ), ïðè ýòîì îíè (ïîòîìêè) íàñëåäóþò ñâîéñòâà è ìåòîäû ïîñëåäíèõ. Ñîçäàâàÿ êëàññû-ïîòîìêè, ðàçðàáîò÷èê ìîæåò äîáàâèòü èì íîâûå ñâîéñòâà è ìåòîäû, à ìîæåò ïåðåîïðåäåëèòü ìåòîäû, óíàñëåäîâàííûå îò êëàññà-ïðåäêà. Âîçìîæíîñòü ìåíÿòü ïîâåäåíèå ïðîãðàììíûõ îáúåêòîâ ïðè âûçîâå îäíîèìåííîãî ìåòîäà íàçûâàåòñÿ ïîëèìîðôèçìîì. Èíêàïñóëÿöèÿ, íàñëåäîâàíèå è ïîëèìîðôèçì òðè áàçîâûõ ïðèíöèïà, ëåæàùèõ â îñíîâå ÎÎÏ. Ïîñëå òîãî êàê íåîáõîäèìûå êëàññû îïðåäåëåíû, ðàçðàáîò÷èêó ïðîãðàììû îñòàåòñÿ ñîçäàòü íà èõ îñíîâå íóæíûå îáúåêòû è îðãàíèçîâàòü âçàèìîäåéñòâèå ìåæäó íèìè ïóòåì îáìåíà ñîîáùåíèÿìè è ðåàêöèè íà ñîáûòèÿ.  ýòîì âçàèìîäåéñòâèè îáúåêòîâ, ñîáñòâåííî, è çàêëþ÷àåòñÿ ðàáîòà îáúåêòíî-îðèåíòèðîâàííîé ïðîãðàììû.  ïðèëîæåíèè 1 äàíû îïðåäåëåíèÿ áàçîâûõ ïîíÿòèé îáúåêòíî-îðèåíòèðîâàííîãî ïðîãðàììèðîâàíèÿ. Åñëè âû íå çíàêîìû ñ ÿçûêîì Visual Basic .NET, ðåêîìåíäóåì òàêæå èçó÷èòü ñïðàâî÷íèê ïî íåìó, ïðèâåäåííûé â ïðèëîæåíèè 2.
3. Êðàòêèé îáçîð .NET Framework è Visual Studio .NET Ñèñòåìà îáúåêòíî-îðèåíòèðîâàííîãî ïðîãðàììèðîâàíèÿ Visual Basic .NET ÿâëÿåòñÿ ñîñòàâíîé ÷àñòüþ åäèíîé ñðåäû ðàçðàáîòêè ïðèëîæåíèé Visual Studio .NET. Ïîñëåäíÿÿ, â ñâîþ î÷åðåäü, áàçèðóåòñÿ íà ðàçðàáîòàííîé êîðïîðàöèåé Ìàéêðîñîôò ïëàòôîðìå .NET Framework è ïðåäñòàâëÿåò ñîáîé óíèâåðñàëüíûé èíñòðóìåíò, ñ ïîìîùüþ êîòîðîãî ìîæíî ñîçäàâàòü ñà-
8
Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET ìûå ðàçíîîáðàçíûå ïðèëîæåíèÿ, íà÷èíàÿ îò ïðîãðàìì êîìàíäíîé ñòðîêè è çàêàí÷èâàÿ âåá-ñëóæáàìè XML. Òàêèå ïðèëîæåíèÿ ìîãóò ñîçäàâàòüñÿ ñ èñïîëüçîâàíèåì ðàçíûõ ÿçûêîâ ïðîãðàììèðîâàíèÿ, èç êîòîðûõ Visual Basic .NET ÿâëÿåòñÿ, ïî-âèäèìîìó, íàèáîëåå ïðîñòûì äëÿ âîñïðèÿòèÿ è îñâîåíèÿ. ×òîáû íåìíîãî ðàçîáðàòüñÿ â ñóùíîñòè ðàçðàáîòàííûõ Ìàéêðîñîôò òåõíîëîãèé, êðàòêî ðàññìîòðèì àðõèòåêòóðó .NET Framework, à òàêæå ìåñòî Visual Studio .NET è Visual Basic .NET â ýòîé àðõèòåêòóðå. Îñíîâíûì ýëåìåíòîì .NET Framework ÿâëÿåòñÿ îáùåÿçûêîâàÿ ñðåäà âûïîëíåíèÿ ïðèëîæåíèé. Ýòó ñðåäó (ïî-àíãëèéñêè îíà íàçûâàåòñÿ Common Language Runtime, èëè CLR) ìîæíî ñ÷èòàòü íåêèì àãåíòîì, êîòîðûé âûïîëíÿåò ñëåäóþùèå ôóíêöèè: q
îáåñïå÷èâàåò êîìïèëÿöèþ êîäà ïî ìåðå âûçîâà òåõ èëè èíûõ êîìïîíåíòîâ ïðîãðàììû;
q
ðàñïðåäåëÿåò ïàìÿòü äëÿ êýøèðîâàíèÿ îòêîìïèëèðîâàííîãî êîäà è ðàçìåùåíèÿ äàííûõ;
q
óïðàâëÿåò ïîòîêàìè âû÷èñëåíèé è óäàëåííûì âçàèìîäåéñòâèåì ïðîãðàìì;
q
îáåñïå÷èâàåò ñòðîãóþ ïðîâåðêó òèïîâ äàííûõ è äðóãèå âèäû ïðîâåðêè òî÷íîñòè êîäà, ÷òî ãàðàíòèðóåò áåçîïàñíîñòü è íàäåæíîñòü âûïîëíåíèÿ ïðîãðàìì.
Òàêèì îáðàçîì, îñíîâíûì ïðèíöèïîì ðàáîòû CLR ÿâëÿåòñÿ óïðàâëåíèå ïðîãðàììíûì êîäîì. Èìåííî ïîýòîìó êîä, êîòîðûé âûïîëíÿåòñÿ â .NET Framework, íàçûâàþò óïðàâëÿåìûì êîäîì (managed code), à êîä, êîòîðûé âûïîëíÿåòñÿ íà êîìïüþòåðå, ìèíóÿ CLR, íåóïðàâëÿåìûì (unmanaged). Áîëåå òîãî, äàííûå, ñ êîòîðûìè ðàáîòàåò óïðàâëÿåìûé êîä, òàêæå íàõîäÿòñÿ ïîä ïîëíûì êîíòðîëåì CLR è ïîýòîìó íàçûâàþòñÿ óïðàâëÿåìûìè äàííûìè (managed data). Äðóãîé îñíîâíîé êîìïîíåíò .NET Framework îáùàÿ äëÿ âñåõ ÿçûêîâ ïðîãðàììèðîâàíèÿ áèáëèîòåêà êëàññîâ. Åå íàëè÷èå ïîçâîëÿåò ðàçðàáîò÷èêàì èñïîëüçîâàòü åäèíóþ ñèñòåìó òèïîâ äàííûõ è âûçûâàåìûõ ôóíêöèé (òî÷íåå, ïðîãðàììíûõ îáúåêòîâ, èõ ñâîéñòâ è ìåòîäîâ1). Ñîîòâåòñòâåííî, áîëüøàÿ ÷àñòü ôóíêöèîíàëüíîñòè ïðîãðàììû, êîòîðàÿ ðàíåå ðåàëèçîâûâàëàñü çà ñ÷åò ôóíêöèé è ïðîöåäóð êîíêðåòíîãî ÿçûêà ïðîãðàììèðîâàíèÿ, òåïåðü îáåñïå÷èâàåòñÿ èñïîëüçîâàíèåì áèáëèîòåêè 1
Êëàññû, îáúåêòû, ñâîéñòâà è ìåòîäû áîëåå ïîäðîáíî îáñóæäàþòñÿ äàëåå â ðàçäåëå, ïîñâÿùåííîì îñíîâàì îáúåêòíî-îðèåíòèðîâàííîãî ïðîãðàììèðîâàíèÿ.
3. Êðàòêèé îáçîð .NET Framework è Visual Studio .NET
9
êëàññîâ. Íàïðèìåð, ÷òîáû âû÷èñëèòü êâàäðàòíûé êîðåíü â ïðåäûäóùèõ âåðñèÿõ Visual Basic, ïðîãðàììèñòó íóæíî áûëî âîñïîëüçîâàòüñÿ êîíñòðóêöèåé âèäà: X=SQR(Y)  Visual Basic .NET àíàëîãè÷íûé îïåðàòîð áóäåò âûãëÿäåòü èíà÷å: X=System.Math.Sqrt(Y)  ýòîé êîíñòðóêöèè óæå áóäåò çàäåéñòâîâàí îäèí èç ñòàíäàðòíûõ êëàññîâ áèáëèîòåêè .NET Framework, îòíîñÿùèéñÿ ê òàê íàçûâàåìîìó ïðîñòðàíñòâó èìåí 1 (namespace) System.Math. Ñóùåñòâåííûì ïðåèìóùåñòâîì äàííîãî ïîäõîäà ÿâëÿåòñÿ âîçìîæíîñòü èñïîëüçîâàòü îäíè è òå æå êëàññû â ïðîãðàììàõ, íàïèñàííûõ íà ðàçíûõ ÿçûêàõ ïðîãðàììèðîâàíèÿ: è íà òåõ, êîòîðûå ðàçðàáîòàíû êîðïîðàöèåé Ìàéêðîñîôò, è íà ÿçûêàõ ñòîðîííèõ ïðîèçâîäèòåëåé. Áîëåå òîãî, ðàçðàáîò÷èêè ìîãóò ñîçäàâàòü ñâîè ñîáñòâåííûå áèáëèîòåêè êëàññîâ è èñïîëüçîâàòü èõ â äàëüíåéøåé ðàáîòå. À ìåæúÿçûêîâîå âçàèìîäåéñòâèå è îáùàÿ ñðåäà ðàçðàáîòêè ïîçâîëÿþò, íàïðèìåð, â Visual Basic .NET-ïðèëîæåíèÿõ èñïîëüçîâàòü êîìïîíåíòû, íàïèñàííûå íà äðóãèõ ÿçûêàõ .NET Framework. Åñëè èçîáðàçèòü îñíîâíûå êîìïîíåíòû, îáåñïå÷èâàþùèå ðàçðàáîòêó è âûïîëíåíèå ïðîãðàìì íà êîìïüþòåðå ñ îïåðàöèîííîé ñèñòåìîé Windows, òî ïîëó÷èòñÿ ñõåìà, ïðèâåäåííàÿ íà ðèñ. 2. Êàê âèäíî èç ñõåìû, Visual Studio .NET ýòî åäèíàÿ ñðåäà ðàçðàáîòêè ïðèëîæåíèé, êàê òðàäèöèîííûõ, òàê è ðàáîòàþùèõ â ñðåäå âûïîëíåíèÿ .NET Framework. È åñëè ïåðâûå âåñüìà æåñòêî ïðèâÿçàíû ê îñîáåííîñòÿì èíòåðôåéñà ïðèêëàäíîãî ïðîãðàììèðîâàíèÿ â îïåðàöèîííîé ñèñòåìå Windows (Win32 API), òî äëÿ âòîðûõ CLR «ýêðàíèðóåò» ýòè îñîáåííîñòè. Òàêîé ïîäõîä äåëàåò íàïèñàííûå äëÿ îáùåÿçûêîâîé ñðåäû ïðîãðàììû ëåãêî ïåðåíîñèìûìè íà êîìïüþòåðû, ðàáîòàþùèå íå ïîä óïðàâëåíèåì Windows 2.
1
2
 .NET Framework ïðîñòðàíñòâîì èìåí íàçûâàåòñÿ íåêîòîðàÿ îáëàñòü, â êîòîðîé îïðåäåëåíû íàçâàíèÿ, ñâîéñòâà è ìåòîäû èñïîëüçóåìûõ êëàññîâ (êàê ñèñòåìíûõ, òàê è ñîçäàâàåìûõ ðàçðàáîò÷èêîì ïðîãðàììû). Ïðèìåðû òàêîãî ïåðåíîñà óæå èçâåñòíû, íàïðèìåð, ïðîåêò Portable .NET äëÿ Linux è äðóãèõ Unix-ïîäîáíûõ ñèñòåì èëè ïðîåêò Rotor äëÿ FreeBSD è Mac OS X.
10
Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET
Ðèñ. 2
Ñîâìåñòíîå èñïîëüçîâàíèå Visual Studio .NET è .NET Framework ïðåäîñòàâëÿåò â ðàñïîðÿæåíèå ðàçðàáîò÷èêîâ îäèí èç ñàìûõ ìîùíûõ íà ñåãîäíÿøíèé äåíü èíñòðóìåíòîâ äëÿ ñîçäàíèÿ ïðèëîæåíèé.  òî æå âðåìÿ ýòîò èíñòðóìåíò ÿâëÿåòñÿ âåñüìà ïðîñòûì â îñâîåíèè, ÷òî äàåò âîçìîæíîñòü ïðèìåíÿòü åãî â êóðñàõ øêîëüíîé ó÷åáíîé ïðîãðàììû.  íàñòîÿùåå âðåìÿ êîðïîðàöèÿ Ìàéêðîñîôò âûïóñêàåò äâà ðàçíûõ âàðèàíòà Visual Studio äëÿ ïëàòôîðìû .NET 1: q
Visual Studio .NET 2003 (â ðàçëè÷íûõ ðåäàêöèÿõ) è îòäåëüíûå êîìïîíåíòû ýòîé ñðåäû ðàçðàáîòêè;
q
Visual Studio 2005 (îïÿòü æå â ðàçëè÷íûõ ðåäàêöèÿõ) è åå îòäåëüíûå êîìïîíåíòû.
Íåêîòîðûå êîìïîíåíòû Visual Studio 2005 â âàðèàíòå Express Edition (íàïðèìåð, Visual Basic 2005 Express Edition) ñåé÷àñ ðàñïðîñòðàíÿþòñÿ êîðïîðàöèåé Ìàéêðîñîôò áåñïëàòíî; èõ äèñòðèáóòèâû äîñòóïíû äëÿ «ñêà÷èâàíèÿ» ñ ñàéòà êîðïîðàöèè 2. 1 2
Áîëåå
ïîäðîáíûå
ñâåäåíèÿ
ïðèâåäåíû
http://www.microsoft.com/Rus/Msdn/vs
Ñì. http://msdn.microsoft.com/vstudio/express
íà
ðóññêîÿçû÷íîì
âåá-ñàéòå
Ìàéêðîñîôò:
4. Ó÷åáíûå ìàòåðèàëû
11
Ñëåäóåò îòìåòèòü, ÷òî â ýòèõ âàðèàíòàõ (2005 íàèáîëåå ñîâðåìåííûé) ðàçëè÷àþòñÿ êàê ñðåäà ðàçðàáîòêè, òàê è ñðåäà âûïîëíåíèÿ ïðèëîæåíèé (âåðñèÿ 2003 áàçèðóåòñÿ íà .NET Framework 1.1, à âåðñèÿ 2005 íà .NET Framework 2.0). Ðàçëè÷èÿ íåîáõîäèìî ó÷èòûâàòü è â ïðîöåññå ðàçðàáîòêè ïðîãðàìì ñ ïîìîùüþ äàííûõ ñèñòåì, è ïðè èñïîëüçîâàíèè ïðîãðàìì â äàëüíåéøåì.  ñîñòàâ Visual Studio .NET âõîäÿò ñëåäóþùèå ÿçûêè ïðîãðàììèðîâàíèÿ: q
Visual Basic .NET;
q
C# (ïðîèçíîñèòñÿ Ñè-øàðï);
q
J# (ïðîèçíîñèòñÿ Äæåé-øàðï);
q
C++ (ïðîèçíîñèòñÿ Cè ïëþñ ïëþñ).
Êðîìå òîãî, â ýòó ñèñòåìó âêëþ÷åíà ýëåêòðîííàÿ ñïðàâî÷íàÿ ñèñòåìà (òàê íàçûâàåìàÿ áèáëèîòåêà MSDN). Ðóññêîÿçû÷íàÿ ñïðàâêà ðàçìåùåíà â Èíòåðíåòå ïî àäðåñó http://msdn.microsoft.com/library/rus/
4. Ó÷åáíûå ìàòåðèàëû  êîìïëåêò ïîäãîòîâëåííûõ ê êóðñó «Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET» ó÷åáíûõ ìàòåðèàëîâ âõîäÿò: q
ìåòîäè÷åñêîå ïîñîáèå äëÿ ó÷èòåëåé, êîòîðîå âû ñåé÷àñ ÷èòàåòå;
q
ó÷åáíîå ïîñîáèå ïî ÿçûêó îáúåêòíî-îðèåíòèðîâàííîãî ïðîãðàììèðîâàíèÿ Visual Basic .NET äëÿ ó÷àùèõñÿ;
q
ïðèëàãàåìûé ê äàííîìó ïîñîáèþ êîìïàêò-äèñê (â òåêñòå îí îáîçíà÷àåòñÿ êàê Microsoft-CD).
Äëÿ òîãî ÷òîáû ïîäãîòîâèòüñÿ ê ïðîâåäåíèþ çàíÿòèé ïî äàííîìó êóðñó, íåîáõîäèìî çàðàíåå è òùàòåëüíî îçíàêîìèòüñÿ ñ ñîäåðæèìûì ýòèõ ìàòåðèàëîâ. Ðàññìîòðèì ïîäðîáíåå, êàê óñòðîåíî ó÷åáíîå ïîñîáèå è ÷òî íàõîäèòñÿ íà êîìïàêò-äèñêå.
12
Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET
Ó÷åáíîå ïîñîáèå Ó÷åáíîå ïîñîáèå âêëþ÷àåò 12 ãëàâ, êàæäàÿ èç êîòîðûõ ïðåäâàðÿåòñÿ âñòóïëåíèåì, íàïðÿìóþ íå îòíîñÿùèìñÿ ê îáñóæäàåìîìó ìàòåðèàëó.  ýòèõ âñòóïëåíèÿõ êðàòêî ðàñêðûâàåòñÿ èñòîðèÿ ðàçâèòèÿ Microsoft ÷åðåç ñîçäàíèå ðàçëè÷íûõ âåðñèé îïåðàöèîííûõ ñèñòåì è ÿçûêà ïðîãðàììèðîâàíèÿ Basic, ÷òî ïîçâîëÿåò ïàðàëëåëüíî ñ èçó÷åíèåì ÿçûêà ïðîãðàììèðîâàíèÿ ñîâåðøèòü «ïóòåøåñòâèå âî âðåìåíè».  òåêñòå ïîñîáèÿ èñïîëüçóþòñÿ ñëåäóþùèå ñîãëàøåíèÿ, êàñàþùèåñÿ øðèôòîâîãî îôîðìëåíèÿ è âûäåëåíèÿ âàæíîé èíôîðìàöèè. q
Êóðñèâîì âûäåëåíû âàæíûå ïîíÿòèÿ è òåðìèíû, à òàêæå íàçâàíèÿ äèàëîãîâûõ îêîí, ïóíêòîâ ìåíþ è óïðàâëÿþùèõ ýëåìåíòîâ (òåêñòîâûõ ïîëåé, êíîïîê è ò. ä.) ãðàôè÷åñêîãî èíòåðôåéñà.
q
Øðèôòîì Courier âûäåëåíû òåêñòû ïðîãðàìì íà ÿçûêå ïðîãðàììèðîâàíèÿ Visual Basic.
q
Âàæíàÿ èíôîðìàöèÿ è ôîðìóëû âûäåëåíû â òåêñòå âîñêëèöàòåëüíûì çíàêîì: Âàæíàÿ èíôîðìàöèÿ
q
Ìàòåðèàëû, ñîäåðæàùèå äîïîëíèòåëüíóþ èíòåðåñíóþ èíôîðìàöèþ, âûäåëåíû çíà÷êîì .
 êîíöå êàæäîé ãëàâû ïðèâåäåí òåñò, ïîçâîëÿþùèé îöåíèòü ñòåïåíü óñâîåíèÿ ìàòåðèàëà ó÷åíèêàìè. Íà êàæäûé âîïðîñ ïðàâèëüíûé îòâåò åäèíñòâåííûé, åãî íóæíî âûáðàòü èç ÷åòûðåõ ïðåäëîæåííûõ âàðèàíòîâ. Ïðèâåäåì êðàòêèé îáçîð ñîäåðæàíèÿ ó÷åáíîãî ïîñîáèÿ. Ãëàâà 1 «Ïðîãðàììû â ïîâñåäíåâíîé æèçíè» ïîñâÿùåíà îáñóæäåíèþ ïîíÿòèé «ïðîãðàììà», «ïðîãðàììèñò», «ïðîãðàììèðîâàíèå». Çäåñü æå äàþòñÿ áàçîâûå ñâåäåíèÿ î ðàçíûõ ÿçûêàõ ïðîãðàììèðîâàíèÿ è î ñèíòàêñèñå ÿçûêà ïðîãðàììèðîâàíèÿ.  ãëàâå 2 «Ñèñòåìà ïðîãðàììèðîâàíèÿ Visual Basic .NET» ðàññìàòðèâàþòñÿ êîìïîíåíòû èíòåãðèðîâàííîé ñðåäû ðàçðàáîòêè Visual Studio .NET è îïèñûâàþòñÿ îñíîâíûå ïðèåìû ñîçäàíèÿ ïðèëîæåíèé â ýòîé ñðåäå.  õîäå âûïîëíåíèÿ ïðàêòè÷åñêèõ çàäàíèé â äàííîé ãëàâå ó÷àùèåñÿ
4. Ó÷åáíûå ìàòåðèàëû
13
ðàçðàáàòûâàþò ñâîþ ïåðâóþ ïðîãðàììó ñ ãðàôè÷åñêèì èíòåðôåéñîì è ïðîâåðÿþò åå ðàáîòó.  ãëàâå 3 «Àëãîðèòìû è ïðîãðàììû» îáñóæäàþòñÿ ýëåìåíòû, èç êîòîðûõ ñòðîÿòñÿ ïðîãðàììû âíå çàâèñèìîñòè îò èñïîëüçóåìîãî äëÿ èõ íàïèñàíèÿ ÿçûêà ïðîãðàììèðîâàíèÿ. Çäåñü æå ââîäèòñÿ ïîíÿòèå «àëãîðèòì» è äàþòñÿ ðåêîìåíäàöèè ïî îïèñàíèþ àëãîðèòìà ðàáîòû ïðîãðàììû â âèäå òàê íàçûâàåìîãî ïñåâäîêîäà.  ãëàâå 4 «Ôîðìû è ýëåìåíòû óïðàâëåíèÿ» ðàññìàòðèâàþòñÿ ôîðìû îñíîâà ãðàôè÷åñêîãî èíòåðôåéñà ïðèëîæåíèÿ Windows (îêíà ïðèëîæåíèÿ) è ýëåìåíòû óïðàâëåíèÿ, êîòîðûå ïîìåùàþòñÿ íà ôîðìó è îáåñïå÷èâàþò âçàèìîäåéñòâèå ìåæäó ïðèëîæåíèåì è ïîëüçîâàòåëåì.  ýòîé ãëàâå òàêæå ãîâîðèòñÿ î ñîáûòèÿõ, ñ ïîìîùüþ êîòîðûõ ïðîãðàììà «óçíàåò» î äåéñòâèÿõ ðàáîòàþùåãî ñ íåé ïîëüçîâàòåëÿ. Ãëàâà 5 «Ñâîéñòâà è ìåòîäû» ïîñâÿùåíà îáñóæäåíèþ ïîíÿòèé «ñâîéñòâî» è «ìåòîä». Ñ ïîìîùüþ ñâîéñòâ ðàçðàáîò÷èê ìîæåò îïðåäåëÿòü òå èëè èíûå õàðàêòåðèñòèêè ïðîãðàììíûõ îáúåêòîâ (íàïðèìåð, ôîðì, ýëåìåíòîâ óïðàâëåíèÿ è ò. ï.), à ìåòîäû ïîçâîëÿþò åìó óïðàâëÿòü äåéñòâèÿìè ýòèõ îáúåêòîâ ïðè ðàáîòå ïðîãðàììû. Çäåñü æå îïèñûâàåòñÿ, êàê â êîäå ïðîãðàììû èñïîëüçîâàòü ñâîéñòâà è âûçûâàòü ìåòîäû.  ãëàâå 6 «Ïðèñâàèâàíèå è ïåðåìåííûå» îïèñûâàåòñÿ îïåðàòîð ïðèñâàèâàíèÿ, ñ ïîìîùüþ êîòîðîãî â ïðîãðàììàõ, íàïèñàííûõ íà ñàìûõ ðàçíûõ ÿçûêàõ, ÷àùå âñåãî çàäàþòñÿ çíà÷åíèÿ ñâîéñòâ îáúåêòîâ è çíà÷åíèÿ ïåðåìåííûõ. Ïîñëåäíèå èñïîëüçóþòñÿ äëÿ õðàíåíèÿ äàííûõ ïðàêòè÷åñêè â ëþáîé ïðîãðàììå, ïîýòîìó â ãëàâå òàêæå îïèñûâàþòñÿ îñíîâíûå ïðàâèëà îáúÿâëåíèÿ ïåðåìåííûõ è ðàáîòû ñ íèìè â ÿçûêå Visual Basic .NET. Ãëàâà 7 «Îïåðàöèè» ïîñâÿùåíà îáñóæäåíèþ ñïîñîáîâ îáðàáîòêè èíôîðìàöèè â õîäå ðàáîòû ïðîãðàììû ñ ïîìîùüþ àðèôìåòè÷åñêèõ, ñòðîêîâûõ è ëîãè÷åñêèõ îïåðàöèé. Çäåñü òàêæå ââîäèòñÿ ïîíÿòèå îòëàäêè ïðîãðàììû è îïèñûâàþòñÿ îñíîâíûå ïðèåìû îòëàäêè â ñðåäå Visual Studio .NET.  ãëàâå 8 «Âåòâëåíèå: íåïîëíàÿ ôîðìà» è â ãëàâå 9 «Âåòâëåíèå: ïîëíàÿ ôîðìà» äàþòñÿ áàçîâûå ïîíÿòèÿ áóëåâîé (äâîè÷íîé) ëîãèêè è îïèñûâàþòñÿ îïåðàöèè ñðàâíåíèÿ, ïîçâîëÿþùèå â õîäå ðàáîòû ïðîãðàììû îñóùåñòâèòü ïðîâåðêó èñòèííîñòè óñëîâèé. Äàëåå â ýòèõ ãëàâàõ ðàññìàòðèâàþòñÿ ñíà÷àëà ïðîñòûå, à çàòåì áîëåå ñëîæíûå àëãîðèòìè÷åñêèå êîíñòðóêöèè, ñ ïîìîùüþ êîòîðûõ ïîðÿäîê ðàáîòû ïðîãðàììû ìîæíî èçìåíÿòü â çàâèñèìîñòè îò èñòèííîñòè îäíîãî èëè íåñêîëüêèõ óñëîâèé. Ãëàâà 10 «Öèêëû ñî ñ÷åò÷èêîì» íà÷èíàåò îáñóæäåíèå âîïðîñîâ, ñâÿçàííûõ ñ îðãàíèçàöèåé öèêëîâ, ò. å. àëãîðèòìè÷åñêèõ êîíñòðóêöèé,
14
Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET îáåñïå÷èâàþùèõ ïðè ðàáîòå ïðîãðàììû ìíîãîêðàòíîå âûïîëíåíèå îïðåäåëåííîé ïîñëåäîâàòåëüíîñòè îïåðàòîðîâ.  ýòîé ãëàâå ðàññìàòðèâàþòñÿ ïðîñòûå è âëîæåííûå öèêëû ñî ñ÷åò÷èêîì, êîòîðûå èñïîëüçóþòñÿ, êîãäà ÷èñëî ïîâòîðåíèé çàðàíåå èçâåñòíî. Ãëàâà 11 «Öèêëû ñ óñëîâèåì» ïîñâÿùåíà áîëåå ñëîæíûì öèêëè÷åñêèì êîíñòðóêöèÿì, â êîòîðûõ ÷èñëî ïîâòîðåíèé çàðàíåå íåèçâåñòíî, à â êà÷åñòâå êðèòåðèÿ ïðåêðàùåíèÿ ðàáîòû öèêëà âûñòóïàåò èñòèííîñòü èëè ëîæíîñòü íåêîòîðîãî óñëîâèÿ. Ðàññìàòðèâàþòñÿ öèêëû, â êîòîðûõ ïðîâåðêà èñòèííîñòè ýòîãî óñëîâèÿ îñóùåñòâëÿåòñÿ äî âûïîëíåíèÿ îïåðàòîðîâ âíóòðè íèõ, è öèêëû, â êîòîðûõ ýòà ïðîâåðêà ïðîâîäèòñÿ ïîñëå âûïîëíåíèÿ îïåðàòîðîâ.  ãëàâå 12 «Ïîäïðîãðàììû è ôóíêöèè» îáñóæäàþòñÿ ïðèåìû ðàçáèåíèÿ îáùåãî àëãîðèòìà ðàáîòû ïðîãðàììû íà ÷àñòè è ðåàëèçàöèè îòäåëüíûõ ÷àñòåé â âèäå ïîäïðîãðàìì è ôóíêöèé. Îïèñûâàþòñÿ è ñïîñîáû ñîçäàíèÿ ïîäïðîãðàìì è ôóíêöèé, è ñïîñîáû ðàáîòû ñ íèìè.
Êîìïàêò-äèñê Íà êîìïàêò-äèñêå, êîòîðûé ïðèëàãàåòñÿ ê äàííîìó ìåòîäè÷åñêîìó ïîñîáèþ, íàõîäèòñÿ ñëåäóþùàÿ èíôîðìàöèÿ. q
Ó÷åáíîå ïîñîáèå â ôîðìàòå PDF. Ðàñêðûâ ïàïêó Ó÷åáíîå ïîñîáèå, âû óâèäèòå âëîæåííûå ïàïêè ñ ìàòåðèàëàìè ó÷åáíîãî ïîñîáèÿ è ñìîæåòå îçíàêîìèòüñÿ ñ íèìè. Êàæäàÿ ãëàâà ó÷åáíîãî ïîñîáèÿ çàêàí÷èâàåòñÿ èíòåðàêòèâíûì òåñòîì. Ó÷åíèêè ìîãóò èñïîëüçîâàòü ýòîò òåñò äëÿ áûñòðîé îöåíêè ñâîèõ çíàíèé.
q
Ôàéëû ñ ãîòîâûìè ïðîåêòàìè â ñèñòåìå Visual Basic .NET 2003 è ñ çàãîòîâêàìè òàêèõ ïðîåêòîâ. Âñå ýòè ôàéëû íàõîäÿòñÿ â ïàïêå PRACTICUM. Äëÿ èñïîëüçîâàíèÿ â õîäå çàíÿòèé èõ íåîáõîäèìî ïåðåïèñàòü íà æåñòêèé äèñê. Ýòà îïåðàöèÿ áóäåò îïèñàíà íèæå â ðàçäåëå, ïîñâÿùåííîì ïîäãîòîâêå êîìïüþòåðîâ â êëàññå.
q
Äèñòðèáóòèâû ïðîãðàììíîãî îáåñïå÷åíèÿ, íåîáõîäèìîãî äëÿ óñòàíîâêè ñèñòåìû îáúåêòíî-îðèåíòèðîâàííîãî ïðîãðàììèðîâàíèÿ Visual Basic 2005 Express Edition è ýëåêòðîííîé äîêóìåíòàöèè ê íåé, à òàêæå äîïîëíèòåëüíûõ ïðîãðàìì, êîòîðûå ìîãóò îêàçàòüñÿ ïîëåçíûìè ó÷èòåëþ. Ôàéëû äèñòðèáóòèâîâ íàõîäÿòñÿ â ïàïêå PROGRAM. Òàì æå ñîäåðæèòñÿ îïèñàíèå èñïîëüçóåìîãî â êóðñå ïðîãðàììíîãî îáåñïå÷åíèÿ è êðàòêèå èíñòðóêöèè ïî åãî óñòàíîâêå íà êîìïüþòåðû â êëàññå.
5. Ïîäãîòîâêà ó÷åáíîãî êëàññà ê çàíÿòèÿì
q
15
Ñïðàâî÷íûå òàáëèöû ïî ÿçûêó Visual Basic .NET. ðàñïîëîæåíû â ïàïêå PLACAT.
5. Ïîäãîòîâêà ó÷åáíîãî êëàññà ê çàíÿòèÿì Äëÿ óñïåøíîãî ïðîâåäåíèÿ çàíÿòèé ïî äàííîìó êóðñó îñîáåííî âàæíî óäåëèòü îñîáîå âíèìàíèå ïîäãîòîâêå ó÷åáíîãî êëàññà.  ïåðâóþ î÷åðåäü, ýòî êàñàåòñÿ òåõíè÷åñêîãî îñíàùåíèÿ êëàññà êîìïüþòåðàìè è óñòàíîâêè íà ýòè êîìïüþòåðû âñåãî íåîáõîäèìîãî ïðîãðàììíîãî îáåñïå÷åíèÿ. Êðîìå òîãî, âñå óñòàíîâëåííîå íà êîìïüþòåðû ïðîãðàììíîå îáåñïå÷åíèå íåîáõîäèìî äîëæíûì îáðàçîì íàñòðîèòü è ïðîâåðèòü â ðàáîòå, ÷òîáû èçáåæàòü âîçíèêíîâåíèÿ ïðîáëåì â äàëüíåéøåì. Ýòè ïðîöåäóðû ïîäãîòîâêè ó÷åáíûõ êîìïüþòåðîâ ê çàíÿòèÿì ðàññìîòðåíû äàëåå. Ïîñêîëüêó âñå ïðèìåðû â ó÷åáíîì ïîñîáèè1 áàçèðóþòñÿ íà èñïîëüçîâàíèè ëîêàëèçîâàííîé ðóññêîé âåðñèè ñèñòåìû Visual Basic .NET 2003, îñíîâíîå âíèìàíèå íèæå áóäåò óäåëåíî èìåííî åé. Ýòó âåðñèþ êîðïîðàöèÿ Ìàéêðîñîôò ïðåäëàãàåò äëÿ ñðåäíèõ ó÷åáíûõ çàâåäåíèé ïî ñïåöèàëüíûì íèçêèì öåíàì è ñ ðàñøèðåííûìè óñëîâèÿìè ïðèìåíåíèÿ2. Êðîìå òîãî, îáëåã÷åííàÿ âåðñèÿ Visual Basic 2005 Express Edition ïî ðàçðåøåíèþ êîðïîðàöèè ðàçìåùåíà íà êîìïàêò-äèñêå Microsoft-CD. Ïîýòîìó óñòàíîâêà è èñïîëüçîâàíèå ýòîé âåðñèè òàêæå áóäóò êðàòêî ðàññìîòðåíû.
Ñèñòåìíûå òðåáîâàíèÿ Äëÿ ïðîâåäåíèÿ çàíÿòèé íåîáõîäèìî, ÷òîáû êîìïüþòåðû â êëàññå óäîâëåòâîðÿëè îïðåäåëåííûì òðåáîâàíèÿì ñ òî÷êè çðåíèÿ îáîðóäîâàíèÿ è óñòàíîâëåííîé íà íèõ îïåðàöèîííîé ñèñòåìû. Ìèíèìàëüíûå òðåáîâàíèÿ ïðèâåäåíû â ñëåäóþùåé òàáëèöå (â ñêîáêàõ óêàçàíû ðåêîìåíäîâàííûå çíà÷åíèÿ):
1 2
È ñîîòâåòñòâåííûå ôàéëû íà êîìïàêò-äèñêå Microsoft-CD. Ñì. http://www.microsoft.com/Rus/Licensing/Volume/Academic/PilSa.mspx
16
Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET
Ðåñóðñ
Visual Basic .NET 2003
Visual Basic 2005 Express Edition
Ïðîöåññîð
Pentium II, 450 ÌÃö (Pentium III, 600 ÌÃö)
Pentium, 600 ÌÃö (Pentium, 1 ÃÃö)
Îïåðàòèâíàÿ ïàìÿòü, Ìá
Windows Windows Windows Windows Windows
192 (256)
Ñâîáîäíîå ïðîñòðàíñòâî íà æåñòêîì äèñêå
500 Ìá ñâîáîäíîãî ïðîñòðàíñòâà íà ñèñòåìíîì äèñêå, 1,5 Ãá ñâîáîäíîãî ïðîñòðàíñòâà íà äèñêå, êóäà âûïîëíÿåòñÿ óñòàíîâêà. Äîïîëíèòåëüíûå 1,9 Ãá ñâîáîäíîãî ïðîñòðàíñòâà äëÿ íåîáÿçàòåëüíîé äîêóìåíòàöèè áèáëèîòåêè MSDN
Äî 1,3 Ãá äîñòóïíîãî äèñêîâîãî ïðîñòðàíñòâà
Îïåðàöèîííàÿ ñèñòåìà (ÎÑ)
Microsoft Windows Server 2003, Windows XP Professional, Windows XP Home Edition, Windows 2000 Professional (òðåáóåòñÿ ïàêåò îáíîâëåíèÿ SP3 èëè áîëåå ïîçäíèé), Windows 2000 Server (òðåáóåòñÿ ïàêåò îáíîâëåíèÿ SP3 èëè áîëåå ïîçäíèé)
Microsoft Windows 2003 Server (òðåáóåòñÿ ïàêåò îáíîâëåíèÿ SP1), Windows XP (òðåáóåòñÿ ïàêåò îáíîâëåíèÿ SP2), Windows 2000 (òðåáóåòñÿ ïàêåò îáíîâëåíèÿ SP4)
Äèñêîâîä
Óñòðîéñòâî äëÿ ÷òåíèÿ êîìïàêò-äèñêîâ èëè DVD-äèñêîâ
Óñòðîéñòâî äëÿ ÷òåíèÿ êîìïàêò-äèñêîâ èëè DVD-äèñêîâ íå òðåáóåòñÿ
Ìîíèòîð
1024 ´ 768, 256 öâåòîâ
Server 2003 160, XP Professional 160, XP Home Edition 96, 2000 Professional 96, 2000 Server 192
800 ´ 600, 256 öâåòîâ (1024 ´ 768, 65 536 öâåòîâ)
Ìûøü
Ìûøü Microsoft èëè ñîâìåñòèìîå óêàçûâàþùåå óñòðîéñòâî
Ìûøü Microsoft èëè ñîâìåñòèìîå óêàçûâàþùåå óñòðîéñòâî
5. Ïîäãîòîâêà ó÷åáíîãî êëàññà ê çàíÿòèÿì
17
Ïîä÷åðêíåì, ÷òî â òàáëèöå ïðèâåäåíû ìèíèìàëüíûå òðåáîâàíèÿ ê îáîðóäîâàíèþ. Èñïîëüçîâàíèå áîëåå ìîùíûõ ïðîöåññîðîâ è/èëè îïåðàòèâíîé ïàìÿòè áîëüøåãî îáúåìà ïîçâîëèò ðàáîòàòü íà êîìïüþòåðàõ â êëàññå áîëåå êîìôîðòíî è ïðîäóêòèâíî.
Óñòàíîâêà îïåðàöèîííîé ñèñòåìû Windows XP Professional Êàê âèäíî èç ïðåäûäóùåé òàáëèöû, Visual Basic .NET 2003 èëè Visual Basic 2005 Express Edition ìîæíî óñòàíîâèòü íà êîìïüþòåðû ñ ðàçíûìè îïåðàöèîííûìè ñèñòåìàìè, âûïóñêàåìûìè êîðïîðàöèåé Ìàéêðîñîôò. Äëÿ îïðåäåëåííîñòè ìû áóäåì ïîëàãàòü, ÷òî â ó÷åáíîì êëàññå áóäåò èñïîëüçîâàòüñÿ ëîêàëèçîâàííàÿ ðóññêàÿ âåðñèÿ îïåðàöèîííîé ñèñòåìû Windows XP Professional. Åñëè ýòà îïåðàöèîííàÿ ñèñòåìà åùå íå óñòàíîâëåíà â âàøåì êîìïüþòåðíîì êëàññå (èëè ïî êàêèì-òî ïðè÷èíàì òðåáóåòñÿ âûïîëíèòü åå ïåðåóñòàíîâêó), âû ìîæåòå îáðàòèòüñÿ ê îïèñàíèþ ïðîöåäóðû åå óñòàíîâêè ñ çàãðóæàåìîãî äèñòðèáóòèâíîãî êîìïàêò-äèñêà1, ïðèâåäåííîé â ïðèëîæåíèè 3.
Äîïîëíèòåëüíûå íàñòðîéêè êîìïüþòåðà Äëÿ òîãî ÷òîáû èçáåæàòü ïðîáëåì ïðè ïðîâåäåíèè çàíÿòèé â êëàññå, ðåêîìåíäóåòñÿ ïðàâèëüíî íàñòðîèòü çàùèòó ôàéëîâ è ïàïîê, íàõîäÿùèõñÿ íà æåñòêîì äèñêå, è íàñòðîèòü êâîòèðîâàíèå äèñêîâîãî ïðîñòðàíñòâà. Ïîñëåäíåå ïîçâîëèò èçáåæàòü ïåðåïîëíåíèÿ äèñêà ôàéëàìè ó÷åíèêîâ. Êðîìå òîãî, íåîáõîäèìî ïåðåïèñàòü ñ êîìïàêò-äèñêà Microsoft-CD ôàéëû ïðèìåðîâ, êîòîðûå ìîãóò áûòü èñïîëüçîâàíû â õîäå çàíÿòèé.
Óñòàíîâêà ðàçðåøåíèé íà êîðíåâóþ ïàïêó äèñêà C: 1. Îòêðîéòå îêíî êîìàíäíîé ñòðîêè, äëÿ ÷åãî ùåëêíèòå ïî êíîïêå Ïóñê,
çàòåì âûáåðèòå Âûïîëíèòü, â ïîëå Îòêðûòü íàáåðèòå cmd è íàæìèòå êëàâèøó Enter.
2. Ïîñëå ýòîãî âûïîëíèòå êîìàíäó cacls c:\ /e /r Âñå ÑÎÇÄÀÒÅËÜ-ÂËÀÄÅËÅÖ /p Ïîëüçîâàòåëè:R 1
Äëÿ îáëåã÷åíèÿ ðàçâåðòûâàíèÿ ñèñòåìû ìû ðåêîìåíäóåì âîñïîëüçîâàòüñÿ äèñòðèáóòèâîì äëÿ ìíîãîêðàòíîé óñòàíîâêè (Volume License Media), â êîòîðûé óæå èíòåãðèðîâàí ïàêåò îáíîâëåíèé SP2.
18
Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET Ñ åå ïîìîùüþ èç ñïèñêà ðàçðåøåíèé íà äîñòóï ê êîðíåâîé ïàïêå äèñêà C: áóäóò óäàëåíû çàïèñè äëÿ ñïåöèàëüíûõ ãðóïï Âñå è ÑÎÇÄÀÒÅËÜ-ÂËÀÄÅËÅÖ, à ðàçðåøåíèÿ äëÿ îáû÷íûõ ïîëüçîâàòåëåé ìîäèôèöèðîâàíû òàê, ÷òîáû îíè ìîãëè òîëüêî ÷èòàòü äàííûå èç ýòîé ïàïêè. Âûâîä ñîîáùåíèÿ «îáðàáîòàí êàòàëîã c:\» ñâèäåòåëüñòâóåò îá óñïåøíîì âûïîëíåíèè êîìàíäû. Ïðèìå÷àíèå. Ðàáîòàÿ â ðåæèìå êîìàíäíîé ñòðîêè, íàáèðàéòå êîìàíäû â îäíó ñòðîêó è ñëåäèòå çà òåì, ÷òîáû êëþ÷è è ïàðàìåòðû êîìàíä áûëè îòäåëåíû äðóã îò äðóãà õîòÿ áû îäíèì ïðîáåëîì.
Íàñòðîéêà êâîòèðîâàíèÿ äèñêîâîãî ïðîñòðàíñòâà 1. Çàïóñòèòå ïðîãðàììó Ïðîâîäíèê (Ïóñê-Âñå ïðîãðàììû-Ñòàíäàðòíûå-Ïðîâîäíèê.).
2.  ëåâîé ÷àñòè îêíà ïðîãðàììû ùåëêíèòå ïî çíà÷êó Ìîé êîìïüþòåð,
çàòåì ùåëêíèòå ïðàâîé êíîïêîé ïî çíà÷êó Ëîêàëüíûé äèñê (C:) è âûáåðèòå Ñâîéñòâà.
3. Â äèàëîãîâîì îêíå Ñâîéñòâà: Ëîêàëüíûé äèñê (C:) ïåðåéäèòå íà âêëàäêó Êâîòà.
4. Óñòàíîâèòå ôëàæêè Âêëþ÷èòü óïðàâëåíèå êâîòàìè è Íå âûäåëÿòü
ìåñòî íà äèñêå ïðè ïðåâûøåíèè êâîòû, ïîñëå ýòîãî óñòàíîâèòå ïåðåêëþ÷àòåëü â ïîëîæåíèå Âûäåëÿòü íà äèñêå íå áîëåå è çàäàéòå â ïîëå ñïðàâà îò íåãî îáúåì äèñêîâîãî ïðîñòðàíñòâà, êîòîðûé áóäåò äîñòó1 ïåí êàæäîìó ó÷åíèêó, íàïðèìåð 20 Ìá .
5.  ïîëå Ïîðîã âûäà÷è ïðåäóïðåæäåíèé ââåäèòå íåìíîãî ìåíüøåå çíà÷åíèå, íàïðèìåð 15 Ìá.
6. Ùåëêíèòå ïî êíîïêå Ïðèìåíèòü è ïîäòâåðäèòå âêëþ÷åíèå ñèñòåìû êâîò, ùåëêíóâ ïî êíîïêå OK.
7. ×òîáû êâîòèðîâàíèå äèñêîâîãî ïðîñòðàíñòâà íå çàòðàãèâàëî ïîëüçîâàòåëÿ Àäìèíèñòðàòîð, âûáåðèòå Çàïèñè êâîò, çàòåì â îêíå çàïèñåé êâîò äâàæäû ùåëêíèòå ïî ïóíêòó Àäìèíèñòðàòîð.
 îêíå Ïàðàìåòðû êâîòû äëÿ
óñòàíîâèòå ïåðåêëþ÷àòåëü â ïîëîæåíèå Íå îãðàíè÷èâàòü âûäåëåíèå ìåñòà íà äèñêå è ùåëêíèòå ïî êíîïêå OK. 1
Âûáåðèòå ýòî çíà÷åíèå ñ ó÷åòîì åìêîñòè óñòàíîâëåííûõ íà êîìïüþòåðàõ â êëàññå æåñòêèõ äèñêîâ è ïðåäïîëàãàåìîãî ÷èñëà ó÷åíèêîâ, êîòîðûå áóäóò çàíèìàòüñÿ íà ýòèõ êîìïüþòåðàõ.
5. Ïîäãîòîâêà ó÷åáíîãî êëàññà ê çàíÿòèÿì
19
8. Çàêðîéòå îêíî ñ çàïèñÿìè êâîò, ïîñëå ÷åãî ùåëêíèòå ïî êíîïêå OK â îêíå ñâîéñòâ äèñêà C:.
9. Íå çàêðûâàéòå îêíî ïðîãðàììû Ïðîâîäíèê. Êîïèðîâàíèå ôàéëîâ ñ ïðèìåðàìè 1. Âñòàâüòå êîìïàêò-äèñê Microsoft-CD â äèñêîâîä. 2. Ïåðåòàùèòå ïàïêó PRACTICUM â êîðíåâóþ ïàïêó äèñêà C:. 3. Äîæäèòåñü çàâåðøåíèÿ îïåðàöèè êîïèðîâàíèÿ, ïîñëå ÷åãî ñ ïîìî-
ùüþ ïðîãðàììû ATTRIB ñíèìèòå óñòàíîâëåííûå äëÿ ñêîïèðîâàííûõ ôàéëîâ è ïàïîê àòðèáóòû Òîëüêî äëÿ ÷òåíèÿ è Ñêðûòûé. Äëÿ ýòîãî â ðàíåå îòêðûòîì îêíå êîìàíäíîé ñòðîêè ïîäàéòå êîìàíäó: attrib –r –h c:\practicum\* /s Ïðèìå÷àíèå. Äàæå ïîñëå ýòîãî ñêîïèðîâàííûå àäìèíèñòðàòîðîì ôàéëû ïðèìåðîâ áóäóò äîñòóïíû îáû÷íûì ïîëüçîâàòåëÿì êîìïüþòåðà òîëüêî äëÿ ÷òåíèÿ. Ïîýòîìó ïîêàæèòå ó÷åíèêàì, êàê êîïèðîâàòü ýòè ôàéëû èç ïàïêè PRACTICUM â ïàïêó, íà êîòîðóþ ó íèõ åñòü ðàçðåøåíèå íà çàïèñü.
4. Çàêðîéòå âñå îòêðûòûå íà ýêðàíå îêíà ïðîãðàìì.
Óñòàíîâêà Visual Basic .NET 2003 Äèñòðèáóòèâ ëîêàëèçîâàííîé ðóññêîé âåðñèè Visual Basic .NET 2003 ïîñòàâëÿåòñÿ íà ïÿòè êîìïàêò-äèñêàõ:
1
1
q
ñîáñòâåííî Visual Basic .NET 2003 Standard,
q
äèñê ñ íåîáõîäèìûì äëÿ óñòàíîâêè äîïîëíèòåëüíûì ïðîãðàììíûì îáåñïå÷åíèåì (Visual Basic .NET 2003 Prerequisites),
q
òðè äèñêà ñ ïåðåâåäåííîé íà ðóññêèé ÿçûê ñïðàâî÷íîé äîêóìåíòàöèåé (áèáëèîòåêà MSDN).
Ýòó âåðñèþ êîìïàíèÿ Ìàéêðîñîôò ïðåäëàãàåò äëÿ ó÷åáíûõ çàâåäåíèé ïî ñïåöèàëüíûì íèçêèì öåíàì è ñ ðàñøèðåííûìè óñëîâèÿìè ïî èñïîëüçîâàíèþ ñïåöèàëüíàÿ ïðîãðàììà ëèöåíçèðîâàíèÿ äëÿ ñðåäíèõ ó÷åáíûõ çàâåäåíèé: http://www.microsoft.com/Rus/Licensing/Volume/Academic/PilSa.mspx
20
Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET ×òîáû óñòàíîâèòü Visual Basic .NET 2003 íà êîìïüþòåðå ñ îïåðàöèîííîé ñèñòåìîé Windows XP Professional, ïðîäåëàéòå ñëåäóþùåå:
1. Âñòàâüòå ïåðâûé èç ïåðå÷èñëåííûõ âûøå êîìïàêò-äèñêîâ â äèñêî-
âîä. Ïðè ýòîì äîëæíà àâòîìàòè÷åñêè çàïóñòèòüñÿ ïðîãðàììà óñòàíîâêè. Åñëè ýòîãî ïî êàêèì-òî ïðè÷èíàì íå ïðîèçîéäåò, çàïóñòèòå ïðîãðàììó SETUP.EXE èç êîðíåâîé ïàïêè êîìïàêò-äèñêà.
2. Â îêíå Visual Basic .NET Óñòàíîâêà âûáåðèòå Ïîäãîòîâêà ñèñòåìû äëÿ Visual Studio .NET (øàã 1).
3. Ïîñêîëüêó øêîëüíûé êóðñ íå ïðåäïîëàãàåò ñîçäàíèÿ âåá-ïðèëîæåíèé, ùåëêíèòå ïî êíîïêå Ïðîïóñòèòü â îêíå Òðåáîâàíèÿ äëÿ âåá-ïðîåêòîâ. Íà ýêðàíå ïîÿâèòñÿ äèàëîãîâîå îêíî Âñòàâêà äèñêà.
4. Âñòàâüòå â äèñêîâîä ñëåäóþùèé èç óïîìÿíóòûõ âûøå êîìïàêò-äèñêîâ è ùåëêíèòå ïî êíîïêå OK.
5. Íà ñòðàíèöå Ëèöåíçèîííîå ñîãëàøåíèå óñòàíîâèòå ïåðåêëþ÷àòåëü â ïîëîæåíèå Ïðèíèìàþ, çàòåì ùåëêíèòå ïî êíîïêå Ïðîäîëæèòü.
6. Íà ñëåäóþùåé ñòðàíèöå ñî ñïèñêîì íåîáõîäèìûõ äëÿ Visual Studio .NET êîìïîíåíòîâ âûáåðèòå Óñòàíîâèòü ñåé÷àñ è äîæäèòåñü, êîãäà ýòè êîìïîíåíòû áóäóò ïîëíîñòüþ óñòàíîâëåíû. Çàòåì ùåëêíèòå ïî êíîïêå Ãîòîâî.
7. Âî âíîâü ïîÿâèâøåìñÿ îêíå Visual Basic .NET Óñòàíîâêà âûáåðèòå Visual Basic .NET (øàã 2). Çàòåì âñòàâüòå â äèñêîâîä ïåðâûé êîìïàêò-äèñê è ùåëêíèòå ïî êíîïêå OK â îêíå Âñòàâêà äèñêà.
8. Íà ñòðàíèöå Íà÷àëî óñòàíîâèòå ïåðåêëþ÷àòåëü â ïîëîæåíèå Ïðèíèìàþ, ââåäèòå â ïîëå Êëþ÷ ïðîäóêòà 25-ñèìâîëüíûé êëþ÷, ïîñëå ÷åãî ùåëêíèòå ïî êíîïêå Ïðîäîëæèòü.
9. Íà ñòðàíèöå Ïàðàìåòðû îñòàâüòå âñå óñòàíîâëåííûå ïî óìîë÷àíèþ
ôëàæêè è ùåëêíèòå ïî êíîïêå Óñòàíîâèòü. Íà÷íåòñÿ ïðîöåññ óñòàíîâêè âñåõ êîìïîíåíòîâ Visual Basic .NET 2003, êîòîðûé ìîæåò çàíÿòü äîâîëüíî ïðîäîëæèòåëüíîå âðåìÿ. Ïîñëå çàâåðøåíèÿ óñòàíîâêè ùåëêíèòå ïî êíîïêå Ãîòîâî.
10. Âî âíîâü ïîÿâèâøåìñÿ îêíå Visual Basic .NET Óñòàíîâêà âûáåðèòå Äîêóìåíòàöèÿ ïðîäóêòà (øàã 3).
11. Âñòàâüòå â äèñêîâîä ïåðâûé êîìïàêò-äèñê áèáëèîòåêè MSDN è ùåë-
êíèòå ïî êíîïêå OK â îêíå Âñòàâêà äèñêà. Çàïóñòèòñÿ ìàñòåð óñòàíîâêè áèáëèîòåêè MSDN íà ðóññêîì ÿçûêå.
5. Ïîäãîòîâêà ó÷åáíîãî êëàññà ê çàíÿòèÿì
21
12. Íà ñòðàíèöå Äîáðî ïîæàëîâàòü ùåëêíèòå ïî êíîïêå Äàëåå. 13. Íà ñòðàíèöå Ëèöåíçèîííîå ñîãëàøåíèå óñòàíîâèòå ïåðåêëþ÷àòåëü â ïîëîæåíèå ß ïðèíèìàþ óñëîâèÿ ëèöåíçèîííîãî ñîãëàøåíèÿ, çàòåì ùåëêíèòå ïî êíîïêå Äàëåå.
14. Íà ñòðàíèöå Ñâåäåíèÿ î ïîëüçîâàòåëå ùåëêíèòå ïî êíîïêå Äàëåå. 15. Íà ñòðàíèöå Âûáåðèòå âàðèàíò óñòàíîâêè óñòàíîâèòå ïåðåêëþ÷àòåëü â ïîëîæåíèå Îáû÷íûé, ïîñëå ÷åãî ùåëêíèòå ïî êíîïêå Äàëåå.
16. Íà ñòðàíèöå Êîíå÷íàÿ ïàïêà îñòàâüòå âûáðàííóþ ïî óìîë÷àíèþ ïàïêó äëÿ óñòàíîâêè è ùåëêíèòå ïî êíîïêå Äàëåå.
17. Íà ñòðàíèöå Âñå ãîòîâî äëÿ óñòàíîâêè ïðîãðàììû ùåëêíèòå ïî êíîïêå Óñòàíîâèòü, ÷òîáû íà÷àòü óñòàíîâêó áèáëèîòåêè MSDN. Çàìåíÿéòå êîìïàêò-äèñêè â äèñêîâîäå ïî ìåðå íåîáõîäèìîñòè.
18. Êîãäà óñòàíîâêà áóäåò çàâåðøåíà, ùåëêíèòå ïî êíîïêå Ãîòîâî. 19. Íà ýêðàíå âíîâü ïîÿâèòñÿ îêíî Visual Basic .NET Óñòàíîâêà. Åñëè â âàøåì äèñòðèáóòèâå åñòü äîïîëíèòåëüíûé êîìïàêò-äèñê ñ èñïðàâëåíèÿìè äëÿ Visual Studio .NET 2003, ùåëêíèòå ïî êíîïêå Íàáîðû èñïðàâëåíèé (øàã 4), à çàòåì ïî ïóíêòó Óñòàíîâêà íàáîðà èñïðàâëåíèé ñ äèñêà è ñëåäóéòå óêàçàíèÿì ïðîãðàììû.
20. Åñëè äèñêà ñ èñïðàâëåíèÿìè íåò, çàâåðøèòå ïðîöåäóðó óñòàíîâêè, ùåëêíóâ ïî êíîïêå Âûõîä.
Ïðîâåðêà ðàáîòû Visual Basic .NET 2003 ×òîáû ïðîâåðèòü ðàáîòó Visual Basic .NET 2003, ïîïðîáóéòå ñîçäàòü â ýòîé ñèñòåìå ïðîãðàììó è çàïóñòèòü åå. Ïîñêîëüêó ðàçðàáîòêà Windows-ïðèëîæåíèé ïîäðîáíî îáñóæäàåòñÿ â ó÷åáíîì ïîñîáèè, ïîïðîáóéòå äëÿ ðàçíîîáðàçèÿ ñîçäàòü êîíñîëüíîå ïðèëîæåíèå (èëè ïðîãðàììó êîìàíäíîé ñòðîêè). Äëÿ ýòîãî:
1. Çàïóñòèòå Visual Studio .NET 2003 (Ïóñê-Âñå ïðîãðàììû-Microsoft
Visual Studio .NET 2003-Microsoft Visual Studio .NET 2003), íà íà÷àëüíîé ñòðàíèöå ïåðåêëþ÷èòåñü íà âêëàäêó Ïðîåêòû è âûáåðèòå Ñîçäàòü ïðîåêò.
2. Â äèàëîãîâîì îêíå Ñîçäàòü ïðîåêò â ïîëå Øàáëîíû âûäåëèòå Êîíñîëü-
íîå ïðèëîæåíèå, ïîñëå ÷åãî ââåäèòå òåêñò «HelloWorld» â ïîëå Èìÿ (ðèñ. 3). Îáðàòèòå âíèìàíèå, â êàêîé ïàïêå ïî óìîë÷àíèþ ñîçäàþòñÿ ïðîåêòû â ñèñòåìå Visual Studio .NET 2003 (ïîëå Ðàñïîëîæåíèå).
22
Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET
Ðèñ. 3
3. Ùåëêíèòå ïî êíîïêå OK. Ïîñëå ýòîãî áóäåò ñîçäàí íîâûé ïðîãðàììíûé ïðîåêò, è íà ýêðàíå îòêðîåòñÿ îêíî ðåäàêòèðîâàíèÿ òåêñòà ïðîãðàììû (Module1.vb).
4. Íàáåðèòå â ýòîì îêíå ïðèâåäåííûå íèæå ñòðîêè (óäàëèâ èëè èçìåíèâ óæå èìåþùèåñÿ):
Class ClassHW ReadOnly Property Message() As String Get Return Ïðèâåò, Ìèð! End Get End Property End Class
5. Ïîäãîòîâêà ó÷åáíîãî êëàññà ê çàíÿòèÿì
23
Module Module1 Sub Main() Dim ObjHW As New ClassHW System.Console.WriteLine(ObjHW.Message()) End Sub End Module
5. Íàæìèòå êîìáèíàöèþ êëàâèø Ctrl+F5, ÷òîáû îòêîìïèëèðîâàòü ïðîãðàììó, à çàòåì çàïóñòèòü åå áåç îòëàäêè.
6. Åñëè òåêñò ïðîãðàììû áûë íàáðàí ïðàâèëüíî, òî ÷åðåç íåêîòîðîå âðåìÿ íà ýêðàíå ïîÿâèòñÿ îêíî êîíñîëüíîãî ïðèëîæåíèÿ, â êîòîðîì âû óâèäèòå ñòðîêó «Ïðèâåò, Ìèð!» (ðèñ. 4).
Ðèñ. 4
7. Çàêðîéòå Visual Studio .NET. Ñ ó÷åòîì òîãî, ÷òî âû ðàíåå ïðî÷èòàëè ïðî îáúåêòíî-îðèåíòèðîâàííîå ïðîãðàììèðîâàíèå, ïðîêîììåíòèðóåì ïðèâåäåííûé âûøå òåêñò ïðîãðàììû.  åå íà÷àëå (îò îïåðàòîðà Class äî îïåðàòîðà End Class âêëþ÷èòåëüíî) îïðåäåëÿåòñÿ êëàññ ñ íàçâàíèåì ClassHW. Äëÿ íåãî çàäàåòñÿ îäíî-åäèíñòâåííîå ñâîéñòâî, íàçâàííîå Message. Ýòî ñâîéñòâî ñòðîêà ñèìâîëîâ «Ïðèâåò, Ìèð!» (ñëîâî ReadOnly óêàçûâàåò, ÷òî ýòî ñâîéñòâî íåèçìåíÿåìîå). Íèêàêèå ìåòîäû, îïðåäåëÿþùèå «ïîâåäåíèå» êëàññà, â ïðîãðàììå íå çàäàþòñÿ.
24
Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET  îñòàâøåéñÿ ÷àñòè òåêñòà ïðîãðàììû (íà÷èíàÿ ñî ñòðîêè Module Module1) óêàçûâàåòñÿ, ÷òî áóäåò ïðîèñõîäèòü ïðè åå âûïîëíåíèè. Ñíà÷àëà (îïåðàòîð Dim) áóäåò ñîçäàí îáúåêò ñ èìåíåì ObjHW, êîòîðûé ïîëó÷èò âñå ñâîéñòâà êëàññà ClassHW. Çàòåì ñ ïîìîùüþ êîíñòðóêöèè System.Console.WriteLine(ObjHW.Message()) áóäåò âûçâàí ìåòîä WriteLine êëàññà Console, êîòîðûé â .NET Framework îïðåäåëåí â ïðîñòðàíñòâå èìåí System. Ýòîìó ìåòîäó â êà÷åñòâå ïàðàìåòðà áóäåò ïåðåäàíî òåêóùåå çíà÷åíèå ñâîéñòâà Message îáúåêòà ObjHW (îáîçíà÷àåòñÿ êàê ObjHW.Message()). Âûçîâ ìåòîäà WriteLine èñïîëüçóåòñÿ äëÿ âûâîäà èíôîðìàöèè â êîíñîëüíûõ ïðèëîæåíèÿõ. Ïîýòîìó ðåçóëüòàòîì ðàáîòû ïðîãðàììû áóäåò âûâîä ñòðîêè «Ïðèâåò, Ìèð!» â îêíå êîìàíäíîé ñòðîêè. Ýòî îêíî áóäåò íàõîäèòüñÿ íà ýêðàíå äî òåõ ïîð, ïîêà âû íå íàæìåòå ëþáóþ êëàâèøó íà êëàâèàòóðå.
Ñîçäàíèå ó÷åòíûõ çàïèñåé äëÿ ó÷åíèêîâ Ïðè ïðîâåäåíèè çàíÿòèé ïî êóðñó «Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET» ó÷àùèåñÿ, ðàáîòàÿ íà êîìïüþòåðàõ â êëàññå, äîëæíû âûïîëíÿòü ïðàêòè÷åñêèå çàäàíèÿ. Ðàçðåøàòü èì ðàáîòàòü îò èìåíè ïîëüçîâàòåëÿ Àäìèíèñòðàòîð, îáëàäàþùåãî â ñèñòåìå Windows XP Pro1 fessional íåîãðàíè÷åííûìè ïîëíîìî÷èÿìè, ñëèøêîì ðèñêîâàííî. Ïîýòîìó ìû ðàññìîòðèì ïðîöåäóðó ñîçäàíèÿ äëÿ ó÷åíèêîâ ó÷åòíûõ çàïèñåé ïîëüçîâàòåëåé (user accounts), íå ÿâëÿþùèõñÿ àäìèíèñòðàòîðàìè êîìïüþòåðà, íî èìåþùèõ âîçìîæíîñòü ðàáîòàòü â ñðåäå Visual Basic .NET. Âû ìîæåòå ñîçäàòü òàêèå ó÷åòíûå çàïèñè äëÿ êàæäîãî èç íèõ ëèáî îáîéòèñü îäíîé-åäèíñòâåííîé äëÿ âñåõ. ×òîáû ñîçäàòü ó÷åòíóþ çàïèñü ïîëüçîâàòåëÿ â ñèñòåìå Windows XP Professional, ìîæíî âîñïîëüçîâàòüñÿ îñíàñòêîé Ëîêàëüíûå ïîëüçîâàòåëè è ãðóïïû â ïðîãðàììå Óïðàâëåíèå êîìïüþòåðîì. Íî åñëè âû õîòèòå ìàêñèìàëüíî àâòîìàòèçèðîâàòü ýòîò ïðîöåññ, ëó÷øå çàäåéñòâîâàòü ïðîãðàììû êîìàíäíîé ñòðîêè è ñîçäàòü êîìàíäíûé ôàéë, êîòîðûé ìîæíî áóäåò ïîâòîðíî èñïîëüçîâàòü â äàëüíåéøåì. ×òîáû ñîçäàòü òàêîé ôàéë, à çàòåì ñ åãî ïîìîùüþ ïðîáíóþ ó÷åòíóþ çàïèñü ïîëüçîâàòåëÿ, âûïîëíèòå ñëåäóþùåå: 1
Êàê, âïðî÷åì, è â äðóãèõ íåîáõîäèìûõ äëÿ óñòàíîâêè Visual Basic .NET 2003 èëè Visual Basic 2005 Express Edition îïåðàöèîííûõ ñèñòåìàõ (ñì. ðàçäåë «Ñèñòåìíûå òðåáîâàíèÿ»).
5. Ïîäãîòîâêà ó÷åáíîãî êëàññà ê çàíÿòèÿì
25
1. Ðàáîòàÿ íà êîìïüþòåðå îò èìåíè Àäìèíèñòðàòîðà, îòêðîéòå îêíî êîìàíäíîé ñòðîêè (Ïóñê-Âñå ïðîãðàììû-Ñòàíäàðòíûå-Êîìàíäíàÿ ñòðîêà).
2. Ïîñëåäîâàòåëüíî âûïîëíèòå ñëåäóþùèå êîìàíäû 1: echo NET USER %1 %2 /ADD /FULLNAME:%3 >newuser.cmd echo NET LOCALGROUP "Ïîëüçîâàòåëè îòëàä÷èêà %1 /ADD >>newuser.cmd
3. Çàòåì ïîäàéòå êîìàíäó newuser student Extybr Ó÷åíèê â êëàññå è óáåäèòåñü, ÷òî â îáîèõ ñëó÷àÿõ êîìàíäà NET áûëà âûïîëíåíà óñïåøíî. Ñ åå ïîìîùüþ íà êîìïüþòåðå áóäåò ñîçäàíà íîâàÿ ó÷åòíàÿ çàïèñü ïîëüçîâàòåëÿ ñ èìåíåì student è ïàðîëåì äëÿ âõîäà â ñèñòåìó Extybr (ëó÷øå çàäàòü áîëåå ñëîæíûé ïàðîëü). Êðîìå òîãî, ýòà ó÷åòíàÿ çàïèñü áóäåò äîáàâëåíà â ãðóïïó Ïîëüçîâàòåëè îòëàä÷èêà. Ïîñëåäíåå íåîáõîäèìî äëÿ òîãî, ÷òîáû ïîëüçîâàòåëü èìåë âîçìîæíîñòü âûïîëíÿòü îòëàäêó ñîçäàâàåìûõ â ñèñòåìå Visual Studio .NET 2003 ïðèëîæåíèé.
4. Âûéäèòå èç ñèñòåìû, à çàòåì ñíîâà âîéäèòå â íåå êàê ó÷åíèê. Çàïóñ-
òèòå Visual Studio .NET 2003 è óáåäèòåñü, ÷òî ó âàñ åñòü âîçìîæíîñòü ñîçäàâàòü è çàïóñêàòü ïðîãðàììû â ýòîé ñèñòåìå.
Êîìàíäíûé ôàéë newuser.cmd îáëåã÷èò ïðîöåäóðó ñîçäàíèÿ èíäèâèäóàëüíûõ ó÷åòíûõ çàïèñåé äëÿ ó÷àùèõñÿ, åñëè âû ðåøèòå îñòàíîâèòüñÿ íà ýòîì âàðèàíòå. Îïèñàííûì âûøå ñïîñîáîì ïîäãîòîâüòå è âñå îñòàëüíûå êîìïüþòåðû â êëàññå 2.
Óñòàíîâêà è èñïîëüçîâàíèå Visual Basic 2005 Express Edition Åñëè ïðè ïîäãîòîâêå êîìïüþòåðîâ êëàññà ê çàíÿòèÿì âû íå ìîæåòå èñïîëüçîâàòü âåðñèþ Visual Basic .NET 2003, âîñïîëüçóéòåñü äèñòðèáóòè1 2
Ïîäðîáíûå ñâåäåíèÿ îá ýòèõ è äðóãèõ êîìàíäàõ ïðèâåäåíû â èìåþùåìñÿ â Windows XP Ñïðàâî÷íèêå ïî êîìàíäíîé ñòðîêå. Îòêðûòü åãî ìîæíî ñ ïîìîùüþ êîìàíäû hh ntcmds.chm Äëÿ óïðîùåíèÿ ïîäãîòîâêè ìîæíî âîñïîëüçîâàòüñÿ ðàçëè÷íûìè ñïîñîáàìè êëîíèðîâàíèÿ îáðàçà æåñòêîãî äèñêà óæå ïîäãîòîâëåííîãî êîìïüþòåðà íàïðèìåð, èñïîëüçîâàòü ñïåöèàëüíûå ïðîäóêòû (ñì. Altiris Deployment Solution (http://www.altiris.com), Symantec Ghost (http://www.symantec.com è äð.).
26
Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET âîì Visual Basic 2005 Express Edition, êîòîðûé íàõîäèòñÿ â ïàïêå PROGRAM íà êîìïàêò-äèñêå Microsoft-CD. Ïðè ýòîì ñëåäóåò ó÷åñòü, ÷òî: q
äàííûé âàðèàíò Visual Basic íå ëîêàëèçîâàí äëÿ Ðîññèè, ïîýòîìó, ðàáîòàÿ ñ íèì, ó÷åíèêè äîëæíû óìåòü îðèåíòèðîâàòüñÿ â àíãëîÿçû÷íûõ íàçâàíèÿõ ïóíêòîâ ìåíþ, äèàëîãîâûõ îêîí è ò. ä. Êðîìå òîãî, åñëè èñïîëüçîâàòü ñòàíäàðòíûå äëÿ ëîêàëèçîâàííîé ðóññêîé âåðñèè Windows XP Professional ðåãèîíàëüíûå óñòàíîâêè, â ïðîöåññå ðàáîòû ñ Visual Basic 2005 Express Edition ìîãóò âîçíèêíóòü ïðîáëåìû 1;
q
ïîñòàâëÿåìàÿ ñ ýòîé âåðñèåé ýëåêòðîííàÿ äîêóìåíòàöèÿ íå ïåðåâåäåíà íà ðóññêèé ÿçûê, ÷òî çàòðóäíÿåò åå èñïîëüçîâàíèå â õîäå çàíÿòèé;
q
âñå íàõîäÿùèåñÿ íà êîìïàêò-äèñêå ôàéëû ãîòîâûõ ïðîåêòîâ ïîäãîòîâëåíû â ñèñòåìå Visual Basic .NET 2003. ×òîáû èñïîëüçîâàòü ýòè ôàéëû ïðè ðàáîòå ñ âåðñèåé 2005, íàäî ñíà÷àëà ïðåîáðàçîâàòü èõ â íîâûé 2 ôîðìàò .
×òîáû óñòàíîâèòü Visual Basic 2005 Express Edition (â ïðåäïîëîæåíèè, ÷òî âû óæå óñòàíîâèëè è íàñòðîèëè Windows XP Professional òàê, êàê îïèñàíî âûøå), ïðîäåëàéòå ñëåäóþùåå:
1. Ðàáîòàÿ íà êîìïüþòåðå îò èìåíè Àäìèíèñòðàòîðà, âñòàâüòå êîìïàêò-äèñê Microsoft-CD â äèñêîâîä.
2. Îòêðîéòå íà êîìïàêò-äèñêå ïàïêó PROGRAM\VisualBasic, à çàòåì äâîéíûì
ùåë÷êîì
çàïóñòèòå
íà
âûïîëíåíèå
ïðîãðàììó
DOTNETFX.EXE. Îòêðîåòñÿ äèàëîãîâîå îêíî ïðîãðàììû óñòàíîâêè
.NET Framework 2.0.
3. Â ýòîì îêíå ùåëêíèòå ïî êíîïêå Äàëåå, íà ñëåäóþùåé ñòðàíèöå óñòàíîâèòå ôëàæîê ß ïðèíèìàþ óñëîâèÿ ëèöåíçèîííîãî ñîãëàøåíèÿ è ùåëêíèòå ïî êíîïêå Óñòàíîâèòü.
4. Êîãäà óñòàíîâêà áóäåò çàâåðøåíà, ùåëêíèòå ïî êíîïêå Ãîòîâî. 1 2
 ÷àñòíîñòè, â êà÷åñòâå ðàçäåëèòåëÿ öåëîé è äðîáíîé ÷àñòè ÷èñåë âìåñòî çàïÿòîé íóæíî èñïîëüçîâàòü òî÷êó. Ìàñòåð îáíîâëåíèÿ àâòîìàòè÷åñêè çàïóñòèòñÿ â ñèñòåìå Visual Basic 2005 Express Edition ïðè ïîïûòêå îòêðûòü ôàéë, ñîçäàííûé â îäíîé èç ïðåäûäóùèõ âåðñèé. Äëÿ ñïðàâêè. Ýòîò æå ìàñòåð èñïîëüçóåòñÿ äëÿ ïðåîáðàçîâàíèÿ ïðîåêòîâ áîëåå ðàííèõ âåðñèé ÿçûêà (VB 5.0 CCE, Visual Basic 6.0) â ïðîåêòû íà Visual Basic .NET. ×òîáû ïðåîáðàçîâàòü ïðîåêò, íåîáõîäèìî ââåñòè êîìàíäó [File-Open-Project
], íàéòè â ïàïêå ïðîåêòà íà ÿçûêå Visual Basic 5.0 èëè 6.0 ôàéë ñ ðàñøèðåíèåì vbp, à â ïàïêå ïðîåêòà íà ÿçûêå Visual Basic .NET 2003 ôàéë ñ ðàñøèðåíèåì vbproj, è ñëåäîâàòü óêàçàíèÿì â äèàëîãîâûõ îêíàõ ìàñòåðîâ.
5. Ïîäãîòîâêà ó÷åáíîãî êëàññà ê çàíÿòèÿì
27
5. Äâàæäû
ùåëêíèòå ïî íàçâàíèþ ôàéëà IXPVB.EXE (ïàïêà PROGRAM\VisualBasic). Çàïóñòèòñÿ ïðîãðàììà óñòàíîâêè Visual Basic 2005 Express Edition.
6. Åñëè â õîäå åå ðàáîòû íà ýêðàíå áóäóò ïîÿâëÿòüñÿ äèàëîãîâûå îêíà ñ ñîîáùåíèåì îá îøèáêå («Source file not found»), ïðîñòî ùåëêàéòå ïî êíîïêå Ignore, ÷òîáû ïðîäîëæèòü ïðîöåññ óñòàíîâêè.
7. Ïîñëå òîãî êàê óñòàíîâêà çàâåðøèòñÿ, çàïóñòèòå ïðîãðàììó MSDNIXP.EXE (ïàïêà PROGRAM\VisualBasic). Íà ýêðàíå ïîÿâèòñÿ îêíî
ïðîãðàììû óñòàíîâêè óñå÷åííîãî âàðèàíòà áèáëèîòåêè MSDN.
8. Â ýòîì îêíå ùåëêíèòå ïî êíîïêå Next, íà ñëåäóþùåé ñòðàíèöå óñòàíîâèòå ôëàæîê I accept the terms of the License Agreement è ùåëêíèòå ïî êíîïêå Install.
9. Ùåëêíèòå ïî êíîïêå Finish, êîãäà óñòàíîâêà çàâåðøèòñÿ. Àíàëîãè÷íî òîìó, êàê áûëî îïèñàíî â ðàçäåëå «Ïðîâåðêà ðàáîòû Visual Basic .NET 2003», ïðîâåðüòå âîçìîæíîñòü ñîçäàíèÿ ïðèëîæåíèé â ñèñòåìå Visual Basic 2005 Express Edition. Ïîïðîáóéòå â ýòîé ñèñòåìå îòêðûòü ôàéë ïðîåêòà èëè ðåøåíèÿ èç ïàïêè PRACTICUM è îçíàêîìüòåñü ñ ïðîöåäóðîé ïðåîáðàçîâàíèÿ ýòèõ ôàéëîâ â íîâûé ôîðìàò.
Äîïîëíèòåëüíûå ìàòåðèàëû äëÿ ïîäãîòîâêè êëàññà Íà êîìïàêò-äèñêå Microsoft-CD èìåþòñÿ ôàéëû ñ òàáëèöàìè, áëîê-ñõåìàìè è äðóãîé ñïðàâî÷íîé èíôîðìàöèåé, êîòîðàÿ ìîæåò îêàçàòüñÿ ïîëåçíîé ó÷àùèìñÿ âî âðåìÿ çàíÿòèé ïî êóðñó «Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET». Âû íàéäåòå ôàéëû òàáëèö â ïàïêå PLACAT. Îïðåäåëèòåñü, áóäåòå ëè âû èñïîëüçîâàòü òàáëèöû â ó÷åáíîì ïðîöåññå. Åñëè äà, òî èõ èìååò ñìûñë ðàñïå÷àòàòü íà ïðèíòåðå (ëó÷øå â ôîðìàòå À3) è âûâåñèòü â òîì êëàññå, ãäå áóäóò ïðîõîäèòü çàíÿòèÿ ïî êóðñó.
28
Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET
6. Ðåêîìåíäàöèè ïî ïðåïîäàâàíèþ êóðñà «Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET» Ïîÿñíèòåëüíàÿ çàïèñêà  íîâîì îáðàçîâàòåëüíîì ñòàíäàðòå íà òðåòüåé ñòóïåíè îáùåãî îáðàçîâàíèÿ, ò. å. â ñòàðøåé øêîëå (1011 êëàññû), ïðåäóñìîòðåíî èçó÷åíèå ýëåêòèâíûõ êóðñîâ. Äàííûé êóðñ ìîæíî ïðåïîäàâàòü â êà÷åñòâå ýëåêòèâíîãî. Êëàññû: 10 èëè 11. Êîëè÷åñòâî ÷àñîâ: 68 (46 ÷àñîâ â óðî÷íîé ôîðìå, 22 âî âíåóðî÷íîé). Ïðîôèëè: åñòåñòâåííî-ìàòåìàòè÷åñêèé è èíôîðìàöèîííî-òåõíîëîãè÷åñêèé. Öåëü êóðñà: íàó÷èòü ó÷àùèõñÿ îñíîâàì îáúåêòíî-îðèåíòèðîâàííîãî ïðîãðàììèðîâàíèÿ ñ èñïîëüçîâàíèåì ñèñòåìû ïðîãðàììèðîâàíèÿ Visual Basic .NET. Êîìïüþòåðíûé ïðàêòèêóì. Ðàçðàáîòêà êàæäîãî ïðîåêòà ðåàëèçóåòñÿ â ôîðìå âûïîëíåíèÿ ïðàêòè÷åñêîé ðàáîòû íà êîìïüþòåðå (êîìïüþòåðíûé ïðàêòèêóì).  ó÷åáíîì ïîñîáèè ñîäåðæàòñÿ ïîäðîáíûå óêàçàíèÿ ïî ïîñòðîåíèþ êîìïüþòåðíûõ ìîäåëåé è èõ ðåàëèçàöèè â ôîðìå ïðîåêòîâ íà ÿçûêàõ ïðîãðàììèðîâàíèÿ è â ýëåêòðîííûõ òàáëèöàõ. Êðîìå ðàçðàáîòêè ïðîåêòîâ ïîä ðóêîâîäñòâîì ó÷èòåëÿ ó÷àùèìñÿ ïðåäëàãàþòñÿ ïðàêòè÷åñêèå çàäàíèÿ äëÿ ñàìîñòîÿòåëüíîãî âûïîëíåíèÿ.  ó÷åáíîì ïîñîáèè ñîäåðæàòñÿ óêàçàíèÿ ïî èõ âûïîëíåíèþ, à íà Microsoft-CD õðàíÿòñÿ ãîòîâûå ïðîåêòû íà ÿçûêå îáúåêòíî-îðèåíòèðîâàííîãî ïðîãðàììèðîâàíèÿ Visual Basic. Ìåòîä îáó÷åíèÿ. Îñíîâíûì ìåòîäîì îáó÷åíèÿ â äàííîì êóðñå ÿâëÿåòñÿ ìåòîä ïðîåêòîâ. Ïðîåêòíàÿ äåÿòåëüíîñòü ïîçâîëÿåò ðàçâèòü èññëåäîâàòåëüñêèå è òâîð÷åñêèå ñïîñîáíîñòè ó÷àùèõñÿ.  ïðîöåññå îáó÷åíèÿ ó÷èòåëü êðàòêî îáúÿñíÿåò íîâûé ìàòåðèàë è ñòàâèò çàäà÷è, à çàòåì êîíñóëüòèðóåò ó÷àùèõñÿ â ïðîöåññå ðåøåíèÿ ýòèõ çàäà÷. Ó÷àùèåñÿ ðåøàþò çàäà÷è, â îñíîâíîì ïðàêòè÷åñêèå, ðåàëèçóÿ ïðîåêòû ïî ñîçäàíèþ ïðèëîæåíèé íà êîìïüþòåðå (êîìïüþòåðíûé ïðàêòèêóì). Ïîäðîáíûå óêàçàíèÿ ïî ïîñòðîåíèþ êîìïüþòåðíûõ ìîäåëåé è èõ ðåàëèçàöèè â ôîðìå ïðîåêòîâ íà ÿçûêå ïðîãðàììèðîâàíèÿ Visual Basic .NET ñîäåðæàòñÿ â ó÷åáíîì ïîñîáèè ê êóðñó.
6. Ðåêîìåíäàöèè ïî êóðñó «Ïðîãðàììèðîâàíèå íà Visual Basic .NET»
29
Èíäèâèäóàëèçàöèÿ îáó÷åíèÿ.  ó÷åáíîì ïîñîáèè èìåþòñÿ çàäàíèÿ (âñåãî èõ 63) ðàçíîãî óðîâíÿ ñëîæíîñòè. Ýòî ïîçâîëÿåò ó÷èòåëþ ïîñòðîèòü äëÿ êàæäîãî ó÷àùåãîñÿ èíäèâèäóàëüíóþ îáðàçîâàòåëüíóþ òðàåêòîðèþ. Êîíòðîëü çíàíèé è óìåíèé. Òåêóùèé êîíòðîëü óðîâíÿ óñâîåíèÿ ìàòåðèàëà äîëæåí îñóùåñòâëÿòüñÿ, â îñíîâíîì, ïî ðåçóëüòàòàì âûïîëíåíèÿ ó÷àùèìèñÿ ïðàêòè÷åñêèõ çàäàíèé íà êîìïüþòåðå. Äëÿ ãðóáîé îöåíêè ìîæíî âîñïîëüçîâàòüñÿ ðåçóëüòàòàìè îòâåòîâ íà âîïðîñû òåñòîâ, ïðèâåäåííûõ â êîíöå êàæäîé ãëàâû ó÷åáíîãî ïîñîáèÿ (îòâåòèòü íà ýòè æå âîïðîñû ìîæíî ñ ïîìîùüþ èíòåðàêòèâíûõ âåá-ñòðàíèö, äîñòóïíûõ íà Microsoft-CD). Èòîãîâûé êîíòðîëü îñóùåñòâëÿåòñÿ ïî ðåçóëüòàòàì çàùèòû èòîãîâûõ ïðîåêòîâ.  íà÷àëå êóðñà êàæäîìó ó÷àùåìóñÿ íóæíî ïðåäëîæèòü â òå÷åíèå âñåãî âðåìåíè èçó÷åíèÿ êóðñà ðàçðàáîòàòü ïðîåêò äëÿ ðåøåíèÿ íåêîòîðîé çàäà÷è.  ïðîöåññå çàùèòû ó÷àùèéñÿ äîëæåí ïðåäñòàâèòü ðàáîòàþùóþ êîìïüþòåðíóþ ïðîãðàììó, êîòîðàÿ ðåøàåò ïîñòàâëåííóþ ïåðåä íèì çàäà÷ó, è îáîñíîâàòü ñïîñîá åå ðåøåíèÿ. Îðãàíèçàöèÿ ó÷åáíîãî ïðîöåññà. Êóðñ ïðåäóñìàòðèâàåò îðãàíèçàöèþ ó÷åáíîãî ïðîöåññà â äâóõ âçàèìîñâÿçàííûõ è âçàèìîäîïîëíÿþùèõ ôîðìàõ: q
óðî÷íàÿ ôîðìà, â êîòîðîé ó÷èòåëü íà óðîêå îáúÿñíÿåò íîâûé ìàòåðèàë è êîíñóëüòèðóåò ó÷àùèõñÿ â ïðîöåññå âûïîëíåíèÿ èìè ïðàêòè÷åñêèõ çàäàíèé íà êîìïüþòåðå;
q
âíåóðî÷íàÿ ôîðìà, â êîòîðîé ó÷àùèåñÿ ïîñëå óðîêîâ (äîìà èëè â øêîëüíîì êîìïüþòåðíîì êëàññå) âûïîëíÿþò íà êîìïüþòåðå ïðàêòè÷åñêèå çàäàíèÿ ñàìîñòîÿòåëüíî.
Òåìàòè÷åñêîå ïëàíèðîâàíèå êóðñà Íèæå ïðèâåäåíû ðåêîìåíäàöèè, êàñàþùèåñÿ òåìàòè÷åñêîãî ïëàíèðîâàíèÿ êóðñà. Ìàòåðèàë â ó÷åáíîì ïîñîáèè ðàçáèò íà 12 ãëàâ, ïîýòîìó òåìàòè÷åñêèé ïëàí ðàçäåëåí íà 12 ìîäóëåé. Êàæäûé ìîäóëü ïðåäóñìàòðèâàåò êàê èçó÷åíèå òåîðèè, òàê è âûïîëíåíèå ïðàêòè÷åñêèõ çàäàíèé. Ïîýòîìó â ïëàíå ïðèâåäåíû ãëàâû è ðàçäåëû ó÷åáíîãî ïîñîáèÿ è ìåòîäè÷åñêîãî ïîñîáèÿ, êîòîðûå ñëåäóåò ïðîðàáîòàòü ó÷èòåëþ ïðè ïîäãîòîâêå ê âåäåíèþ òîãî èëè èíîãî ìîäóëÿ êóðñà, à òàêæå ñïèñîê ïðàêòè÷åñêèõ çàäàíèé, êîòîðûå ó÷åíèêè äîëæíû âûïîëíèòü â õîäå çàíÿòèé (íà óðîêàõ è ñàìîñòîÿòåëüíî).
30
Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET  ðàçäåëå «Êîìïüþòåðíûé ïðàêòèêóì» ïðåäóñìîòðåíî âûïîëíåíèå 63 ïðàêòè÷åñêèõ çàäàíèé. Òåîðèÿ
Êîìïüþòåðíûé ïðàêòèêóì
Ó÷åáíûé ìîäóëü 1 «Ïðîãðàììû â ïîâñåäíåâíîé æèçíè» 2 ÷àñà 1.1. Ïðîãðàììû â ïîâñåäíåâíîé æèçíè. 1.2. ×åì çàíèìàþòñÿ ïðîãðàììèñòû. 1.3. ×òî òàêîå ïðîãðàììà. 1.4. Âîçìîæíîñòè ÿçûêîâ ïðîãðàììèðîâàíèÿ. 1.5. Ñèíòàêñèñ ÿçûêîâ ïðîãðàììèðîâàíèÿ Òåñò 1 Êîíòðîëü çíàíèé è óìåíèé: Ó÷åáíîå ïîñîáèå: Ãëàâà 1. Ïðîãðàììû â Microsoft-CD: Ãëàâà 1. Ïðîãðàììû ïîâñåäíåâíîé æèçíè. âîêðóã íàñ Ìåòîäè÷åñêîå ïîñîáèå: 1. Èñòîðèÿ ðàçâèòèÿ ÿçûêîâ ïðîãðàììèðîâàíèÿ Ó÷åáíûé ìîäóëü 2 «Ñèñòåìà ïðîãðàììèðîâàíèÿ Visual Basic .NET» 6 ÷àñîâ 2.1. Visual Basic .NET è IDE. 1. Ïðîåêò «Ïðèâåò, Ìèð». 2.2. Çàïóñê è íàñòðîéêà Visual Studio .NET. 2. Ïðîåêò «Ìîå èìÿ» 2.3. Ñîçäàíèå ïåðâîãî ïðîåêòà. 2.4. Êîíñòðóèðîâàíèå ãðàôè÷åñêîãî èíòåðôåéñà ïðîåêòà. 2.5. Ñîçäàíèå ïðîãðàììíîãî êîäà ïðîåêòà. 2.6. Ïîñòðîåíèå ðåøåíèÿ. 2.7. Çàïóñê ïðîåêòà. 2.8. Ñîõðàíåíèå ïðîåêòà. 2.9. Âûâîä ñîîáùåíèé íà ôîðìó Êîíòðîëü çíàíèé è óìåíèé: Òåñò 2 Ó÷åáíîå ïîñîáèå: Ãëàâà 2. Ñèñòåìà Microsoft-CD: Ãëàâà 2. Ñèñòåìà ïðîãðàììèðîâàíèÿ Visual Basic .NET. ïðîãðàììèðîâàíèÿ Visual Basic .NET Ìåòîäè÷åñêîå ïîñîáèå: 5. Ïîäãîòîâêà ó÷åáíîãî êëàññà ê çàíÿòèÿì Ó÷åáíûé ìîäóëü 3 «Àëãîðèòìû è ïðîãðàììû» 6 ÷àñîâ 1. Çàïèñàòü â ôîðìå ïñåâäîêîäà è 3.1. Îñíîâíûå ýëåìåíòû êîäà. ïîñòðîèòü áëîê-ñõåìó àëãîðèòìà 3.2. Àëãîðèòì â ôîðìå ïñåâäîêîäà. âêëþ÷åíèÿ êîìïüþòåðà, çàïóñêà 3.3. Êîììåíòàðèè â êîäå îïåðàöèîííîé ñèñòåìû Windows è ñèñòåìû ïðîãðàììèðîâàíèÿ Visual Basic .NET. 2. Ïðîåêò «Öåíà áåíçèíà». 3. Ïðîåêò «Öâåò ðûáîê»
6. Ðåêîìåíäàöèè ïî êóðñó «Ïðîãðàììèðîâàíèå íà Visual Basic .NET»
Òåîðèÿ
31
Êîìïüþòåðíûé ïðàêòèêóì
Êîíòðîëü çíàíèé è óìåíèé:
Òåñò 3
Ó÷åáíîå ïîñîáèå: Ãëàâà 3. Àëãîðèòìû è ïðîãðàììû. Ìåòîäè÷åñêîå ïîñîáèå: Ïðèëîæåíèå 2, ïàðàãðàô 3. Îñíîâíûå òèïû àëãîðèòìè÷åñêèõ ñòðóêòóð è èõ êîäèðîâàíèå íà ÿçûêå Visual Basic
Microsoft-CD: Ãëàâà 3. Àëãîðèòìû è ïðîãðàììû
Ó÷åáíûé ìîäóëü 4 «Ôîðìû è ýëåìåíòû óïðàâëåíèÿ» 6 ÷àñîâ 4.1. Ôîðìà îñíîâà ãðàôè÷åñêîãî èíòåðôåéñà. 4.2. Ñâîéñòâà ôîðì. 4.3. Ýëåìåíòû óïðàâëåíèÿ è èõ ñâîéñòâà. 4.4. Ãåíåðàöèÿ ñîáûòèé
1. Ïðîåêò «Çàìåíà øèíû». 2. Ïðîåêò «Öåíà ïèööû»
Êîíòðîëü çíàíèé è óìåíèé:
Òåñò 4
Ó÷åáíîå ïîñîáèå: Ãëàâà 4. Ôîðìû è ýëåìåíòû óïðàâëåíèÿ. Ìåòîäè÷åñêîå ïîñîáèå: 2. Ââåäåíèå â îáúåêòíî-îðèåíòèðîâàííîå âèçóàëüíîå ïðîãðàììèðîâàíèå. 3. Êðàòêèé îáçîð .NET Framework è Visual Studio .NET. Ïðèëîæåíèå 1. Ðåàëèçàöèÿ îáúåêòíî-îðèåíòèðîâàííîãî ïðîãðàììèðîâàíèÿ â Visual Basic .NET
Microsoft-CD: Ãëàâà 4. Ôîðìû è ýëåìåíòû óïðàâëåíèÿ. Òàáëèöà 1. Îñíîâû îáúåêòíîîðèåíòèðîâàííîãî ïðîãðàììèðîâàíèÿ. Òàáëèöà 2. Ýëåìåíòû óïðàâëåíèÿ, âõîäÿùèå â áàçîâóþ ïîñòàâêó Visual Basic .NET: ñâîéñòâà, ìåòîäû è ñîáûòèÿ (íà÷àëî). Òàáëèöà 3. Ýëåìåíòû óïðàâëåíèÿ, âõîäÿùèå â áàçîâóþ ïîñòàâêó Visual Basic .NET: ñâîéñòâà, ìåòîäû è ñîáûòèÿ (ïðîäîëæåíèå 1). Òàáëèöà 4. Ýëåìåíòû óïðàâëåíèÿ, âõîäÿùèå â áàçîâóþ ïîñòàâêó Visual Basic .NET: ñâîéñòâà, ìåòîäû è ñîáûòèÿ (ïðîäîëæåíèå 2). Òàáëèöà 5. Ýëåìåíòû óïðàâëåíèÿ, âõîäÿùèå â áàçîâóþ ïîñòàâêó Visual Basic .NET: ñâîéñòâà, ìåòîäû è ñîáûòèÿ (ïðîäîëæåíèå 3)
Ó÷åáíûé ìîäóëü 5 «Ñâîéñòâà è ìåòîäû» 6 ÷àñîâ
32
Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET
Òåîðèÿ
Êîìïüþòåðíûé ïðàêòèêóì
5.1. Ñ ÷åãî íà÷èíàåòñÿ êîä. 5.2. ×òåíèå çíà÷åíèé ñâîéñòâ â êîäå. 5.3. Ïðèñâàèâàíèå çíà÷åíèé ñâîéñòâàì â êîäå. 5.4. IntelliSense è òî÷å÷íàÿ íîòàöèÿ. 5.5. Ìåòîäû
1. 2. 3. 4.
Ïðîåêò Ïðîåêò Ïðîåêò Ïðîåêò
«×òåíèå ñâîéñòâ». «Óñòàíîâêà ñâîéñòâ». «Intellisence». «Ìåòîäû»
Êîíòðîëü çíàíèé è óìåíèé:
Òåñò 5
Ó÷åáíîå ïîñîáèå: Ãëàâà 5. Ñâîéñòâà è ìåòîäû. Ìåòîäè÷åñêîå ïîñîáèå: Ïðèëîæåíèå 2, ïàðàãðàô 5. Âîçìîæíîñòè ðàáîòû ñ ãðàôèêîé â Visual Basic .NET 2003 è Visual Basic 2005 Express Edition
Microsoft-CD: Ãëàâà 5. Ñâîéñòâà è ìåòîäû
Ó÷åáíûé ìîäóëü 6 «Ïðèñâàèâàíèå è ïåðåìåííûå» 6 ÷àñîâ 6.1. 6.2. 6.3. 6.4.
Ïðèñâàèâàíèå. Ïåðåìåííûå. Îáúÿâëåíèå ïåðåìåííûõ. Ïåðåìåííûå â ïðîãðàììàõ
1. 2. 3. 4. 5.
Ïðîåêò Ïðîåêò Ïðîåêò Ïðîåêò Ïðîåêò
«Ïðûæîê ëÿãóøêè». «Öâåò». «×èñëî Pi». «Êîëè÷åñòâî ùåë÷êîâ». «Íàéäè îøèáêè»
Êîíòðîëü çíàíèé è óìåíèé:
Òåñò 6
Ó÷åáíîå ïîñîáèå: Ãëàâà 6. Ïðèñâàèâàíèå è ïåðåìåííûå. Ìåòîäè÷åñêîå ïîñîáèå: Ïðèëîæåíèå 2, ïàðàãðàô 1. Ïåðåìåííûå â ÿçûêå ïðîãðàììèðîâàíèÿ Visual Basic .NET
Microsoft-CD: Ãëàâà 6. Ïðèñâàèâàíèå è ïåðåìåííûå. Òàáëèöà 6. Òèïû ïåðåìåííûõ
Ó÷åáíûé ìîäóëü 7 «Îïåðàöèè» 6 ÷àñîâ 7.1. 7.2. 7.3. 7.4.
Àðèôìåòè÷åñêèå îïåðàöèè. Ñòðîêîâûå îïåðàöèè. Ëîãè÷åñêèå îïåðàöèè. Îòëàäêà êîäà
1. 2. 3. 4. 5. 6. 7. 8.
Ïðîåêò Ïðîåêò Ïðîåêò Ïðîåêò Ïðîåêò Ïðîåêò Ïðîåêò Ïðîåêò
«Öåíà áåíçèíà-1». «Äèàìåòð îêðóæíîñòè». «Ïóòü». «Öåíà áåíçèíà-2». «Èìÿ, ôàìèëèÿ». «Ëîãèêà». «Îòëàäêà». «Îáúåì»
Êîíòðîëü çíàíèé è óìåíèé:
Òåñò 7
Ó÷åáíîå ïîñîáèå: Ãëàâà 7. Îïåðàöèè. Ìåòîäè÷åñêîå ïîñîáèå: Ïðèëîæåíèå 2, ïàðàãðàô 4. Ôóíêöèè â ÿçûêå ïðîãðàììèðîâàíèÿ Visual Basic .NET
Microsoft-CD: Ãëàâà 7. Îïåðàöèè
Ó÷åáíûé ìîäóëü 8 «Âåòâëåíèå: íåïîëíàÿ ôîðìà» 6 ÷àñîâ
6. Ðåêîìåíäàöèè ïî êóðñó «Ïðîãðàììèðîâàíèå íà Visual Basic .NET»
Òåîðèÿ 8.1. 8.2. 8.3. 8.4. 8.5.
Áóëåâà ëîãèêà. Îïåðàöèè ñðàâíåíèÿ. Îïåðàòîð If...Then. Ìíîæåñòâåííûå óñëîâèÿ. Áóëåâû îïåðàöèè â êîäå
33
Êîìïüþòåðíûé ïðàêòèêóì 1. 2. 3. 4. 5. 6. 7.
Ïðîåêò Ïðîåêò Ïðîåêò Ïðîåêò Ïðîåêò Ïðîåêò Ïðîåêò
«Ëîãè÷åñêèå îïåðàöèè». «If_Then». «Ïîæàðíàÿ òðåâîãà». «Âûáîð öâåòà». «Âûáîð öâåòà-2». «Âûáîð ïîäàðêà». «Ïðîâåðêà»
Êîíòðîëü çíàíèé è óìåíèé:
Òåñò 8
Ó÷åáíîå ïîñîáèå: Ãëàâà 8. Âåòâëåíèå: íåïîëíàÿ ôîðìà. Ìåòîäè÷åñêîå ïîñîáèå: Ïðèëîæåíèå 2, ïóíêò 3.1. Àëãîðèòìè÷åñêàÿ ñòðóêòóðà «âåòâëåíèå»
Microsoft-CD: Ãëàâà 8. Âåòâëåíèå: íåïîëíàÿ ôîðìà. Òàáëèöà 7. Àëãîðèòìè÷åñêàÿ ñòðóêòóðà «âåòâëåíèå» è åå êîäèðîâàíèå íà ÿçûêå ïðîãðàììèðîâàíèÿ
Ó÷åáíûé ìîäóëü 9 «Âåòâëåíèå: ïîëíàÿ ôîðìà» 6 ÷àñîâ 9.1. Âëîæåííûå îïåðàòîðû If
Then. 9.2. Ïðîòèâîïîëîæíûå óñëîâèÿ. 9.3. Îïåðàòîð If
Then
Else. 9.4. Ïîøàãîâîå âûïîëíåíèå If. 9.5. Îïåðàòîðû If â ÿçûêàõ C# è J#. 9.6. Áóëåâû îïåðàöèè è îïåðàöèè ñðàâíåíèÿ â C# è J#
1. 2. 3. 4. 5. 6. 7. 8.
Ïðîåêò Ïðîåêò Ïðîåêò Ïðîåêò Ïðîåêò Ïðîåêò Ïðîåêò Ïðîåêò
«Ôëàæêè». «IfThenOtherwise». «If-Then-Else». «If-Then-Else-2». «Ãîëüô». «Step-In-If». «Ìàãè÷åñêèé êâàäðàò». «Áðîñîê ìîíåòû»
Êîíòðîëü çíàíèé è óìåíèé:
Òåñò 9
Ó÷åáíîå ïîñîáèå: Ãëàâà 9. Âåòâëåíèå: ïîëíàÿ ôîðìà. Ìåòîäè÷åñêîå ïîñîáèå: Ïðèëîæåíèå 2, ïóíêò 3.1. Àëãîðèòìè÷åñêàÿ ñòðóêòóðà «âåòâëåíèå»
Microsoft-CD: Ãëàâà 9. Âåòâëåíèå: ïîëíàÿ ôîðìà. Òàáëèöà 7. Àëãîðèòìè÷åñêàÿ ñòðóêòóðà «âåòâëåíèå» è åå êîäèðîâàíèå íà ÿçûêå ïðîãðàììèðîâàíèÿ
Ó÷åáíûé ìîäóëü 10 «Öèêëû ñî ñ÷åò÷èêîì» 6 ÷àñîâ 10.1. Öèêëû For...Next. 10.2. Ïîøàãîâîå âûïîëíåíèå öèêëà For
Next. 10.3. Ïðîåêòû ñ èñïîëüçîâàíèåì For
Next. 10.4. Âëîæåííûå öèêëû. 10.5. Âûõîä èç öèêëîâ. 10.6. Öèêëû â C# è J#
1. 2. 3. 4. 5. 6. 7. 8. 9.
Ïðîåêò Ïðîåêò Ïðîåêò Ïðîåêò Ïðîåêò Ïðîåêò Ïðîåêò Ïðîåêò Ïðîåêò
Êîíòðîëü çíàíèé è óìåíèé:
Òåñò 10
«For-Next». «Ñëîæåíèå». «Ñëîæåíèå ñòðîê». «Öâåò ôîðìû». «Ïîäñ÷åò êðîëèêîâ». «Öèêë â öèêëå». «Âûõîä èç öèêëîâ». «Ïðîñòûå ÷èñëà». «Ïåíñèÿ»
34
Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET
Òåîðèÿ Ó÷åáíîå ïîñîáèå: Ãëàâà 10. Öèêëû ñî ñ÷åò÷èêîì. Ìåòîäè÷åñêîå ïîñîáèå: Ïðèëîæåíèå 2, ïóíêò 3.3. Àëãîðèòìè÷åñêàÿ ñòðóêòóðà «öèêë»
Êîìïüþòåðíûé ïðàêòèêóì Microsoft-CD: Ãëàâà 10. Öèêëû ñî ñ÷åò÷èêîì. Òàáëèöà 9. Àëãîðèòìè÷åñêàÿ ñòðóêòóðà «öèêë ñî ñ÷åò÷èêîì» è åå êîäèðîâàíèå íà ÿçûêå ïðîãðàììèðîâàíèÿ
Ó÷åáíûé ìîäóëü 11 «Öèêëû ñ óñëîâèåì» 6 ÷àñîâ 11.1. Öèêëû Do While
Loop. 11.2. Ïîøàãîâîå âûïîëíåíèå öèêëà Do While
Loop. 11.3. Öèêëû Do Until
Loop. 11.4. Ïðîåêòû ñ èñïîëüçîâàíèåì Do
Loop. 11.5. Öèêëû ñ ïîñòóñëîâèåì. 11.6. Öèêëû â C# è J#. 11.7. Âûõîä èç öèêëîâ
1. 2. 3. 4. 5. 6. 7. 8. 9.
Êîíòðîëü çíàíèé è óìåíèé:
Òåñò 11
Ó÷åáíîå ïîñîáèå: Ãëàâà 11. Öèêëû ñ óñëîâèåì. Ìåòîäè÷åñêîå ïîñîáèå: Ïðèëîæåíèå 2, ïóíêò 3.3. Àëãîðèòìè÷åñêàÿ ñòðóêòóðà «öèêë»
Microsoft-CD: Ãëàâà 11. Öèêëû ñ óñëîâèåì. Òàáëèöà 10. Àëãîðèòìè÷åñêàÿ ñòðóêòóðà «öèêë ñ óñëîâèåì» è åå êîäèðîâàíèå íà ÿçûêå ïðîãðàììèðîâàíèÿ
Ïðîåêò Ïðîåêò Ïðîåêò Ïðîåêò Ïðîåêò Ïðîåêò Ïðîåêò Ïðîåêò Ïðîåêò
«Do-While-Loop». «Do-Until-Loop». «Do-While-Loop-2». «Do-Until-Loop-2». «Öèêëû ñ ïîñòóñëîâèåì». «Exit-Do». «Ìèøåíü». «Ìîíåòà». «Ñðåäíÿÿ îöåíêà»
Ó÷åáíûé ìîäóëü 12 «Ïîäïðîãðàììû è ôóíêöèè» 6 ÷àñîâ 12.1. ×òî òàêîå ïîäïðîãðàììû? 12.2. Ñîçäàíèå è âûçîâ ïîäïðîãðàìì. 12.3. Ïîäïðîãðàììû ñ àðãóìåíòàìè. 12.4. Ñîçäàíèå è âûçîâ ñîáñòâåííûõ ôóíêöèé. 12.5. Âñòðîåííûå ôóíêöèè. 12.6. Ôóíêöèè â J# è C#
1. 2. 3. 4. 5. 6.
Êîíòðîëü çíàíèé è óìåíèé:
Òåñò 12
Ó÷åáíîå ïîñîáèå: Ãëàâà 12. Ïîäïðîãðàììû è ôóíêöèè. Ìåòîäè÷åñêîå ïîñîáèå: Ïðèëîæåíèå 1. Ðåàëèçàöèÿ îáúåêòíî-îðèåíòèðîâàííîãî ïðîãðàììèðîâàíèÿ â Visual Basic .NET
Microsoft-CD: Ãëàâà 12. Ïîäïðîãðàììû è ôóíêöèè
Ïðîåêò Ïðîåêò Ïðîåêò Ïðîåêò Ïðîåêò Ïðîåêò
«Ïîäïðîãðàììà». «Ôóíêöèÿ». «Åäèíèöû èçìåðåíèÿ». «Âñòðîåííûå ôóíêöèè». «Ïðåäñêàçàòåëü». «Êîò è ìûøü»
6. Ðåêîìåíäàöèè ïî êóðñó «Ïðîãðàììèðîâàíèå íà Visual Basic .NET»
35
Íèæå äàíû ñîâåòû ïî ïðîâåäåíèþ çàíÿòèé è ðåêîìåíäàöèè ó÷èòåëþ ïî ñïîñîáàì ïðåäñòàâëåíèÿ ìàòåðèàëà ïî êàæäîìó ìîäóëþ.
Ìîäóëü 1. Ïðîãðàììû âîêðóã íàñ Ïðèìåðíîå âðåìÿ èçëîæåíèÿ òåîðåòè÷åñêîãî ìàòåðèàëà: Ïðèìåðíîå âðåìÿ ïðîâåäåíèÿ ïðàêòè÷åñêèõ çàíÿòèé:
1,5 ÷. 0,5 ÷.
Äëÿ ïîäãîòîâêè ê ïðîâåäåíèþ çàíÿòèé â äàííîì ìîäóëå q
âíèìàòåëüíî ïðî÷èòàéòå ìàòåðèàëû ãëàâû 1 ó÷åáíîãî ïîñîáèÿ;
q
ïîñòàðàéòåñü ñàìè îòâåòèòü íà ïðèâåäåííûå â ïîñîáèè âîïðîñû äëÿ ðàçìûøëåíèÿ;
q
îçíàêîìüòåñü ñ ñîäåðæèìûì 1-é ÷àñòè â ðàçäåëå «Ïðàêòèêóì ïî ïðîãðàììèðîâàíèþ íà Visual Basic .NET» íà êîìïàêò-äèñêå Microsoft-CD;
q
îòâåòüòå íà âîïðîñû òåñòà 1.
Êàê ó÷èòü â äàííîì ìîäóëå Íà÷íèòå ïåðâûé óðîê ìîäóëÿ ñ îïðîñà: ó êîãî èç ó÷àùèõñÿ åñòü äîìà ïåðñîíàëüíûé êîìïüþòåð è äëÿ ÷åãî îí â îñíîâíîì èñïîëüçóåòñÿ? Íà îñíîâå îòâåòîâ ïîêàæèòå, ÷òî êîìïüþòåð ïðåâðàùàåòñÿ â ïîëåçíûé èíñòðóìåíò èñêëþ÷èòåëüíî áëàãîäàðÿ ðàáîòàþùèì íà íåì ïðîãðàììàì. Ïðèâåäèòå ïðèìåðû óñòðîéñòâ, êîòîðûå íå ñ÷èòàþòñÿ êîìïüþòåðàìè, íî â êîòîðûõ ðàáîòàþò ïðîãðàììû (ìóçûêàëüíûé öåíòð, ìîáèëüíûé òåëåôîí è ò. ï.). Çàòåì ïåðåõîäèòå ê ðàçäåëó, ïîñâÿùåííîìó ðàññêàçó î ïðîãðàììèñòàõ, ò. å. ëþäÿõ, ñîçäàþùèõ ïðîãðàììû. Ïîèíòåðåñóéòåñü, êòî èç ó÷åíèêîâ ñ÷èòàåò ñåáÿ ïðîãðàììèñòîì. Åñëè òàêîâûå íàéäóòñÿ, ñïðîñèòå, êàêèå ïðîãðàììû íàïèñàë êòî-íèáóäü èç íèõ, äëÿ ÷åãî ýòè ïðîãðàììû áûëè íàïèñàíû. Ïîñëå ýòîãî ïåðåõîäèòå ê îáñóæäåíèþ òîãî, ÷òî òàêîå êîìïüþòåðíûå ïðîãðàììû è êàê îíè ðàçðàáàòûâàþòñÿ. Îáðàòèòå âíèìàíèå ó÷åíèêîâ, ÷òî ïðîãðàììû ìîãóò ñîçäàâàòüñÿ äëÿ ñàìûõ ðàçíûõ ïðèìåíåíèé. Ñîîòâåòñòâåííî ñóùåñòâóåò ìíîæåñòâî ðàçíûõ ÿçûêîâ ïðîãðàììèðîâàíèÿ. Ïðèâåäèòå ïðèìåðû èçâåñòíûõ ÿçûêîâ: FORTRAN, BASIC, Pascal. Íà÷àëî ñëåäóþùåãî óðîêà ìîæíî ïîñâÿòèòü îáñóæäåíèþ òîãî, ÷òî òàêîå ñèíòàêñèñ ÿçûêîâ ïðîãðàììèðîâàíèÿ, è ïîñòåïåííî ïåðåéòè ê ðàññìîòðåíèþ Visual Basic .NET êàê ÿçûêà, êîòîðûé áóäåò èçó÷àòüñÿ â õîäå êóðñà.
36
Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET  çàâåðøåíèå îáúÿñíèòå ó÷åíèêàì, êàê íà÷àòü ðàáîòàòü íà êîìïüþòåðàõ â êëàññå, è ïðîêîíòðîëèðóéòå âûïîëíåíèå èìè âõîäà â ñèñòåìó. Îçíàêîìüòå ó÷àùèõñÿ ñ ñîäåðæèìûì êîìïàêò-äèñêà ñ ìàòåðèàëàìè ê êóðñó. Îöåíèòå ñòåïåíü óñâîåíèÿ ïðîéäåííîãî ìàòåðèàëà ñ ïîìîùüþ òåñòà 1.
Ìîäóëü 2. Ñèñòåìà ïðîãðàììèðîâàíèÿ Visual Basic .NET Ïðèìåðíîå âðåìÿ èçëîæåíèÿ òåîðåòè÷åñêîãî ìàòåðèàëà: Ïðèìåðíîå âðåìÿ ïðîâåäåíèÿ ïðàêòè÷åñêèõ çàíÿòèé:
2 ÷. 4 ÷.
Äëÿ ïîäãîòîâêè ê ïðîâåäåíèþ çàíÿòèé â äàííîì ìîäóëå q
âíèìàòåëüíî ïðî÷èòàéòå ìàòåðèàëû ãëàâû 2 ó÷åáíîãî ïîñîáèÿ;
q
âûïîëíèòå âñå ïðèâåäåííûå â òåêñòå ó÷åáíîãî ïîñîáèÿ ïðàêòè÷åñêèå çàäàíèÿ ïî ñîçäàíèþ ïðîåêòîâ â ñèñòåìå Visual Studio .NET;
q
îçíàêîìüòåñü ñ ñîäåðæèìûì 2-é ÷àñòè â ðàçäåëå «Ïðàêòèêóì ïî ïðîãðàììèðîâàíèþ íà Visual Basic .NET» íà êîìïàêò-äèñêå Microsoft-CD;
q
îòâåòüòå íà âîïðîñû òåñòà 2.
Êàê ó÷èòü â äàííîì ìîäóëå Íà÷íèòå ìîäóëü ñ ïîâòîðåíèÿ òîãî, ÷òî òàêîå êîìïüþòåðíûå ïðîãðàììû è ÿçûêè ïðîãðàììèðîâàíèÿ. Çàòåì ðàññêàæèòå, ÷òî ðàíüøå ïðîãðàììû ñîçäàâàëèñü, â îñíîâíîì, ñ ïîìîùüþ íåñêîëüêèõ ðàçíûõ èíñòðóìåíòîâ. Äëÿ ââîäà è ðåäàêòèðîâàíèÿ òåêñòà ïðîãðàììû èñïîëüçîâàëñÿ òåêñòîâûé ðåäàêòîð, äëÿ ïðåîáðàçîâàíèÿ òåêñòà â ìàøèííûå êîìàíäû âûçûâàëñÿ êîìïèëÿòîð è ò. ï. Ïîñëå ýòîãî ïåðåéäèòå ê ðàññìîòðåíèþ èíòåãðèðîâàííîé ñðåäû ðàçðàáîòêè Visual Studio .NET. Ïîä÷åðêíèòå, ÷òî ñëîâî «èíòåãðèðîâàííàÿ» îçíà÷àåò, ÷òî â ñîñòàâå ñðåäû èìåþòñÿ âñå èíñòðóìåíòû, íåîáõîäèìûå äëÿ íàïèñàíèÿ, ðåäàêòèðîâàíèÿ, êîìïèëÿöèè, îòëàäêè è çàïóñêà ïðîãðàìì. Òàêæå îáðàòèòå âíèìàíèå ó÷åíèêîâ, ÷òî â ýòîé ñðåäå ïðîãðàììû ìîæíî ñîçäàâàòü ñ ïîìîùüþ ñàìûõ ðàçíûõ ÿçûêîâ ïðîãðàììèðîâàíèÿ (ñì. ñïèñîê â ó÷åáíîì ïîñîáèè). Ïîñëå ýòîãî ó÷åíèêè ìîãóò ïðèñòóïàòü ê îñâîåíèþ îñíîâíûõ ïðèåìîâ ðàáîòû â Visual Studio .NET. Ïðîêîíòðîëèðóéòå, âñå ëè ñìîãëè çàïóñòèòü
6. Ðåêîìåíäàöèè ïî êóðñó «Ïðîãðàììèðîâàíèå íà Visual Basic .NET»
37
ýòó ñèñòåìó íà êîìïüþòåðå è íàñòðîèòü ïðîôèëü. Ïîñëå ýòîãî äàéòå ó÷åíèêàì çàäàíèå ñîçäàòü ïðîåêò «Ïðèâåò, Ìèð», ðóêîâîäñòâóÿñü ïðèâåäåííûìè â ó÷åáíîì ïîñîáèè èíñòðóêöèÿìè. Ïðè íåîáõîäèìîñòè îêàçûâàéòå èì ïîääåðæêó è êîíñóëüòèðóéòå ïî âîïðîñàì âûïîëíåíèÿ òåõ èëè èíûõ äåéñòâèé. Åñëè êòî-òî èç íèõ áóäåò èíòåðåñîâàòüñÿ ïîäðîáíîñòÿìè çàïèñè òåõ èëè èíûõ ÿçûêîâûõ êîíñòðóêöèé, ñêàæèòå, ÷òî ýòî áóäåò îáñóæäàòüñÿ â êóðñå ïîçäíåå. Ïîñëå ñîçäàíèÿ è óñïåøíîãî çàïóñêà ïåðâîãî ïðèëîæåíèÿ ïðîâåðüòå óñâîåíèå ó÷àùèìèñÿ ïðîéäåííîãî ìàòåðèàëà ñ ïîìîùüþ òåñòà 2. Çàòåì ðàçäàéòå ó÷àùèìñÿ çàäàíèÿ äëÿ ñàìîñòîÿòåëüíîãî âûïîëíåíèÿ, èñïîëüçóÿ ìàòåðèàëû ó÷åáíîãî ïîñîáèÿ. Ðàññêàæèòå, ãäå íà æåñòêîì äèñêå êîìïüþòåðà (èëè êîìïàêò-äèñêå Microsoft-CD) íàõîäÿòñÿ ôàéëû ñ çàãîòîâêàìè ïðîåêòîâ è êàê ýòèìè ôàéëàìè âîñïîëüçîâàòüñÿ. Ïðîäóìàéòå, êàê âû áóäåòå îñóùåñòâëÿòü êîíòðîëü âûïîëíåíèÿ çàäàíèé.
Ìîäóëü 3. Àëãîðèòìû è ïðîãðàììû Ïðèìåðíîå âðåìÿ èçëîæåíèÿ òåîðåòè÷åñêîãî ìàòåðèàëà: Ïðèìåðíîå âðåìÿ ïðîâåäåíèÿ ïðàêòè÷åñêèõ çàíÿòèé:
2 ÷. 4 ÷.
Äëÿ ïîäãîòîâêè ê ïðîâåäåíèþ çàíÿòèé â äàííîì ìîäóëå q
âíèìàòåëüíî ïðî÷èòàéòå ìàòåðèàëû ãëàâû 3 ó÷åáíîãî ïîñîáèÿ;
q
âûïîëíèòå âñå ïðèâåäåííûå â òåêñòå ó÷åáíîãî ïîñîáèÿ ïðàêòè÷åñêèå çàäàíèÿ ïî ñîçäàíèþ ïðîåêòîâ â ñèñòåìå Visual Studio .NET;
q
îçíàêîìüòåñü ñ ñîäåðæèìûì 3-é ÷àñòè â ðàçäåëå «Ïðàêòèêóì ïî ïðîãðàììèðîâàíèþ íà Visual Basic .NET» íà êîìïàêò-äèñêå Microsoft-CD;
q
îòâåòüòå íà âîïðîñû òåñòà 3.
Êàê ó÷èòü â äàííîì ìîäóëå  íà÷àëå ìîäóëÿ îáñóäèòå, ÷òî òàêîå êîä (äðóãèìè ñëîâàìè, òåêñò ïðîãðàììû) è êîäèðîâàíèå (ò. å. íàïèñàíèå ýòîãî òåêñòà). Ðàññêàæèòå îá îñíîâíûõ ýëåìåíòàõ êîäà, êîòîðûå èìåþòñÿ ïðàêòè÷åñêè âî âñåõ ÿçûêàõ ïðîãðàììèðîâàíèÿ. Íå óãëóáëÿéòåñü ïðè ýòîì â äåòàëè çàïèñè òåõ èëè èíûõ ýëåìåíòîâ íà ÿçûêå Visual Basic .NET, ïîñêîëüêó ýòîò ìàòåðèàë áóäåò ðàññìàòðèâàòüñÿ â êóðñå ïîçäíåå. Ñôîðìóëèðóéòå ïîíÿòèå àëãîðèòìà êàê íàáîðà èíñòðóêöèé, îïèñûâàþùèõ ïîñëåäîâàòåëüíîñòü äåéñòâèé, âûïîëíåíèå êîòîðûõ âåäåò ê ðåøå-
38
Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET íèþ çàäà÷è. Çàòåì ïðèâåäèòå ïðèìåð êàêîãî-ëèáî àëãîðèòìà. Îáúÿñíèòå, ÷òî ïñåâäîêîä ýòî îïèñàíèå àëãîðèòìà ðàáîòû ïðîãðàììû íà åñòåñòâåííîì ÿçûêå. Äàéòå ó÷àùèìñÿ çàäàíèå íàïèñàòü ñ ïîìîùüþ ïñåâäîêîäà àëãîðèòì ðåøåíèÿ êàêîé-ëèáî íåñëîæíîé çàäà÷è èç îáûäåííîé æèçíè (èñïîëüçóéòå ïðèìåðû, ïðèâåäåííûå â ó÷åáíîì ïîñîáèè, ëèáî ïðèäóìàéòå ñâîè). Îáñóäèòå, ÷òî ïîëó÷èëîñü â ðåçóëüòàòå âûïîëíåíèÿ çàäàíèÿ. Ïîñëå ýòîãî ïåðåéäèòå ê îáñóæäåíèþ íåîáõîäèìîñòè èñïîëüçîâàíèÿ êîììåíòàðèåâ â ïðîãðàììíîì êîäå. Îòìåòüòå, ÷òî èñïîëüçîâàíèå êîììåíòàðèåâ äîïóñêàåòñÿ ïðàêòè÷åñêè âî âñåõ ÿçûêàõ ïðîãðàììèðîâàíèÿ è ÷òî â ðàçíûõ ÿçûêàõ êîììåíòàðèè îáîçíà÷àþòñÿ ïî-ðàçíîìó. Òàêæå îáðàòèòå âíèìàíèå ó÷åíèêîâ íà òî, ÷òî êîììåíòèðîâàíèå ôðàãìåíòîâ êîäà îäèí èç âåñüìà ðàñïðîñòðàíåííûõ è ýôôåêòèâíûõ ïðèåìîâ âûÿâëåíèÿ îøèáîê â ïðîãðàììàõ.  çàêëþ÷åíèå ðàññêàæèòå îá èñïîëüçîâàíèè îòñòóïîâ è ïðîáåëîâ äëÿ óëó÷øåíèÿ ÷èòàåìîñòè êîäà. Îòìåòüòå, ÷òî ïðè ïðîãðàììèðîâàíèè â ñèñòåìå Visual Basic .NET îòñòóïû è ïðîáåëû ìîãóò âñòàâëÿòüñÿ â òåêñò ïðîãðàììû àâòîìàòè÷åñêè ïðè åãî íàáîðå. Ïðîâåðüòå óñâîåíèå ïðîéäåííîãî ìàòåðèàëà ñ ïîìîùüþ òåñòà 3. Ïîñëå ýòîãî ó÷àùèåñÿ ìîãóò ïåðåõîäèòü ê âûïîëíåíèþ ïðàêòè÷åñêèõ çàäàíèé, à âàøà çàäà÷à êîíòðîëèðîâàòü ýòîò ïðîöåññ è ïðè íåîáõîäèìîñòè ïîìîãàòü èì.
Ìîäóëü 4. «Ôîðìû è ýëåìåíòû óïðàâëåíèÿ» Ïðèìåðíîå âðåìÿ èçëîæåíèÿ òåîðåòè÷åñêîãî ìàòåðèàëà: Ïðèìåðíîå âðåìÿ ïðîâåäåíèÿ ïðàêòè÷åñêèõ çàíÿòèé:
2 ÷. 4 ÷.
Äëÿ ïîäãîòîâêè ê ïðîâåäåíèþ çàíÿòèé â äàííîì ìîäóëå q
âíèìàòåëüíî ïðî÷èòàéòå ìàòåðèàëû ãëàâû 4 ó÷åáíîãî ïîñîáèÿ;
q
âûïîëíèòå âñå ïðèâåäåííûå â òåêñòå ó÷åáíîãî ïîñîáèÿ ïðàêòè÷åñêèå çàäàíèÿ ïî ñîçäàíèþ ïðîåêòîâ â ñèñòåìå Visual Studio .NET;
q
îçíàêîìüòåñü ñ ñîäåðæèìûì 4-é ÷àñòè â ðàçäåëå «Ïðàêòèêóì ïî ïðîãðàììèðîâàíèþ íà Visual Basic .NET» íà êîìïàêò-äèñêå Microsoft-CD;
q q
ðàñïå÷àòàéòå òàáëèöû, íàõîäÿùèåñÿ â ïàïêå Ïëàêàòû ïî ÿçûêó Visual
Basic .NET;
îòâåòüòå íà âîïðîñû òåñòà 4.
6. Ðåêîìåíäàöèè ïî êóðñó «Ïðîãðàììèðîâàíèå íà Visual Basic .NET»
39
Êàê ó÷èòü â äàííîì ìîäóëå  íà÷àëå ìîäóëÿ ñôîðìóëèðóéòå îïðåäåëåíèå ïîëüçîâàòåëüñêîãî èíòåðôåéñà êàê ñïîñîáà âçàèìîäåéñòâèÿ ïîëüçîâàòåëÿ è êîìïüþòåðíîé ïðîãðàììû. Îáúÿñíèòå, ÷åì îòëè÷àåòñÿ ãðàôè÷åñêèé èíòåðôåéñ ïîëüçîâàòåëÿ îò èíòåðôåéñà êîìàíäíîé ñòðîêè. Ïîèíòåðåñóéòåñü, êàêîé ñïîñîá âçàèìîäåéñòâèÿ ñ ïðîãðàììîé ïðåäïî÷èòàþò âàøè ó÷åíèêè, è ïîïðîñèòå èõ ïðîêîììåíòèðîâàòü ñâîè ïðåäïî÷òåíèÿ. Çàòåì ðàññêàæèòå, ÷òî â ñèñòåìå Windows ÷àùå èñïîëüçóþòñÿ ïðèëîæåíèÿ ñ ãðàôè÷åñêèì èíòåðôåéñîì ïîëüçîâàòåëÿ. Åñëè ñîçäàâàòü òàêîå ïðèëîæåíèå â Visual Basic .NET, òî â ôàéë ïðîåêòà àâòîìàòè÷åñêè äîáàâëÿåòñÿ ôîðìà øàáëîí îêíà ïðèëîæåíèÿ. Ñïðîñèòå, ÷òî ïðîèçîéäåò, åñëè ñîçäàòü íîâûé ïðîåêò äëÿ Windows-ïðèëîæåíèÿ, à çàòåì ñðàçó çàïóñòèòü åãî. Áóäåò ëè òàêîå ïðèëîæåíèå âçàèìîäåéñòâîâàòü ñ ïîëüçîâàòåëåì? Îòâåò: áóäåò, íî òîëüêî ÷åðåç ñòàíäàðòíûå ýëåìåíòû óïðàâëåíèÿ îêíîì (êíîïêè Ñâåðíóòü, Ðàçâåðíóòü, Çàêðûòü è òàê íàçûâàåìîå îêîííîå ìåíþ ïðîãðàììû). Çàòåì ïðèâåäèòå ïðèìåðû ðàçëè÷íûõ ýëåìåíòîâ óïðàâëåíèÿ, êîòîðûå ìîæíî â ïðîöåññå ðàçðàáîòêè ðàçìåùàòü íà ôîðìå. Îáúÿñíèòå, ÷òî èìåííî ýòè ýëåìåíòû ïîñëå çàïóñêà ãîòîâîãî ïðèëîæåíèÿ îáåñïå÷èâàþò âçàèìîäåéñòâèå ìåæäó íèì è ïîëüçîâàòåëåì. Îáñóäèòå îñíîâíûå ïðàâèëà ðàçìåùåíèÿ ýëåìåíòîâ óïðàâëåíèÿ íà ôîðìå. Êðàòêî îïèøèòå îñíîâíûå ñâîéñòâà, êîòîðûå ìîæíî çàäàòü è äëÿ ôîðìû, è äëÿ ðàçëè÷íûõ ýëåìåíòîâ óïðàâëåíèÿ. Ïîñëå ýòîãî ó÷àùèåñÿ ìîãóò íà÷àòü ðàáîòó íàä ïðîåêòîì «Çàìåíà øèíû». Êîãäà áîëüøàÿ ÷àñòü ó÷åíèêîâ âûïîëíèò çàäàíèå ïî ñîçäàíèþ â äàííîì ïðîåêòå ôîðìû è ðàçìåùåíèþ íà íåé ýëåìåíòîâ óïðàâëåíèÿ, ðàññêàæèòå î òîì, êàê â ïðîãðàììå çàäàåòñÿ ðåàêöèÿ íà ñîáûòèÿ, ñâÿçàííûå ñ äåéñòâèÿìè ïîëüçîâàòåëÿ. Îáúÿñíèòå, ÷òî òàêîå îáðàáîò÷èê ñîáûòèÿ (ïðîöåäóðà, êîòîðàÿ âûïîëíÿåòñÿ â ïðîãðàììå, êîãäà ýòî ñîáûòèå ïðîèñõîäèò). Íå çàáóäüòå ïðîâåðèòü óñâîåíèå ó÷àùèìèñÿ ïðîéäåííîãî ìàòåðèàëà ñ ïîìîùüþ òåñòà 4. Èñïîëüçóÿ ìàòåðèàëû ó÷åáíîãî ïîñîáèÿ, ðàçäàéòå ó÷àùèìñÿ çàäàíèÿ äëÿ ñàìîñòîÿòåëüíîãî âûïîëíåíèÿ.
40
Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET
Ìîäóëü 5. «Ñâîéñòâà è ìåòîäû» Ïðèìåðíîå âðåìÿ èçëîæåíèÿ òåîðåòè÷åñêîãî ìàòåðèàëà: Ïðèìåðíîå âðåìÿ ïðîâåäåíèÿ ïðàêòè÷åñêèõ çàíÿòèé:
2 ÷. 4 ÷.
Äëÿ ïîäãîòîâêè ê ïðîâåäåíèþ çàíÿòèé â äàííîì ìîäóëå q
âíèìàòåëüíî ïðî÷èòàéòå ìàòåðèàëû ãëàâû 5 ó÷åáíîãî ïîñîáèÿ;
q
ïåðå÷èòàéòå ìàòåðèàë ðàçäåëà «2. Ââåäåíèå â îáúåêòíî-îðèåíòèðîâàííîå ïðîãðàììèðîâàíèå» äàííîãî ïîñîáèÿ;
q
âûïîëíèòå âñå ïðèâåäåííûå â òåêñòå ó÷åáíîãî ïîñîáèÿ ïðàêòè÷åñêèå çàäàíèÿ ïî ñîçäàíèþ ïðîåêòîâ â ñèñòåìå Visual Studio .NET;
q
îçíàêîìüòåñü ñ ñîäåðæèìûì 5-é ÷àñòè â ðàçäåëå «Ïðàêòèêóì ïî ïðîãðàììèðîâàíèþ íà Visual Basic .NET» íà êîìïàêò-äèñêå Microsoft-CD;
q
îòâåòüòå íà âîïðîñû òåñòà 5.
Êàê ó÷èòü â äàííîì ìîäóëå Íà÷íèòå ìîäóëü ñ îáñóæäåíèÿ ñëåäóþùåãî âîïðîñà: êàê óçíàòü èëè èçìåíèòü çíà÷åíèå êàêîãî-ëèáî ñâîéñòâà ôîðìû èëè ýëåìåíòà óïðàâëåíèÿ ïîñëå òîãî, êàê ïðîãðàììà çàïóùåíà? Îòâåò: ñ ïîìîùüþ èíñòðóêöèé (èëè êîäà) â ñàìîé ïðîãðàììå. Ðàññêàæèòå, ÷òî ôîðìû è ýëåìåíòû óïðàâëåíèÿ ñóòü ïðîãðàììíûå îáúåêòû, è äëÿ îáðàùåíèÿ ê èõ ñâîéñòâàì â ïðîãðàììàõ íà ÿçûêå Visual Basic .NET íóæíî èñïîëüçîâàòü òî÷å÷íóþ íîòàöèþ âèäà Îáúåêò.Ñâîéñòâî. Ïîñëå ýòîãî ó÷àùèåñÿ ìîãóò íà÷àòü ðàáîòó íàä ïðîåêòàìè «×òåíèå ñâîéñòâ» è «Óñòàíîâêà ñâîéñòâ», à âû êîíòðîëèðîâàòü õîä åå âûïîëíåíèÿ. Çàòåì ïåðåéäèòå ê îáúÿñíåíèþ ñóòè òåõíîëîãèè IntelliSence. Ðàññêàæèòå, êàê ñ åå ïîìîùüþ â ñèñòåìå ïðîãðàììèðîâàíèÿ Visual Studio .NET óïðîùàåòñÿ ïðîöåññ íàïèñàíèÿ îïåðàòîðîâ, â êîòîðûõ îñóùåñòâëÿåòñÿ îáðàùåíèå ê ñâîéñòâàì òåõ èëè èíûõ ïðîãðàììíûõ îáúåêòîâ. Äàëåå îáðàòèòå âíèìàíèå ó÷åíèêîâ, ÷òî â ñïèñêå IntelliSence êðîìå ñâîéñòâ ïðèñóòñòâóþò òàêæå è ìåòîäû. Íàïîìíèòå, ÷òî ñ ïîìîùüþ ñâîéñòâ ðàçðàáîò÷èê ìîæåò çàäàâàòü õàðàêòåðèñòèêè îáúåêòîâ, à ìåòîäû ïîçâîëÿþò åìó óïðàâëÿòü äåéñòâèÿìè ýòèõ îáúåêòîâ ïðè ðàáîòå ïðîãðàììû. Ñäåëàéòå àêöåíò íà òîì, ÷òî ñîâåðøåííî íå ñëó÷àéíî íàçâàíèÿ ñâîéñòâ ýòî ñóùåñòâèòåëüíûå (íàïðèìåð, TextBox1.Text), à íàçâàíèÿ ìåòîäîâ ãëàãîëû (íàïðèìåð, TextBox1.Update).
6. Ðåêîìåíäàöèè ïî êóðñó «Ïðîãðàììèðîâàíèå íà Visual Basic .NET»
41
 õîäå èçó÷åíèÿ ìàòåðèàëà ìîäóëÿ ó÷àùèåñÿ ìîãóò âûïîëíÿòü çàäàíèÿ ïî ó÷åáíîìó ïîñîáèþ, âàøà çàäà÷à ñîñòîèò â òîì, ÷òîáû êîíòðîëèðîâàòü, êàê îíè âûïîëíÿþòñÿ. Áëèæå ê êîíöó ìîäóëÿ ñ ïîìîùüþ òåñòà 5 ïðîâåðüòå, êàê ó÷åíèêè óñâîèëè ïðîéäåííûé ìàòåðèàë.
Ìîäóëü 6. Ïðèñâàèâàíèå è ïåðåìåííûå Ïðèìåðíîå âðåìÿ èçëîæåíèÿ òåîðåòè÷åñêîãî ìàòåðèàëà: Ïðèìåðíîå âðåìÿ ïðîâåäåíèÿ ïðàêòè÷åñêèõ çàíÿòèé:
2 ÷. 4 ÷.
Äëÿ ïîäãîòîâêè ê ïðîâåäåíèþ çàíÿòèé â äàííîì ìîäóëå q
âíèìàòåëüíî ïðî÷èòàéòå ìàòåðèàëû ãëàâû 6 ó÷åáíîãî ïîñîáèÿ;
q
âûïîëíèòå âñå ïðèâåäåííûå â òåêñòå ó÷åáíîãî ïîñîáèÿ ïðàêòè÷åñêèå çàäàíèÿ ïî ñîçäàíèþ ïðîåêòîâ â ñèñòåìå Visual Studio .NET;
q
îçíàêîìüòåñü ñ ñîäåðæèìûì 6-é ÷àñòè â ðàçäåëå «Ïðàêòèêóì ïî ïðîãðàììèðîâàíèþ íà Visual Basic .NET» íà êîìïàêò-äèñêå Microsoft-CD;
q
îòâåòüòå íà âîïðîñû òåñòà 6.
Êàê ó÷èòü â äàííîì ìîäóëå  íà÷àëå çàíÿòèé çàïèøèòå íà äîñêå óæå çíàêîìûé ó÷àùèìñÿ îïåðàòîð âèäà TextBox1.Text = Òåêñò è ïîïðîñèòå êîãî-íèáóäü èç íèõ îáúÿñíèòü, ÷òî îçíà÷àåò òàêàÿ êîíñòðóêöèÿ. Åñëè îòâåò áóäåò ïðàâèëüíûì, ïîâòîðèòå åãî. Íå çàáóäüòå äàòü íàçâàíèå ýòîãî îïåðàòîðà è îáúÿñíèòå, ÷òî ïðèñâàèâàåòñÿ (òåêñò) è ÷åìó (ñâîéñòâó îáúåêòà). Çàòåì íà ïðèìåðå ñâîéñòâà Text ðàññêàæèòå, ÷òî âûðàæåíèå TextBox1.Text = TextBox1.ForeColor ÿâëÿåòñÿ îøèáî÷íûì èç-çà íåñîîòâåòñòâèÿ òèïîâ âåëè÷èí ñëåâà è ñïðàâà îò çíàêà ðàâåíñòâà. Èñïîëüçóéòå êàêèå-ëèáî àíàëîãèè èç îáûäåííîé æèçíè, íàïðèìåð íåâîçìîæíîñòü ïîñòàâèòü àâòîáóñ â ãàðàæ äëÿ ëåãêîâîãî àâòîìîáèëÿ. Îáúÿñíèòå, ÷òî òèï âåëè÷èíû îïðåäåëÿåò ìíîæåñòâî çíà÷åíèé, êîòîðûå îíà ìîæåò ïðèíèìàòü, è íàáîð îïåðàöèé, êîòîðûå íàä
42
Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET íåé ìîæíî ïðîèçâîäèòü (êîíêðåòíûå äèàïàçîíû çíà÷åíèé äëÿ äàííûõ ðàçëè÷íûõ òèïîâ ïðèâåäåíû â òàáë. 6 ïðèëîæåíèÿ 3). Äàëåå ïåðåõîäèòå ê ðàññìîòðåíèþ ïîíÿòèÿ ïåðåìåííîé, êîòîðóþ ìîæíî îïðåäåëèòü êàê èìåíîâàííóþ îáëàñòü ïàìÿòè, ãäå ìîæåò õðàíèòüñÿ êàêàÿ-òî èíôîðìàöèÿ (äàííûå). Ðàññêàæèòå î ðàçíûõ òèïàõ ïåðåìåííûõ, êîòîðûå ìîæíî èñïîëüçîâàòü â Visual Basic .NET, à òàêæå î ïðàâèëàõ çàïèñè çíà÷åíèé ýòèõ ïåðåìåííûõ. Ïîïðîñèòå ó÷àùèõñÿ ñîçäàòü ïðîåêò «Öâåò» è ïîýêñïåðèìåíòèðîâàòü ñ òèïàìè äàííûõ êëàññà System. Ðàññêàæèòå î íåîáõîäèìîñòè îáúÿâëåíèÿ ïåðåìåííûõ â ïðîãðàììå ñ ïîìîùüþ îïåðàòîðà Dim. Ðàññìîòðèòå ðàçíûå ñïîñîáû çàïèñè ýòîãî îïåðàòîðà è ñôîðìóëèðóéòå îñíîâíûå ïðàâèëà èìåíîâàíèÿ ïåðåìåííûõ. Ðàññêàçûâàÿ î ëîêàëüíûõ è ãëîáàëüíûõ ïåðåìåííûõ, ìîæíî óïîìÿíóòü, ÷òî â Visual Basic .NET îáðàáîò÷èê ñîáûòèé ýòî îäèí èç âèäîâ ïîäïðîãðàìì, êîòîðûå áóäóò ðàññìîòðåíû â êîíöå êóðñà. Ëîêàëüíûìè ÿâëÿþòñÿ ëþáûå ïåðåìåííûå, êîòîðûå îáúÿâëåíû â ïîäïðîãðàììå. Ïîñëå ýòîãî ó÷àùèåñÿ ìîãóò ïðèñòóïàòü ê âûïîëíåíèþ îñòàâøèõñÿ çàäàíèé äàííîãî ìîäóëÿ. Íå çàáóäüòå îöåíèòü ñòåïåíü óñâîåíèÿ ïðîéäåííîãî ìàòåðèàëà ñ ïîìîùüþ òåñòà 6.
Ìîäóëü 7. Îïåðàöèè Ïðèìåðíîå âðåìÿ èçëîæåíèÿ òåîðåòè÷åñêîãî ìàòåðèàëà: Ïðèìåðíîå âðåìÿ ïðîâåäåíèÿ ïðàêòè÷åñêèõ çàíÿòèé:
2 ÷. 4 ÷.
Äëÿ ïîäãîòîâêè ê ïðîâåäåíèþ çàíÿòèé â äàííîì ìîäóëå q
âíèìàòåëüíî ïðî÷èòàéòå ìàòåðèàëû ãëàâû 7 ó÷åáíîãî ïîñîáèÿ;
q
âûïîëíèòå âñå ïðèâåäåííûå â òåêñòå ó÷åáíîãî ïîñîáèÿ ïðàêòè÷åñêèå çàäàíèÿ ïî ñîçäàíèþ ïðîåêòîâ â ñèñòåìå Visual Studio .NET;
q
îçíàêîìüòåñü ñ ñîäåðæèìûì 7-é ÷àñòè â ðàçäåëå «Ïðàêòèêóì ïî ïðîãðàììèðîâàíèþ íà Visual Basic .NET» íà êîìïàêò-äèñêå Microsoft-CD;
q
îòâåòüòå íà âîïðîñû òåñòà 7.
Êàê ó÷èòü â äàííîì ìîäóëå Îáúÿñíèòå, ÷òî òàêîå îïåðàöèÿ, ïîêàæèòå îáùèé ñèíòàêñèñ äëÿ ðàçíûõ îïåðàöèé.  êà÷åñòâå ïðèìåðà ìîæíî èñïîëüçîâàòü àðèôìåòè÷åñêèå
6. Ðåêîìåíäàöèè ïî êóðñó «Ïðîãðàììèðîâàíèå íà Visual Basic .NET»
43
îïåðàöèè (+, –, *, /). Îáðàòèòå âíèìàíèå íà ïðèîðèòåò îïåðàöèé, ðàññêàæèòå î âîçìîæíîñòè èñïîëüçîâàíèÿ ñêîáîê äëÿ èçìåíåíèÿ ïîðÿäêà âû÷èñëåíèé. Çàòåì íàïîìíèòå ó÷àùèìñÿ, ÷òî òàêîå îïåðàòîð ïðèñâàèâàíèÿ. Íå çàáóäüòå ñêàçàòü, ÷òî â êà÷åñòâå îïåðàíäîâ â âûðàæåíèè ñïðàâà ìîæíî èñïîëüçîâàòü ëþáûå ïåðåìåííûå äàæå ñòîÿùóþ â ëåâîé ÷àñòè îïåðàòîðà ïðèñâàèâàíèÿ è ÷òî ïðèñâàèâàíèå ïðîèñõîäèò òîëüêî ïîñëå çàâåðøåíèÿ âû÷èñëåíèÿ çíà÷åíèÿ âûðàæåíèÿ. Âïîëíå ìîæíî èñïîëüçîâàòü êîíñòðóêöèþ âèäà a = a + a Òàêæå íàïîìíèòå, ÷òî òèïû âåëè÷èí â ëåâîé è ïðàâîé ÷àñòÿõ îïåðàòîðà ïðèñâàèâàíèÿ äîëæíû ñîâïàäàòü. Îáúÿñíèòå, êàê ìîæíî èñïîëüçîâàòü ôóíêöèþ Val() äëÿ ïðåîáðàçîâàíèÿ ñòðîê â ÷èñëà. Äàéòå ó÷åíèêàì çàäàíèå ñîçäàòü ïðîåêò «Öåíà áåíçèíà-2». Ðàññêàæèòå îá îïåðàöèè êîíêàòåíàöèè ñòðîê. Íå çàáóäüòå íàïîìíèòü ó÷åíèêàì î òîì, ÷òî Visual Basic .NET íå âñòàâëÿåò ìåæäó ñòðîêàìè ïðîáåëû, òàê ÷òî ýòî äîëæåí äåëàòü ñàì ïðîãðàììèñò. Çàòåì ðàññêàæèòå î áóëåâîé ëîãèêå, âåëè÷èíàõ True è False. Ïåðåéäèòå ê ëîãè÷åñêèì îïåðàöèÿì AND, NOT, OR, óïîìÿíóâ î òàáëèöàõ èñòèííîñòè ñîîòâåòñòâóþùèõ îïåðàöèé (ýòè òàáëèöû ïðèâåäåíû â ãëàâå 8 ó÷åáíîãî ïîñîáèÿ). Äàéòå ó÷àùèìñÿ çàäàíèÿ íà âû÷èñëåíèå ðåçóëüòàòîâ âûðàæåíèé ñ ëîãè÷åñêèìè îïåðàöèÿìè (èñïîëüçóéòå ïðèìåðû, ïðèâåäåííûå â ó÷åáíîì ïîñîáèè, ëèáî ïðèäóìàéòå ñâîè). Ðàññêàæèòå îá îïåðàöèÿõ ñðàâíåíèÿ (<, >, <=, >=, <>, =). Íå çàáóäüòå óïîìÿíóòü î òîì, ÷òî ïðè ïîìîùè íèõ ìîæíî ñðàâíèâàòü íå òîëüêî ÷èñëà, íî è ñòðîêè èëè áóëåâû âûðàæåíèÿ. Ïîñëå ýòîãî îáúÿñíèòå ó÷åíèêàì, ÷òî òàêîå îòëàäêà. Îáðàòèòå îñîáîå âíèìàíèå íà òî, ÷òî åñëè íåïîíÿòíî, ïî÷åìó òîò èëè èíîé êîä íå ðàáîòàåò, ñëåäóåò èñïîëüçîâàòü îòëàäî÷íûå ñðåäñòâà Visual Studio .NET, à íå ïûòàòüñÿ çàñòàâèòü êîä ðàáîòàòü ìåòîäîì ïðîá è îøèáîê. Ïîêàæèòå, êàê Visual Studio .NET ïîìîãàåò âûÿâëÿòü îøèáêè â êîäå åùå ïðè åãî íàïèñàíèè (íà ïðèìåðå íåîáúÿâëåííîé ïåðåìåííîé), à çàòåì îáúÿñíèòå ó÷åíèêàì, êàê ìîæíî èñïîëüçîâàòü òî÷êè îñòàíîâà è ïîøàãîâîå âûïîëíåíèå äëÿ îòëàäêè âî âðåìÿ âûïîëíåíèÿ ïðîãðàììû. Ïðîâåðüòå óñâîåíèå ïðîéäåííîãî ìàòåðèàëà ñ ïîìîùüþ òåñòà 7.
44
Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET
Ìîäóëü 8. Âåòâëåíèå: íåïîëíàÿ ôîðìà Ïðèìåðíîå âðåìÿ èçëîæåíèÿ òåîðåòè÷åñêîãî ìàòåðèàëà: Ïðèìåðíîå âðåìÿ ïðîâåäåíèÿ ïðàêòè÷åñêèõ çàíÿòèé:
2 ÷. 4 ÷.
Äëÿ ïîäãîòîâêè ê ïðîâåäåíèþ çàíÿòèé â äàííîì ìîäóëå q
âíèìàòåëüíî ïðî÷èòàéòå ìàòåðèàëû ãëàâû 8 ó÷åáíîãî ïîñîáèÿ;
q
âûïîëíèòå âñå ïðèâåäåííûå â òåêñòå ó÷åáíîãî ïîñîáèÿ ïðàêòè÷åñêèå çàäàíèÿ ïî ñîçäàíèþ ïðîåêòîâ â ñèñòåìå Visual Studio .NET;
q
îçíàêîìüòåñü ñ ñîäåðæèìûì 8-é ÷àñòè â ðàçäåëå «Ïðàêòèêóì ïî ïðîãðàììèðîâàíèþ íà Visual Basic .NET» íà êîìïàêò-äèñêå Microsoft-CD;
q
îòâåòüòå íà âîïðîñû òåñòà 8.
Êàê ó÷èòü â äàííîì ìîäóëå Íàïîìíèòå ó÷åíèêàì î ëîãè÷åñêèõ îïåðàöèÿõ è ïðàâèëàõ èõ âûïîëíåíèÿ. Ðàññêàæèòå î ñèíòàêñèñå óñëîâíîãî îïåðàòîðà «åñëè
òî» (If … Then … End If), ïîñëå ÷åãî äàéòå ó÷åíèêàì çàäàíèå ñîçäàòü ïðîåêò «If_Then», ðóêîâîäñòâóÿñü ïðèâåäåííûìè â ó÷åáíîì ïîñîáèè èíñòðóêöèÿìè. Ïðè íåîáõîäèìîñòè îêàçûâàéòå èì ïîääåðæêó è êîíñóëüòèðóéòå ïî âîïðîñàì âûïîëíåíèÿ òåõ èëè èíûõ äåéñòâèé. Íàïîìíèòå î âûäåëåíèè êîäà îòñòóïàìè ïðè èñïîëüçîâàíèè äàííîãî îïåðàòîðà. Íå çàáóäüòå ðàññêàçàòü î äâóõ ôîðìàõ çàïèñè óñëîâíîãî îïåðàòîðà: îäíîñòðî÷íîé (áåç End If) è ìíîãîñòðî÷íîé. Ìîæíî òàêæå ðàññêàçàòü î âîçìîæíîñòè çàïèñè íåñêîëüêèõ îïåðàòîðîâ íà îäíîé ñòðîêå (ðàçäåëÿÿ èõ ñèìâîëîì «:»). Óïîìÿíèòå î òîì, ÷òî âû÷èñëåíèå ðåçóëüòàòîâ ëîãè÷åñêèõ îïåðàöèé â ïðèëîæåíèÿõ .NET èäåò ïî êðàòêîé ôîðìå: åñëè çíà÷åíèÿ ëåâîãî àðãóìåíòà ëîãè÷åñêîé îïåðàöèè äîñòàòî÷íî äëÿ ïîëó÷åíèÿ ðåçóëüòàòà (íàïðèìåð, A AND B âñåãäà ëîæíî, åñëè A ëîæíî), çíà÷åíèå ïðàâîãî àðãóìåíòà íå áóäåò âû÷èñëÿòüñÿ. Ïîñëå ýòîãî îáúÿñíèòå, êàê ìîæíî èñïîëüçîâàòü ïîñëåäîâàòåëüíîñòè îïåðàòîðîâ If … Then äëÿ âûáîðà ðàçëè÷íûõ âàðèàíòîâ âûïîëíåíèÿ êîäà è ðàññêàæèòå î âîçìîæíîñòè èñïîëüçîâàíèÿ ëîãè÷åñêèõ îïåðàöèé äëÿ ïðîâåðêè èñòèííîñòè íåñêîëüêèõ óñëîâèé (ïðîåêò «Âûáîð öâåòà»). Ñ ïîìîùüþ òåñòà 8 îöåíèòå ñòåïåíü óñâîåíèÿ ïðîéäåííîãî ìàòåðèàëà.
6. Ðåêîìåíäàöèè ïî êóðñó «Ïðîãðàììèðîâàíèå íà Visual Basic .NET»
45
Ìîäóëü 9. Âåòâëåíèå: ïîëíàÿ ôîðìà Ïðèìåðíîå âðåìÿ èçëîæåíèÿ òåîðåòè÷åñêîãî ìàòåðèàëà: Ïðèìåðíîå âðåìÿ ïðîâåäåíèÿ ïðàêòè÷åñêèõ çàíÿòèé:
2 ÷. 4 ÷.
Äëÿ ïîäãîòîâêè ê ïðîâåäåíèþ çàíÿòèé â äàííîì ìîäóëå q
âíèìàòåëüíî ïðî÷èòàéòå ìàòåðèàëû ãëàâû 9 ó÷åáíîãî ïîñîáèÿ;
q
âûïîëíèòå âñå ïðèâåäåííûå â òåêñòå ó÷åáíîãî ïîñîáèÿ ïðàêòè÷åñêèå çàäàíèÿ ïî ñîçäàíèþ ïðîåêòîâ â ñèñòåìå Visual Studio .NET;
q
îçíàêîìüòåñü ñ ñîäåðæèìûì 9-é ÷àñòè â ðàçäåëå «Ïðàêòèêóì ïî ïðîãðàììèðîâàíèþ íà Visual Basic .NET» íà êîìïàêò-äèñêå Microsoft-CD;
q
îòâåòüòå íà âîïðîñû òåñòà 9.
Êàê ó÷èòü â äàííîì ìîäóëå Ðàññêàæèòå î âîçìîæíîñòè âëîæåíèÿ îïåðàòîðîâ If … Then äðóã â äðóãà äëÿ òîãî, ÷òîáû êàêîé-òî êîä âûïîëíÿëñÿ òîëüêî ïðè èñòèííîñòè íåñêîëüêèõ óñëîâèé. Óïîìÿíèòå, ÷òî íåò íèêàêèõ îãðàíè÷åíèé íà óðîâåíü âëîæåííîñòè îïåðàòîðîâ. Çàòåì ïåðåéäèòå ê íåîáõîäèìîñòè âûïîëíåíèÿ ðàçíûõ äåéñòâèé ïðè èñòèííîñòè è ëîæíîñòè êàêîãî-ëèáî óñëîâèÿ. Ïðèâåäèòå ïðèìåð ñ äâóìÿ ïîñëåäîâàòåëüíûìè îïåðàòîðàìè If … Then ñ ïðîòèâîïîëîæíûìè óñëîâèÿìè. Îáúÿñíèòå, ÷òî òàêîé ïîäõîä îòíèìàåò ëèøíåå âðåìÿ è ëåãêî ìîæåò ñòàòü ïðè÷èíîé îøèáîê, åñëè óñëîâèå íóæíî áóäåò èçìåíèòü. Ðàññêàæèòå îá îïåðàòîðå If … Then … Else, ïîñëå ÷åãî äàéòå ó÷åíèêàì çàäàíèå ñîçäàòü ïðîåêò «If-Then-Else», ðóêîâîäñòâóÿñü èíñòðóêöèÿìè èç ó÷åáíîãî ïîñîáèÿ. Óïîìÿíèòå, ÷òî ó ýòîãî îïåðàòîðà òàêæå åñòü îäíîñòðî÷íàÿ ôîðìà çàïèñè. Ïîñîâåòóéòå ó÷åíèêàì ñ ïîìîùüþ îòëàäî÷íûõ ñðåäñòâ Visual Studio .NET (íàïðèìåð, ïîøàãîâîãî âûïîëíåíèÿ ïðîãðàììû) ïðîâåðèòü, êàê âûïîëíÿåòñÿ êîä â îïåðàòîðàõ If … Then … Else. Êðàòêî ðàññêàæèòå îá îñíîâíûõ îòëè÷èÿõ îïåðàòîðà âåòâëåíèÿ â Visual Basic .NET è C# èëè J#. Çàîñòðèòå âíèìàíèå íà îòëè÷àþùèõñÿ îïåðàöèÿõ ñðàâíåíèÿ (== âìåñòî = è != âìåñòî <>), îòñóòñòâèè êëþ÷åâîãî ñëîâà Then, íåîáõîäèìîñòè çàêàí÷èâàòü îïåðàòîð òî÷êîé ñ çàïÿòîé. Îòìåòüòå, ÷òî â C# è J# ãðóïïû îïåðàòîðîâ çàêëþ÷àþòñÿ â ôèãóðíûå ñêîáêè. Ïðîâåðüòå óñâîåíèå ïðîéäåííîãî ìàòåðèàëà ñ ïîìîùüþ òåñòà 9.
46
Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET
Ìîäóëü 10. Öèêëû ñî ñ÷åò÷èêîì Ïðèìåðíîå âðåìÿ èçëîæåíèÿ òåîðåòè÷åñêîãî ìàòåðèàëà: Ïðèìåðíîå âðåìÿ ïðîâåäåíèÿ ïðàêòè÷åñêèõ çàíÿòèé:
2 ÷. 4 ÷.
Äëÿ ïîäãîòîâêè ê ïðîâåäåíèþ çàíÿòèé â äàííîì ìîäóëå q
âíèìàòåëüíî ïðî÷èòàéòå ìàòåðèàëû ãëàâû 10 ó÷åáíîãî ïîñîáèÿ;
q
âûïîëíèòå âñå ïðèâåäåííûå â òåêñòå ó÷åáíîãî ïîñîáèÿ ïðàêòè÷åñêèå çàäàíèÿ ïî ñîçäàíèþ ïðîåêòîâ â ñèñòåìå Visual Studio .NET;
q
îçíàêîìüòåñü ñ ñîäåðæèìûì 10-é ÷àñòè â ðàçäåëå «Ïðàêòèêóì ïî ïðîãðàììèðîâàíèþ íà Visual Basic .NET» íà êîìïàêò-äèñêå Microsoft-CD;
q
îòâåòüòå íà âîïðîñû òåñòà 10.
Êàê ó÷èòü â äàííîì ìîäóëå  íà÷àëå ìîäóëÿ îáñóäèòå íåîáõîäèìîñòü ïîääåðæêè öèêëîâ â ëþáîì ÿçûêå ïðîãðàììèðîâàíèÿ, èñïîëüçóÿ ïðèìåðû èç ó÷åáíîãî ïîñîáèÿ. Óïîìÿíèòå î ðàçíûõ âèäàõ öèêëîâ (ñî ñ÷åò÷èêîì, ñ óñëîâèåì). Çàòåì ðàññêàæèòå î ñèíòàêñèñå îïåðàòîðà For … Next, îáðàòèâ âíèìàíèå íà òî, ÷òî ê çíà÷åíèþ ïåðåìåííîé-ñ÷åò÷èêà ìîæíî îáðàùàòüñÿ âíóòðè öèêëà. Ðàññêàæèòå î êëþ÷åâîì ñëîâå Step, ïîçâîëÿþùåì îïðåäåëÿòü øàã öèêëà, ïîñëå ÷åãî äàéòå ó÷åíèêàì çàäàíèå ñîçäàòü ïðîåêò «For-Next». Ïðåäëîæèòå èì âîñïîëüçîâàòüñÿ ïîøàãîâûì âûïîëíåíèåì ïðîãðàììû, ÷òîáû âûÿñíèòü, êàê âûïîëíÿåòñÿ öèêë For … Next. Çàòåì ðàññêàæèòå î âîçìîæíîñòè âêëàäûâàòü äðóã â äðóãà öèêëû è äðóãèå îïåðàòîðû. Îáúÿñíèòå, êàê èñïîëüçîâàòü îïåðàòîð Exit For äëÿ ïðåæäåâðåìåííîãî âûõîäà èç öèêëà íà ïðèìåðå ïðîåêòà «Âûõîä èç öèêëîâ». Ïîñëå ýòîãî äàéòå ó÷åíèêàì çàäàíèå ñîçäàòü ïðîåêò «Ïðîñòûå ÷èñëà», ðóêîâîäñòâóÿñü ïðèâåäåííûìè â ó÷åáíîì ïîñîáèè èíñòðóêöèÿìè. Ïðè íåîáõîäèìîñòè êîíñóëüòèðóéòå èõ ïî âîïðîñàì âûïîëíåíèÿ òåõ èëè èíûõ äåéñòâèé. Îáðàòèòå âíèìàíèå íà íåîáõîäèìîñòü èñïîëüçîâàíèÿ â äàííîì ïðîåêòå îïåðàòîðà Exit For (åñëè â öèêëå ïðîâåðêè ÷èñëà íà äåëèìîñòü ïîëó÷èëîñü, ÷òî ýòî ÷èñëî äåëèòñÿ íà ÷òî-òî, êðîìå ñàìîãî ñåáÿ è åäèíèöû), òàê êàê áåç íåãî áîëüøàÿ ÷àñòü âû÷èñëåíèé ïðè ðàáîòå äàííîé ïðîãðàììû áóäåò èäòè âïóñòóþ. Êðàòêî ðàññêàæèòå îá îñíîâíûõ îòëè÷èÿõ îïåðàòîðà öèêëà ñî ñ÷åò÷èêîì â Visual Basic .NET è C# èëè J#: èíèöèàëèçàöèè ïåðåìåííîé-ñ÷åò÷èêà â ñàìîì öèêëå, äðóãîé ôîðìå çàïèñè êîíå÷íîãî óñëîâèÿ, îïåðàòîðå ++. Ïðîâåðüòå óñâîåíèå ïðîéäåííîãî ìàòåðèàëà ñ ïîìîùüþ òåñòà 10.
6. Ðåêîìåíäàöèè ïî êóðñó «Ïðîãðàììèðîâàíèå íà Visual Basic .NET»
47
Ìîäóëü 11. Öèêëû ñ óñëîâèåì Ïðèìåðíîå âðåìÿ èçëîæåíèÿ òåîðåòè÷åñêîãî ìàòåðèàëà: Ïðèìåðíîå âðåìÿ ïðîâåäåíèÿ ïðàêòè÷åñêèõ çàíÿòèé:
2 ÷. 4 ÷.
Äëÿ ïîäãîòîâêè ê ïðîâåäåíèþ çàíÿòèé â äàííîì ìîäóëå q
âíèìàòåëüíî ïðî÷èòàéòå ìàòåðèàëû ãëàâû 11 ó÷åáíîãî ïîñîáèÿ;
q
âûïîëíèòå âñå ïðèâåäåííûå â òåêñòå ó÷åáíîãî ïîñîáèÿ ïðàêòè÷åñêèå çàäàíèÿ ïî ñîçäàíèþ ïðîåêòîâ â ñèñòåìå Visual Studio .NET;
q
îçíàêîìüòåñü ñ ñîäåðæèìûì 11-é ÷àñòè â ðàçäåëå «Ïðàêòèêóì ïî ïðîãðàììèðîâàíèþ íà Visual Basic .NET» íà êîìïàêò-äèñêå Microsoft-CD;
q
îòâåòüòå íà âîïðîñû òåñòà 11.
Êàê ó÷èòü â äàííîì ìîäóëå Îáúÿñíèòå, ÷òî â íåêîòîðûõ ñëó÷àÿõ èñïîëüçîâàòü öèêëû ñî ñ÷åò÷èêîì íåëüçÿ, òàê êàê íåèçâåñòíî êîëè÷åñòâî âûïîëíåíèé öèêëà. Ðàññêàæèòå î öèêëàõ ñ óñëîâèåì, ïîñëå ÷åãî îáúÿñíèòå ñèíòàêñèñ îïåðàòîðà Do While…Loop. Ïðèâåäèòå ïðèìåðû ïîäîáíûõ öèêëîâ (èõ ìîæíî âçÿòü èç ó÷åáíîãî ïîñîáèÿ), îáðàòèâ îñîáîå âíèìàíèå íà òî, ÷òî óñëîâèå íå îáÿçàòåëüíî äîëæíî ñîäåðæàòü â ñåáå êàêîé-òî ñ÷åò÷èê. Ïðè ïîìîùè îòëàäî÷íûõ ñðåäñòâ Visual Studio .NET ïîøàãîâî ïîêàæèòå, êàê ïðîõîäèò âûïîëíåíèå öèêëà Do While…Loop. Óïîìÿíèòå î òîì, ÷òî îøèáêè, äîïóùåííûå ïðè íàïèñàíèè ïðîãðàììû, ìîãóò ïðèâåñòè ê ïîÿâëåíèþ áåñêîíå÷íîãî öèêëà, ïîêàæèòå, êàê ïðè ýòîì îñòàíîâèòü ïðîãðàììó. Çàòåì ðàññêàæèòå î öèêëàõ Do Until…Loop è î öèêëàõ ñ ïîñòóñëîâèåì (îáðàòèòå îñîáîå âíèìàíèå íà òî, ÷òî îíè âûïîëíÿþòñÿ êàê ìèíèìóì îäèí ðàç). Äàéòå ó÷åíèêàì çàäàíèå ñîçäàòü ïðîåêò «Do-While-Loop-2», ïîñëå ýòîãî ïîïðîñèòå ìîäèôèöèðîâàòü åãî òàê, ÷òîáû èñïîëüçîâàëñÿ öèêë Do Until…Loop. Êðàòêî ðàññêàæèòå îá îñíîâíûõ îòëè÷èÿõ îïåðàòîðà öèêëà ñî ñ÷åò÷èêîì â Visual Basic .NET è C# èëè J#: îòñóòñòâèè êëþ÷åâûõ ñëîâ Until è Loop è ðàçíèöå â ñèíòàêñèñå îïåðàòîðà öèêëà. Ïðîâåðüòå óñâîåíèå ïðîéäåííîãî ìàòåðèàëà ñ ïîìîùüþ òåñòà 11.
48
Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET
Ìîäóëü 12. Ïîäïðîãðàììû è ôóíêöèè Ïðèìåðíîå âðåìÿ èçëîæåíèÿ òåîðåòè÷åñêîãî ìàòåðèàëà: Ïðèìåðíîå âðåìÿ ïðîâåäåíèÿ ïðàêòè÷åñêèõ çàíÿòèé:
2 ÷. 4 ÷.
Äëÿ ïîäãîòîâêè ê ïðîâåäåíèþ çàíÿòèé â äàííîì ìîäóëå q
âíèìàòåëüíî ïðî÷èòàéòå ìàòåðèàëû ãëàâû 12 ó÷åáíîãî ïîñîáèÿ;
q
âûïîëíèòå âñå ïðèâåäåííûå â òåêñòå ó÷åáíîãî ïîñîáèÿ ïðàêòè÷åñêèå çàäàíèÿ ïî ñîçäàíèþ ïðîåêòîâ â ñèñòåìå Visual Studio .NET;
q
îçíàêîìüòåñü ñ ñîäåðæèìûì 12-é ÷àñòè â ðàçäåëå «Ïðàêòèêóì ïî ïðîãðàììèðîâàíèþ íà Visual Basic .NET» íà êîìïàêò-äèñêå Microsoft-CD;
q
îòâåòüòå íà âîïðîñû òåñòà 12.
Êàê ó÷èòü â äàííîì ìîäóëå Ðàññêàæèòå î òîì, ÷òî òàêîå ïîäïðîãðàììà, çà÷åì îíà íóæíà. Îáúÿñíèòå, ÷òî íàïèñàíèå è îòëàäêà íàáîðà ïîäïðîãðàìì, êàæäàÿ èç êîòîðûõ îòâå÷àåò çà íåêîòîðîå äåéñòâèå, íàìíîãî óäîáíåå íàïèñàíèÿ è îòëàäêè íåñòðóêòóðèðîâàííîé ïðîãðàììû. Óïîìÿíèòå, ÷òî ïîäïðîãðàììû ïîìîãàþò ïîâòîðíî èñïîëüçîâàòü óæå íàïèñàííûé êîä, óìåíüøàÿ ðàçìåð ïðîãðàììû, îáëåã÷àÿ îòëàäêó è ýêîíîìÿ âðåìÿ. Çàòåì ðàññêàæèòå î ñèíòàêñèñå îáúÿâëåíèÿ ïîäïðîãðàììû (â âàðèàíòàõ áåç àðãóìåíòîâ è ñ àðãóìåíòàìè). Îáúÿñíèòå, êàê íóæíî âûçûâàòü ïîäïðîãðàììû, óïîìÿíóâ î òîì, ÷òî ýòî ìîæíî äåëàòü îòêóäà óãîäíî äàæå èç äðóãèõ ïîäïðîãðàìì. Íàïîìíèòå ó÷àùèìñÿ, ÷òî òàêîå ëîêàëüíûå ïåðåìåííûå, íå çàáûâ óïîìÿíóòü î òîì, ÷òî ïîñëå çàâåðøåíèÿ ïîäïðîãðàììû îíè ñòàíîâÿòñÿ íåäîñòóïíûìè. Ïîñëå ýòîãî äàéòå ó÷åíèêàì çàäàíèå ñîçäàòü ïðîåêò «Ïîäïðîãðàììà», ðóêîâîäñòâóÿñü èíñòðóêöèÿìè èç ó÷åáíîãî ïîñîáèÿ. Çàòåì ðàññêàæèòå î ôóíêöèÿõ, îáÿçàòåëüíî óïîìÿíóâ î íåîáõîäèìîñòè âîçâðàòà êàêîãî-íèáóäü çíà÷åíèÿ. Ïîêàæèòå íà ïðèìåðå ïðîåêòà «Ôóíêöèÿ», ÷òî ïðè âûçîâå ôóíêöèè â êà÷åñòâå ïàðàìåòðà ìîæíî èñïîëüçîâàòü â òîì ÷èñëå è ðåçóëüòàò âûçîâà ëþáîé ôóíêöèè, äàæå òîé æå ñàìîé. Ðàññêàæèòå î âñòðîåííûõ ôóíêöèÿõ ïëàòôîðìû .NET, èñïîëüçóÿ ïðèìåðû èç ó÷åáíîãî ïîñîáèÿ. Êðàòêî ðàññêàæèòå îá îòëè÷èÿõ ñèíòàêñèñà ôóíêöèé è ïîäïðîãðàìì Visual Basic .NET è C# èëè J#. Ïðîâåðüòå óñâîåíèå ïðîéäåííîãî ìàòåðèàëà ñ ïîìîùüþ òåñòà 12.
7. Äîïîëíèòåëüíàÿ ëèòåðàòóðà
49
7. Äîïîëíèòåëüíàÿ ëèòåðàòóðà Êíèãè Ê íàñòîÿùåìó ìîìåíòó èçäàíî âåñüìà íåìàëî êíèã, êîòîðûå ìîãóò îêàçàòüñÿ ïîëåçíûìè ïðè ïîäãîòîâêå è ïðîâåäåíèè çàíÿòèé ïî îáñóæäàåìîìó â äàííîì ïîñîáèè êóðñó. Ýòî è êíèãè, ïîñâÿùåííûå òåõíîëîãèÿì .NET Framework, è èçäàíèÿ, â êîòîðûõ ðàññìàòðèâàþòñÿ èñïîëüçîâàíèå ñðåäû ðàçðàáîòêè Visual Studio .NET è ïðîãðàììèðîâàíèå íà ÿçûêå Visual Basic .NET. Íåêîòîðûå èç íèõ ïåðå÷èñëåíû íèæå: 1. Õàëüâîðñîí Ì. Visual Basic.NET. âåðñèÿ 2003. Ðóññêàÿ âåðñèÿ. (+CD). Ì.: ÝÊÎÌ. 2. Ðàìåë Ä. Visual Basic .NET. Ñïðàâî÷íèê ïðîãðàììèñòà. Ì.: ÝÊÎÌ, 2002. 3. Ãàðíàåâ À. Visual Basic .NET. Ðàçðàáîòêà ïðèëîæåíèé. ÑÏá.: ÁÕÂ-Ïåòåðáóðã, 2002. 4. Ïîíîìàðåâ Â. Visual Basic .NET. ÑÏá.: ÁÕÂ-Ïåòåðáóðã, 2003. 5. Äîëæåíêîâ Â., Ìîçãîâîé Ì. Visual Basic .NET. Ó÷åáíûé êóðñ. ÑÏá.: Ïèòåð, 2003. 6. Êëèìîâ À. Çàíèìàòåëüíîå ïðîãðàììèðîâàíèå íà Visual Basic .NET. ÑÏá.: ÁÕÂ-Ïåòåðáóðã, 2005. 7. Ãàðíàåâ À. Ñàìîó÷èòåëü Visual Studio .NET 2003. ÑÏá.: ÁÕÂ-Ïåòåðáóðã, 2003. 8. Äæîíñîí Á., Ñêèáî Ê., ßíã Ì. Îñíîâû Microsoft Visual Studio .NET 2003. Ì.: Ðóññêàÿ Ðåäàêöèÿ, 2003. 9. Òóàí Òàé, Õîíã Ê. Ëýì. Ïëàòôîðìà .NET. Îñíîâû. Ì.: Ñèìâîë-Ïëþñ, 2003.
Ññûëêè íà èíôîðìàöèþ î .NET Framework, Visual Studio .NET è Visual Basic .NET â Èíòåðíåòå 1. Ðóññêîÿçû÷íûé ñàéò êîðïîðàöèè Ìàéêðîñîôò, ïîñâÿùåííûé èñïîëüçîâàíèþ ñðåäû ðàçðàáîòêè Visual Studio .NET (âåðñèé 2003 è 2005): http://www.microsoft.com/Rus/Msdn/vs
2. Ðàçäåë óïîìÿíóòîãî âûøå ñàéòà î Visual Basic .NET: http://www.microsoft.com/Rus/Msdn/vbasic
50
Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET 3. Áèáëèîòåêà MSDN íà ðóññêîì ÿçûêå, ãäå ñîáðàíà áîëüøàÿ ïîäáîðêà äîêóìåíòàöèè: http://msdn.microsoft.com/library/rus
4. Îáùèå ñâåäåíèÿ î ïëàòôîðìå .NET, èíôîðìàöèÿ î ïðîãðàììèðîâàíèè äëÿ íåå, ïðèìåðû, äîïîëíèòåëüíûå ïðîãðàììû (íà àíãëèéñêîì ÿçûêå): http://msdn.microsoft.com/netframework
5. Àíàëîãè÷íûé ðóññêîÿçû÷íûé ñàéò ñî ñòàòüÿìè, ïðèìåðàìè, äîñêàìè îáñóæäåíèé è ò. ä.: http://www.gotdotnet.ru/
6. Àçû ïðîãðàììèðîâàíèÿ äëÿ .NET Framework (ïðèâåäåííûå ïðèìåðû íàïèñàíû, â îñíîâíîì, íà C# è C++): http://www.firststeps.ru/dotnet
7. Íåñêîëüêî ðóññêîÿçû÷íûõ ñàéòîâ, ãäå èìåþòñÿ ñòàòüè, ïðèìåðû êîäà, äîñêè îáñóæäåíèé ïî Visual Basic (ðàçíûõ âåðñèé): http://www.vbstreets.ru/ http://www.codenet.ru/progr/vbasic http://www.vbnet.ru/
8. Ïîäáîðêà ïðèìåðîâ êîäà íà Visual Basic è äðóãèõ ÿçûêàõ ïðîãðàììèðîâàíèÿ: http://www.freevbcode.com/
Ïðèëîæåíèå 1
Ðåàëèçàöèÿ îáúåêòíî-îðèåíòèðîâàííîãî ïðîãðàììèðîâàíèÿ â Visual Basic .NET Îáúåêòû (Objects). Îñíîâíîé åäèíèöåé â îáúåêòíî-îðèåíòèðîâàííîì ïðîãðàììèðîâàíèè ÿâëÿåòñÿ ïðîãðàììíûé îáúåêò, êîòîðûé îáúåäèíÿåò â ñåáå êàê îïèñûâàþùèå åãî äàííûå (ñâîéñòâà), òàê è ñðåäñòâà îáðàáîòêè ýòèõ äàííûõ (ìåòîäû). Åñëè ãîâîðèòü îáðàçíî, òî îáúåêòû ýòî ñóùåñòâèòåëüíûå, ñâîéñòâà îáúåêòà ýòî ïðèëàãàòåëüíûå, à ìåòîäû îáúåêòà ýòî ãëàãîëû. Îáúåêòû ÿâëÿþòñÿ ÷àñòüþ ïðèëîæåíèÿ è ïðåäñòàâëÿþò ñîáîé ñâîåîáðàçíûå «ñòðîèòåëüíûå áëîêè», èç êîòîðûõ ïðèëîæåíèå ñîçäàåòñÿ. È äàæå áîëåå òîãî, ñàìî ïðèëîæåíèå â öåëîì ÿâëÿåòñÿ îáúåêòîì. Ïðîãðàììíûå îáúåêòû îáëàäàþò ñâîéñòâàìè, ìîãóò èñïîëüçîâàòü ìåòîäû è ðåàãèðóþò íà ñîáûòèÿ. Ñâîéñòâà îáúåêòîâ (Properties). Êàæäûé îáúåêò îáëàäàåò îïðåäåëåííûì íàáîðîì ñâîéñòâ, ïåðâîíà÷àëüíûå çíà÷åíèÿ êîòîðûõ ìîæíî óñòàíîâèòü ñ èñïîëüçîâàíèåì äèàëîãîâîãî îêíà ñèñòåìû ïðîãðàììèðîâàíèÿ. Çíà÷åíèÿ ñâîéñòâ îáúåêòîâ ìîæíî èçìåíÿòü â ïðîãðàììíîì êîäå. Äëÿ ïðèñâàèâàíèÿ ñâîéñòâó îáúåêòà íîâîãî çíà÷åíèÿ â ëåâîé ÷àñòè ñòðîêè ïðîãðàììíîãî êîäà íåîáõîäèìî óêàçàòü èìÿ îáúåêòà è çàòåì íàçâàíèå ñâîéñòâà, êîòîðûå â ñîîòâåòñòâèè ñ ïðàâèëàìè òî÷å÷íîé íîòàöèè ðàçäåëÿþòñÿ ìåæäó ñîáîé òî÷êîé.  ïðàâîé ÷àñòè ñòðîêè íåîáõîäèìî çàïèñàòü êîíêðåòíîå çíà÷åíèå ñâîéñòâà: Îáúåêò.Ñâîéñòâî = Çíà÷åíèåÑâîéñòâà Ìåòîäû îáúåêòîâ (Methods). Äëÿ òîãî ÷òîáû îáúåêò âûïîëíèë êàêóþ-ëèáî îïåðàöèþ, íåîáõîäèìî ïðèìåíèòü ìåòîä, êîòîðûì îí îáëàäàåò. Ìíîãèå ìåòîäû èìåþò àðãóìåíòû, êîòîðûå ïîçâîëÿþò çàäàòü ïàðàìåòðû âûïîëíÿåìûõ äåéñòâèé. Äëÿ ïðèñâàèâàíèÿ àðãóìåíòàì êîíêðåòíûõ çíà-
52
Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET ÷åíèé èñïîëüçóåòñÿ äâîåòî÷èå è çíàê ðàâåíñòâà, à ìåæäó ñîáîé àðãóìåíòû ðàçäåëÿþòñÿ çàïÿòîé. Îáðàòèòüñÿ ê ìåòîäó îáúåêòà ìîæíî òàêæå ñ èñïîëüçîâàíèåì òî÷å÷íîé íîòàöèè. ×òîáû îïðåäåëèòü, äëÿ êàêîãî îáúåêòà âûçûâàåòñÿ ìåòîä, ïåðåä èìåíåì ìåòîäà óêàçûâàåòñÿ èìÿ îáúåêòà, îòäåëåííîå òî÷êîé:
Îáúåêò.Ìåòîä àðãóìåíò1:=çíà÷åíèå, àðãóìåíò2:=çíà÷åíèå
Ñîáûòèÿ (Events). Ñîáûòèå ïðåäñòàâëÿåò ñîáîé äåéñòâèå, ðàñïîçíàâàåìîå îáúåêòîì. Ñîáûòèå ìîæåò ñîçäàâàòüñÿ ïîëüçîâàòåëåì (íàïðèìåð, ùåë÷îê ìûøüþ èëè íàæàòèå êëàâèøè) èëè áûòü ðåçóëüòàòîì âîçäåéñòâèÿ äðóãèõ ïðîãðàììíûõ îáúåêòîâ.  êà÷åñòâå ðåàêöèè íà ñîáûòèÿ âûçûâàåòñÿ îïðåäåëåííàÿ ïðîöåäóðà, êîòîðàÿ ìîæåò èçìåíÿòü ñâîéñòâà îáúåêòà, âûçûâàòü åãî ìåòîäû è ò. ä. Êëàññû îáúåêòîâ ÿâëÿþòñÿ «øàáëîíàìè», îïðåäåëÿþùèìè íàáîðû ñâîéñòâ, ìåòîäîâ è ñîáûòèé, ïî êîòîðûì ñîçäàþòñÿ îáúåêòû. Îñíîâíûå êëàññû îáúåêòîâ ïðåäñòàâëÿþò îáúåêòû, ðåàëèçóþùèå ãðàôè÷åñêèé èíòåðôåéñ ïðîåêòîâ. Êëàññ ìîæåò ñîäåðæàòü ïåðåìåííûå, ñâîéñòâà, ïðîöåäóðû è ñîáûòèÿ. Êëàññû ìîãóò èìåòü âçàèìîîòíîøåíèÿ äðóã ñ äðóãîì, íàèáîëåå èçâåñòíûå èç íèõ ýòî: q
íàñëåäîâàíèå êîãäà êëàññ, óíàñëåäîâàííûé îò áàçîâîãî êëàññà, ïîëó÷àåò âñå äàííûå è êîä ðåàëèçàöèè íàñëåäóåìîãî êëàññà;
q
âêëþ÷åíèå êîãäà îäèí êëàññ ñîäåðæèò â ñåáå ïåðåìåííóþ, óêàçûâàþùóþ íà äðóãîé êëàññ, è èñïîëüçóåò åå äëÿ âûçîâà ÷ëåíîâ ýòîãî êëàññà. Äëÿ îïðåäåëåíèÿ êëàññà èñïîëüçóåòñÿ ñëåäóþùàÿ êîíñòðóêöèÿ:
Class ÈìÿÊëàññà [Inherits ÈìÿÁàçîâîãîÊëàññà] [Implements ÈìåíàÈíòåðôåéñîâ] [Ñïèñîê×ëåíîâÊëàññà] End Class ÈìÿÁàçîâîãîÊëàññà çàäàåò èìÿ áàçîâîãî êëàññà, îò êîòîðîãî óíàñëåäîâàí äàííûé. Åñëè ýòî èìÿ íå óêàçàíî, òî èñïîëüçóåòñÿ êëàññ System.Object. ÈìåíàÈíòåðôåéñîâ ýòî ïåðå÷èñëåíèå ÷åðåç çàïÿòóþ
Ïðèëîæåíèå 1
53
èìåí èíòåðôåéñîâ1, êîòîðûå ðåàëèçóåò äàííûé êëàññ. Ñïèñîê×ëåíîâÊëàññà çàäàåò ñïèñîê ïåðåìåííûõ, ñâîéñòâ, ïðîöåäóð èëè ñîáûòèé, îïðåäåëÿåìûõ â êëàññå. Êàæäûé èç ÷ëåíîâ êëàññà ìîæåò èìåòü îäèí èç ìîäèôèêàòîðîâ äîñòóïà, çàäàþùèé ïðàâà äîñòóïà ê ñîîòâåòñòâóþùåìó ÷ëåíó: q
Public ÷ëåí êëàññà äîñòóïåí èç ëþáîãî ìåñòà ïðèëîæåíèÿ;
q
Protected ÷ëåí êëàññà äîñòóïåí òîëüêî â êëàññå-ïîòîìêå, êîòîðûé åãî óíàñëåäîâàë;
q
Friend ÷ëåí êëàññà äîñòóïåí òîëüêî â ïðîãðàììíîì ìîäóëå (ñáîðêå), â êîòîðîì îí îïðåäåëåí;
q
Private ÷ëåí êëàññà äîñòóïåí òîëüêî âíóòðè îïðåäåëåíèÿ êëàññà è ìîæåò áûòü èñïîëüçîâàí òîëüêî èç äðóãèõ ïðîöåäóð òîãî æå ñàìîãî êëàññà;
q
Ðrotected Friend ÷ëåí êëàññà äîñòóïåí ëèáî òîëüêî â ïðîãðàììíîì ìîäóëå (ñáîðêå), â êîòîðîì îí îïðåäåëåí, ëèáî â êëàññå-ïîòîìêå, êîòîðûé åãî óíàñëåäîâàë.
Îáúåêò, ñîçäàííûé ïî «øàáëîíó» êëàññà îáúåêòîâ, ÿâëÿåòñÿ ýêçåìïëÿðîì êëàññà è íàñëåäóåò âåñü íàáîð ñâîéñòâ, ìåòîäîâ è ñîáûòèé äàííîãî êëàññà. Êàæäûé ýêçåìïëÿð êëàññà èìååò óíèêàëüíîå äëÿ äàííîãî êëàññà èìÿ. Ðàçëè÷íûå ýêçåìïëÿðû êëàññà îáëàäàþò îäèíàêîâûì íàáîðîì ñâîéñòâ, îäíàêî çíà÷åíèÿ ñâîéñòâ ó íèõ ìîãóò ðàçëè÷àòüñÿ.  ñëó÷àå åñëè ýêçåìïëÿð êëàññà ÿâëÿåòñÿ âèçóàëüíûì îáúåêòîì (widget) è ïðåäíàçíà÷åí äëÿ ïîìåùåíèÿ íà ôîðìó ïðèëîæåíèÿ, òî îí èìååò äîïîëíèòåëüíûé íàáîð ñâîéñòâ, ìåòîäîâ è ñîáûòèé, ïîçâîëÿþùèõ âèçóàëüíîìó îáúåêòó îòîáðàæàòü ñåáÿ íà ýêðàíå âíóòðè ôîðìû è âçàèìîäåéñòâîâàòü ñ ïîëüçîâàòåëåì (íàïðèìåð, ðåàãèðîâàòü íà ùåë÷îê ìûøüþ). Äëÿ ïîëó÷åíèÿ ïðîãðàììíîãî îáúåêòà íåîáõîäèìî ñîçäàòü ýêçåìïëÿð êëàññà, ïðè ýòîì êîëè÷åñòâî ñîçäàâàåìûõ ýêçåìïëÿðîâ íå îãðàíè÷åíî. Äëÿ ñîçäàíèÿ îáúåêòà èñïîëüçóåòñÿ îäíà èç ñëåäóþùèõ êîíñòðóêöèé:
1. Dim ÈìÿÏåðåìåííîé As ÈìÿÊëàññà  äàííîì ñëó÷àå ìû îáúÿâëÿåì ïåðåìåííóþ ÈìÿÏåðåìåííîé, èìåþùóþ òèï, çàäàííûé êàê ÈìÿÊëàññà. Ïðè ýòîì ýêçåìïëÿð îáúåêòà íå ñîçäàåòñÿ, ïîýòîìó â äàëüíåéøåì åãî íåîáõîäèìî ñîçäàòü ïðè ïîìîùè êëþ÷åâîãî ñëîâà New: 1
Òî åñòü ñïîñîáîâ âçàèìîäåéñòâèÿ ñ äðóãèìè ïðîãðàììíûìè îáúåêòàìè.
54
Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET ÈìÿÏåðåìåííîé = New ÈìÿÊëàññà
2. Dim ÈìÿÏåðåìåííîé As New ÈìÿÊëàññà  ýòîì ñëó÷àå ìû íå òîëüêî îáúÿâëÿåì ïåðåìåííóþ ÈìÿÏåðåìåííîé, èìåþùóþ òèï, çàäàííûé êàê ÈìÿÊëàññà, íî è ñðàçó ñîçäàåì íà îñíîâå ýòîãî êëàññà ýêçåìïëÿð îáúåêòà, ñîäåðæàùèé âñå íåîáõîäèìûå äàííûå è ãîòîâûé ê èñïîëüçîâàíèþ. Äëÿ èñïîëüçîâàíèÿ îïðåäåëåííûõ â êëàññå ïåðåìåííûõ, ñâîéñòâ, ïðîöåäóð èëè ñîáûòèé èñïîëüçóåòñÿ ñëåäóþùàÿ êîíñòðóêöèÿ: ÈìÿÏåðåìåííîé.Èìÿ×ëåíàÊëàññà Èìÿ×ëåíàÊëàññà ýòî íàçâàíèå ïåðåìåííîé, ñâîéñòâà, ïðîöåäóðû èëè ñîáûòèÿ, îïðåäåëåííîãî â êëàññå. Åñëè ïðè ýòîì âûçûâàåòñÿ ïðîöåäóðà, òî åé â ñïèñêå ïàðàìåòðîâ ïåðåäàþòñÿ íåîáõîäèìûå äëÿ âûçîâà äàííûå. Ãðàôè÷åñêèé èíòåðôåéñ. Ñèñòåìû îáúåêòíî-îðèåíòèðîâàííîãî ïðîãðàììèðîâàíèÿ ïîçâîëÿþò âèçóàëèçèðîâàòü ïðîöåññ ñîçäàíèÿ ãðàôè÷åñêîãî èíòåðôåéñà ðàçðàáàòûâàåìîãî ïðîåêòà, ò. å. ïîçâîëÿþò ñîçäàâàòü îáúåêòû è óñòàíàâëèâàòü çíà÷åíèÿ ñâîéñòâ ñ ïîìîùüþ äèàëîãîâûõ îêîí ñèñòåìû ïðîãðàììèðîâàíèÿ. Ãðàôè÷åñêèé èíòåðôåéñ íåîáõîäèì äëÿ ðåàëèçàöèè èíòåðàêòèâíîãî äèàëîãà ïîëüçîâàòåëÿ ñ ðàáîòàþùèì ïðîåêòîì. Îñíîâîé äëÿ ñîçäàíèÿ ãðàôè÷åñêîãî èíòåðôåéñà ðàçðàáàòûâàåìîãî ïðîåêòà ÿâëÿåòñÿ ôîðìà, ïðåäñòàâëÿþùàÿ ñîáîé îêíî, íà êîòîðîì ðàçìåùàþòñÿ ýëåìåíòû óïðàâëåíèÿ. Íåîáõîäèìî îòìåòèòü, ÷òî ãðàôè÷åñêèé èíòåðôåéñ ïðîåêòà ìîæåò âêëþ÷àòü â ñåáÿ íåñêîëüêî ôîðì. Ôîðìà ýòî îáúåêò, ïðåäñòàâëÿþùèé ñîáîé îêíî íà ýêðàíå, â êîòîðîì ðàçìåùàþòñÿ ýëåìåíòû óïðàâëåíèÿ. Âèçóàëüíîå êîíñòðóèðîâàíèå ãðàôè÷åñêîãî èíòåðôåéñà ïðîåêòà ñîñòîèò â òîì, ÷òî íà ôîðìó ñ ïîìîùüþ ìûøè ïîìåùàþòñÿ è «ðèñóþòñÿ» òå èëè èíûå ýëåìåíòû óïðàâëåíèÿ. Êëàññû ýëåìåíòîâ óïðàâëåíèÿ èìåþò ðàçëè÷íîå íàçíà÷åíèå â ãðàôè÷åñêîì èíòåðôåéñå ïðîåêòà. Òåêñòîâûå ïîëÿ, íàäïèñè è ñïèñêè îáû÷íî èñïîëüçóþòñÿ äëÿ ââîäà è âûâîäà äàííûõ, ãðàôè÷åñêèå îêíà äëÿ âûâîäà ãðàôèêè, êîìàíäíûå êíîïêè, ïåðåêëþ÷àòåëè è ôëàæêè äëÿ îðãàíèçàöèè äèàëîãà è ò. ä.
Ïðèëîæåíèå 1
55
Íà ôîðìó ìîæåò áûòü ïîìåùåíî íåñêîëüêî ýêçåìïëÿðîâ îäíîãî êëàññà ýëåìåíòîâ óïðàâëåíèÿ. Íàïðèìåð, íåñêîëüêî êíîïîê, êàæäàÿ èç êîòîðûõ îáëàäàåò èíäèâèäóàëüíûìè çíà÷åíèÿìè ñâîéñòâ (íàäïèñü, ðàçìåðû è äð.).
Ýëåìåíòû óïðàâëåíèÿ ýòî îáúåêòû, ÿâëÿþùèåñÿ ýëåìåíòàìè ãðàôè÷åñêîãî èíòåðôåéñà ïðîåêòà è ðåàãèðóþùèå íà ñîáûòèÿ, ïðîèçâîäèìûå ïîëüçîâàòåëåì èëè äðóãèìè ïðîãðàììíûìè îáúåêòàìè.
Ôîðìà è ýëåìåíòû óïðàâëåíèÿ îáëàäàþò îïðåäåëåííûìè íàáîðàìè ñâîéñòâ, ìåòîäîâ è ñîáûòèé. Ìåòîäû îáðàáîòêè ñîáûòèé. Äëÿ êàæäîãî ñîáûòèÿ ìîæíî çàïðîãðàììèðîâàòü îòêëèê, ò. å. ðåàêöèþ îáúåêòà íà ïðîèçîøåäøåå ñîáûòèå. Åñëè ïîëüçîâàòåëü ïðîèçâîäèò êàêîå-ëèáî âîçäåéñòâèå íà ýëåìåíò ãðàôè÷åñêîãî èíòåðôåéñà (íàïðèìåð, ùåë÷îê), â êà÷åñòâå îòêëèêà âûïîëíÿåòñÿ íåêîòîðàÿ ïîñëåäîâàòåëüíîñòü äåéñòâèé (ìåòîä îáðàáîòêè ñîáûòèé). Êàæäûé ìåòîä îáðàáîòêè ñîáûòèÿ ïðåäñòàâëÿåò ñîáîé îòäåëüíûé ïðîãðàììíûé ìîäóëü, êîòîðûé ðåàëèçóåò îïðåäåëåííûé àëãîðèòì. Ñîçäàíèå ïðîãðàììíîãî êîäà ìåòîäà ïðîèçâîäèòñÿ ñ èñïîëüçîâàíèåì àëãîðèòìè÷åñêèõ ñòðóêòóð ðàçëè÷íûõ òèïîâ (ëèíåéíàÿ, âåòâëåíèå, âûáîð è öèêë).
Ìåòîä îáðàáîòêè ñîáûòèé ïðåäñòàâëÿåò ñîáîé êîä, êîòîðûé íà÷èíàåò âûïîëíÿòüñÿ ïîñëå ðåàëèçàöèè îïðåäåëåííîãî ñîáûòèÿ.
Îáùèå ïðîöåäóðû. Ïðè ðàçðàáîòêå ñëîæíîãî àëãîðèòìà öåëåñîîáðàçíî ñòàðàòüñÿ âûäåëèòü â íåì ïîñëåäîâàòåëüíîñòè äåéñòâèé, êîòîðûå âûïîëíÿþò ðåøåíèå êàêèõ-ëèáî ïîäçàäà÷ è ìîãóò ìíîãîêðàòíî âûçûâàòüñÿ èç îñíîâíîãî àëãîðèòìà. Òàêèå àëãîðèòìû íàçûâàþòñÿ âñïîìîãàòåëüíûìè è â àëãîðèòìè÷åñêèõ ÿçûêàõ ïðîãðàììèðîâàíèÿ ðåàëèçóþòñÿ â ôîðìå ïîäïðîãðàìì, êîòîðûå âûçûâàþòñÿ èç îñíîâíîé ïðîãðàììû.  îáúåêòíî-îðèåíòèðîâàííûõ ÿçûêàõ ïðîãðàììèðîâàíèÿ âñïîìîãàòåëüíûå àëãîðèòìû ðåàëèçóþòñÿ ñ ïîìîùüþ îáùèõ ïðîöåäóð. Îáùèå ïðîöåäóðû ñîçäàþòñÿ â òåõ ñëó÷àÿõ, êîãäà â ïðîãðàììíîì ìîäóëå ìîæíî âûäåëèòü ìíîãîêðàòíî ïîâòîðÿþùèåñÿ ïîñëåäîâàòåëüíîñòè äåéñòâèé (àëãîðèòìû).
56
Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET Çàïóñê îáùèõ ïðîöåäóð íå ñâÿçûâàåòñÿ ñ êàêèìè-ëèáî ñîáûòèÿìè, à ðåàëèçóåòñÿ ïóòåì âûçîâà èç äðóãèõ ïðîöåäóð.
Îáùàÿ ïðîöåäóðà ïðåäñòàâëÿåò ñîáîé ïîäïðîãðàììó, êîòîðàÿ íà÷èíàåò âûïîëíÿòüñÿ ïîñëå åå âûçîâà èç äðóãîé ïðîöåäóðû.
Îáùàÿ ïðîöåäóðà â ÿçûêå Visual Basic .NET ìîæåò áûòü îïðåäåëåíà äâóìÿ ñïîñîáàìè:
1. Ïðè ïîìîùè êëþ÷åâîãî ñëîâà Shared ïðè îáúÿâëåíèè ïðîöåäóðû â òåëå êëàññà:
Shared Sub ÈìÿÏðîöåäóðû(ÑïèñîêÏàðàìåòðîâ) Ïðîãðàììíûé êîä end Sub
2. Îáúÿâëåíèåì ïðîöåäóðû â òåëå òàê íàçûâàåìîãî ìîäóëÿ (Module): Module ÈìÿÌîäóëÿ Sub ÈìÿÏðîöåäóðû(ÑïèñîêÏàðàìåòðîâ) Ïðîãðàììíûé êîä end Sub End Module Âî âòîðîì ñëó÷àå êîëè÷åñòâî îïðåäåëÿåìûõ ìîäóëåé íå îãðàíè÷åíî, êàæäàÿ ïðîöåäóðà, îïðåäåëåííàÿ â ðàìêàõ ìîäóëÿ, ÿâëÿåòñÿ îáùåé. Îáà îïèñàííûõ âàðèàíòà ìîãóò áûòü èñïîëüçîâàíû êàê äëÿ îïðåäåëåíèÿ îáùèõ ïðîöåäóð, íå âîçâðàùàþùèõ çíà÷åíèÿ (äëÿ ýòîãî èñïîëüçóåòñÿ êëþ÷åâîå ñëîâî Sub), òàê è äëÿ îáùèõ ïðîöåäóð, âîçâðàùàþùèõ çíà÷åíèå (äëÿ ýòîãî èñïîëüçóåòñÿ êëþ÷åâîå ñëîâî Function).  ðàìêàõ ìîäóëÿ èëè êëàññà îáùåé ïðîöåäóðå äàåòñÿ óíèêàëüíîå íàçâàíèå èìÿ ïðîöåäóðû è óñòàíàâëèâàåòñÿ ñïèñîê âõîäíûõ è âûõîäíûõ ïàðàìåòðîâ ïðîöåäóðû. Ïðè ýòîì íàçâàíèÿ ïðîöåäóð â ðàçíûõ ìîäóëÿõ èëè êëàññàõ ìîãóò áûòü îäèíàêîâûìè.
Ïðèëîæåíèå 1
57
Ñïèñîê âõîäíûõ ïàðàìåòðîâ ïðåäñòàâëÿåò ñîáîé íàáîð ïåðåìåííûõ, çíà÷åíèå êîòîðûõ äîëæíî áûòü óñòàíîâëåíî äî íà÷àëà âûïîëíåíèÿ ïðîöåäóðû. Ñïèñîê âûõîäíûõ ïàðàìåòðîâ ïðåäñòàâëÿåò ñîáîé íàáîð ïåðåìåííûõ, çíà÷åíèå êîòîðûõ äîëæíî áûòü óñòàíîâëåíî ïîñëå îêîí÷àíèÿ âûïîëíåíèÿ ïðîöåäóðû. Îáùàÿ ïðîöåäóðà ìîæåò áûòü âûçâàíà íà âûïîëíåíèå ëèáî ïî èìåíè, ëèáî ñ ïîìîùüþ îïåðàòîðà Call. Ïî óìîë÷àíèþ ðåêîìåíäóåòñÿ, êàê áîëåå ïðîñòîé, ïåðâûé âàðèàíò, îäíàêî âòîðîé òàêæå ÿâëÿåòñÿ âîçìîæíûì, ïðåæäå âñåãî äëÿ ñîõðàíåíèÿ ñîâìåñòèìîñòè ñ ïðåäûäóùèìè âåðñèÿìè ÿçûêà Visual Basic. Èñïîëüçîâàíèå îïåðàòîðà Call ïîâûøàåò íàãëÿäíîñòü èñõîäíîãî êîäà. Âûçîâ ïðîöåäóðû ïî èìåíè âûãëÿäèò ñëåäóþùèì îáðàçîì:
ÈìÿÏðîöåäóðû(ÑïèñîêÏàðàìåòðîâ)
À ïðè èñïîëüçîâàíèè Call òàê:
Call ÈìÿÏðîöåäóðû(ÑïèñîêÏàðàìåòðîâ)
Ñëåäóåò òàêæå ïîìíèòü, ÷òî ïðè èñïîëüçîâàíèè âòîðîãî ñïîñîáà äëÿ âûçîâà îáùèõ ïðîöåäóð, âîçâðàùàþùèõ çíà÷åíèå (îïðåäåëåíèå, èñïîëüçóþùåå Function), âîçâðàùåííîå çíà÷åíèå èãíîðèðóåòñÿ è íå ìîæåò áûòü èñïîëüçîâàíî êàê ðåçóëüòàò âûçîâà îáùåé ïðîöåäóðû. Ïðîåêò (Project). Ïðîåêò ÿâëÿåòñÿ îáúåäèíåíèåì ôàéëîâ, ñîäåðæàùèõ îïèñàíèå âèçóàëüíîãî èíòåðôåéñà, è ïðîãðàììíûé êîä. Ôàéëû, âõîäÿùèå â ñîñòàâ ïðîåêòà, îáðàáàòûâàþòñÿ êîìïèëÿòîðîì Visual Basic .NET è ïðåîáðàçîâûâàþòñÿ â ïðèëîæåíèÿ, êîòîðûå çàòåì ìîãóò âûïîëíÿòüñÿ â ñðåäå .NET îïåðàöèîííîé ñèñòåìîé Windows.
Ïðèëîæåíèå 2
Ñïðàâî÷íèê ïî ÿçûêó Visual Basic .NET 1. Ïåðåìåííûå â ÿçûêå ïðîãðàììèðîâàíèÿ Visual Basic .NET Òèï ïåðåìåííîé. Òèï ïåðåìåííîé îïðåäåëÿåòñÿ íàáîðîì äîïóñòèìûõ çíà÷åíèé (äàííûõ) ïåðåìåííîé è äîïóñòèìûìè îïåðàöèÿìè ïîä ýòèìè çíà÷åíèÿìè. Çíà÷åíèÿìè ïåðåìåííûõ ÷èñëîâûõ òèïîâ (Byte, Short, Integer, Long, Single, Double, Decimal) ÿâëÿþòñÿ ÷èñëà, ëîãè÷åñêîãî òèïà Boolean «èñòèíà» (True) èëè «ëîæü» (False), ñòðîêîâîãî òèïà Char îäèí ñèìâîë è String ïîñëåäîâàòåëüíîñòü ñèìâîëîâ, òèïà äàòû (Date) äàòà. Îáîçíà÷åíèÿ òèïîâ ïåðåìåííûõ ÿâëÿþòñÿ êëþ÷åâûìè ñëîâàìè ÿçûêà è ïîýòîìó âûäåëÿþòñÿ. Ðàçëè÷íûå òèïû äàííûõ òðåáóþò äëÿ ñâîåãî õðàíåíèÿ â îïåðàòèâíîé ïàìÿòè êîìïüþòåðà ðàçëè÷íîå êîëè÷åñòâî ÿ÷ååê (áàéòîâ): Òèï ïåðåìåííîé
Âîçìîæíûå çíà÷åíèÿ
Îáúåì çàíèìàåìîé ïàìÿòè
Byte
Öåëûå íåîòðèöàòåëüíûå ÷èñëà îò 0 äî 255
1 áàéò
Short
Öåëûå ÷èñëà îò 32 768 äî 32 767
2 áàéòà
Integer
Öåëûå ÷èñëà îò 2 147 483 648 äî 2 147 483 647
4 áàéòà
Long
Öåëûå ÷èñëà îò 9 223 372 036 854 äî 9 223 372 036 853
8 áàéòîâ
1028
äî
1028
16 áàéòîâ
Decimal
Öåëûå äåñÿòè÷íûå ÷èñëà ñî çíàêîì îò
Single
Äåñÿòè÷íûå ÷èñëà îäèíàðíîé òî÷íîñòè (78 çíà÷àùèõ öèôð) îò 1,41045 äî 3,41038
4 áàéòà
Double
Äåñÿòè÷íûå ÷èñëà äâîéíîé òî÷íîñòè (1516 çíà÷àùèõ öèôð) îò 5.010324 äî 1,710308
8 áàéòîâ
Boolean
Ëîãè÷åñêîå çíà÷åíèå True èëè False
2 áàéòà
String
Ñòðîêà ñèìâîëîâ â êîäèðîâêå Unicode
2 áàéòà íà ñèìâîë
Date
Äàòû îò 1 ÿíâàðÿ 0001 ãîäà äî 31 äåêàáðÿ 9999 ãîäà è âðåìÿ îò 0:00:00 äî 23:59:59
8 áàéòîâ
Ïðèëîæåíèå 2
59
Èìÿ ïåðåìåííîé. Èìÿ êàæäîé ïåðåìåííîé (èäåíòèôèêàòîð) óíèêàëüíî è íå ìîæåò ìåíÿòüñÿ â ïðîöåññå âûïîëíåíèÿ ïðîãðàììû. Èìÿ ïåðåìåííîé: q
äîëæíî íà÷èíàòüñÿ ñ áóêâåííîãî ñèìâîëà èëè ñ ïîä÷åðêèâàíèÿ «_»;
q
ìîæåò ñîäåðæàòü òîëüêî áóêâåííûå ñèìâîëû, äåñÿòè÷íûå öèôðû è ïîä÷åðêèâàíèÿ;
q
äîëæíî ñîäåðæàòü, ïî êðàéíåé ìåðå, îäèí áóêâåííûé èëè öèôðîâîé ñèìâîë, åñëè îíî íà÷èíàåòñÿ ñ ïîä÷åðêèâàíèÿ;
q
íå äîëæíî ñîñòàâëÿòü áîëåå ÷åì 1023 çíàêà.
Îáúÿâëåíèå ïåðåìåííîé. Âàæíî, ÷òîáû èñïîëíèòåëü ïðîãðàììû (êîìïüþòåð) «ïîíèìàë», ïåðåìåííûå êàêîãî òèïà èñïîëüçóþòñÿ â ïðîãðàììå. Äëÿ îáúÿâëåíèÿ ïåðåìåííîé èñïîëüçóåòñÿ îïåðàòîð îïðåäåëåíèÿ ïåðåìåííîé. Ñèíòàêñèñ (ïðàâèëî çàïèñè) ýòîãî îïåðàòîðà ñëåäóþùèé: Dim ÈìÿÏåðåìåííîé As ÒèïÏåðåìåííîé = Çíà÷åíèå Ñ ïîìîùüþ îäíîãî îïåðàòîðà ìîæíî îáúÿâèòü ñðàçó íåñêîëüêî ïåðåìåííûõ, íàïðèìåð: Dim ×èñëî As Integer, Ñòðîêà As String Âåëè÷èíû, çíà÷åíèÿ êîòîðûõ íå ìåíÿþòñÿ â ïðîöåññå âûïîëíåíèÿ ïðîãðàììû, íàçûâàþòñÿ êîíñòàíòàìè. Ñèíòàêñèñ îáúÿâëåíèÿ êîíñòàíò ñëåäóþùèé: Const ÈìÿÊîíñòàíòû As Òèï = Çíà÷åíèåÊîíñòàíòû Ïðèñâàèâàíèå ïåðåìåííûì çíà÷åíèé. Ïåðåìåííàÿ ìîæåò ïîëó÷èòü èëè èçìåíèòü çíà÷åíèå ñ ïîìîùüþ îïåðàòîðà ïðèñâàèâàíèÿ. Ñèíòàêñèñ ýòîãî îïåðàòîðà ñëåäóþùèé: ÈìÿÏåðåìåííîé = Âûðàæåíèå Ïðè âûïîëíåíèè îïåðàòîðà ïðèñâàèâàíèÿ ïåðåìåííàÿ, èìÿ êîòîðîé óêàçàíî ñëåâà îò çíàêà ðàâåíñòâà, ïîëó÷àåò çíà÷åíèå, ðàâíîå çíà÷åíèþ
60
Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET âûðàæåíèÿ (àðèôìåòè÷åñêîãî, ñòðîêîâîãî èëè ëîãè÷åñêîãî), êîòîðîå íàõîäèòñÿ ñïðàâà îò çíàêà ðàâåíñòâà.
2. Ìàññèâû â ÿçûêå ïðîãðàììèðîâàíèÿ Visual Basic Òèïû ìàññèâîâ è îáúÿâëåíèå ìàññèâà. Ìàññèâ ÿâëÿåòñÿ íàáîðîì îäíîòèïíûõ ïåðåìåííûõ, îáúåäèíåííûõ îäíèì èìåíåì. Ìàññèâû áûâàþò îäíîìåðíûå, êîòîðûå ìîæíî ïðåäñòàâèòü â ôîðìå òàáëèöû èç îäíîãî ñòîëáöà, äâóìåðíûå, êîòîðûå ìîæíî ïðåäñòàâèòü â ôîðìå îáû÷íîé òàáëèöû, è ìíîãîìåðíûå. Ìàññèâ ñîñòîèò èç ïðîíóìåðîâàííîé ïîñëåäîâàòåëüíîñòè ýëåìåíòîâ. Íîìåðà â ýòîé ïîñëåäîâàòåëüíîñòè îïðåäåëÿþòñÿ èíäåêñîì, êîòîðûé ìîæåò ïðèíèìàòü öåëî÷èñëåííûå çíà÷åíèÿ. Êàæäûé èç ýòèõ ýëåìåíòîâ ÿâëÿåòñÿ ïåðåìåííîé, ò. å. îáëàäàåò èìåíåì è çíà÷åíèåì, è ïîýòîìó ìàññèâ ìîæíî íàçâàòü ïîñëåäîâàòåëüíîñòüþ ïåðåìåííûõ ñ èíäåêñîì. Ìàññèâû ìîãóò áûòü ðàçëè÷íûõ òèïîâ: ÷èñëîâûå, ñòðîêîâûå è ò. ä. Îáúÿâëåíèå ìàññèâà ïðîèçâîäèòñÿ àíàëîãè÷íî îáúÿâëåíèþ ïåðåìåííûõ, íåîáõîäèìî òîëüêî äîïîëíèòåëüíî óêàçàòü äèàïàçîí èçìåíåíèÿ èíäåêñà. Íàïðèìåð, îáúÿâëåíèå îäíîìåðíîãî öåëî÷èñëåííîãî ìàññèâà, ñîäåðæàùåãî 10 ýëåìåíòîâ, ïðîèçâîäèòñÿ ñëåäóþùèì îáðàçîì: Dim A() As Byte Dim A() As Integer = {0,1,2} Îáðàùåíèå ê ýëåìåíòó ìàññèâà ïðîèçâîäèòñÿ ïî åãî èìåíè, ñîñòîÿùåìó èç èìåíè ìàññèâà è çíà÷åíèÿ èíäåêñà, íàïðèìåð: À(5). Çàïîëíåíèå ìàññèâà ñëó÷àéíûìè ÷èñëàìè. Äëÿ íà÷àëà ðàáîòû ñ ìàññèâîì íåîáõîäèìî åãî ïðåäâàðèòåëüíî çàïîëíèòü, ò. å. ïðèñâîèòü ýëåìåíòàì ìàññèâà îïðåäåëåííûå çíà÷åíèÿ. Çàïîëíèì ÷èñëîâîé ìàññèâ A(I) öåëûìè ñëó÷àéíûìè ÷èñëàìè â èíòåðâàëå îò 1 äî 100. Äëÿ ãåíåðàöèè ïîñëåäîâàòåëüíîñòè ñëó÷àéíûõ ÷èñåë èñïîëüçóåì ôóíêöèþ Rnd(). Ïðè çàïóñêå ïðîãðàììû ôóíêöèÿ Rnd() äàåò ðàâíîìåðíî ðàñïðåäåëåííóþ ïñåâäîñëó÷àéíóþ (ò. å. êàæäûé ðàç ïîâòîðÿþùóþñÿ) ïîñëåäîâàòåëüíîñòü ÷èñåë â èíòåðâàëå 0 £ Õ < 1. Äëÿ ïîëó÷åíèÿ ïîñëåäîâàòåëüíîñòè ñëó÷àéíûõ ÷èñåë â çàäàííîì èíòåðâàëå À £ Õ <  íåîáõîäèìî èñïîëüçîâàòü ñëåäóþùóþ ôîðìóëó: (Â-À)*Rnd() + À Òîãäà ïîëó÷åíèå öåëî÷èñëåííîé ïîñëåäîâàòåëüíîñòè ñëó÷àéíûõ ÷èñåë íà èíòåðâàëå 1 £ Õ < 100 äîñòèãàåòñÿ èñïîëüçîâàíèåì ôóíêöèè âûäåëåíèÿ öåëîé ÷àñòè ÷èñëà:
Ïðèëîæåíèå 2
61 CInt(Int(100*Rnd()) + 1)
 èòîãå ïîëó÷èì: For I = 0 To 9 A(I) = CInt(Int(100*Rnd()) + 1) Next I Äëÿ ãåíåðàöèè ðàçëè÷àþùèõñÿ ìåæäó ñîáîé ïîñëåäîâàòåëüíîñòåé ñëó÷àéíûõ ÷èñåë ðåêîìåíäóåòñÿ èñïîëüçîâàòü îïåðàòîð Randomize().
3. Îñíîâíûå òèïû àëãîðèòìè÷åñêèõ ñòðóêòóð è èõ êîäèðîâàíèå íà ÿçûêå Visual Basic 3.1. Àëãîðèòìè÷åñêàÿ ñòðóêòóðà «âåòâëåíèå» Â îòëè÷èå îò ëèíåéíûõ àëãîðèòìîâ, â êîòîðûõ êîìàíäû âûïîëíÿþòñÿ ïîñëåäîâàòåëüíî îäíà çà äðóãîé, â àëãîðèòìè÷åñêèå ñòðóêòóðû «âåòâëåíèå» âõîäèò óñëîâèå, â çàâèñèìîñòè îò èñòèííîñòè èëè ëîæíîñòè êîòîðîãî ðåàëèçóåòñÿ òà èëè èíàÿ ïîñëåäîâàòåëüíîñòü êîìàíä (ñåðèé).  àëãîðèòìè÷åñêîé ñòðóêòóðå «âåòâëåíèå» òà èëè èíàÿ ñåðèÿ êîìàíä âûïîëíÿåòñÿ â çàâèñèìîñòè îò èñòèííîñòè óñëîâèÿ. Óñëîâèå.  ïðîñòîì óñëîâèè äâà ÷èñëà, äâå ñòðîêè, äâå ïåðåìåííûå, äâà àðèôìåòè÷åñêèõ, ñòðîêîâûõ èëè ëîãè÷åñêèõ âûðàæåíèÿ ñðàâíèâàþòñÿ ìåæäó ñîáîé ñ èñïîëüçîâàíèåì îïåðàöèé ñðàâíåíèÿ (>, <, =, >=, <=). Íàïðèìåð: 5 > 3, A = B è ò. ä.  çàâèñèìîñòè îò ðåçóëüòàòà ñðàâíåíèÿ óñëîâèå ïðèíèìàåò çíà÷åíèå True (èñòèíà) èëè False (ëîæü). Ñëîæíîå óñëîâèå ýòî ïîñëåäîâàòåëüíîñòü ïðîñòûõ óñëîâèé, îáúåäèíåííûõ ìåæäó ñîáîé çíàêàìè ëîãè÷åñêèõ îïåðàöèé. Íàïðèìåð, X > 3 And Y = 4´4. Ïðè îïðåäåëåíèè óñëîâèé êàê â êà÷åñòâå ñîñòàâíîé ÷àñòè ñëîæíîãî óñëîâèÿ, òàê è ïðè çàäàíèè ïðîñòî óñëîâèÿ ìîæíî íàïðÿìóþ èñïîëüçîâàòü ïåðåìåííóþ òèïà Boolean.  ýòîì ñëó÷àå ïðè âû÷èñëåíèè ðåçóëüòàòà ñëîæíîãî óñëîâèÿ çíà÷åíèå ïåðåìåííîé ïðîâåðÿåòñÿ íà ðåçóëüòàò True/False òàê æå, êàê åñëè áû îíî ïðåäñòàâëÿëî ñîáîé ïðîñòîå óñëîâèå. Èíñòðóêöèÿ If-Then-Else (ðèñ. 5). Íà ÿçûêå ïðîãðàììèðîâàíèÿ Visual Basic ïîñëå ïåðâîãî êëþ÷åâîãî ñëîâà If äîëæíî áûòü ðàçìåùåíî óñëîâèå. Ïîñëå âòîðîãî êëþ÷åâîãî ñëîâà Then ïîñëåäîâàòåëüíîñòü êîìàíä (Ñåðèÿ 1), êîòîðàÿ äîëæíà âûïîëíÿòüñÿ, åñëè óñëîâèå ïðèíèìàåò
62
Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET çíà÷åíèå «èñòèíà». Ïîñëå òðåòüåãî êëþ÷åâîãî ñëîâà Else ðàçìåùàåòñÿ ïîñëåäîâàòåëüíîñòü êîìàíä (Ñåðèÿ 2), êîòîðàÿ äîëæíà âûïîëíÿòüñÿ, åñëè óñëîâèå ïðèíèìàåò çíà÷åíèå «ëîæü». Îïåðàòîð óñëîâíîãî ïåðåõîäà ìîæåò áûòü çàïèñàí â ìíîãîñòðî÷íîé ôîðìå èëè â îäíîñòðî÷íîé ôîðìå. Áëîê-ñõåìà
ßçûê ïðîãðàììèðîâàíèÿ Visual Basic .NET
If Óñëîâèå Then Ñåðèÿ 1 [Else Ñåðèÿ 2] End If If Óñëîâèå _ Then Ñåðèÿ 1 _ [Else Ñåðèÿ 2] Ðèñ. 5
 ìíîãîñòðî÷íîé ôîðìå îí çàïèñûâàåòñÿ ñ ïîìîùüþ èíñòðóêöèè If ... Then ... Else ... End If (Åñëè ... Òî ... Èíà÷å ... Êîíåö Åñëè).  ýòîì ñëó÷àå âòîðîå êëþ÷åâîå ñëîâî Then ðàçìåùàåòñÿ â òîé æå ñòðîêå, ÷òî è óñëîâèå, à ïîñëåäîâàòåëüíîñòü êîìàíä (Ñåðèÿ 1) â ñëåäóþùåé ñòðîêå. Òðåòüå êëþ÷åâîå ñëîâî Else ðàçìåùàåòñÿ â òðåòüåé ñòðîêå, à ïîñëåäîâàòåëüíîñòü êîìàíä (Ñåðèÿ 2) â ÷åòâåðòîé. Êîíåö èíñòðóêöèè âåòâëåíèÿ End If ðàçìåùàåòñÿ â ïÿòîé ñòðîêå.  îäíîñòðî÷íîé ôîðìå îí çàïèñûâàåòñÿ ñ ïîìîùüþ èíñòðóêöèè If ... Then ... Else
(Åñëè ... Òî ... Èíà÷å
). Åñëè èíñòðóêöèÿ íå ïîìåùàåòñÿ â îäíîé ñòðîêå, îíà ìîæåò áûòü ðàçáèòà íà íåñêîëüêî ñòðîê. Òàêîå ïðåäñòàâëåíèå èíñòðóêöèé áîëåå íàãëÿäíî äëÿ ÷åëîâåêà. Êîìïüþòåð æå äîëæåí çíàòü, ÷òî ðàçáèòàÿ íà ñòðîêè èíñòðóêöèÿ ïðåäñòàâëÿåò åäèíîå öåëîå. Ýòî îáåñïå÷èâàåò çíàê «ïåðåíîñà», êîòîðûé çàäàåòñÿ ñèìâîëîì ïîä÷åðêèâàíèÿ ïîñëå ïðîáåëà « _». Òðåòüå êëþ÷åâîå ñëîâî Else (Ñåðèÿ 2) ìîæåò îòñóòñòâîâàòü. (Íåîáÿçàòåëüíûå ÷àñòè îïåðàòîðà ìû çäåñü ïîìå÷àåì êâàäðàòíûìè ñêîáêàìè.) Òîãäà, â ñëó÷àå åñëè óñëîâèå ëîæíî, âûïîëíåíèå îïåðàòîðà óñëîâíîãî ïåðåõîäà çàêàí÷èâàåòñÿ è âûïîëíÿåòñÿ ñëåäóþùàÿ ñòðîêà ïðîãðàììû.
Ïðèëîæåíèå 2
63
Êðîìå òîãî, äëÿ âàðèàíòà çàïèñè â âèäå ìíîãîñòðî÷íîé ôîðìû âîçìîæíî ìíîãîêðàòíîå äóáëèðîâàíèå óñëîâèÿ, óêàçûâàåìîãî ïîñëå èíñòðóêöèè If, äëÿ ýòîãî èñïîëüçóåòñÿ ñëåäóþùàÿ ôîðìà: If Óñëîâèå1 Then Ñåðèÿ 1 [ElseIf Óñëîâèå2 Then Ñåðèÿ 2] ... [ElseIf ÓñëîâèåN Then Ñåðèÿ N] [Else Ñåðèÿ N + 1] End If  äàííîì ñëó÷àå ïåðåõîä ê ñëåäóþùåìó óñëîâèþ ElseIf ïðîèñõîäèò, òîëüêî åñëè ïðåäûäóùåå óñëîâèå âåðíóëî False. Åñëè íè îäíî èç óñëîâèé ElseIf íå âåðíóëî True, óïðàâëåíèå, òàê æå, êàê â ïðîñòîé ìíîãîñòðî÷íîé ôîðìå, ïåðåäàåòñÿ êîíñòðóêöèè Else.
3.2. Àëãîðèòìè÷åñêàÿ ñòðóêòóðà «âûáîð» Àëãîðèòìè÷åñêàÿ ñòðóêòóðà «âûáîð» ïðèìåíÿåòñÿ äëÿ ðåàëèçàöèè âåòâëåíèé ñî ìíîãèìè âàðèàíòàìè ñåðèé êîìàíä.  ñòðóêòóðó âûáîðà âõîäÿò íåñêîëüêî óñëîâèé, ïðîâåðêà êîòîðûõ îñóùåñòâëÿåòñÿ â ïîñëåäîâàòåëüíîñòè èõ çàïèñè â ñòðóêòóðå âûáîðà. Ïðè èñòèííîñòè îäíîãî èç óñëîâèé (Óñëîâèå 1, Óñëîâèå 2 è ò. ä.) âûïîëíÿåòñÿ ñîîòâåòñòâóþùàÿ ïîñëåäîâàòåëüíîñòü êîìàíä (Ñåðèÿ 1, Ñåðèÿ 2 è ò. ä.). Åñëè íè îäíî èç óñëîâèé íå èñòèííî, òî áóäåò âûïîëíåíà ïîñëåäîâàòåëüíîñòü êîìàíä Ñåðèÿ.  àëãîðèòìè÷åñêîé ñòðóêòóðå «âûáîð» âûïîëíÿåòñÿ îäíà èç íåñêîëüêèõ ïîñëåäîâàòåëüíîñòåé êîìàíä ïðè èñòèííîñòè ñîîòâåòñòâóþùåãî óñëîâèÿ. Èíñòðóêöèÿ Select Case (ðèñ. 6). Íà ÿçûêå ïðîãðàììèðîâàíèÿ èíñòðóêöèÿ âûáîðà íà÷èíàåòñÿ ñ êëþ÷åâûõ ñëîâ Select Case, ïîñëå êîòîðûõ çàïèñûâàåòñÿ âûðàæåíèå (ïåðåìåííàÿ èëè àðèôìåòè÷åñêîå âûðàæåíèå). Ïîñëå êëþ÷åâûõ ñëîâ Case çàïèñûâàþòñÿ çíà÷åíèÿ, ñ êîòîðûìè ñðàâíèâàåòñÿ çàäàííîå âûðàæåíèå (ïðîâåðÿåòñÿ èñòèííîñòü óñëîâèé). Ïðè èñòèííîñòè îäíîãî èç óñëîâèé íà÷èíàåò âûïîëíÿòüñÿ ñîîòâåòñòâóþùàÿ ñåðèÿ
64
Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET êîìàíä. Åñëè íè îäíî èç óñëîâèé íå èñòèííî, òî áóäåò âûïîëíåíà ñåðèÿ êîìàíä ïîñëå êëþ÷åâûõ ñëîâ Case Else. Çàêàí÷èâàåòñÿ èíñòðóêöèÿ êëþ÷åâûìè ñëîâàìè End Select. Áëîê-ñõåìà
ßçûê ïðîãðàììèðîâàíèÿ Visual Basic .NET
Select Case Âûðàæåíèå Case Óñëîâèå1 Ñåðèÿ 1 Case Óñëîâèå2 Ñåðèÿ 2 [Case Else Ñåðèÿ] End Select
Ðèñ. 6
Ñëåäóåò òàêæå îòìåòèòü, ÷òî êîëè÷åñòâî áëîêîâ, èñïîëüçóþùèõ êëþ÷åâîå ñëîâî Case, íå îãðàíè÷åíî. Áëîê Case Else ìîæåò îòñóòñòâîâàòü.  êà÷åñòâå óñëîâèÿ, çàäàííîãî ïîñëå êëþ÷åâîãî ñëîâà Case, ìîæåò áûòü èñïîëüçîâàí îäèí èç äâóõ âàðèàíòîâ:
1. Êîãäà óêàçûâàåòñÿ äèàïàçîí çíà÷åíèé, äëÿ ýòîãî èñïîëüçóåòñÿ ñëåäóþùàÿ êîíñòðóêöèÿ: Çíà÷åíèå1 To Çíà÷åíèå2 Ïðè ýòîì Çíà÷åíèå1 îáÿçàòåëüíî äîëæíî áûòü ìåíüøå èëè ðàâíî Çíà÷åíèþ2.
2. Êîãäà íåîáõîäèìî èñïîëüçîâàòü âû÷èñëåííîå â êîíñòðóêöèè Select
Case âûðàæåíèå â óñëîâèè, èñïîëüçóÿ îäèí èç îïåðàòîðîâ ñðàâíåíèÿ (=, <>, <, <=, >, or >=):
Is ÎïåðàòîðÑðàâíåíèÿ ÓñëîâíîåÂûðàæåíèå  êà÷åñòâå ÓñëîâíîãîÂûðàæåíèÿ ìîæåò áûòü èñïîëüçîâàíî êàê ïðîñòî çíà÷åíèå, ñ êîòîðûì ìû ïðîèçâîäèì ñðàâíåíèå, òàê è ïåðåìåííàÿ, ñîäåðæàùåå ýòî çíà÷åíèå. Òàêæå äîïóñêàåòñÿ êîíñòðóèðîâàòü ñëîæíûå óñëîâíûå âûðàæåíèÿ. Êëþ÷åâîå ñëîâî Is ïðè ýòîì óêàçûâàåò íà âûðàæåíèå, âû÷èñëåííîå â êîíñòðóêöèè Select Case.
Ïðèëîæåíèå 2
65
3.3. Àëãîðèòìè÷åñêàÿ ñòðóêòóðà «öèêë» Â àëãîðèòìè÷åñêóþ ñòðóêòóðó «öèêë» âõîäèò ñåðèÿ êîìàíä, âûïîëíÿåìàÿ ìíîãîêðàòíî. Òàêàÿ ïîñëåäîâàòåëüíîñòü êîìàíä íàçûâàåòñÿ òåëîì öèêëà.
 àëãîðèòìè÷åñêîé ñòðóêòóðå «öèêë» ñåðèÿ êîìàíä (òåëî öèêëà) âûïîëíÿåòñÿ ìíîãîêðàòíî.
q q q
Öèêëè÷åñêèå àëãîðèòìè÷åñêèå ñòðóêòóðû áûâàþò äâóõ òèïîâ: öèêëû ñî ñ÷åò÷èêîì, â êîòîðûõ òåëî öèêëà âûïîëíÿåòñÿ îïðåäåëåííîå êîëè÷åñòâî ðàç; öèêëû äëÿ îáðàáîòêè ìàññèâîâ èëè êîëëåêöèé, òåëî öèêëà ïðè ýòîì âûïîëíÿåòñÿ äëÿ êàæäîãî ýëåìåíòà ìàññèâà èëè êîëëåêöèè; öèêëû ïî óñëîâèþ, â êîòîðûõ òåëî öèêëà âûïîëíÿåòñÿ, ïîêà óñëîâèå èñòèííî (èëè äî òåõ ïîð, ïîêà óñëîâèå íå ñòàíåò èñòèííûì).
Öèêë ñî ñ÷åò÷èêîì (ðèñ. 7). Êîãäà çàðàíåå èçâåñòíî, êàêîå ÷èñëî ïîâòîðåíèé òåëà öèêëà íåîáõîäèìî âûïîëíèòü, ìîæíî âîñïîëüçîâàòüñÿ öèêëè÷åñêîé èíñòðóêöèåé (îïåðàòîðîì öèêëà ñî ñ÷åò÷èêîì) For ... Next.
Áëîê-ñõåìà
ßçûê ïðîãðàììèðîâàíèÿ Visual Basic .NET
For Ñ÷åò÷èê=Íà÷Çíà÷ To ÊîíÇíà÷ [Step øàã] Òåëî öèêëà Next [Ñ÷åò÷èê]
Ðèñ. 7
66
Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET Ñèíòàêñèñ îïåðàòîðà For ... Next ñëåäóþùèé: còðîêà, íà÷èíàþùàÿñÿ ñ êëþ÷åâîãî ñëîâà For, ÿâëÿåòñÿ çàãîëîâêîì öèêëà, à ñòðîêà ñ êëþ÷åâûì ñëîâîì Next êîíöîì öèêëà, ìåæäó íèìè ðàñïîëàãàþòñÿ îïåðàòîðû, ÿâëÿþùèåñÿ òåëîì öèêëà.  íà÷àëå âûïîëíåíèÿ öèêëà çíà÷åíèå ïåðåìåííîé Ñ÷åò÷èê óñòàíàâëèâàåòñÿ ðàâíûì Íà÷Çíà÷. Ïðè êàæäîì «ïðîõîäå» öèêëà (âûïîëíåíèè òåëà öèêëà) ïåðåìåííàÿ Ñ÷åò÷èê èçìåíÿåòñÿ (óâåëè÷èâàåòñÿ èëè óìåíüøàåòñÿ) íà âåëè÷èíó øàãà. Åñëè îíà äîñòèãàåò âåëè÷èíû ÊîíÇíà÷, òî öèêë çàâåðøàåòñÿ è âûïîëíÿþòñÿ ñëåäóþùèå çà íèì îïåðàòîðû. Öèêëû äëÿ îáðàáîòêè ìàññèâîâ èëè êîëëåêöèé (ðèñ. 8). Ýòîò âàðèàíò íàïîìèíàåò öèêë ñî ñ÷åò÷èêîì; â äàííîì ñëó÷àå èçâåñòíî, êàêîå ÷èñëî ïîâòîðåíèé òåëà öèêëà íåîáõîäèìî âûïîëíèòü, ïðè÷åì ýòî ÷èñëî çàäàåòñÿ ðàçìåðîì ìàññèâà èëè êîëëåêöèè, à â òåëå ïðîèñõîäèò îáðàáîòêà êîíêðåòíîãî òåêóùåãî ýëåìåíòà. Ïðè ýòîì äëÿ îïðåäåëåíèÿ èñïîëüçóåòñÿ èíñòðóêöèÿ For Each ... Next. Áëîê-ñõåìà
ßçûê ïðîãðàììèðîâàíèÿ Visual Basic .NET For Each Ýëåìåíò [As ÒèïÝëåìåíòà] In Ãðóïïà
Òåëî öèêëà Next [Ýëåìåíò]
Ðèñ. 8
Îñíîâíîå ðàçëè÷èå ìåæäó îïåðàòîðàìè For ... Next è For Each ... Next ñîñòîèò â òîì, ÷òî ïîñëå For Each íàõîäèòñÿ îïèñàíèå ïåðåìåííîé, â êîòîðóþ ïîìåùàåòñÿ ýëåìåíò êîëëåêöèè, óêàçàííîé ïîñëå êëþ÷åâîãî ñëîâà In. Ïðè ýòîì äëÿ äàííîé ïåðåìåííîé ìîæíî çàäàòü òèï äàííûõ, ê êîòîðîìó áóäåò ïðèâåäåí òåêóùèé ýëåìåíò êîëëåêöèè. Âîîáùå ãîâîðÿ, èñïîëüçîâàíèå îïåðàòîðà For Each ... Next íå îãðàíè÷èâàåòñÿ òîëüêî ìàññèâàìè è êîëëåêöèÿìè, ëþáîé êëàññ, ðåàëèçóþ-
Ïðèëîæåíèå 2
67
ùèé èíòåðôåéñ System.Collections.IEnumerable, ìîæåò áûòü îáðàáîòàí ïðè ïîìîùè For Each ... Next. Öèêë ñ ïðåäóñëîâèåì (ðèñ. 9). ×àñòî áûâàåò òàê, ÷òî íåîáõîäèìî ïîâòîðèòü òåëî öèêëà, íî çàðàíåå íåèçâåñòíî, êàêîå êîëè÷åñòâî ðàç ýòî íàäî ñäåëàòü.  òàêèõ ñëó÷àÿõ êîëè÷åñòâî ïîâòîðåíèé çàâèñèò îò íåêîòîðîãî óñëîâèÿ. Öèêë ñ ïðåäóñëîâèåì íèêîãäà íå âûïîëíÿåòñÿ â ñëó÷àå ëîæíîñòè óñëîâèÿ. Öèêë íàçûâàåòñÿ öèêëîì ñ ïðåäóñëîâèåì, åñëè óñëîâèå âûõîäà èç öèêëà ñòîèò â íà÷àëå, ïåðåä òåëîì öèêëà.
Áëîê-ñõåìà
ßçûê ïðîãðàììèðîâàíèÿ Visual Basic
Do While Óñëîâèå Òåëî öèêëà Loop Do Until Óñëîâèå Òåëî öèêëà Loop Ðèñ. 9
Öèêë ñ ïðåäóñëîâèåì ðåàëèçóåòñÿ ñ ïîìîùüþ èíñòðóêöèé Do While ... Loop è Do Until ... Loop. Ïðîâåðêà èñòèííîñòè óñëîâèÿ âûõîäà èç öèêëà ïðîâîäèòñÿ ñ ïîìîùüþ êëþ÷åâûõ ñëîâ While èëè Until. Ýòè ñëîâà ïðèäàþò îäíîìó è òîìó æå óñëîâèþ ïðîòèâîïîëîæíûé ñìûñë. Êëþ÷åâîå ñëîâî While îáåñïå÷èâàåò âûïîëíåíèå öèêëà, ïîêà óñëîâèå èìååò çíà÷åíèå «èñòèíà». Êàê òîëüêî óñëîâèå ïðèìåò çíà÷åíèå «ëîæü», âûïîëíåíèå öèêëà çàêîí÷èòñÿ.  ýòîì ñëó÷àå óñëîâèå ÿâëÿåòñÿ óñëîâèåì ïðîäîëæåíèÿ öèêëà. Êëþ÷åâîå ñëîâî Until îáåñïå÷èâàåò âûïîëíåíèå öèêëà, ïîêà óñëîâèå èìååò çíà÷åíèå «ëîæü». Êàê òîëüêî óñëîâèå ïðèìåò çíà÷åíèå «èñòèíà», âûïîëíåíèå öèêëà çàêîí÷èòñÿ.  ýòîì ñëó÷àå óñëîâèå ÿâëÿåòñÿ óñëîâèåì çàâåðøåíèÿ öèêëà. Öèêë ñ ïîñòóñëîâèåì (ðèñ. 10). Öèêë ñ ïîñòóñëîâèåì âûïîëíÿåòñÿ îáÿçàòåëüíî êàê ìèíèìóì îäèí ðàç, íåçàâèñèìî îò òîãî, âûïîëíÿåòñÿ óñëîâèå èëè íåò.
68
Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET
Öèêë íàçûâàåòñÿ öèêëîì ñ ïîñòóñëîâèåì, åñëè óñëîâèå âûõîäà èç öèêëà ñòîèò â êîíöå, ïîñëå òåëà öèêëà. Öèêë ñ ïîñòóñëîâèåì ðåàëèçóåòñÿ ñ ïîìîùüþ èíñòðóêöèé Do ... Loop While è Do ... Loop Until. Ïðîâåðêà èñòèííîñòè óñëîâèÿ âûõîäà èç öèêëà ïðîâîäèòñÿ ñ ïîìîùüþ êëþ÷åâûõ ñëîâ While èëè Until. Áëîê-ñõåìà
ßçûê ïðîãðàììèðîâàíèÿ Visual Basic
Do Òåëî öèêëà Loop While Óñëîâèå Do Òåëî öèêëà Loop Until Óñëîâèå Ðèñ. 10
 ëþáîì èç îïèñàííûõ òèïîâ öèêëîâ ïðîãðàììèñò ìîæåò îðãàíèçîâàòü óñïðàâëåíèå ñòðóêòóðîé èñïîëíåíèÿ öèêëà ïðè ïîìîùè îäíîé èç ñëåäóþùèõ, ñîîòâåòñòâóþùèõ òèïó öèêëà, êîíñòðóêöèé. q
Exit For
q
Exit While
q
Exit Do
Ïðè ýòîì ïðîèñõîäèò àâòîìàòè÷åñêèé âûõîä èç öèêëà è óïðàâëåíèå ïåðåäàåòñÿ ñëåäóþùåé çà öèêëîì êîìàíäå. q
Continue For
q
Continue While
q
Continue Do
Ïðè ýòîì ïðîèñõîäèò ïåðåõîä ê ñëåäóþùåé èòåðàöèè, ýëåìåíòó ìàññèâà èëè êîëëåêöèè, îáðàáàòûâàåìîé â òåëå öèêëà. Åñëè ïðè ýòîì îäèí öèêë âëîæåí â äðóãîé, òî îáëàñòü äåéñòâèÿ Exit è Continue äåéñòâóåò òîëüêî íà âëîæåííûé öèêë, èç êîòîðîãî äàííàÿ êîìàíäà âûçûâàåòñÿ.
Ïðèëîæåíèå 2
69
Ñ òî÷êè çðåíèÿ îïòèìèçàöèè ðàáîòû öèêëîâ ðåêîìåíäóåòñÿ èñïîëüçîâàòü ïåðåìåííûå òèïîâ Integer è UInteger, èñïîëüçîâàíèå òèïîâ äàííûõ Short, Long, UShort, ULong íå ÿâëÿåòñÿ ýôôåêòèâíûì, à èñïîëüçîâàíèå òèïà Decimal âåäåò ê ñóùåñòâåííîìó ñíèæåíèþ ñêîðîñòè.
4. Ôóíêöèè â ÿçûêå ïðîãðàììèðîâàíèÿ Visual Basic .NET 4.1. Ôóíêöèè ïðåîáðàçîâàíèÿ òèïîâ äàííûõ Ôóíêöèè ïðåîáðàçîâàíèÿ ðåàëèçóþò ïðåîáðàçîâàíèå äàííûõ èç îäíîãî òèïà â äðóãîé. Ôóíêöèÿ Val(). ×àñòî íåîáõîäèìî ïðåîáðàçîâàòü ñòðîêîâîå çíà÷åíèå â ÷èñëîâîå. Ýòî ìîæíî ñäåëàòü ñ ïîìîùüþ ôóíêöèè Val(), àðãóìåíòîì êîòîðîé ÿâëÿåòñÿ ñòðîêà, à çíà÷åíèåì ÷èñëî: Val(Ñòðîêà) Íàïðèìåð, ôóíêöèÿ Val() ïðèìåíÿåòñÿ ïðè ââîäå ÷èñåë â òåêñòîâûå ïîëÿ äëÿ ïðåîáðàçîâàíèÿ ñòðîêîâîãî çíà÷åíèÿ ñâîéñòâà Text â ÷èñëî, êîòîðîå çàòåì èñïîëüçóåòñÿ â âû÷èñëåíèÿõ. Ñòðîêîâîå âûðàæåíèå, ÿâëÿþùååñÿ àðãóìåíòîì ôóíêöèè Val(), ìîæåò áûòü çàäàíî íå òîëüêî â äåñÿòè÷íîé, íî òàêæå â âîñüìåðè÷íîé (ïðèñòàâêà &O) è øåñòíàäöàòåðè÷íîé (ïðèñòàâêà &H) ñèñòåìàõ ñ÷èñëåíèÿ. Íàïðèìåð, çíà÷åíèåì ôóíêöèé Val(&O3720) è Val(&H7D0) ÿâëÿåòñÿ äåñÿòè÷íîå ÷èñëî 2000. Òàêèì îáðàçîì, ïîÿâëÿåòñÿ âîçìîæíîñòü ïåðåâîäà ÷èñåë, âûðàæåííûõ â ñòðîêîâîé ôîðìå, èç âîñüìåðè÷íîé è øåñòíàäöàòåðè÷íîé ñèñòåì ñ÷èñëåíèÿ â äåñÿòè÷íóþ ñèñòåìó ñ÷èñëåíèÿ. Ôóíêöèè Str(), Oct() è Hex(). Ôóíêöèè Str(), Oct() è Hex() ïîçâîëÿþò ïðîèçâîäèòü ïðåîáðàçîâàíèå äåñÿòè÷íûõ ÷èñåë ñîîòâåòñòâåííî â äåñÿòè÷íûå, âîñüìåðè÷íûå è øåñòíàäöàòåðè÷íûå ÷èñëà â ñòðîêîâîé ôîðìå. Àðãóìåíòîì ôóíêöèè ÿâëÿåòñÿ äåñÿòè÷íîå ÷èñëî, à çíà÷åíèåì ñòðîêà: Str(×èñëî) Oct(×èñëî) Hex(×èñëî)
70
Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET Íàïðèìåð, çíà÷åíèÿìè ôóíêöèé Str(2000), Oct(2000), Hex(2000) ÿâëÿþòñÿ äåñÿòè÷íîå ÷èñëî 2000, âîñüìåðè÷íîå ÷èñëî 3720 è øåñòíàäöàòåðè÷íîå ÷èñëî 7D0 â ñòðîêîâîé ôîðìå.
4.2. Ìàòåìàòè÷åñêèå ôóíêöèè  ìàòåìàòè÷åñêèõ ôóíêöèÿõ çíà÷åíèÿìè êàê àðãóìåíòîâ, òàê è ôóíêöèé ÿâëÿþòñÿ ÷èñëà.  ÿçûêå ïðîãðàììèðîâàíèÿ Visual Basic 2005 ìàòåìàòè÷åñêèå ôóíêöèè ðåàëèçóþòñÿ ñ èñïîëüçîâàíèåì ìàòåìàòè÷åñêèõ ìåòîäîâ: Ôóíêöèÿ
Àðãóìåíò ôóíêöèè õ
Âîçâðàùàåìîå ôóíêöèåé çíà÷åíèå
Math.Sin(õ)
×èñëî (â ðàäèàíàõ)
Ñèíóñ ÷èñëà
Math.Cos(õ)
×èñëî (â ðàäèàíàõ)
Êîñèíóñ ÷èñëà
Math.Tan(õ)
×èñëî (â ðàäèàíàõ)
Òàíãåíñ ÷èñëà
Math.Atan(õ)
×èñëî
Àðêòàíãåíñ â ðàäèàíàõ
Math.Sqrt(õ)
Íåîòðèöàòåëüíîå ÷èñëî
Êâàäðàòíûé êîðåíü èç ÷èñëà
Math.Log(õ)
×èñëî
Íàòóðàëüíûé ëîãàðèôì ÷èñëà
Math.Exp(õ)
×èñëî
Ýêñïîíåíòà ÷èñëà
Rnd()
Íåò àðãóìåíòà
Ïñåâäîñëó÷àéíîå ÷èñëî N (0 < N < 1)
Math.Round(x)
×èñëî
×èñëî, áëèæàéøåå ïî âåëè÷èíå ê çàäàííîìó ÷èñëó
Math.Abs(x)
×èñëî
Ìîäóëü ÷èñëà
Math.Sign(x)
×èñëî
Çíàê ÷èñëà
4.3. Ñòðîêîâûå ôóíêöèè  ñòðîêîâûõ ôóíêöèÿõ ëèáî àðãóìåíòû, ëèáî âîçâðàùàåìûå ôóíêöèÿìè çíà÷åíèÿ ÿâëÿþòñÿ ñòðîêàìè. Êîíêàòåíàöèÿ ñòðîê. Íàä ïåðåìåííûìè è ñòðîêàìè ìîæåò ïðîèçâîäèòüñÿ îïåðàöèÿ êîíêàòåíàöèè. Ýòà îïåðàöèÿ ñîñòîèò â îáúåäèíåíèè ñòðîê èëè çíà÷åíèé ñòðîêîâûõ ïåðåìåííûõ â åäèíóþ ñòðîêó. Îïåðàöèÿ êîíêàòåíàöèè îáîçíà÷àåòñÿ çíàêîì «+», êîòîðûé íå ñëåäóåò ïóòàòü ñî çíàêîì ñëîæåíèÿ ÷èñåë â àðèôìåòè÷åñêèõ âûðàæåíèÿõ.
Ïðèëîæåíèå 2
71
Ôóíêöèÿ îïðåäåëåíèÿ äëèíû ñòðîêè.  ôóíêöèè îïðåäåëåíèÿ äëèíû ñòðîêè Len(Ñòðîêà) àðãóìåíòîì ÿâëÿåòñÿ ñòðîêà Ñòðîêà, à âîçâðàùàåò ôóíêöèÿ ÷èñëîâîå çíà÷åíèå äëèíû ñòðîêè (êîëè÷åñòâî ñèìâîëîâ â ñòðîêå). Ñèíòàêñèñ ôóíêöèè: Len(Ñòðîêà) Ïóñòü àðãóìåíòîì ôóíêöèè Len() áóäåò ñòðîêà èíôîðìàòèêà, òîãäà â ðåçóëüòàòå âûïîëíåíèÿ îïåðàòîðà ïðèñâàèâàíèÿ ÄëèíàÑòðîêè = Len(èíôîðìàòèêà) çíà÷åíèåì öåëî÷èñëåííîé ïåðåìåííîé ÄëèíàÑòðîêè áóäåò ÷èñëî 11. Ôóíêöèè âûðåçàíèÿ ïîäñòðîêè.  ôóíêöèÿõ âûðåçàíèÿ ïîäñòðîêè (÷àñòè ñòðîêè) Left(Ñòðîêà, Äëèíà), Right(Ñòðîêà, Äëèíà) è Mid(Ñòðîêà, Ïîçèöèÿ, Äëèíà) àðãóìåíòàìè ÿâëÿþòñÿ ñòðîêà Ñòðîêà è ÷èñëà èëè öåëî÷èñëåííûå ïåðåìåííûå Äëèíà è Ïîçèöèÿ. Ôóíêöèè âîçâðàùàþò ñòðîêîâîå çíà÷åíèå, ðàâíîå âûðåçàííîé ïîäñòðîêå. Ñèíòàêñèñ ôóíêöèé: Left(Ñòðîêà, Äëèíà) Right(Ñòðîêà, Äëèíà) Mid(Ñòðîêà, Ïîçèöèÿ, Äëèíà) Çíà÷åíèåì ôóíêöèè Left() ÿâëÿåòñÿ ëåâàÿ ïîäñòðîêà, êîòîðàÿ íà÷èíàåòñÿ ñ êðàéíåãî ëåâîãî ñèìâîëà ñòðîêè è èìååò êîëè÷åñòâî ñèìâîëîâ, ðàâíîå çíà÷åíèþ ÷èñëîâîãî àðãóìåíòà Äëèíà. Ïóñòü àðãóìåíòîì ôóíêöèè Left() áóäåò ñòðîêà "èíôîðìàòèêà", òîãäà â ðåçóëüòàòå âûïîëíåíèÿ îïåðàòîðà ïðèñâàèâàíèÿ ËåâàÿÏîäñòðîêà = Left(èíôîðìàòèêà,2) çíà÷åíèåì ñòðîêîâîé ïåðåìåííîé ËåâàÿÏîäñòðîêà áóäåò ñòðîêà èí. Çíà÷åíèåì ôóíêöèè Right ÿâëÿåòñÿ ïðàâàÿ ïîäñòðîêà, êîòîðàÿ íà÷èíàåòñÿ ñ êðàéíåãî ïðàâîãî ñèìâîëà ñòðîêè è èìååò êîëè÷åñòâî ñèìâîëîâ, ðàâíîå çíà÷åíèþ ÷èñëîâîãî àðãóìåíòà Äëèíà. Ïóñòü àðãóìåíòîì ôóíêöèè Right áóäåò ñòðîêà èíôîðìàòèêà, òîãäà â ðåçóëüòàòå âûïîëíåíèÿ îïåðàòîðà ïðèñâàèâàíèÿ ÏðàâàÿÏîäñòðîêà = Right(èíôîðìàòèêà,4) çíà÷åíèåì ñòðîêîâîé ïåðåìåííîé ÏðàâàÿÏîäñòðîêà áóäåò ñòðîêà òèêà.
72
Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET Çíà÷åíèåì ôóíêöèè Mid ÿâëÿåòñÿ ïîäñòðîêà, êîòîðàÿ íà÷èíàåòñÿ ñ ñèìâîëà, ïîçèöèÿ êîòîðîãî â ñòðîêå çàäàåòñÿ ÷èñëîâûì àðãóìåíòîì Ïîçèöèÿ, è èìååò äëèíó, ðàâíóþ çíà÷åíèþ ÷èñëîâîãî àðãóìåíòà Äëèíà. Ïóñòü àðãóìåíòîì ôóíêöèè Mid áóäåò ñòðîêà èíôîðìàòèêà, òîãäà â ðåçóëüòàòå âûïîëíåíèÿ îïåðàòîðà ïðèñâàèâàíèÿ Ïîäñòðîêà = Mid(èíôîðìàòèêà,3,5) çíà÷åíèåì ñòðîêîâîé ïåðåìåííîé Ïîäñòðîêà áóäåò ñòðîêà ôîðìà. Ôóíêöèÿ Asc(). Ôóíêöèÿ Asc() îñóùåñòâëÿåò ïðåîáðàçîâàíèå ñòðîêè â ÷èñëîâîé êîä ïåðâîãî ñèìâîëà. Àðãóìåíòîì ôóíêöèè ÿâëÿåòñÿ ñòðîêà, à çíà÷åíèåì ÷èñëî:
Asc(Ñòðîêà)
Äëÿ îáðàáîòêè äàííûõ â ôîðìàòå Unicode ðåêîìåíäóåòñÿ èñïîëüçîâàòü ñïåöèàëèçèðîâàííóþ ôóíêöèþ AscW. Ôóíêöèÿ Chr(). Ôóíêöèÿ Chr() îñóùåñòâëÿåò ïðåîáðàçîâàíèå ÷èñëîâîãî êîäà â ñèìâîë. Àðãóìåíòîì ôóíêöèè ÿâëÿåòñÿ ÷èñëî, à çíà÷åíèåì ñèìâîë: Chr(×èñëî) Äëÿ ïðåîáðàçîâàíèÿ äàííûõ â ôîðìàòå Unicode ðåêîìåíäóåòñÿ èñïîëüçîâàòü ñïåöèàëèçèðîâàííóþ ôóíêöèþ ChrW. Ôóíêöèÿ InStr(). Ôóíêöèÿ InStr() îñóùåñòâëÿåò ïîèñê ïîäñòðîêè â ñòðîêå. Àðãóìåíòàìè ôóíêöèè ÿâëÿþòñÿ ñòðîêà è ïîäñòðîêà, à çíà÷åíèåì íîìåð ïåðâîãî ñèìâîëà ïîäñòðîêè â ñòðîêå: InStr(Ñòðîêà,Ïîäñòðîêà) InStr(Ñòàðò,Ñòðîêà,Ïîäñòðîêà) Âòîðîé âàðèàíò èìååò äîïîëíèòåëüíûé ïàðàìåòð, ïîçâîëÿþùèé óêàçàòü ñìåùåíèå â ñòðîêå, ñ êîòîðîãî íà÷èíàåòñÿ ïîèñê.
Ïðèëîæåíèå 2
73
Còðîêîâûå ôóíêöèè è èõ çíà÷åíèÿ: Ôóíêöèÿ
Çíà÷åíèå ôóíêöèè
Len("èíôîðìàòèêà")
11
Left(Êèëîáàéò,4)
Êèëî
Right(Êèëîáàéò,4)
áàéò
Mid(èíôîðìàòèêà,3,5)
ôîðìà
Asc(è)
232
Chr(255)
ÿ
InStr(èíôîðìàòèêà, ôîðìà)
3
4.4. Ôóíêöèè ââîäà è âûâîäà äàííûõ Ôóíêöèÿ InputBox(). Ôóíêöèÿ InputBox() ïîçâîëÿåò ââîäèòü äàííûå ñ ïîìîùüþ äèàëîãîâîãî îêíà ââîäà. Àðãóìåíòàìè ýòîé ôóíêöèè ÿâëÿþòñÿ òðè ñòðîêè, à çíà÷åíèåì ôóíêöèè ñòðîêà ïî óìîë÷àíèþ èëè ñòðîêà, ââåäåííàÿ ïîëüçîâàòåëåì. Ñèíòàêñèñ ôóíêöèè: Ïåðåìåííàÿ = InputBox(Ïîäñêàçêà, Çàãîëîâîê, [Çíà÷åíèåÏîÓìîë÷àíèþ], [ÊîîðäèíàòàX], [ÊîîðäèíàòàY])  ïðîöåññå âûïîëíåíèÿ ýòîé ôóíêöèè ïîÿâëÿåòñÿ äèàëîãîâîå îêíî ñ òåêñòîâûì ïîëåì (ðèñ. 11), â êîòîðîì: q
â ñòðîêó çàãîëîâêà îêíà âûâîäèòñÿ çíà÷åíèå âòîðîãî àðãóìåíòà Çàãîëîâîê;
q
â ñàìî îêíî âûâîäèòñÿ çíà÷åíèå àðãóìåíòà Ïîäñêàçêà;
q
â òåêñòîâîå ïîëå âûâîäèòñÿ çíà÷åíèå àðãóìåíòà Çíà÷åíèåÏîÓìîë÷àíèþ (åñëè ýòî çíà÷åíèå îòñóòñòâóåò, ñîäåðæèìîå òåêñòîâîãî îêíà òàêæå îòñóòñòâóåò);
q
ÊîîðäèíàòàÕ è ÊîîðäèíàòàY ñìåùåíèå îò ëåâîãî âåðõíåãî óãëà ýêðàíà.
74
Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET
Ðèñ. 11
Åñëè ïîëüçîâàòåëü ùåëêíåò ïî êíîïêå ÎÊ, òî çíà÷åíèåì ôóíêöèè ñòàíåò ñòðîêà, ââåäåííàÿ ïîëüçîâàòåëåì â òåêñòîâîå ïîëå. Åñëè ïîëüçîâàòåëü ùåëêíåò ïî êíîïêå Cancel, òî çíà÷åíèåì ôóíêöèè ñòàíåò ñòðîêà Çíà÷åíèå ÏîÓìîë÷àíèþ. Ôóíêöèÿ MsgBox(). Ôóíêöèÿ MsgBox() ïîçâîëÿåò âûâîäèòü ñîîáùåíèÿ íå íà ôîðìó, à â ñïåöèàëüíîå îêíî ñîîáùåíèé, â êîòîðîì ìîæíî ðàçìåñòèòü îïðåäåëåííûé íàáîð êíîïîê è èíôîðìàöèîííûé çíà÷îê î òèïå ñîîáùåíèÿ. Êðîìå òîãî, ôóíêöèÿ MsgBox() ïîëó÷àåò îïðåäåëåííîå çíà÷åíèå, êîòîðîå ìîæåò áûòü ïðèñâîåíî ÷èñëîâîé ïåðåìåííîé. Ñèíòàêñèñ ôóíêöèè:
Ïåðåìåííàÿ = MsgBox(Ñîîáùåíèå[,×èñÊîä1+×èñÊîä2] [,Çàãîëîâîê])
 ïðîöåññå âûïîëíåíèÿ ýòîé ôóíêöèè ïîÿâëÿåòñÿ äèàëîãîâîå îêíî ñ êíîïêàìè, â êîòîðîì: q
àðãóìåíò Ñîîáùåíèå âûâîäèòñÿ â îêíî ñîîáùåíèé;
q
àðãóìåíò ×èñÊîä1+×èñÊîä2 îïðåäåëÿåò âíåøíèé âèä îêíà, çíà÷åíèå ×èñÊîä1 îïðåäåëÿåò âèä ïèêòîãðàììû, êîòîðàÿ ïîìåùàåòñÿ íà îêíî ñîîáùåíèé, à çíà÷åíèå ×èñÊîä2 íàáîð êíîïîê, ðàçìåùàåìûõ â îêíå;
q
àðãóìåíò Çàãîëîâîê âûâîäèòñÿ â ñòðîêó çàãîëîâêà îêíà.
Ïðèëîæåíèå 2
75
Çíà÷åíèÿ ×èñÊîä1 è ×èñÊîä2, îïðåäåëÿþùèå âèä îêíà ñîîáùåíèé: ×èñÊîä1 16
Òèï ñîîáùåíèÿ Îøèáêà
32
Âîïðîñ
48
Âíèìàíèå 64
Ïèêòîãðàììà
×èñÊîä2
Íàáîð êíîïîê
0
ÎÊ
1
ÎÊ, Îòìåíà
2
Ñòîï, Ïîâòîðèòü, Ïðîïóñòèòü
3
Äà, Íåò, Îòìåíà
4
Äà, Íåò
5
Ïîâòîðèòü, Îòìåíà
Èíôîðìàöèÿ
Ñ ïîìîùüþ îäíîãî ÷èñëà, ÿâëÿþùåãîñÿ ñóììîé ÷èñåë ×èñÊîä1 è ×èñÊîä2, ìîæíî îäíîâðåìåííî óñòàíîâèòü îïðåäåëåííóþ ïèêòîãðàììó è îïðåäåëåííóþ êîìáèíàöèþ êíîïîê, ðàçìåùàåìûõ â îêíå ñîîáùåíèé. Íàïðèìåð, ÷èñëî 36 ìîæíî ðàññìàòðèâàòü êàê ñóììó ÷èñåë 32 (êîä ïèêòîãðàììû «Âîïðîñ») è 4 (êîä êîìáèíàöèè êíîïîê Äà, Íåò).  ýòîì ñëó÷àå ôóíêöèÿ MsgBox() áóäåò âûâîäèòü îêíî ñîîáùåíèé ñ òåêñòîì, ïèêòîãðàììîé-çíàêîì âîïðîñà è êíîïêàìè Äà, Íåò. Íàïðèìåð, åñëè çàäàòü ôóíêöèè ñ àðãóìåíòàìè MsgBox(Ñîîáùåíèå, 48 + 3, Çàãîëîâîê), òî áóäåò âûâåäåíî îêíî ñîîáùåíèé, ïîêàçàííîå íà ðèñ. 12.
Ðèñ. 12
Íàæàòèå êíîïêè ïðèâîäèò ê âû÷èñëåíèþ çíà÷åíèÿ ôóíêöèè, êîòîðîå çàâèñèò îò íàæàòîé êíîïêè. Òî åñòü çíà÷åíèå, âîçâðàùàåìîå ôóíêöèåé MsgBox(), ïîçâîëÿåò îïðåäåëèòü, êàêàÿ èç êíîïîê áûëà íàæàòà:
76
Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET
Íàæàòàÿ êíîïêà
Çíà÷åíèÿ ôóíêöèè MsgBox()
ÎÊ
1
Îòìåíà
2
Ñòîï
3
Ïîâòîð
4
Ïðîïóñòèòü
5
Äà
6
Íåò
7
5. Âîçìîæíîñòè ðàáîòû ñ ãðàôèêîé â Visual Basic .NET 2003 è Visual Basic 2005 Express Edition Ãðàôè÷åñêèå ìåòîäû â ÿçûêàõ ïðîãðàììèðîâàíèÿ Visual Basic .NET 2003 è Visual Basic 2005 Express Edition ñóùåñòâåííî îòëè÷àþòñÿ îò ãðàôè÷åñêèõ îïåðàòîðîâ ïðåäøåñòâóþùèõ âåðñèé Visual Basic 5.0 è 6.0. Íà ôîðìå è óïðàâëÿþùèõ ýëåìåíòàõ ìîæíî ðèñîâàòü ëèíèè, ïðÿìîóãîëüíèêè, îêðóæíîñòè è äðóãèå ãðàôè÷åñêèå ôèãóðû. Äëÿ ðèñîâàíèÿ íåîáõîäèìî îïðåäåëèòü îáúåêòû Graphics (Îáëàñòü ðèñîâàíèÿ), Pen (Ïåðî) è Brush (Êèñòü). Îáëàñòü ðèñîâàíèÿ. Îáúåêò Graphics (Îáëàñòü ðèñîâàíèÿ) ïîçâîëÿåò âûáðàòü â êà÷åñòâå îáëàñòè ðèñîâàíèÿ îïðåäåëåííûé ýëåìåíò óïðàâëåíèÿ è îáëàäàåò ìåòîäàìè ðèñîâàíèÿ ãðàôè÷åñêèõ ôèãóð. Ñíà÷àëà íåîáõîäèìî â ðàçäåëå îáúÿâëåíèÿ ïåðåìåííûõ îïðåäåëèòü èìÿ îáúåêòà, íàïðèìåð: Dim Graph1 As Graphics Çàòåì â ïðîãðàììíîì êîäå ñîáûòèéíîé ïðîöåäóðû íåîáõîäèìî óêàçàòü îïðåäåëåííûé ýëåìåíò óïðàâëåíèÿ â êà÷åñòâå îáëàñòè ðèñîâàíèÿ. Îáû÷íî â êà÷åñòâå îáëàñòè ðèñîâàíèÿ âûáèðàåòñÿ ðàçìåùåííîå íà ôîðìå ãðàôè÷åñêîå ïîëå (íàïðèìåð, PictureBox1): Graph1 = Me.PictureBox1.CreateGraphics()
Ïðèëîæåíèå 2
77
Ïåðî. Îáúåêò Pen (Ïåðî) îïðåäåëÿåò öâåò è øèðèíó ëèíèè ðèñîâàíèÿ. Ñíà÷àëà íåîáõîäèìî â ðàçäåëå îáúÿâëåíèÿ ïåðåìåííûõ îïðåäåëèòü èìÿ îáúåêòà (íàïðèìåð, Pen1), óñòàíîâèòü öâåò (íàïðèìåð, êðàñíûé Color.Red) è øèðèíó ëèíèè â ïèêñåëÿõ (íàïðèìåð, 3): Dim Pen1 As New Pen(Color.Red, 3) Çàòåì â ïðîãðàììíîì êîäå ñîáûòèéíîé ïðîöåäóðû ìîæíî óñòàíîâèòü íîâûå çíà÷åíèÿ öâåòà è øèðèíû ëèíèè, íàïðèìåð: Pen1.Color = Color.Green Pen1.Width = 15 Êèñòü. Îáúåêò Brush (Êèñòü) îïðåäåëÿåò öâåò è ñòèëü çàêðàøèâàíèÿ ïðÿìîóãîëüíèêîâ, îêðóæíîñòåé è äðóãèõ çàìêíóòûõ ôèãóð. Ñíà÷àëà íåîáõîäèìî â ðàçäåëå îáúÿâëåíèÿ ïåðåìåííûõ îïðåäåëèòü èìÿ îáúåêòà (íàïðèìåð, Brush1) è óñòàíîâèòü òèï çàêðàñêè è öâåò (íàïðèìåð, ñïëîøíàÿ çàêðàñêà ñèíåãî öâåòà SolidBrush(Color.Blue)): Dim Brush1 As New SolidBrush(Color.Blue) Çàòåì â ïðîãðàììíîì êîäå ñîáûòèéíîé ïðîöåäóðû ìîæíî óñòàíîâèòü íîâûé öâåò çàêðàñêè (íàïðèìåð, ïóðïóðíûé): Brush1.Color = Color.Magenta Ãðàôè÷åñêèå ìåòîäû. Ãðàôè÷åñêèå ôèãóðû ðèñóþòñÿ ñ èñïîëüçîâàíèåì ãðàôè÷åñêèõ ìåòîäîâ. Çàìêíóòûå ôèãóðû, òàêèå êàê ïðÿìîóãîëüíèêè èëè ýëëèïñû, ñîñòîÿò èç äâóõ ÷àñòåé èç êîíòóðà è èç âíóòðåííåé îáëàñòè. Êîíòóð ðèñóåòñÿ ñ èñïîëüçîâàíèåì çàäàííîãî ïåðà, à âíóòðåííÿÿ îáëàñòü çàêðàøèâàåòñÿ ñ èñïîëüçîâàíèåì çàäàííîé êèñòè. DrawLine() ìåòîä ðèñîâàíèÿ ëèíèè, àðãóìåíòàìè êîòîðîãî ÿâëÿþòñÿ ïåðî îïðåäåëåííîãî öâåòà è òîëùèíû (íàïðèìåð, Pen1), à òàêæå êîîðäèíàòû êîíöîâ ëèíèè X1, Y1 è X2, Y2: Graph1.DrawLine(Pen1, X1, Y1, X2, Y2) DrawRectangle() ìåòîä ðèñîâàíèÿ ïðÿìîóãîëüíèêà, àðãóìåíòàìè êîòîðîãî ÿâëÿþòñÿ ïåðî îïðåäåëåííîãî öâåòà è òîëùèíû (íàïðèìåð, Pen1), à òàêæå êîîðäèíàòû ëåâîãî âåðõíåãî óãëà X1, Y1, øèðèíà Width è âûñîòà Height: Graph1.DrawRectangle(Pen1, X1, Y1, Width, Height)
78
Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET FillRectangle() ìåòîä çàêðàñêè ïðÿìîóãîëüíèêà ñ èñïîëüçîâàíèåì êèñòè îïðåäåëåííîãî öâåòà. Íàïðèìåð: Graph1.FillRectangle(Brush1, X1, Y1, Width, Height) DrawEllipse() ìåòîä ðèñîâàíèÿ îêðóæíîñòè èëè ýëëèïñà, àðãóìåíòàìè êîòîðîãî ÿâëÿþòñÿ ïåðî îïðåäåëåííîãî öâåòà è òîëùèíû (íàïðèìåð, Pen1), à òàêæå êîîðäèíàòû ëåâîãî âåðõíåãî óãëà îïèñàííîãî ïðÿìîóãîëüíèêà X1, Y1, øèðèíà Width è âûñîòà Height: Graph1.DrawEllipse(Pen1, X1, Y1, Width, Height) Graph1.FillEllipse() ìåòîä çàêðàñêè îêðóæíîñòè èëè ýëëèïñà ñ èñïîëüçîâàíèåì êèñòè îïðåäåëåííîãî öâåòà. Íàïðèìåð: Graph1.FillEllipse(Brush1, X1, Y1, Width, Height) Äëÿ ðèñîâàíèÿ òî÷êè ñ çàäàííûìè êîîðäèíàòàìè X1 è Y1 ìîæíî èñïîëüçîâàòü ìåòîäû DrawRectangle(Pen1, X1, Y1, 1, 1) èëè DrawEllipse(Pen1, X1, Y1, 1, 1), â êîòîðûõ àðãóìåíòû Width è Height ðàâíû 1. Graph1.Clear() ìåòîä, çàäàííûì öâåòîì ñòèðàþùèé èçîáðàæåíèÿ â îáëàñòè ðèñîâàíèÿ. Íàïðèìåð, áåëûì öâåòîì: Graph1.Clear(Color.White) Öâåò. Öâåò óñòàíàâëèâàåòñÿ êàê çíà÷åíèå ñâîéñòâà Color. Ìîæíî óñòàíîâèòü öâåò ñ èñïîëüçîâàíèåì íåñêîëüêèõ äåñÿòêîâ öâåòîâûõ êîíñòàíò. Íèæå ïðèâåäåíû ïðèìåðû óñòàíîâêè çåëåíîãî öâåòà äëÿ îáúåêòà Pen1 (Ïåðî) è æåëòîãî öâåòà äëÿ îáúåêòà Brush1 (Êèñòü): Pen1.Color = Color.Green Brush1.Color = Color.Yellow Äëÿ óñòàíîâêè öâåòà â 24-áèòîâîé ïàëèòðå öâåòîâ RGB èñïîëüçóåòñÿ ìåòîä Color.FromArgb(Red, Green, Blue), àðãóìåíòàìè êîòîðîãî ÿâëÿþòñÿ òðè ÷èñëà â äèàïàçîíàõ îò 0 äî 255 (èíòåíñèâíîñòè êðàñíîãî, çåëåíîãî è ñèíåãî öâåòîâ). Íàïðèìåð, òàê ìîæíî óñòàíîâèòü ïóðïóðíûé öâåò äëÿ îáúåêòà Brush1 (Êèñòü): Brush1.Color = Color.FromArgb(255,0,255) Ðèñîâàíèå òåêñòà. Ìåòîä DrawString() ïîçâîëÿåò âûâîäèòü òåêñò â îáëàñòü ðèñîâàíèÿ. Àðãóìåíòàìè ìåòîäà ÿâëÿåòñÿ ñòðîêà òåêñòà, øðèôò,
Ïðèëîæåíèå 2
79
êèñòü è êîîðäèíàòû íà÷àëà ñòðîêè. Îáúåêòû «Øðèôò» (íàïðèìåð, drawFont) è «Êèñòü» (íàïðèìåð, drawBrush) íåîáõîäèìî îáúÿâèòü: Dim drawFont As New Font(Arial, 16) Dim drawBrush As New SolidBrush(Color.Black) Ðèñîâàíèå òåêñòà â ïîëå ðèñîâàíèÿ ìîæíî îñóùåñòâèòü òàê: Graph1.DrawString(Òåêñò, drawFont, drawBrush, 10, 10) Ñèñòåìà êîîðäèíàò. Ðèñîâàíèå ëèíèé, ïðÿìîóãîëüíèêîâ è äðóãèõ ôèãóð ïðîèçâîäèòñÿ â êîìïüþòåðíîé ñèñòåìå êîîðäèíàò, íà÷àëî êîòîðîé ðàñïîëîæåíî â âåðõíåì ëåâîì óãëó ôîðìû èëè ýëåìåíòà óïðàâëåíèÿ. Îñü X íàïðàâëåíà âïðàâî, à îñü Y âíèç. Åäèíèöåé èçìåðåíèÿ ïî óìîë÷àíèþ ÿâëÿåòñÿ òî÷êà (ïèêñåëü). Êîìïüþòåðíàÿ ñèñòåìà êîîðäèíàò ãðàôè÷åñêîãî ïîëÿ øèðèíîé 300 òî÷åê è âûñîòîé 200 òî÷åê ïðèâåäåíà íà ðèñ. 13.
Ðèñ. 13
Ïðè ãåîìåòðè÷åñêèõ ïîñòðîåíèÿõ è ïîñòðîåíèè ãðàôèêîâ ôóíêöèé óäîáíåå èñïîëüçîâàòü ìàòåìàòè÷åñêóþ ñèñòåìó êîîðäèíàò, íà÷àëî êîòîðîé îáû÷íî íàõîäèòñÿ â öåíòðå îáëàñòè ðèñîâàíèÿ. Îñü X íàïðàâëåíà âïðàâî, à îñü Y ââåðõ. Ìàòåìàòè÷åñêàÿ ñèñòåìà êîîðäèíàò ãðàôè÷åñêîãî ïîëÿ øèðèíîé 300 òî÷åê è âûñîòîé 200 òî÷åê ïðèâåäåíà íà ðèñ. 14.
80
Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET
Ðèñ. 14
Äëÿ ïðåîáðàçîâàíèÿ êîìïüþòåðíîé ñèñòåìû êîîðäèíàò â ìàòåìàòè÷åñêóþ ñèñòåìó êîîðäèíàò èñïîëüçóåòñÿ ìåòîä ìàñøòàáèðîâàíèÿ è ïîâîðîòà îñåé ScaleTransform() è ìåòîä ñäâèãà íà÷àëà êîîðäèíàò TranslateTransform(). Ìåòîä Graph1.ScaleTransform(1, -1) îáåñïå÷èâàåò ïîâîðîò îñè Y. Ìåòîä Graph1.TranslateTransform(150, -100) îáåñïå÷èâàåò ñäâèã ïî îñè Õ íà 150 òî÷åê âïðàâî è ñäâèã ïî îñè Y íà 100 òî÷åê âíèç.  ñèñòåìå êîîðäèíàò ìîæíî òàêæå èçìåíÿòü åäèíèöó èçìåðåíèÿ ïóòåì óñòàíîâêè çíà÷åíèÿ ñâîéñòâà PageUnit. Íàïðèìåð, òàê óñòàíàâëèâàåòñÿ åäèíèöà èçìåðåíèÿ, ðàâíàÿ 1/300 äþéìà: Graph1.PageUnit = GraphicsUnit.Document À òàê óñòàíàâëèâàåòñÿ åäèíèöà èçìåðåíèÿ, ðàâíàÿ 1 ìèëëèìåòðó: Graph1.PageUnit = GraphicsUnit.Millimeter
Ïðèëîæåíèå 3
Ïðîöåäóðà óñòàíîâêè îïåðàöèîííîé ñèñòåìû Windows XP Professional ñ çàãðóæàåìîãî äèñòðèáóòèâíîãî êîìïàêò-äèñêà1 Ïîäãîòîâêà ôàéëà îòâåòîâ äëÿ àâòîìàòèçàöèè óñòàíîâêè ×òîáû âûïîëíèòü ýòó ïðîöåäóðó â ïîëíîñòüþ àâòîìàòè÷åñêîì ðåæèìå, íóæíî ïîäãîòîâèòü ñïåöèàëüíûé òåêñòîâûé ôàéë (íàçûâàåìûé ôàéëîì îòâåòîâ), êîòîðûé è èñïîëüçîâàòü â äàëüíåéøåì. Äëÿ ýòîãî âîñïîëüçóéòåñü ïðîãðàììîé Äèñïåò÷åð óñòàíîâêè Windows. Îíà íàõîäèòñÿ â àðõèâíîì ôàéëå DEPLOY.CAB íà äèñòðèáóòèâíîì êîìïàêò-äèñêå, ïîýòîìó ñíà÷àëà íåîáõîäèìî èçâëå÷ü ôàéëû èç ýòîãî àðõèâà ñëåäóþùèì îáðàçîì: 1. Íà ëþáîì êîìïüþòåðå ñ îïåðàöèîííîé ñèñòåìîé Windows XP (èëè Windows 2000) âñòàâüòå äèñòðèáóòèâíûé êîìïàêò-äèñê Windows XP Professional â äèñêîâîä. 2.  îòêðûâøåìñÿ îêíå ïðîãðàììû óñòàíîâêè2 ùåëêíèòå ñíà÷àëà ïî ïóíêòó Âûïîëíåíèå èíûõ çàäà÷, à çàòåì ïî ïóíêòó Îáçîð ýòîãî êîìïàêò-äèñêà. Íà ýêðàíå ïîÿâèòñÿ îêíî ïðîãðàììû Ïðîâîäíèê, â êîòîðîì áóäåò ïîêàçàíî ñîäåðæèìîå êîðíåâîé ïàïêè êîìïàêò-äèñêà. 3.  ñïèñêå ôàéëîâ è ïàïîê äâàæäû ùåëêíèòå ñíà÷àëà ïî ïóíêòó SUPPORT, çàòåì ïî ïóíêòó TOOLS, çàòåì ïî ïóíêòó DEPLOY.CAB. 4. Íàæàâ êîìáèíàöèþ êëàâèø Ctrl+A, âûäåëèòå âñå ôàéëû àðõèâà, çàòåì ùåëêíèòå ïðàâîé êíîïêîé ïî ñïèñêó âûäåëåííûõ ôàéëîâ è âûáåðèòå â êîíòåêñòíîì ìåíþ ïóíêò Èçâëå÷ü. 5.  îêíå Âûáåðèòå êîíå÷íóþ ïàïêó ùåëêíèòå ïî çíà÷êó Ìîé êîìïüþòåð, çàòåì ïî çíà÷êó Ëîêàëüíûé äèñê (C:) ïîñëå ÷åãî ïî êíîïêå Ñîçäàòü ïàïêó, ââåäèòå â ïîëå ââîäà íàçâàíèå ñîçäàâàåìîé ïàïêè, íàïðèìåð Deploy, çàòåì íàæìèòå êëàâèøó Enter. 1
2
Äëÿ îáëåã÷åíèÿ ðàçâåðòûâàíèÿ ñèñòåìû ìû ðåêîìåíäóåì âîñïîëüçîâàòüñÿ äèñòðèáóòèâîì äëÿ ìíîãîêðàòíîé óñòàíîâêè (Volume License Media), â êîòîðûé óæå èíòåãðèðîâàí ïàêåò îáíîâëåíèé SP2. Åñëè ýòîãî íå ïðîèçîéäåò, çàïóñòèòå ïðîãðàììó SETUP.EXE èç êîðíåâîé ïàïêè êîìïàêò-äèñêà.
82
Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET
6. Óáåäèòåñü, ÷òî ïàïêà Deploy âûäåëåíà, è ùåëêíèòå ïî êíîïêå Èçâëå÷ü.
 ðåçóëüòàòå âñå ôàéëû èç àðõèâà áóäóò ïåðåïèñàíû â ñîçäàííóþ íà äèñêå C: ïàïêó. 7. Çàêðîéòå îêíî ïðîãðàììû Ïðîâîäíèê è ùåëêíèòå ïî êíîïêå Âûõîä â îêíå ïðîãðàììû óñòàíîâêè. Òåïåðü ðàññìîòðèì ïðîöåäóðó ñîçäàíèÿ ôàéëà îòâåòîâ: 1. Çàïóñòèòå ïðîãðàììó Äèñïåò÷åð óñòàíîâêè (ùåëêíèòå ïî êíîïêå Ïóñê, çàòåì ïî ïóíêòó Âûïîëíèòü, â ïîëå Îòêðûòü íàáåðèòå c:\deploy\setupmgr è íàæìèòå êëàâèøó Enter). 2. Ùåëêàéòå ïî êíîïêå Äàëåå äî òåõ ïîð, ïîêà íà ýêðàíå íå ïîÿâèòñÿ ñòðàíèöà Âçàèìîäåéñòâèå ñ ïîëüçîâàòåëåì. Íà íåé óñòàíîâèòå ïåðåêëþ÷àòåëü â ïîëîæåíèå Ïîëíîñòüþ àâòîìàòè÷åñêàÿ óñòàíîâêà è îïÿòü ùåëêíèòå ïî êíîïêå Äàëåå. 3. Íà ñòðàíèöå Äèñòðèáóòèâíûé îáùèé ðåñóðñ óñòàíîâèòå ïåðåêëþ÷àòåëü â ïîëîæåíèå Óñòàíîâèòü ñ êîìïàêò-äèñêà, çàòåì ùåëêíèòå ïî êíîïêå Äàëåå. 4. Íà ñëåäóþùåé ñòðàíèöå óñòàíîâèòå ôëàæîê ß ïðèíèìàþ óñëîâèÿ ëèöåíçèîííîãî ñîãëàøåíèÿ è ùåëêíèòå ïî êíîïêå Äàëåå. Ïîñëå ýòîãî íà ýêðàíå îñòàíåòñÿ äèàëîãîâîå îêíî, â ëåâîé ÷àñòè êîòîðîãî áóäóò ïåðå÷èñëåíû ãðóïïû ïàðàìåòðîâ, çàäàâàåìûõ â õîäå óñòàíîâêè îïåðàöèîííîé ñèñòåìû, à â ïðàâîé ÷àñòè âû ìîæåòå îïðåäåëèòü èõ êîíêðåòíûå çíà÷åíèÿ. Íàïðèìåð, òàêèì îáðàçîì: Ãðóïïà ïàðàìåòðîâ Èìÿ è îðãàíèçàöèÿ Ïàðàìåòðû ýêðàíà ×àñîâîé ïîÿñ Êëþ÷ ïðîäóêòà Èìåíà êîìïüþòåðîâ Ïàðîëü àäìèíèñòðàòîðà Ñåòåâûå êîìïîíåíòû Ðàáî÷àÿ ãðóïïà èëè äîìåí
Çíà÷åíèÿ èëè ðåêîìåíäàöèè ïî èõ ââîäó Èìÿ: Student Îðãàíèçàöèÿ: Class Öâåòîâàÿ ïàëèòðà: High Color Îáëàñòü ýêðàíà: 1024 ´ 768 ×àñòîòà îáíîâëåíèÿ: 75 Ãö Âûáåðèòå ñîîòâåòñòâóþùèé âàøåìó ðåãèîíó Óêàæèòå 25-ñèìâîëüíûé êëþ÷ ïðîäóêòà äëÿ èìåþùåãîñÿ ó âàñ äèñòðèáóòèâà Windows XP Professional Óñòàíîâèòå ôëàæîê Àâòîìàòè÷åñêè ñîçäàâàòü èìåíà êîìïüþòåðîâ íà îñíîâå íàçâàíèÿ îðãàíèçàöèè, óêàçàííîãî íà ýòàïå «Èìÿ è îðãàíèçàöèÿ» Çàäàéòå ñëîæíûé äëÿ ïîäáîðà ïàðîëü, íàïðèìåð Gfhjkm<XP>. Óñòàíîâèòå ôëàæîê Ïðè çàãðóçêå êîíå÷íîãî êîìïüþòåðà àâòîìàòè÷åñêè âîéòè êàê àäìèíèñòðàòîð Îáû÷íûå ïàðàìåòðû  ñîñòàâå ðàáî÷åé ãðóïïû: WORKGROUP
Ïðèëîæåíèå 3
83
Äîïîëíèòåëüíûå ïàðàìåòðû çàäàâàòü íå îáÿçàòåëüíî.
5. Ùåëêàéòå ïî êíîïêå Äàëåå, ïîêà íå äîéäåòå äî ðàçäåëà Äîïîëíè-
òåëüíûå êîìàíäû (ëèáî ïåðåêëþ÷èòåñü â íåãî ùåë÷êîì ïî íàçâàíèþ), çàòåì ùåëêíèòå ïî êíîïêå Ãîòîâî.
6. Â ïîëå Ïóòü è èìÿ ôàéëà íàáåðèòå c:\deploy\winnt.sif è ùåëêíèòå ïî êíîïêå OK.
Âíèìàíèå! Ôàéë îòâåòîâ, ïðèìåíÿåìûé ïðè àâòîìàòè÷åñêîé óñòàíîâêå ñ êîìïàêò-äèñêà, îáÿçàòåëüíî äîëæåí íàçûâàòüñÿ WINNT.SIF.
7. Çàêðîéòå îêíî ïðîãðàììû, ùåëêíóâ ïî êíîïêå Îòìåíà. Ïîñêîëüêó ñ åå ïîìîùüþ íåêîòîðûå íóæíûå ïàðàìåòðû íåëüçÿ âíåñòè â ôàéë îòâåòîâ, ïîòðåáóåòñÿ äîïîëíèòåëüíî èçìåíèòü åãî âðó÷íóþ. Äëÿ ýòîãî âîñïîëüçóéòåñü ïðîãðàììîé Áëîêíîò:
1. Îòêðîéòå ôàéë îòâåòîâ â Áëîêíîòå (ùåëêíèòå ïî êíîïêå Ïóñê, çàòåì ïî ïóíêòó Âûïîëíèòü, â ïîëå Îòêðûòü íàáåðèòå notepad c:\deploy\ winnt.sif è íàæìèòå êëàâèøó Enter).
2. Íàéäèòå â òåêñòå ðàçäåë [Unattended] è äîáàâüòå â íåãî äâå ñòðîêè: Repartition=Yes UnattendSwitch=Yes Ïåðâàÿ çàñòàâëÿåò ïðîãðàììó óñòàíîâêè çàíîâî ðàçáèòü æåñòêèé äèñê êîìïüþòåðà, ñîçäàâ íà íåì îäèí-åäèíñòâåííûé ðàçäåë, à âòîðàÿ óêàçûâàåò, ÷òî ïîñëå óñòàíîâêè íàäî ïðîïóñòèòü ýòàï Äîáðî ïîæàëîâàòü â Windows XP.
3. Íàéäèòå â ôàéëå ðàçäåë [Identification] è äîáàâüòå ïåðåä íèì ñëåäóþùèå ñòðîêè: [RegionalSettings] SystemLocale=1049 UserLocale=1049 InputLocale=0409:00000409, 0 InputLocale_DefaultUser=0409:00000409, 0419:00000419]
Çà ñ÷åò ýòîãî â õîäå àâòîìàòè÷åñêîé óñòàíîâêè áóäóò íàñòðîåíû ðîññèéñêèå ðåãèîíàëüíûå ñòàíäàðòû è âîçìîæíîñòü ââîäà ñèìâîëîâ íà àíãëèéñêîì (ïî óìîë÷àíèþ) è ðóññêîì ÿçûêàõ.
4. Ñîõðàíèòå èçìåíåííûé ôàéë íà äèñêå (íàïðèìåð, íàæàâ êîìáèíàöèþ êëàâèø Ctrl+S) è çàêðîéòå îêíî ïðîãðàììû Áëîêíîò.
84
Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET
5. Ïåðåïèøèòå, íàïðèìåð ñ ïîìîùüþ ïðîãðàììû Ïðîâîäíèê, ôàéë WINNT.SIF â êîðíåâóþ ïàïêó çàðàíåå îòôîðìàòèðîâàííîé äèñêåòû.
Ïðèìå÷àíèå. Åñëè â âàøåì ðàñïîðÿæåíèè èìååòñÿ äèñòðèáóòèâ íå ëîêàëèçîâàííîé ðóññêîé âåðñèè, à, íàïðèìåð, àíãëèéñêîé âåðñèè Windows XP Professional, â ôàéë îòâåòîâ ìîæåò ïîòðåáîâàòüñÿ âíåñòè äîïîëíèòåëüíûå èçìåíåíèÿ. Èíôîðìàöèÿ î òîì, êàêèå ïàðàìåòðû ìîæíî óêàçûâàòü â íåì, à òàêæå ñâåäåíèÿ î ðàçëè÷íûõ âàðèàíòàõ ðàçâåðòûâàíèÿ îïåðàöèîííûõ ñèñòåì ñåìåéñòâà Windows ïðèâåäåíû â ñïðàâî÷íûõ ôàéëàõ DEPLOY.CHM è REF.CHM. Ïîñëå èçâëå÷åíèÿ èç àðõèâà DEPLOY.CAB îíè íàõîäÿòñÿ â òîé æå ïàïêå, ÷òî è ïðîãðàììà Äèñïåò÷åð óñòàíîâêè.
Àâòîìàòè÷åñêàÿ óñòàíîâêà Windows XP Professional ñ êîìïàêò-äèñêà ×òîáû âûïîëíèòü àâòîìàòè÷åñêóþ óñòàíîâêó Windows XP Professional, ïðîäåëàéòå ñëåäóþùåå: 1. Çàãðóçèòå îäèí èç êîìïüþòåðîâ â êëàññå ñ äèñòðèáóòèâíîãî êîìïàêò-äèñêà (äëÿ ýòîãî ìîæåò ïîòðåáîâàòüñÿ èçìåíèòü ïîðÿäîê óñòðîéñòâ äëÿ çàãðóçêè, çàäàííûé â íàñòðîéêàõ BIOS). Êîãäà â ïðîöåññå çàãðóçêè íà ýêðàíå ïîÿâèòñÿ ñîîáùåíèå «Press any key to boot from CD», íàæìèòå ëþáóþ êëàâèøó íà êëàâèàòóðå, ÷òîáû ïðîãðàììà óñòàíîâêè íà÷àëà ñâîþ ðàáîòó.
2. Ñðàçó ïîñëå ýòîãî âñòàâüòå â äèñêîâîä äèñêåòó ñ çàïèñàííûì íà íåå ôàéëîì WINNT.SIF.
Âíèìàíèå!  õîäå àâòîìàòè÷åñêîé óñòàíîâêè îïåðàöèîííîé ñèñòåìû æåñòêèé äèñê êîìïüþòåðà áóäåò çàíîâî ðàçáèò íà ðàçäåëû è îòôîðìàòèðîâàí. ×òîáû íå ïîòåðÿòü ðàíåå çàïèñàííûå íà íåãî äàííûå, íå çàáóäüòå ñîçäàòü èõ ðåçåðâíóþ êîïèþ.
3. Êîãäà íà÷íåòñÿ ôîðìàòèðîâàíèå æåñòêîãî äèñêà, äèñêåòó íóæíî óäà-
ëèòü èç äèñêîâîäà è ïîäîæäàòü çàâåðøåíèÿ ïðîöåäóðû óñòàíîâêè îïåðàöèîííîé ñèñòåìû. Åñëè íà êàêîì-òî ýòàïå ýòà ïðîöåäóðà ïðåðâåòñÿ, çíà÷èò, ïðè ïîäãîòîâêå ôàéëà îòâåòîâ áûëè äîïóùåíû îøèáêè. Èñïðàâüòå èõ è äîáåéòåñü ïîëíîñòüþ àâòîìàòè÷åñêîãî âûïîëíåíèÿ óñòàíîâêè.
4. Åñëè óñòàíîâêà çàâåðøèëàñü óñïåøíî è ïîñëå ïåðåçàãðóçêè êîìïüþòåðà áûë âûïîëíåí àâòîìàòè÷åñêèé âõîä â ñèñòåìó (îò èìåíè Àäìèíèñòðàòîðà), ïåðåõîäèòå ê ñëåäóþùåìó ýòàïó.
Ïðèëîæåíèå 4
Òàáëèöû ïî îáúåêòíî-îðèåíòèðîâàííîìó ÿçûêó ïðîãðàììèðîâàíèÿ Visual Basic .NET Òàáëèöà 1. Îñíîâû îáúåêòíî-îðèåíòèðîâàííîãî ïðîãðàììèðîâàíèÿ Êëàññû îáúåêòîâ ãðàôè÷åñêîãî èíòåðôåéñà
Íåêîòîðûå ñâîéñòâà êëàññà TextBox
Button
PictureBox
Îáëàñòü ýëåìåíòîâ Ýêçåìïëÿðû êëàññà Button
Íåêîòîðûå çíà÷åíèÿ ñâîéñòâ ýêçåìïëÿðîâ êëàññà Button Button1
Ïðîåêò â ðåæèìå êîíñòðóèðîâàíèÿ
Button2
Button3
Îêîí÷àíèå òàáë. 1 Ñâîéñòâà, ìåòîäû è ñîáûòèÿ
Ïîñëå çàïóñêà ïðîåêòà è âûïîëíåíèÿ ñîáûòèéíûõ ïðîöåäóð
Ñîáûòèéíàÿ ïðîöåäóðà Ñîáûòèå: Click
Ñîáûòèå: MouseMove
Ñîáûòèå: KeyDown
Ñâîéñòâî: Visible
Ìåòîä: Hide
Ñâîéñòâî: Width Ñâîéñòâî: Height
Private Sub Button1_Click() Button1.Visible = False End Sub
Private Sub Button2_MouseMove() Button2.Hide() End Sub
Private Sub Button3_KeyDown() Button3.Width = 250 Button3.Height = 50 End Sub
Ïðåäíàçíà÷åí äëÿ îòîáðàæåíèÿ òåêñòà èëè èçîáðàæåíèé, êîòîðûå íåëüçÿ ìåíÿòü â ïðîöåññå âûïîëíåíèÿ ïðîåêòà
Íàäïèñü (Label)
Íàçíà÷åíèå ßâëÿåòñÿ îñíîâîé äëÿ ñîçäàíèÿ ãðàôè÷åñêîãî èíòåðôåéñà ïðîåêòà
Âíåøíèé âèä
Ôîðìà (Form)
Ýëåìåíò óïðàâëåíèÿ Name èìÿ. Text íàäïèñü. Location (X; Y) êîîðäèíàòû âåðõíåãî ëåâîãî óãëà ôîðìû íà ýêðàíå èëè ýëåìåíòà óïðàâëåíèÿ íà ôîðìå. Size (Width; Height) ðàçìåð (øèðèíà; âûñîòà). BackColor öâåò ôîíà. ForeColor öâåò òåêñòà. Font (Name; Size; Bold è äð.) øðèôò (íàçâàíèå øðèôòà, ðàçìåð è íà÷åðòàíèå). Enabled âîçâðàùàåò èëè çàäàåò çíà÷åíèå, ïîêàçûâàþùåå, èìååò ëè ýëåìåíò óïðàâëåíèÿ âîçìîæíîñòü îòâå÷àòü íà äåéñòâèÿ ïîëüçîâàòåëÿ
Ñâîéñòâà* Show ïîêàçûâàåò ýëåìåíò óïðàâëåíèÿ. Hide ñêðûâàåò ýëåìåíò óïðàâëåíèÿ. Focus ïîìåùàåò ôîêóñ íà âûáðàííûé ýëåìåíò óïðàâëåíèÿ. Scale ìàñøòàáèðóåò ôîðìó èëè ýëåìåíò óïðàâëåíèÿ. Refresh ïåðåðèñîâûâàåò ôîðìó èëè ýëåìåíò óïðàâëåíèÿ
Ìåòîäû**
Òàáëèöà 2. Ýëåìåíòû óïðàâëåíèÿ, âõîäÿùèå â áàçîâóþ ïîñòàâêó Visual Basic .NET: ñâîéñòâà, ìåòîäû è ñîáûòèÿ (íà÷àëî)
Label1_Click ïðîèñõîäèò ïðè ùåë÷êå ïî íàäïèñè
Form1_Load ïðîèñõîäèò ïðè çàãðóçêå ôîðìû
Ñîáûòèÿ ïî óìîë÷àíèþ***
Âíåøíèé âèä
Ñâîéñòâà*
Name èìÿ. Text íàäïèñü. Location (X; Y) êîîðäèíàòû âåðõíåãî ëåâîãî óãëà ôîðìû íà ýêðàíå èëè ýëåìåíòà óïðàâëåíèÿ íà Ùåë÷îê ïî ôîðìå. êíîïêå Size (Width; âûçûâàåò Height) ðàçìåð ñîáûòèéíóþ (øèðèíà; âûñîòà). ïðîöåäóðó BackColor öâåò ôîíà. ForeColor öâåò òåêñòà. Èñïîëüçóåòñÿ Font (Name; Size; äëÿ ââîäà è Bold è äð.) îòîáðàæåíèÿ øðèôò (íàçâàíèå ôîðìàòèðóåìîãî øðèôòà, ðàçìåð è òåêñòà íà÷åðòàíèå). Enabled âîçâðàùàåò èëè çàäàåò çíà÷åíèå, ïîêàçûâàþùåå, èìååò ëè ýëåìåíò óïðàâëåíèÿ âîçìîæíîñòü îòâå÷àòü íà äåéñòâèÿ ïîëüçîâàòåëÿ
Èñïîëüçóåòñÿ äëÿ ââîäà èëè îòîáðàæåíèÿ äàííûõ
Íàçíà÷åíèå Show ïîêàçûâàåò ýëåìåíò óïðàâëåíèÿ. Hide ñêðûâàåò ýëåìåíò óïðàâëåíèÿ. Focus ïîìåùàåò ôîêóñ íà âûáðàííûé ýëåìåíò óïðàâëåíèÿ. Scale ìàñøòàáèðóåò ôîðìó èëè ýëåìåíò óïðàâëåíèÿ. Refresh ïåðåðèñîâûâàåò ôîðìó èëè ýëåìåíò óïðàâëåíèÿ
Ìåòîäû**
RichTextBox1_ TextChanged ïðîèñõîäèò ïðè èçìåíåíèè òåêñòà â òåêñòîâîì ïîëå
Button1_Click ïðîèñõîäèò ïðè ùåë÷êå ïî êíîïêå
TextBox1_ TextChanged ïðîèñõîäèò ïðè èçìåíåíèè òåêñòà â òåêñòîâîì ïîëå
Ñîáûòèÿ ïî óìîë÷àíèþ***
Êàæäûé ýëåìåíò óïðàâëåíèÿ îáëàäàåò îïðåäåëåííûì íàáîðîì ñâîéñòâ, áîëüøèíñòâî ýëåìåíòîâ óïðàâëåíèÿ îáëàäàþò ñâîéñòâàìè, ïåðå÷èñëåííûìè â òàáëèöå 1. ** Áîëüøèíñòâî ýëåìåíòîâ óïðàâëåíèÿ îáëàäàþò íàáîðîì ìåòîäîâ, ïåðå÷èñëåííûõ â òàáëèöå 2. *** Ýëåìåíòû óïðàâëåíèÿ ðåàãèðóþò íà ðàçëè÷íûå ñîáûòèÿ, íî ó êàæäîãî ýëåìåíòà óïðàâëåíèÿ åñòü íàèáîëåå ÷àñòî èñïîëüçóþùååñÿ ñîáûòèå (ñîáûòèå ïî óìîë÷àíèþ).
*
Óëó÷øåííîå òåêñòîâîå ïîëå (RichTextBox)
Êíîïêà (Button)
Òåêñòîâîå ïîëå (TextBox)
Ýëåìåíò óïðàâëåíèÿ
Îòîáðàæàåò ñïèñîê, â êîòîðîì ìîæíî âûáðàòü îäèí èëè íåñêîëüêî ýëåìåíòîâ Èñïîëüçóåòñÿ äëÿ âûâîäà äàííûõ â ðàñêðûâàþùåìñÿ ñïèñêå Äâà èëè áîëåå ïåðåêëþ÷àòåëåé ïðåäíàçíà÷åíû äëÿ âûáîðà âçàèìîèñêëþ÷àþùèõ âàðèàíòîâ Èñïîëüçóåòñÿ äëÿ ïðåäñòàâëåíèÿ âûáîðà «äà/íåò» èëè «èñòèíà/ëîæü»
Èñïîëüçóåòñÿ äëÿ ñîçäàíèÿ ïàíåëåé èíñòðóìåíòîâ ïðîåêòîâ
Ñïèñîê (ListBox)
Ðàñêðûâàþùèéñÿ ñïèñîê (ComboBox)
Ïåðåêëþ÷àòåëü (RadioButton)
Ôëàæîê (CheckBox)
Ïàíåëü èíñòðóìåíòîâ (ToolBar)
Íàçíà÷åíèå Ïðåäíàçíà÷åí äëÿ îòîáðàæåíèÿ ãðàôè÷åñêèõ îáúåêòîâ â ðàçëè÷íûõ ôîðìàòàõ
Âíåøíèé âèä
Ãðàôè÷åñêîå ïîëå (PictureBox)
Ýëåìåíò óïðàâëåíèÿ
Buttons íàáîð êíîïîê. ImageList èñïîëüçóåìûé íàáîð èçîáðàæåíèé äëÿ êíîïîê
Checked óêàçûâàåò, âûáðàí èëè íåò äàííûé ïåðåêëþ÷àòåëü èëè ôëàæîê. AutoCheck âûçûâàåò àâòîìàòè÷åñêîå èçìåíåíèå ñîñòîÿíèÿ ïåðåêëþ÷àòåëÿ èëè ôëàæêà ïðè åãî âûáîðå
Items ïîçâîëÿåò çàäàòü èëè ïîëó÷èòü çíà÷åíèÿ ýëåìåíòîâ ñïèñêà. Sorted ïîçâîëÿåò ñîðòèðîâàòü ýëåìåíòû ñïèñêà
Image ïóòü ê ãðàôè÷åñêîìó ôàéëó, êîòîðûé îòîáðàæàåòñÿ â ãðàôè÷åñêîì ïîëå
Ñâîéñòâà
Add äîáàâëÿåò ýëåìåíò â ñïèñîê. Remove óäàëÿåò ýëåìåíò èç ñïèñêà
Draw ðèñîâàíèå ãðàôè÷åñêèõ ïðèìèòèâîâ
Ìåòîäû
Òàáëèöà 3. Ýëåìåíòû óïðàâëåíèÿ, âõîäÿùèå â áàçîâóþ ïîñòàâêó Visual Basic .NET: ñâîéñòâà, ìåòîäû è ñîáûòèÿ (ïðîäîëæåíèå 1)
ToolBar1_ButtonClick ïðîèñõîäèò ïðè ùåë÷êå ïî êíîïêå íà ïàíåëè èíñòðóìåíòîâ
CheckBox1_CheckedChanged ïðîèñõîäèò ïðè âûáîðå ôëàæêà
RadioButton1_CheckedChanged ïðîèñõîäèò ïðè âûáîðå ïåðåêëþ÷àòåëÿ
ComboBox1_SelectedIndexChanged ïðîèñõîäèò ïðè âûáîðå ýëåìåíòà ñïèñêà
ListBox1_SelectedIndexChanged ïðîèñõîäèò ïðè âûáîðå ýëåìåíòà ñïèñêà
PictureBox1_Click ïðîèñõîäèò ïðè ùåë÷êå â ãðàôè÷åñêîì ïîëå
Ñîáûòèÿ ïî óìîë÷àíèþ
Îáåñïå÷èâàþò óäîáíûé ïðîñìîòð äëèííûõ ñïèñêîâ è áîëüøèõ ìàññèâîâ èíôîðìàöèè ñ ïîìîùüþ ãîðèçîíòàëüíîé èëè âåðòèêàëüíîé ïðîêðóòêè Ïîçâîëÿåò âûáðàòü â ñïèñêå äàòó è âðåìÿ
Âûâîäèò ñåòêó, ñîäåðæàùóþ äíè ìåñÿöà, ðàçáèòûå íà ñòîëáöû ïî äíÿì íåäåëè
Âûçûâàåò ñîáûòèå ÷åðåç îïðåäåëåííûå èíòåðâàëû âðåìåíè, íå îòîáðàæàåòñÿ â ïðîöåññå âûïîëíåíèÿ ïðîåêòà
Ãîðèçîíòàëüíàÿ ïðîêðóòêà (HScrollBar)
Äàòà è âðåìÿ (DateTimePicker)
Êàëåíäàðü (MonthCalendar)
Òàéìåð (Timer)
Âåðòèêàëüíàÿ ïðîêðóòêà (VScrollBar)
Âûâîäèò è çàäàåò ÷èñëîâîå çíà÷åíèå â ñïèñêå
Ñ÷åò÷èê (NumericUpDown)
Íàçíà÷åíèå Èñïîëüçóåòñÿ äëÿ âèçóàëüíîé íàñòðîéêè ÷èñëîâûõ ïàðàìåòðîâ
Âíåøíèé âèä
Ïîëçóíîê (TrackBar)
Ýëåìåíò óïðàâëåíèÿ
Interval èíòåðâàë âðåìåíè ìåæäó ñîáûòèÿìè â ìèëëèñåêóíäàõ
TodayDate òåêóùåå çíà÷åíèå äàòû. MaxDate ìàêñèìàëüíîå çíà÷åíèå äàòû. MinDate ìèíèìàëüíîå çíà÷åíèå äàòû
Value òåêóùåå çíà÷åíèå äàòû è âðåìåíè
Value ñîäåðæèò ÷èñëî, ñîîòâåòñòâóþùåå ïîëîæåíèþ ïîëçóíêà, ñ÷åò÷èêà èëè äâèæêà ïîëîñû ïðîêðóòêè. Minimum ìèíèìàëüíîå çíà÷åíèå ïîëçóíêà, ñ÷åò÷èêà èëè äâèæêà ïîëîñû ïðîêðóòêè. Maximum ìàêñèìàëüíîå çíà÷åíèå ïîëçóíêà, ñ÷åò÷èêà èëè äâèæêà ïîëîñû ïðîêðóòêè
Ñâîéñòâà
Start çàïóñêàåò òàéìåð
Ìåòîäû
Òàáëèöà 4. Ýëåìåíòû óïðàâëåíèÿ, âõîäÿùèå â áàçîâóþ ïîñòàâêó Visual Basic .NET: ñâîéñòâà, ìåòîäû è ñîáûòèÿ (ïðîäîëæåíèå 2)
Timer1_Tick ïðîèñõîäèò ïîñëå çàïóñêà ïðîåêòà
MonthCalendar1_DateChanged ïðîèñõîäèò ïðè óñòàíîâêå äàòû
DateTimePicker1_ValueChanged ïðîèñõîäèò ïðè óñòàíîâêå äàòû è âðåìåíè
VScrollBar1_Scroll ïðîèñõîäèò ïðè óñòàíîâêå èíäèêàòîðà âåðòèêàëüíîé ïðîêðóòêè
HScrollBar1_Scroll ïðîèñõîäèò ïðè óñòàíîâêå èíäèêàòîðà ãîðèçîíòàëüíîé ïðîêðóòêè
NumericUpDown1_ValueChanged ïðîèñõîäèò ïðè óñòàíîâêå çíà÷åíèÿ ñ÷åò÷èêà
TrackBar1_Scroll — ïðîèñõîäèò ïðè óñòàíîâêå ïîëçóíêà
Ñîáûòèÿ ïî óìîë÷àíèþ
*
Ïîçâîëÿåò â èåðàðõè÷åñêîé ôàéëîâîé ñèñòåìå âûáðàòü ôàéë Ïîçâîëÿåò â èåðàðõè÷åñêîé ôàéëîâîé ñèñòåìå ñîõðàíèòü ôàéë Ïîçâîëÿåò ñîçäàòü èåðàðõè÷åñêîå ìåíþ ïðîåêòà Èñïîëüçóåòñÿ äëÿ õðàíåíèÿ ðèñóíêîâ, êîòîðûå ìîãóò îòîáðàæàòüñÿ äðóãèìè ýëåìåíòàìè óïðàâëåíèÿ
Îòêðûòèå ôàéëà (OpenFileDialog)
Ñîõðàíåíèå ôàéëà (SaveFileDialog)
Ìåíþ (MainMenu)
Ñïèñîê ðèñóíêîâ (ImageList)
Images ïîçâîëÿåò ñîçäàòü êîëëåêöèþ ðèñóíêîâ
Text ïîçâîëÿåò ââîäèòü íàçâàíèÿ ïóíêòîâ èåðàðõè÷åñêîãî ìåíþ
InitialDirectory ïàïêà, îòêðûâàþùàÿñÿ â äèàëîãîâîì îêíå
InitialDirectory ïàïêà, îòêðûâàþùàÿñÿ â äèàëîãîâîì îêíå
Color öâåò, óñòàíîâëåííûé ïî óìîë÷àíèþ
Font ïàðàìåòðû øðèôòà, óñòàíîâëåííûå ïî óìîë÷àíèþ
Ñâîéñòâà
Ýëåìåíòû óïðàâëåíèÿ íå îòîáðàæàþòñÿ íà ôîðìå â ïðîöåññå âûïîëíåíèÿ ïðîåêòà.
Ïîçâîëÿåò çàäàòü öâåò
Öâåò (ColorDialog)
Íàçíà÷åíèå Ïîçâîëÿåò çàäàòü ïàðàìåòðû øðèôòà
Âíåøíèé âèä*
Øðèôò (FontDialog)
Ýëåìåíò óïðàâëåíèÿ
Ìåòîäû
ShowDialog() âûâîäèò äèàëîãîâîå îêíî Ñîõðàíèòü êàê
ShowDialog() âûâîäèò äèàëîãîâîå îêíî Îòêðûòü
ShowDialog() âûâîäèò äèàëîãîâîå îêíî Öâåò
ShowDialog âûâîäèò äèàëîãîâîå îêíî Øðèôò
Òàáëèöà 5. Ýëåìåíòû óïðàâëåíèÿ, âõîäÿùèå â áàçîâóþ ïîñòàâêó Visual Basic .NET: ñâîéñòâà, ìåòîäû è ñîáûòèÿ (ïðîäîëæåíèå 3)
áàéò áàéòà áàéòà áàéòîâ
2 áàéòà 8 áàéòîâ 4 áàéòà
Date
Object
Îò Îò Îò Îò
0 äî 255 (áåç çíàêà) 32 768 äî 32 767 2 147 483 648 äî 2 147 483 647 9 223 372 036 854 775 808 äî 9 223 372 036 854 775 807
Öåëî÷èñëåííûå òèïû
Äèàïàçîí çíà÷åíèé
 ïåðåìåííîé ñ òèïîì Object ìîæåò õðàíèòüñÿ ëþáîé òèï
Ëþáîé òèï
Îò 0:00:00 1 ÿíâàðÿ 0001 ãîäà äî 11:59:59 PM 31 äåêàáðÿ 9999 ãîäà
Äàòà è âðåìÿ
True èëè False
Ëîãè÷åñêèé òèï
Îò 0 äî 65535 (áåç çíàêà) Îò 0 äî ïðèáëèçèòåëüíî 2 ìèëëèàðäîâ çíàêîâ êîäèðîâêè Unicode
Ñòðîêîâûå òèïû
Îò 3,4028235E+38 äî 1,401298E-45 äëÿ îòðèöàòåëüíûõ çíà÷åíèé; îò 1,401298E-45 äî 3,4028235E+38 äëÿ ïîëîæèòåëüíûõ çíà÷åíèé Îò 1,79769313486231570E+308 äî 4,94065645841246544E-324 äëÿ îòðèöàòåëüíûõ çíà÷åíèé; îò 4,94065645841246544E-324 äî 1,79769313486231570E+308 äëÿ ïîëîæèòåëüíûõ çíà÷åíèé Îò 0 äî +/79 228 162 514 264 337 593 543 950 335 áåç äåñÿòè÷íîé çàïÿòîé; îò 0 äî +/7,9228162514264337593543950335 ñ 28 çíàêàìè ïîñëå çàïÿòîé; íàèìåíüøåå íåíóëåâîå çíà÷åíèå +/0,0000000000000000000000000001 (+/1E28)
Òèïû ñ ïëàâàþùåé çàïÿòîé
2 áàéòà Çàâèñèò îò ðåàëèçóþùåé ïëàòôîðìû
16 áàéòîâ
8 áàéòîâ
4 áàéòà
1 2 4 8
Çàíèìàåìàÿ ïàìÿòü
Boolean
Char (ñèìâîë) String (ñòðîêà ïåðåìåííîé äëèíû)
Decimal
Single (÷èñëî îäèíàðíîé òî÷íîñòè ñ ïëàâàþùåé çàïÿòîé) Double (÷èñëî äâîéíîé òî÷íîñòè ñ ïëàâàþùåé çàïÿòîé)
Byte Short Integer Long (äëèííîå öåëîå)
Òèï ïåðåìåííîé
Òàáëèöà 6. Òèïû ïåðåìåííûõ
Áëîê-ñõåìà
Áëîê-ñõåìà
If Óñëîâèå Then Ñåðèÿ 1 Else Ñåðèÿ 2
Îäíîñòðî÷íàÿ çàïèñü:
If Óñëîâèå Then Ñåðèÿ 1 Else Ñåðèÿ 2 End If
Ìíîãîñòðî÷íàÿ çàïèñü:
ßçûê ïðîãðàììèðîâàíèÿ Visual Basic .NET
Ïîëíîå âåòâëåíèå
If Óñëîâèå Then Ñåðèÿ 1
Îäíîñòðî÷íàÿ çàïèñü:
If Óñëîâèå Then Ñåðèÿ 1 End If
Ìíîãîñòðî÷íàÿ çàïèñü:
ßçûê ïðîãðàììèðîâàíèÿ Visual Basic .NET
Íåïîëíîå âåòâëåíèå
Òàáëèöà 7. Àëãîðèòìè÷åñêàÿ ñòðóêòóðà «âåòâëåíèå» è åå êîäèðîâàíèå íà ÿçûêå ïðîãðàììèðîâàíèÿ
Áëîê-ñõåìà
Select Case Âûðàæåíèå Case Óñëîâèå1 Ñåðèÿ 1 Case Óñëîâèå2 Ñåðèÿ 2 [Case Else Ñåðèÿ] End Select
ßçûê ïðîãðàììèðîâàíèÿ Visual Basic .NET
Òàáëèöà 8. Àëãîðèòìè÷åñêàÿ ñòðóêòóðà «âûáîð» è åå êîäèðîâàíèå íà ÿçûêå ïðîãðàììèðîâàíèÿ
Áëîê-ñõåìà
For Ñ÷åò÷èê=Íà÷Çíà÷ To ÊîíÇíà÷ [Step øàã] Òåëî öèêëà Next [Ñ÷åò÷èê]
ßçûê ïðîãðàììèðîâàíèÿ Visual Basic .NET
Òàáëèöà 9. Àëãîðèòìè÷åñêàÿ ñòðóêòóðà «öèêë ñî ñ÷åò÷èêîì» è åå êîäèðîâàíèå íà ÿçûêå ïðîãðàììèðîâàíèÿ
Áëîê-ñõåìà
Áëîê-ñõåìà
Do Òåëî öèêëà Loop Until Óñëîâèå
Do Òåëî öèêëà Loop While Óñëîâèå
ßçûê ïðîãðàììèðîâàíèÿ Visual Basic .NET
Öèêë ñ ïîñòóñëîâèåì
Do Until Óñëîâèå Òåëî öèêëà Loop
Do While Óñëîâèå Òåëî öèêëà Loop
ßçûê ïðîãðàììèðîâàíèÿ Visual Basic .NET
Öèêë ñ ïðåäóñëîâèåì
Òàáëèöà 10. Àëãîðèòìè÷åñêàÿ ñòðóêòóðà «öèêë ñ óñëîâèåì» è åå êîäèðîâàíèå íà ÿçûêå ïðîãðàììèðîâàíèÿ
Ñîäåðæàíèå Ââåäåíèå. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Èñòîðèÿ ðàçâèòèÿ ÿçûêîâ ïðîãðàììèðîâàíèÿ . . . . . . . . . . . . . . . . . . . . . 4 2. Ââåäåíèå â îáúåêòíî-îðèåíòèðîâàííîå ïðîãðàììèðîâàíèå. . . . . . . . . . . . 6 3. Êðàòêèé îáçîð .NET Framework è Visual Studio .NET . . . . . . . . . . . . . . . 7 4. Ó÷åáíûå ìàòåðèàëû . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Ó÷åáíîå ïîñîáèå . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Êîìïàêò-äèñê . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 5. Ïîäãîòîâêà ó÷åáíîãî êëàññà ê çàíÿòèÿì. . . . . . . . . . . . . . . . . . . . . . . . . 15 Ñèñòåìíûå òðåáîâàíèÿ . . . . . . . . . . . . . . . . . . . . . . . . . . . . Óñòàíîâêà îïåðàöèîííîé ñèñòåìû Windows XP Professional. . Äîïîëíèòåëüíûå íàñòðîéêè êîìïüþòåðà . . . . . . . . . . . . . . . Óñòàíîâêà ðàçðåøåíèé íà êîðíåâóþ ïàïêó äèñêà C: . . . . . Íàñòðîéêà êâîòèðîâàíèÿ äèñêîâîãî ïðîñòðàíñòâà . . . . . . . Êîïèðîâàíèå ôàéëîâ ñ ïðèìåðàìè . . . . . . . . . . . . . . . . . Óñòàíîâêà Visual Basic .NET 2003. . . . . . . . . . . . . . . . . . . . Ïðîâåðêà ðàáîòû Visual Basic .NET 2003 . . . . . . . . . . . . . . . Ñîçäàíèå ó÷åòíûõ çàïèñåé äëÿ ó÷åíèêîâ . . . . . . . . . . . . . . . Óñòàíîâêà è èñïîëüçîâàíèå Visual Basic 2005 Express Edition Äîïîëíèòåëüíûå ìàòåðèàëû äëÿ ïîäãîòîâêè êëàññà . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
15 17 17 17 18 19 19 21 24 25 27
6. Ðåêîìåíäàöèè ïî ïðåïîäàâàíèþ êóðñà «Îñíîâû ïðîãðàììèðîâàíèÿ íà ïðèìåðå Visual Basic .NET» . . . . . . . . . . . 28 Ïîÿñíèòåëüíàÿ çàïèñêà . . . . . . . . . . . . . . . . . . . . . . . . Òåìàòè÷åñêîå ïëàíèðîâàíèå êóðñà . . . . . . . . . . . . . . . . Ìîäóëü 1. Ïðîãðàììû âîêðóã íàñ . . . . . . . . . . . . . . . . . Ìîäóëü 2. Ñèñòåìà ïðîãðàììèðîâàíèÿ Visual Basic .NET. Ìîäóëü 3. Àëãîðèòìû è ïðîãðàììû . . . . . . . . . . . . . . . Ìîäóëü 4. «Ôîðìû è ýëåìåíòû óïðàâëåíèÿ» . . . . . . . . . Ìîäóëü 5. «Ñâîéñòâà è ìåòîäû» . . . . . . . . . . . . . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
28 29 35 36 37 38 40
98 Ìîäóëü Ìîäóëü Ìîäóëü Ìîäóëü Ìîäóëü Ìîäóëü Ìîäóëü
Ñîäåðæàíèå 6. Ïðèñâàèâàíèå è ïåðåìåííûå . 7. Îïåðàöèè . . . . . . . . . . . . . . 8. Âåòâëåíèå: íåïîëíàÿ ôîðìà . 9. Âåòâëåíèå: ïîëíàÿ ôîðìà . . . 10. Öèêëû ñî ñ÷åò÷èêîì. . . . . . 11. Öèêëû ñ óñëîâèåì . . . . . . . 12. Ïîäïðîãðàììû è ôóíêöèè .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
41 42 44 45 46 47 48
7. Äîïîëíèòåëüíàÿ ëèòåðàòóðà . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Êíèãè . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Ññûëêè íà èíôîðìàöèþ î .NET Framework, Visual Studio .NET è Visual Basic .NET â Èíòåðíåòå . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Ïðèëîæåíèå 1. Ðåàëèçàöèÿ îáúåêòíî-îðèåíòèðîâàííîãî ïðîãðàììèðîâàíèÿ â Visual Basic .NET . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Ïðèëîæåíèå 2. Ñïðàâî÷íèê ïî ÿçûêó Visual Basic .NET . . . . . . . . . . . . . . . 1. Ïåðåìåííûå â ÿçûêå ïðîãðàììèðîâàíèÿ Visual Basic .NET . . . . . . . . . 2. Ìàññèâû â ÿçûêå ïðîãðàììèðîâàíèÿ Visual Basic . . . . . . . . . . . . . . . . 3. Îñíîâíûå òèïû àëãîðèòìè÷åñêèõ ñòðóêòóð è èõ êîäèðîâàíèå íà ÿçûêå Visual Basic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1. Àëãîðèòìè÷åñêàÿ ñòðóêòóðà «âåòâëåíèå» . . . . . . . . . . . . . . . . . . 3.2. Àëãîðèòìè÷åñêàÿ ñòðóêòóðà «âûáîð» . . . . . . . . . . . . . . . . . . . . . 3.3. Àëãîðèòìè÷åñêàÿ ñòðóêòóðà «öèêë» . . . . . . . . . . . . . . . . . . . . . . 4. Ôóíêöèè â ÿçûêå ïðîãðàììèðîâàíèÿ Visual Basic .NET. . . . . . . . . . . . 4.1. Ôóíêöèè ïðåîáðàçîâàíèÿ òèïîâ äàííûõ . . . . . . . . . . . . . . . . . . . 4.2. Ìàòåìàòè÷åñêèå ôóíêöèè . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3. Ñòðîêîâûå ôóíêöèè . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4. Ôóíêöèè ââîäà è âûâîäà äàííûõ . . . . . . . . . . . . . . . . . . . . . . . . 5. Âîçìîæíîñòè ðàáîòû ñ ãðàôèêîé â Visual Basic .NET 2003 è Visual Basic 2005 Express Edition . . . . . . . . . . . . . . . . . . . . . . . . . .
58 58 60 61 61 63 65 69 69 70 70 73 76
Ïðèëîæåíèå 3. Ïðîöåäóðà óñòàíîâêè îïåðàöèîííîé ñèñòåìû Windows XP Professional ñ çàãðóæàåìîãî äèñòðèáóòèâíîãî êîìïàêò-äèñêà. . . . . . . . . . . 81 Ïîäãîòîâêà ôàéëà îòâåòîâ äëÿ àâòîìàòèçàöèè óñòàíîâêè. . . . . . . . . . . . . 81 Àâòîìàòè÷åñêàÿ óñòàíîâêà Windows XP Professional ñ êîìïàêò-äèñêà . . . 84 Ïðèëîæåíèå 4. Òàáëèöû ïî îáúåêòíî-îðèåíòèðîâàííîìó ÿçûêó ïðîãðàììèðîâàíèÿ Visual Basic .NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85