ßçûê Ñ#
Àëôàâèò, îïåðàòîðû ÿçûêà Ñ#. Ïîíÿòèå êëàññîâ è îáúåêòîâ, ìîäèôèêàòîðû. Ñòðóêòóðà ïðîãðàììíîãî ìîäóëÿ. Ïðàêòè÷åñêèé ïðèìåð çàïîëíåíèÿ ìàòðèöû. Ïðîãðàììà íàõîæäåíèÿ ïåðâîãî îòðèöàòåëüíîãî ÷ëåíà çàäàííîé ïîñëåäîâàòåëüíîñòè, êîíòðîëüíûé ïðèìåð è áëîê-ñõåìà.
Ðóáðèêà | Ïðîãðàììèðîâàíèå, êîìïüþòåðû è êèáåðíåòèêà |
Âèä | êóðñîâàÿ ðàáîòà |
ßçûê | ðóññêèé |
Äàòà äîáàâëåíèÿ | 04.01.2015 |
Ðàçìåð ôàéëà | 1,4 M |
Îòïðàâèòü ñâîþ õîðîøóþ ðàáîòó â áàçó çíàíèé ïðîñòî. Èñïîëüçóéòå ôîðìó, ðàñïîëîæåííóþ íèæå
Ñòóäåíòû, àñïèðàíòû, ìîëîäûå ó÷åíûå, èñïîëüçóþùèå áàçó çíàíèé â ñâîåé ó÷åáå è ðàáîòå, áóäóò âàì î÷åíü áëàãîäàðíû.
Ðàçìåùåíî íà http://www.allbest.ru/
[Ââåäèòå òåêñò]
ÂÂÅÄÅÍÈÅ
 ïðåæíèå âðåìåíà ïîä ÿçûêàìè ïîäðàçóìåâàëîñü èñêëþ÷èòåëüíî ñðåäñòâî îáùåíèÿ ìåæäó ëþäüìè, ò.å. èìåëèñü â âèäó òîëüêî åñòåñòâåííûå ÿçûêè - ðóññêèé, íåìåöêèé, àíãëèéñêèé è ïð.  íà÷àëå ÕÕ âåêà ýòî ïðåäñòàâëåíèå ïðåòåðïåëî ñåðüåçíûå èçìåíåíèÿ è â íàñòîÿùåå âðåìÿ ïîä ÿçûêîì ïîíèìàåòñÿ âñÿêîå ñðåäñòâî îáùåíèÿ, ñîñòîÿùåå èç çíàêîâîé ñèñòåìû, ìíîæåñòâà ñìûñëîâ ýòîé ñèñòåìû è èìåþùåå óñòàíîâëåííîå ñîîòâåòñòâèå ìåæäó ïîñëåäîâàòåëüíîñòÿìè çíàêîâ è ñìûñëàìè. Îñîáåííî øèðîêèé (è âñå áîëåå óâåëè÷èâàþùèéñÿ) êëàññ ñîñòàâëÿþò ÿçûêè ïðîãðàììèðîâàíèÿ, èçó÷åíèþ êîòîðûõ è ïîñâÿùåí íàø êóðñ.
Ñòðåìèòåëüíîå ðàçâèòèå âû÷èñëèòåëüíîé òåõíèêè ñäåëàëî âîçìîæíîé êîìïüþòåðíóþ îáðàáîòêó òåêñòîâ, îòíîñÿùèõñÿ ê ñàìûì ðàçëè÷íûì ÿçûêàì - åñòåñòâåííûì ÿçûêàì, ÿçûêàì ôîðìóë, ÿçûêàì ïðîãðàììèðîâàíèÿ.
Ñóùåñòâóåò âåëèêîå ìíîæåñòâî ïðîãðàììíûõ ñðåäñòâ òàêîé îáðàáîòêè. Ýòî è ðàçëè÷íûå ðåäàêòîðû ñ ñàìûìè ðàçíûìè âîçìîæíîñòÿìè, è àðõèâàòîðû, è òðàíñëÿòîðû äëÿ ÿçûêîâ ïðîãðàììèðîâàíèÿ èëè ïðîãðàììû-ïåðåâîä÷èêè äëÿ åñòåñòâåííûõ ÿçûêîâ.
Ïðè îáðàáîòêå òåêñòîâ âîçíèêàåò ðÿä çàäà÷. Ýòî çàäà÷è, ñâÿçàííûå ñ ïðîáëåìîé çàäàíèÿ ÿçûêà, èëè ãåíåðàöèè åãî öåïî÷åê, çàäà÷è îïðåäåëåíèÿ ïðèíàäëåæíîñòè íåêîòîðîãî ìíîæåñòâà ñëîâ çàäàííîìó ÿçûêó, çàäà÷è èäåíòèôèêàöèè öåïî÷åê. Äëÿ èõ ðåøåíèÿ ðàçðàáîòàíî ìíîæåñòâî ìåòîäîâ, ïðè÷åì íåêîòîðûå èç íèõ ðàáîòàþò òîëüêî ñ îïðåäåëåííûì êëàññîì ÿçûêîâ (íàïðèìåð, ñ ÿçûêàìè ïðîãðàììèðîâàíèÿ), äðóãèå æå ÿâëÿþòñÿ óíèâåðñàëüíûìè.
1. ÒÅÎÐÅÒÈ×ÅÑÊÎÅ ÂÂÅÄÅÍÈÅ
1.1 Àëôàâèò ÿçûêà Ñ#
Àëôàâèò (èëè ìíîæåñòâî ëèòåð) ÿçûêà ïðîãðàììèðîâàíèÿ Ñ# ñîñòàâëÿþò ñèìâîëû òàáëèöû êîäîâ ASCII. Àëôàâèò Ñ# âêëþ÷àåò:
* ñòðî÷íûå è ïðîïèñíûå áóêâû ëàòèíñêîãî àëôàâèòà (ìû èõ áóäåì íàçûâàòü áóêâàìè);
* öèôðû îò 0 äî 9 (íàçîâåì èõ áóêâàìè-öèôðàìè);
* ñèìâîë «_» (ïîä÷åðêèâàíèå -- òàêæå ñ÷èòàåòñÿ áóêâîé);
* íàáîð ñïåöèàëüíûõ ñèìâîëîâ: " { }, 1 [ ] + -- %/ \; ' : ? < > = ! & # ~ *-
* ïðî÷èå ñèìâîëû.
Àëôàâèò Ñ# ñëóæèò äëÿ ïîñòðîåíèÿ ñëîâ, êîòîðûå â C++ íàçûâàþòñÿ ëåêñåìàìè. Ðàçëè÷àþò ïÿòü òèïîâ ëåêñåì:
* èäåíòèôèêàòîðû;
* êëþ÷åâûå ñëîâà;
* çíàêè (ñèìâîëû) îïåðàöèé;
* ëèòåðàëû;
* ðàçäåëèòåëè.
Èäåíòèôèêàòîð ìîæåò âêëþ÷àòü ëàòèíñêèå áóêâû è áóêâû íàöèîíàëüíûõ àëôàâèòîâ, öèôðû è ñèìâîë ïîä÷åðêèâàíèÿ. Ïðîïèñíûå è ñòðî÷íûå áóêâû ðàçëè÷àþòñÿ, íàïðèìåð, myname, myName è MyName -- òðè ðàçëè÷íûõ èìåíè. Ïåðâûì ñèìâîëîì èäåíòèôèêàòîðà ìîæåò áûòü áóêâà èëè çíàê ïîä÷åðêèâàíèÿ, íî íå öèôðà. Ìîãóò áûòü çàðåçåðâèðîâàííûå èäåíòèôèêàòîðû, êîòîðûå èìåþò ñïåöèàëüíîå çíà÷åíèå äëÿ êîìïèëÿòîðà, íàïðèìåð, include, main, int è ò.ä.
×àñòü èäåíòèôèêàòîðîâ Ñ# âõîäèò â ôèêñèðîâàííûé ñëîâàðü êëþ÷åâûõ ñëîâ. Ýòè èäåíòèôèêàòîðû îáðàçóþò ïîäìíîæåñòâî êëþ÷åâûõ ñëîâ (îíè òàê è íàçûâàþòñÿ êëþ÷åâûìè ñëîâàìè).
Ïðî÷èå èäåíòèôèêàòîðû ïîñëå ñïåöèàëüíîãî îáúÿâëåíèÿ ñòàíîâÿòñÿ èìåíàìè. Èìåíà ñëóæàò äëÿ îáîçíà÷åíèÿ ïåðåìåííûõ, òèïîâ äàííûõ, ôóíêöèé. ×òîáû ñîçäàòü ïåðåìåííóþ, âû äîëæíû çàäàòü òèï ïåðåìåííîé è çàòåì äàòü ýòîìó òèïó èìÿ. Âû ìîæåòå ïðîèíèöèàëèçèðîâàòü ïåðåìåííóþ âî âðåìÿ åå îáúÿâëåíèÿ èëè ïðèñâîèòü åé íîâîå çíà÷åíèå âî âðåìÿ âûïîëíåíèÿ ïðîãðàììû.  ÿçûêå Ñ# òðåáóåòñÿ, ÷òîáû ïåðåìåííûå áûëè ÿâíî ïðîèíèöèàëèçèðîâàíû äî èõ èñïîëüçîâàíèÿ. Îäíàêî èíèöèàëèçèðîâàòü êàæäóþ ïåðåìåííóþ íåîáÿçàòåëüíî, íî íåîáõîäèìî ïðèñâîèòü åé çíà÷åíèå äî òîãî, êàê îíà áóäåò èñïîëüçîâàíà.
Ñóùåñòâóþò ïåðåìåííûå, çíà÷åíèå êîòîðûõ íåëüçÿ èçìåíèòü(êîíñòàíòû). Êîíñòàíòû áûâàþò òðåõ âèäîâ: ëèòåðàëû, ñèìâîëè÷åñêèå êîíñòàíòû è ïåðå÷èñëåíèÿ.
 îïåðàòîðå ïðèñâàèâàíèÿ: x=32. ×èñëî 32 ÿâëÿåòñÿ ëèòåðàëüíîé êîíñòàíòîé è åãî çíà÷åíèå âñåãäà ðàâíî 32 è åãî íåëüçÿ èçìåíèòü.
Ñèìâîëè÷åñêèå êîíñòàíòû èìåíóþò ïîñòîÿííûå çíà÷åíèÿ. Îïðåäåëåíèå ñèìâîëè÷åñêîé êîíñòàíòû ïðîèñõîäèò ñëåäóþùèì îáðàçîì:
const <òèï> <èäåíòèôèêàòîð> = <çíà÷åíèå>;
Ïåðå÷èñëåíèÿ (enumerations) ÿâëÿþòñÿ àëüòåðíàòèâîé êîíñòàíòàì. Ïåðå÷èñëåíèå - ýòî îñîáûé ðàçìåðíûé òèï, ñîñòîÿùèé èç íàáîðà èìåíîâàííûõ êîíñòàíò (íàçûâàåìûõ ñïèñêîì ïåðå÷èñëåíèÿ).
Ê çíàêàì îïåðàöèé îòíîñèòñÿ îäèí èëè áîëåå ñèìâîëîâ, îïðåäåëÿþùèõ äåéñòâèå íàä îïåðàíäàìè. Âíóòðè çíàêà îïåðàöèè ïðîáåëû íå äîïóñêàþòñÿ. Íàïðèìåð, â âûðàæåíèè à + b çíàê + ÿâëÿåòñÿ çíàêîì îïåðàöèè, à à è b -- îïåðàíäàìè. Ñèìâîëû, ñîñòàâëÿþùèå çíàê îïåðàöèé, ìîãóò áûòü êàê ñïåöèàëüíûìè, íàïðèìåð, &&, | è <, òàê è áóêâåííûìè, òàêèìè êàê as èëè new.
Îïåðàöèè äåëÿòñÿ íà óíàðíûå, áèíàðíûå è òåðíàðíóþ ïî êîëè÷åñòâó ó÷àñòâóþùèõ â íèõ îïåðàíäîâ. Îäèí è òîò æå çíàê ìîæåò èíòåðïðåòèðîâàòüñÿ ïî-ðàçíîìó â çàâèñèìîñòè îò êîíòåêñòà. Âñå çíàêè îïåðàöèé, çà èñêëþ÷åíèåì [ ], ( ).è ? :, ïðåäñòàâëÿþò ñîáîé îòäåëüíûå ëåêñåìû. Äëÿ ðàçäåëåíèÿ èñïîëüçóþòñÿ ñêîáêè, òî÷êà, çàïÿòàÿ. Íèæå ïåðå÷èñëåíû âñå çíàêè îïåðàöèé è ðàçäåëèòåëè, èñïîëüçóþùèåñÿ â Ñ#:
{} [] (). . :: + - * / * % & | ˆ ! ˜ =
< > ? ++ -- && || « » == != <=>= += - = .*=
/= %= &= |= ˆ= <<= >>= ->
Ñóùåñòâóþò ñëåäóþùèå âèäû îïåðàöèé:
Îïåðàöèè èíêðåìåíòà (++) è äåêðåìåíòà (--), íàçûâàåìûå òàêæå îïåðàöèÿìè óâåëè÷åíèÿ è óìåíüøåíèÿ íà åäèíèöó, èìåþò äâå ôîðìû çàïèñè ïðåôèêñíóþ, êîãäà çíàê îïåðàöèè çàïèñûâàåòñÿ ïåðåä îïåðàíäîì, è ïîñòôèêñíóþ.
Îïåðàöèÿ new ñëóæèò äëÿ ñîçäàíèÿ íîâîãî îáúåêòà. Ôîðìàò îïåðàöèè: new òèï ( [ àðãóìåíòû ] )
Àðèôìåòè÷åñêîå îòðèöàíèå (óíàðíûé ìèíóñ -) ìåíÿåò çíàê îïåðàíäà íà ïðîòèâîïîëîæíûé. Ñòàíäàðòíàÿ îïåðàöèÿ îòðèöàíèÿ îïðåäåëåíà äëÿ òèïîâ int, long, float, double è decimal.
Ëîãè÷åñêîå îòðèöàíèå (!) îïðåäåëåíî äëÿ òèïà boo!. Ðåçóëüòàò îïåðàöèè çíà÷åíèå false, åñëè îïåðàíä ðàâåí true, è çíà÷åíèå true, åñëè îïåðàíä ðàâåí false.
Ïîðàçðÿäíîå îòðèöàíèå (~), ÷àñòî íàçûâàåìîå ïîáèòîâûì, èíâåðòèðóåò êàæäûé ðàçðÿä â äâîè÷íîì ïðåäñòàâëåíèè îïåðàíäà òèïà int, uint, long èëè ulong.
Îïåðàöèÿ îñòàòêà îò äåëåíèÿ (%).
Òàêæå â ÿçûêå Ñ# î÷åíü ÷àñòî èñïîëüçóþòñÿ óïðàâëÿþùèå ñèìâîëû, âñå èñïîëüçóåìûå ñèìâîëû ïðåäñòàâëåíû â òàáëèöå 1.1
Óïðàâëÿþùèå ñèìâîëû
\a - Çâóêîâîé ñèãíàë;
\b - Âîçâðàò íà øàã íàçàä;
\f - Ïåðåâîä ñòðàíèöû;
\r - Âîçâðàò êàðåòêè;
\t - Ãîðèçîíòàëüíàÿ òàáóëÿöèÿ;
\v - Âåðòèêàëüíàÿ òàáóëÿöèÿ;
\\ - Îáðàòíàÿ êîñàÿ ÷åðòà;
\' - Àïîñòðîô
Ñ# ÿâëÿåòñÿ ÿçûêîì ñî ñòðîãîé òèïèçàöèåé. Â íåì íåîáõîäèìî îáúÿâëÿòü òèï âñåõ ñîçäàâàåìûõ ïðîãðàììíûõ ýëåìåíòîâ (íàïðèìåð, ïåðåìåííûõ, îáúåêòîâ, îêîí, êíîïîê è ò. ä.). Òèï ïðîãðàììíîãî ýëåìåíòà ñîîáùàåò êîìïèëÿòîðó î åãî ðàçìåðå (íàïðèìåð, òèï int ïîêàçûâàåò, ÷òî îáúåêò çàíèìàåò 4 áàéòà) è âîçìîæíîñòÿõ.
 Ñ# òèïû äåëÿòñÿ íà äâå ãðóïïû: áàçîâûå òèïû, ïðåäëàãàåìûå ÿçûêîì, è òèïû, îïðåäåëÿåìûå ïîëüçîâàòåëåì. Êðîìå òîãî, òèïû Ñ# ðàçáèâàþòñÿ íà äâå äðóãèå êàòåãîðèè: ðàçìåðíûå òèïû (òèïû ïî çíà÷åíèþ) è ññûëî÷íûå òèïû.
Òèïû ìîæíî êëàññèôèöèðîâàòü ïî ðàçíûì ïðèçíàêàì. Åñëè ïðèíÿòü çà îñíîâó ñòðîåíèå ýëåìåíòà, âñå òèïû ìîæíî ðàçäåëèòü íà ïðîñòûå (íå èìåþò âíóòðåííåé ñòðóêòóðû) è ñòðóêòóðèðîâàííûå (ñîñòîÿò èç ýëåìåíòîâ äðóãèõ òèïîâ). Äëÿ äàííûõ äèíàìè÷åñêîãî òèïà ðàçìåð äàííûõ â ìîìåíò îáúÿâëåíèÿ ìîæåò áûòü íåèçâåñòåí, è ïàìÿòü ïîä íèõ âûäåëÿåòñÿ ïî çàïðîñó â ïðîöåññå âûïîëíåíèÿ ïðîãðàììû.
Ïî÷òè âñå áàçîâûå òèïû ÿâëÿþòñÿ ðàçìåðíûìè òèïàìè. Èñêëþ÷åíèå ñîñòàâëÿþò òèïû Object è String. Âñå ïîëüçîâàòåëüñêèå òèïû, êðîìå ñòðóêòóð, ÿâëÿþòñÿ ññûëî÷íûìè. Äîïîëíèòåëüíî ê óïîìÿíóòûì òèïàì, ÿçûê Ñ# ïîääåðæèâàåò òèïû óêàçàòåëåé, îäíàêî îíè èñïîëüçóþòñÿ òîëüêî ñ íåóïðàâëÿåìûì êîäîì. Ïðèíöèïèàëüíîå ðàçëè÷èå ìåæäó ðàçìåðíûìè è ññûëî÷íûìè òèïàìè ñîñòîèò â ñïîñîáå õðàíåíèÿ èõ çíà÷åíèé â ïàìÿòè.
Öåëûå òèïû, à òàêæå ñèìâîëüíûé, âåùåñòâåííûå è ôèíàíñîâûé òèïû ìîæíî îáúåäèíèòü ïîä íàçâàíèåì àðèôìåòè÷åñêèõ òèïîâ.
Âåùåñòâåííûå òèïû, èëè òèïû äàííûõ ñ ïëàâàþùåé òî÷êîé, õðàíÿòñÿ â ïàìÿòè êîìïüþòåðà èíà÷å, ÷åì öåëî÷èñëåííûå. Âíóòðåííåå ïðåäñòàâëåíèå âåùåñòâåííîãî ÷èñëà ñîñòîèò èç äâóõ ÷àñòåé -- ìàíòèññû è ïîðÿäêà, êàæäàÿ ÷àñòü èìååò çíàê. Äëèíà ìàíòèññû îïðåäåëÿåò òî÷íîñòü ÷èñëà, à äëèíà ïîðÿäêà åãî äèàïàçîí.
Âñå âåùåñòâåííûå òèïû ìîãóò ïðåäñòàâëÿòü êàê ïîëîæèòåëüíûå, òàê è îòðèöàòåëüíûå ÷èñëà. ×àùå âñåãî â ïðîãðàììàõ èñïîëüçóåòñÿ òèï double, ïîñêîëüêó åãî äèàïàçîí è òî÷íîñòü ïîêðûâàþò áîëüøèíñòâî ïîòðåáíîñòåé. Ýòîò òèï èìåþò âåùåñòâåííûå ëèòåðàëû è ìíîãèå ñòàíäàðòíûå ìàòåìàòè÷åñêèå ôóíêöèè.
Òèï decimal ïðåäíàçíà÷åí äëÿ äåíåæíûõ âû÷èñëåíèé, â êîòîðûõ êðèòè÷íû îøèáêè îêðóãëåíèÿ. Âåëè÷èíû òèïà decimal ïîçâîëÿþò õðàíèòü 28-29 äåñÿòè÷íûõ ðàçðÿäîâ.
×àùå âñåãî òèïû Ñ# ðàçäåëÿþò ïî ñïîñîáó õðàíåíèÿ ýëåìåíòîâ íà òèïû-çíà÷åíèÿ è ññûëî÷íûå òèïû.
ßçûê Ñ# ïðåäëàãàåò îáû÷íûé íàáîð áàçîâûõ òèïîâ, ïðåäñòàâëåííûõ â òàáëèöå 1.1
Òàáëèöà 1.1 - Áàçîâûé íàáîð òèïîâ äàííûõ
Òèï |
Ðàçìåð â áàéòàõ |
Òèï .NET |
Îïèñàíèå |
|
Áàçîâûé òèï |
||||
object |
Object |
Ìîæåò õðàíèòü âñå ÷òî óãîäíî, ò.ê. ÿâëÿåòñÿ âñåîáùèì ïðåäêîì |
||
Ëîãè÷åñêèé òèï |
||||
bool |
1 |
Bolean |
true èëè false |
|
Öåëûå òèïû |
||||
sbyte |
1 |
SByte |
Öåëîå ñî çíàêîì (îò -128 äî 127) |
|
byte |
1 |
Byte |
Öåëîå áåç çíàêà (îò 0 äî 255) |
|
short |
2 |
Int16 |
Öåëîå ñî çíàêà (îò -32768 äî 32767) |
|
ushort |
2 |
UInt16 |
Öåëîå áåç çíàêà (îò 0 äî 65535) |
|
int |
4 |
Int32 |
Öåëîå ñî çíàêîì (îò -2147483648 äî 2147483647) |
|
uint |
4 |
UInt |
Öåëîå ÷èñëî áåç çíàêà ( îò 0 äî 4 294 967 295) |
|
long |
8 |
Int64 |
Öåëîå ñî çíàêîì (îò -9223372036854775808 äî 9223372036854775807) |
|
ulong |
8 |
UInt64 |
Öåëîå áåç çíàêà (îò 0 äî 0fffffffffffffff) |
|
Âåùåñòâåííûå òèïû |
||||
Float |
4 |
Single |
×èñëî ñ ïëàâàþùåé òî÷êîé äâîéíîé òî÷íîñòè. Ñîäåðæèò çíà÷åíèÿ ïðèáëèçèòåëüíî îò 1.5*10-45 äî 3.4*1038 c 7 çíà÷àùèìè öèôðàìè |
|
double |
8 |
Double |
×èñëî ñ ïëàâàþùåé òî÷êîé äâîéíîé òî÷íîñòè. Ñîäåðæèò çíà÷åíèÿ ïðèáëèçèòåëüíî îò ?5. 0*10-324 äî ?1.7*10308 c 15-16 çíà÷àùèìè öèôðàìè |
|
Ñèìâîëüíûé òèï |
||||
char |
2 |
Ñhar |
Ñèìâîëû Unicode |
|
Ñòðîêîâûé òèï |
||||
string |
String |
Ñòðîêà èç Unicode-ñèìâîëîâ |
||
Ôèíàíñîâûé òèï |
||||
decimal |
12 |
Decimal |
×èñëî äî 28 çíàêîâ ñ ôèêñèðîâàííûì ïîëîæåíèåì äåñÿòè÷íîé òî÷êè. Îáû÷íî èñïîëüçóåòñÿ â ôèíàíñîâûõ ðàñ÷åòàõ. Òðåáóåò ñóôôèêñà <<m>> èëè <<Ì>> |
Îïåðàíäû, ñâÿçàííûå çíàêàìè îïåðàöèé, îáðàçóþò âûðàæåíèÿ. Ïîíÿòèå «âûðàæåíèå» â ÿçûêå ïðîãðàììèðîâàíèÿ ñîîòâåòñòâóåò ïîíÿòèþ «ñëîâîñî÷åòàíèå» â ÿçûêå ÷åëîâåêà. Òèï âûðàæåíèÿ îïðåäåëÿåòñÿ òèïîì îïåðàíäîâ.
Êîììåíòàðèè ïðåäíàçíà÷åíû äëÿ çàïèñè ïîÿñíåíèé ê ïðîãðàììå è ôîðìèðîâàíèÿ äîêóìåíòàöèè. Êîìïèëÿòîð êîììåíòàðèè èãíîðèðóåò. Âíóòðè êîììåíòàðèÿ ìîæíî èñïîëüçîâàòü ëþáûå ñèìâîëû.  Ñ# åñòü äâà âèäà êîììåíòàðèåâ: îäíîñòðî÷íûå è ìíîãîñòðî÷íûå. Îäíîñòðî÷íûé êîììåíòàðèé íà÷èíàåòñÿ ñ äâóõ ñèìâîëîâ ïðÿìîé êîñîé ÷åðòû (//) è çàêàí÷èâàåòñÿ ñèìâîëîì ïåðåõîäà íà íîâóþ ñòðîêó, ìíîãîñòðî÷íûé çàêëþ÷àåòñÿ ìåæäó ñèìâîëàìè-ñêîáêàìè /* è */ è ìîæåò çàíèìàòü ÷àñòü ñòðîêè, öåëóþ ñòðîêó èëè íåñêîëüêî ñòðîê. Êîììåíòàðèè íå âêëàäûâàþòñÿ äðóã â äðóãà: ñèìâîëû // è /* íå îáëàäàþò íèêàêèì ñïåöèàëüíûì çíà÷åíèåì âíóòðè êîììåíòàðèÿ.
1.2 Îïåðàòîðû ÿçûêà Ñ#
Îïåðàòîðû óïðàâëÿþò ïðîöåññîì âûïîëíåíèÿ ïðîãðàììû. Íàáîð îïåðàòîðîâ ÿçûêà Ñ++ ñîäåðæèò âñå óïðàâëÿþùèå êîíñòðóêöèè ñòðóêòóðíîãî ïðîãðàììèðîâàíèÿ.
Ñîñòàâíîé îïåðàòîð îãðàíè÷èâàåòñÿ ôèãóðíûìè ñêîáêàìè. Âñå äðóãèå îïåðàòîðû çàêàí÷èâàþòñÿ òî÷êîé ñ çàïÿòîé.
Ïóñòîé îïåðàòîð - ;
Ïóñòîé îïåðàòîð - ýòî îïåðàòîð, ñîñòîÿùèé òîëüêî èç òî÷êè ñ çàïÿòîé. Îí ìîæåò ïîÿâèòüñÿ â ëþáîì ìåñòå ïðîãðàììû, ãäå ïî ñèíòàêñèñó òðåáóåòñÿ îïåðàòîð. Âûïîëíåíèå ïóñòîãî îïåðàòîðà íå ìåíÿåò ñîñòîÿíèÿ ïðîãðàììû.
Ñîñòàâíîé îïåðàòîð - {...}
Äåéñòâèå ñîñòàâíîãî îïåðàòîðà ñîñòîèò â ïîñëåäîâàòåëüíîì âûïîëíåíèè ñîäåðæàùèõñÿ â íåì îïåðàòîðîâ, çà èñêëþ÷åíèåì òåõ ñëó÷àåâ, êîãäà êàêîé-ëèáî îïåðàòîð ÿâíî ïåðåäàåò óïðàâëåíèå â äðóãîå ìåñòî ïðîãðàììû.
Îïåðàòîð îáðàáîòêè èñêëþ÷åíèé
try { <îïåðàòîðû> }
catch (<îáúÿâëåíèå èñêëþ÷åíèÿ>) { <îïåðàòîðû> }
catch (<îáúÿâëåíèå èñêëþ÷åíèÿ>) { <îïåðàòîðû> }
...
catch (<îáúÿâëåíèå èñêëþ÷åíèÿ>) { <îïåðàòîðû> }
Óñëîâíûé îïåðàòîð
if (<âûðàæåíèå>) <îïåðàòîð 1> [else <îïåðàòîð 2>]
Îïåðàòîð-ïåðåêëþ÷àòåëü
switch (<âûðàæåíèå>)
{ case <êîíñòàíòíîå âûðàæåíèå 1>: <îïåðàòîðû 1>
case <êîíñòàíòíîå âûðàæåíèå 2>: <îïåðàòîðû 2>
...
case <êîíñòàíòíîå âûðàæåíèå N>: <îïåðàòîðû N>
[default: <îïåðàòîðû>]
}
Îïåðàòîð-ïåðåêëþ÷àòåëü ïðåäíàçíà÷åí äëÿ âûáîðà îäíîãî èç íåñêîëüêèõ àëüòåðíàòèâíûõ ïóòåé âûïîëíåíèÿ ïðîãðàììû. Âû÷èñëåíèå îïåðàòîðà-ïåðåêëþ÷àòåëÿ íà÷èíàåòñÿ ñ âû÷èñëåíèÿ âûðàæåíèÿ, ïîñëå ÷åãî óïðàâëåíèå ïåðåäàåòñÿ îïåðàòîðó, ïîìå÷åííîìó êîíñòàíòíûì âûðàæåíèåì, ðàâíûì âû÷èñëåííîìó çíà÷åíèþ âûðàæåíèÿ. Âûõîä èç îïåðàòîðà-ïåðåêëþ÷àòåëÿ îñóùåñòâëÿåòñÿ îïåðàòîðîìbreak. Åñëè çíà÷åíèå âûðàæåíèÿ íå ðàâíî íè îäíîìó êîíñòàíòíîìó âûðàæåíèþ, òî óïðàâëåíèå ïåðåäàåòñÿ îïåðàòîðó, ïîìå÷åííîìó êëþ÷åâûì ñëîâîì default, åñëè îí åñòü.
Îïåðàòîð öèêëà ñ ïðåäóñëîâèåì
while (<âûðàæåíèå>) <îïåðàòîð>
Îïåðàòîð öèêëà ñ ïîñòóñëîâèåì
do <îïåðàòîð> while <âûðàæåíèå>;
 ÿçûêå C++ ýòîò îïåðàòîð îòëè÷àåòñÿ îò êëàññè÷åñêîé ðåàëèçàöèè öèêëà ñ ïîñòóñëîâèåì òåì, ÷òî ïðè èñòèííîñòè âûðàæåíèÿ ïðîèñõîäèò ïðîäîëæåíèå ðàáîòû öèêëà, à íå âûõîä èç öèêëà.
Îïåðàòîð ïîøàãîâîãî öèêëà
for ([<íà÷àëüíîå âûðàæåíèå>];
[<óñëîâíîå âûðàæåíèå>];
[<âûðàæåíèå ïðèðàùåíèÿ>])
<îïåðàòîð>
Òåëî îïåðàòîðà for âûïîëíÿåòñÿ äî òåõ ïîð, ïîêà óñëîâíîå âûðàæåíèå íå ñòàíåò ëîæíûì (ðàâíûì 0).Íà÷àëüíîå âûðàæåíèå è âûðàæåíèå ïðèðàùåíèÿ îáû÷íî èñïîëüçóþòñÿ äëÿ èíèöèàëèçàöèè è ìîäèôèêàöèè ïàðàìåòðîâ öèêëà è äðóãèõ çíà÷åíèé. Íà÷àëüíîå âûðàæåíèå âû÷èñëÿåòñÿ îäèí ðàç äî ïåðâîé ïðîâåðêè óñëîâíîãî âûðàæåíèÿ, à âûðàæåíèå ïðèðàùåíèÿ âû÷èñëÿåòñÿ ïîñëå êàæäîãî âûïîëíåíèÿîïåðàòîðà. Ëþáîå èç òðåõ âûðàæåíèé çàãîëîâêà öèêëà, è äàæå âñå òðè ìîãóò áûòü îïóùåíû (íå çàáûâàéòå òîëüêî îñòàâëÿòü òî÷êè ñ çàïÿòîé). Åñëè îïóùåíî óñëîâíîå âûðàæåíèå, òî îíî ñ÷èòàåòñÿ èñòèííûì, è öèêë ñòàíîâèòñÿ áåñêîíå÷íûì.
Îïåðàòîð ïîøàãîâîãî öèêëà â ÿçûêå Ñ++ ÿâëÿåòñÿ ãèáêîé è óäîáíîé êîíñòðóêöèåé, ïîýòîìó îïåðàòîð öèêëà ñ ïðåäóñëîâèåì while èñïîëüçóåòñÿ â ÿçûêå Ñ++ êðàéíå ðåäêî, ò.ê. â áîëüøèíñòâå ñëó÷àåâ óäîáíåå ïîëüçîâàòüñÿ îïåðàòîðîì for.
Îïåðàòîð ðàçðûâà
break;
Îïåðàòîð ðàçðûâà ïðåðûâàåò âûïîëíåíèå îïåðàòîðîâ while, do, for è switch. Îí ìîæåò ñîäåðæàòüñÿ òîëüêî â òåëå ýòèõ îïåðàòîðîâ. Óïðàâëåíèå ïåðåäàåòñÿ îïåðàòîðó ïðîãðàììû, ñëåäóþùåìó çà ïðåðâàííûì. Åñëè îïåðàòîð ðàçðûâà çàïèñàí âíóòðè âëîæåííûõ îïåðàòîðîâ while, do, for, switch, òî îí çàâåðøàåò òîëüêî íåïîñðåäñòâåííî îõâàòûâàþùèé åãî îïåðàòîð.
Îïåðàòîð ïðîäîëæåíèÿ
continue;
Îïåðàòîð ïðîäîëæåíèÿ ïåðåäàåò óïðàâëåíèå íà ñëåäóþùóþ èòåðàöèþ â îïåðàòîðàõ öèêëà while, do,for. Îí ìîæåò ñîäåðæàòüñÿ òîëüêî â òåëå ýòèõ îïåðàòîðîâ.  îïåðàòîðàõ do è while ñëåäóþùàÿ èòåðàöèÿ íà÷èíàåòñÿ ñ âû÷èñëåíèÿ óñëîâíîãî âûðàæåíèÿ.  îïåðàòîðå for ñëåäóþùàÿ èòåðàöèÿ íà÷èíàåòñÿ ñ âû÷èñëåíèÿ âûðàæåíèÿ ïðèðàùåíèÿ, à çàòåì ïðîèñõîäèò âû÷èñëåíèå óñëîâíîãî âûðàæåíèÿ.
Îïåðàòîð âîçâðàòà
return [<âûðàæåíèå>];
Îïåðàòîðà âîçâðàòà çàêàí÷èâàåò âûïîëíåíèå ôóíêöèè, â êîòîðîé îí ñîäåðæèòñÿ, è âîçâðàùàåò óïðàâëåíèå â âûçûâàþùóþ ôóíêöèþ. Óïðàâëåíèå ïåðåäàåòñÿ â òî÷êó âûçûâàþùåé ôóíêöèè, íåïîñðåäñòâåííî ñëåäóþùóþ çà îïåðàòîðîì âûçîâà. Çíà÷åíèå âûðàæåíèÿ, åñëè îíà çàäàíî, âû÷èñëÿåòñÿ, ïðèâîäèòñÿ ê òèïó, îáúÿâëåííîìó äëÿ ôóíêöèè, ñîäåðæàùåé îïåðàòîð âîçâðàòà, è âîçâðàùàåòñÿ â âûçûâàþùóþ ôóíêöèþ. Åñëè âûðàæåíèå îïóùåíî, òî âîçâðàùàåìîå ôóíêöèåé çíà÷åíèå íå îïðåäåëåíî.
Ñ ôîðìàëüíîé òî÷êè çðåíèÿ îïåðàòîðû break, continue è return íå ÿâëÿþòñÿ îïåðàòîðàìè ñòðóêòóðíîãî ïðîãðàììèðîâàíèÿ. Îäíàêî èõ èñïîëüçîâàíèå â îãðàíè÷åííûõ êîëè÷åñòâàõ îïðàâäàíî, êîãäà îíè óïðîùàþò ïîíèìàíèå ïðîãðàììû è ïîçâîëÿþò èçáåãàòü áîëüøèõ âëîæåííûõ ñòðóêòóð. Íàïðèìåð, ìû ïðîâåðÿåì âõîäíûå äàííûå íà àíîìàëèè. Åñëè íå èñïîëüçîâàòü ýòè îïåðàòîðû, òî âñþ îáðàáîòêó ïðèäåòñÿ âëîæèòü â óñëîâíûé áëîê, ÷òî óõóäøàåò ÷èòàáåëüíîñòü ïðîãðàììû. Âìåñòî ýòîãî ìîæíî íàïèñàòü íåáîëüøîé óñëîâíûé áëîê, êîòîðûé îðãàíèçóåò âûõîä èç ôóíêöèè ïðè íåâåðíûõ èñõîäíûõ äàííûõ.
Ââîä/âûâîä íå ÿâëÿåòñÿ ÷àñòüþ ÿçûêà Ñ++, à îñóùåñòâëÿåòñÿ ôóíêöèÿìè, âõîäÿùèìè â ñîñòàâ ñòàíäàðòíîé áèáëèîòåêè
1.3 Ïîíÿòèå êëàññîâ è îáúåêòîâ
Êëàññ ñîäåðæèò äàííûå, çàäàþùèå ñâîéñòâà îáúåêòîâ êëàññà, è ôóíêöèè, îïðåäåëÿþùèå èõ ïîâåäåíèå.  ïîñëåäíåå âðåìÿ â êëàññ ÷àñòî äîáàâëÿåòñÿ òðåòüÿ ñîñòàâëÿþùàÿ -- ñîáûòèÿ, íà êîòîðûå ìîæåò ðåàãèðîâàòü îáúåêò êëàññà. Âñå êëàññû èìåþò îäíîãî îáùåãî ïðåäêà -- êëàññ object è îðãàíèçîâàíû â åäèíóþ èåðàðõè÷åñêóþ ñòðóêòóðó.
Îïèñàíèå êëàññà ñîäåðæèò êëþ÷åâîå ñëîâî class, çà êîòîðûì ñëåäóåò åãî èìÿ, à äàëåå â ôèãóðíûõ ñêîáêàõ -- òåëî êëàññà, òî åñòü ñïèñîê åãî ýëåìåíòîâ. Êðîìå òîãî, äëÿ êëàññà ìîæíî çàäàòü åãî áàçîâûå êëàññû (ïðåäêè) è ðÿä íåîáÿçàòåëüíûõ àòðèáóòîâ è ñïåöèôèêàòîðîâ, îïðåäåëÿþùèõ ðàçëè÷íûå õàðàêòåðèñòèêè êëàññà:
[àòðèáóòû] [ñïåöèôèêàòîðû] class èìÿ_êëàññà [: ïðåäêè] òåëî_êëàññà.
Êëàññîì ÿâëÿåòñÿ ñïåöèàëüíûé òèï äàííûõ, âêëþ÷àþùèé îïèñàíèå äàííûõ è îïèñàíèå ôóíêöèé (ìåòîäîâ), êîòîðûå ìîãóò áûòü âûïîëíåíû íàä ïðåäñòàâèòåëåì êëàññà -- îáúåêòîì.
Ïîëå. Òàê íàçûâàåòñÿ ÷ëåí-ïåðåìåííàÿ, ñîäåðæàùèé íåêîòîðîå çíà÷åíèå.  ÎÎÏ ïîëÿ èíîãäà íàçûâàþò äàííûìè îáúåêòà. Ê ïîëþ ìîæíî ïðèìåíÿòü íåñêîëüêî ìîäèôèêàòîðîâ â çàâèñèìîñòè îò òîãî, êàê âû ñîáèðàåòåñü åãî èñïîëüçîâàòü.  ÷èñëî ìîäèôèêàòîðîâ âõîäÿò static, readonly è const.
Ìåòîä. Ýòî ðåàëüíûé êîä, âîçäåéñòâóþùèé íà äàííûå îáúåêòà (èëè ïîëÿ). Âñå, èñïîëüçóåìûå ìîäèôèêàòîðû êëàññà ïðåäñòàâëåíû â òàáëèöå 1.2.
ÿçûê ìîäèôèêàòîð ïðîãðàììà ìàòðèöà
Òàáëèöà 1.2 - Ìîäèôèêàòîðû êëàññà
¹ |
Ñïåöèôèêàòîð |
Îïèñàíèå |
|
1 |
new |
Èñïîëüçóåòñÿ äëÿ âëîæåííûõ êëàññîâ. Çàäàåò íîâîå îïèñàíèå êëàññà âçàìåí óíàñëåäîâàííîãî îò ïðåäêà. Ïðèìåíÿåòñÿ â èåðàðõèÿõ îáúåêòîâ |
|
2 |
public |
Äîñòóï íå îãðàíè÷åí |
|
3 |
protected |
Èñïîëüçóåòñÿ äëÿ âëîæåííûõ êëàññîâ. Äîñòóï òîëüêî èç ýëåìåíòîâ äàííîãî è ïðîèçâîäíûõ êëàññîâ |
|
4 |
internal |
Äîñòóï òîëüêî èç äàííîé ïðîãðàììû (ñáîðêè) |
|
5 |
protected internal |
Äîñòóï òîëüêî èç äàííîãî è ïðîèçâîäíûõ êëàññîâ èëè èç äàííîé ïðîãðàììû (ñáîðêè) |
|
6 |
private |
Èñïîëüçóåòñÿ äëÿ âëîæåííûõ êëàññîâ. Äîñòóï òîëüêî èç ýëåìåíòîâ êëàññà, âíóòðè êîòîðîãî îïèñàí äàííûé êëàññ |
|
7 |
abstract |
Àáñòðàêòíûé êëàññ. Ïðèìåíÿåòñÿ â èåðàðõèÿõ îáúåêòîâ |
|
8 |
sealed |
Áåñïëîäíûé êëàññ. Ïðèìåíÿåòñÿ â èåðàðõèÿõ îáúåêòîâ |
|
9 |
static |
Ñòàòè÷åñêèé êëàññ. |
Ê ýëåìåíòàì êëàññà îòíîñÿòñÿ:
Êîíñòàíòû õðàíÿò íåèçìåíÿåìûå çíà÷åíèÿ, ñâÿçàííûå ñ êëàññîì;
Ïîëÿ ñîäåðæàò äàííûå êëàññà;
Ìåòîäû ðåàëèçóþò äåéñòâèÿ, âûïîëíÿåìûå êëàññîì èëè ýêçåìïëÿðîì;
Ñâîéñòâà îïðåäåëÿþò õàðàêòåðèñòèêè êëàññà â ñîâîêóïíîñòè ñî ñïîñîáàìè èõ çàäàíèÿ è ïîëó÷åíèÿ (ìåòîäàìè çàïèñè è ÷òåíèÿ);
Êîíñòðóêòîðû âûïîëíÿþò äåéñòâèÿ ïî èíèöèàëèçàöèè ýêçåìïëÿðîâ èëè êëàññà â öåëîì;
Äåñòðóêòîðû îïðåäåëÿþò äåéñòâèÿ, âûïîëíÿåìûå ïåðåä òåì êàê îáúåêò áóäåò óíè÷òîæåí;
Èíäåêñàòîðû îáåñïå÷èâàþò âîçìîæíîñòü äîñòóïà ê ýëåìåíòàì êëàññà ïî èõ ïîðÿäêîâîìó íîìåðó;
Îïåðàöèè çàäàþò äåéñòâèÿ ñ îáúåêòàìè ñ ïîìîùüþ çíàêîâ îïåðàöèé;
Ñîáûòèÿ, íà êîòîðûå ìîæåò ðåàãèðîâàòü îáúåêò, îïðåäåëÿþò óâåäîìëåíèÿ, êîòîðûå ìîæåò ãåíåðèðîâàòü êëàññ;
Òèïû âíóòðåííèå ïî îòíîøåíèþ ê êëàññó òèïû äàííûõ.
Îáúåêòû êëàññà ñîçäàþòñÿ ÿâíûì èëè íåÿâíûì îáðàçîì (ïðîãðàììèñòîì èëè ñèñòåìîé). Äëÿ ÿâíîãî ñîçäàíèÿ ýêçåìïëÿðà èñïîëüçóåòñÿ îïåðàöèÿ new. Ôîðìàò îïåðàöèè: new òèï ( [ àðãóìåíòû ]). Ïðîãðàììà íà Ñ# ñîñòîèò èç âçàèìîäåéñòâóþùèõ ìåæäó ñîáîé êëàññîâ. Ïðîãðàììèñò ñîçäàåò ýêçåìïëÿð êëàññà ñ ïîìîùüþ îïåðàöèè new, íàïðèìåð:
Demo a = new Demo(); // ñîçäàíèå ýêçåìïëÿðà êëàññà Demo
Demo b = new Demo(); // ñîçäàíèå äðóãîãî ýêçåìïëÿðà êëàññà Demo.
Äëÿ êàæäîãî îáúåêòà ïðè åãî ñîçäàíèè â ïàìÿòè âûäåëÿåòñÿ îòäåëüíàÿ îáëàñòü, â êîòîðîé õðàíÿòñÿ åãî äàííûå. Êðîìå òîãî, â êëàññå ìîãóò ïðèñóòñòâîâàòü ñòàòè÷åñêèå ýëåìåíòû, êîòîðûå ñóùåñòâóþò â åäèíñòâåííîì ýêçåìïëÿðå äëÿ âñåõ îáúåêòîâ êëàññà. ×àñòî ñòàòè÷åñêèå äàííûå íàçûâàþò äàííûìè êëàññà, à îñòàëüíûå -- äàííûìè ýêçåìïëÿðà.
1.4 Ñòðóêòóðà ïðîãðàììíîãî ìîäóëÿ íà Ñ#
Ñîâîêóïíîñòü ñðåäñòâ, ñ ïîìîùüþ êîòîðûõ ïðîãðàììû ïèøóò, êîððåêòèðóþò, ïðåîáðàçóþò â ìàøèííûå êîäû, îòëàæèâàþò è çàïóñêàþò, íàçûâàþò ñðåäîé ðàçðàáîòêè, èëè îáîëî÷êîé.
Ñðåäà ðàçðàáîòêè îáû÷íî ñîäåðæèò:
òåêñòîâûé ðåäàêòîð, ïðåäíàçíà÷åííûé äëÿ ââîäà è êîððåêòèðîâêè òåêñòà ïðîãðàììû;
êîìïèëÿòîð, ñ ïîìîùüþ êîòîðîãî ïðîãðàììà ïåðåâîäèòñÿ ñ ÿçûêà, íà êîòîðîì îíà íàïèñàíà, â ìàøèííûå êîäû;
ñðåäñòâà îòëàäêè è çàïóñêà ïðîãðàìì;
îáùèå áèáëèîòåêè, ñîäåðæàùèå ìíîãîêðàòíî èñïîëüçóåìûå ýëåìåíòû ïðîãðàìì;
ñïðàâî÷íóþ ñèñòåìó è äðóãèå ýëåìåíòû.
 ýïîõó ñòðåìèòåëüíîãî ðàçâèòèÿ Èíòåðíåòà âàæíåéøèìè çàäà÷àìè ïðè ñîçäàíèè ïðîãðàìì ñòàíîâÿòñÿ:
ïåðåíîñèìîñòü è âîçìîæíîñòü âûïîëíåíèÿ íà ðàçëè÷íûõ òèïàõ êîìïüþòåðîâ;
áåçîïàñíîñòü è íåâîçìîæíîñòü íåñàíêöèîíèðîâàííûõ äåéñòâèé;
íàäåæíîñòü èëè ñïîñîáíîñòü âûïîëíÿòü íåîáõîäèìûå ôóíêöèè â ïðåäîïðåäåëåííûõ óñëîâèÿõ; ñðåäíèé èíòåðâàë ìåæäó îòêàçàìè;
èñïîëüçîâàíèå ãîòîâûõ êîìïîíåíòîâ äëÿ óñêîðåíèÿ ðàçðàáîòêè;
ìåæúÿçûêîâîå âçàèìîäåéñòâèå è âîçìîæíîñòü ïðèìåíÿòü îäíîâðåìåííî íåñêîëüêî ÿçûêîâ ïðîãðàììèðîâàíèÿ.
Ëþáîå ïðèëîæåíèå íà ÿçûêå C#, ðàçðàáàòûâàåìîå â ñðåäå ïðîåêòèðîâàíèÿ VisualStudio.NET, ðåàëèçóåòñÿ êàê îòäåëüíûé ïðîåêò.
Ïðèëîæåíèå íà ÿçûêå Ñ# ìîæåò ñîñòîÿòü èç íåñêîëüêèõ ìîäóëåé. Êàæäûé ìîäóëü C# ìîæåò ñîäåðæàòü êîä íåñêîëüêèõ êëàññîâ .
Ñàìà ïðîãðàììà íà C# ñîñòîèò èç êëàññîâ, âíóòðè êîòîðûõ îïèñûâàþò ìåòîäû è äàííûå. Îïèñàííûå ïåðåìåííûå íåïîñðåäñòâåííî âíóòðè êëàññà, íàçûâàþòñÿ ïîëÿìè êëàññà. Èì àâòîìàòè÷åñêè ïðèñâàèâàåòñÿ òàê íàçûâàåìîå «çíà÷åíèå ïî óìîë÷àíèþ».
Òàê íàçûâàåìàÿ îáëàñòü äåéñòâèÿ ïåðåìåííîé, òî åñòü îáëàñòü ïðîãðàììû, ãäå ìîæíî èñïîëüçîâàòü ïåðåìåííóþ, íà÷èíàåòñÿ â òî÷êå åå îïèñàíèÿ è äëèòñÿ äî êîíöà áëîêà, âíóòðè êîòîðîãî îíà îïèñàíà. Áëîêîì ÿâëÿåòñÿ êîä, çàêëþ÷åííûé â ôèãóðíûå ñêîáêè. Îñíîâíîå íàçíà÷åíèå áëîêà -- ãðóïïèðîâêà îïåðàòîðîâ.
 C# ëþáàÿ ïåðåìåííàÿ îïèñàíà âíóòðè êàêîãî-ëèáî áëîêà: êëàññà, ìåòîäà èëè áëîêà âíóòðè ìåòîäà. Èìÿ ïåðåìåííîé äîëæíî áûòü óíèêàëüíûì â îáëàñòè åå äåéñòâèÿ. Îáëàñòü äåéñòâèÿ ðàñïðîñòðàíÿåòñÿ íà âëîæåííûå â ìåòîä áëîêè.
2. ÏÐÀÊÒÈ×ÅÑÊÀß ×ÀÑÒÜ
2.1 Âûïîëíåíèå çàäàíèÿ ¹ 1 êóðñîâîé ðàáîòû
ÂÀÐÈÀÍÒ ¹ 11. Çàïîëíèòü ìàòðèöó 1010 ñëåäóþùèì îáðàçîì:
Âûâåñòè çàïîëíåííóþ ìàòðèöó íà ýêðàí êîìïüþòåðà èëè íà ïðèíòåð. Íàéòè ñóììó ýëåìåíòîâ ìàòðèöû, êðàòíûõ 7, íàéòè ñóììó êâàäðàòíûõ êîðíåé ÷¸òíûõ ýëåìåíòîâ ìàòðèöû, âûâåñòè ïîëó÷åííûå ðåçóëüòàòû.
Ïîÿñíåíèå ðàáîòû ïðîãðàììû ñäåëàåì ñ ïîìîùüþ ñëîâåñíîãî îïèñàíèÿ àëãîðèòìà.
Àëãîðèòì ðåøåíèÿ çàäàíèÿ
Àëãîðèòì ðåàëèçóåòñÿ ñ ïîìîùüþ îäíîé ïðîöåäóðû void button1_Click(object sender, EventArgs e).
Èíèöèàëèçèðóåì ïåðåìåííûå int k = 0 è int f = 0.
Îïðåäåëÿåòñÿ ìàññèâ öåëûõ ÷èñåë ñ èìåíåì à, ñîñòîÿùèé èç 10 ñòðîê è 10 ñòîëáöîâ - int[,] a = new int[10, 10].
Äàëåå îðãàíèçóåòñÿ öèêë ïåðåáîðà ñòðîê ñ ïàðàìåòðîì i, îò íà÷àëüíîãî çíà÷åíèÿ 0 äî êîíå÷íîãî çíà÷åíèÿ 9 ñ øàãîì èçìåíåíèÿ 1 - for (int i = 0; i < 10; i++).
Çàòåì ñëåäóåò îïèñàíèå äâóìåðíîãî ìàññèâà, êîòîðûé ôîðìèðóåòñÿ ïî çàêîíó, îáîçíà÷åííîìó â çàäàíèè.
Âíóòðü ýòîãî öèêëà âëîæåí öèêë ïåðåáîðà ñòîëáöîâ ñ ïàðàìåòðîì j, îò íà÷àëüíîãî çíà÷åíèÿ 0 äî êîíå÷íîãî çíà÷åíèÿ 9 ñ øàãîì èçìåíåíèÿ 1 - for (int j = 0; j < 10; j++).
Âíóòðè ýòèõ âëîæåííûõ öèêëîâ ïåðåáîðà ðåàëèçîâàíû òðè ïðîâåðêè óñëîâèÿ, êîòîðûå â çàâèñèìîñòè îò ìåñòîïîëîæåíèÿ ýëåìåíòà, ïðèñâàèâàþò åìó ñîîòâåòñòâóþùåå çíà÷åíèå, îïðåäåë¸ííîå çàäàíèåì.
if (i < 5 && j < 5 ) a[i, j] = k++;
if (i >= 5 && i < 7 && j >= 5) a[i, j] = j+6-i;
if (i >= 7 && j >= 5) a[i, j] = f--;
Òàêèì îáðàçîì, îñóùåñòâëÿåòñÿ çàïîëíåíèå ìàññèâà ïî çàäàííîìó çàäàíèåì ïðàâèëó.
Äàëåå íåîáõîäèìî âûâåñòè çàïîëíåííóþ ìàòðèöó íà ýêðàí êîìïüþòåðà.
Ïîäñ÷èòàòü ñóììó êâàäðàòîâ ýëåìåíòîâ, êðàòíûõ 7, íàéòè ñðåäè íèõ ìàêñèìàëüíûé ýëåìåíò, âûâåñòè ïîëó÷åííûå ðåçóëüòàòû.
Èíèöèàëèçèðóåì ïåðåìåííûå: int sumb7 = 0- ñóììà êâàäðàòîâ ýëåìåíòîâ, êðàòíûõ 7, int kk3 = 0- êîëè÷åñòâî ýëåìåíòîâ êðàòíûõ 7, int amax = 0 - ìàêñèìàëüíûé ýëåìåíò ñðåäè êðàòíûõ 7.
Äàëåå îðãàíèçóåòñÿ öèêë ïåðåáîðà ñòðîê ñ ïàðàìåòðîì i, îò íà÷àëüíîãî çíà÷åíèÿ 0 äî êîíå÷íîãî çíà÷åíèÿ 9 ñ øàãîì èçìåíåíèÿ 1 - for (int i = 0; i < 10; i++).
Âíóòðü ýòîãî öèêëà âëîæåí öèêë ïåðåáîðà ñòîëáöîâ ñ ïàðàìåòðîì j, îò íà÷àëüíîãî çíà÷åíèÿ 0 äî êîíå÷íîãî çíà÷åíèÿ 9 ñ øàãîì èçìåíåíèÿ 1 - for (int j = 0; j < 10; j++).
Âíóòðè ýòèõ âëîæåííûõ öèêëîâ ïåðåáîðà èíäåêñîâ è ñîîòâåòñòâåííî ïîñëåäîâàòåëüíîãî äîñòóïà ê ýëåìåíòàì âëîæåíû òðè ïðîâåðêè óñëîâèÿ, êîòîðûå â çàâèñèìîñòè îò çíà÷åíèÿ ïîäñ÷èòûâàþò êîëè÷åñòâî ýëåìåíòîâ êðàòíûõ 7 è ñðåäè ýòèõ ýëåìåíòîâ íàõîäèò ìàêñèìàëüíîå çíà÷åíèå.
if (a[i, j] > 7)
sumb7 = sumb7 + a[i, j] * a[i, j];
if ((a[i, j] % 7 == 0) && a[i, j]!=0) kk7++;
if ((a[i, j] > 7) && (a[i, j] % 3 == 0) && (amax < a[i,j]))
amax = a[i, j];
Äàëåå ñëåäóåò âûâîä íà ýêðàí îáðàáîòàííîé èíôîðìàöèè.
Îïèñàíèÿ èñïîëüçóåìûõ ïåðåìåííûõ áûëè ïðèâåäåíû â ïðîöåññå îïèñàíèÿ àëãîðèòìà.
Ðèñ. 2.1 - Êîíòðîëüíûé ïðèìåð1
Êîíòðîëüíûé ïðèìåð âûïîëíåíèÿ çàäàíèÿ ïðåäñòàâëåí íà ðèñ. 2.1. è ðèñ. 2.2.
Ðèñ. 2.2 - Êîíòðîëüíûé ïðèìåð1
2.2 Âûïîëíåíèå çàäàíèÿ ¹ 2 êóðñîâîé ðàáîòû
Âàðèàíò 11. Ñîñòàâèòü ïðîãðàììó íàõîæäåíèÿ ïåðâîãî îòðèöàòåëüíîãî ÷ëåíà ïîñëåäîâàòåëüíîñòè: an = (20n - n3)/n!, n=1,2,3,…. Íàéòè ñóììó âñåõ ïîëîæèòåëüíûõ ÷ëåíîâ ïîñëåäîâàòåëüíîñòè è îïðåäåëèòü êîðåíü êâàäðàòíûé èç ýòîé ñóììû. Âûâåñòè ïîëó÷åííîå çíà÷åíèå íà ýêðàí, à òàêæå íîìåð ïåðâîãî îòðèöàòåëüíîãî ÷ëåíà ïîñëåäîâàòåëüíîñòè è åãî çíà÷åíèå.
Çàäàíèå âàðèàíòîâ ¹ 12-16: Äåéñòâèòåëüíîå ÷èñëî Õ ââîäèòñÿ ñ êëàâèàòóðû. Âû÷èñëèòü ïðèáëèæ¸ííîå çíà÷åíèå áåñêîíå÷íîé ñóììû ñîãëàñíî çàäàíèþ âàðèàíòà. Íóæíîå ïðèáëèæåíèå ñ÷èòàåòñÿ ïîëó÷åííûì, åñëè âû÷èñëåíà ñóììà íåñêîëüêèõ ïåðâûõ ñëàãàåìûõ, è î÷åðåäíîå ñëàãàåìîå îêàçàëîñü ïî ìîäóëþ ìåíüøå 0,0001.
Àëãîðèòì âûïîëíåíèÿ çàäàíèÿ.
Ïîÿñíåíèå ðàáîòû ïðîãðàììû ñäåëàåì ñ ïîìîùüþ áëîê-ñõåìû àëãîðèòìà, ïðèâåäåííîé íà ðèñ. 2.4.
Êîíòðîëüíûé ïðèìåð íàõîæäåíèÿ ïåðâîãî îòðèöàòåëüíîãî ÷ëåíà ïîñëåäîâàòåëüíîñòè ïðèâåäåí íà ðèñ 2.3.
Ðèñ. 2.3 - Êîíòðîëüíûé ïðèìåð íàõîæäåíèÿ ïåðâîãî îòðèöàòåëüíîãî ÷ëåíà ïîñëåäîâàòåëüíîñòè.
Ðèñ. 2.4 - Áëîê-ñõåìà íàõîæäåíèÿ ïåðâîãî îòðèöàòåëüíîãî ÷ëåíà ïîñëåäîâàòåëüíîñòè
2.3 Âûïîëíåíèå çàäàíèÿ ¹ 4 êóðñîâîé ðàáîòû
Âàðèàíò 11. Ñîñòàâèòü ïðîãðàììó íà ÿçûêå ïðîãðàììèðîâàíèÿ Ïàñêàëü, âûçûâàþùóþ ïðîöåäóðó èëè ôóíêöèþ, ïîçâîëÿþùóþ ðåøèòü ñëåäóþùóþ çàäà÷ó: äàíû äâå êâàäðàòíûå âåùåñòâåííûå ìàòðèöû ïîðÿäêà 10õ10. Âûâåñòè íà ýêðàí êâàäðàò òîé èç íèõ, ó êîòîðîé íàèìåíüøèé ñëåä (ñóììà äèàãîíàëüíûõ ýëåìåíòîâ), ñ÷èòàÿ, ÷òî òàêàÿ ìàòðèöà îäíà.
Àëãîðèòì âûïîëíåíèÿ çàäàíèÿ
Ïîÿñíåíèå ðàáîòû ïðîãðàììû ñäåëàåì ñ ïîìîùüþ ñëîâåñíîãî îïèñàíèÿ.
Ñîçäàåì ñòàòè÷åñêèé ìåòîä static double min (double a, double b).
Èíèöèàëèçèðóåì ïåðåìåííóþ double rez = 0.
Ñðàâíèâàåì äâå ïåðåìåííûå.
Àëãîðèòì ðåàëèçóåòñÿ ñ ïîìîùüþ îäíîé ïðîöåäóðû void button1_Click(object sender, EventArgs e).
Èíèöèàëèçèðóåì ïåðåìåííûå double a = 0, double b= 0,double v=0, double u = 0, double r = 0.
Çàòåì îòêðûâàåì áëîê èñêëþ÷åíèÿ try.
Âíóòðè áëîêà try… catch ïðåîáðàçóåì ñòðîêó à â âåùåñòâåííûé òèï äàííûõ. Òàêèì æå îáðàçîì ïðåîáðàçóåì ñòðîêó b â âåùåñòâåííûé òèï äàííûõ. Äëÿ ïîäñ÷åòà çíà÷åíèÿ ïåðåìåííîé u âûçûâàåì ñòàòè÷åñêèé ìåòîä min è âûâîäèì ðåçóëüòàò ïîäñ÷åòà íà ýêðàí.
Çàòåì ñ ïîìîùüþ ìåòîäà min âû÷èñëÿåì çíà÷åíèå ïåðåìåííîé v è âûâîäèì íà ýêðàí. Òàêèì æå îáðàçîì ïîäñ÷èòûâàåì çíà÷åíèå ïåðåìåííîé r è âûâîäèì íà ýêðàí. Ïîñëå ïîäñ÷åòà âñåõ çíà÷åíèé çàêðûâàåì áëîê catch (Exception ex).
Ðèñ. 2.5 - Êîíòðîëüíûé ïðèìåð ðåøåíèÿ ïîñòàâëåííîé çàäà÷è
Êîíòðîëüíûé ïðèìåð ðåøåíèÿ ïîñòàâëåííîé çàäà÷è ïðèâåäåí íà ðèñ. 2.5.
2.4 Âûïîëíåíèå çàäàíèÿ ¹ 5 êóðñîâîé ðàáîòû
Âàðèàíò 11. Äàíû ñèìâîëüíûå ôàéëû f è g. Îïðåäåëèòü, ñîâïàäàþò ëè êîìïîíåíòû ôàéëà f ñ êîìïîíåíòàìè ôàéëà g. Åñëè íåò, òî ïîëó÷èòü íîìåð ïåðâîé êîìïîíåíòû, â êîòîðîé ôàéëû f è g îòëè÷àþòñÿ ìåæäó ñîáîé.  ñëó÷àå, êîãäà îäèí èç ôàéëîâ èìååò n êîìïîíåíò (n?0) è ÿâëÿåòñÿ íà÷àëîì äðóãîãî (áîëåå äëèííîãî) ôàéëà, îòâåòîì äîëæíî áûòü ÷èñëî n+1.
Àëãîðèòì âûïîëíåíèÿ çàäàíèÿ
Ïîÿñíåíèå ðàáîòû ïðîãðàììû ñäåëàåì ñ ïîìîùüþ áëîê-ñõåìû àëãîðèòìà, â äàííîì ñëó÷àå çäåñü áóäåò òðè áëîê-ñõåìû, ò.ê âûïîëíåíèå ïðîãðàììû âûïîëíÿåòñÿ íà òðè ñîáûòèÿ. (ñì ðèñ.2.6-2.7).
Ðèñ. 2.6 - Êîíòðîëüíûé ïðèìåð ðåøåíèÿ ïîñòàâëåííîé çàäà÷è
Êîíòðîëüíûé ïðèìåð ðåøåíèÿ ïîñòàâëåííîé çàäà÷è ïðèâåäåí íà ðèñ. 2.5.
Ðèñ. 2.7 - Áëîê-ñõåìà íà ñîáûòèå private void button1_Click(object sender, EventArgs e)
Ðèñ. 2.8 - Áëîê-ñõåìà íà ñîáûòèå private void button2_Click(object sender, EventArgs e)
Ðèñ. 2.9 - Áëîê-ñõåìà íà ñîáûòèå private void button3_Click(object sender, EventArgs e)
ÇÀÊËÞ×ÅÍÈÅ
Ïðè âûïîëíåíèè íàñòîÿùåé êóðñîâîé ðàáîòû áûëè îñâîåíû îñíîâíûå ïðèíöèïû ðàçðàáîòêè àëãîðèòìîâ è ïðîãðàìì, ìåòîäû îòëàäêè è ðåøåíèÿ çàäà÷ íà ÝÂÌ â ðàçëè÷íûõ ðåæèìàõ. Òàê æå áûëè ðàçîáðàíû îñíîâû ñèñòåìíîãî ïðîãðàììèðîâàíèÿ è îñíîâû îáúåêòíî-îðèåíòèðîâàííîãî ïîäõîäà ê ïðîãðàììèðîâàíèþ.
 ïðîöåññå ðåøåíèÿ ïîñòàâëåííûõ çàäà÷ êóðñîâîé ðàáîòû èñïîëüçîâàëèñü ïðèêëàäíûå ñèñòåìû ïðîãðàììèðîâàíèÿ è íåîáõîäèìûå ìåòîäû ðåøåíèÿ çàäàíèé.
Èíñòðóìåíòàëüíîé ñðåäîé ðàçðàáîòêè ïðîãðàìì ñòàëà MS Visual Studio 2010.
 ïåðâîì çàäàíèè êóðñîâîé ðàáîòû áûëè ðàññìîòðåíû òàêèå ìåòîäû ðåøåíèÿ çàäà÷ êàê ìàòðèöû. Çàäàííàÿ ìàòðèöà ýëåìåíòîâ äîëæíà áûòü çàïîëíåíà îïðåäåëåííûì îáðàçîì è âûâåäåíà íà ýêðàí. Ïðè âûïîëíåíèè äàííîãî çàäàíèÿ èñïîëüçîâàëèñü ìàññèâû è ñîîòâåòñòâóþùèå ðàñ÷åòû.
Óñëîâèåì âòîðîãî çàäàíèÿ êóðñîâîé ðàáîòû áûëî íàõîæäåíèå ïåðâîãî îòðèöàòåëüíîãî ÷ëåíà ïîñëåäîâàòåëüíîñòè è íàõîæäåíèå ñóììû âñåõ ïîëîæèòåëüíûõ ÷ëåíîâ ïîñëåäîâàòåëüíîñòè. Ïðè ðåøåíèè ïîñòàâëåííîé çàäà÷è èñïîëüçîâàëñÿ öèêë ñ ïðåäóñëîâèåì.
 òðåòüåì çàäàíèè êóðñîâîé ðàáîòû áûëè ðàññìîòðåíû ñòðîêè. Ïðè âûïîëíåíèè äàííîãî çàäàíèÿ áûëè ïðèìåíåíû íåîáõîäèìûå îïåðàöèè ñî ñòðîêàìè, à èìåííî ñòðîêîâûé ìàññèâ, íàõîæäåíèå äëèíû ñòðîêè è ò.ä.
Òåìîé ÷åòâåðòîãî çàäàíèÿ êóðñîâîé ðàáîòû ñòàëà ðàáîòà ñ ìåòîäàìè. Ïðè âûïîëíåíèè çàäàíèÿ áûëà ñîñòàâëåíà ïðîãðàììà âûçîâà ìåòîäà ñ ïîìîùüþ êîòîðîãî áûëî ðåøåíî óñëîâèå äàííîãî çàäàíèÿ.
Òåìîé çàêëþ÷èòåëüíîãî çàäàíèÿ êóðñîâîé ðàáîòû áûëà ðàáîòà ñ ôàéëàìè. Ïðè ðåøåíèè çàäàíèÿ èñïîëüçîâàëèñü îäíîìåðíûå ìàññèâû.
Ïî îêîí÷àíèþ êóðñîâîé ðàáîòû ìîæíî ñêàçàòü, ÷òî íàìè áûëè èçó÷åíû è çàêðåïëåíû ñëåäóþùèå çàäà÷è:
- ñòàâèòü çàäà÷ó è ðàçðàáàòûâàòü àëãîðèòì å¸ ðåøåíèÿ;
- èñïîëüçîâàòü ïðèêëàäíûå ñèñòåìû ïðîãðàììèðîâàíèÿ;
- ðàçðàáàòûâàòü îñíîâíûå ïðîãðàììíûå äîêóìåíòû;
- ðàáîòàòü ñ ñîâðåìåííûìè ñèñòåìàìè ïðîãðàììèðîâàíèÿ, âêëþ÷àÿ îáúåêòíî-îðèåíòèðîâàííûå;
- ÿçûêàìè ïðîöåäóðíîãî è îáúåêòíî-îðèåíòèðîâàííîãî ïðîãðàììèðîâàíèÿ, íàâûêàìè ðàçðàáîòêè è îòëàäêè ïðîãðàìì íå ìåíåå, ÷åì íà îäíîì èç àëãîðèòìè÷åñêèõ ïðîöåäóðíûõ ÿçûêîâ ïðîãðàììèðîâàíèÿ âûñîêîãî óðîâíÿ,
- ìåòîäàìè è ñðåäñòâàìè ðàçðàáîòêè è îôîðìëåíèÿ òåõíè÷åñêîé äîêóìåíòàöèè.
ÑÏÈÑÎÊ ÈÑÏÎËÜÇÎÂÀÍÍÎÉ ËÈÒÅÐÀÒÓÐÛ
1. Õåéëñáåðã À., Òîðãåðñåí Ì., Âèëòàìóò Ñ., Ãîëä Ï. ßçûê ïðîãðàììèðîâàíèÿ Ñ#. Êëàññèêà Computers Science. - ÑÏÁ.: Ïèòåð, 2012.
2. Õîðåâ Ï. Á. Òåõíîëîãèè îáúåêòíî-îðèåíòèðîâàííîãî ïðîãðàììèðîâàíèÿ: Ó÷åáíîå ïîñîáèå äëÿ âóçîâ. - Ì.: Àêàäåìèÿ, 2008.
3. Îðëîâ Ñ. À. Òåõíîëîãèè ðàçðàáîòêè ïðîãðàììíîãî îáåñïå÷åíèÿ: Ó÷åáíèê äëÿ âóçîâ. - 3-å èçä., ÑÏá.: Ïèòåð, 2010.
4. Ìàðòèí Ð., Áûñòðàÿ ðàçðàáîòêà ïðîãðàìì: ïðèíöèïû, ïðèìåðû, ïðàêòèêà: Ïåð. ñ àíãë., Ì.: Èçäàò. äîì «Âèëüÿìñ», 2009.
5. Ïîáåãàéëî À.Ï. Ñ/Ñ++ äëÿ ñòóäåíòà. - ÑÏÁ.: ÁÕÂ-Ïåòåðáóðã, 2006.
ÏÐÈËÎÆÅÍÈÅ 1
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Âàðèàíò_11_1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
int[,] a = new int[10, 10];
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10; j++)
{
if (i >= j)
{
a[i, j] = (j + 1) * (j + 1);
}
else
{
a[i, j] = Convert.ToInt32((i + 1).ToString() + (i + 1).ToString());
}
}
}
int sek7 = 0;
double skkce = 0;
string s = "i=\\j= \t";
for (int j = 0; j < 10; j++) s = s + j.ToString() + "\t";
s = s + "\n";
for (int i = 0; i < 10; i++)
{
s = s + "\n" + i.ToString() + "\t";
for (int j = 0; j < 10; j++)
{
if (a[i, j] % 7 == 0)
{
sek7 = sek7 + a[i, j];
}
if ( a[i, j] % 2== 0)
{
skkce = skkce + Math.Sqrt(a[i, j]);
}
s = s + a[i, j].ToString() + "\t";
}
s = s + "\n";
}
richTextBox1.Text = s;
richTextBox1.AppendText("\nÑóììà êâàäðàòíûõ êîðíåé ÷¸òíûõ ýëå¬ìåíòîâ ìàòðèöû " + skkce.ToString());
richTextBox1.AppendText("\nÑóììà ýëåìåíòîâ ìàòðèöû, êðàòíûõ 7 ðàâíà " + sek7.ToString());
}
}
ÏÐÈËÎÆÅÍÈÅ 2
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace _11_2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
richTextBox1.Clear();
double n = 1;
double a = (20 * n - n * n * n) / n;
double z = n;
double sp = 0;
while (a > 0)
{
sp = sp + a;
richTextBox1.AppendText("a" + n.ToString() + " = " + a.ToString() + "\n");
n = n + 1;
z = z * n;
a = (20 * n - n * n * n) / z;
}
richTextBox1.AppendText("Èíäåêñ ïåðâîãî îòðèöàòåëüíîãî " + n.ToString() + "\n");
richTextBox1.AppendText("Çíà÷åíèå ïåðâîãî îòðèöàòåëüíîãî " + a.ToString() + "\n");
richTextBox1.AppendText("Êîðåíü êâàäðàòíûé ñóììû " + Math.Sqrt(sp) + "\n");
}
}
}
ÏÐÈËÎÆÅÍÈÅ 3
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Text.RegularExpressions;
namespace Âàðèàíò_11_4
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
int[,] a = new int[10, 10];
int[,] b = new int[10, 10];
int n = 0;
int m = 0;
int n1 = 0;
int m1 = 0;
static int funk(int [,] a,int m,int n,int [,] b,int m1,int n1)
{
int sd = 0;
for (int i = 0; i < n; i++)
{
sd = sd + a[i, i] + a[i, n - i - 1];
}
int sd2 = 0;
for (int i = 0; i < n1; i++)
{
sd2 = sd2 + b[i, i] + b[i, n - i - 1];
}
if (sd < sd2)
return 1;
else
return 2;
}
private void button1_Click(object sender, EventArgs e)
{
richTextBox3.Clear();
string s = "";
string[] MS; // ìàññèâ ñòðîê
string razdel = @"[\s]+"; // ðàçäåëèòåëü ëþáîå ÷èñëî ïðîáåëüíûõ, çíàêîâ òàáóëÿöèè, ïåðåâîäà ñòðîêè, íîâîé ñòðàíèöû
Regex r = new Regex(razdel); // îïðåäåëèòü ðàçäåëèòåëü
int i = 0;
int j = 0;
// ÷òåíèå èç áëêíîòà è çàïèñü â ìàññèâ
for (i = 0; i < richTextBox1.Lines.Length; i++)
{
s = richTextBox1.Lines[i];
if (i != 0 && richTextBox1.Lines[i - 1].Length == 0) goto ñòîï;
s = s.Trim();
MS = r.Split(s); // ðàçäåëèòü íà ïîäñòðîêè
for (j = 0; j < MS.Length; j++)
{
try
{
a[i, j] = Convert.ToInt32(MS[j]);
}
catch (Exception ex)
{
}
}
}
ñòîï:
//ðàçìåðíîñòü ìàññèâà
m = i - 1;
n = r.Split(richTextBox1.Lines[1]).Length;
//********************************
s = "";
string[] MS1; // ìàññèâ ñòðîê
// string razdel = @"[\s]+"; // ðàçäåëèòåëü ëþáîå ÷èñëî ïðîáåëüíûõ, çíàêîâ òàáóëÿöèè, ïåðåâîäà ñòðîêè, íîâîé ñòðàíèöû
// Regex r = new Regex(razdel); // îïðåäåëèòü ðàçäåëèòåëü
i = 0;
j = 0;
// ÷òåíèå èç áëêíîòà è çàïèñü â ìàññèâ
for (i = 0; i < richTextBox2.Lines.Length; i++)
{
s = richTextBox2.Lines[i];
if (i != 0 && richTextBox2.Lines[i - 1].Length == 0) goto ñòîï1;
s = s.Trim();
MS1 = r.Split(s); // ðàçäåëèòü íà ïîäñòðîêè
for (j = 0; j < MS1.Length; j++)
{
try
{
b[i, j] = Convert.ToInt32(MS1[j]);
}
catch (Exception ex)
{
}
}
}
ñòîï1:
//ðàçìåðíîñòü ìàññèâà
m1 = i - 1;
n1 = r.Split(richTextBox1.Lines[1]).Length;
richTextBox3.AppendText("\nÌàòðèöà ñ íàèìåíüøèì ñëåäîì");
if (funk(a, m, n, b, m1, n1) == 1)
{
for (i = 0; i < m; i++)
{
s = "";
for (j = 0; j < n; j++)
s = s + a[i, j].ToString() + " ";
richTextBox3.AppendText("\n" + s);
}
int[,] aa = new int[10, 10];
for (i = 0; i < m; i++)
for (j = 0; j < n; j++)
aa[i, j] = a[i, j] * a[j, i];
richTextBox3.AppendText("\nÊâàäðàò ìàòðèöû ñ íàèìåíüøèì ñëåäîì");
for (i = 0; i < m; i++)
{
s = "";
for (j = 0; j < n; j++)
s = s + aa[i, j].ToString() + " ";
richTextBox3.AppendText("\n" + s);
}
}
else
{
for (i = 0; i < m1; i++)
{
s = "";
for (j = 0; j < n1; j++)
s = s + b[i, j].ToString() + " ";
richTextBox3.AppendText("\n" + s);
}
int[,] bb = new int[10, 10];
for (i = 0; i < m1; i++)
for (j = 0; j < n1; j++)
bb[i, j] = b[i, j] * b[j, i];
richTextBox3.AppendText("\nÊâàäðàò ìàòðèöû ñ íàèìåíüøèì ñëåäîì");
for (i = 0; i < m1; i++)
{
s = "";
for (j = 0; j < n1; j++)
s = s + bb[i, j].ToString() + " ";
richTextBox3.AppendText("\n" + s);
}
}
}
}
}
ÏÐÈËÎÆÅÍÈÅ 4
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace Âàðèàíò_11_5
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
int nom = 0;
button1.Visible = false;
button2.Visible = true;
char chf;
char chg;
richTextBox1.Clear();
try
{
FileStream f = new FileStream("f.char", FileMode.Open);
BinaryReader char_Reader_f = new BinaryReader(f);
FileStream g = new FileStream("g.char", FileMode.Open);
BinaryReader char_Reader_g = new BinaryReader(g);
richTextBox1.AppendText("Äëèíà f.char =" + f.Length.ToString() + "\n");
richTextBox1.AppendText("Äëèíà g.char =" + g.Length.ToString() + "\n");
try
{
while (true)
{
chf = char_Reader_f.ReadChar();
chg = char_Reader_g.ReadChar();
if (chf == chg)
{
richTextBox1.AppendText(chg.ToString() + "=" + chf.ToString() + "\n");
nom++;
}
else
break;
}
richTextBox1.AppendText("×èñëî ñîâïàäàþùèõ êîìïîíåíò ="+nom.ToString());
}
catch (Exception ex)
{
}
char_Reader_f.Close();
f.Close();
char_Reader_g.Close();
g.Close();
}
catch (Exception ex)
{
richTextBox1.AppendText("f.char èëè g.char íå ñóùåñòâóåò");
}
}
private void button2_Click(object sender, EventArgs e)
{
button2.Visible = false;
button1.Visible = true;
try
{
BinaryWriter char_Writer = new BinaryWriter(new FileStream("f.char", FileMode.Create));
string s = textBox1.Text;
for (int i = 0; i < s.Length; i++)
{
char_Writer.Write(s[i]);
}
char_Writer.Close();
}
catch (Exception ex)
{
richTextBox1.Text = ex.Message;
}
try
{
BinaryWriter char_Writer = new BinaryWriter(new FileStream("g.char", FileMode.Create));
string s = textBox2.Text;
for (int i = 0; i < s.Length; i++)
{
char_Writer.Write(s[i]);
}
char_Writer.Close();
}
catch (Exception ex)
{
richTextBox1.Text = ex.Message;
}
}
}
}
Ðàçìåùåíî íà Allbest.ru
Ïîäîáíûå äîêóìåíòû
Àëôàâèò ÿçûêà ïðîãðàììèðîâàíèÿ C#. Ëåêñåìû ÿçûêà ïðîãðàììèðîâàíèÿ. Îáëàñòü äåéñòâèÿ ïåðåìåííûõ. Ïîíÿòèå êëàññîâ è îáúåêòîâ. Ñòðóêòóðà ïðîãðàììíîãî ìîäóëÿ íà Ñ#. Óïðàâëåíèå ïðîöåññîì ïîâòîðåíèÿ âû÷èñëåíèé. Ïðîäîëæåíèå öèêëà è ìîäèôèêàöèÿ ïàðàìåòðà öèêëà.
êóðñîâàÿ ðàáîòà [557,1 K], äîáàâëåí 10.03.2014Ïðîãðàììà ïî îðãàíèçàöèè çàïîëíåíèÿ ìàññèâà îáúåêòîâ ïðèëîæåíèÿ èç âíåøíåãî ôàéëà äàííûõ ôîðìàòà csv. Îïèñàíèå ìîäóëÿ Def.h, Plant.h è Main.cpp. Êîíòðîëüíûé ïðèìåð ðàáîòû ïðîãðàììû. Ðàññìîòðåíèå ïåðåäà÷è íåïðàâèëüíîãî èìåíè ôàéëà â êà÷åñòâå ïàðàìåòðà.
êóðñîâàÿ ðàáîòà [567,9 K], äîáàâëåí 27.01.2013Ìåòîäèêà ðàçðàáîòêè ïðîãðàììíîãî ìîäóëÿ äëÿ íàõîæäåíèÿ ìåòîäîì õîðä êîðíÿ óðàâíåíèÿ x3-x-0,3=0 ñ òî÷íîñòüþ äî 0,001 íà ÿçûêå ïðîãðàììèðîâàíèÿ Visual Basic for Application. Ñõåìà ïðîãðàììíîãî ìîäóëÿ è îïèñàíèå ïðîöåäóðû îáðàáîòêè êíîïêè "Íàéòè êîðíè".
êóðñîâàÿ ðàáîòà [394,0 K], äîáàâëåí 08.09.2010Èçó÷åíèå îáùåé ñòðóêòóðû ÿçûêà ïðîãðàììèðîâàíèÿ Delphi: ãëàâíûå è äîïîëíèòåëüíûå ñîñòàâíûå ÷àñòè ñðåäû ïðîãðàììèðîâàíèÿ. Ñèíòàêñèñ è ñåìàíòèêà ÿçûêà ïðîãðàììèðîâàíèÿ Delphi: àëôàâèò ÿçûêà, ýëåìåíòàðíûå êîíñòðóêöèè, ïåðåìåííûå, êîíñòàíòû è îïåðàòîðû.
êóðñîâàÿ ðàáîòà [738,1 K], äîáàâëåí 17.05.2010Ðàçðàáîòêà ïðîãðàììû, ïîçâîëÿþùåé ïðîâåðèòü çíàíèÿ òàáëèöû óìíîæåíèÿ ó ó÷åíèêîâ íà÷àëüíûõ êëàññîâ. Ïðîåêòèðîâàíèå ïðîãðàììû â ñðåäå DEV-C++. Ñòðóêòóðíàÿ ñõåìà ïðîãðàììû è åå îïèñàíèå. Êîíòðîëüíûé ïðèìåð è àíàëèç ðåçóëüòàòîâ, èíñòðóêöèÿ ïîëüçîâàòåëÿ.
êóðñîâàÿ ðàáîòà [1,8 M], äîáàâëåí 24.06.2015Ïîíÿòèå àëãîðèòìà. Öèêë ïðîãðàììû. Ñòðóêòóðíàÿ ñõåìà àëãîðèòìà. Ýëåìåíòû ÿçûêà Òurbo Ðascal. Àëôàâèò. Èäåíòèôèêàòîðû. Êîììåíòàðèè. Ëåêñèêà ÿçûêà Ñ++. ESC-ïîñëåäîâàòåëüíîñòè. Îïåðàöèè. Êëþ÷åâûå ñëîâà. Êîììåíòàðèè.
êîíòðîëüíàÿ ðàáîòà [43,0 K], äîáàâëåí 24.04.2006Õàðàêòåðèñòèêà îñíîâíûõ ñïîñîáîâ âû÷èñëåíèÿ îïðåäåëèòåëÿ ìàòðèöû ñ ïîìîùüþ ÿçûêà ïðîãðàììèðîâàíèÿ ÑÈ. Âûáîð èíñòðóìåíòàëüíûõ è àïïàðàòíûõ ñðåäñòâ, åãî îáîñíîâàíèå. Îáùàÿ ñòðóêòóðà è ïðèíöèï äåéñòâèÿ ïðîãðàììíîãî ìîäóëÿ, îïèñàíèå áëîê-ñõåì àëãîðèòìîâ.
êóðñîâàÿ ðàáîòà [262,4 K], äîáàâëåí 08.06.2010Îïåðàòîðû ãåíåòè÷åñêîãî àëãîðèòìà. Ïðèìåð ïðîñòåéøåé ïðîãðàììû. Ïðîöåññ ãåíåðàöèè è íàêîïëåíèÿ èíôîðìàöèè î âûæèâàíèè è ïðîäîëæåíèè ðîäà â ðÿäå ïîêîëåíèé ïîïóëÿöèè. Ïðîãðàììà, ðåàëèçóþùàÿ ïðîñòîé ãåíåòè÷åñêèé àëãîðèòì äëÿ íàõîæäåíèÿ ìèíèìóìà ôóíêöèè.
êóðñîâàÿ ðàáîòà [39,3 K], äîáàâëåí 29.10.2012Ñîçäàíèå ïðèëîæåíèÿ, êîòîðîå íà âõîä ïîëó÷àåò êîìïüþòåðíóþ ñòðóêòóðó, îáðàáàòûâàåò åå è âûâîäèò íà ýêðàí. Êðàòêîå îïèñàíèå èñïîëüçóåìûõ ïðîñòðàíñòâ èìåí è êëàññîâ. Ôàéëû ïðîãðàììíîãî ìîäóëÿ Beta. Ïðèìåð åãî ðàáîòû, ïîðÿäîê ïîäêëþ÷åíèÿ ê Âåá-ñòðàíèöå.
äèïëîìíàÿ ðàáîòà [1,3 M], äîáàâëåí 06.07.2015Ðàçðàáîòêà, ñîñòàâëåíèå è îòëàäêà ïðîãðàììíîãî ìîäóëÿ "Áàçà çíàíèé" ñðåäñòâàìè ïðîãðàììû Quick Sales. Îïèñàíèå ñõåìû áàçû: âîçìîæíîñòè ðåäàêòèðîâàíèÿ, óäàëåíèÿ è äîáàâëåíèÿ äàííûõ. Òåêñò ïðîãðàììû è êîíòðîëüíûé ïðèìåð ïîèñêà ÷åðåç ïàíåëü óïðàâëåíèÿ.
êóðñîâàÿ ðàáîòà [519,0 K], äîáàâëåí 26.01.2013