Issuu on Google+

Ãëàâà 1

Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

1.1. Èíôîðìàòèêà è èíôîðìàöèÿ Èíôîðìàòèêà — ýòî íàóêà îá èíôîðìàöèè è èíôîðìàöèîííûõ ïðîöåññàõ, ïðîòåêàþùèõ â ñèñòåìàõ ðàçëè÷íîé ïðèðîäû (åñòåñòâåííûõ, òåõíè÷åñêèõ, ñîöèàëüíûõ), à òàêæå î ñïîñîáàõ èõ àâòîìàòèçàöèè ñ èñïîëüçîâàíèåì êîìïüþòåðíîé òåõíèêè. Îäíèì èç ïåðâîèñòî÷íèêîâ íàó÷íîé îáëàñòè èíôîðìàòèêè ÿâëÿåòñÿ êèáåðíåòèêà, ðîæäåíèå êîòîðîé ñâÿçûâàåòñÿ ñ âûõîäîì â 1948 ãîäó êíèãè Íîðáåðòà Âèíåðà «Êèáåðíåòèêà, èëè Óïðàâëåíèå è ñâÿçü â æèâîòíîì è ìàøèíå». Ê ïåðâîèñòî÷íèêàì ñîâðåìåííîé èíôîðìàòèêè îòíîñÿòñÿ òàêæå òåîðèÿ èíôîðìàöèè, çàðîäèâøàÿñÿ â 1930-õ ãîäàõ â ðàáîòàõ Ê. Øåííîíà, Ð. Õàðòëè, òåîðèÿ àëãîðèòìîâ (À. Òüþðèíã, Ý. Ïîñò, À. Ìàðêîâ), ðàáîòû Äæîíà ôîí Íåéìàíà ïî àðõèòåêòóðå ÝÂÌ. Ïðèêëàäíàÿ âåòâü èíôîðìàòèêè ôîðìèðóåòñÿ ñ ïîÿâëåíèåì ýëåêòðîííûõ âû÷èñëèòåëüíûõ ìàøèí. Òàêèì îáðàçîì, ñ íà÷àëà ñâîåãî çàðîæäåíèÿ èíôîðìàòèêà îáúåäèíÿåò â ñåáå íàóêó îá èíôîðìàöèè — òåîðåòè÷åñêóþ èíôîðìàòèêó è èíôîðìàöèîííóþ òåõíèêó è òåõíîëîãèè — ïðèêëàäíóþ èíôîðìàòèêó. Ïî îòíîøåíèþ ê ïîñëåäíåé ñðàâíèòåëüíî íåäàâíî â óïîòðåáëåíèå âîøåë òåðìèí «èíôîðìàöèîííî-êîììóíèêàöèîííûå òåõíîëîãèè», ñîêðàù¸ííî ÈÊÒ. Ïîíÿòèå èíôîðìàöèè ÿâëÿåòñÿ öåíòðàëüíûì ïîíÿòèåì èíôîðìàòèêè. Íåñìîòðÿ íà êàæóùóþñÿ èíòóèòèâíóþ ÿñíîñòü òåðìèíà «èíôîðìàöèÿ», äëÿ íåãî íåò â íàóêå åäèíñòâåííî âåðíîãî îïðåäåëåíèÿ.  áûòîâîì ñìûñëå ïîä èíôîðìàöèåé ìû ïîíèìàåì ñîäåðæàíèå ñîîáùåíèé, êîòîðûå ÷åëîâåê ïîëó÷àåò èç îêðóæàþùåãî ìèðà: îáùàÿñü ñ äðóãèìè ëþäüìè, èç êíèã, èç ñðåäñòâ ìàññîâîé èíôîðìàöèè, èç äðóãèõ èñòî÷íèêîâ. Ïðèíÿòàÿ èíôîðìàöèÿ ïîïîëíÿåò íàøè çíàíèÿ. Ñëîâîñî÷åòàíèå «âëàäåòü èíôîðìàöèåé» îçíà÷àåò ÷òî-òî çíàòü ïî èíòåðåñóþùåìó íàñ ïðåäìåòó. Íî äàæå â òàêîì áûòîâîì ñìûñëå ñëîâî «èíôîðìàöèÿ» ñòàëî øèðîêî óïîòðåáëÿòüñÿ òîëüêî ñ ñåðåäèíû ÕÕ âåêà. Ïðîíèêíîâåíèå ïîíÿòèÿ èíôîðìàöèè â íàóêó ñâÿçàíî â íàèáîëüøåé ñòåïåíè ñ ðàçâèòèåì äâóõ íàó÷íûõ íàïðàâëåíèé: òåîðèè ñâÿçè è êèáåðíåòèêè. Àâòîð òåîðèè ñâÿçè, àìåðèêàíñêèé ó÷¸íûé Êëîä Øåííîí, àíàëèçèðóÿ òåõíè÷åñêèå ñèñòåìû ñâÿçè: òåëåãðàô, òåëåôîí, ðàäèî (ðèñ. 1.1), ðàññìàòðèâàë èõ êàê ñèñòåìû ïåðåäà÷è èíôîðìàöèè.  òàêèõ ñèñòåìàõ èíôîðìàöèÿ ïåðåäà¸òñÿ ïîñðåäñòâîì ïîñëåäîâàòåëüíîñòåé ñèãíàëîâ: ýëåêòðè÷åñêèõ èëè ýëåêòðîìàãíèòíûõ. Ðàçâèòèå òåîðèè ñâÿçè ïðèâåëî ê ñîçäàíèþ òåîðèè èíôîðìàöèè, ðåøàþùåé ïðîáëåìó èçìåðåíèÿ èíôîðìàöèè.


10

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Ðèñ. 1.1. Òåõíè÷åñêèå ñèñòåìû ñâÿçè

Îñíîâàòåëü êèáåðíåòèêè Íîðáåðò Âèíåð àíàëèçèðîâàë ðàçíîîáðàçíûå ïðîöåññû óïðàâëåíèÿ â æèâûõ îðãàíèçìàõ è â òåõíè÷åñêèõ ñèñòåìàõ. Ïðîöåññû óïðàâëåíèÿ ðàññìàòðèâàþòñÿ â êèáåðíåòèêå êàê èíôîðìàöèîííûå ïðîöåññû. Öèðêóëèðîâàíèå èíôîðìàöèè â ñèñòåìàõ óïðàâëåíèÿ îáåñïå÷èâàåòñÿ ïîñðåäñòâîì ñèãíàëîâ, ïåðåäàâàåìûõ ïî èíôîðìàöèîííûì êàíàëàì ìåæäó óïðàâëÿþùèìè îáúåêòàìè è îáúåêòàìè óïðàâëåíèÿ. Êèáåðíåòè÷åñêàÿ ìîäåëü óïðàâëåíèÿ Âèíåðà íàøëà ïðèìåíåíèå âî ìíîãèõ íàó÷íûõ îáëàñòÿõ, â òîì ÷èñëå â áèîëîãèè è ìåäèöèíå. Ìåõàíèçìû íåðâíîé äåÿòåëüíîñòè æèâîòíîãî è ÷åëîâåêà èçó÷àåò íåéðîôèçèîëîãèÿ.  ýòîé íàóêå èñïîëüçóåòñÿ ñëåäóþùàÿ ìîäåëü èíôîðìàöèîííûõ ïðîöåññîâ, ïðîèñõîäÿùèõ â îðãàíèçìå. Ïîñòóïàþùàÿ èçâíå èíôîðìàöèÿ ïîñðåäñòâîì ñèãíàëîâ ýëåêòðîõèìè÷åñêîé ïðèðîäû ïåðåäà¸òñÿ îò îðãàíîâ ÷óâñòâ ïî íåðâíûì âîëîêíàì ê íåéðîíàì (íåðâíûì êëåòêàì) ìîçãà (ðèñ. 1.2). Îò ìîçãà ñèãíàëû òîé æå ïðèðîäû ïåðåäàþòñÿ ê ìûøå÷íûì òêàíÿì. Òàêèì îáðàçîì îñóùåñòâëÿåòñÿ óïðàâëåíèå îðãàíàìè äâèæåíèÿ.

Ðèñ. 1.2. Íåéðîíû ìîçãà

 äðóãîé áèîëîãè÷åñêîé íàóêå — ãåíåòèêå èñïîëüçóåòñÿ ïîíÿòèå íàñëåäñòâåííîé èíôîðìàöèè, çàëîæåííîé â ñòðóêòóðå ìîëåêóë ÄÍÊ (ðèñ. 1.3), ïðèñóòñòâóþùèõ â ÿäðàõ êëåòîê æèâûõ îðãàíèçìîâ (ðàñòåíèé, æèâîòíûõ). Ãåíåòèêà äîêàçàëà, ÷òî ýòà ñòðóêòóðà ÿâëÿåòñÿ ñâîåîáðàçíûì êîäîì, îïðåäåëÿþùèì ôóíêöèîíèðîâàíèå âñåãî îðãàíèçìà: åãî ðîñò, ðàçâèòèå, ïàòîëîãèè è ïð. ×åðåç ìîëåêóëû ÄÍÊ ïðîèñõîäèò ïåðåäà÷à íàñëåäñòâåííîé èíôîðìàöèè îò ïîêîëåíèÿ ê ïîêîëåíèþ. Âàæíåéøèì íàó÷íûì è òåõíè÷åñêèì äîñòèæåíèåì ÕÕ âåêà ñòàëî ñîçäàíèå ÝÂÌ (êîìïüþòåðà). Êîìïüþòåð — óíèâåðñàëüíûé ïðîãðàììíî


1.1. Èíôîðìàòèêà è èíôîðìàöèÿ

11

Ðèñ. 1.3. Ìîëåêóëà ÄÍÊ

óïðàâëÿåìûé àâòîìàò äëÿ ðàáîòû ñ èíôîðìàöèåé. Êîìïüþòåð ïîìîãàåò ÷åëîâåêó õðàíèòü áîëüøèå îáú¸ìû èíôîðìàöèè, áûñòðî âûïîëíÿòü å¸ îáðàáîòêó, ïðèíèìàòü èíôîðìàöèþ è ïåðåäàâàòü å¸ íà áîëüøèå ðàññòîÿíèÿ.  êîìïüþòåðå èíôîðìàöèÿ õðàíèòñÿ è îáðàáàòûâàåòñÿ â âèäå äâîè÷íûõ êîäîâ. Ïîíÿòèå èíôîðìàöèè ñâÿçûâàþò ñî ñìûñëîì, ñ ñîäåðæàíèåì äâîè÷íûõ êîäîâ, à ïîíèìàòü ñìûñë ìîæåò òîëüêî ÷åëîâåê. Êîìïüþòåð æå ôîðìàëüíî õðàíèò, ïåðåäà¸ò, ïðèíèìàåò è îáðàáàòûâàåò êîäû ïî ïðîãðàììå, ñîñòàâëåííîé ÷åëîâåêîì. Ïîýòîìó êîððåêòíåå íàçûâàòü äâîè÷íûå êîäû, ñ êîòîðûìè ðàáîòàåò êîìïüþòåð, íå èíôîðìàöèåé, à äàííûìè.  èíôîðìàöèþ ýòè äàííûå ïðåîáðàçóþòñÿ ëèøü â ÷åëîâå÷åñêîì ñîçíàíèè. Ôèëîñîôñêèå êîíöåïöèè èíôîðìàöèè Ïîíÿòèå èíôîðìàöèè îòíîñèòñÿ ê ÷èñëó ôóíäàìåíòàëüíûõ, ò. å. ÿâëÿåòñÿ îñíîâîïîëàãàþùèì äëÿ íàóêè è íå îáúÿñíÿåòñÿ ÷åðåç äðóãèå ïîíÿòèÿ.  ýòîì ñìûñëå èíôîðìàöèÿ âñòàåò â îäèí ðÿä ñ òàêèìè ôóíäàìåíòàëüíûìè íàó÷íûìè ïîíÿòèÿìè, êàê âåùåñòâî, ýíåðãèÿ, ïðîñòðàíñòâî, âðåìÿ. Îñìûñëåíèåì ïîíÿòèÿ èíôîðìàöèè êàê ôóíäàìåíòàëüíîãî ïîíÿòèÿ çàíèìàåòñÿ íàóêà ôèëîñîôèÿ. Ñîãëàñíî îäíîé èç ôèëîñîôñêèõ êîíöåïöèé, èíôîðìàöèÿ ÿâëÿåòñÿ ñâîéñòâîì âñåãî ñóùåãî, âñåõ ìàòåðèàëüíûõ îáúåêòîâ ìèðà. Òàêàÿ êîíöåïöèÿ èíôîðìàöèè íàçûâàåòñÿ àòðèáóòèâíîé: èíôîðìàöèÿ — àòðèáóò ìàòåðèè âî âñåõ å¸ ôîðìàõ è âèäàõ. Èíôîðìàöèÿ â ìèðå âîçíèêëà âìåñòå ñî Âñåëåííîé. Äðóãóþ ôèëîñîôñêóþ êîíöåïöèþ èíôîðìàöèè íàçûâàþò ôóíêöèîíàëüíîé. Ñîãëàñíî ôóíêöèîíàëüíîìó ïîäõîäó, èíôîðìàöèÿ ïîÿâèëàñü ëèøü ñ âîçíèêíîâåíèåì æèçíè, òàê êàê ñâÿçàíà ñ ôóíêöèîíèðîâàíèåì ñëîæíûõ ñàìîîðãàíèçóþùèõñÿ ñèñòåì, ê êîòîðûì îòíîñÿòñÿ æèâûå îðãàíèçìû è ÷åëîâå÷åñêîå îáùåñòâî. Ìîæíî åù¸ ñêàçàòü òàê: èíôîðìàöèÿ — ýòî àòðèáóò, ñâîéñòâåííûé òîëüêî æèâîé ïðèðîäå. Ýòî îäèí èç ïðèçíàêîâ, îòäåëÿþùèõ â ïðèðîäå æèâîå îò íåæèâîãî. Òðåòüÿ ôèëîñîôñêàÿ êîíöåïöèÿ èíôîðìàöèè — àíòðîïîöåíòðè÷åñêàÿ, ñîãëàñíî êîòîðîé èíôîðìàöèÿ ñóùåñòâóåò ëèøü â ÷åëîâå÷åñêîì ñîçíàíèè, â ÷åëîâå÷åñêîì âîñïðèÿòèè. Èíôîðìàöèîííàÿ äåÿòåëüíîñòü ïðèñóùà òîëüêî ÷åëîâåêó, ïðîèñõîäèò â ñîöèàëüíûõ ñèñòåìàõ.


12

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Ñèñòåìà îñíîâíûõ ïîíÿòèé Èíôîðìàòèêà è èíôîðìàöèÿ Èíôîðìàòèêà — ýòî íàóêà îá èíôîðìàöèè è èíôîðìàöèîííûõ ïðîöåññàõ, ïðîòåêàþùèõ â ñèñòåìàõ ðàçëè÷íîé ïðèðîäû, à òàêæå î ñïîñîáàõ èõ àâòîìàòèçàöèè ñ èñïîëüçîâàíèåì êîìïüþòåðíîé òåõíèêè Ïîíÿòèå èíôîðìàöèè â ðàçëè÷íûõ íàóêàõ Ôèëîñîôèÿ

Àòðèáóòèâíàÿ êîíöåïöèÿ: èíôîðìàöèÿ — âñåîáùåå ñâîéñòâî (àòðèáóò) ìàòåðèè Ôóíêöèîíàëüíàÿ êîíöåïöèÿ: èíôîðìàöèÿ è èíôîðìàöèîííûå ïðîöåññû ïðèñóùè òîëüêî æèâîé ïðèðîäå, ÿâëÿþòñÿ å¸ ôóíêöèåé Àíòðîïîöåíòðè÷åñêàÿ êîíöåïöèÿ: èíôîðìàöèÿ è èíôîðìàöèîííûå ïðîöåññû ïðèñóùè òîëüêî ÷åëîâåêó

Òåîðèÿ èíôîðìàöèè

Âîçíèêëà â ïðîöåññå ðàçâèòèÿ òåîðèè ñâÿçè (Ê. Øåííîí)

Èíôîðìàöèÿ ïåðåäà¸òñÿ ïîñðåäñòâîì ïîñëåäîâàòåëüíîñòåé ñèãíàëîâ

Êèáåðíåòèêà

Èññëåäóåò èíôîðìàöèîííûå ïðîöåññû â ñèñòåìàõ óïðàâëåíèÿ (Í. Âèíåð)

Èíôîðìàöèÿ ïåðåäà¸òñÿ ïîñðåäñòâîì ñèãíàëîâ ïî êàíàëàì ñâÿçè â ñèñòåìàõ óïðàâëåíèÿ

Âû÷èñëèòåëüíàÿ òåõíèêà

Ðàçðàáîòêà êîìïüþòåðîâ — ïðîãðàììíî óïðàâëÿåìûõ àâòîìàòè÷åñêèõ óñòðîéñòâ äëÿ ðàáîòû ñ èíôîðìàöèåé

Èíôîðìàöèÿ — ñîäåðæàíèå, çàêîäèðîâàííîå äàííûìè (äâîè÷íûìè êîäàìè) â ïàìÿòè êîìïüþòåðà

Íåéðîôèçèîëîãèÿ

Èçó÷àåò èíôîðìàöèîííûå ïðîöåññû â ìåõàíèçìàõ íåðâíîé äåÿòåëüíîñòè æèâîòíîãî è ÷åëîâåêà

Èíôîðìàöèÿ ïåðåäà¸òñÿ ïîñðåäñòâîì ñèãíàëîâ ýëåêòðîõèìè÷åñêîé ïðèðîäû ïî ñèñòåìå íåðâíûõ ñâÿçåé îðãàíèçìà

Ãåíåòèêà

Èçó÷àåò ìåõàíèçìû íàñëåäñòâåííîñòè, ïîëüçóåòñÿ ïîíÿòèåì «íàñëåäñòâåííàÿ èíôîðìàöèÿ»

Èíôîðìàöèÿ çàêîäèðîâàíà ãåíåòè÷åñêèì êîäîì — ñòðóêòóðîé ìîëåêóë ÄÍÊ, âõîäÿùèõ â ñîñòàâ êëåòêè æèâîãî îðãàíèçìà

Âîïðîñû è çàäàíèÿ 1. Êàêèå ñóùåñòâóþò îñíîâíûå ôèëîñîôñêèå êîíöåïöèè èíôîðìàöèè? 2. Êàêàÿ, ñ âàøåé òî÷êè çðåíèÿ, êîíöåïöèÿ ÿâëÿåòñÿ íàèáîëåå âåðíîé? 3. Áëàãîäàðÿ ðàçâèòèþ êàêèõ íàóê ïîíÿòèå èíôîðìàöèè ñòàëî øèðîêî óïîòðåáëÿåìûì? 4.  êàêèõ áèîëîãè÷åñêèõ íàóêàõ àêòèâíî èñïîëüçóåòñÿ ïîíÿòèå èíôîðìàöèè?


1.2.1. Àëôàâèòíûé ïîäõîä ê èçìåðåíèþ èíôîðìàöèè

13

5. ×òî òàêîå íàñëåäñòâåííàÿ èíôîðìàöèÿ? 6. Ê êàêîé ôèëîñîôñêîé êîíöåïöèè, íà âàø âçãëÿä, áëèæå óïîòðåáëåíèå ïîíÿòèÿ èíôîðìàöèè â ãåíåòèêå? 7. Åñëè ïîä èíôîðìàöèåé ïîíèìàòü ëèøü òîëüêî òî, ÷òî ðàñïðîñòðàíÿåòñÿ ÷åðåç êíèãè, ðóêîïèñè, ïðîèçâåäåíèÿ èñêóññòâà, ñðåäñòâà ÑÌÈ, òî ê êàêîé ôèëîñîôñêîé êîíöåïöèè èíôîðìàöèþ ìîæíî áóäåò îòíåñòè? 8. ×òî ìû ïîíèìàåì ïîä èíôîðìàöèåé â áûòîâîì ñìûñëå? 9. Ìîæåò ëè áûòü òàêîå, ÷òî êîìïüþòåðíûå äàííûå íå íåñóò â ñåáå èíôîðìàöèþ? Åñëè äà, òî îïèøèòå òàêóþ ñèòóàöèþ.

1.2. Èçìåðåíèå èíôîðìàöèè Èíôîðìàöèîííàÿ äåÿòåëüíîñòü ëþäåé ñâÿçàíà ñ ðåàëèçàöèåé èíôîðìàöèîííûõ ïðîöåññîâ: ñ õðàíåíèåì, ïåðåäà÷åé è îáðàáîòêîé èíôîðìàöèè. Ïðè ýòîì âàæíî óìåòü èçìåðÿòü êîëè÷åñòâî èíôîðìàöèè. Äëÿ èçìåðåíèÿ ÷åãî-ëèáî äîëæíà áûòü îïðåäåëåíà åäèíèöà èçìåðåíèÿ. Íàïðèìåð, åäèíèöåé èçìåðåíèÿ ìàññû ñëóæèò êèëîãðàìì, åäèíèöåé èçìåðåíèÿ âðåìåíè — ñåêóíäà, åäèíèöåé èçìåðåíèÿ ðàññòîÿíèÿ — ìåòð. Èç êóðñà ôèçèêè âû çíàåòå, ÷òî ñóùåñòâóþò ýòàëîíû äëÿ ýòèõ åäèíèö. Êàê èçìåðèòü èíô��ðìàöèþ? Ýòî ñäåëàòü ñëîæíåå, òàê êàê íåò å¸ óíèâåðñàëüíîãî îïðåäåëåíèÿ. Ñóùåñòâóþò äâà ïîäõîäà ê èçìåðåíèþ èíôîðìàöèè. Ïåðâûé ïîäõîä îòòàëêèâàåòñÿ îò ïðàêòè÷åñêèõ íóæä õðàíåíèÿ è ïåðåäà÷è èíôîðìàöèè â òåõíè÷åñêèõ ñèñòåìàõ è íå ñâÿçàí ñî ñìûñëîì (ñîäåðæàíèåì) èíôîðìàöèè. Âòîðîé æå ïîäõîä ðàññìàòðèâàåò âîñïðèÿòèå èíôîðìàöèè ÷åëîâåêîì è ïîýòîìó èìååò äåëî ñî ñìûñëîì èíôîðìàöèè. Ðàññìîòðèì ïîäðîáíåå ñóòü ýòèõ ïîäõîäîâ.

1.2.1

Àëôàâèòíûé ïîäõîä ê èçìåðåíèþ èíôîðìàöèè

Àëôàâèòíûé ïîäõîä ê èçìåðåíèþ èíôîðìàöèè ïðèìåíÿåòñÿ â öèôðîâûõ (êîìïüþòåðíûõ) ñèñòåìàõ õðàíåíèÿ è ïåðåäà÷è èíôîðìàöèè.  ýòèõ ñèñòåìàõ èñïîëüçóåòñÿ äâîè÷íûé ñïîñîá êîäèðîâàíèÿ èíôîðìàöèè. Àëôàâèòíûé ïîäõîä åùå íàçûâàþò îáú¸ìíûì ïîäõîäîì. Ïðè àëôàâèòíîì ïîäõîäå äëÿ îïðåäåëåíèÿ êîëè÷åñòâà èíôîðìàöèè èìååò çíà÷åíèå ëèøü ðàçìåð (îáú¸ì) õðàíèìîãî è ïåðåäàâàåìîãî êîäà. Èç êóðñà èíôîðìàòèêè 8–9 êëàññîâ âû çíàåòå, ÷òî åñëè ñ ïîìîùüþ i-ðàçðÿäíîãî äâîè÷íîãî êîäà ìîæíî çàêîäèðîâàòü àëôàâèò, ñîñòîÿùèé èç N ñèìâîëîâ (ãäå N — öåëàÿ ñòåïåíü äâîéêè), òî ýòè âåëè÷èíû ñâÿçàíû ìåæäó ñîáîé ïî ôîðìóëå: 2i = N. ×èñëî N íàçûâàåòñÿ ìîùíîñòüþ àëôàâèòà.


14

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Åñëè, íàïðèìåð, i = 2, òî ìîæíî ïîñòðîèòü 4 äâóõðàçðÿäíûå êîìáèíàöèè èç íóëåé è åäèíèö, ò. å. çàêîäèðîâàòü 4 ñèìâîëà. Ïðè i = 3 ñóùåñòâóåò 8 òð¸õðàçðÿäíûõ êîìáèíàöèé íóëåé è åäèíèö (êîäèðóåòñÿ 8 ñèìâîëîâ): i = 2:

00

01

10

11

i = 3:

000

001

010

011

100

101

110

111

Àíãëèéñêèé àëôàâèò ñîäåðæèò 26 áóêâ. Äëÿ çàïèñè òåêñòà íóæíû åù¸ êàê ìèíèìóì øåñòü ñèìâîëîâ: ïðîáåë, òî÷êà, çàïÿòàÿ, âîïðîñèòåëüíûé çíàê, âîñêëèöàòåëüíûé çíàê, òèðå.  ñóììå ïîëó÷àåòñÿ ðàñøèðåííûé àëôàâèò ìîùíîñòüþ â 32 ñèìâîëà. Ïîñêîëüêó 32 = 25, ïîñòîëüêó âñå ñèìâîëû ìîæíî çàêîäèðîâàòü âñåâîçìîæíûìè ïÿòèðàçðÿäíûìè äâîè÷íûìè êîäàìè îò 00000 äî 11111. Èìåííî ïÿòèðàçðÿäíûé êîä èñïîëüçîâàëñÿ â òåëåãðàôíûõ àïïàðàòàõ, ïîÿâèâøèõñÿ åùå â XIX âåêå. Òåëåãðàôíûé àïïàðàò ïðè ââîäå ïåðåâîäèë àíãëèéñêèé òåêñò â äâîè÷íûé êîä, äëèíà êîòîðîãî â 5 ðàç áîëüøå, ÷åì äëèíà èñõîäíîãî òåêñòà.  äâîè÷íîì êîäå êàæäàÿ äâîè÷íàÿ öèôðà íåñ¸ò îäíó åäèíèöó èíôîðìàöèè, êîòîðàÿ íàçûâàåòñÿ 1 áèò.

Áèò ÿâëÿåòñÿ îñíîâíîé åäèíèöåé èçìåðåíèÿ èíôîðìàöèè. Äëèíà äâîè÷íîãî êîäà, ñ ïîìîùüþ êîòîðîãî êîäèðóåòñÿ ñèìâîë àëôàâèòà, íàçûâàåòñÿ èíôîðìàöèîííûì âåñîì ñèìâîëà.  ðàññìîòðåííîì âûøå ïðèìåðå èíôîðìàöèîííûé âåñ ñèìâîëà ðàñøèðåííîãî àíãëèéñêîãî àëôàâèòà îêàçàëñÿ ðàâíûì 5 áèòàì. Èíôîðìàöèîííûé îáú¸ì òåêñòà ñêëàäûâàåòñÿ èç èíôîðìàöèîííûõ âåñîâ âñåõ ñîñòàâëÿþùèõ òåêñò ñèìâîëîâ. Íàïðèìåð, àíãëèéñêèé òåêñò èç 1000 ñèìâîëîâ â òåëåãðàôíîì ñîîáùåíèè áóäåò èìåòü èíôîðìàöèîííûé îáúåì 5000 áèòîâ. Àëôàâèò ðóññêîãî ÿçûêà âêëþ÷àåò 33 áóêâû. Åñëè ê íåìó äîáàâèòü åù¸ ïðîáåë è ïÿòü çíàêîâ ïðåïèíàíèÿ, òî ïîëó÷èòñÿ íàáîð èç 39 ñèìâîëîâ. Äëÿ äâîè÷íîãî êîäèðîâàíèÿ ñèìâîëîâ òàêîãî àëôàâèòà ïÿòèðàçðÿäíîãî êîäà óæå íåäîñòàòî÷íî. Íóæåí, êàê ìèíèìóì, 6-ðàçðÿäíûé êîä. Ïîñêîëüêó 26 = 64, òî îñòà¸òñÿ åù¸ ðåçåðâ äëÿ 25 ñèìâîëîâ (64 – 39 = 25). Åãî ìîæíî èñïîëüçîâàòü äëÿ êîäèðîâàíèÿ öèôð, âñåâîçìîæíûõ ñêîáîê, çíàêîâ ìàòåìàòè÷åñêèõ îïåðàöèé è äðóãèõ ñèìâîëîâ, âñòðå÷àþùèõñÿ â ðóññêîì òåêñòå. Ñëåäîâàòåëüíî, èíôîðìàöèîííûé âåñ ñèìâîëà â ðàñøèðåííîì ðóññêîì àëôàâèòå áóäåò ðàâåí 6 áèòàì. À òåêñò èç 1000 ñèìâîëîâ áóäåò èìåòü îáú¸ì 6000 áèòîâ.


1.2.1. Àëôàâèòíûé ïîäõîä ê èçìåðåíèþ èíôîðìàöèè

15

Èòàê, åñëè i — èíôîðìàöèîííûé âåñ ñèìâîëà àëôàâèòà, à K — êîëè÷åñòâî ñèìâîëîâ â òåêñòå, çàïèñàííîì ñ ïîìîùüþ ýòîãî àëôàâèòà, òî èíôîðìàöèîííûé îáú¸ì I òåêñòà âûðàæàåòñÿ ôîðìóëîé: I = K ´ i (áèòîâ).

À. Í. Êîëìîãîðîâ (1903–1987)

Èäåÿ èçìåðåíèÿ êîëè÷åñòâà èíôîðìàöèè â ñîîáùåíèè ÷åðåç äëèíó äâîè÷íîãî êîäà ýòîãî ñîîáùåíèÿ ïðèíàäëåæèò âûäàþùåìóñÿ ðîññèéñêîìó ìàòåìàòèêó Àíäðåþ Íèêîëàåâè÷ó Êîëìîãîðîâó. Ñîãëàñíî Êîëìîãîðîâó, êîëè÷åñòâî èíôîðìàöèè, ñîäåðæàùååñÿ â òåêñòå, îïðåäåëÿåòñÿ ìèíèìàëüíî âîçìîæíîé äëèíîé äâîè÷íîãî êîäà, íåîáõîäèìîãî äëÿ ïðåäñòàâëåíèÿ ýòîãî òåêñòà.

Äëÿ îïðåäåëåíèÿ èíôîðìàöèîííîãî âåñà ñèìâîëà ïîëåçíî çíàòü ðÿä öåëûõ ñòåïåíåé äâîéêè. Âîò êàê îí âûãëÿäèò â äèàïàçîíå îò 21 äî 210: i i

2

1

2

3

4

5

6

7

8

9

10

2

4

8

16

32

64

128

256

512

1024

Ïîñêîëüêó ìîùíîñòü N àëôàâèòà ìîæåò íå ÿâëÿòüñÿ öåëîé ñòåïåíüþ äâîéêè, òî èíôîðìàöèîííûé âåñ ñèìâîëà àëôàâèòà ìîùíîñòè N îïðåäåëÿåòñÿ ñëåäóþùèì îáðàçîì. Íàõîäèòñÿ áëèæàéøåå ê N çíà÷åíèå âî âòîðîé ñòðîêå òàáëèöû, íå ìåíüøåå ÷åì N. Ñîîòâåòñòâóþùåå çíà÷åíèå i â ïåðâîé ñòðîêå áóäåò ðàâíî èíôîðìàöèîííîìó âåñó ñèìâîëà. Ïðèìåð. Îïðåäåëèì èíôîðìàöèîííûé âåñ ñèìâîëà àëôàâèòà, âêëþ÷àþùåãî â ñåáÿ âñå ñòðî÷íûå è ïðîïèñíûå ðóññêèå áóêâû (66); öèôðû (10); çíàêè ïðåïèíàíèÿ, ñêîáêè, êàâû÷êè (10). Âñåãî ïîëó÷àåòñÿ 86 ñèìâîëîâ. Ïîñêîëüêó 26 < 86 < 27, èíôîðìàöèîííûé âåñ ñèìâîëîâ äàííîãî àëôàâèòà ðàâåí 7 áèòàì. Ýòî îçíà÷àåò, ÷òî âñå 86 ñèìâîëîâ ìîæíî çàêîäèðîâàòü ñåìèðàçðÿäíûìè äâîè÷íûìè êîäàìè. Äëÿ äâîè÷íîãî ïðåäñòàâëåíèÿ òåêñòîâ â êîìïüþòåðå ÷àùå âñåãî ïðèìåíÿåòñÿ âîñüìèðàçðÿäíûé êîä. Ñ ïîìîùüþ âîñüìèðàçðÿäíîãî êîäà ìîæíî çàêîäèðîâàòü àëôàâèò èç 256 ñèìâîëîâ, ïîñêîëüêó 256 = 28.  ñòàíäàðòíóþ êîäîâóþ òàáëèöó (íàïðèìåð, èñïîëüçóåìóþ â ÎÑ Windows òàáëèöó ANSI) ïîìåùàþòñÿ âñå íåîáõîäèìûå ñèìâîëû: àíãëèéñêèå è ðóññêèå áóêâû — ïðîïèñíûå è ñòðî÷íûå, öèôðû, çíàêè ïðåïèíàíèÿ, çíàêè àðèôìåòè÷åñêèõ îïåðàöèé, âñåâîçìîæíûå ñêîáêè è ïð. Áîëåå êðóïíîé, ÷åì áèò, åäèíèöåé èçìåðåíèÿ èíôîðìàöèè ÿâëÿåòñÿ áàéò: 1 áàéò = 8 áèòîâ. Èíôîðìàöèîííûé îáú¸ì òåêñòà â ïàìÿòè êîìïüþòåðà èçìåðÿåòñÿ â áàéòàõ. Îí ðàâåí êîëè÷åñòâó ñèìâîëîâ â çàïèñè òåêñòà.


16

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Îäíà ñòðàíèöà òåêñòà íà ëèñòå ôîðìàòà À4 êåãëÿ 12 ñ îäèíàðíûì èíòåðâàëîì ìåæäó ñòðîêàìè â êîìïüþòåðíîì ïðåäñòàâëåíèè áóäåò èìåòü îáú¸ì 4000 áàéòîâ, òàê êàê íà íåé ïîìåùàåòñÿ ïðèìåðíî 4000 çíàêîâ. Ïîìèìî áèòà è áàéòà, äëÿ èçìåðåíèÿ èíôîðìàöèè èñïîëüçóþòñÿ è áîëåå êðóïíûå åäèíèöû: 1 1 1 1

Êá (êèëîáàéò) Ìá (ìåãàáàéò) Ãá (ãèãàáàéò) Òá (òåðàáàéò)

= 210áàéòîâ = 210 Êá = 210 Ìá = 210Ãá

= = = =

1024 áàéòà; 1024 Êá; 1024 Ìá; 1024 Ãá.

Îáú¸ì òîé æå ñòðàíèöû òåêñòà áóäåò ðàâåí ïðèáëèçèòåëüíî 3,9 Êá. À êíèãà èç 500 òàêèõ ñòðàíèö çàéì¸ò â ïàìÿòè êîìïüþòåðà ïðèìåðíî 1,9 Ìá.  êîìïüþòåðå ëþáûå âèäû èíôîðìàöèè: òåêñòû, ÷èñëà, èçîáðàæåíèÿ, çâóê — ïðåäñòàâëÿþòñÿ â ôîðìå äâîè÷íîãî êîäà. Îáú¸ì èíôîðìàöèè ëþáîãî âèäà, âûðàæåííûé â áèòàõ, ðàâåí äëèíå äâîè÷íîãî êîäà, â êîòîðîì ýòà èíôîðìàöèÿ ïðåäñòàâëåíà.

Ñèñòåìà îñíîâíûõ ïîíÿòèé Èçìåðåíèå èíôîðìàöèè — àëôàâèòíûé (îáú¸ìíûé ) ïîäõîä Ïðèìåíÿåòñÿ â öèôðîâûõ ñèñòåìàõ õðàíåíèÿ è ïåðåäà÷è èíôîðìàöèè Îáú¸ì èíôîðìàöèè ðàâåí äëèíå äâîè÷íîãî êîäà Îñíîâíàÿ åäèíèöà: 1 áèò — îäèí ðàçðÿä äâîè÷íîãî êîäà Èíôîðìàöèîííûé âåñ ñèìâîëà (i áèòîâ) àë- Èíôîðìàöèîííûé îáú¸ì I òåêñòà, ôàâèòà ìîùíîñòüþ N îïðåäåëÿåòñÿ èç óðàâ- ñîäåðæàùåãî K ñèìâîëîâ: íåíèÿ: I = K · i áèòîâ, ãäå i — èíôîðìàöèi 2 = M, ãäå M — áëèæàéøàÿ ê N ñâåðõó öåëàÿ îííûé âåñ îäíîãî ñèìâîëà ñòåïåíü äâîéêè Ïðîèçâîäíûå åäèíèöû Áàéò Êèëîáàéò (Êá) Ìåãàáàéò (Ìá) Ãèãàáàéò (Ãá) Òåðàáàéò (Òá) 1 áàéò = 8 áèòîâ 1 Êá = 1024 áàéò 1 Ìá = 1024 Êá 1 Ãá = 1024 Ìá 1 Òá = 1024 Ìá

Âîïðîñû è çàäàíèÿ 1. Åñòü ëè ñâÿçü ìåæäó àëôàâèòíûì ïîäõîäîì ê èçìåðåíèþ èíôîðìàöèè è ñîäåðæàíèåì èíôîðìàöèè? 2.  ÷åì ìîæíî èçìåðèòü îáú¸ì ïèñüìåííîãî èëè ïå÷àòíîãî òåêñòà? þ 3. Îöåíèòå îáú¸ì îäíîé ñòðàíèöû äàííîãî ó÷åáíèêà â áàéòàõ.


1.2.2. Ñîäåðæàòåëüíûé ïîäõîä ê èçìåðåíèþ èíôîðìàöèè

4. 5. 6. 7.

þ 8. þ 9. þ10. 11.

17

×òî òàêîå áèò ñ ïîçèöèè àëôàâèòíîãî ïîäõîäà ê èçìåðåíèþ èíôîðìàöèè? Êàê îïðåäåëÿåòñÿ èíôîðìàöèîííûé îáú¸ì òåêñòà ïî À. Í. Êîëìîãîðîâó? Êàêîé èíôîðìàöèîííûé âåñ èìååò êàæäàÿ áóêâà ðóññêîãî àëôàâèòà? Êàêèå åäèíèöû èñïîëüçóþòñÿ äëÿ èçìåðåíèÿ îáú¸ìà èíôîðìàöèè íà êîìïüþòåðíûõ íîñèòåëÿõ? Ñîîáùåíèå, çàïèñàííîå áóêâàìè èç 64-ñèìâîëüíîãî àëôàâèòà, ñîäåðæèò 100 ñèìâîëîâ. Êàêîé îáú¸ì èíôîðìàöèè îíî íåñ¸ò? Ñêîëüêî ñèìâîëîâ ñîäåðæèò ñîîáùåíèå, çàïèñàííîå ñ ïîìîùüþ 16-ñèìâîëüíîãî àëôàâèòà, åñëè åãî îáú¸ì ñîñòàâëÿåò 1/16 Ìá? Ñîîáùåíèå çàíèìàåò 2 ñòðàíèöû è ñîäåðæèò 1/16 Êá èíôîðìàöèè. Íà êàæäîé ñòðàíèöå 256 ñèìâîëîâ. Êàêîâà ìîùíîñòü èñïîëüçóåìîãî àëôàâèòà? Âîçüìèòå ñòðàíèöó òåêñòà èç äàííîãî ó÷åáíèêà è ïîäñ÷èòàéòå èíôîðìàöèîííûå îáú¸ìû òåêñòà, ïîëó÷àåìûå ïðè êîäèðîâàíèè åãî ñåìèðàçðÿäíûì êîäîì è âîñüìèðàçðÿäíûì êîäîì. Ðåçóëüòàòû âûðàçèòå â êèëîáàéòàõ è ìåãàáàéòàõ.

1.2.2

Ñîäåðæàòåëüíûé ïîäõîä ê èçìåðåíèþ èíôîðìàöèè

Íåîïðåäåë¸ííîñòü çíàíèÿ è êîëè÷åñòâî èíôîðìàöèè Ñîäåðæàòåëüíûé ïîäõîä ê èçìåðåíèþ èíôîðìàöèè îòòàëêèâàåòñÿ îò îïðåäåëåíèÿ èíôîðìàöèè êàê ñîäåðæàíèÿ ñîîáùåíèÿ, ïîëó÷àåìîãî ÷åëîâåêîì. Ñóùíîñòü ñîäåðæàòåëüíîãî ïîäõîäà çàêëþ÷àåòñÿ â ñëåäóþùåì: ñîîáùåíèå, èíôîðìèðóþùåå îá èñõîäå êàêîãî-òî ñîáûòèÿ, ñíèìàåò íåîïðåäåë¸ííîñòü çíàíèÿ ÷åëîâåêà îá ýòîì ñîáûòèè. ×åì áîëüøå ïåðâîíà÷àëüíàÿ íåîïðåäåë¸ííîñòü çíàíèÿ, òåì áîëüøå èíôîðìàöèè íåñ¸ò ñîîáùåíèå, ñíèìàþùåå ýòó íåîïðåäåë¸ííîñòü. Ïðèâåäåì ïðèìåðû, èëëþñòðèðóþùèå äàííîå óòâåðæäåíèå. Ñèòóàöèÿ 1.  âàø êëàññ íàçíà÷åí íîâûé ó÷èòåëü èíôîðìàòèêè; íà âîïðîñ «Ýòî ìóæ÷èíà èëè æåíùèíà?» âàì îòâåòèëè: «Ìóæ÷èíà». Ñèòóàöèÿ 2. Íà ÷åìïèîíàòå ñòðàíû ïî ôóòáîëó èãðàëè êîìàíäû «Äèíàìî» è «Çåíèò». Èç ñïîðòèâíûõ íîâîñòåé ïî ðàäèî âû óçíàåòå, ÷òî èãðà çàêîí÷èëàñü ïîáåäîé «Çåíèòà». Ñèòóàöèÿ 3. Íà âûáîðàõ ìýðà ãîðîäà áûëî ïðåäñòàâëåíî ÷åòûðå êàíäèäàòà. Ïîñëå ïîäâåäåíèÿ èòîãîâ ãîëîñîâàíèÿ âû óçíàëè, ÷òî èçáðàí Í. Í. Íèêèòèí. Âîïðîñ: â êàêîé èç òð¸õ ñèòóàöèé ïîëó÷åííîå ñîîáùåíèå íåñ¸ò áîëüøå èíôîðìàöèè? Íåîïðåäåë¸ííîñòü çíàíèÿ — ýòî êîëè÷åñòâî âîçìîæíûõ âàðèàíòîâ îòâåòà íà èíòåðåñîâàâøèé âàñ âîïðîñ. Åù¸ ìîæíî ñêàçàòü: âîçìîæíûõ èñõîäîâ ñîáûòèÿ. Çäåñü ñîáûòèå — íàïðèìåð, âûáîðû ìýðà; èñõîä — âûáîð, íàïðèìåð Í. Í. Íèêèòèíà.


18

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

 ïåðâîé ñèòóàöèè 2 âàðèàíòà îòâåòà: ìóæ÷èíà, æåíùèíà; âî âòîðîé ñèòóàöèè 3 âàðèàíòà: âûèãðàë «Çåíèò», íè÷üÿ, âûèãðàëî «Äèíàìî»; â òðåòüåé ñèòóàöèè — 4 âàðèàíòà: 4 êàíäèäàòà íà ïîñò ìýðà. Ñîãëàñíî äàííîìó âûøå îïðåäåëåíèþ, íàèáîëüøåå êîëè÷åñòâî èíôîðìàöèè íåñ¸ò ñîîáùåíèå â òðåòüåé ñèòóàöèè, ïîñêîëüêó íåîïðåäåë¸ííîñòü çíàíèÿ îá èñõîäå ñîáûòèÿ â ýòîì ñëó÷àå áûëà íàèáîëüøåé.

Êëîä Ýëâóä Øåííîí (1916–2001)

 40-õ ãîäàõ ÕÕ âåêà ïðîáëåìà èçìåðåíèÿ èíôîðìàöèè áûëà ðåøåíà àìåðèêàíñêèì ó÷¸íûì Êëîäîì Øåííîíîì — îñíîâàòåëåì òåîðèè èíôîðìàöèè. Ñîãëàñíî Øåííîíó, èíôîðìàöèÿ — ýòî ñíÿòàÿ íåîïðåäåë¸ííîñòü çíàíèÿ ÷åëîâåêà îá èñõîäå êàêîãî-òî ñîáûòèÿ.

 òåîðèè èíôîðìàöèè åäèíèöà èçìåðåíèÿ èíôîðìàöèè îïðåäåëÿåòñÿ ñëåäóþùèì îáðàçîì. Ñîîáùåíèå, óìåíüøàþùåå íåîïðåäåë¸ííîñòü çíàíèÿ îá èñõîäå íåêîòîðîãî ñîáûòèÿ â äâà ðàçà, íåñ¸ò 1 áèò èíôîðìàöèè. Ñîãëàñíî ýòîìó îïðåäåëåíèþ, ñîîáùåíèå â ïåðâîé èç îïèñàííûõ ñèòóàöèé íåñ¸ò 1 áèò èíôîðìàöèè, ïîñêîëüêó èç äâóõ âîçìîæíûõ âàðèàíòîâ îòâåòà áûë âûáðàí îäèí. Ñëåäîâàòåëüíî, êîëè÷åñòâî èíôîðìàöèè, ïîëó÷åííîå âî âòîðîé è â òðåòüåé ñèòóàöèÿõ, áîëüøå, ÷åì îäèí áèò. Íî êàê èçìåðèòü ýòî êîëè÷åñòâî? Ðàññìîòðèì åù¸ îäèí ïðèìåð. Ó÷åíèê íàïèñàë êîíòðîëüíóþ ïî èíôîðìàòèêå è ñïðàøèâàåò ó÷èòåëÿ î ïîëó÷åííîé îöåíêå. Îöåíêà ìîæåò îêàçàòüñÿ ëþáîé: îò 2 äî 5. Íà ÷òî ó÷èòåëü îòâå÷àåò: «Óãàäàé îöåíêó çà äâà âîïðîñà, îòâåòîì íà êîòîðûå ìîæåò áûòü òîëüêî "äà" èëè "íåò"». Ïîäóìàâ, ó÷åíèê çàäàë ïåðâûé âîïðîñ: «Îöåíêà âûøå òðîéêè?». «Äà», — îòâåòèë ó÷èòåëü. Âòîðîé âîïðîñ: «Ýòî ïÿòåðêà?». «Íåò», — îòâåòèë ó÷èòåëü. Ó÷åíèê ïîíÿë, ÷òî îí ïîëó÷èë ÷åòâ¸ðêó. Êàêàÿ áû íè áûëà îöåíêà, òàêèì ñïîñîáîì îíà áóäåò óãàäàíà! Ïåðâîíà÷àëüíî íåîïðåäåë¸ííîñòü çíàíèÿ (êîëè÷åñòâî âîçìîæíûõ îöåíîê) áûëà ðàâíà ÷åòûð¸ì. Ñ îòâåòîì íà êàæäûé âîïðîñ íåîïðåäåë¸ííîñòü çíàíèÿ óìåíüøàëàñü â 2 ðàçà è, ñëåäîâàòåëüíî, ñîãëàñíî äàííîìó âûøå îïðåäåëåíèþ îäíîãî áèòà, ïåðåäàâàëñÿ 1 áèò èíôîðìàöèè. Ïåðâîíà÷àëüíûå âàðèàíòû:

2

3

4

5

Âàðèàíòû, îñòàâøèåñÿ ïîñëå 1-ãî âîïðîñà: (1 áèò)

4

5

Âàðèàíò, îñòàâøèéñÿ ïîñëå 2-ãî âîïðîñà: (+1 áèò)

4

Óçíàâ îöåíêó (îäíó èç ÷åòûð¸õ âîçìîæíûõ), ó÷åíèê ïîëó÷èë 2 áèòà èíôîðìàöèè.


1.2.2. Ñîäåðæàòåëüíûé ïîäõîä ê èçìåðåíèþ èíôîðìàöèè

19

Ðàññìîòðèì åùå îäèí ÷àñòíûé ïðèìåð, à çàòåì âûâåäåì îáùåå ïðàâèëî. Âû åäåòå íà ýëåêòðîïîåçäå, â êîòîðîì 8 âàãîíîâ, à íà âîêçàëå âàñ âñòðå÷àåò òîâàðèù. Òîâàðèù ïîçâîíèë âàì ïî ìîáèëüíîìó òåëåôîíó è ñïðîñèë, â êàêîì âàãîíå âû åäåòå. Âû ïðåäëàãàåòå óãàäàòü íîìåð âàãîíà, çàäàâ íàèìåíüøåå êîëè÷åñòâî âîïðîñîâ, îòâåòàìè íà êîòîðûå ìîãóò áûòü òîëüêî ñëîâà «äà» èëè «íåò». Íåìíîãî ïîäóìàâ, òîâàðèù ñòàë ñïðàøèâàòü: — Íîìåð âàãîíà áîëüøå ÷åòûð¸õ? — Äà. — Íîìåð âàãîíà áîëüøå øåñòè? — Íåò. — Ýòî øåñòîé âàãîí? — Íåò. — Íó òåïåðü âñ¸ ÿñíî! Òû åäåøü â ïÿòîì âàãîíå! Ñõåìàòè÷åñêè ïîèñê íîìåðà âàãîíà âûãëÿäèò òàê: Ïåðâîíà÷àëüíûå âàðèàíòû:

1

2

3

4

5

6

7

8

Ïîñëå 1-ãî âîïðîñà (1 áèò):

5

6

7

8

Ïîñëå 2-ãî âîïðîñà (+1 áèò):

5

6

Ïîñëå 3-ãî âîïðîñà (+1 áèò):

5

Êàæäûé îòâåò óìåíüøàë íåîïðåäåë¸ííîñòü çíàíèÿ â äâà ðàçà. Âñåãî áûëî çàäàíî òðè âîïðîñà. Çíà÷èò, â ñóììå íàáðàíî 3 áèòà èíôîðìàöèè. Òî åñòü ñîîáùåíèå î òîì, ÷òî âû åäåòå â ïÿòîì âàãîíå, íåñ¸ò 3 áèòà èíôîðìàöèè. Ñïîñîá ðåøåíèÿ ïðîáëåìû, ïðèìåí¸ííûé â ïðèìåðàõ ñ îöåíêàìè è âàãîíàìè, íàçûâàåòñÿ ìåòîäîì ïîëîâèííîãî äåëåíèÿ: îòâåò íà êàæäûé âîïðîñ óìåíüøàåò íåîïðåäåë¸ííîñòü çíàíèÿ, èìåþùóþñÿ ïåðåä îòâåòîì íà ýòîò âîïðîñ, íàïîëîâèíó. Êàæäûé òàêîé îòâåò íåñ¸ò 1 áèò èíôîðìàöèè. Çàìåòèì, ÷òî ðåøåíèå ïîäîáíûõ ïðîáëåì ìåòîäîì ïîëîâèííîãî äåëåíèÿ íàèáîëåå ðàöèîíàëüíî. Òàêèì ñïîñîáîì âñåãäà ìîæíî óãàäàòü, íàïðèìåð, ëþáîé èç âîñüìè âàðèàíòîâ çà 3 âîïðîñà. Åñëè áû ïîèñê ïðîèçâîäèëñÿ ïîñëåäîâàòåëüíûì ïåðåáîðîì: «Òû åäåøü â ïåðâîì âàãîíå?» «Íåò», «Âî âòîðîì âàãîíå?» «Íåò» è ò. ä., òî ïðî ïÿòûé âàãîí âû ñìîãëè áû óçíàòü ïîñëå ïÿòè âîïðîñîâ, à ïðî âîñüìîé — ïîñëå âîñüìè. «Ãëàâíàÿ ôîðìóëà» èíôîðìàòèêè Ñôîðìóëèðóåì îäíî î÷åíü âàæíîå óñëîâèå, îòíîñÿùååñÿ ê ðàññìîòðåííûì ïðèìåðàì. Âî âñåõ ñèòóàöèÿõ ïðåäïîëàãàåòñÿ, ÷òî âñå âîçìîæíûå èñõîäû ñîáûòèÿ ðàâíîâåðîÿòíû. Ðàâíîâåðîÿòíî, ÷òî ó÷èòåëü ìîæåò áûòü ìóæ÷èíîé èëè æåíùèíîé; ðàâíîâåðîÿòåí ëþáîé èñõîä ôóòáîëüíîãî ìàò÷à, ðàâíîâåðîÿòåí âûáîð îäíîãî èç ÷åòûð¸õ êàíäèäàòîâ â ìýðû ãîðîäà. Òî æå îòíîñèòñÿ è ê ïðèìåðàì ñ îöåíêàìè è âàãîíàìè.


20

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Òîãäà ïîëó÷åííûå íàìè ðåçóëüòàòû îïèñûâàþòñÿ ñëåäóþùèìè ôîðìóëèðîâêàìè: l ñîîáùåíèå îá îäíîì èç äâóõ ðàâíîâåðîÿòíûõ èñõîäîâ íåêîòîðîãî ñîáûòèÿ íåñ¸ò 1 áèò èíôîðìàöèè; l ñîîáùåíèå îá îäíîì èç ÷åòûð¸õ ðàâíîâåðîÿòíûõ èñõîäîâ íåêîòîðîãî ñîáûòèÿ íåñ¸ò 2 áèòà èíôîðìàöèè; l ñîîáùåíèå îá îäíîì èç âîñüìè ðàâíîâåðîÿòíûõ èñõîäîâ íåêîòîðîãî ñîáûòèÿ íåñ¸ò 3 áèòà èíôîðìàöèè. Îáîçíà÷èì áóêâîé N êîëè÷åñòâî âîçìîæíûõ èñõîäîâ ñîáûòèÿ, èëè, êàê ìû ýòî åù¸ íàçûâàëè, — íåîïðåäåë¸ííîñòü çíàíèÿ. Áóêâîé i áóäåì îáîçíà÷àòü êîëè÷åñòâî èíôîðìàöèè â ñîîáùåíèè îá îäíîì èç N ðåçóëüòàòîâ.  ïðèìåðå ñ ó÷èòåëåì: â ïðèìåðå ñ îöåíêàìè: â ïðèìåðå ñ âàãîíàìè:

N = 2 , i = 1 áèò; N = 4 , i = 2 áèòà; N = 8 , i = 3 áèòà.

Íåòðóäíî çàìåòèòü, ÷òî ñâÿçü ìåæäó ýòèìè âåëè÷èíàìè âûðàæàåòñÿ ñëåäóþùåé ôîðìóëîé: 2 i = N. Äåéñòâèòåëüíî: 21 = 2 ; 22 = 4 ; 23 = 8 . Ñ ïîëó÷åííîé ôîðìóëîé âû óæå çíàêîìû èç êóðñà èíôîðìàòèêè äëÿ 8 êëàññà è åù¸ íå îäíàæäû ñ íåé âñòðåòèòåñü. Çíà÷åíèå ýòîé ôîðìóëû ñòîëü âåëèêî, ÷òî ìû íàçâàëè å¸ ãëàâíîé ôîðìóëîé èíôîðìàòèêè. Åñëè âåëè÷èíà N èçâåñòíà, à i íåèçâåñòíî, òî äàííàÿ ôîðìóëà ñòàíîâèòñÿ óðàâíåíèåì äëÿ îïðåäåëåíèÿ i.  ìàòåìàòèêå òàêîå óðàâíåíèå íàçûâàåòñÿ ïîêàçàòåëüíûì óðàâíåíèåì. Ïðèìåð. Âåðí¸ìñÿ ê ðàññìîòðåííîìó âûøå ïðèìåðó ñ âàãîíàìè. Ïóñòü â ïîåçäå íå 8, à 16 âàãîíîâ. ×òîáû îòâåòèòü íà âîïðîñ, êàêîå êîëè÷åñòâî èíôîðìàöèè ñîäåðæèòñÿ â ñîîáùåíèè î íîìåðå èñêîìîãî âàãîíà, íóæíî ðåøèòü óðàâíåíèå: 2i = 16. Ïîñêîëüêó 16 = 24 , òî i = 4 áèòà. Êîëè÷åñòâî i èíôîðìàöèè, ñîäåðæàùååñÿ â ñîîáùåíèè îá îäíîì èç N ðàâíîâåðîÿòíûõ èñõîäîâ íåêîòîðîãî ñîáûòèÿ, îïðåäåëÿåòñÿ èç ðåøåíèÿ ïîêàçàòåëüíîãî óðàâíåíèÿ: 2 i = N.


1.2.2. Ñîäåðæàòåëüíûé ïîäõîä ê èçìåðåíèþ èíôîðìàöèè

21

Ïðèìåð.  êèíîçàëå 16 ðÿäîâ, â êàæäîì ðÿäó 32 ìåñòà. Êàêîå êîëè÷åñòâî èíôîðìàöèè íåñ¸ò ñîîáùåíèå î òîì, ÷òî âàì êóïèëè áèëåò íà 12-é ðÿä, 10-å ìåñòî? Ðåøåíèå çàäà÷è: â êèíîçàëå âñåãî 16 · 32 = 512 ìåñò. Ñîîáùåíèå î êóïëåííîì áèëåòå îäíîçíà÷íî îïðåäåëÿåò âûáîð îäíîãî èç ýòèõ ìåñò. Èç óðàâíåíèÿ 2 i = 512 = 29 ïîëó÷àåì: i = 9 áèòîâ. Íî ýòó æå çàäà÷ó ìîæíî ðåøàòü èíà÷å. Ñîîáùåíèå î íîìåðå ðÿäà íåñ¸ò 4 áèòà èíôîðìàöèè, òàê êàê 24 = 16. Ñîîáùåíèå î íîìåðå ìåñòà íåñåò 5 áèòîâ èíôîðìàöèè, òàê êàê 25 = 32.  öåëîì ñîîáùåíèå ïðî ðÿä è ìåñòî íåñåò: 4 + 5 = 9 áèòîâ èíôîðìàöèè. Äàííûé ïðèìåð èëëþñòðèðóåò âûïîëíåíèå çàêîíà àääèòèâíîñòè êîëè÷åñòâà èíôîðìàöèè (ïðàâèëî ñëîæåíèÿ): êîëè÷åñòâî èíôîðìàöèè â ñîîáùåíèè îäíîâðåìåííî î íåñêîëüêèõ ðåçóëüòàòàõ íåçàâèñèìûõ äðóã îò äðóãà ñîáûòèé ðàâíî ñóììå êîëè÷åñòâ èíôîðìàöèè î êàæäîì ñîáûòèè îòäåëüíî. Ñäåëàåì îäíî âàæíîå çàìå÷àíèå. Ñ ôîðìóëîé 2i = N ìû óæå âñòðå÷àëèñü, îáñóæäàÿ àëôàâèòíûé ïîäõîä ê èçìåðåíèþ èíôîðìàöèè (ñì. ï. 1.2.1).  ýòîì ñëó÷àå N ðàññìàòðèâàëîñü êàê ìîùíîñòü àëôàâèòà, à i — êàê èíôîðìàöèîííûé âåñ êàæäîãî ñèìâîëà àëôàâèòà. Åñëè äîïóñòèòü, ÷òî âñå ñèìâîëû àëôàâèòà ïîÿâëÿþòñÿ â òåêñòå ñ îäèíàêîâîâé ÷àñòîòîé, ò. å. ðàâíîâåðîÿòíî, òî èíôîðìàöèîííûé âåñ i ñèìâîëà òîæäåñòâåíåí êîëè÷åñòâó èíôîðìàöèè â ñîîáùåíèè î ïîÿâëåíèè ëþáîãî ñèìâîëà â òåêñòå. Ïðè ýòîì N — íåîïðåäåë¸ííîñòü çíàíèÿ î òîì, êàêîé èìåííî ñèìâîë àëôàâèòà äîëæåí ñòîÿòü â äàííîé ïîçèöèè òåêñòà. Äàííûé ôàêò äåìîíñòðèðóåò ñâÿçü ìåæäó àëôàâèòíûì è ñîäåðæàòåëüíûì ïîäõîäàìè ê èçìåðåíèþ èíôîðìàöèè. Ôîðìóëà Õàðòëè Åñëè çíà÷åíèå N ðàâíî öåëîé ñòåïåíè äâîéêè (4, 8, 16, 32, 64 è ò. ä.), òî ïîêàçàòåëüíîå óðàâíåíèå ëåãêî ðåøèòü â óìå, ïîñêîëüêó i áóäåò öåëûì ÷èñëîì. À ÷åìó ðàâíî êîëè÷åñòâî èíôîðìàöèè â ñîîáùåíèè î ðåçóëüòàòå ìàò÷à «Äèíàìî»–«Çåíèò»?  ýòîé ñèòóàöèè N = 3. Ìîæíî äîãàäàòüñÿ, ÷òî ðåøåíèå óðàâíåíèÿ 2i = 3 áóäåò äðîáíûì ÷èñëîì, ëåæàùèì ìåæäó 1 è 2, ïîñêîëüêó 21 = 2 < 3, à 22 = 4 > 3. À êàê òî÷íåå óçíàòü ýòî ÷èñëî?  ìàòåìàòèêå ñóùåñòâóåò ôóíêöèÿ, ñ ïîìîùüþ êîòîðîé ðåøàåòñÿ ïîêàçàòåëüíîå óðàâíåíèå. Ýòà ôóíêöèÿ íàçûâàåòñÿ ëîãàðèôìîì, è ðåøåíèå íàøåãî óðàâíåíèÿ çàïèñûâàåòñÿ ñëåäóþùèì îáðàçîì: i = log2 N.


22

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

×èòàåòñÿ ýòî òàê: «ëîãàðèôì îò N ïî îñíîâàíèþ 2». Ñìûñë î÷åíü ïðîñòîé: ëîãàðèôì ïî îñíîâàíèþ 2 îò N — ýòî ñòåïåíü, â êîòîðóþ íóæíî âîçâåñòè 2, ÷òîáû ïîëó÷èòü N. Íàïðèìåð, âû÷èñëåíèå óæå èçâåñòíûõ âàì çíà÷åíèé ìîæíî ïðåäñòàâèòü òàê: log2 2 = 1, log2 4 = 2, log2 8 = 3. Çíà÷åíèÿ ëîãàðèôìîâ íàõîäÿòñÿ ñ ïîìîùüþ ñïåöèàëüíûõ ëîãàðèôìè÷åñêèõ òàáëèö. Òàêæå ìîæíî èñïîëüçîâàòü èíæåíåðíûé êàëüêóëÿòîð èëè òàáëè÷íûé ïðîöåññîð. Îïðåäåëèì êîëè÷åñòâî èíôîðìàöèè, ïîëó÷åííîé èç ñîîáùåíèÿ îá îäíîì èñõîäå ñîáûòèÿ èç òð¸õ ðàâíîâåðîÿòíûõ, ñ ïîìîùüþ ýëåêòðîííîé òàáëèöû. Íà ðèñ. 1.4 ïðåäñòàâëåíû äâà ðåæèìà ýëåêòðîííîé òàáëèöû: ðåæèì îòîáðàæåíèÿ ôîðìóë è ðåæèì îòîáðàæåíèÿ çíà÷åíèé: A

B

1

N

i (áèòîâ)

2

3

=LOG(A2;2)

A

B

1

N

i (áèòîâ)

2

3

1,584962501

Ðèñ. 1.4. Îïðåäåëåíèå êîëè÷åñòâà èíôîðìàöèè â ýëåêòðîííûõ òàáëèöàõ ñ ïîìîùüþ ôóíêöèè ëîãàðèôìà

 òàáëè÷íîì ��ðîöåññîðå Microsoft Excel ôóíêöèÿ ëîãàðèôìà èìååò ñëåäóþùèé âèä: LOG(àðãóìåíò; îñíîâàíèå). Àðãóìåíò — çíà÷åíèå N íàõîäèòñÿ â ÿ÷åéêå À2, à îñíîâàíèå ëîãàðèôìà ðàâíî 2.  ðåçóëüòàòå ïîëó÷àåì ñ òî÷íîñòüþ äî äåâÿòè çíàêîâ ïîñëå çàïÿòîé: i = log23 = 1,584962501 (áèòà).

Ðàëüô Õàðòëè (1888-1970)

Ôîðìóëà äëÿ èçìåðåíèÿ êîëè÷åñòâà èíôîðìàöèè: i = log2N áûëà ïðåäëîæåíà àìåðèêàíñêèì ó÷åíûì Ðàëüôîì Õàðòëè — îäíèì èç îñíîâîïîëîæíèêîâ òåîðèè èíôîðìàöèè.

Ôîðìóëà Õàðòëè: i = log2N Çäåñü i — êîëè÷åñòâî èíôîðìàöèè, ñîäåðæàùååñÿ â ñîîáùåíèè îá îäíîì èç N ðàâíîâåðîÿòíûõ èñõîäîâ ñîáûòèÿ. Äàííûé ïðèìåð ïîêàçàë, ÷òî êîëè÷åñòâî èíôîðìàöèè, îïðåäåëÿåìîå ñ èñïîëüçîâàíèåì ñîäåðæàòåëüíîãî ïîäõîäà, ìîæåò áûòü äðîáíîé âåëè÷èíîé, â òî âðåìÿ êàê èíôîðìàöèîííûé îáú¸ì, âû÷èñëÿåìûé ïóò¸ì ïðèìåíåíèÿ àëôàâèòíîãî ïîäõîäà, ìîæåò èìåòü òîëüêî öåëî÷èñëåííîå çíà÷åíèå.


1.2.2. Ñîäåðæàòåëüíûé ïîäõîä ê èçìåðåíèþ èíôîðìàöèè

23

Ñèñòåìà îñíîâíûõ ïîíÿòèé Èçìåðåíèå èíôîðìàöèè – ñîäåðæàòåëüíûé ïîäõîä Èçìåðÿåòñÿ êîëè÷åñòâî èíôîðìàöèè â ñîîáùåíèè îá èñõîäå íåêîòîðîãî ñîáûòèÿ Ðàâíîâåðîÿòíûå èñõîäû: íèêàêîé ðåçóëüòàò íå èìååò ïðåèìóùåñòâà ïåðåä äðóãèìè Íåîïðåäåë¸ííîñòü çíàíèÿ — êîëè÷åñòâî âîçìîæíûõ èñõîäîâ ñîáûòèÿ (âàðèàíòîâ ñîîáùåíèÿ) — N

Êîëè÷åñòâî èíôîðìàöèè â ñîîáùåíèè îá îäíîì èñõîäå ñîáûòèÿ — i áèòîâ

i

2 =N ×àñòíûé ñëó÷àé: äâà ðàâíîâåðîÿòíûõ ðåçóëüòàòà ñîáûòèÿ N= 2

i = 1 áèò

1 áèò — êîëè÷åñòâî èíôîðìàöèè â ñîîáùåíèè îá îäíîì èç äâóõ ðàâíîâåðîÿòíûõ ðåçóëüòàòîâ íåêîòîðîãî ñîáûòèÿ Ôîðìóëà Õàðòëè: i = log2 N

Âîïðîñû è çàäàíèÿ

þ þ þ

þ

1. ×òî òàêîå íåîïðåäåë¸ííîñòü çíàíèÿ îá èñõîäå íåêîòîðîãî ñîáûòèÿ? 2. Êàê îïðåäåëÿåòñÿ åäèíèöà èçìåðåíèÿ êîëè÷åñòâà èíôîðìàöèè â ðàìêàõ ñîäåðæàòåëüíîãî ïîäõîäà? 3. Ïðèäóìàéòå íåñêîëüêî ñèòóàöèé, ïðè êîòîðûõ ñîîáùåíèå íåñ¸ò 1 áèò èíôîðìàöèè. 4.  êàêèõ ñëó÷àÿõ è ïî êàêîé ôîðìóëå ìîæíî âû÷èñëèòü êîëè÷åñòâî èíôîðìàöèè, ñîäåðæàùåéñÿ â ñîîáùåíèè, èñïîëüçóÿ ñîäåðæàòåëüíûé ïîäõîä? 5. Ñêîëüêî áèòîâ èíôîðìàöèè íåñ¸ò ñîîáùåíèå î òîì, ÷òî èç êîëîäû â 32 êàðòû äîñòàëè «äàìó ïèê»? 6. Ïðè óãàäûâàíèè ìåòîäîì ïîëîâèííîãî äåëåíèÿ öåëîãî ÷èñëà èç äèàïàçîíà îò 1 äî N áûë ïîëó÷åí 1 áàéò èíôîðìàöèè. ×åìó ðàâíî N? 7. Ïðîâîäÿòñÿ äâå ëîòåðåè: «4 èç 32» è «5 èç 64». Ñîîáùåíèå î ðåçóëüòàòàõ êàêîé èç ëîòåðåé íåñ¸ò áîëüøå èíôîðìàöèè? 8. Èñïîëüçóÿ ôîðìóëó Õàðòëè è ýëåêòðîííûå òàáëèöû, îïðåäåëèòå êîëè÷åñòâî èíôîðìàöèè â ñîîáùåíèÿõ î ðàâíîâåðîÿòíûõ ñîáûòèÿõ: à) íà øåñòèãðàííîì èãðàëüíîì êóáèêå âûïàëà öèôðà 3; á) â ñëåäóþùåì ãîäó ðåìîíò â øêîëå íà÷í¸òñÿ â ôåâðàëå; â) ÿ ïðèîáðåë àáîíåìåíò â áàññåéí íà ñðåäó; ã) èç 30 ó÷åíèêîâ êëàññà äåæóðèòü â øêîëüíîé ñòîëîâîé íàçíà÷èëè Äåíèñà Ñêâîðöîâà. 9. Èñïîëüçóÿ çàêîí àääèòèâíîñòè êîëè÷åñòâà èíôîðìàöèè, ðåøèòå çàäà÷ó î áèëåòå â êèíîòåàòð ñî ñëåäóþùèì äîïîëíèòåëüíûì óñëîâèåì: â êèíîòåàòðå 4 çàëà.  áèëåòå óêàçàí íîìåð çàëà, íîìåð ðÿäà è íîìåð ìåñòà. Êàêîå êîëè÷åñòâî èíôîðìàöèè çàêëþ÷åíî â áèëåòå?


24

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

1.2.3

Âåðîÿòíîñòü è èíôîðìàöèÿ *

Ñîäåðæàòåëüíûé ïîäõîä è âåðîÿòíîñòü Äî ñèõ ïîð ðå÷ü øëà î ðàâíîâåðîÿòíûõ èñõîäàõ ñîáûòèÿ. Íî â ðåàëüíîñòè î÷åíü ÷àñòî ýòî ïðåäïîëîæåíèå íå âûïîëíÿåòñÿ. Èíòóèòèâíî ïîíÿòíî, íàïðèìåð, ÷òî äëÿ ó÷åíèêà-îòëè÷íèêà ïîëó÷åíèå ïÿò¸ðêè è ïîëó÷åíèå äâîéêè — íå ðàâíîâåðîÿòíûå èñõîäû. Äëÿ òàêîãî ó÷åíèêà ïîëó÷èòü ïÿò¸ðêó — î÷åíü âåðîÿòíûé èñõîä, à ïîëó÷åíèå äâîéêè ìàëîâåðîÿòíî. Äëÿ äâîå÷íèêà æå âñ¸ íàîáîðîò. Ðàçáåð¸ìñÿ, ÷òî æå òàêîå âåðîÿòíîñòü. Äëÿ ïðèìåðà ðàññìîòðèì øêîëüíûå îöåíêè ïî íåêîòîðîìó ïðåäìåòó. ×òîáû îïðåäåëèòü, êàêîâà âåðîÿòíîñòü ïîëó÷åíèÿ êàæäîé îöåíêè, íóæíî ïîñ÷èòàòü îáùåå êîëè÷åñòâî ðàçíûõ îöåíîê, ïîëó÷åííûõ ó÷åíèêîì çà äîñòàòî÷íî áîëüøîé ïåðèîä âðåìåíè, è îïðåäåëèòü, ñêîëüêî èç íèõ äâîåê, òðîåê, ÷åòâ¸ðîê è ïÿò¸ðîê. Åñëè äîïóñòèòü, ÷òî òàêîå æå ðàñïðåäåëåíèå îöåíîê ñîõðàíèòñÿ è â áóäóùåì, òî ìîæíî ðàññ÷èòàòü âåðîÿòíîñòü ïîëó÷åíèÿ êàæäîé èç îöåíîê. Îïðåäåëèâ, êàêóþ ÷àñòü îò îáùåãî ÷èñëà îöåíîê ñîñòàâëÿþò äâîéêè, íàéäåì âåðîÿòíîñòü ïîëó÷åíèÿ äâîéêè. Çàòåì, îïðåäåëèâ, êàêóþ ÷àñòü ñîñòàâëÿþò òðîéêè, íàéäåì âåðîÿòíîñòü ïîëó÷åíèÿ òðîéêè. Äîëÿ ÷åòâ¸ðîê ñðåäè âñåõ îöåíîê — ýòî âåðîÿòíîñòü ïîëó÷åíèÿ ÷åòâ¸ðêè, à äîëÿ ïÿò¸ðîê — ýòî âåðîÿòíîñòü ïîëó÷åíèÿ ïÿò¸ðêè. Ïðåäïîëîæèì, ìû ïîñ÷èòàëè, ÷òî çà ãîä ïî äàííîìó ïðåäìåòó ó÷åíèê ïîëó÷èë 100 îöåíîê. Ñðåäè íèõ: 60 ïÿò¸ðîê, 25 ÷åòâ¸ðîê, 10 òðîåê è 5 äâîåê. Òîãäà: l l l l

âåðîÿòíîñòü ïÿò¸ðêè: 60/100 = 0,6; âåðîÿòíîñòü ÷åòâ¸ðêè: 25/100 = 0,25; âåðîÿòíîñòü òðîéêè: 10/100 = 0,1; âåðîÿòíîñòü äâîéêè: 5/100 = 0,05.

Èíîãäà óäîáíî áûâàåò âåðîÿòíîñòü âûðàæàòü â ïðîöåíòàõ. Çíà÷åíèå âåðîÿòíîñòè áóäåì îáîçíà÷àòü áóêâîé P. Òîãäà âû÷èñëåííûå íàìè âåëè÷èíû çàïèøåì òàê: P5 = 0,6 (60%); P4 = 0,25 (25%); P3 = 0,1 (10%); P2 = 0,05 (5%). Òåïåðü, çíàÿ âåðîÿòíîñòè èñõîäîâ ñîáûòèÿ, ìîæíî îïðåäåëèòü êîëè÷åñòâî èíôîðìàöèè â ñîîáùåíèè î êàæäîì èç íèõ. Ñîãëàñíî òåîðèè èíôîðìàöèè, äëÿ ýòîãî íóæíî ðåøèòü ïîêàçàòåëüíîå óðàâíåíèå 2i = 1/P.


1.2.3. Âåðîÿòíîñòü è èíôîðìàöèÿ *

25

Âàì óæå èçâåñòíî, ÷òî åãî ðåøåíèå âûðàæàåòñÿ ÷åðåç ëîãàðèôì, è òåïåðü îíî âûãëÿäèò òàê: i = log2(1/P). Âîñïîëüçóåìñÿ ýëåêòðîííîé òàáëèöåé è ïîäñ÷èòàåì ïî ýòîé ôîðìóëå êîëè÷åñòâî èíôîðìàöèè, ñîäåðæàùååñÿ â ñîîáùåíèÿõ î ïîëó÷åíèè íàøèì ó÷åíèêîì êàæäîé èç îöåíîê. Òàáëèöà ïðèâåäåíà â ðåæèìå îòîáðàæåíèÿ ôîðìóë è â ðåæèìå îòîáðàæåíèÿ çíà÷åíèé (ðèñ. 1.5). A

B

C

D

E

1

Îöåíêà

2

3

4

5

2

Âåðîÿòíîñòü

0,05

0,1

0,25

0,6

3 Ê-âî èíôîðìàöèè (áèòîâ) =LOG(1/B2;2) =LOG(1/C2;2) =LOG(1/D2;2) =LOG(1/E2;2) A

B

C

D

E

1

Îöåíêà

2

3

4

5

2

Âåðîÿòíîñòü

0,05

0,1

0,25

0,6

3

Ê-âî èíôîðìàöèè (áèòîâ)

4,321928095

3,321928095

2

0,736965594

Ðèñ. 1.5. Ïîäñ÷¸ò â ýëåêòðîííîé òàáëèöå êîëè÷åñòâà èíôîðìàöèè â ñîîáùåíèÿõ î ïîëó÷åíèè îöåíîê

Çàïèøåì âû÷èñëèòåëüíûå ôîðìóëû è ïîëó÷åííûå ðåçóëüòàòû ñ òî÷íîñòüþ äî òð¸õ çíàêîâ ïîñëå çàïÿòîé. i5 = log2(1/0,6) = log2(5/3) = 0,737 áèòà, i4 = log2(1/0,25) = log2(4) = 2 áèòà, i3 = log2(1/0,1) = log2(10) = 3,322 áèòà, i2 = log2(1/0,05) = log2(20) = 4,322 áèòà. Ïîñìîòðèòå âíèìàòåëüíî íà ðåçóëüòàòû, è âû óâèäèòå, ÷òî ÷åì ìåíüøå âåðîÿòíîñòü ñîáûòèÿ, òåì áîëüøå èíôîðìàöèè íåñ¸ò ñîîáùåíèå î íåì. Êîëè÷åñòâî èíôîðìàöèè â ñîîáùåíèè î íåêîòîðîì èñõîäå ñîáûòèÿ çàâèñèò îò âåðîÿòíîñòè ýòîãî èñõîäà. ×åì ìåíüøå âåðîÿòíîñòü, òåì áîëüøå èíôîðìàöèè. Íà ïåðâûé âçãëÿä êàæåòñÿ, ÷òî ìû èìååì äâå ñîâñåì ðàçíûå ôîðìóëû äëÿ âû÷èñëåíèÿ êîëè÷åñòâà èíôîðìàöèè. Ïåðâàÿ — ÷åðåç êîëè÷åñòâî èñõîäîâ ñîáûòèé, âòîðàÿ — ÷åðåç âåðîÿòíîñòü: 1) i = log2 N;

2) i = log2(1/P).

Íà ñàìîì äåëå ýòî íå ðàçíûå ôîðìóëû! Ïåðâàÿ ôîðìóëà ÿâëÿåòñÿ ÷àñòíûì ñëó÷àåì âòîðîé, äëÿ ñëó÷àÿ, êîãäà âåðîÿòíîñòü èñõîäîâ ñîáûòèÿ îêàçûâàåòñÿ îäèíàêîâîé. Ïðåäñòàâüòå ñåáå, ÷òî ó íàøåãî ó÷åíèêà áûëî áû âñåõ îöåíîê ïîðîâíó: ïÿò¸ðîê, ÷åòâ¸ðîê, òðîåê, äâîåê — ïî 25 øòóê. Òîãäà âåðîÿòíîñòü êàæäîé


26

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

îöåíêè áûëà áû ðàâíà 25/100 = 1/4. Çíà÷èò, è êîëè÷åñòâî èíôîðìàöèè áûëî áû îäèíàêîâûì. Ïîñ÷èòàåì: i5 = i4 = i3 = i2 = log2 (1/0,25) = log2(4) = 2 áèòà. Íî ýòî òà æå ñàìàÿ çàäà÷à î ÷åòûð¸õ ðàâíîâåðîÿòíûõ îöåíêàõ, êîòîðóþ ìû ðåøàëè ðàíüøå! È òàì òîæå ïîëó÷àëîñü 2 áèòà! Ïðèâåä¸ì åù¸ ïðèìåðû ñîîáùåíèé îá èñõîäàõ ñîáûòèÿ ñ ðàçíîé âåðîÿòíîñòüþ è ñðàâíèì èõ èíôîðìàòèâíîñòü. Âîò, ñêàæåì, ñîîáùåíèÿ îá îñàäêàõ â çèìíåì ïðîãíîçå ïîãîäû. Çèìîé áûâàåò ñíåã, áûâàåò îòñóòñòâèå îñàäêîâ è, î÷åíü ðåäêî, áûâàåò äîæäü (âî âðåìÿ ñèëüíîé îòòåïåëè). Äîæäü çèìîé ìàëîâåðîÿòåí. Ïîýòîìó çèìîé ñîîáùåíèå î äîæäå íåñ¸ò ñàìóþ áîëüøóþ èíôîðìàöèþ. Äðóãîé ïðèìåð: çåìëåòðÿñåíèÿ â ðàçíûõ ðàéîíàõ çåìíîãî øàðà ïðîèñõîäÿò ñ ðàçíîé ÷àñòîòîé. Ñêàæåì, ñîîáùåíèå î çåìëåòðÿñåíèè íà Êóðèëàõ íåñåò ãîðàçäî ìåíüøå èíôîðìàöèè, ÷åì ñîîáùåíèå î çåìëåòðÿñåíèè íà Êàâêàçå. Èíôîðìàòèâíîñòü âñåõ òàêèõ ñîîáùåíèé ìîæíî âûðàçèòü â áèòàõ, åñëè âû÷èñëèòü âåðîÿòíîñòè èñõîäîâ ñîáûòèÿ, îáðàáîòàâ äàííûå ìíîãîëåòíèõ íàáëþäåíèé. Èíôîðìàöèîííûå âåñà ñèìâîëîâ àëôàâèòà è âåðîÿòíîñòü À òåïåðü ðàññìîòðèì, êàê ñ ïîíÿòèåì âåðîÿòíîñòè ñâÿçàíî âû÷èñëåíèå èíôîðìàöèîííûõ âåñîâ ñèìâîëîâ àëôàâèòà. Îáñóæäàÿ àëôàâèòíûé ïîäõîä ðàíüøå, ìû èñõîäèëè èç ïðåäïîëîæåíèÿ, ÷òî ïîÿâëåíèÿ â ëþáîé ïîçèöèè òåêñòà ñèìâîëîâ èñïîëüçóåìîãî àëôàâèòà ðàâíîâåðîÿòíû. Íà ñàìîì äåëå äëÿ åñòåñòâåííûõ ÿçûêîâ ýòî íå òàê. Ëåãêî äîêàçàòü, ÷òî îäíè ñèìâîëû âñòðå÷àþòñÿ ÷àùå, à äðóãèå — ðåæå, ò. å. ñ ðàçíîé ÷àñòîòîé. ×àñòîòà ïîÿâëåíèÿ ñèìâîëà — ýòî îòíîøåíèå êîëè÷åñòâà âõîæäåíèé äàííîãî ñèìâîëà â òåêñò ê îáùåìó êîëè÷åñòâó ñèìâîëîâ â òåêñòå.  òàáë. 1.1 ïðèâåäåíû ÷àñòîòíûå õàðàêòåðèñòèêè áóêâ ëàòèíñêîãî àëôàâèòà â àíãëèéñêèõ òåêñòàõ, à â òàáëèöå 1.2 — ðóññêèõ áóêâ (êèðèëëèöû) â òåêñòàõ íà ðóññêîì ÿçûêå (ñèìâîë «_» îçíà÷àåò ïðîáåë). Ýòè äàííûå ïîëó÷åíû ïóòåì óñðåäíåíèÿ ðåçóëüòàòîâ îáðàáîòêè áîëüøîãî ÷èñëà òåêñòîâ. Òàáëèöà 1.1. ×àñòîòíûå õàðàêòåðèñòèêè áóêâ ëàòèíñêîãî àëôàâèòà â àíãëèéñêèõ òåêñòàõ Áóêâà

×àñòîòà

Áóêâà

×àñòîòà

Áóêâà

E T

×àñòîòà

Áóêâà

0,130

S

0,061

0,105

H

0,052

A

0,081

D

O

0,079

L

N

0,071

U

0,024

K

0,004

G

0,020

X

0,0015

0,038

Y

0,019

J

0,0013

0,034

P

0,019

Q

0,0011

F

0,029

W

0,015

Z

0,0007

R

0,068

C

0,027

B

0,014

I

0,063

M

0,025

V

0,009

×àñòîòà


1.2.3. Âåðîÿòíîñòü è èíôîðìàöèÿ *

27

Òàáëèöà 1.2. ×àñòîòíûå õàðàêòåðèñòèêè ðóññêèõ áóêâ (êèðèëëèöû) â òåêñòàõ íà ðóññêîì ÿçûêå Áóêâà

×àñòîòà

Áóêâà

×àñòîòà

Áóêâà

×àñòîòà

Áóêâà

×àñòîòà

_

0,175

Ð

0,040

ß

0,018

Õ

0,009

Î

0,090

Â

0,038

Û

0,016

Æ

0,007

Å, ¨

0,072

Ë

0,035

Ç

0,016

Þ

0,006

À

0,062

Ê

0,028

Ü, Ú

0,014

Ø

0,006

È

0,062

Ì

0,026

Á

0,014

Ö

0,003

Ò

0,053

Ä

0,025

Ã

0,013

Ù

0,003

Í

0,053

Ï

0,023

×

0,013

Ý

0,003

Ñ

0,045

Ó

0,021

É

0,012

Ô

0,002

Êàê âèäíî èç ýòèõ òàáëèö, íàèáîëåå ÷àñòî óïîòðåáëÿåìàÿ áóêâà â àíãëèéñêîì òåêñòå — «E», à íàèìåíåå «ïîïóëÿðíàÿ» — «Z». Ñ��îòâåòñòâåííî â ðóññêîì òåêñòå ýòî áóêâû «Î» è «Ô». Ïî àíàëîãèè ñ òåì, ÷òî áûëî ðàññìîòðåíî âûøå, âàì äîëæíî áûòü ïîíÿòíî, ÷òî ÷àñòîòà âñòðå÷àåìîñòè áóêâû — ýòî âåðîÿòíîñòü åå ïîÿâëåíèÿ â îïðåäåëåííîé ïîçèöèè òåêñòà — Ð. Îòñþäà ñëåäóåò, ÷òî èíôîðìàöèîííûé âåñ ñèìâîëà âû÷èñëÿåòñÿ ïî ôîðìóëå: i = log2(1/P). Ïî ýòîé ôîðìóëå äëÿ ðóññêîé áóêâû «Î» ïîëó÷àåì: i = log2(1/0,09) = = 3,47 áèòà. À äëÿ áóêâû «Ô»: i = log2(1/0,002) = 8,97 áèòà. Ðàçíèöà âåñüìà ñóùåñòâåííàÿ! Ïðèíöèï ïðåæíèé: ÷åì ìåíüøå âåðîÿòíîñòü, òåì áîëüøå èíôîðìàöèÿ. Äëÿ îöåíêè ñðåäíåé èíôîðìàòèâíîñòè ñèìâîëîâ àëôàâèòà c ó÷åòîì ðàçíîé âåðîÿòíîñòè èõ âñòðå÷àåìîñòè èñïîëüçóåòñÿ ôîðìóëà Êëîäà Øåííîíà: H = P1log2(1/P1) + P2log2(1/P2) + ... + PNlog2(1/PN), ãäå H — ñðåäíÿÿ èíôîðìàòèâíîñòü, Pk — âåðîÿòíîñòü (÷àñòîòà) âñòðå÷àåìîñòè k-ãî ñèìâîëà àëôàâèòà, N — ìîùíîñòü àëôàâèòà.  ÷àñòíîì ñëó÷àå ðàâíîé âåðîÿòíîñòè, êîãäà P1 = P2 = ... = PN = 1/N, ôîðìóëà Øåííîíà ïåðåõîäèò â ôîðìóëó Õàðòëè (äîêàæèòå ýòî ñàìîñòîÿòåëüíî). Âîñïîëüçîâàâøèñü äàííûìè èç òàáëèö 1.1 è 1.2, ïî ôîðìóëå Øåííîíà ìîæíî îïðåäåëèòü ñðåäíþþ èíôîðìàòèâíîñòü áóêâ àëôàâèòà àíãëèéñêîãî è ðóññêîãî ÿçûêîâ. Ðåçóëüòàòû âû÷èñëåíèé äëÿ àíãëèéñêîãî ÿçûêà äàþò âåëè÷èíó 4,09 áèòà, à äëÿ ðóññêîãî — 4,36 áèòà. Ïðè äîïóùåíèè, ÷òî


28

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

âñå áóêâû âñòðå÷àþòñÿ ñ ðàâíîé âåðîÿòíîñòüþ, ïî ôîðìóëå Õàðòëè ïîëó÷àåòñÿ äëÿ àíãëèéñêîãî ÿçûêà Hàíãë = log2(26) = 4,70 áèòà, à äëÿ ðóññêîãî ÿçûêà — Hðóñ = log2(32) = 5 áèòîâ. Êàê âèäèòå, ó÷åò ðàçëè÷èÿ ÷àñòîòû âñòðå÷àåìîñòè áóêâ àëôàâèòà ïðèâîäèò ê ñíèæåíèþ èõ ñðåäíåé èíôîðìàòèâíîñòè. Èç ïîëó÷åííûõ ðåçóëüòàòîâ ñëåäóåò, ÷òî è ïîëíûé èíôîðìàöèîííûé îáú¸ì òåêñòà áóäåò ðàçíûì, åñëè äëÿ åãî âû÷èñëåíèÿ èñïîëüçîâàòü ôîðìóëû Õàðòëè è Øåííîíà. Íàïðèìåð, òåêñò íà ðóññêîì ÿçûêå, ñîñòîÿùèé èç 1000 áóêâ, ïî Õàðòëè áóäåò ñîäåðæàòü 5 · 1000 = 5000 áèòîâ èíôîðìàöèè, à ïî Øåííîíó: 4,36 · 1000 = 4360 áèòîâ.

Ñèñòåìà îñíîâíûõ ïîíÿòèé Âåðîÿòíîñòü è èíôîðìàöèÿ Âåðîÿòíîñòü íåêîòîðîãî èñõîäà ñîáûòèÿ èçìåðÿåòñÿ ÷àñòîòîé åãî ïîâòîðåíèé äëÿ áîëüøîãî ÷èñëà ñîáûòèé (â ïðåäåëå ñòðåìÿùåìóñÿ ê áåñêîíå÷íîñòè) Ñîäåðæàòåëüíûé ïîäõîä

Èíôîðìàöèîííûå âåñà ñèìâîëîâ àëôàâèòà

P = k/n P — âåðîÿòíîñòü îïðåäåë¸ííîãî èñõîäà ñîáûòèÿ; n — êîëè÷åñòâî ïîâòîðåíèé ñîáûòèÿ (áîëüøîå ÷èñëî); k — êîëè÷åñòâî ïîâòîðåíèé äàííîãî èñõîäà

P = k/n P — ÷àñòîòà âñòðå÷àåìîñòè ñèìâîëà â òåêñòå; n — ðàçìåð òåêñòà â ñèìâîëàõ; k – êîëè÷åñòâî âõîæäåíèé äàííîãî ñèìâîëà â òåêñò

i = log2(1/P) i (áèòîâ) — êîëè÷åñòâî èíôîðìàöèè â ñîîáùåíèè îá èñõîäå ñîáûòèÿ, âåðîÿòíîñòü êîòîðîãî ðàâíà P

i = log2(1/P) i (áèòîâ) — èíôîðìàöèîííûé âåñ ñèìâîëà, ÷àñòîòà âñòðå÷àåìîñòè êîòîðîãî (âåðîÿòíîñòü) ðàâíà P Ôîðìóëà Øåííîíà: H = P1log2(1/P1) + P2log2(1/P2) + ... + PNlog2(1/PN). H — ñðåäíÿÿ èíôîðìàòèâíîñòü ñèìâîëà àëôàâèòà, Pk — âåðîÿòíîñòü ïîÿâëåíèÿ ñèìâîëà íîìåð k, N — ðàçìåð àëôàâèòà

Âîïðîñû è çàäàíèÿ 1. Êàê ìîæíî îöåíèòü âåðîÿòíîñòü èñõîäà ñîáûòèÿ? 2. Êàê îïðåäåëÿåòñÿ èíôîðìàòèâíîñòü ñîîáùåíèÿ î íåêîòîðîì èñõîäå ñîáûòèè ñ âåðîÿòíîñòíîé òî÷êè çðåíèÿ?


1.3.1. Îñíîâíûå ïîíÿòèÿ ñèñòåì ñ÷èñëåíèÿ

29

3. Ñèíîïòèêè ïîäñ÷èòàëè, ÷òî â òå÷åíèå 100 ëåò 10 ìàðòà áûëî 34 äîæäëèâûõ äíÿ, ñíåã âûïàäàë 28 ðàç è 38 äíåé áûëî áåç îñàäêîâ. Îïðåäåëèòå êîëè÷åñòâî èíôîðìàöèè â ñîîáùåíèÿõ, ÷òî 10 ìàðòà òåêóùåãî ãîäà: áóäåò ñíåã; áóäåò äîæäü; îñàäêîâ íå áóäåò. Äëÿ ðàñ÷¸òà èñïîëüçóéòå ýëåêòðîííûå òàáëèöû. 4.  êîðçèíå ëåæàò 8 ÷¸ðíûõ øàðîâ è 24 áåëûõ øàðà. Êàêîå êîëè÷åñòâî èíôîðìàöèè íåñåò ñîîáùåíèå î òîì, ÷òî äîñòàëè ÷¸ðíûé øàð? 5.  êîðçèíå ëåæàò áåëûå è ÷¸ðíûå øàðû. Ñðåäè íèõ 18 ÷¸ðíûõ øàðîâ. Ñîîáùåíèå î òîì, ÷òî èç êîðçèíû äîñòàëè áåëûé øàð, íåñ¸ò 2 áèòà èíôîðìàöèè. Ñêîëüêî âñåãî øàðîâ â êîðçèíå? 6. Íà îñòàíîâêå îñòàíàâëèâàþòñÿ àâòîáóñû ðàçíûõ ìàðøðóòîâ. Ñîîáùåíèå î òîì, ÷òî ê îñòàíîâêå ïîäîøåë àâòîáóñ 5-ãî ìàðøðóòà, íåñ¸ò 4 áèòà èíôîðìàöèè. Âåðîÿòíîñòü ïîÿâëåíèÿ íà îñòàíîâêå àâòîáóñà 10-ãî ìàðøðóòà â äâà ðàçà ìåíüøå, ÷åì âåðîÿòíîñòü ïîÿâëåíèÿ àâòîáóñà 5-ãî ìàðøðóòà. Êàêîå êîëè÷åñòâî èíôîðìàöèè íåñ¸ò ñîîáùåíèå î ïîÿâëåíèè íà îñòàíîâêå àâòîáóñà 10-ãî ìàðøðóòà? 7. Êàê îïðåäåëÿåòñÿ èíôîðìàöèîííûé âåñ ñèìâîëà àëôàâèòà ñ âåðîÿòíîñòíîé òî÷êè çðåíèÿ? 8. Ïîäñ÷èòàéòå èíôîðìàöèîííûé îáú¸ì ñëîâà ÈÍÔÎÐÌÀÒÈÊÀ, èñïîëüçóÿ äëÿ âû÷èñëåíèÿ èíôîðìàöèîííûõ âåñîâ ñèìâîëîâ ôîðìóëó i = log2(1/P) è äàííûå èç òàáë. 1.2. Âû÷èñëåíèÿ ïðîâåäèòå ñ ïîìîùüþ ýëåêòðîííîé òàáëèöû. þ 9. Ïîäñ÷èòàéòå èíôîðìàöèîííûé îáú¸ì ñëîâà ÈÍÔÎÐÌÀÒÈÊÀ, èñïîëüçóÿ çíà÷åíèå ñðåäíåé èíôîðìàòèâíîñòè ñèìâîëîâ ðóññêîãî àëôàâèòà, âû÷èñëåííîå ïî ôîðìóëå Øåííîíà ñ ó÷¸òîì ðàâíîé âåðîÿòíîñòè: H = 5 áèòîâ. Ñðàâíèòå ñ ðåçóëüòàòîì ïðåäûäóùåé çàäà÷è. Ïîïðîáóéòå îáúÿñíèòü ðàñõîæäåíèå.

1.3. Ñèñòåìû ñ÷èñëåíèÿ 1.3.1

Îñíîâíûå ïîíÿòèÿ ñèñòåì ñ÷èñëåíèÿ

Ñèñòåìîé ñ÷èñëåíèÿ èëè íóìåðàöèåé íàçûâàåòñÿ îïðåäåë¸ííûé ñïîñîá çàïèñè ÷èñåë. Èç êóðñà èíôîðìàòèêè äëÿ 8–9 êëàññîâ âû çíàêîìû ñ èñòîðèåé ñèñòåì ñ÷èñëåíèÿ, çíàåòå, ÷òî áûâàþò ïîçèöèîííûå è íåïîçèöèîííûå ñèñòåìû ñ÷èñëåíèÿ. Âàì òàêæå èçâåñòíî, ÷òî ïðèâû÷íàÿ äëÿ íàñ ñèñòåìà ñ÷èñëåíèÿ íàçûâàåòñÿ äåñÿòè÷íîé ïîçèöèîííîé ñèñòåìîé, ÷òî â êîìïüþòåðå äëÿ ïðåäñòàâëåíèÿ ÷èñåë è âûïîëíåíèÿ âû÷èñëåíèé èñïîëüçóåòñÿ äâîè÷íàÿ ñèñòåìà ñ÷èñëåíèÿ. ×èñëà ïðåäñòàâëÿþò ñîáîé ÷èñëîâóþ èíôîðìàöèþ. Çàïèñü ÷èñåë ïî ïðàâèëàì îïðåäåë¸ííîé ñèñòåìû ñ÷èñëåíèÿ åñòü ñïîñîá êîäèðîâàíèÿ ÷èñåë. Îò ñïîñîáà êîäèðîâàíèÿ çàâèñèò ðàçìåð êîäà, ò. å. êîëè÷åñòâî öèôð â çàïèñè ÷èñëà, à òàêæå ïðàâèëà âûïîëíåíèÿ âû÷èñëåíèé. Îäíîé èç ãëàâíûõ ïðîáëåì, êîòîðóþ íóæíî áûëî ðåøèòü èçîáðåòàòåëÿì ÝÂÌ, — ýòî ïðîáëåìà ïðåäñòàâëåíèÿ ÷èñåë â ïàìÿòè ÝÂÌ è àëãîðèòìà èõ îáðàáîòêè


30

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

(âû÷èñëåíèé) ïðîöåññîðîì. Äëÿ ïîíèìàíèÿ òîãî, êàê áûëè ðåøåíû ýòè ïðîáëåìû, íóæíî çíàòü ïðèíöèïû îðãàíèçàöèè ñèñòåì ñ÷èñëåíèÿ. Îñíîâíûå ïîíÿòèÿ ïîçèöèîííûõ ñèñòåì ñ÷èñëåíèÿ Öèôðà — ñèìâîë, èñïîëüçóåìûé äëÿ çàïèñè ÷èñåë. Àëôàâèò ñèñòåìû ñ÷èñëåíèÿ — ñîâîêóïíîñòü âñåõ öèôð. Ðàçìåðíîñòü àëôàâèòà — êîëè÷åñòâî öèôð â àëôàâèòå. Êàæäàÿ ïîçèöèÿ â çàïèñè ÷èñëà íàçûâàåòñÿ ðàçðÿäîì ÷èñëà. Ðàçðÿäû íóìåðóþòñÿ â öåëîé ÷àñòè ÷èñëà ïîëîæèòåëüíûìè öåëûìè ÷èñëàìè, íà÷èíàÿ ñ íóëÿ, â äðîáíîé ÷àñòè — îòðèöàòåëüíûìè ÷èñëàìè, íà÷èíàÿ ñ (–1): ðàçðÿäû: 3 2 1 0 –1–2–3 ÷èñëî: 6 2 4 8, 5 4 7 Çäåñü íîìåðà ðàçðÿäîâ óêàçàíû ìàëåíüêèìè öèôðàìè ñâåðõó.  çàïèñè ìíîãîçíà÷íîãî ÷èñëà öèôðû, ñòîÿùèå â ðàçíûõ ïîçèöèÿõ, èìåþò ðàçíûå âåñà. Òàê, â öåëîì äåñÿòè÷íîì ÷èñëå 325 òðîéêà îçíà÷àåò òðè ñîòíè, äâîéêà — äâà äåñÿòêà, ïÿò¸ðêà — ïÿòü åäèíèö: 325 = 3 · 100 + + 2 · 10 + 5 · 1. Òàêàÿ çàïèñü íàçûâàåòñÿ ðàçâ¸ðíóòîé ôîðìîé çàïèñè ÷èñëà: ÷èñëî çàïèñûâàåòñÿ â âèäå ñóììû, â êîòîðîé êàæäîå ñëàãàåìîå – ýòî öèôðà, óìíîæåííàÿ íà ñâîé âåñ. Âîò åùå ïðèìåð ðàçâåðíóòîé çàïèñè ñìåøàííîãî äåñÿòè÷íîãî ÷èñëà: 6248,547 = 6 · 1000 + 2 · 100 + 4 · 10 + 8 · 1 + 5 · 0,1 + 4 · 0,01 + 7 · 0,001 = = 6 · 103 + 2 · 102 + 4 · 101 + 8 · 100 + 5 · 10–1 + 4 · 10–2 + 7 · 1–3.  äåñÿòè÷íîé ñèñòåìå ñ÷èñëåíèÿ âåñà ðàâíû öåëûì ñòåïåíÿì äåñÿòè (ïîëîæèòåëüíûì è îòðèöàòåëüíûì). Âåñ öèôðû â äåñÿòè÷íîé ñèñòåìå ðàâåí äåñÿòè â ñòåïåíè, ðàâíîé íîìåðó ðàçðÿäà, â êîòîðîì ñòîèò ýòà öèôðà. Ñëåäóþùèé, áåñêîíå÷íûé â îáå ñòîðîíû ðÿä öåëûõ ñòåïåíåé äåñÿòè íàçûâàåòñÿ áàçèñîì äåñÿòè÷íîé ñèñòåìû ñ÷èñëåíèÿ: ... 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 10–1, 10–2, 10–3, ... Çàïèñü ÷èñëà â ðàçâ¸ðíóòîé ôîðìå åù¸ íàçûâàþò ðàçëîæåíèåì ÷èñëà ïî áàçèñó. Äåñÿòè÷íàÿ ñèñòåìà îòíîñèòñÿ ê ÷èñëó òðàäèöèîííûõ ñèñòåì ñ÷èñëåíèÿ. Äëÿ òðàäèöèîííûõ ñèñòåì ñ÷èñëåíèÿ ïðèíÿòî ðàçìåðíîñòü àëôàâèòà íàçûâàòü îñíîâàíèåì ñèñòåìû ñ÷èñëåíèÿ. Îñíîâàíèå äåñÿòè÷íîé ñèñòåìû ñ÷èñëåíèÿ ðàâíî äåñÿòè. Ïî òàêîìó æå ïðèíöèïó îðãàíèçîâàíû âñå äðóãèå òðàäèöèîííûå ñèñòåìû ñ÷èñëåíèÿ. Íàèìåíüøèì îñíîâàíèåì äëÿ ïîçèöèîííûõ ñèñòåì ÿâëÿåòñÿ 2 (äâîè÷íàÿ ñèñòåìà). Ñèñòåìà ñ îñíîâàíèåì 1 íå ìîæåò áûòü ïîçèöèîííîé, ïîñêîëüêó äëÿ íå¸ íåâîçìîæíî ïîñòðîèòü áàçèñ (âñå âåñà îäèíàêîâû) — åäèíèöà â ëþáîé ñòåïåíè ðàâíà åäèíèöå. Áàçèñ äâîè÷íîé ñèñòåìû ñ÷èñëåíèÿ âûãëÿäèò (â äåñÿòè÷íîé çàïèñè) òàê: ... 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 2–1, 2–2, 2–3, ...


1.3.1. Îñíîâíûå ïîíÿòèÿ ñèñòåì ñ÷èñëåíèÿ

31

Îñíîâàíèåì òðàäèöèîííîé ñèñòåìû ñ÷èñëåíèÿ ìîæåò áûòü ëþáîå íàòóðàëüíîå ÷èñëî, íà÷èíàÿ ñ äâóõ, à áàçèñ — áåñêîíå÷íûé â îáå ñòîðîíû ðÿä öåëûõ ñòåïåíåé îñíîâàíèÿ. Î íåòðàäèöèîííûõ ñèñòåìàõ ñ÷èñëåíèÿ ïîãîâîðèì ïîçæå. Âîò íåñêîëüêî ïðèìåðîâ ïîçèöèîííûõ ñèñòåì è èõ àëôàâèòîâ: Îñíîâàíèå 2 3 8 16

Íàçâàíèå Äâîè÷íàÿ Òðîè÷íàÿ Âîñüìåðè÷íàÿ Øåñòíàäöàòåðè÷íàÿ

0 0 0 0

Àëôàâèò 1 12 1234567 123456789ABCDEF

Åñëè n — îñíîâàíèå ñèñòåìû, íå áîëüøåå äåñÿòè, òî â àëôàâèòå èñïîëüçóþòñÿ n ïåðâûõ àðàáñêèõ öèôð. Åñëè îñíîâàíèå ïðåâûøàåò 10, òî â êà÷åñòâå äîïîëíèòåëüíûõ öèôð âûñòóïàþò áóêâû ëàòèíñêîãî àëôàâèòà ïî ïîðÿäêó. Ïðè çàïèñè íåäåñÿòè÷íîãî ÷èñëà ïðèíÿòî óêàçûâàòü åãî îñíîâàíèå ìàëåíüêîé ïîäñòðî÷íîé öèôðîé — íèæíèì èíäåêñîì. Íàïðèìåð: 1375 — ÷èñëî â ïÿòåðè÷íîé ñèñòåìå ñ÷èñëåíèÿ. Îòìåòèì îäíî î÷åíü âàæíîå îáñòîÿòåëüñòâî.  ëþáîé ïîçèöèîííîé ñèñòåìå ñ÷èñëåíèÿ ÷èñëî, êîëè÷åñòâåííî ðàâíîå å¸ îñíîâàíèþ, çàïèñûâàåòñÿ êàê 10. Ïðè ýòîì òîëüêî â äåñÿòè÷íîé ñèñòåìå îíî ÷èòàåòñÿ êàê «äåñÿòü». Âî âñåõ äðóãèõ ñèñòåìàõ ñëåäóåò ÷èòàòü «îäèí, íîëü». Íàïðèìåð: 102 = 2, 103 = 3, 108 = 8, 1016 = 16 è ò. ä. Çàäà÷à 1. ×èñëî â òðîè÷íîé ñèñòåìå ñ÷èñëåíèÿ: 2011,13 íóæíî ïåðåâåñòè â äåñÿòè÷íóþ ñèñòåìó. Ðåøåíèå. Ðàçëîæèì äàííîå ÷èñëî ïî áàçèñó òðîè÷íîé ñèñòåìû ñ÷èñëåíèÿ, ò. å. çàïèøåì åãî â ðàçâ¸ðíóòîé ôîðìå è âû÷èñëèì ïîëó÷åííîå âûðàæåíèå ïî ïðàâèëàì äåñÿòè÷íîé àðèôìåòèêè: 2011,13 = 2 · 33 + 0 · 32 + 1 · 31 + 1 · 30 + 1 · 3–1 = 54 + 3 + 1 + 1/3 = 58 1/ 3 . Çàäà÷à 2. Øåñòíàäöàòåðè÷íîå ÷èñëî 2AF,8C16 ïåðåâåñòè â äåñÿòè÷íóþ ñèñòåìó. Ðåøåíèå. Çàäà÷à ðåøàåòñÿ àíàëîãè÷íî çàäà÷å 1 — ÷åðåç ðàçëîæåíèå øåñòíàäöàòåðè÷íîãî ÷èñëà ïî áàçèñó ñèñòåìû ñ÷èñëåíèÿ è âû÷èñëåíèÿ ïîëó÷åííîãî âûðàæåíèÿ.  çàïèñè ðàçëîæåíèÿ öèôðû, îáîçíà÷àåìûå áóêâàìè, çàìåíÿþòñÿ íà èõ ýêâèâàëåíòû â äåñÿòè÷íîé ñèñòåìå. 2AF,8C16 = 2 · 162 + 10 · 16+15 · 160 + 8 · 16–1 + 12 · 16–2 = = 512 + 160 + 15 + 1/2 + 3/64 = 687,546875.


32

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Çàäà÷à 3. Äâîè÷íîå ÷èñëî 1010101111,1000112 ïåðåâåñòè â äåñÿòè÷íóþ ñèñòåìó. Ðåøåíèå. 1010101111,1000112 = 1 · 29 + 1 · 27 + 1 · 25 + 1 · 23 + 1 · 22 + + 1 · 2 +1 + 1 · 2-1 + 1 · 2-5 + 1 · 2-6 = 512 + 128 + 32 + 8 + 4 + + 2 + 1 +1/2 + 1/32 + 1/64 = 687,546875. Îáðàòèòå âíèìàíèå, ÷òî ðåçóëüòàò òîò æå, ÷òî è â çàäà÷å 2. Çíà÷èò, äâîè÷íîå ÷èñëî èç äàííîé çàäà÷è ðàâíî øåñòíàäöàòåðè÷íîìó ÷èñëó èç çàäà÷è 2. Ê ýòîìó îáñòîÿòåëüñòâó ìû åù¸ âåðíåìñÿ. Ñõåìà Ãîðíåðà è ïåðåâîä ÷èñåë Íåäåñÿòè÷íîå ÷èñëî ìîæíî áûñòðî ïåðåâåñòè â äåñÿòè÷íóþ ñèñòåìó è ñ ïîìîùüþ ïðîñòîãî êàëüêóëÿòîðà. Òàêîé ïåðåâîä ñâÿçàí ñ ïðèìåíåíèåì ñõåìû Ãîðíåðà äëÿ âû÷èñëåíèÿ àëãåáðàè÷åñêèõ ìíîãî÷ëåíîâ. Ñíà÷àëà ðàññìîòðèì ïåðåâîä öåëîãî ÷èñëà íà ïðèìåðå âîñüìåðè÷íîãî ÷èñëà 2317458. Çàïèøåì åãî â ðàçâ¸ðíóòîé ôîðìå è ïðåîáðàçóåì ïîëó÷åííóþ ñóììó ê ýêâèâàëåíòíîé ñêîáî÷íîé ôîðìå: 2317458 = 2 · 85 + 3 · 84 + 1 · 83 + 7 · 82 + 4 · 8 + 5 = = ((((2 · 8 + 3) · 8 + 1) · 8 + 7) · 8 + 4) · 8 + 5 = 7882110. Ñêîáî÷íîå âûðàæåíèå î÷åíü ïðîñòî âû÷èñëÿòü. Íà êàëüêóëÿòîðå íóæíî ïîñëåäîâàòåëüíî ñëåâà íàïðàâî âûïîëíÿòü óìíîæåíèÿ è ñëîæåíèÿ. Ïîðÿäîê íàæàòèÿ êëàâèø íà êàëüêóëÿòîðå áóäåò òàêèì: 2

´

8

+

3

´

8

+

1

´

8

+

7

´

8

+

4

´

8

+

5

=

 êàëüêóëÿòîðå ðåàëèçóåòñÿ àëãîðèòì ïîñëåäîâàòåëüíîãî âûïîëíåíèÿ öåïî÷êè îïåðàöèé: ïðè íàæàòèè êëàâèøè ñî çíàêîì îïåðàöèè âûïîëíÿåòñÿ ïðåäûäóùàÿ îïåðàöèÿ è å¸ ðåçóëüòàò âûñâå÷èâàåòñÿ íà èíäèêàòîðå. Ïîñëå íàæàòèÿ êëàâèøè «ðàâíî» âûïîëíÿåòñÿ ïîñëåäíÿÿ îïåðàöèÿ öåïî÷êè è íà èíäèêàòîðå îòðàæàåòñÿ ðåçóëüòàò âû÷èñëåíèÿ âñåãî âûðàæåíèÿ.  ðàñìîòðåííîì ïðèìåðå áûëî âûïîëíåíî ïÿòü óìíîæåíèé è ïÿòü ñëîæåíèé. Òàêîé ñïîñîá âû÷èñëåíèÿ íàçûâàåòñÿ ñõåìîé Ãîðíåðà.  îáùåì âèäå àëãåáðàè÷åñêèé ìíîãî÷ëåí n-é ñòåïåíè è åãî ïðåîáðàçîâàíèå ê ñêîáî÷íîé ôîðìå âûãëÿäèò òàê: anxn + an–1xn–1 + ... + a2x2 + a1x + a0 = = ((...(anx + an–1)x + an–2)x + ... + a2)x + a1)x + a0. Èç ýòîé ôîðìóëû ñëåäóåò, ÷òî àëãåáðàè÷åñêèé ìíîãî÷ëåí n-é ñòåïåíè ìîæíî âû÷èñëèòü çà n îïåðàöèé óìíîæåíèÿ è n îïåðàöèé ñëîæåíèÿ. Ýòî ñàìûé îïòèìàëüíûé ñïîñîá âû÷èñëåíèÿ. Ñõåìó Ãîðíåðà ìîæíî ïðèìåíèòü è äëÿ ïåðåâîäà äðîáíûõ ÷èñåë. Ïîêàæåì ýòî íà ïðèìåðå äâîè÷íîãî ÷èñëà 0,1101012. Çàïèøåì ÷èñëî â ðàçâ¸ð-


1.3.1. Îñíîâíûå ïîíÿòèÿ ñèñòåì ñ÷èñëåíèÿ

33

íóòîé ôîðìå è âûïîëíèì òîæäåñòâåííûå ïðåîáðàçîâàíèÿ, ïðèâîäÿùèå âûðàæåíèå ê ñêîáî÷íîé ôîðìå: 0,1101012 = 1 · 2–1 + 1 · 2–2 + 0 · 2–3 + 1 · 2–4 + 0 · 2–5 + 1 · 2–6 = = 1 · 2–6 + 0 · 2–5 + 1 · 2–4 + 0 · 2–3 + 1 · 2–2 + 1 · 2–1 = = (((((1/2 + 0)/2 + 1)/2 + 0)/2 + 1)/2 + 1)/2 = 0, 828125. Ïîëó÷åííîå âûðàæåíèå òàêæå ïîääàåòñÿ ïîñëåäîâàòåëüíîìó âû÷èñëåíèþ íà êàëüêóëÿòîðå: øåñòü îïåðàöèé äåëåíèÿ è ïÿòü – ñëîæåíèÿ. Êëàâèøè íàæèìàþòñÿ â òàêîì ïîðÿäêå: 1

/

2

+

0

/

2

+

1

/

2

+

0

/

2

+

1

/

2

+

1

/

2

=

Ïðèáàâëåíèå íóëåé ìîæíî íå äåëàòü, òîãäà ÷èñëî îïåðàöèé ñëîæåíèÿ ñîêðàòèòñÿ äî òð¸õ. 1

/

2

/

2

+

1

/

2

/

2

+

1

/

2

+

1

/

2

=

Ïðèìåð íåòðàäèöèîííîé ñèñòåìû ñ÷èñëåíèÿ  êà÷åñòâå ïðèìåðà íåòðàäèöèîííîé ñèñòåìû ñ÷èñëåíèÿ ðàññìîòðèì òàê íàçûâàåìóþ ôèááîíà÷èåâó ñèñòåìó. Àëôàâèò ôèáîíà÷÷èåâîé ñèñòåìû ñîñòîèò èç äâóõ öèôð: 0 è 1, êàê ó äâîè÷íîé ñèñòåìû ñ÷èñëåíèÿ. Áàçèñîì ýòîé ñèñòåìû ÿâëÿåòñÿ ñëåäóþùèé ÷èñëîâîé ðÿä: 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ... Îí íàçûâàåòñÿ ðÿäîì Ôèáîíà÷÷è èëè ÷èñëàìè Ôèáîíà÷÷è. Ðÿä Ôèáîíà÷÷è ñòðîèòñÿ ñëåäóþùèì îáðàçîì. Ïåðâûå äâà ÷èñëà: F1 = 1, F2 = 2. Êàæäîå ñëåäóþùåå ÷èñëî ðàâíî ñóììå äâóõ ïðåäûäóùèõ ÷èñåë: F3 = F2 + F1, F4 = F3 + F2, F5 = F4 + F3 è ò. ä. Ìîæíî äîêàçàòü, ÷òî â ôèáîíà÷÷èåâîé ñèñòåìå ïðåäñòàâèìî ëþáîå öåëîå ÷èñëî.  òàáë. 1.3 äëÿ ñðàâíåíèÿ ïðèâîäÿòñÿ ïåðâûå 10 öåëûõ ÷èñåë â äåñÿòè÷íîé, äâîè÷íîé è ôèáîíà÷÷èåâîé ñèñòåìàõ ñ÷èñëåíèÿ: Òàáëèöà 1.3. Ïðåäñòàâëåíèå ÷èñåë â ôèáîíà÷÷èåâîé ñèñòåìå ñ÷èñëåíèÿ Äåñÿòè÷íàÿ ñ. ñ.

0

1

2

Äâîè÷íàÿ ñ. ñ.

0

1

Ôèááîíà÷÷èåâà ñ. ñ.

0

1

3

4

5

6

7

8

9

10 11

100

101

110

111

1000

1001

10 100

101

1000

1001

1010 10000 10001

Îòìåòèì âàæíóþ îñîáåííîñòü ôèáîíà÷÷èåâîé ñèñòåìû: íåîäíîçíà÷íîñòü ïðåäñòàâëåíèÿ íåêîòîðûõ öåëûõ ÷èñåë â ýòîé ñèñòåìå. Íàïðèìåð, ÷èñëî 3 ìîæíî çàïèñàòü äâóìÿ ñïîñîáàìè: 3 = 11fib = 100fib. À ÷èñëî 8 ìîæíî çàïèñàòü òðåìÿ ñïîñîáàìè: 8 = 10000fib = 1100fib = 1011fib. Òàêîå ñâîéñòâî ñèñòåìû íàçûâàåòñÿ èçáûòî÷íîñòüþ. Òðàäèöèîííûå ñèñòåìû ñ÷èñëåíèÿ íå èìåþò èçáûòî÷íîñòè. Äëÿ àâòîìàòè÷åñêîé îáðàáîòêè äàííûõ èçáûòî÷íîñòü îêàçûâàåòñÿ ïîëåçíûì ñâîéñòâîì. Áëàãîäàðÿ èçáûòî÷íîñòè ìîæíî îáíàðóæèâàòü ïîòåðþ äàííûõ, âîçíèêàþùóþ èç-çà òåõíè÷åñêèõ ñáîåâ. Îòñþäà èíòåðåñ ê ôèáîíà÷÷èåâîé ñèñòåìå ñ÷èñëåíèÿ ñî ñòîðîíû êîíñòðóêòîðîâ âû÷èñëèòåëüíîé òåõíèêè.


34

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Ñèñòåìà îñíîâíûõ ïîíÿòèé Ïîçèöèîííûå ñèñòåìû ñ÷èñëåíèÿ Òðàäèöèîííûå ñèñòåìû: îñíîâàíèå ñèñòåìû (p) ðàâíî ðàçìåðó àëôàâèòà; áàçèñ — áåñêîíå÷íûé â îáå ñòîðîíû ðÿä öåëûõ ñòåïåíåé îñíîâàíèÿ Ðàçâ¸ðíóòàÿ ôîðìà çàïèñè ÷èñëà: X = anan–1an–2...a3a2a1a0,a–1a–2...a–m = n n–1 2 –1 –m = anp + an–1p + ... + a2p + a1p + a0 + a–1p + ... + a–mp ài — öèôðà i-ãî ðàçðÿäà ÷èñëà; p — îñíîâàíèå ñèñòåìû ñ÷èñëåíèÿ (p ³ 2) Ñõåìà Ãîðíåðà — áûñòðûé àëãîðèòì ïåðåâîäà p-è÷íîãî ÷èñëà â äåñÿòè÷íîå Öåëîå ÷èñëî

Äðîáíîå ÷èñëî

X = (anan–1an–2...a3a2a1a0)p = = ((...(anp + an–1)p + an–2)p + ... + a3)p + a2)p + a1)p + a0

Y = (0,a–1a–2a–3...a–m+1a–m)p = = ((...(a–m/p + a–m+1)/p + ... + a–3)/p + a–2)/p + a–1)/p

Íåòðàäèöèîííàÿ ñèñòåìà (ïðèìåð): ôèáîíà÷÷èåâà ñèñòåìà ñ÷èñëåíèÿ Áàçèñ F1 = 1, F2 = 2, F3 = F2 + F1, F4 = F3 + F2,…, Fi = Fi–1 + Fi–2,… ® 1, 2, 3, 5, 8, 13, 21, 34, ... — ÷èñëà Ôèáîíà÷÷è

Àëôàâèò: 0, 1

Ôèáîíà÷÷èåâà ñèñòåìà ñ÷èñëåíèÿ èçáûòî÷íà; òðàäèöèîííûå ñèñòåìû íå èçáûòî÷íû

Âîïðîñû è çàäàíèÿ 1. Îïðåäåëèòå îñíîâíûå ïîíÿòèÿ ñèñòåì ñ÷èñëåíèÿ: òðàäèöèîííûå ñèñòåìû, íåòðàäèöèîííûå ñèñòåìû; öèôðà, àëôàâèò ñèñòåìû, îñíîâàíèå ñèñòåìû. 2. Ïî÷åìó ðàçâ¸ðíóòóþ ôîðìó çàïèñè ÷èñëà íàçûâàþò ðàçëîæåíèåì ïî áàçèñó? 3. ×åìó áóäåò ðàâíî: 1/3 ïðè ïåðåâîäå â òðîè÷íóþ ñèñòåìó, 1/5 — â ïÿòåðè÷íóþ ñèñòåìó, 1/8 — â âîñüìåðè÷íóþ ñèñòåìó, 1/16 — â øåñòíàäöàòåðè÷íóþ ñèñòåìó? 4. ×òî îáùåãî ìåæäó ðåçóëüòàòàìè âû÷èñëåíèÿ ñëåäóþùèõ âûðàæåíèé: 1112 + 12, 2223 + 13, 7778 + 18, FFF16 + 116 ? þ 5. Íàçîâèòå ïðåäûäóùèå çíà÷åíèÿ â íàòóðàëüíîì ðÿäå ÷èñåë äëÿ ñëåäóþùèõ çíà÷åíèé: 1005, 1007, 1009. þ 6. Âûïîëíèòå áûñòðûé ïåðåâîä â äåñÿòè÷íóþ ñèñòåìó ñ÷èñëåíèÿ ñëåäóþùèõ íåäåñÿòè÷íûõ ÷èñåë, ïîëüçóÿñü êàëüêóëÿòîðîì è âû÷èñëèòåëüíîé ñõåìîé Ãîðíåðà: à) 32045, 11010112, 567218, 9A3CEF16; á) 0,32045, 0,11010112, 0,567218, 0,9A3CEF16. 7.  òàáë. 1.3 äëÿ âñåõ ÷èñåë â äèàïàçîíå îò 0 äî 9 ïðèâåäåíî ëèøü ïî îäíîìó ñïîñîáó ïðåäñòàâëåíèÿ â ôèáîíà÷÷èåâîé ñèñòåìå ñ÷èñëåíèÿ. Äëÿ òåõ ÷èñåë èç òàáëèöû, ïðåäñòàâëåíèå êîòîðûõ íåîäíîçíà÷íî, çàïèøèòå âñå âàðèàíòû.


1.3.2. Ïåðåâîä äåñÿòè÷íûõ ÷èñåë â äðóãèå ñèñòåìû ñ÷èñëåíèÿ

35

Êîìïüþòåðíûé ïðàêòèêóì. Ðàçäåë «Ñèñòåìû ñ÷èñëåíèÿ»

1.3.2

Ïåðåâîä äåñÿòè÷íûõ ÷èñåë â äðóãèå ñèñòåìû ñ÷èñëåíèÿ

Ðàññìîòðèì ïåðåâîä äåñÿòè÷íûõ ÷èñåë â ñèñòåìû ñ÷èñëåíèÿ ñ äðóãèìè îñíîâàíèÿìè. Ïîäîéäåì ê ýòîé ïðîáëåìå ñ îáùåé ìàòåìàòè÷åñêîé ïîçèöèè. Ñíà÷àëà ïîëó÷èì ïðàâèëî ïåðåâîäà öåëîãî ÷èñëà. Îáîçíà÷èì öåëîå ÷èñëî ÷åðåç Õ. Îñíîâàíèå ñèñòåìû ñ÷èñëåíèÿ, â êîòîðóþ áóäåì ïåðåâîäèòü, îáîçíà÷èì p.  ðåçóëüòàòå ïåðåâîäà ïîëó÷èòñÿ (n + 1)-ðàçðÿäíîå ÷èñëî. Çàïèøåì ýòî ñëåäóþùèì îáðàçîì: X = (anan–1an–2...a3a2a1a0)p. Çäåñü a0 îáîçíà÷àåò öèôðó íóëåâîãî ðàçðÿäà ÷èñëà, a1 — öèôðó ïåðâîãî ðàçðÿäà è ò. ä. Çíà÷åíèÿ ýòèõ öèôð ëåæàò â äèàïàçîíå îò 0 äî ð – 1. Çàïèøåì çíà÷åíèå ÷èñëà â ñèñòåìå ñ îñíîâàíèåì p â ðàçâ¸ðíóòîì âèäå è ïðåîáðàçóåì ê ñêîáî÷íîé ôîðìå: X = (anan–1an–2...a3a2a1a0)p = ((...(anp + an–1)p + an–2)p + ... + a3)p + a2)p + a1)p + a0 = X1 · p + a0. Îòñþäà íåòðóäíî ïîíÿòü, ÷òî a0 ðàâíî îñòàòêó îò öåëî÷èñëåííîãî äåëåíèÿ Õ íà ð, à Õ1 — ÷àñòíîå îò öåëî÷èñëåííîãî äåëåíèÿ Õ íà ð. Ïðèìåíÿÿ ñèìâîëèêó ÿçûêà Ïàñêàëü, çàïèøåì: a0 = X mod p, X1 = X div p. Çäåñü div — çíàê îïåðàöèè öåëîãî äåëåíèÿ, à mod — îñòàòêà îò äåëåíèÿ. Òàêèì îáðàçîì, íàéäåíà a0 — öèôðà íóëåâîãî ðàçðÿäà ÷èñëà â p-è÷íîé ñèñòåìå. Òåïåðü çàïèøåì ÷èñëî Õ1 â ñêîáî÷íîé ôîðìå: X1 = (anan–1an–2...a3a2a1)p = = ((...(anp + an–1)p + an–2)p + ... + a3)p + a2)p + a1 = X2 · p + a1. Ïî àíàëîãèè ñ ïðåäûäóùèì, a1 = X1 mod p — îñòàòîê îò äåëåíèÿ Õ1 íà ð; X2 = X1 div p. Íàéäåí a1 — ïåðâûé ðàçðÿä èñêîìîãî ÷èñëà. Ïðîäîëæàÿ äàëåå öåëî÷èñëåííûå äåëåíèÿ íà ð ñ âûäåëåíèåì îñòàòêà, ïîñëåäîâàòåëüíî áóäåì ïîëó÷àòü èñêîìûå öèôðû ð-è÷íîãî ÷èñëà. Ïðîöåññ çàêîí÷èòñÿ, êîãäà â ðåçóëüòàòå äåëåíèÿ íàöåëî (div) ïîëó÷èòñÿ íîëü. Ïîñëåäíèé îñòàòîê áóäåò ðàâåí an— ñòàðøåé öèôðå ÷èñëà.


36

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Çàäà÷à 1. Ïåðåâåñòè ÷èñëî 5810 â òðîè÷íóþ ñèñòåìó ñ÷èñëåíèÿ. Ïåðåâîä ïðîèçâîäèì ïóòåì ïîñëåäîâàòåëüíûõ äåëåíèé íà 3. Ïîñëå çíàêà ðàâåíñòâà çàïèñûâàåòñÿ öåëàÿ ÷àñòü ÷àñòíîãî, à â ñêîáêàõ óêàçûâàåòñÿ îñòàòîê. 58 : 3 = 19 (1) 19 : 3 = 6 (1) 6:3=2 (0) 2:3=0 (2) Çàïèøåì ïîñëåäîâàòåëüíî îñòàòêè, íà÷èíàÿ ñ ïîñëåäíåãî: 58=20113. Ýòî ðàâåíñòâî ìû óæå ïîëó÷àëè â ïðåäûäóùåì ïàðàãðàôå. Òåïåðü ðàññìîòðèì ïåðåâîä äåñÿòè÷íîé äðîáè â ñèñòåìó ñ÷èñëåíèÿ ñ îñíîâàíèåì ð. Ïóñòü Y — äðîáíîå äåñÿòè÷íîå ÷èñëî: Y < 1. Î÷åâèäíî, ÷òî â ñèñòåìå ñ îñíîâàíèåì ð îíî òàêæå áóäåò äðîáíûì ÷èñëîì, ïîñêîëüêó 1 â ëþáîé ñèñòåìå ñ÷èñëåíèÿ îáîçíà÷àåò îäíó è òó æå âåëè÷èíó. ×èñëî, ðàâíîå Y â ñèñòåìå ñ îñíîâàíèåì ð, çàïèøåì â ðàçâ¸ðíóòîé ôîðìå: Y = (0,a–1a–2a–3...a–m+1a–m)p = a–1p–1 + a–2p–2 + a–3p–3 + ... Óìíîæèì ýòî ðàâåíñòâî íà ð: Y · p = a–1 + a–2p–1 + a–3p–2 + ... = a–1 + Y1. Îòñþäà âèäíî, ÷òî a–1 — ýòî öåëàÿ ÷àñòü ïðîèçâåäåíèÿ Y · p, à Y1 — äðîáíàÿ ÷àñòü ýòîãî ïðîèçâåäåíèÿ. Äàëåå óìíîæèì Y1 íà ð: Y1 · p = a–2 + a–3p–1 + a–4p–2 + ... = a–2 + Y2. Òåïåðü a–2 ñòàëî öåëîé ÷àñòüþ ïðîèçâåäåíèÿ Y1 · p. Î÷åâèäíî, ÷òî äàëüøå íóæíî óìíîæàòü íà ð çíà÷åíèå Y2. Âûäåëèâ åãî öåëóþ ÷àñòü, ïîëó÷èì òðåòüþ öèôðó äðîáíîãî ÷èñëà — a–3. È òàê äàëåå. Äî êàêèõ æå ïîð ïðîäîëæàòü ýòîò ïðîöåññ? Òóò ìîãóò áûòü ðàçíûå ñèòóàöèè. Ïåðâàÿ ñèòóàöèÿ: ïîñëå íåêîòîðîãî ÷èñëà óìíîæåíèé â äðîáíîé ÷àñòè ïðîèçâåäåíèÿ ïîëó÷èòñÿ íîëü. Ïîíÿòíî, ÷òî âñå ñëåäóþùèå ai áóäóò ðàâíû íóëþ. Ñëåäîâàòåëüíî, ïåðåâåä¸ííîå çíà÷åíèå èìååò êîíå÷íîå ÷èñëî öèôð. Ðàññìîòðèì ïðèìåð òàêîãî ïåðåâîäà. Çàäà÷à 2. Ïåðåâåñòè äåñÿòè÷íóþ äðîáü 0,625 â äâîè÷íóþ ñèñòåìó ñ÷èñëåíèÿ. Áóäåì ïîñëåäîâàòåëüíî óìíîæàòü ýòî ÷èñëî íà 2, âûäåëÿÿ öåëóþ ÷àñòü ïðîèçâåäåíèÿ: 0,625 · 2 = 1,25 0,25 · 2 = 0,5 0,5 · 2 = 1,0

1 — ïåðâàÿ öèôðà 0 — âòîðàÿ öèôðà 1 — òðåòüÿ öèôðà Äàëüøå íóëè

 èòîãå ïîëó÷èëè: 0,62510 = 0,1012.


1.3.3. Àâòîìàòèçàöèÿ ïåðåâîäà ÷èñåë èç ñèñòåìû â ñèñòåìó

37

Âòîðàÿ ñèòóàöèÿ — ïîëó÷åíèå ïåðèîäè÷åñêîé äðîáíîé ÷àñòè.  òàêîì ñëó÷àå ïîñëåäîâàòåëüíûå óìíîæåíèÿ íàäî ïðîäîëæàòü äî âûäåëåíèÿ ïåðèîäà. Çàäà÷à 3. Ïåðåâåñòè ÷èñëî 0,24610 â ïÿòåðè÷íóþ ñèñòåìó ñ÷èñëåíèÿ. 0,246 0,23 · 0,15 · 0,75 · 0,75 ·

· 5 = 1,23 5 = 1,15 5 = 0,75 5 = 3,75 5 = 3,75

1 1 0 3 3

Äàëåå ïîéä¸ò ïåðèîäè÷åñêîå ïîâòîðåíèå öèôðû 3. Ðåçóëüòàò ïîëó÷èëñÿ òàêèì: 0,24610 = 0,110(3)5. Èç ìàòåìàòèêè âàì äîëæíî áûòü èçâåñòíî, ÷òî ÷èñëî ñ êîíå÷íîé èëè ïåðèîäè÷åñêîé äåñÿòè÷íîé äðîáíîé ÷àñòüþ ÿâëÿåòñÿ ðàöèîíàëüíûì ÷èñëîì. Ìîæíî äîêàçàòü, ÷òî ëþáîå äðîáíîå ðàöèîíàëüíîå äåñÿòè÷íîå ÷èñëî ïðè ïåðåâîäå â äðóãóþ ñèñòåìó ñ÷èñëåíèÿ òàêæå äà¸ò ðàöèîíàëüíîå ÷èñëî. Ïîïðîáóéòå äîêàçàòü ýòî ñàìîñòîÿòåëüíî! ×àùå âñåãî ïðè ïåðåâîäå äåñÿòè÷íîé äðîáè â äðóãóþ ñèñòåìó ñ÷èñëåíèÿ ïîëó÷àþò ïðèáëèæ¸ííûé ðåçóëüòàò ñ çàäàííîé òî÷íîñòüþ. Íàïðèìåð, òðåáóåòñÿ ïåðåâåñòè äåñÿòè÷íîå ÷èñëî 0,21 â âîñüìåðè÷íóþ ñèñòåìó ñ÷èñëåíèÿ ñ òî÷íîñòüþ äî 7 öèôð. Âûïîëíÿåòñÿ ïåðåâîä ÷èñëà äî 8 öèôð ïîñëå çàïÿòîé: 0,2110 = 0,15341217…8. Çàòåì ïðîèçâîäèòñÿ îêðóãëåíèå äî 7-é öèôðû: 0,2110 » 0,15341228. Çàìåòèì, ÷òî â ýòîì ñëó÷àå ê ïîñëåäíåé öèôðå íóæíî ïðèáàâëÿòü åäèíèöó, åñëè ïåðâàÿ îòáðàñûâàåìàÿ öèôðà ³4, òàê êàê 8/2 = 4. Åñëè òðåáóåòñÿ ïåðåâåñòè ñìåøàííîå äåñÿòè÷íîå ÷èñëî, òî îòäåëüíî ïåðåâîäèòñÿ öåëàÿ ÷àñòü ÷èñëà ïóòåì ïîñëåäîâàòåëüíûõ äåëåíèé è îòäåëüíî äðîáíàÿ ÷àñòü ÷èñëà ïóòåì óìíîæåíèé. Çàòåì äâà ýòèõ ðåçóëüòàòà çàïèñûâàþòñÿ ÷åðåç çàïÿòóþ îäíèì ñìåøàííûì ÷èñëîì.

1.3.3

Àâòîìàòèçàöèÿ ïåðåâîäà ÷èñåë èç ñèñòåìû â ñèñòåìó

 ýòîì ïàðàãðàôå áóäóò ðàññìîòðåíû ñïîñîáû ïåðåâîäà ÷èñåë èç îäíîé ñèñòåìû ñ÷èñëåíèÿ â äðóãóþ ñ ïîìîùüþ ýëåêòðîííûõ òàáëèö è ïðîãðàììèðîâàíèÿ. Ïåðåâîä èç íåäåñÿòè÷íîé ñèñòåìû â äåñÿòè÷íóþ Êàê ïåðåâîäèòü íåäåñÿòè÷íûå ÷èñëà â äåñÿòè÷íóþ ñèñòåìó ñ÷èñëåíèÿ, áûëî ðàññêàçàíî ðàíüøå. Òàì æå îïèñàí ñïîñîá áûñòðîãî ïåðåâîäà íà îñíîâå èñïîëüçîâàíèÿ ñõåìû Ãîðíåðà, êîòîðûé ìîæíî ðåàëèçîâàòü íà ïðîñòîì êàëüêóëÿòîðå.


38

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Ðåøèì òåïåðü òàêóþ çàäà÷ó. Òðåáóåòñÿ ñîçäàòü ýëåêòðîííóþ òàáëèöó, ñ ïîìîùüþ êîòîðîé áóäåò ïðîèñõîäèòü àâòîìàòè÷åñêèé ïåðåâîä íåäåñÿòè÷íîãî ÷èñëà èç ëþáîé ñèñòåìû ñ÷èñëåíèÿ, îñíîâàíèå êîòîðîé ìåíüøå äåñÿòè, â äåñÿòè÷íóþ ñèñòåìó. Ïðèìåð èñïîëüçîâàíèÿ òàêîé òàáëèöû ïðèâåä¸í íà ðèñ. 1.6. Çäåñü ïîêàçàí ïåðåâîä òðîè÷íîãî ÷èñëà 2011,13. A

B

C

D

E

F

G

3

2

1

0

2

0

1

1

54

0

3

1

H

I

J

K

L

-1

-2

-3

-4

M

N

1 2 Îñíîâàíèå ñèñòåìû:

3

3 4 Ðàçðÿäû:

5

4

5 ×èñëî: 6 Ïåðåâîä:

0

0

,

1 0,33

= 0

0

58,333333

0

Ðèñ. 1.6. Ïåðåâîä íåäåñÿòè÷íîãî ÷èñëà â äåñÿòè÷íóþ ñèñòåìó ñ÷èñëåíèÿ â ýëåêòðîííîé òàáëèöå

Äëÿ ïåðåâîäà ÷èñëà èñïîëüçóåòñÿ ðàçëîæåíèå åãî ïî áàçèñó. Îñíîâàíèå ñèñòåìû — â ÿ÷åéêå D2. Íîìåðà ðàçðÿäîâ ÷èñëà ðàâíû ñòåïåíÿì îñíîâàíèÿ â áàçèñå (â ðàçâ¸ðíóòîé ôîðìå). Çíà÷àùèå öèôðû ÷èñëà âïèñûâàþòñÿ â ñîîòâåòñòâóþùèå ÿ÷åéêè ïÿòîé ñòðîêè.  øåñòîé ñòðîêå âû÷èñëÿþòñÿ ñëàãàåìûå ðàçâ¸ðíóòîé ôîðìû ÷èñëà. Íàïðèìåð, â ÿ÷åéêå B6 çàïèñàíà ôîðìóëà: =B5*$D$2^B4.  ÿ÷åéêå C6: =C5*$D$2^C4 è ò. ä. Ðåçóëüòàò ïåðåâîäà ïîëó÷àåòñÿ â ÿ÷åéêå N5, ãäå ñòîèò ôîðìóëà: =ÑÓÌÌ(B6:L6). Äàííàÿ òàáëèöà ðàññ÷èòàíà íà 6-ðàçðÿäíóþ öåëóþ ÷àñòü è 4-ðàçðÿäíóþ äðîáíóþ ÷àñòü. Ïðè íåîáõîäèìîñòè å¸ ìîæíî ðàñøèðèòü. Ó÷èìñÿ ïðîãðàììèðîâàòü (Öåëî÷èñëåííàÿ àðèôìåòèêà)

Ðàññìîòðèì ïðîãðàììó íà Ïàñêàëå, ïî êîòîðîé ïðîèñõîäèò ïåðåâîä öåëîãî íåäåñÿòè÷íîãî ÷èñëà â äåñÿòè÷íóþ ñèñòåìó. Program Numbers_p_10; var N10,Np,k: longint; p: 2..9; begin write('p='); readln(p); {ââîä îñíîâàíèÿ ñèñòåìû} write('N',p,'='); readln(Np); {ââîä èñõîäíîãî p-è÷íîãî ÷èñëà} k:=1; N10:=0; while (Np0) do {öèêë âûïîëíÿåòñÿ, ïîêà Np íå ðàâíî íóëþ} begin N10:=N10+(Np mod 10)*k; {ñóììèðîâàíèå ðàçâ¸ðíóòîé ôîðìû} k:=k*p; {âû÷èñëåíèå áàçèñà: p, p2, p3 ...}


1.3.3. Àâòîìàòèçàöèÿ ïåðåâîäà ÷èñåë èç ñèñòåìû â ñèñòåìó

Np:=Np div 10 end; writeln('N10=', N10) end.

39

{îòáðàñûâàíèå ìëàäøåé öèôðû} {âûâîä äåñÿòè÷íîãî ÷èñëà}

 ïðîãðàììå èñïîëüçîâàíû ñëåäóþùèå ïåðåìåííûå: p — îñíîâàíèå ñèñòåìû ñ÷èñëåíèÿ — èñõîäíîå äàííîå; Np — öåëîå p-è÷íîå ÷èñëî — èñõîäíîå äàííîå; N10 — äåñÿòè÷íîå ÷èñëî — ðåçóëüòàò; Òèï longint — òèï äëèííîå öåëîå. Çíà÷åíèÿ âåëè÷èí ýòîãî òèïà ëåæàò â äèàïàçîíå îò –2147483648 äî 2147483647. (Çíà÷èò, äàííàÿ ïðîãðàììà ìîæåò ðàáîòàòü ñ ÷èñëàìè, íå áîëåå, ÷åì 9-çíà÷íûìè.) Òèï ïåðåìåííîé ð — äèàïàçîí öåëûõ ÷èñåë îò 2 äî 9. Ïðî îïåðàöèè div è mod óæå áûëî ñêàçàíî ðàíüøå: div — öåëî÷èñëåííîå äåëåíèå, mod — îñòàòîê îò öåëî÷èñëåííãî äåëåíèÿ. Íàïðèìåð: 1234 mod 10 = 4 — âûäåëÿåòñÿ ðàçðÿä åäèíèö; 1234 div 10 = 123 — îòáðàñûâàåòñÿ ìëàäøèé ðàçðÿä. Ïðèìåð. Ïðè ïåðåâîäå ïî äàííîé ïðîãðàììå äâîè÷íîãî ÷èñëà 11012 â äåñÿòè÷íóþ ñèñòåìó íà ýêðàíå óâèäèì: p=2 N2=1101 N10=13

Ñëåäîâàòåëüíî, â èòîãå ïîëó÷èëè: 11012 = 1310. Äëÿ ëó÷øåãî ïîíèìàíèÿ ðàáîòû ïðîãðàììû âíèìàòåëüíî èçó÷èòå ïðèâåä¸ííóþ íèæå òðàññèðîâî÷íóþ òàáëèöó. Îíà îòðàæàåò èçìåíåíèÿ çíà÷åíèé ïåðåìåííûõ íà êàæäîì øàãå âûïîëíåíèÿ àëãîðèòìà, ðåàëèçîâàííîãî â ïðîãðàììå. Øàã àëãîðèòìà

P

Êîìàíäà àëãîðèòìà

1

Ââîä p, Np, k:=1, N10=0

2

Np<>0

3

N10:=N10+(Np mod 10)*k

4

k:=k*p

5

Np:=Np div 10

6

Np<>0

7

N10:=N10+(Np mod 10)*k

8

k:=k*p

9

Np:=Np div 10

10

Np<>0

11

N10:=N10+(Np mod 10)*k

2

Np 1101

k 1

N10

Ïðîâåðêà óñëîâèÿ

0 1101 ¹ 0, äà 1

2 110 110 ¹ 0, äà 1 4 11 11 ¹ 0, äà 5


40

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Øàã àëãîðèòìà

Êîìàíäà àëãîðèòìà

12

k:=k*p

13

Np:=Np div 10

14

Np<>0

15

N10:=N10+(Np mod 10)*k

16

k:=k*p

17

Np:=Np div 10

18

Np<>0

19

Âûâîä N10

P

Np

k

N10

Ïðîâåðêà óñëîâèÿ

8 1 1 ¹ 0, äà 13 16 0 0 ¹ 0, íåò 13

Òåïåðü ïîçíàêîìüòåñü ñ ïðîãðàììîé ïåðåâîäà öåëîãî äåñÿòè÷íîãî ÷èñëà â íåäåñÿòè÷íóþ ñèñòåìó ñ÷èñëåíèÿ ñ îñíîâàíèåì p (1 < p < 10). Program Numbers10-p; var N10, Np, k: longint; p: 2..9; begin write('N10='); readln(N10); {Ââîä èñõîäíîãî 10-òè÷íîãî ÷èñëà} write('p='); readln(p); {Ââîä îñíîâàíèÿ ñèñòåìû} k:=1; Np:=0; repeat Np:=Np+(N10 mod p)*k; {Ñóììèðîâàíèå ðàçâ¸ðíóòîé ôîðìû} k:=k*10; {Âû÷èñëåíèå áàçèñà: 10, 100, 1000, ...} N10:=N10 div p {Îòáðàñûâàíèå ìëàäøåé öèôðû} until (N10=0); {Öèêë çàêàí÷èâàåò âûïîëíåíèå ïðè N10=0} Writeln('N',p,'=',Np) {Âûâîä p-è÷íîãî ÷èñëà} end.

Çäåñü èñïîëüçîâàíû òå æå îáîçíà÷åíèÿ, ÷òî è â ïðåäûäóùåé ïðîãðàììå. Èñõîäíûìè äàííûìè ÿâëÿþòñÿ: N10 — äåñÿòè÷íîå ÷èñëî è p — îñíîâàíèå ñèñòåìû, â êîòîðóþ îñóùåñòâëÿåòñÿ ïåðåâîä. Ðåçóëüòàò ïîëó÷àåòñÿ â ïåðåìåííîé Np — ÷èñëî â ñèñòåìå ñ îñíîâàíèåì p.  àëãîðèòìå èñïîëüçóåòñÿ öèêë ñ ïîñòóñëîâèåì repeat...until. Öèêë ïîâòîðÿåòñÿ äî âûïîëíåíèÿ óñëîâèÿ: N10 = 0. Ïðèìåð èñïîëüçîâàíèÿ ïðîãðàììû. Ïåðåâåä¸ì ÷èñëî 2510 â äâîè÷íóþ ñèñòåìó ñ÷èñëåíèÿ. Ðàáîòà ïðîãðàììû íà ýêðàíå êîìïüþòåðà îòðàçèòñÿ ñëåäóþùèì îáðàçîì: N10=25 p=2 N2=11001 Ñëåäîâàòåëüíî, â ðåçóëüòàòå ïîëó÷èëè: 2510 =110012. Äëÿ ëó÷øåãî ïîíèìàíèÿ ðàáîòû ïðîãðàììû ðåêîìåíäóåì ïîñòðîèòü òðàññèðîâî÷íóþ òàáëèöó íàïîäîáèå ïðåäûäóùåé.


1.3.4. Ñìåøàííûå ñèñòåìû ñ÷èñëåíèÿ

41

Ñèñòåìà îñíîâíûõ ïîíÿòèé Ïåðåâîä äåñÿòè÷íûõ ÷èñåë â ð-è÷íûå Öåëûå ÷èñëà

Äðîáíûå ÷èñëà

Ïåðåâîä ïðîèçâîäèòñÿ ïîñëåäîâàòåëüíûì äåëåíèåì ÷èñëà íà ð ñ âûäåëåíèåì îñòàòêà. Âû÷èñëåíèå çàêàí÷èâàåòñÿ, êîãäà ÷àñòíîå ñòàíîâèòñÿ ðàâíûì íóëþ

Ïåðåâîä ïðîèçâîäèòñÿ ïîñëåäîâàòåëüíûì óìíîæåíèåì ÷èñëà íà ð ñ âûäåëåíèåì öåëîé ÷àñòè ïðîèçâåäåíèÿ. Ðåçóëüòàò — êîíå÷íàÿ èëè ïåðèîäè÷åñêàÿ äðîáü

Ïðîãðàììèðîâàíèå ïåðåâîäà 10 ® ð è ð ® 10 îñíîâàíî íà èñïîëüçîâàíèè îïåðàöèé íàä öåëûìè ÷èñëàìè: div — öåëî÷èñëåííîå äåëåíèå, mod — îñòàòîê îò öåëî÷èñëåííîãî äåëåíèÿ.

Âîïðîñû è çàäàíèÿ 1. Êàê ïåðåâîäèòñÿ öåëîå äåñÿòè÷íîå ÷èñëî â ñèñòåìó ñ÷èñëåíèÿ ñ îñíîâàíèåì ð? 2. Êàê ïåðåâîäèòñÿ äðîáíîå äåñÿòè÷íîå ÷èñëî â ñèñòåìó ñ÷èñëåíèÿ ñ îñíîâàíèåì ð? þ 3. Ïåðåâåäèòå ÷èñëî 4267,13 â äâîè÷íóþ è âîñüìåðè÷íóþ ñèñòåìû ñ÷èñëåíèÿ.

Êîìïüþòåðíûé ïðàêòèêóì. Ðàçäåë «Ñèñòåìû ñ÷èñëåíèÿ»

Ñìåøàííûå ñèñòåìû ñ÷èñëåíèÿ

1.3.4

Ñïîñîá çàïèñè ÷èñåë, ïðè êîòîðîì ÷èñëà èç ïîçèöèîííîé ñèñòåìû ñ÷èñëåíèÿ ñ îñíîâàíèåì Q çàïèñûâàþòñÿ ñ ïîìîùüþ öèôð ñèñòåìû ñ÷èñëåíèÿ ñ îñíîâàíèåì P, íàçûâàåòñÿ ñìåøàííîé P–Q-è÷íîé ñèñòåìîé ñ÷èñëåíèÿ. Ïðèìåðîì ñìåøàííîé ñèñòåìû ÿâëÿåòñÿ äâîè÷íî-äåñÿòè÷íàÿ ñèñòåìà ñ÷èñëåíèÿ.  íåé äåñÿòè÷íîå ÷èñëî çàïèñûâàåòñÿ ïóò¸ì çàìåíû êàæäîé öèôðû íà 4-ðàçðÿäíûé äâîè÷íûé êîä. Òàáëèöà ñîîòâåòñòâèÿ äëÿ äâîè÷íî-äåñÿòè÷íîé ñèñòåìû ñëåäóþùàÿ: 10

0

1

2

3

4

5

6

7

8

9

2

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

 ýòîé òàáëèöå êàæäîé äåñÿòè÷íîé öèôðå ïîñòàâëåíî â ñîîòâåòñòâèå ðàâíîå åé ÷åòûð¸õçíà÷íîå äâîè÷íîå ÷èñëî (íóëè ñëåâà — íåçíà÷àùèå). Íàïðèìåð, äåñÿòè÷íîå ÷èñëî 58236,37 â äâîè÷íî-äåñÿòè÷íîé ôîðìå çàïèøåòñÿ òàê: 101 1000 0010 0011 0110,0011 01112–10. Ïåðâûé ñëåâà íîëü ó öåëîãî ÷èñëà ÿâëÿåòñÿ íåçíà÷àùåé öèôðîé, ïîýòîìó åãî ìîæíî íå ïèñàòü.


42

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Äëÿ îáðàòíîãî ïðåîáðàçîâàíèÿ èç äâîè÷íî-äåñÿòè÷íîé ôîðìû â äåñÿòè÷íîå ÷èñëî íóæíî ðàçáèòü íà ÷åòâ¸ðêè âñå çíàêè äâîè÷íîãî êîäà: îò çàïÿòîé âëåâî â öåëîé ÷àñòè è âïðàâî â äðîáíîé ÷àñòè. Çàòåì êàæäóþ ÷åòâ¸ðêó äâîè÷íûõ öèôð çàìåíèòü íà ñîîòâåòñòâóþùóþ äåñÿòè÷íóþ öèôðó. Íàïðèìåð: 11 1000 0010 1001 0011,0101 1001 1000 2–10 ® 38293,598 Îòìåòèì âàæíîå îáñòîÿòåëüñòâî: ìåæäó äàííûìè äåñÿòè÷íûì è äâîè÷íî-äåñÿòè÷íûì ÷èñëîì íåëüçÿ ïîñòàâèòü çíàê ðàâåíñòâà! Äâîè÷íî-äåñÿòè÷íîå ïðåäñòàâëåíèå — ýòî âñåãî ëèøü äâîè÷íûé êîä äëÿ ïðåäñòàâëåíèÿ äåñÿòè÷íîãî ÷èñëà, íî íèêàê íå ðàâíîå åìó çíà÷åíèå â äâîè÷íîé ñèñòåìå ñ÷èñëåíèÿ. Âûïîëíåíèå àðèôìåòè÷åñêèõ âû÷èñëåíèé íàä äåñÿòè÷íûìè ÷èñëàìè, ïðåäñòàâëåííûìè â äâîè÷íî-äåñÿòè÷íîé ôîðìå, âåñüìà çàòðóäíèòåëüíû. Òåì íå ìåíåå â èñòîðèè ÝÂÌ èçâåñòíû òàêèå ïðèìåðû.  ïåðâîé ÝÂÌ ïîä íàçâàíèåì ENIAC èñïîëüçîâàëàñü äâîè÷íî-äåñÿòè÷íàÿ ñèñòåìà. Ñîâðåìåííûå êîìïüþòåðû ïðîèçâîäÿò âû÷èñëåíèÿ â äâîè÷íîé ñèñòåìå ñ÷èñëåíèÿ. Îäíàêî äëÿ ïðåäñòàâëåíèÿ êîìïüþòåðíîé èíôîðìàöèè íåðåäêî èñïîëüçóþòñÿ äâîè÷íî-âîñüìåðè÷íàÿ è äâîè÷íî-øåñòíàäöàòåðè÷íàÿ ñèñòåìû. Äâîè÷íî-âîñüìåðè÷íàÿ ñèñòåìà.  ñëåäóþùåé òàáëèöå ïðåäñòàâëåíî ñîîòâåòñòâèå ìåæäó âîñüìåðè÷íûìè öèôðàìè è òð¸õçíà÷íûìè äâîè÷íûìè ÷èñëàìè (äâîè÷íûìè òðèàäàìè), ðàâíûìè ïî çíà÷åíèþ ýòèì öèôðàì: 8

0

1

2

3

4

5

6

7

2

000

001

010

011

100

101

110

111

Çàïèñàòü âîñüìåðè÷íîå ÷èñëî â äâîè÷íî-âîñüìåðè÷íîì âèäå — ýòî çíà÷èò çàìåíèòü êàæäóþ âîñüìåðè÷íóþ öèôðó íà ñîîòâåòñòâóþùóþ äâîè÷íóþ òðèàäó. Íàïðèìåð: 3517,28 ® 11 101 001 111,010 2–8. À òåïåðü ïåðåâåä¸ì äàííîå âîñüìåðè÷íîå ÷èñëî â äâîè÷íóþ ñèñòåìó ñ÷èñëåíèÿ. Äëÿ ýòîãî ñíà÷àëà åãî ïåðåâåä¸ì â äåñÿòè÷íóþ ñèñòåìó, à ïîòîì èç äåñÿòè÷íîé â äâîè÷íóþ ñèñòåìó ñ÷èñëåíèÿ. Âîò ÷òî ïîëó÷àåòñÿ: 3517,2 8 = 1871,25 = 11101001111,012. Íî ýòî òîò æå ñàìûé äâîè÷íûé êîä, ÷òî çàïèñàí âûøå â äâîè÷íî-âîñüìåðè÷íîé ñèñòåìå! Ìû ïðèøëè ê ñëåäóþùåìó ðåçóëüòàòó: äâîè÷íî-âîñüìåðè÷íîå ÷èñëî ðàâíî çíà÷åíèþ äàííîãî âîñüìåðè÷íîãî ÷èñëà â äâîè÷íîé ñèñòåìå ñ÷èñëåíèÿ. Îòñþäà ñëåäóåò, ÷òî ïåðåâîä ÷èñåë èç âîñüìåðè÷íîé ñèñòåìû ñ÷èñëåíèÿ â äâîè÷íóþ ïðîèçâîäèòñÿ ïåðåêîäèðîâêîé ïî äâîè÷íî-âîñüìåðè÷íîé òàáëèöå ïóòåì çàìåíû êàæäîé âîñüìåðè÷íîé öèôðû íà ñîîòâåòñòâóþùóþ äâîè÷íóþ òðèàäó. À äëÿ ïåðåâîäà ÷èñëà èç äâîè÷íîé ñèñòåìû â âîñüìåðè÷-


1.3.4. Ñìåøàííûå ñèñòåìû ñ÷èñëåíèÿ

43

íóþ åãî öèôðû íàäî ðàçáèòü íà òðèàäû (íà÷èíàÿ îò çàïÿòîé) è çàìåíèòü êàæäóþ òðèàäó íà ñîîòâåòñòâóþùóþ âîñüìåðè÷íóþ öèôðó. Äâîè÷íî-øåñòíàäöàòåðè÷íàÿ ñèñòåìà ñ÷èñëåíèÿ.  ñëåäóþùåé òàáëèöå ïðåäñòàâëåíî ñîîòâåòñòâèå ìåæäó øåñòíàäöàòåðè÷íûìè öèôðàìè è ÷åòûð¸õçíà÷íûìè äâîè÷íûìè ÷èñëàìè (äâîè÷íûìè òåòðàäàìè), ðàâíûìè ïî çíà÷åíèþ ýòèì öèôðàì: 16

0

1

2

3

4

5

6

7

2

0000

0001

0010

0011

0100

0101

0110

0111

16

8

9

A

B

C

D

E

F

2

1000

1001

1010

1011

1100

1101

1110

1111

Çàïèñàòü øåñòíàäöàòåðè÷íîå ÷èñëî â äâîè÷íî-øåñòíàäöàòåðè÷íîì âèäå — ýòî çíà÷èò çàìåíèòü êàæäóþ øåñòíàäöàòåðè÷íóþ öèôðó íà ñîîòâåòñòâóþùóþ äâîè÷íóþ òåòðàäó. Íàïðèìåð: Ñ81F,1D16 ® 1100 1000 0001 1111,0001 11012–16. Ïåðåâåäåì äàííîå øåñòíàäöàòåðè÷íîå ÷èñëî ñíà÷àëà â äåñÿòè÷íóþ ñèñòåìó ñ÷èñëåíèÿ, à çàòåì â äâîè÷íóþ ñèñòåìó. Ïîëó÷èì: Ñ81F,1D16 = 51231,875 = 1100 1000 0001 1111,0001 11012. Ïîëó÷èëñÿ òîò æå ñàìûé äâîè÷íûé êîä, ÷òî çàïèñàí âûøå â äâîè÷íî-øåñòíàäöàòåðè÷íîé ñèñòåìå! Ðàññìîòðåííûé ïðèìåð ïðèâ¸ë ê ñëåäóþùåìó ðåçóëüòàòó: äâîè÷íî-øåñòíàäöàòåðè÷íîå ÷èñëî ðàâíî çíà÷åíèþ äàííîãî øåñòíàäöàòåðè÷íîãî ÷èñëà â äâîè÷íîé ñèñòåìå ñ÷èñëåíèÿ. Ñëåäîâàòåëüíî, äëÿ ïåðåâîäà ÷èñëà èç øåñòíàäöàòåðè÷íîé ñèñòåìû ñ÷èñëåíèÿ â äâîè÷íóþ äîñòàòî÷íî âûïîëíèòü ïåðåêîäèðîâêó ïî äâîè÷íî-øåñòíàäöàòåðè÷íîé òàáëèöå ïóò¸ì çàìåíû êàæäîé øåñòíàäöàòåðè÷íîé öèôðû íà ñîîòâåòñòâóþùóþ äâîè÷íóþ òåòðàäó. À äëÿ ïåðåâîäà ÷èñëà èç äâîè÷íîé ñèñòåìû â øåñòíàäöàòåðè÷íóþ åãî öèôðû íàäî ðàçáèòü íà òåòðàäû (íà÷èíàÿ îò çàïÿòîé) è çàìåíèòü êàæäóþ òåòðàäó íà ñîîòâåòñòâóþùóþ øåñòíàäöàòåðè÷íóþ öèôðó. Ìîæíî ëè íà îñíîâàíèè ïðèâåä¸ííûõ ÷àñòíûõ ïðèìåðîâ äåëàòü ãëîáàëüíûå âûâîäû î òîì, ÷òî äâîè÷íî-âîñüìåðè÷íûé (äâîè÷íî-øåñòíàäöàòåðè÷íûé) êîä ëþáîãî âîñüìåðè÷íîãî (øåñòíàäöàòåðè÷íîãî) ÷èñëà ñîâïàäàåò ñ äâîè÷íûì çíà÷åíèåì ýòîãî ÷èñëà? Íåò, êîíå÷íî! Ýòî óòâåðæäåíèå òðåáóåò äîêàçàòåëüñòâà. Òàêîå äîêàçàòåëüñòâî ñóùåñòâóåò1. Äîêàçàíî, ÷òî äëÿ ëþáîãî ÷èñëà â ñèñòåìå ñ÷èñëåíèÿ ñ îñíîâàíèåì p = 2n ñìåøàííûé äâîè÷íî-ð-è÷íûé êîä ñîâïàäàåò ñ ïðåäñòàâëåíèåì ýòîãî ÷èñëà â äâîè÷íîé ñèñòåìå ñ÷èñëåíèÿ. Ïîñêîëüêó 8 = 23, à 16 = 24, òî ñôîðìóëèðîâàííîå ïðàâèëî îòíîñèòñÿ ê âîñüìåðè÷íîé è øåñòíàäöàòåðè÷íîé ñèñòåìàì. Î÷åâèäíî, ÷òî òàêàÿ æå 1

Ñì. Àíäðååâà Å. Â., Áîñîâà Ë. Ë., Ôàëèíà È. Í. Ìàòåìàòè÷åñêèå îñíîâû èíôîðìàòèêè. — Ì.: ÁÈÍÎÌ. Ëàáîðàòîðèÿ çíàíèé, 2007.


44

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

ñâÿçü ñóùåñòâóåò ìåæäó äâîè÷íîé è ÷åòâåðè÷íîé ñèñòåìàìè ñ÷èñëåíèÿ, ïîñêîëüêó 4 = 22. Ëþáûå äàííûå â ïàìÿòè êîìïüþòåðà õðàíèòñÿ â äâîè÷íîì âèäå. Âîñüìåðè÷íóþ è øåñòíàäöàòåðè÷íóþ ñèñòåìû ñ÷èñëåíèÿ èñïîëüçóþò äëÿ êîìïàêòíîé çàïèñè ñîäåðæèìîãî ïàìÿòè êîìïüþòåðà, à òàêæå çàïèñè å¸ àäðåñàöèè. Âîñüìåðè÷íîå ïðåäñòàâëåíèå ñæèìàåò äâîè÷íûé êîä â òðè ðàçà, à øåñòíàäöàòåðè÷íîå ïðåäñòàâëåíèå — â ÷åòûðå ðàçà. Çàäà÷à. Ïåðåâåñòè ÷èñëî 1369,75 â äâîè÷íóþ, âîñüìåðè÷íóþ è øåñòíàäöàòåðè÷íóþ ñèñòåìû ñ÷èñëåíèÿ. Ðåøåíèå. Íàèáîëåå ðàöèîíàëüíûé ñïîñîá ðåøåíèÿ çàäà÷è ñëåäóþùèé. Íóæíî ïåðåâåñòè ýòî ÷èñëî â îäíó èç òð¸õ ñèñòåì ñ îñíîâàíèåì 2, 8 èëè 16, à çàòåì, èñïîëüçóÿ ñâÿçü ìåæäó íèìè ÷åðåç ñìåøàííîå ïðåäñòàâëåíèå, âûïîëíèòü ïåðåâîä â äâå äðóãèå ñèñòåìû ïóò¸ì ïåðåêîäèðîâêè ïî òàáëèöàì 2–8 è 2–16. 1. Ïåðåâåäåì ÷èñëî â âîñüìåðè÷íóþ ñèñòåìó ïóòåì ïîñëåäîâàòåëüíîãî äåëåíèÿ íà 8 öåëîé ÷àñòè è ïîñëåäîâàòåëüíîãî óìíîæåíèÿ íà 8 äðîáíîé ÷àñòè ÷èñëà. Ïîëó÷èì: 1369,75 = 2531,68. 2. Ïóòåì ïåðåêîäèðîâêè ïî äâîè÷íî-âîñüìåðè÷íîé òàáëèöå ïåðåâåä¸ì ýòî ÷èñëî â äâîè÷íóþ ñèñòåìó ñ÷èñëåíèÿ: 2531,68 = 10 101 011 001,1102. 3. Ðàçäåëèâ öèôðû äâîè÷íîãî ÷èñëà íà òåòðàäû (âëåâî è âïðàâî îò çàïÿòîé), ïåðåâåä¸ì äâîè÷íîå ÷èñëî â øåñòíàäöàòåðè÷íóþ ñèñòåìó, èñïîëüçóÿ äâîè÷íî-øåñòíàäöàòåðè÷íóþ òàáëèöó: 0101 0101 1001,11002 = 559,Ñ16.

Ñèñòåìà îñíîâíûõ ïîíÿòèé Ñìåøàííûå ñèñòåìû ñ÷èñëåíèÿ XQ ® YP–Q ×èñëî â ñèñòåìå ñ îñíîâàíèåì Q çàïèñûâàåòñÿ öèôðàìè èç àëôàâèòà ñèñòåìû ñ îñíîâàíèåì Ð Äâîè÷íî-äåñÿòè÷íàÿ

Äâîè÷íî-âîñüìåðè÷íàÿ

Äâîè÷íî-øåñòíàäöàòåðè÷íàÿ

X10 ® Y2–10

X8 ® Y2–8

X16 ® Y2–16

1 äåñÿòè÷íàÿ öèôðà ® 4 äâîè÷íûå öèôðû

1 âîñüìåðè÷íàÿ öèôðà ® 1 øåñòíàäöàòåðè÷íàÿ 3 äâîè÷íûå öèôðû öèôðà ® 4 äâîè÷íûå öèôðû Y2–8 = Y2 = X8 Y2–16 = Y2 = X16

Èçâåñòíû ïðèìåðû èñ- Èñïîëüçóþòñÿ äëÿ çàïèñè ñæàòîãî ïðåäñòàâëåíèÿ äâîïîëüçîâàíèÿ äëÿ ïðåä- è÷íûõ äàííûõ è çàïèñè àäðåñîâ ïàìÿòè êîìïüþòåðà ñòàâëåíèÿ â êîìïüþòåðå äåñÿòè÷íûõ ÷èñåë


1.3.5. Àðèôìåòèêà â ïîçèöèîííûõ ñèñòåìàõ ñ÷èñëåíèÿ

45

Âîïðîñû è çàäàíèÿ 1. Äàéòå îïðåäåëåíèå ñìåøàííîé ñèñòåìû ñ÷èñëåíèÿ. 2. Ïî÷åìó äâîè÷íî-äåñÿòè÷íûé êîä íå ñîâïàäàåò ñ äâîè÷íûì ÷èñëîì, ðàâíûì äàííîìó äåñÿòè÷íîìó ÷èñëó? 3. Äëÿ êàêèõ öåëåé èñïîëüçóþòñÿ âîñüìåðè÷íàÿ è øåñòíàäöàòåðè÷íàÿ ñèñòåìû ñ÷èñëåíèÿ? þ 4. Âûïîëíèòå íàèáîëåå ðàöèîíàëüíûì ñïîñîáîì ñëåäóþùèå ïåðåâîäû ÷èñåë: 537,158 ® X2; 537,158 ® X16; 10111011010101,010112 ® X8 ® Y16. 5. Íàïèøèòå äâîè÷íî-÷åòâåðè÷íóþ òàáëèöó ñîîòâåòñòâèÿ.

Êîìïüþòåðíûé ïðàêòèêóì. Ðàçäåë «Ñèñòåìû ñ÷èñëåíèÿ»

1.3.5

Àðèôìåòèêà â ïîçèöèîííûõ ñèñòåìàõ ñ÷èñëåíèÿ

Âûïîëíåíèå àðèôìåòè÷åñêèõ âû÷èñëåíèé â ïîçèöèîííûõ ñèñòåìàõ ñ÷èñëåíèÿ ïðîèçâîäèòñÿ ïî îáùèì ïðàâèëàì.  èõ îñíîâå ëåæàò òàáëèöû ñëîæåíèÿ è óìíîæåíèÿ îäíîçíà÷íûõ ÷èñåë. Ñëîæåíèå è âû÷èòàíèå ìíîãîçíà÷íûõ ÷èñåë â ð-è÷íîé ñèñòåìå ïðîèçâîäÿòñÿ ñòîëáèêîì ïî òîìó æå àëãîðèòìó, ÷òî è äëÿ äåñÿòè÷íûõ ÷èñåë. Ñîîòâåòñòâóþùèå ðàçðÿäû ñëàãàåìûõ çàïèñûâàþòñÿ äðóã ïîä äðóãîì. Ñëîæåíèå ïðîèçâîäèòñÿ ïîðàçðÿäíî, íà÷èíàÿ ñ ìëàäøåãî ðàçðÿäà. Åñëè ïðè ñóììèðîâàíèè öèôð îäíîãî ðàçðÿäà ñóììà îêàçûâàåòñÿ áîëüøå ð – 1 (ò. å. äâóçíà÷íûì ÷èñëîì), òî â äàííîì ðàçðÿäå ðåçóëüòàòà çàïèñûâàåòñÿ ìëàäøàÿ öèôðà ñóììû, à ñòàðøàÿ öèôðà ïðèáàâëÿåòñÿ ê ñëåäóþùåìó ïî ñòàðøèíñòâó ðàçðÿäó (áëèæàéøåìó ñëåâà). Âû÷èòàíèå — îáðàòíàÿ ê ñëîæåíèþ îïåðàöèÿ. Åñëè â î÷åðåäíîì ðàçðÿäå óìåíüøàåìîãî ñòîèò öèôðà ìåíüøàÿ, ÷åì ó âû÷èòàåìîãî, òî çàíèìàåòñÿ åäèíèöà ó áëèæàéøåãî ñëåâà íåíóëåâîãî ðàçðÿäà.  ðåçóëüòàòå ê âû÷èñëÿåìîìó ðàçðÿäó óìåíüøàåìîãî äîáàâëÿåòñÿ ð. Åñëè åäèíèöà çàíèìàëàñü íå ó ñîñåäíåãî ñëåâà ðàçðÿäà, òî ê ïðîìåæóòî÷íûì ðàçðÿäàì äîáàâëÿåòñÿ ð – 1. Óìíîæåíèå ñâîäèòñÿ ê ìíîãîêðàòíîìó ñëîæåíèþ ñî ñäâèãîì ðàçðÿäîâ, à äåëåíèå — ê ìíîãîêðàòíîìó âû÷èòàíèþ.


46

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Äâîè÷íàÿ àðèôìåòèêà. Âîò êàê âûãëÿäÿò òàáëèöà ñëîæåíèÿ è òàáëèöà óìíîæåíèÿ â äâîè÷íîé ñèñòåìå ñ÷èñëåíèÿ: Òàáëèöà ñëîæåíèÿ â äâîè÷íîé ñèñòåìå

Òàáëèöà ñëîæåíèÿ â äâîè÷íîé ñèñòåìå

+

0

1

´

0

1

0

0

1

0

0

0

1

1

10

1

0

1

Ðàññìîòðèì ïðèìåðû âûïîëíåíèÿ ÷åòûð¸õ àðèôìåòè÷åñêèõ îïåðàöèé ñ äâîè÷íûìè ÷èñëàìè. Çàìå÷àíèå: äàëåå íèæíèé èíäåêñ äëÿ îáîçíà÷åíèÿ ñèñòåìû ñ÷èñëåíèÿ áóäåò îïóñêàòüñÿ. Ïðèìåð 1. Ñëîæåíèå äâîè÷íûõ ÷èñåë. Ìàëåíüêèìè öèôðàìè ñâåðõó îáîçíà÷åíû çíà÷åíèÿ, ïåðåíîñèìûå ïðè ñëîæåíèè â ñîñåäíèé ñëåâà ðàçðÿä. 1

+

1 1

0 1

1

1

1

1

1

1

0

0

1

1

1

1

0

0

1

1

0

1

0

1

1

0

1

0

0

Ïðèìåð 2. Âû÷èòàíèå äâîè÷íûõ ÷èñåë. Ìàëåíüêèìè öèôðàìè ñâåðõó îáîçíà÷åíû çíà÷åíèÿ, äîáàâëÿåìûå ê ðàçðÿäó â ïðîöåññå ïåðåíîñà åäèíèöû èç áëèæàéøåãî íåíóëåâîãî ðàçðÿäà ñëåâà.

1

0

1

0

–1 1

10

1

1

0

0

1

1

1

1

0

0

1

1

0

1

0

0

1

1

0

1

0

Ïðàâèëüíîñòü ïîëó÷åííîãî ðåçóëüòàòà ìîæíî ïðîâåðèòü ïóò¸ì ñëîæåíèÿ ðàçíîñòè ñ âû÷èòàåìûì.  ðåçóëüòàòå äîëæíî ïîëó÷èòüñÿ óìåíüøàåìîå. Ïðèìåð 3. Óìíîæåíèå äâîè÷íûõ ÷èñåë. 1

0

1

1

´ +

0

1

1

1

0

1

1

1

1

1

1

0

1

1

0

1

0

1

1

0

1

1

1

1

1

0

0

0

1


1.3.5. Àðèôìåòèêà â ïîçèöèîííûõ ñèñòåìàõ ñ÷èñëåíèÿ

47

Ïðèìåð 4. Äåëåíèå äâîè÷íûõ ÷èñåë.  ñëåäóþùåì ïðèìåðå äåëèìûì ÷èñëîì ÿâëÿåòñÿ ïðîèçâåäåíèå èç ïðåäûäóùåãî ïðèìåðà, äåëèòåëåì — âòîðîé ñîìíîæèòåëü. ×àñòíîå ïîëó÷èëîñü ðàâíûì ïåðâîìó ñîìíîæèòåëþ. –

1 1 1 0 0 0 1 1 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 0 0 – 1 0 1 1 1 0 – 1 0 1 1 1 1 – 1 0 1 1 0 1 – 1 0 1 0

Äâîè÷íàÿ àðèôìåòèêà — íàèáîëåå ïðîñòàÿ. Ýòà ïðîñòîòà ñòàëà îäíîé èç ïðè÷èí èñïîëüçîâàíèÿ äâîè÷íîé ñèñòåìû ñ÷èñëåíèÿ â êîìïüþòåðå. Àðèôìåòèêà â äðóãèõ ñèñòåìàõ ñ÷èñëåíèÿ. Ïðèâåä¸ì ïðèìåðû âû÷èñëåíèé â äðóãèõ ñèñòåìàõ ñ÷èñëåíèÿ. Ðàññìîòðèì ïÿòåðè÷íóþ ñèñòåìó. Òàáëèöà ñëîæåíèÿ â ïÿòåðè÷íîé ñèñòåìå +

0

1

2

3

4

0

0

1

2

3

4

1

1

2

3

4

10

2

2

3

4 10 11

3

3

4 10 11 12

4

4 10 11 12 13

Ïðèìåð ñëîæåíèÿ è âû÷èòàíèÿ ïÿòåðè÷íûõ ÷èñåë: –1 10 –1 10

+

1

1

2

0

3

4

3

2

2

1

0

3

1

0

1

Òàáëèöà óìíîæåíèÿ â ïÿòåðè÷íîé ñèñòåìå ´

0

0

0

1

0

2

0

3

0

3 11 14 22

4

0

4 13 22 31

1 0

2

3 0

0

1

2

3

4

2

3 11 13

1

0

3

1

0

2

3

0

4

3

2

2

1

Ïðèìåð óìíîæåíèÿ è äåëåíèÿ ïÿòåðè÷íûõ ÷èñåë:

4

0

–1 10

´

+

2

1

3

3

2 1

4

3

1

1

4

4

1

2

4

2

1

1

2

4

1

1

4

1

0

2

3

2

2

0

1

2

0

1

2

1

0

3

2

2

1

3


48

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Âû÷èñëåíèÿ â ñèñòåìàõ ñ÷èñëåíèÿ ñ îñíîâàíèåì p=2n ìîæíî ïðîèçâîäèòü ïî òàêîé æå ñõåìå, êàê ýòî äåëàëîñü âûøå: ïîñòðîèòü òàáëèöû ñëîæåíèÿ è óìíîæåíèÿ è, çàãëÿäûâàÿ â ýòè òàáëèöû, âûïîëíÿòü ìíîãîçíà÷íûå âû÷èñëåíèÿ. Íî ìîæíî ïîéòè äðóãèì ïóòåì, èñïîëüçóÿ ñâÿçü òàêèõ ñèñòåì ñ äâîè÷íîé ñèñòåìîé ñ÷èñëåíèÿ. Àëãîðèòì âû÷èñëåíèÿ áóäåò ñëåäóþùèì: 1) ïåðåâåñòè äàííûå ÷èñëà â äâîè÷íóþ ñèñòåìó ñ÷èñëåíèÿ, èñïîëüçóÿ òàáëèöó äâîè÷íî-ð-è÷íîé ñìåøàííîé ñèñòåìû; 2) âûïîëíèòü âû÷èñëåíèÿ ñ äâîè÷íûìè ÷èñëàìè; 3) ïåðåâåñòè ïîëó÷åííîå äâîè÷íîå ÷èñëî â ð-è÷íóþ ñèñòåìó ÷åðåç òó æå òàáëèöó. Çàäà÷à 1. Âû÷èñëèòü ñóììó äâóõ øåñòíàäöàòåðè÷íûõ ÷èñåë: 3A8D,1F16 + 2C6,516. Èñïîëüçóåì îïèñàííûé âûøå àëãîðèòì. 3A8D,1F16 + 2C6,516

® ®

11 1010 1000 1101,0001 11112 + 10 1100 0110,0101 00002

3D53,6F16

¬

11 1101 0101 0011,0110 11112

Çàäà÷à 2.  ñðåäå ýëåêòðîííîé òàáëèöû ñîçäàòü àâòîìàòè÷åñêè çàïîëíÿåìóþ òàáëèöó óìíîæåíèÿ äëÿ âîñüìåðè÷íîé ñèñòåìû ñ÷èñëåíèÿ.  ðåæèìå îòîáðàæåíèÿ çíà÷åíèé ýëåêòðîííàÿ òàáëèöà áóäåò èìåòü ñëåäóþùèé âèä: A

B

1

C

D

E

F

G

H

Òàáëèöà óìíîæåíèÿ 8-ðè÷íîé ñèñòåìû

2 3

´

1

2

3

4

5

6

7

4

1

1

2

3

4

5

6

7

5

2

2

4

6

10

12

14

16

6

3

3

6

11

14

17

22

25

7

4

4

10

14

20

24

30

34

8

5

5

12

17

24

31

36

43

9

6

6

14

22

30

36

44

52

10

7

7

16

25

34

43

52

61

Òàáëèöà ñîçäà¸òñÿ â òàêîé ïîñëåäîâàòåëüíîñòè: 1.  ÿ÷åéêó D1 çàíîñèòñÿ ÷èñëî 8 — îñíîâàíèå ñèñòåìû ñ÷èñëåíèÿ. Ïîÿñíÿþùèé òåêñò çàíîñèòñÿ â ñîñåäíèå ÿ÷åéêè ïåðâîé ñòðîêè. 2.  áëîê B3:H3 çàíîñÿòñÿ ÷èñëà ñ 1 äî 7. 3.  áëîê A4:À10 çàíîñÿòñÿ ÷èñëà ñ 1 äî 7. 4.  ÿ÷åéêó Â4 çàíîñèòñÿ ôîðìóëà: =ÖÅËÎÅ(B$3*$A4/$D$1)*10+ÎÑÒÀÒ(B$3*$A4;$D$1) 5. Ôîðìóëà èç ÿ÷åéêè Â4 êîïèðóåòñÿ â áëîê B4:H10.


1.3.5. Àðèôìåòèêà â ïîçèöèîííûõ ñèñòåìàõ ñ÷èñëåíèÿ

49

Òàáëèöà ãîòîâà! Çäåñü èñïîëüçóþòñÿ äâå ñòàíäàðòíûå ôóíêöèè ýëåêòðîííûõ òàáëèö: ÖÅËÎÅ(÷èñëî) — âûäåëåíèå öåëîé ÷àñòè ÷èñëà, ñòîÿùåãî â àðãóìåíòå; ÎÑÒÀÒ(÷èñëî; äåëèòåëü) — îñòàòîê öåëî÷èñëåííîãî äåëåíèÿ (àíàëîã îïåðàöèè mod â Ïàñêàëå). Ó÷èìñÿ ïðîãðàììèðîâàòü (Öåëî÷èñëåííàÿ àðèôìåòèêà)

Çàäà÷à 3. Ñîçäàòü ïðîãðàììó íà Ïàñêàëå, âûâîäÿùóþ íà ýêðàí òàáëèöó óìíîæåíèÿ â ñèñòåìå ñ÷èñëåíèÿ ñ îñíîâàíèåì p (2 < p £ 10). Program Tabl_mul; var X,Y,Z,p: integer; begin {Ââîä îñíîâàíèÿ ñèñòåìû} write('Ââåäèòå p (2<p<=10):'); readln(p); writeln(P,'-è÷íàÿ òàáëèöà óìíîæåíèÿ'); for X:=1 to p-1 do {Èçìåíåíèå ïåðâîãî ñîìíîæèòåëÿ} begin for Y:=1 to p-1 do {Èçìåíåíèå âòîðîãî ñîìíîæèòåëÿ} begin {Âû÷èñëåíèå ïðîèçâåäåíèÿ è ïåðåâîä â ð-è÷íóþ ñèñòåìó} Z:=(X*Y div p)*10 + (X*Y) mod p; write(Z:3) {âûâîä ïðîèçâåäåíèÿ áåç ïåðåâîäà ñòðîêè} end; writeln {ïåðåâîä ñòðîêè} end end.

 äàííîé ïðîãðàììå ïåðåìåííûå X è Y ïðèíèìàþò çíà÷åíèÿ ñîìíîæèòåëåé, èçìåíÿþùèõñÿ â äèàïàçîíå îò 1 äî ð-1. Ïðîèçâåäåíèå X*Y ìîæåò áûòü îäíî- èëè äâóçíà÷íûì ÷èñëîì. Ñòðóêòóðà àëãîðèòìû — äâà âëîæåííûõ öèêëà: âíåøíèé öèêë — ïî ïåðåìåííîé X, âíóòðåííèé öèêë — ïî ïåðåìåííîé Y. Ïóñòîé îïåðàòîð writeln èñïîëüçóåòñÿ äëÿ ïåðåõîäà ê íîâîé ñòðîêå òàáëèöû ïðè âûâîäå íà ýêðàí ïîñëå êàæäîãî îêîí÷àíèÿ âíóòðåííåãî öèêëà. Ôîðìàòèðîâàíèå âûâîäèìîãî çíà÷åíèÿ (Z:3) îáåñïå÷èâàåò âûäåëåíèå ïîä ÷èñëî òðåõ ïîçèöèé íà ýêðàíå. Ïðè èñïîëüçîâàíèè äàííîé ïðîãðàììû äëÿ ïîñòðîåíèÿ âîñüìåðè÷íîé òàáëèöû óìíîæåíèÿ, íà ýêðàíå ïîëó÷èì: ââåäèòå p (2<p<=10): 8 8-è÷íàÿ òàáëèöà óìíîæåíèÿ 1 2 3 4 5 6 7 2 4 6 10 12 14 16 3 6 11 14 17 22 25 4 10 14 20 24 30 34 5 12 17 24 31 36 43 6 14 22 30 36 44 52 7 16 25 34 43 52 61


50

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Âîïðîñû è çàäàíèÿ 1. Ïðîâåðüòå äëÿ äâîè÷íîé ñèñòåìû ñ÷èñëåíèÿ âûïîëíåíèå òðåõ àðèôìåòè÷åñêèõ çàêîíîâ: à) êîììóòàòèâíîñòè: a + b = b + a; a · b = b · a; á) äèñòðèáóòèâíîñòè: c(a + b) = c · a + c · b; â) àññîöèàòèâíîñòè: (a + b) + c = a + (b + c); (ab)c = a(bc). Âûïîëíèòå ïðîâåðêó íà ïðèìåðå çíà÷åíèé: a = 1102, b = 10112, c = 112. 2. Ñôîðìóëèðóéòå ñëîâåñíî àëãîðèòì ñëîæåíèÿ ìíîãîçíà÷íûõ ÷èñåë â p-è÷íîé ïîçèöèîííîé ñèñòåìå ñ÷èñëåíèÿ. 3. Ïîñòðîéòå òàáëèöû ñëîæåíèÿ è óìíîæåíèÿ äëÿ òðîè÷íîé ñèñòåìû ñ÷èñëåíèÿ. þ 4. Èñïîëüçóÿ ðåçóëüòàò ïðåäûäóùåãî çàäàíèÿ, âûïîëíèòå âû÷èñëåíèÿ â òðîè÷íîé ñèñòåìå: 20113 + 21203; 11113 – 2013; 21123 · 123; 12103 : 203. 5. Èñïîëüçóÿ ñìåøàííûå ñèñòåìû «2–8» è «2–16», âûïîëíèòå âû÷èñëåíèÿ: þ 73564,3248 + 17654,1238; F19C5,7A16 – 4D2B,33C916.

Êîìïüþòåðíûé ïðàêòèêóì. Ðàçäåë «Ñèñòåìû ñ÷èñëåíèÿ»

1.4. Êîäèðîâàíèå 1.4.1

Èíôîðìàöèÿ è ñèãíàëû

×åëîâåê âîñïðèíèìàåò èíôîðìàöèþ èç âíåøíåãî ìèðà ñ ïîìîùüþ ñâîèõ îðãàíîâ ÷óâñòâ. Áîëüøàÿ ÷àñòü èíôîðìàöèè ïðèíèìàåòñÿ íàìè ÷åðåç çðåíèå è ñëóõ. Îðãàíû ñëóõà âîñïðèíèìàþò çâóêîâûå ñèãíàëû, îðãàíû çðåíèÿ âîñïðèíèìàþò ñâåòîâûå ñèãíàëû. Ñèãíàë ïåðåíîñèò èíôîðìàöèþ, ïðåäñòàâëåííóþ â âèäå çíà÷åíèÿ èëè èçìåíåíèÿ çíà÷åíèÿ ôèçè÷åñêîé âåëè÷èíû. Çâóêîâîé ñèãíàë ñâÿçàí ñ èçìåíåíèåì äàâëåíèÿ âîçäóõà, ïîðîæä¸ííûì çâóêîâîé âîëíîé è âîçäåéñòâóþùèì íà îðãàí ñëóõà. Ñâåòîâûå ñèãíàëû, âîñïðèíèìàåìûå íàøèì çðåíèåì, — ýòî ýëåêòðîìàãíèòíûå âîëíû â îïðåäåë¸ííîì äèàïàçîíå ÷àñòîò — äèàïàçîíå âèäèìîãî ñâåòà. Ðàçëè÷àþò äâà âèäà ñèãíàëîâ: íåïðåðûâíûå è äèñêðåòíûå. Íàïðèìåð, çâóê — ýòî íåïðåðûâíûé âîëíîâîé ïðîöåññ, ïðîèñõîäÿùèé â àòìîñôåðå èëè äðóãîé ñïëîøíîé ñðåäå. Íåïðåðûâíûé ýëåêòðè÷åñêèé ñèãíàë â òåõíè÷åñêèõ ñèñòåìàõ ïåðåäà÷è è îáðàáîòêè èíôîðìàöèè íàçûâàþò àíàëîãîâûì ñèãíàëîì. Òåðìèí «äèñêðåòíûé» îçíà÷àåò «ðàçäåë¸ííûé», ñîñòîÿùèé èç îòäåëüíûõ ÷àñòèö, ýëåìåíòîâ. Ïðè öèôðîâîé ïåðåäà÷å è îáðàáîòêå èíôîðìàöèè èñïîëüçóþòñÿ äèñêðåòíûå ñèãíàëû.


1.4.1. Èíôîðìàöèÿ è ñèãíàëû

51

Ìíîãèå âåêà ëþäè ìîãëè ñëûøàòü çâóêè òîëüêî íà ðàññòîÿíèè åñòåñòâåííîé ñëûøèìîñòè îò èñòî÷íèêà, âèäåòü îáúåêòû, íàõîäÿùèåñÿ â ïîëå çðåíèÿ. Ðàçâèòèå íàóêè è òåõíèêè ïîçâîëèëî ÷åëîâåêó âûéòè çà ýòè åñòåñòâåííûå ãðàíèöû âîñïðèÿòèÿ.  òå÷åíèå äâóõ ïîñëåäíèõ ñòîëåòèé ó÷åíûå è èçîáðåòàòåëè äîñòèãëè áîëüøèõ ðåçóëüòàòîâ â ñîçäàíèè ñðåäñòâ ñâÿçè äëÿ ïåðåäà÷è èíôîðìàöèè íà ðàññòîÿíèå. XIX âåê áûë âåêîì âåëèêèõ òåõíè÷åñêèõ èçîáðåòåíèé.  1831 ãîäó Ìàéêë Ôàðàäåé îòêðûâàåò ÿâëåíèå ýëåêòðîìàãíèòíîé èíäóêöèè. Ïîñëå ýòîãî íà÷èíàåòñÿ áóðíîå ðàçâèòèå ýëåêòðîòåõíèêè: èçîáðåòàåòñÿ ýëåêòðè÷åñêèé ãåíåðàòîð, ñîçäàþòñÿ ñðåäñòâà ïåðåäà÷è ýëåêòðîýíåðãèè íà ðàññòîÿíèå. Ýëåêòðè÷åñòâî íàõîäèò ìíîæåñòâî ïðèìåíåíèé. Âàæíåéøèå èç íèõ: ýëåêòðè÷åñêîå îñâåùåíèå è îòîïëåíèå, ýëåêòðè÷åñêèé äâèãàòåëü, ýëåêòðîñâÿçü – ïåðåäà÷à èíôîðìàöèè ñ ïîìîùüþ ýëåêòðè÷åñòâà. Èäåÿ ïåðåäà÷è èíôîðìàöèè ïî ïðîâîäàì ïî òåì âðåìåíàì êàçàëàñü ôàíòàñòè÷åñêîé: ïîÿâèëàñü âîçìîæíîñòü ïåðåäàâàòü òåêñò ñî ñêîðîñòüþ ïåðåíîñà ýëåêòðè÷åñêîãî ñèãíàëà — áëèçêîé ê ñêîðîñòè ñâåòà. Ïåðâûé ýëåêòðîìàãíèòíûé òåëåãðàô ñîçäàë ðîññèéñêèé ó÷¸íûé Ïàâåë Ëüâîâè÷ Øèëëèíã â 1832 ãîäó.  1837 ãîäó àìåðèêàíåö Ñýìþýëü Ìîðçå çàïàòåíòîâàë ñâîþ êîíñòðóêöèþ ýëåêòðîìàãíèòíîãî òåëåãðàôíîãî àïïàðàòà. Îí æå ðàçðàáîòàë òåëåãðàôíûé êîä, èçâåñòíûé ïîä íàçâàíèåì àçáóêè Ìîðçå. Òåëåãðàô — ýòî äèñêðåòíûé ñïîñîá ïåðåäà÷è èíôîðìàöèè. Ôèíëè Áðèç Òåëåãðàôíîå ñîîáùåíèå ïðåäñòàâëÿåò ñîáîé ïîñëåäî- Ñýìþýëü Ìîðçå (1791–1872) âàòåëüíîñòü ýëåêòðè÷åñêèõ ñèãíàëîâ ðàçíîé äëèÑØÀ òåëüíîñòè, ïåðåíîñèìûõ îò îäíîãî òåëåãðàôíîãî àïïàðàòà ïî ïðîâîäàì ê äðóãîìó òåëåãðàôíîìó àïïàðàòó. Ìîðçå ïðèíàäëåæèò èäåÿ èñïîëüçîâàíèÿ âñåãî äâóõ âèäîâ ñèãíàëîâ — êîðîòêîãî è äëèííîãî — äëÿ êîäèðîâàíèÿ ñîîáùåíèÿ ñ öåëüþ ïåðåäà÷è åãî ïî ëèíèÿì òåëåãðàôíîé ñâÿçè.  àçáóêå Ìîðçå êàæäàÿ áóêâà àëôàâèòà êîäèðóåòñÿ ïîñëåäîâàòåëüíîñòüþ êîðîòêèõ ñèãíàëîâ («òî÷åê») è äëèííûõ ñèãíàëîâ («òèðå»). Íà ðèñ. 1.7 ïîêàçàíà àçáóêà Ìîðçå ïðèìåíèòåëüíî ê ëàòèíñêîìó è ðóññêîìó àëôàâèòàì. Ñàìûì çíàìåíèòûì òåëåãðàôíûì ñîîáùåíèåì ÿâëÿåòñÿ ñèãíàë áåäñòâèÿ «SOS» («Save Our Souls» — «ñïàñèòå íàøè äóøè»). Âîò êàê îí âûãëÿäèò â êîäå àçáóêè Ìîðçå:

••• – – – ••• Òðè òî÷êè îáîçíà÷àþò ëàòèíñêóþ áóêâó «S», òðè òèðå — áóêâó «Î». Äâå ïàóçû îòäåëÿþò áóêâû äðóã îò äðóãà. Òåëåãðàôèñò, ïåðåäàâàâøèé ñîîáùåíèå íà àçáóêå Ìîðçå, «âûñòóêèâàë» åãî ñ ïîìîùüþ òåëåãðàôíîãî êëþ÷à: «òî÷êà» — êîðîòêèé ñèãíàë, «òèðå» — äëèííûé ñèãíàë, ïîñëå êàæäîé áóêâû — ïàóçà. Íà ïðèíèìàþùåì àïïàðàòå ñîîáùåíèå çàïèñûâàëîñü íà


52

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

A

À

·—

L

Ë

·—··

C

Ö

—·—·

B

Á

—···

M

Ì

——

×

———·

W

Â

·——

N

Í

Ø

————

G

Ã

——·

O

Î

———

Ù

——·—

D

Ä

—··

P

Ï

·——·

Ú

·——·—

Û

—·——

Ü

—··— ··—··

Q

E

Å

·

R

Ð

·—·

V

Æ

···—

S

Ñ

···

Z

Ç

——··

T

Ò

Ý

X

I

È

··

U

Ó

··—

Þ

··——

J

É

·———

F

Ô

··—·

ß

·—·—

K

Ê

—·—

H

Õ

····

Ðèñ. 1.7. Êîäîâàÿ òàáëèöà àçáóêè Ìîðçå

áóìàæíîé ëåíòå â âèäå ãðàôè÷åñêèõ òî÷åê, òèðå è ïðîáåëîâ, êîòîðûå âèçóàëüíî ïðî÷èòûâàë òåëåãðàôèñò. Àçáóêà Ìîðçå ÿâëÿåòñÿ íåðàâíîìåðíûì êîäîì, ïîñêîëüêó ó ðàçíûõ áóêâ àëôàâèòà äëèíà êîäà ðàçíàÿ — îò îäíîãî äî øåñòè ñèìâîëîâ (òî÷åê è òèðå). Ïî ýòîé ïðè÷èíå íåîáõîäèì òðåòèé ñèìâîë — ïàóçà äëÿ îòäåëåíèÿ áóêâ äðóã îò äðóãà. Ðàâíîìåðíûé òåëåãðàôíûé êîä ��ûë èçîáðåò¸í ôðàíöóçîì Æàíîì Ìîðèñîì Áîäî â 1870 ãîäó.  í¸ì èñïîëüçîâàëîñü âñåãî äâà ðàçíûõ âèäà ñèãíàëîâ. Íåâàæíî, êàê èõ íàçâàòü: òî÷êà è òèðå, ïëþñ è ìèíóñ, íîëü è åäèíèöà. Ýòî äâà îòëè÷àþùèõñÿ äðóã îò äðóãà ýëåêòðè÷åñêèõ ñèãíàëà.  êîäîâîé òàáëèöå Áîäî äëèíà êîäîâ âñåõ ñèìâîëîâ àëôàâèòà îäèíàêîâà è ðàâíà ïÿòè.  òàêîì ñëó÷àå íå âîçíèêàåò ïðîáëåìû îòäåëåíèÿ áóêâ äðóã îò äðóãà: êàæäàÿ ïÿò¸ðêà ñèãíàëîâ — ýòî çíàê òåêñòà. Æàí Ìîðèñ Ýìèëü Áëàãîäàðÿ èäåå Áîäî, óäàëîñü àâòîìàòèçèðîâàòü ïðîÁîäî (1791–1872) Ôðàíöèÿ öåññ ïåðåäà÷è è ïå÷àòü áóêâ.  1901 ãîäó áûë ñîçäàí êëàâèøíûé òåëåãðàôíûé àïïàðàò. Íàæàòèå êëàâèøè ñ îïðåäåë¸ííîé áóêâîé âûðàáàòûâàåò ñîîòâåòñòâóþùèé ïÿòèèìïóëüñíûé ñèãíàë, êîòîðûé ïåðåäà¸òñÿ ïî ëèíèè ñâÿçè. Ïðèíèìàþùèé àïïàðàò ïîä âîçäåéñòâèåì ýòîãî ñèãíàëà ïå÷àòàåò òó æå áóêâó íà áóìàæíîé ëåíòå. Ñëåäóþùèì âàæíûì ñîáûòèåì â òåõíèêå ñâÿçè ñòàëî èçîáðåòåíèå òåëåôîíà.  1876 ãîäó àìåðèêàíåö Àëåêñàíäð Áåëë ïîëó÷èë ïàòåíò íà åãî èçîáðåòåíèå. Ãîäîì ïîçæå Òîìàñ Ý. Ýäèñîí èçîáð¸ë òåëåôîííûé àïïàðàò ñ óãîëüíûì ìèêðîôîíîì, êîòîðûé ìîæíî âñòðåòèòü äî ñèõ ïîð. Ïî òåëåôîííîé ñâÿçè íà ðàññòîÿíèå ïåðåäàåòñÿ çâóê ïîñðåäñòâîì íåïðåðûâíîãî ýëåêòðè÷åñêîãî ñèãíàëà, ìîäóëèðîâàííîãî ñ ÷àñòîòîé çâóêîâûõ êîëåáàíèé.  ìèêðîôîíå ãîâîðÿùåãî ÷åëîâåêà ñîçäàåòñÿ ïåðåìåííîå ýëåêòðè÷åñêîå íàïðÿæåíèå, à â íàóøíèêå ñëóøàþùåãî îíî ïðåîáðàçóåòñÿ â çâóêîâûå êîëåáàíèÿ.


1.4.1. Èíôîðìàöèÿ è ñèãíàëû

53

Òåëåôîííàÿ ñâÿçü — ýòî àíàëîãîâûé ñïîñîá ïåðåäà÷è çâóêà. Áëàãîäàðÿ îòêðûòèþ â 1888 ãîäó Ãåíðèõîì Ãåðöåì ýëåêòðîìàãíèòíûõ âîëí ñòàëî âîçìîæíûì èçîáðåòåíèå ðàäèîñâÿçè. Ïî÷òè îäíîâðåìåííî â 1895 ãîäó Àëåêñàíäð Ïîïîâ â Ðîññèè è â 1896 ãîäó èòàëüÿíåö Ã. Ìàðêîíè èçîáðåëè ïåðâûå ðàäèîïåðåäàò÷èêè è ðàäèîïðè¸ìíèêè. Ñîâðåìåííèêè èçîáðåòåíèÿ íàçûâàëè ðàäèî áåñïðîâîäíûì òåëåôîíîì. Ïðèíöèï ïåðåäà÷è çâóêà ïî ðàäèîñâÿçè çàêëþ÷àåòñÿ â ïåðåíîñå ÷åðåç ïðîñòðàíñòâî âûñîêî÷àñòîòíûõ (íåñóùèõ) À. Ñ. Ïîïîâ (1859–1906) ýëåêòðîìàãíèòíûõ âîëí, ìîäóëèðîâàííûõ ïî àìïëèòóäå Ðîññèÿ íèçêî÷àñòîòíûìè çâóêîâûìè êîëåáàíèÿìè.  ðàäèîïðè¸ìíèêå çâóêîâûå êîëåáàíèÿ îòäåëÿþòñÿ îò íåñóùåé ÷àñòîòû è ïðåîáðàçóþòñÿ â çâóê. Ðàäèîñâÿçü — ýòî àíàëîãîâûé ñïîñîá ïåðåäà÷è çâóêà.  ÕÕ âåêå ñ èçîáðåòåíèåì òåëåâèäåíèÿ ñòàëà âîçìîæíîé ïåðåäà÷à íà ðàññòîÿíèå èçîáðàæåíèÿ. Òåëåâèçèîííûé ýëåêòðîìàãíèòíûé ñèãíàë — ýòî òàêæå àíàëîãîâûé ñïîñîá ïåðåäà÷è çâóêîâîé è âèäåîèíôîðìàöèè. Âî âòîðîé ïîëîâèíå ÕÕ âåêà ïðîèñõîäèò ïåðåõîä ê ïðåèìóùåñòâåííî äèñêðåòíîé ôîðìå ïðåäñòàâëåíèÿ èíôîðìàöèè äëÿ å¸ õðàíåíèÿ, ïåðåäà÷è è îáðàáîòêè. Ýòîò ïðîöåññ íà÷àëñÿ ñ èçîáðåòåíèåì öèôðîâîé âû÷èñëèòåëüíîé è èçìåðèòåëüíîé òåõíèêè.  íàñòîÿùåå âðåìÿ êîìïüþòåðíàÿ îáðàáîòêà ñòàíîâèòñÿ ýëåìåíòîì âñåõ ñèñòåì ñâÿçè: òåëåôîííîé, ðàäèî è òåëåâèçèîííîé. Ðàçâèâàåòñÿ öèôðîâàÿ òåëåôîíèÿ, öèôðîâîå òåëåâèäåíèå. Èíòåðíåò êàê óíèâåðñàëüíàÿ ñèñòåìà ñâÿçè îñíîâàí èñêëþ÷èòåëüíî íà äèñêðåòíîé öèôðîâîé òåõíîëîãèè õðàíåíèÿ, ïåðåäà÷è è îáðàáîòêè èíôîðìàöèè.

Ñèñòåìà îñíîâíûõ ïîíÿòèé Èíôîðìàöèÿ è ñèãíàëû Ñèãíàë ïåðåíîñèò èíôîðìàöèþ, ïðåäñòàâëåííóþ â âèäå çíà÷åíèÿ èëè èçìåíåíèÿ çíà÷åíèÿ ôèçè÷åñêîé âåëè÷èíû Àíàëîãîâûé ñèãíàë: íåïðåðûâ- Äèñêðåòíûé ñèãíàë — ñîñòîÿùèé èç îòäåëüíûõ íûé ñèãíàë (îòëè÷èìûõ äðóã îò äðóãà) ýëåìåíòîâ Àíàëîãîâûå ñïîñîáû ïåðåäà÷è èíôîðìàöèè

Äèñêðåòíûå ñïîñîáû ïåðåäà÷è èíôîðìàöèè

Òåõíè÷åñêèå ñðåäñòâà

Âðåìÿ èçîáðåòåíèÿ

Òåõíè÷åñêèå ñðåäñòâà

Âðåìÿ èçîáðåòåíèÿ

Òåëåôîí

1876 ãîä

Òåëåãðàô Ìîðçå

1837 ãîä

Ðàäèî

1895 ãîä

Òåëåãðàô Áîäî

1870 ãîä

Òåëåâèäåíèå

1930-å ãîäû

Öèôðîâûå òåõíîëîãèè ñâÿçè: Âòîðàÿ ïîëîýëåêòðîííàÿ ïî÷òà, öèôðîâàÿ âèíà ÕÕ âåêà òåëåôîíèÿ, öèôðîâîå òåëåâèäåíèå, Èíòåðíåò


54

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Âîïðîñû è çàäàíèÿ 1. ×òî âû ïîíèìàåòå ïîä ñèãíàëîì? 2. Îáîñíóéòå ïðàâèëüíîñòü óïîòðåáëåíèÿ ôðàçû «ñèãíàë ñâåòîôîðà». 3. Ïðèâåäèòå ïðèìåðû íåïðåðûâíûõ ñèãíàëîâ â ïðèðîäå, ïåðåäàþùèõ èíôîðìàöèþ. 4. Êàê âû ñ÷èòàåòå, ÷åëîâå÷åñêàÿ ðå÷ü — ýòî íåïðåðûâíàÿ èëè äèñêðåòíàÿ ôîðìà ïåðåäà÷è èíôîðìàöèè? 5. Ïåðå÷èñëèòå îñíîâíûå ñîáûòèÿ â èñòîðèè èçîáðåòåíèÿ òåõíè÷åñêèõ ñðåäñòâ ñâÿçè. 6. Ïî÷åìó â ïîñëåäíåå âðåìÿ öèôðîâûå òåõíîëîãèè ñâÿçè âûòåñíÿþò àíàëîãîâûå?

1.4.2

Êîäèðîâàíèå òåêñòîâîé èíôîðìàöèè

×òî òàêîå êîäèðîâàíèå ×òîáû èíôîðìàöèþ ìîæíî áûëî õðàíèòü, ïåðåäàâàòü è îáðàáàòûâàòü, å¸ íóæíî ïðåäñòàâèòü â óäîáíîé äëÿ ýòîãî ôîðìå. Êîäèðîâàíèå — ýòî ïðîöåññ ïðåäñòàâëåíèÿ èíôîðìàöèè â âèäå ïîñëåäîâàòåëüíîñòè óñëîâíûõ îáîçíà÷åíèé. Êîäîì íàçûâàþò ìíîæåñòâî ñëîâ — ïîñëåäîâàòåëüíîñòåé ñèìâîëîâ èç íåêîòîðîãî àëôàâèòà, èñïîëüçóåìûõ ïðè êîäèðîâàíèè èíôîðìàöèè. Êîäèðîâàíèå ïðîèñõîäèò ïî îïðåäåë¸ííûì ïðàâèëàì. Ïðàâèëà êîäèðîâàíèÿ çàâèñÿò îò íàçíà÷åíèÿ êîäà, ò. å. îò òîãî, êàê è äëÿ ÷åãî îí áóäåò èñïîëüçîâàòüñÿ. Ïèñüìåííîñòü — ýòî ñïîñîá êîäèðîâàíèÿ óñòíîé ðå÷è íà åñòåñòâåííîì ÿçûêå. Ïèñüìåííûé òåêñò ïðåäíàçíà÷åí äëÿ ïåðåäà÷è èíôîðìàöèè îò îäíîãî ÷åëîâåêà ê äðóãèì ëþäÿì êàê â ïðîñòðàíñòâå (ïèñüìî, çàïèñêà), òàê è âî âðåìåíè (êíèãè, äíåâíèêè, àðõèâû äîêóìåíòîâ è ïð.). Ïðàâèëà, ïî êîòîðûì ëþäè îñóùåñòâëÿþò ïèñüìåííîå êîäèðîâàíèå èíôîðìàöèè, íàçûâàþòñÿ ãðàììàòèêîé ÿçûêà (ðóññêîãî, àíãëèéñêîãî, êèòàéñêîãî è äð.), à ÷åëîâåêà, óìåþùåãî ÷èòàòü è ïèñàòü, íàçûâàþò ãðàìîòíûì ÷åëîâåêîì. Çàïèñü ðå÷è — êîäèðîâàíèå, à ÷òåíèå ïèñüìåííîãî òåêñòà — ýòî åãî äåêîäèðîâàíèå. Ïðîöåññ ïèñüìåííîãî îáìåíà èíôîðìàöèåé ìåæäó ëþäüìè ìîæíî îòîáðàçèòü ñëåäóþùåé ñõåìîé:


1.4.2. Êîäèðîâàíèå òåêñòîâîé èíôîðìàöèè

55

Ñ èçîáðåòåíèåì òåõíè÷åñêèõ ñðåäñòâ ñâÿçè ïîÿâèëàñü âîçìîæíîñòü áûñòðîé ïåðåäà÷è òåêñòîâ íà áîëüøèå ðàññòîÿíèÿ. Íî ýòîò ïðîöåññ òðåáóåò èñïîëüçîâàíèÿ äîïîëíèòåëüíîãî óðîâíÿ êîäèðîâàíèÿ. Ïîâòîðèì åù¸ ðàç äàííîå âûøå óòâåðæäåíèå: ñïîñîá êîäèðîâàíèÿ çàâèñèò îò íàçíà÷åíèÿ êîäà. Åñëè êîä ïðåäíàçíà÷åí äëÿ ïåðåäà÷è òåêñòà ïî òåõíè÷åñêîé ñèñòåìå ñâÿçè, òî îí äîëæåí áûòü ïðèñïîñîáëåí ê âîçìîæíîñòÿì ýòîé ñèñòåìû. Ïðèìåðîì òàêîãî «òåõíè÷åñêîãî» êîäà ÿâëÿåòñÿ àçáóêà Ìîðçå. Ïðîöåññ ïåðåäà÷è òåëåãðàôíîãî ñîîáùåíèÿ ñ èñïîëüçîâàíèåì àçáóêè Ìîðçå ìîæíî îòðàçèòü ñëåäóþùåé ñõåìîé:

Êîäèðîâàíèå òåêñòà âñåãäà ïðîèñõîäèò ïî ñëåäóþùåìó ïðàâèëó: êàæäûé ñèìâîë àëôàâèòà èñõîäíîãî òåêñòà çàìåíÿåòñÿ íà êîìáèíàöèþ ñèìâîëîâ àëôàâèòà êîäèðîâàíèÿ. Äëÿ àçáóêè Ìîðçå ýòè ïðàâèëà ïðåäñòàâëåíû íà ðèñ. 1.7.  òàáëèöå àçáóêè Ìîðçå äëÿ êîäèðîâàíèÿ 32 áóêâ ðóññêîãî àëôàâèòà (áóêâà ¨ ñòàëà èñïîëüçîâàòüñÿ â ïèñüìåííîì òåêñòå òîëüêî â ñåðåäèíå ÕÕ âåêà) ïðèìåíÿþòñÿ äâà ñèìâîëà: òî÷êà è òèðå. Îäíàêî ïðè ïåðåäà÷å ñëîâ èç-çà íåðàâíîìåðíîñòè êîäîâ ðàçëè÷íûõ áóêâ ïðèõîäèòñÿ ïðèìåíÿòü åù¸ ïðîïóñê ìåæäó áóêâàìè: ïàóçà âî âðåìåíè ïåðåäà÷è èëè ïðîáåë íà òåëåãðàôíîé ëåíòå. Ïîýòîìó ôàêòè÷åñêè àëôàâèò òåëåãðàôíîãî êîäà Ìîðçå ñîäåðæèò òðè ñèìâîëà: òî÷êà, òèðå, ïðîïóñê. Ýòî òðîè÷íûé êîä. Òåëåãðàôíûé êîä Áîäî ÿâëÿåòñÿ äâîè÷íûì ðàâíîìåðíûì ïÿòèðàçðÿäíûì êîäîì. Íà åãî îñíîâå â 1932 ãîäó áûë ðàçðàáîòàí ìåæäóíàðîäíûé òåëåãðàôíûé êîä ITA2, êîäîâàÿ òàáëèöà êîòîðîãî ïðåäñòàâëåíà íà ðèñ. 1.8.

Ðèñ. 1.8. Òåëåãðàôíûé êîä ITA2

Äâîè÷íûå êîäû ñèìâîëîâ ñâåðíóòû â ôîðìàò äâóçíà÷íûõ øåñòíàäöàòåðè÷íûõ ÷èñåë, â êîòîðûõ ïåðâàÿ öèôðà — ýòî 0 èëè 1. Åñòü òðè òèïà ñèì-


56

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

âîëîâ: áóêâû (letters), öèôðû è çíàêè (figures), óïðàâëÿþùèå ñèìâîëû (control chars). Ïåðåêëþ÷åíèå â ðåæèì ââîäà áóêâ ïðîèñõîäèò ïî êîäó 1F16 (äâîè÷íàÿ ôîðìà 1 1111). Áóêâà A èìååò êîä 0316 (0 0011); êîä áóêâû R — 0A16 (0 1010). Ýòîò æå êîä â ðåæèìå ââîäà öèôð îáîçíà÷àåò öèôðó 4. Ñëîâî BODO â øåñòíàäöàòåðè÷íîé ôîðìå êîäèðóåòñÿ òàê: 19 18 09 18. Äëèíà äâîè÷íîãî êîäà ýòîãî ñëîâà ðàâíà 20. Âî âòîðîé ïîëîâèíå ÕÕ âåêà ñîçäàþòñÿ è ðàñïðîñòðàíÿþòñÿ êîìïüþòåðû. Äëÿ êîìïüþòåðíîé îáðàáîòêè òåêñòîâ ïîòðåáîâàëîñü ñîçäàòü ñòàíäàðò êîäèðîâàíèÿ ñèìâîëîâ.  1963 ãîäó áûë ïðèíÿò ñòàíäàðò, êîòîðûé ïîëó÷èë íàçâàíèå ASCII — Àìåðèêàíñêèé ñòàíäàðòíûé êîä äëÿ èíôîðìàöèîííîãî îáìåíà. ASCII — ñåìèðàçðÿäíûé äâîè÷íûé êîä, ïðåäñòàâëåí â òàáë. 1.4. Òàáëèöà 1.4. Êîäèðîâêà ASCII .0

.1

.2

.3

.4

.5

.6

.7

.8

.9

.A

.B

.C

.D

.E

.F

BS

TAB

LF

VT

FF

CR

SO

SI

1. DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN

EM

SUB

ESC

FS

GS

RS

US

2.

0. NUL SOH STX ETX EOT ENQ ACK BEL

!

«

#

$

%

&

'

(

)

*

+

,

.

/

3.

0

1

2

3

4

5

6

7

8

9

:

;

<

=

>

?

4.

@

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

5.

P

Q

R

S

T

U

V

W

X

Y

Z

[

\

]

^

_

6.

`

a

b

c

d

e

f

g

h

i

j

k

l

m

n

o

7.

p

q

r

s

t

u

v

w

x

y

z

{

|

}

~

DEL

Êîä ñèìâîëà — ýòî åãî ïîðÿäêîâûé íîìåð â êîäîâîé òàáëèöå, îïðåäåëÿåòñÿ íîìåðîì ñòðîêè è ñòîëáöà. Îí ìîæåò áûòü ïðåäñòàâëåí â äåñÿòè÷íîé, â äâîè÷íîé è â øåñòíàäöàòåðè÷íîé ñèñòåìàõ ñ÷èñëåíèÿ. Êîä â ïàìÿòè êîìïüþòåðà — ñåìèðàçðÿäíîå äâîè÷íîå ÷èñëî.  òàáë. 1.4 êîä ASCII ïðåäñòàâëåí â ñâ¸ðíóòîé øåñòíàäöàòåðè÷íîé ôîðìå. Ïðè ðàçâ¸ðòûâàíèè â äâîè÷íóþ ôîðìó êîäû ïðåäñòàâëÿþò ñîáîé ñåìèðàçðÿäíûå öåëûå äâîè÷íûå ÷èñëà â äèàïàçîíå îò 000 00002 = 0016 = 0 äî 111 11112 = 7F16 = 127. Âñåãî ñ ïîìîùüþ ýòîãî êîäà ïðåäñòàâëÿþòñÿ 27 = 128 ñèìâîëîâ. Ïåðâûå 32 ñèìâîëà (îò 00 äî 1F) íàçûâàþòñÿ óïðàâëÿþùèìè ñèìâîëàìè. Îíè íå îòðàæàþòñÿ êàêèìè-ëèáî çíàêàìè íà ýêðàíå ìîíèòîðà èëè ïðè ïå÷àòè, íî îïðåäåëÿþò íåêîòîðûå äåéñòâèÿ ïðè âûâîäå òåêñòà. Íàïðèìåð, ïî êîäó 0816 (BS) ïðîèñõîäèò ñòèðàíèå ïðåäûäóùåãî ñèìâîëà; ïî êîäó 0716 (BEL) — âûâîä çâóêîâîãî ñèãíàëà; êîä OD16 (CR) îçíà÷àåò ïåðåõîä ê íà÷àëó ñòðîêè (âîçâðàò êàðåòêè). Ýòè ñèìâîëû óíàñëåäîâàíû åù¸ îò êîäèðîâêè äëÿ òåëåòàéïíîé ñâÿçè, äëÿ êîòîðîé ïåðâîíà÷àëüíî èñïîëüçîâàëñÿ ASCII, ïîýòîìó ñîõðàíèëèñü òàêèå àðõàè÷íûå òåðìèíû, êàê «êàðåòêà».


1.4.2. Êîäèðîâàíèå òåêñòîâîé èíôîðìàöèè

57

Ñèìâîëû, èìåþùèå ãðàôè÷åñêîå îòîáðàæåíèå, íà÷èíàþòñÿ ñ êîäà 2016. Ýòî êîä ïðîáåëà — ïðîïóñêà ïîçèöèè ïðè âûâîäå. Âàæíûì ñâîéñòâîì òàáëèöû ASCII ÿâëÿåòñÿ ñîáëþäåíèå àëôàâèòíîé ïîñëåäîâàòåëüíîñòè êîäèðîâêè ïðîïèñíûõ è ñòðî÷íûõ áóêâ, à òàêæå äåñÿòè÷íûõ öèôð. Ýòî ñâîéñòâî ÷ðåçâû÷àéíî âàæíî äëÿ ïðîãðàììíîé îáðàáîòêè ñèìâîëüíîé èíôîðìàöèè, â ÷àñòíîñòè äëÿ àëôàâèòíîé ñîðòèðîâêè ñëîâ. Ðàñøèðåíèå êîäà ASCII. Âîñüìèðàçðÿäíàÿ äâîè÷íàÿ êîäèðîâêà ïîçâîëÿåò êîäèðîâàòü àëôàâèò èç 28 = 256 ñèìâîëîâ. Ïåðâàÿ ïîëîâèíà âîñüìèðàçðÿäíîãî êîäà ñîâïàäàåò ñ ASCII. Âòîðàÿ ïîëîâèíà ñîñòîèò èç ñèìâîëîâ ñ êîäàìè îò 128 = 8016 = 1000 00002 äî 255 = FF16 = 1111 11112. Ýòà ÷àñòü òàáëèöû êîäèðîâêè íàçûâàåòñÿ êîäîâîé ñòðàíèöåé (CP — code page). Íà êîäîâîé ñòðàíèöå ðàçìåùàþò íåëàòèíñêèå àëôàâèòû, ñèìâîëû ïñåâäîãðàôèêè è íåêîòîðûå äðóãèå çíàêè, íå âõîäÿùèå â ïåðâóþ ïîëîâèíó.  òàáë. 1.5–1.7 ïðèâåäåíû êîäîâûå ñòðàíèöû ñ ðóññêèì àëôàâèòîì. CP866 èñïîëüçóåòñÿ â îïåðàöèîííîé ñèñòåìå MS DOS, CP1251 — â îïåðàöèîííîé ñècòåìå Windows. Êîäèðîâêà KOI8-R èñïîëüçóåòñÿ â îïåðàöèîííîé ñèñòåìå Unix. Òàáëèöà 1.5. Êîäîâàÿ ñòðàíèöà CP866

Òàáëèöà 1.6. Êîäîâàÿ ñòðàíèöà CP1251


58

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Òàáëèöà 1.7. KOI8-R

Îáðàòèòå âíèìàíèå íà òî, ÷òî íå âî âñåõ êîäèðîâêàõ ñîáëþäàåòñÿ ïðàâèëî ïîñëåäîâàòåëüíîãî êîäèðîâàíèÿ ðóññêîãî àëôàâèòà. Ñóùåñòâóþò è äðóãèå ñòàíäàðòû ñèìâîëüíîé êîäèðîâêè, ãäå ïðèñóòñòâóåò ðóññêèé àëôàâèò. 16-ðàçðÿäíûé ñòàíäàðò UNICODE.  1991 ãîäó áûë ðàçðàáîòàí øåñòíàäöàòèðàçðÿäíûé ìåæäóíàðîäíûé ñòàíäàðò ñèìâîëüíîãî êîäèðîâàíèÿ Unicode, êîòîðûé ïîçâîëÿåò çàêîäèðîâàòü 216 = 65536 ñèìâîëîâ.  òàêóþ êîäîâóþ òàáëèöó ïîìåùàþòñÿ àíãëèéñêèé (ëàòèíèöà), ðóññêèé (êèðèëëèöà), ãðå÷åñêèé àëôàâèòû, êèòàéñêèå èåðîãëèôû, ìàòåìàòè÷åñêèå ñèìâîëû è ìíîãîå äðóãîå. Îòïàäàåò ïîòðåáíîñòü â êîäîâûõ ñòðàíèöàõ. Äèàïàçîí êîäîâ ñèìâîëîâ â øåñòíàäöàòåðè÷íîé ôîðìå: îò 0000 äî FFFF.  íà÷àëå êîäîâîé òàáëèöû, â îáëàñòè îò 000016 äî 007F16, ñîäåðæàòñÿ ñèìâîëû ASCII. Ïîä ñèìâîëû êèðèëëèöû âûäåëåíû îáëàñòè çíàêîâ ñ êîäàìè îò 040016 äî 052F16, îò 2DE016 äî 2DFF16, îò A64016 äî A69F16. Ïîçäíåå ñòàëè ðàçðàáàòûâàòüñÿ íîâûå ñòàíäàðòû íà Unicode. Ê 2010 ãîäó ñìåíèëîñü 6 âàðèàíòîâ ñòàíäàðòà. Áëàãîäàðÿ áîëåå ñëîæíîé îðãàíèçàöèè êîäà, ïðè ñîõðàíåíèè åãî 16-ðàçðÿäíîñòè ïîÿâèëàñü âîçìîæíîñòü êîäèðîâàòü 1 112 064 ñèìâîëà.  íàñòîÿùåå âðåìÿ èç ýòîãî êîëè÷åñòâà ðåàëüíî èñïîëüçóåòñÿ îêîëî 107 òûñÿ÷ êîäîâ. Ó÷èìñÿ ïðîãðàììèðîâàòü (îáðàáîòêà ñèìâîëüíîé èíôîðìàöèè) Ðàññìîòðèì ïðîãðàììó íà Ïàñêàëå, ïî êîòîðîé íà ýêðàí áóäåò âûâîäèòüñÿ òàáëèöà êîäèðîâêè â äèàïàçîíå êîäîâ îò 20 äî 255. Program Tabl_code; uses CRT; {Ïîäêëþ÷åíèå áèáëèîòåêè óïðàâëåíèÿ ñèìâîëüíûì âûâîäîì} var kod: byte; {Öåëûå ÷èñëà îò 0 äî 255} begin clrscr; {Î÷èñòêà ýêðàíà ñèìâîëüíîãî âûâîäà} for kod:=20 to 255 do {Ïåðåáîð êîäîâ ñèìâîëîâ} begin {Ïåðåâîä ñòðîêè ÷åðåç 10 øàãîâ} if (kod mod 10=0) then writeln;


1.4.2. Êîäèðîâàíèå òåêñòîâîé èíôîðìàöèè

59

write(chr(kod):3, kod:4); {Âûâîä ñèìâîëà è åãî êîäà} end end.

Îïåðàòîð uses CRT ïîäêëþ÷àåò ê ïðîãðàììå áèáëèîòåêó ïîäïðîãðàìì óïðàâëåíèÿ ñèìâîëüíûì âûâîäîì íà ýêðàí ìîíèòîðà. Äàëåå â ïðîãðàììå èñïîëüçóåòñÿ ïðîöåäóðà èç ýòîé áèáëèîòåêè: clrscr — î÷èñòêà ýêðàíà. Ïåðåìåííàÿ òèïà byte çàíèìàåò 1 áàéò ïàìÿòè è ïðèíèìàåò ìíîæåñòâî öåëûõ ïîëîæèòåëüíûõ ÷èñëîâûõ çíà÷åíèé â äèàïàçîíå îò 0 äî 255.  ïðîãðàììå èñïîëüçóåòñÿ ñòàíäàðòíàÿ ôóíêöèÿ chr(kod), êîòîðàÿ â êà÷åñòâå ðåçóëüòàòà âîçâðàùàåò ñèìâîë, äåñÿòè÷íûé êîä êîòîðîãî ðàâåí çíà÷åíèþ ïåðåìåííîé kod. Çíà÷åíèÿ âûâîäÿòñÿ ïàðàìè: ñèìâîë — êîä.  îäíîé ñòðîêå ðàñïîëàãàåòñÿ 10 òàêèõ ïàð. Âñÿ òàáëèöà ðàçìåñòèòñÿ â 24 ñòðîêàõ.

Ñèñòåìà îñíîâíûõ ïîíÿòèé Êîäèðîâàíèå òåêñòà Êîäèðîâàíèå — ïðîöåññ ïðåäñòàâëåíèÿ èíôîðìàöèè â âèäå äèñêðåòíûõ äàííûõ Ïðåîáðàçîâàíèå óñòíîãî ñîîáùåíèÿ â ïèñüìåííóþ ôîðìó

Ïåðåâîä èç îäíîé ñèìâîëüíîé ñèñòåìû â äðóãóþ

Äåêîäèðîâàíèå — ïðåîáðàçîâàíèå, îáðàòíîå êîäèðîâàíèþ Òåëåãðàôíûå êîäû Êîä Ìîðçå

Êîä Áîäî

Êîìïüþòåðíûå (öèôðîâûå) êîäû

Ñòàíäàðò ITA2

ASCII

Íåðàâíîìåð- Ðàâíîìåðíûé ïÿòè- 7-ðàçðÿäíûé íûé òðîè÷- ðàçðÿäíûé äâîè÷íûé äâîè÷íûé êîä êîä íûé êîä

Êîäîâûå ñòðàíè- Unicode öû, KOI8-R 8-ðàçðÿäíîå ðàñøèðåíèå ASCII, âêëþ÷àþùåå íàöèîíàëüíûå àëôàâèòû

16-ðàçðÿäíûé ìåæäóíàðîäíûé êîä

Âîïðîñû è çàäàíèÿ 1. Îïðåäåëèòå ïîíÿòèÿ: êîä, êîäèðîâàíèå, äåêîäèðîâàíèå. 2. Ïðèâåäèòå ïðèìåðû êîäèðîâàíèÿ è äåêîäèðîâàíèÿ, î êîòîðûõ íå ãîâîðèëîñü â ïàðàãðàôå. 3.  ÷¸ì ðàçíèöà ìåæäó ðàâíîìåðíûì è íåðàâíîìåðíûì êîäàìè? 4. Çàêîäèðóéòå ñëîâî COMPUTER, èñïîëüçóÿ êîäû ITA2 è ASCII. 5. Êàê ïðî÷èòàåòñÿ ôðàçà ØÀÉÁÓ-ØÀÉÁÓ!, çàêîäèðîâàííàÿ ñ èñïîëüçîâàíèåì CP1251, åñëè äåêîäèðîâàíèå ïðîèñõîäèò ïî êîäó KOI8-R? 6.  êîäèðîâêå KOI8-R áûëî ñîñòàâëåíî ïèñüìî, íà÷èíàþùååñÿ ôðàçîé «Çäðàâñòâóé, äîðîãîé Ñàøà!». Äåêîäèðîâàíèå ïðîèñõîäèëî ïî ñåìèðàçðÿäíîìó êîäó ASCII, â ðåçóëüòàòå ÷åãî ñòàðøèé (âîñüìîé) áèò ó âñåõ ñèìâîëîâ áûë óòåðÿí. Íàïèøèòå, êàêîé òåêñò ïîëó÷èëñÿ â èòîãå. Ñìîæåò ëè àäðåñàò ïîíÿòü ñîäåðæàíèå ïèñüìà?

Êîìïüþòåðíûé ïðàêòèêóì. Ðàçäåë «Êîäèðîâàíèå»


60

1.4.3

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Êîäèðîâàíèå èçîáðàæåíèÿ

Ïî íåêîòîðûì îöåíêàì, îêîëî 90% èíôîðìàöèè èç âíåøíåãî ìèðà ÷åëîâåê âîñïðèíèìàåò çðèòåëüíûì ïóòåì. Çðåíèå ÷åëîâåêà — ýòî ïðèðîäíàÿ ñïîñîáíîñòü ê âîñïðèÿòèþ èçîáðàæåíèÿ îáúåêòîâ îêðóæàþùåãî ìèðà. Èçîáðàæåíèå — ýòî îáðàç îêðóæàþùåãî ìèðà, âîñïðèíèìàåìûé çðèòåëüíîé ñèñòåìîé ÷åëîâåêà. Çðèòåëüíàÿ ñèñòåìà âîñïðèíèìàåò ñâåò, îòðàæàåìûé èëè èçëó÷àåìûé îáúåêòàìè íàáëþäåíèÿ. Îòðàæàåìîå èçîáðàæåíèå — ýòî âñ¸, ÷òî ìû âèäèì ïðè äíåâíîì èëè èñêóññòâåííîì îñâåùåíèè. Íàïðèìåð, ÷èòàåì êíèãó, ïðîñìàòðèâàåì èëëþñòðàöèè â íåé. Ïðèìåðàìè èçëó÷àåìûõ èçîáðàæåíèé ÿâëÿþòñÿ èçîáðàæåíèÿ íà ýêðàíå òåëåâèçîðà èëè êîìïüþòåðà. Ñ äðåâíèõ âðåì¸í ëþäè íàó÷èëèñü ñîõðàíÿòü è ïåðåäàâàòü èçîáðàæåíèÿ â ôîðìå ðèñóíêîâ.  XIX âåêå ïîÿâèëàñü ôîòîãðàôèÿ. Èçîáðåòåíèå êèíî áðàòüÿìè Ëþìüåð â 1895 ãîäó ïîçâîëèëî ïåðåäàâàòü äâèæóùèåñÿ èçîáðàæåíèÿ.  XX âåêå èçîáðåòàþò âèäåîìàãíèòîôîí — ñðåäñòâî çàïèñè è ïåðåäà÷è èçîáðàæåíèÿ íà ìàãíèòíîé ëåíòå. Ïðè¸ìû êîäèðîâàíèÿ èçîáðàæåíèÿ ðàçðàáàòûâàþòñÿ ñ ïîÿâëåíèåì öèôðîâûõ òåõíîëîãèé õðàíåíèÿ, ïåðåäà÷è è îáðàáîòêè èçîáðàæåíèé: öèôðîâîé ôîòîãðàôèè, öèôðîâîãî âèäåî, êîìïüþòåðíîé ãðàôèêè. Ïðè êîäèðîâàíèè èçîáðàæåíèÿ â êîìïüþòåðíûõ òåõíîëîãèÿõ îñóùåñòâëÿåòñÿ åãî ïðîñòðàíñòâåííàÿ äèñêðåòèçàöèÿ èçîáðàæåíèÿ è êîäèðîâàíèå ñâåòà, èñõîäÿùåãî îò êàæäîãî äèñêðåòíîãî ýëåìåíòà èçîáðàæåíèÿ. Äèñêðåòèçàöèÿ èçîáðàæåíèÿ — ýòî ðàçäåëåíèå èçîáðàæåíèÿ íà êîíå÷íîå ÷èñëî ýëåìåíòîâ, â ïðåäåëàõ êàæäîãî ýëåìåíòà îòòåíîê öâåòà ñ÷èòàþò ïîñòîÿííûì. Ïðîñòðàíñòâåííàÿ ñåòêà äèñêðåòíûõ ýëåìåíòîâ, èç êîòîðûõ ñòðîèòñÿ èçîáðàæåíèå íà ýêðàíå ìîíèòîðà, íàçûâàåòñÿ ðàñòðîì. Ñàìè äèñêðåòíûå ýëåìåíòû èçîáðàæåíèÿ íà ýêðàíå íàçûâàþòñÿ ïèêñåëÿìè (ðèñ. 1.9). ×åì ãóùå ñåòêà ïèêñåëåé, òåì âûøå êà÷åñòâî èçîáðàæåíèÿ, òåì ìåíüøå íàøè ãëàçà çàìå÷àþò åãî äèñêðåòíóþ ñòðóêòóðó.

Ðèñ. 1.9. Óâåëè÷åííîå ðàñòðîâîå èçîáðàæåíèå

Êîä èçîáðàæåíèÿ, âûâîäèìîãî íà ýêðàí, — ýòî ïîñëåäîâàòåëüíîñòü äâîè÷íûõ êîäîâ ñâåòà, èçëó÷àåìîãî âñåìè ïèêñåëÿìè ðàñòðà. Åñòåñòâåííûå èçîáðàæåíèÿ, êîòîðûå ìû âèäèì âîêðóã ñåáÿ, ìíîãîöâåòíûå.  òåõíîëîãèÿõ õðàíåíèÿ èçîáðàæåíèÿ èñïîëüçóþòñÿ ñïîñîáû ïîëó÷å-


1.4.3. Êîäèðîâàíèå èçîáðàæåíèÿ

61

íèÿ ìîíîõðîìíûõ (îäíîöâåòíûõ) è öâåòíûõ (ðàçíîöâåòíûõ) èçîáðàæåíèé. Êàê èçâåñòíî, ñíà÷àëà ïîÿâèëàñü «÷¸ðíî-áåëàÿ» ôîòîãðàôèÿ, «÷¸ðíî-áåëîå» êèíî, à óæå ïîçæå — öâåòíàÿ ôîòîãðàôèÿ è öâåòíîå êèíî. Òî æå ñàìîå îòíîñèòñÿ ê òåëåâèäåíèþ. Ïåðâûå êîìïüþòåðíûå äèñïëåè îòîáðàæàëè «÷¸ðíî-áåëîå» èçîðàæåíèå, à ñîâðåìåííûå ìîíèòîðû — öâåòíîå. Êîäèðîâàíèå ìîíîõðîìíûõ îòòåíêîâ Ñëîâî «ìîíîõðîìíûé» îçíà÷àåò «îäíîöâåòíûé». Èìååòñÿ îäèí ôîíîâûé öâåò. Âñ¸ èçîáðàæåíèå ïîëó÷àåòñÿ ñ ïîìîùüþ îòòåíêîâ ýòîãî ôîíîâîãî öâåòà, ðàçëè÷àþùèõñÿ ÿðêîñòüþ. Íàïðèìåð, åñëè ôîíîâûé öâåò ÷¸ðíûé, òî ïóò¸ì åãî ïîñòåïåííîãî ïðîñâåòëåíèÿ ìîæíî ïåðåéòè ÷åðåç îòòåíêè ñåðîãî ê áåëîìó öâåòó (ðèñ. 1.10). Òàêîå íåïðåðûâíîå ìíîæåñòâî îòòåíêîâ — îò ÷¸ðíîãî äî áåëîãî — íàçîâåì ÷¸ðíî-áåëûì ñïåêòðîì. Èç òàêèõ îòòåíêîâ è ïîëó÷àåòñÿ èçîáðàæåíèå íà ÷¸ðíî-áåëîé ôîòîãðàôèè, íà êèíî- è òåëåýêðàíå. Âñå ðèñóíêè â äàííîì ó÷åáíèêå èñïîëíåíû â ÷¸ðíî-áåëîì èçîáðàæåíèè.

Ðèñ. 1.10. Íåïðåðûâíûé ÷¸ðíî-áåëûé ñïåêòð

Îäíàêî ôîíîâûé öâåò íå îáÿçàòåëüíî äîëæåí áûòü ÷¸ðíûì. Îí ìîæåò áûòü êîðè÷íåâûì, ñèíèì, çåë¸íûì è äð. Òàêîå áûâàåò íà òîíèðîâàííûõ ôîòîãðàôèÿõ. Ñóùåñòâîâàëè ìîíîõðîìíûå ìîíèòîðû ñ êîðè÷íåâûì èëè çåë¸íûì ôîíîâûì öâåòîì. Êîä ìîíîõðîìíîãî ñâåòà îáîçíà÷àåò óðîâåíü ÿðêîñòè ôîíîâîãî öâåòà. Äëÿ öèôðîâîãî êîäèðîâàíèÿ öâåòà â êîìïüþòåðå èñïîëüçóþòñÿ ïîëîæèòåëüíûå öåëûå äâîè÷íûå ÷èñëà. Äëèíà äâîè÷íîãî êîäà â áèòàõ íàçûâàåòñÿ áèòîâîé ãëóáèíîé êîäèðîâàíèÿ öâåòà. Ïðè äèñêðåòíîì öèôðîâîì êîäèðîâàíèè íåïðåðûâíûé ñïåêòð îòòåíêîâ áàçîâîãî öâåòà ðàçáèâàåòñÿ íà öåëîå ÷èñëî îòðåçêîâ, â ïðåäåëàõ êàæäîãî èç êîòîðûõ ÿðêîñòü ñ÷èòàåòñÿ ïîñòîÿííîé. Ýòî íàçûâàåòñÿ äèñêðåòèçàöèåé ñïåêòðà. Äëÿ åñòåñòâåííîãî ñâåòà êîëè÷åñòâî îòòåíêîâ ôîíîâîãî öâåòà áåñêîíå÷íî. Ïðè öèôðîâîì êîäèðîâàíèè êîëè÷åñòâî îòòåíêîâ ñòàíîâèòñÿ êîíå÷íîé âåëè÷èíîé. Êîëè÷åñòâî îòòåíêîâ K è áèòîâàÿ ãëóáèíà êîäèðîâàíèÿ b ñâÿçàíû ìåæäó ñîáîé ïî ôîðìóëå: K = 2b. Ñíîâà ðàáîòàåò ãëàâíàÿ ôîðìóëà èíôîðìàòèêè! Ðåàëüíàÿ ÿðêîñòü èçîáðàæåíèÿ çàâèñèò îò ôèçè÷åñêèõ óñëîâèé åãî ïåðåäà÷è: óðîâíÿ îñâåù¸ííîñòè îò èñòî÷íèêà ñâåòà ïðè îòðàæ¸ííîì èçîáðàæåíèè èëè ìîùíîñòè ñ��åòîâîãî ïîòîêà îò ìîíèòîðà ïðè èçëó÷àåìîì èçîáðàæåíèè. Åñëè ìàêñèìàëüíóþ ÿðêîñòü ïðèíÿòü çà åäèíèöó, òî âåëè÷èíà ÿðêîñòè ñâåòà â äèàïàçîíå îò ÷¸ðíîãî äî áåëîãî áóäåò èçìåíÿòüñÿ îò 0 äî 1.


62

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Íà ðèñ. 1.11 ïîêàçàíà äèñêðåòèçàöèÿ ÷¸ðíî-áåëîãî ñïåêòðà ïðè b = 2. Ýòî çíà÷èò, ÷òî äëèíà êîäà ðàâíà 2 áèòàì è âåñü ñïåêòð ðàçáèâàåòñÿ íà ÷åòûðå óðîâíÿ — 4 îòòåíêà. Ñïåêòð: ßðêîñòü:

0 – 1/4

1/4 – 2/4

2/4 – 3/4

3/4 – 1

0

1

2

3

00

01

10

11

Êîä äåñÿòè÷íûé Êîä äâîè÷íûé:

Ðèñ. 1.11. Ìîíîõðîìíîå êîäèðîâàíèå ñ áèòîâîé ãëóáèíîé öâåòà 2

Åñòåñòâåííûé ñâåò, ÿðêîñòü êîòîðîãî ëåæèò â äèàïàçîíå îò 0 äî 1/4, áóäåò ïðåäñòàâëÿòüñÿ êàê ÷¸ðíûé öâåò, äåñÿòè÷íûé êîä êîòîðîãî — 0, à äâîè÷íûé êîä — 00. Äàëåå èäóò äâà ñåðûõ îòòåíêà. Ñâåò â äèàïàçîíå ÿðêîñòè îò 3/4 äî 1 ïðåäñòàâëÿåòñÿ êàê áåëûé è êîä åãî: 3 = 112. Åñëè óðîâåíü ÿðêîñòè âûðàæàòü â ïðîöåíòàõ, òî ïðàâèëà ÷¸ðíî-áåëîãî êîäèðîâàíèÿ ïðè b = 2 ìîæíî îòðàçèòü â òàáëèöå: Öâåò

ßðêîñòü

Äåñÿòè÷íûé êîä

Äâîè÷íûé êîä

׸ðíûé

0–25%

0

00

Ò¸ìíî-ñåðûé

25%–50 %

1

01

Ñâåòëî-ñåðûé

50%–75%

2

10

Áåëûé

75%–100%

3

11

Íà ðèñ. 1.12 ïîêàçàíà äèñêðåòèçàöèÿ ÷¸ðíî-áåëîãî ñïåêòðà ïðè b = 4. Ïîñêîëüêó 24 = 16, ïîñòîëüêó òàêèì ñïîñîáîì êîäèðóåòñÿ 16 ðàçëè÷íûõ ÷¸ðíî-áåëûõ îòòåíêîâ. Ïðèâåäåíû äåñÿòè÷íûå è äâîè÷íûå êîäû.

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Ðèñ.1.12. Ìîíîõðîìíîå êîäèðîâàíèå ñ áèòîâîé ãëóáèíîé öâåòà 4

Ïðèìåð. Ðàññìîòðèì ìîäåëüíûé ïðèìåð êîäèðîâàíèÿ ÷¸ðíî-áåëîãî èçîáðàæåíèÿ. Ðàçìåð ðàñòðà ìîíèòîðà — 8 ´ 8 ïèêñåëåé. Áèòîâàÿ ãëóáèíà öâåòà ðàâíà äâóì: b = 2 áèòà. Èçîáðàæåíèå ïðåäñòàâëåíî íà ðèñ. 1.13. Öèôðû óêàçûâàþò íóìåðàöèþ ñòðîê è ñòîëáöîâ ðàñòðà. Êàæäàÿ êëåòêà — ïèêñåëü èçîáðàæåíèÿ. Íà ýêðàíå íàðèñîâàíà áóêâà «Ï». Òðè ñîñòàâëÿþùèõ å¸ îòðåçêà îêðàøåíû â ðàçíûå îòòåíêè ôîíîâîãî öâåòà: ò¸ìíî-÷¸ðíûé, ò¸ìíî-ñåðûé è ñâåòëî-ñåðûé. Äâîè÷íûé êîä èçîáðàæåíèÿ ïîêàçàí ñïðàâà.


1.4.3. Êîäèðîâàíèå èçîáðàæåíèÿ

63

0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7

11 11 11 11 11 11 11 11 11 01 01 01 01 01 11 11 11 00 11 11 11 10 11 11 11 00 11 11 11 10 11 11 11 00 11 11 11 10 11 11 11 00 11 11 11 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 Ðèñ. 1.13. Äèñêðåòíûé ðèñóíîê è åãî êîä

Äëÿ íàãëÿäíîñòè äâîè÷íûé êîä ïðåäñòàâëåí â âèäå ìàòðèöû, ñòðîêè êîòîðîé ñîîòâåòñòâóþò ñòðîêàì ðàñòðà íà ýêðàíå.  ñàìîì æå äåëå ïàìÿòü êîìïüþòåðà îäíîìåðíà è âåñü êîä ïðåäñòàâëÿåò ñîáîé öåïî÷êó íóëåé è åäèíèö, ðàñïîëîæåííûõ â ïîñëåäîâàòåëüíûõ áàéòàõ ïàìÿòè. Îáú¸ì òàêîé èíôîðìàöèè ðàâåí 16 áàéòàì. Åñëè ïåðåâåñòè ýòîò êîä â øåñòíàäöàòåðè÷íóþ ôîðìó, òî îí áóäåò ñëåäóþùèì: FFFF D55F CFEF CFEF CFEF CFEF FFFF FFFF Ïðè êîäèðîâàíèè öâåòíîãî èçîáðàæåíèÿ èñïîëüçóþòñÿ ðàçëè÷íûå ïîäõîäû, êîòîðûå íàçûâàþòñÿ ìîäåëÿìè öâåòà. Îá ýòîì ïîäðîáíî áóäåò ðàññêàçàíî â ðàçäåëå, ïîñâÿù¸ííîì òåõíîëîãèÿì êîìïüþòåðíîé ãðàôèêè.

Ñèñòåìà îñíîâíûõ ïîíÿòèé Êîäèðîâàíèå èçîáðàæåíèÿ Èçîáðàæåíèå — îáðàç âíåøíåãî ìèðà, âîñïðèíèìàåìûé çðèòåëüíîé ñèñòåìîé ÷åëîâåêà ×åëîâåê âèäèò èçîáðàæåíèå áëàãîäàðÿ âîñïðèÿòèþ ñâåòà, îòðàæàåìîãî èëè èçëó÷àåìîãî îáúåêòàìè íàáëþäåíèÿ

Êîäèðîâàíèå öâåòà

Äèñêðåòèçàöèÿ èçîáðàæåíèÿ — ðàçäåëåíèå èçîáðàæåíèÿ íà êîíå÷íîå ÷èñëî ýëåìåíòîâ, â ïðåäåëàõ êàæäîãî ýëåìåíòà îòòåíîê öâåòà ñ÷èòàþò ïîñòîÿííûì Ìîíîõðîìíîå èçîáðàæåíèå:

Ôîíîâûé öâåò — îñíîâíîé öâåò èçîáðàæåíèÿ Îòòåíêè îòëè÷àþòñÿ ÿðêîñòüþ ôîíîâîãî öâåòà Áåëûé öâåò èìååò ìàêñèìàëüíóþ ÿðêîñòü Áèòîâàÿ ãëóáèíà öâåòà (b) — äëèíà äâîè÷íîãî êîäà öâåòà b

K = 2 — êîëè÷åñòâî îòòåíêîâ öâåòà Êîä èçîáðàæåíèÿ: ïîñëåäîâàòåëüíàÿ öåïî÷êà êîäîâ âñåõ äèñêðåòíûõ ýëåìåíòîâ èçîáðàæåíèÿ Öâåòíîå èçîáðàæåíèå:

Êîä çàâèñèò îò èñïîëüçóåìîé ìîäåëè öâåòà


64

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Âîïðîñû è çàäàíèÿ 1. 2. 3. 4. 5. 6. þ 7.

þ 8. þ 9. 10.

11.

Äàéòå îïðåäåëåíèå ïîíÿòèé: «ñâåò», «öâåò», «èçîáðàæåíèå». ×åãî íåëüçÿ óâèäåòü è ÷òî ìîæíî óâèäåòü â àáñîëþòíîé òåìíîòå? ×òî òàêîå ðàñòð, ïèêñåëü? ×åì îòëè÷àåòñÿ ìîíîõðîìíîå èçîáðàæåíèå îò öâåòíîãî? ×òî ïðåäñòàâëÿåò ñîáîé ÷¸ðíî-áåëûé ñïåêòð? Êàêàÿ èíôîðìàöèÿ çàêëþ÷àåòñÿ â êîìïüþòåðíîì êîäå èçîáðàæåíèÿ? Êàêóþ äëèíó áóäåò èìåòü êîä èçîáðàæåíèÿ, âûâîäèìîãî íà ýêðàí, ïðè ðàçìåðå ðàñòðà 640 ´ 480 è áèòîâîé ãëóáèíå öâåòà 8 áèòîâ? Êàêîâà ãëóáèíà êîäèðîâàíèÿ èçîáðàæåíèÿ, åñëè äëèíà êîäà ðàâíà 384 Êá, à ðàçìåð ðàñòðà — 1024 ´ 768? Äëèíà êîäà èçîáðàæåíèÿ ðàâíà 600 Êá, áèòîâàÿ ãëóáèíà öâåòà — 16 áèòîâ. Êàêîé ðàçìåð ðàñòðà èñïîëüçóåòñÿ äëÿ âûâîäà èçîáðàæåíèÿ: 640 ´ 480 èëè 1024 ´ 768? Íà «èãðóøå÷íûé» ìîíèòîð ñ ðàçðåøåíèåì 8 ´ 8 ïèêñåëåé, îòîáðàæàþùèé ÷¸ðíî-áåëîå èçîáðàæåíèå (ñì. ïðèìåð â ïàðàãðàôå), ïî î÷åðåäè âûâîäÿòñÿ áóêâû: Í, À, Ø. Çàïèøèòå äëÿ êàæäîãî âûâîäèìîãî èçîáðàæåíèÿ åãî äâîè÷íûé è øåñòíàäöàòåðè÷íûé êîäû. Áèòîâàÿ ãëóáèíà öâåòà ðàâíà 2. Ðàçíûå ýëåìåíòû áóêâ èìåþò ðàçíûå öâåòîâûå îòòåíêè. Âîññòàíîâèòå èçîáðàæåíèå íà «èãðóøå÷íîì» ìîíèòîðå èç çàäàíèÿ 10 ïî øåñòíàäöàòåðè÷íîìó êîäó: F3F7 F3D7 F37F F1FF F3BF F3EF F3FB FFFF, åñëè áèòîâàÿ ãëóáèíà öâåòà ðàâíà 2.

1.4.4

Êîäèðîâàíèå çâóêà

Òåõíîëîãèÿ êîäèðîâàíèÿ íåïðåðûâíîãî ñèãíàëà  ï. 1.4.1 áûëî ðàçúÿñíåíî, ÷òî òàêîå íåïðåðûâíûé ñèãíàë è äèñêðåòíûé ñèãíàë. Ñâåò ïåðåíîñèòñÿ íåïðåðûâíûì ïîòîêîì ýëåêòðîìàãíèòíîãî èçëó÷åíèÿ. Çâóê ïåðåíîñèòñÿ àêóñòè÷åñêîé âîëíîé, ïîðîæäàþùåé íåïðåðûâíûé ïðîöåññ èçìåíåíèÿ äàâëåíèÿ âîçäóõà ñî çâóêîâîé ÷àñòîòîé. Ïîýòîìó ñâåòîâûå è çâóêîâûå ñèãíàëû ÿâëÿþòñÿ åñòåñòâåííûìè (ñóùåñòâóþùèìè â ïðèðîäå) íåïðåðûâíûìè ñèãíàëàìè. Äëÿ ñîõðàíåíèÿ èçîáðàæåíèÿ è çâóêà â öèôðîâîì ôîðìàòå ñîîòâåòñòâóþùèå íåïðåðûâíûå ñèãíàëû äîëæíû áûòü çàêîäèðîâàíû, ò. å. ïðåäñòàâëåíû â âèäå äèñêðåòíîé ïîñëåäîâàòåëüíîñòè íóëåé è åäèíèö — äâîè÷íûõ öèôð. Íà ðèñ. 1.14 ïðåäñòàâëåíà ñõåìà ïðåîáðàçîâàíèÿ ëþáîãî íåïðåðûâíîãî ñèãíàëà åñòåñòâåííîãî ïðîèñõîæäåíèÿ â äèñêðåòíûé öèôðîâîé êîä.


1.4.4. Êîäèðîâàíèå çâóêà

65

Ðèñ. 1.14. Ïðåîáðàçîâàíèå íåïðåðûâíîãî ñèãíàëà â öèôðîâîé êîä

Èç äàííîé ñõåìû ñëåäóåò, ÷òî êàê ñâåòîâîé, òàê è çâóêîâîé ñèãíàëû ïåðâîíà÷àëüíî ïðåîáðàçóþòñÿ â íåïðåðûâíûé (àíàëîãîâûé) ýëåêòðè÷åñêèé ñèãíàë. Ïðîöåññ ïðåîáðàçîâàíèÿ íåïðåðûâíîãî ýëåêòðè÷åñêîãî ñèãíàëà â äèñêðåòíóþ öèôðîâóþ ôîðìó íàçûâàåòñÿ àíàëîãî-öèôðîâûì ïðåîáðàçîâàíèåì èëè ñîêðàùåííî — ÀÖÏ. Îöèôðîâêà èçîáðàæåíèÿ ïðîèñõîäèò âî âðåìÿ ñú¸ìêè íà öèôðîâûå ôîòî- è âèäåîêàìåðû, à òàêæå ïðè ââîäå èçîáðàæåíèÿ â êîìïüþòåð ñ ïîìîùüþ ñêàíåðà.  îñíîâå ôèçè÷åñêîãî ïðîöåññà ïðåîáðàçîâàíèÿ ñâåòà â ýëåêòðè÷åñêèé òîê ëåæèò ÿâëåíèå âîçíèêíîâåíèÿ ýëåêòðè÷åñêîãî çàðÿäà â ïîëóïðîâîäíèêîâîì ïðèáîðå — ôîòîäèîäå ïîä äåéñòâèåì ïàäàþùåãî íà íåãî ñâåòà. Âåëè÷èíà âîçíèêàþùåãî íà ôîòîäèîäå ýëåêòðè÷åñêîãî ïîòåíöèàëà ïðîïîðöèîíàëüíà ÿðêîñòè ñâåòîâîãî ïîòîêà. Ýòà âåëè÷èíà èçìåíÿåòñÿ íåïðåðûâíî âìåñòå ñ èçìåíåíèåì ÿðêîñòè ñâåòà. Àíàëîãî-öèôðîâîå ïðåîáðàçîâàíèå çàêëþ÷àåòñÿ â èçìåðåíèÿõ âåëè÷èíû ýëåêòðè÷åñêîãî ñèãíàëà ÷åðåç îïðåäåë¸ííûå ïðîìåæóòêè âðåìåíè è ñîõðàíåíèå ðåçóëüòàòîâ èçìåðåíèé â öèôðîâîì ôîðìàòå â óñòðîéñòâå ïàìÿòè. Ïðîñòðàíñòâåííàÿ äèñêðåòèçàöèÿ ïðîèñõîäèò áëàãîäàðÿ èñïîëüçîâàíèþ ìàòðèöû ôîòîäèîäîâ, ðàçäåëÿþùåé èçîáðàæåíèå íà êîíå÷íîå ÷èñëî ýëåìåíòîâ. Êàæäûé ôîòîäèîä òàêîé ìàòðèöû âîñïðèíèìàåò ñâåò, èñõîäÿùèé îò îäíîãî ýëåìåíòà èçîáðàæåíèÿ. Àíàëîãî-öèôðîâîå ïðåîáðàçîâàíèå çâóêà Ðàññìîòðèì ïîäðîáíåå ïðîöåññ ÀÖÏ íà ïðèìåðå êîäèðîâàíèÿ çâóêà ïðè åãî ââîäå â êîìïüþòåð. Ïðè çàïèñè çâóêà â êîìïüþòåð óñòðîéñòâîì, ïðåîáðàçóþùèì çâóêîâûå âîëíû â ýëåêòðè÷åñêèé ñèãíàë, ÿâëÿåòñÿ ìèêðîôîí. Àíàëîãî-öèôðîâîå ïðåîáðàçîâàíèå ïðîèçâîäèò ýëåêòðîííàÿ ñõåìà, ðàçìåù¸ííàÿ íà çâóêîâîé ïëàòå (çâóêîâîé êàðòå) êîìïüþòåðà, ê êîòîðîé ïîäêëþ÷àåòñÿ ìèêðîôîí. Àìïëèòóäà è ÷àñòîòà èñõîäÿùåãî îò ìèêðîôîíà è ïîñòóïàþùåãî íà çâóêîâóþ ïëàòó ýëåêòðè÷åñêîãî ñèãíàëà ñîîòâåòñòâóåò àìïëèòóäíûì è ÷àñòîòíûì õàðàêòåðèñòèêàì àêóñòè÷åñêîãî ñèãíàëà. Ïîýòîìó èçìåðåíèå ýëåêòðè÷åñêîãî ñèãíàëà (ñèëû òîêà â öåïè) ïîçâîëÿåò îïðåäåëèòü õàðàêòåðèñòèêè çâóêîâîé âîëíû: å¸ ÷àñòîòó è àìïëèòóäó. Åñòü äâà îñíîâíûõ ïàðàìåòðà êîäèðîâàíèÿ çâóêà: ÷àñòîòà äèñêðåòèçàöèè è áèòîâàÿ ãëóáèíà êîäèðîâàíèÿ. Èçìåðåíèå àìïëèòóäû ñèãíàëà ïðîèçâîäèòñÿ ÷åðåç îäèíàêîâûå ïðîìåæóòêè âðåìåíè (ðèñ. 1.15). Âåëè÷èíà òàêîãî âðåìåííîãî èíòåðâàëà íàçûâàåòñÿ øàãîì äèñêðåòèçàöèè, îí èçìå-


66

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Ðèñ. 1.15. Äèñêðåòèçàöèÿ àíàëîãîâîãî ñèãíàëà

ðÿåòñÿ â ñåêóíäàõ. Îáîçíà÷èì øàã äèñêðåòèçàöèè t (ñ). Òîãäà ÷àñòîòà äèñêðåòèçàöèè âûðàçèòñÿ ôîðìóëîé: H = 1/ t (Ãö). ×àñòîòà èçìåðÿåòñÿ â ãåðöàõ. Îäèí ãåðö ñîîòâåòñòâóåò îäíîìó èçìåðåíèþ â ñåêóíäó: 1 ãö = 1 ñ–1. ×åì âûøå ÷àñòîòà äèñêðåòèçàöèè, òåì áîëåå ïîäðîáíî ÷èñëîâîé êîä áóäåò îòðàæàòü èçìåíåíèå àìïëèòóäû ñèãíàëà ñî âðåìåíåì. Õîðîøåå êà÷åñòâî çàïèñè çâóêà ïîëó÷àåòñÿ ïðè ÷àñòîòàõ äèñêðåòèçàöèè 44,1 êÃö è âûøå (1 êÃö = 1000 Ãö). Ïðîöåññ äèñêðåòèçàöèè àìïëèòóäû çâóêà íàçûâàþò êâàíòîâàíèåì çâóêà. Êîëè÷åñòâî óðîâíåé ðàçáèåíèÿ àìïëèòóäû ñèãíàëà ìîæíî íàçâàòü êîëè÷åñòâîì óðîâíåé êâàíòîâàíèÿ çâóêà (ðèñ. 1.16).

Ðèñ. 1.16. Êâàíòîâàíèå àíàëîãîâîãî ñèãíàëà


1.4.4. Êîäèðîâàíèå çâóêà

67

Áèòîâàÿ ãëóáèíà êîäèðîâàíèÿ — ýòî äëèíà äâîè÷íîãî êîäà, êîòîðûé áóäåò ïðåäñòàâëÿòü â ïàìÿòè êîìïüþòåðà àìïëèòóäó ñèãíàëà. Áèòîâàÿ ãëóáèíà êîäèðîâàíèÿ çâóêà b ñâÿçàíà ñ êîëè÷åñòâîì óðîâíåé êâàíòîâàíèÿ çâóêà K ïî ôîðìóëå: K = 2b. Çíà÷åíèÿ èçìåðÿåìîé âåëè÷èíû çàíîñÿòñÿ â ðåãèñòð çâóêîâîé êàðòû — ñïåöèàëüíóþ ÿ÷åéêó ïàìÿòè ýòîãî óñòðîéñòâà. Ðàçðÿäíîñòü ðåãèñòðà ðàâíà b — áèòîâîé ãëóáèíå êîäèðîâàíèÿ. Äàëåå ýòó âåëè÷èíó áóäåì òàêæå íàçûâàòü ðàçðÿäíîñòüþ êâàíòîâàíèÿ. Ðåçóëüòàò èçìåðåíèÿ ïðåäñòàâëÿåòñÿ â ðåãèñòðå â âèäå öåëîãî äâîè÷íîãî ÷èñëà. Èçìåðÿåìàÿ ôèçè÷åñêàÿ âåëè÷èíà îêðóãëÿåòñÿ äî áëèæàéøåãî ê íåé öåëîãî çíà÷åíèÿ, êîòîðîå ìîæåò õðàíèòüñÿ â ðåãèñòðå çâóêîâîé êàðòû. Íà ðèñ. 1.17 ïîêàçàíî, êàê ýòî ïðîèñõîäèò ïðè òð¸õðàçðÿäíîì êâàíòîâàíèè àíàëîãîâîãî ñèãíàëà.  ãðàôè÷åñêîì âèäå äèñêðåòèçàöèþ è êâàíòîâàíèå çâóêà ìîæíî ïðåäñòàâèòü êàê ïåðåõîä îò ãëàäêîé êðèâîé ê ëîìàíîé, ñîñòîÿùåé èç ãîðèçîíòàëüíûõ è âåðòèêàëüíûõ îòðåçêîâ. Ñ÷èòàåòñÿ, ÷òî íà êàæäîì âðåìåííîì øàãå çíà÷åíèå èçìåðÿåìîé âåëè÷èíû îñòàåòñÿ ïîñòîÿííûì.

Ðèñ. 1.17. Èçìåðåíèÿ ïåðåìåííîé ôèçè÷åñêîé âåëè÷èíû ñ èñïîëüçîâàíèåì òð¸õðàçðÿäíîãî ðåãèñòðà

 ïàìÿòü êîìïüþòåðà ðåçóëüòàòû òàêîãî èçìåðåíèÿ áóäóò çàïèñàíû â âèäå ïîñëåäîâàòåëüíîñòè òð¸õðàçðÿäíûõ äâîè÷íûõ ÷èñåë. ¹ Êîä

0

1

2

3

4

5

6

7

8

001

011

100

100

010

010

100

110

111

Îáú¸ì çàïèñàííîé çâóêîâîé èíôîðìàöèè ðàâåí: 3 · 9 = 27 áèòîâ. Íà ñàìîì äåëå òð¸õðàçðÿäíàÿ äèñêðåòèçàöèÿ íå èñïîëüçóåòñÿ íà ïðàêòèêå. Òàêîé âàðèàíò ðàññìîòðåí çäåñü ëèøü â êà÷åñòâå ó÷åáíîãî ïðèìåðà. Íàèìåíüøèé ðàçìåð ðåãèñòðà ó ðåàëüíûõ çâóêîâûõ êàðò — 8 ðàçðÿäîâ.


68

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

 òàêîì ñëó÷àå îäíî èçìåðåííîå çíà÷åíèå çàéì¸ò 1 áàéò ïàìÿòè êîìïüþòåðà, à ÷èñëî óðîâíåé êâàíòîâàíèÿ áóäåò ðàâíî 28 = 256. Èçìåðåíèÿ ñ òàêèì ðåãèñòðîì áóäóò â 32 ðàçà áîëåå òî÷íûìè, ÷åì ïðè òð¸õðàçðÿäíîì ðåãèñòðå. Ïðè 16-ðàçðÿäíîì ðåãèñòðå êàæäàÿ âåëè÷èíà â ïàìÿòè çàéì¸ò 2 áàéòà, à ÷èñëî óðîâíåé êâàíòîâàíèÿ: 216 = 32768. ×åì âûøå ðàçðÿäíîñòü êâàíòîâàíèÿ, òåì âûøå òî÷íîñòü èçìåðåíèé ôèçè÷åñêîé âåëè÷èíû. Íî ïðè ýòîì ðàñò¸ò è îáú¸ì çàíèìàåìîé ïàìÿòè. Äèñêðåòíîå öèôðîâîå ïðåäñòàâëåíèå àíàëîãîâîãî ñèãíàëà òåì òî÷íåå åãî îòðàæàåò, ÷åì âûøå ÷àñòîòà äèñêðåòèçàöèè è ðàçðÿäíîñòü êâàíòîâàíèÿ. Òåîðåìà Íàéêâèñòà–Êîòåëüíèêîâà*. ×åëîâåê ñëûøèò çâóêîâûå êîëåáàíèÿ ïðèáëèçèòåëüíî â äèàïàçîíå ÷àñòîò îò 20 Ãö äî 20 êÃö. Çâóê ñ ÷àñòîòàìè âûøå ýòîãî äèàïàçîíà íàçûâàåòñÿ óëüòðàçâóêîì, çâóê ñ ìåíüøåé ÷àñòîòîé — èíôðàçâóêîì.  òåîðèè ñâÿçè èçâåñòíà òåîðåìà Íàéêâèñòà– Êîòåëüíèêîâà, ñîãëàñíî êîòîðîé ÷àñòîòà äèñêðåòèçàöèè ÀÖÏ äîëæíà áûòü íå ìåíåå ÷åì â 2 ðàçà âûøå ÷àñòîòû àíàëîãîâîãî ñèãíàëà. Ýòî çíà÷èò, ÷òî åñëè ìû õîòèì ñîõðàíèòü â äâîè÷íîì êîäå èíôîðìàöèþ î çâóêå ñ ÷àñòîòîé 20 êÃö, òî ÷àñòîòà äèñêðåòèçàöèè äîëæíà áûòü íå ìåíüøå 40 êÃö.  ñîâðåìåííîì ñòàíäàðòå öèôðîâîé çâóêîçàïèñè èñïîëüçóåòñÿ ÷àñòîòà äèñêðåòèçàöèè 44,1 êÃö. Ìîæíî ïðèâåñòè ñëåäóþùóþ îáðàçíóþ àíàëîãèþ ýòîé òåîðåìû. Îò ðàçìåðà ÿ÷åéêè ðûáîëîâíîé ñåòè çàâèñèò ðàçìåð ðûá, êîòîðûå áóäóò â íåé óäåðæèâàòüñÿ. ×åì ìåíüøå ÿ÷åéêè, òåì áîëåå ìåëêàÿ ðûáà óäåðæèâàåòñÿ ñåòüþ. Ïåðåôðàçèðîâàííàÿ íà ðûáàöêèé ëàä òåîðåìà Íàéêâèñòà–Êîòåëüíèêîâà áóäåò çâó÷àòü òàê: äëèíà ñòîðîíû êâàäðàòíîé ÿ÷åéêè ñåòè äîëæíà áûòü â äâà ðàçà ìåíüøå ïîïåðå÷íîãî ðàçìåðà ñàìîé ìåëêîé ðûáû, êîòîðóþ òðåáóåòñÿ ïîéìàòü ñåòÿìè. Íàïðèìåð, åñëè ïîïåðå÷íûé ðàçìåð ðûáû äîëæåí áûòü íå ìåíüøå 10 ñì, òî ñòîðîíà êâàäðàòíîé ÿ÷åéêè ðûáîëîâíîé ñåòè äîëæíà áûòü íå áîëüøå 5 ñì. Çàäà÷à 1.  òå÷åíèå 10 ñåêóíä ïðîèçâîäèëàñü çàïèñü çâóêà â êîìïüþòåð. Îïðåäåëèòü îáú¸ì çàïèñàííîé èíôîðìàöèè, åñëè ÷àñòîòà äèñêðåòèçàöèè áûëà ðàâíà 10 êÃö, à ðàçðÿäíîñòü êâàíòîâàíèÿ — 16 áèòîâ. Ðåøåíèå. Êîëè÷åñòâî N ïðîèçâåä¸ííûõ èçìåðåíèé çâóêîâîãî ñèãíàëà ïðè ÷àñòîòå äèñêðåòèçàöèè Í (Ãö) çà âðåìÿ t (ñ) âû÷èñëÿåòñÿ ïî ôîðìóëå: N = H · t. Ïîäñòàâëÿÿ äàííûå çàäà÷è, ïîëó÷èì: N = 10 000·10 = 100 000 èçìåðåíèé. Ðàçðÿäíîñòü êâàíòîâàíèÿ: 16 áèòîâ = 2 áàéòà. Îòñþäà îáú¸ì çâóêîâîé èíôîðìàöèè: I = 100 000 · 2 = 200 000 áàéòîâ = 200 000/1024 Êá = 195,3125 Êá. Çàäà÷à 2.  ôàéëå õðàíèòñÿ çàïèñàííûé çâóê. Äàííûå íå ïîäâåðãàëèñü ñæàòèþ. Îáú¸ì ôàéëà ðàâåí 1 Ìá. Èçâåñòíî, ÷òî çàïèñü ïðîèçâîäèëàñü ñ ÷àñòîòîé 22 êÃö ïðè ðàçðÿäíîñòè êâàíòîâàíèÿ çâóêà 8 áèòîâ. Îïðåäåëèòü âðåìÿ çâó÷àíèÿ ïðè âîñïðîèçâåäåíèè çâóêà, õðàíÿùåãîñÿ â ôàéëå.


1.4.4. Êîäèðîâàíèå çâóêà

69

Ðåøåíèå. Èç ðåøåíèÿ ïðåäûäóùåé çàäà÷è ñëåäóåò, ÷òî îáú¸ì çâóêîâîé èíôîðìàöèè I, ÷àñòîòà äèñêðåòèçàöèè H, ðàçðÿäíîñòü êâàíòîâàíèÿ b è âðåìÿ çàïèñè çâóêà t ñâÿçàíû ìåæäó ñîáîé ïî ôîðìóëå: I = H · t · b. Åñëè âîñïðîèçâåäåíèå çàïèñàííîãî çâóêà ïðîèñõîäèò áåç èñêàæåíèÿ, òî âðåìÿ âîñïðîèçâåäåíèÿ ðàâíî âðåìåíè çàïèñè. Îòñþäà èñêîìàÿ âåëè÷èíà âû÷èñëÿåòñÿ ïî ôîðìóëå: t = I/(H · b). Ïðè âû÷èñëåíèè ïåðåâåä¸ì çíà÷åíèÿ I è b â áàéòû, à çíà÷åíèå H — â ãåðöû: t = 1·1024·1024/(22000·1) » 47,66 c.

Ñèñòåìà îñíîâíûõ ïîíÿòèé Êîäèðîâàíèå çâóêà Ìèêðîôîí ïðåîáðàçóåò çâóêîâûå âîëíû â àíàëîãîâûé ýëåêòðè÷åñêèé ñèãíàë Àíàëîãî-öèôðîâîå ïðåîá- ïðåîáðàçîâàíèå àíàëîãîâîãî ñèãíàëà â äèñêðåòíóþ ðàçîâàíèå (ÀÖÏ): öèôðîâóþ ôîðìó Ýòàïû öèôðîâîãî êîäèðî- – ïðåîáðàçîâàíèå â àíàëîãîâûé ýëåêòðè÷åñêèé ñèãíàë âàíèÿ ñâåòà è çâóêà: – äèñêðåòèçàöèÿ è èçìåðåíèå – çàíåñåíèå â ïàìÿòü Ïàðàìåòðû ÀÖÏ:

H (Ãö) — ÷àñòîòà äèñêðåòèçàöèè; b (áèòîâ) — ðàçðÿäíîñòü êâàíòîâàíèÿ b K = 2 — êîëè÷åñòâî óðîâíåé êâàíòîâàíèÿ

Äëèíà öèôðîâîãî êîäà:

I = H · t · b, ãäå t (ñ) — âðåìÿ çàïèñè çâóêà

Òåîðåìà Íàéêâèñòà– Êîòåëüíèêîâà:

Ïðè îöèôðîâêå ïåðèîäè÷åñêîãî àíàëîãîâîãî ñèãíàëà ÷àñòîòà äèñêðåòèçàöèè ÀÖÏ äîëæíà áûòü íå ìåíåå ÷åì â 2 ðàçà âûøå ÷àñòîòû ñèãíàëà

Âîïðîñû è çàäàíèÿ 1. Íàçîâèòå îñíîâíûå ýòàïû òåõíîëîãèè êîäèðîâàíèÿ íåïðåðûâíîãî ñèãíàëà åñòåñòâåííîãî ïðîèñõîæäåíèÿ? 2.  êàêèõ óñòðîéñòâàõ ïðîèñõîäèò êîäèðîâàíèå ñâåòà? 3. Êàêèå òåõíè÷åñêèå óñòðîéñòâà èñïîëüçóþòñÿ äëÿ êîäèðîâàíèÿ çâóêà? 4. Äàéòå îïðåäåëåíèÿ ïîíÿòèé: «÷àñòîòà äèñêðåòèçàöèè», «ðàçðÿäíîñòü êâàíòîâàíèÿ», «óðîâíè êâàíòîâàíèÿ».


70

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

5. Îïðåäåëèòå äëèíó öèôðîâîãî êîäà ïðè çàïèñè çâóêà â òå÷åíèå 1 ìèíóòû, åñëè ÷àñòîòà äèñêðåòèçàöèè áûëà ðàâíà 44,1 Ãö, à ðàçðÿäíîñòü êâàíòîâàíèÿ — 8 áèòîâ. þ 6. Îïðåäåëèòå ÷àñòîòó äèñêðåòèçàöèè ïðè êîäèðîâàíèè çâóêà, åñëè îáú¸ì çâóêîâîãî ôàéëà îêàçàëñÿ ðàâíûì 500 Êá, âðåìÿ çàïèñè — 0,5 ìèíóòû, ðàçðÿäíîñòü êâàíòîâàíèÿ — 16 áèòîâ. Ôàéë ïîëó÷åí ïîñëå 50%-ãî ñæàòèÿ èñõîäíîãî êîäà. 7. Äâå ìèíóòû çàïèñè öèôðîâîãî àóäèîôàéëà çàíèìàþò íà äèñêå 5,05 Ìá. ×àñòîòà äèñêðåòèçàöèè — 22050 Ãö. Êàêîâà ðàçðÿäíîñòü êâàíòîâàíèÿ? 8. Îáú¸ì ñâîáîäíîé ïàìÿòè íà äèñêå — 0,1 Ãá, ðàçðÿäíîñòü ðåãèñòðà çâóêîâîé êàðòû — 16 áèòîâ. Êàêîâà äëèòåëüíîñòü çâó÷àíèÿ öèôðîâîãî àóäèîôàéëà, çàíèìàþùåãî âñå ñâîáîäíîå ïðîñòðàíñòâî äèñêà è çàïèñàííîãî ñ ÷àñòîòîé äèñêðåòèçàöèè 44,1 Êãö?

1.4.5

Ñæàòèå äâîè÷íîãî êîäà*

Ëþáàÿ èíôîðìàöèÿ â êîìïüþòåðå ïðåäñòàâëÿåòñÿ â ôîðìå äâîè÷íîãî êîäà. ×åì áîëüøå äëèíà ýòîãî êîäà, òåì áîëüøå ìåñòà â ïàìÿòè îí çàíèìàåò, òåì áîëüøå âðåìåíè òðåáóåòñÿ äëÿ åãî ïåðåäà÷è ïî êàíàëàì ñâÿçè. Âñ¸ ýòî ñêàçûâàåòñÿ íà ïðîèçâîäèòåëüíîñòè êîìïüþòåðà, íà ýôôåêòèâíîñòè èñïîëüçîâàíèÿ êîìïüþòåðíûõ ñåòåé. Äëÿ ñîêðàùåíèÿ îáú¸ìà äàííûõ âûïîëíÿåòñÿ èõ ñæàòèå. Ñæàòèå äàííûõ — ýòî ïðîöåññ, îáåñïå÷èâàþùèé óìåíüøåíèå îáú¸ìà äàííûõ çà ñ÷¸ò èçìåíåíèÿ ñïîñîáà èõ îðãàíèçàöèè. Âîçìîæíû äâå ñèòóàöèè ïðè ñæàòèè: 1) ïîòåðÿ èíôîðìàöèè â ðåçóëüòàòå ñæàòèÿ íåäîïóñòèìà; 2) äîïóñòèìà ÷àñòè÷íàÿ ïîòåðÿ èíôîðìàöèè â ðåçóëüòàòå ñæàòèÿ. Ïðè óïàêîâêå äàííûõ â ôàéëîâûå àðõèâû ïðîèçâîäèòñÿ èõ ñæàòèå áåç ïîòåðè èíôîðìàöèè. Ôàéëîâûå àðõèâû ñîçäàþòñÿ äëÿ âðåìåííîãî õðàíåíèÿ íà íîñèòåëÿõ èëè ïåðåäà÷è ïî êàíàëàì ñâÿçè. Äëÿ ðàáîòû ñ ýòèìè äàííûìè òðåáóåòñÿ èõ ðàñïàêîâêà (ðàçàðõèâèðîâàíèå), ò. å. ïðèâåäåíèå ê ïåðâîíà÷àëüíîìó âèäó. Ïðè ýòîì íè îäèí áèò íå äîëæåí áûòü ïîòåðÿí. Íàïðèìåð, åñëè ñæàòèþ ïîäâåðãàåòñÿ òåêñò, òî ïîñëå ðàñïàêîâêè â í¸ì íå äîëæåí áûòü èñêàæåí íè îäèí ñèìâîë. Ñæàòàÿ ïðîãðàììà òàêæå äîëæíà ïîëíîñòüþ âîññòàíàâëèâàòüñÿ, ïîñêîëüêó ìàëåéøåå èñêàæåíèå ïðèâåäåò å¸ â íåðàáîòîñïîñîáíîå ñîñòîÿíèå. Ñæàòèå áåç ïîòåðè èíôîðìàöèè âêëþ÷åíî òàêæå â íåêîòîðûå ôîðìàòû ãðàôè÷åñêèõ ôàéëîâ. Ñæàòèå ñ ÷àñòè÷íîé ïîòåðåé èíôîðìàöèè ïðîèçâîäèòñÿ ïðè ñæàòèè êîäà èçîáðàæåíèÿ (ãðàôèêè, âèäåî) è çâóêà. Òàêàÿ âîçìîæíîñòü ñâÿçàíà ñ ñóáúåêòèâíûìè âîçìîæíîñòÿìè ÷åëîâå÷åñêîãî çðåíèÿ è ñëóõà.


1.4.5. Ñæàòèå äâîè÷íîãî êîäà*

71

Èññëåäîâàíèÿ ó÷åíûõ ïîêàçàëè, ÷òî íà íàøå çðåíèå áîëåå ñóùåñòâåííîå âîçäåéñòâèå îêàçûâàåò ÿðêîñòü òî÷êè èçîáðàæåíèÿ (ïèêñåëÿ), íåæåëè å¸ öâåòîâûå ñâîéñòâà. Ïîýòîìó îáú¸ì êîäà ìîæíî ñîêðàòèòü çà ñ÷¸ò òîãî, ÷òî êîäû öâåòà õðàíèòü íå äëÿ êàæäîãî ïèêñåëÿ, à ÷åðåç îäèí, äâà è ò. ä. ïèêñåëåé ðàñòðà. ×åì áîëüøå òàêèå ïðîïóñêè, òåì áîëüøå ñæèìàþòñÿ äàííûå, íî ïðè ýòîì óõóäøàåòñÿ êà÷åñòâî èçîáðàæåíèÿ. Ïðè êîäèðîâàíèè âèäåîôèëüìîâ — äèíàìè÷íîãî èçîáðàæåíèÿ ó÷èòûâàåòñÿ ñâîéñòâî èíåðöèîííîñòè çðåíèÿ. Áûñòðî ìåíÿþùèåñÿ ôðàãìåíòû ôèëüìà ìîæíî êîäèðîâàòü ìåíåå ïîäðîáíî, ÷åì ñòàòè÷åñêèå êàäðû. Òðóäíåå âñåãî ñæàòèþ ïîääàåòñÿ çâóêîâîé êîä. Ïðè õîðîøåì êà÷åñòâå çàïèñè åãî îáú¸ì â íåñæàòîì âèäå î÷åíü áîëüøîé, à èçáûòî÷íîñòü îòíîñèòåëüíî ìàëà. Çäåñü òàêæå èñïîëüçóþòñÿ ïñèõîôèçèîëîãè÷åñêèå îñîáåííîñòè ÷åëîâå÷åñêîãî ñëóõà. Ó÷èòûâàåòñÿ, ê êàêèì ãàðìîíèêàì åñòåñòâåííîãî çâóêà íàø ñëóõ áîëåå âîñïðèèì÷èâ, à ê êàêèì — ìåíåå. Ñëàáî âîñïðèíèìàåìûå ãàðìîíèêè îòôèëüòðîâûâàþòñÿ ïóò¸ì ìàòåìàòè÷åñêîé îáðàáîòêè. Ñæàòèþ ñïîñîáñòâóåò òàêæå ó÷¸ò íåëèíåéíîé çàâèñèìîñòè ìåæäó àìïëèòóäîé çâóêîâûõ êîëåáàíèé è âîñïðèÿòèåì íàøèì óõîì ãðîìêîñòè çâó÷àíèÿ. Ðàçëè÷íûå àëãîðèòìû ñæàòèÿ êîäîâ èçîáðàæåíèÿ è çâóêà èñïîëüçóþòñÿ äëÿ ðåàëèçàöèè ðàçëè÷íûõ ôîðìàòîâ ïðåäñòàâëåíèÿ ãðàôèêè, âèäåî è çâóêà. Ñæàòèå áåç ïîòåðè èíôîðìàöèè. Ñóùåñòâóþò äâà ïîäõîäà ê ðåøåíèþ ïðîáëåìû ñæàòèÿ èíôîðìàöèè áåç å¸ ïîòåðè.  îñíîâå ïåðâîãî ïîäõîäà ëåæèò èñïîëüçîâàíèå íåðàâíîìåðíîãî êîäà. Âòîðîé ïîäõîä îñíîâàí íà èäåå âûÿâëåíèÿ ïîâòîðÿþùèõñÿ ôðàãìåíòîâ êîäà. Ðàññìîòðèì ñïîñîá ðåàëèçàöèè ïåðâîãî ïîäõîäà.  âîñüìèðàçðÿäíîé òàáëèöå ñèìâîëüíîé êîäèðîâêè (íàïðèìåð, ASCII), êàæäûé ñèìâîë êîäèðóåòñÿ âîñåìüþ áèòàìè è, ñëåäîâàòåëüíî, çàíèìàåò â ïàìÿòè 1 áàéò.  ï. 1.2.3 íàøåãî ó÷åáíèêà ðàññêàçûâàëîñü î òîì, ÷òî ÷àñòîòà âñòðå÷àåìîñòè ðàçíûõ áóêâ (çíàêîâ) â òåêñòå ðàçíàÿ. Òàì æå áûëî ïîêàçàíî, ÷òî èíôîðìàöèîííûé âåñ ñèìâîëà òåì áîëüøå, ÷åì ìåíüøå åãî ÷àñòîòà âñòðå÷àåìîñòè. Ñ ýòèì îáñòîÿòåëüñòâîì è ñâÿçàíà èäåÿ ñæàòèÿ òåêñòà â êîìïüþòåðíîé ïàìÿòè: îòêàçàòüñÿ îò îäèíàêîâîé äëèíû êîäîâ ñèìâîëîâ. Ñèìâîëû ñ ìåíüøèì èíôîðìàöèîííûì âåñîì, ò. å. ÷àñòî âñòðå÷àþùèåñÿ, êîäèðîâàòü áîëåå êîðîòêèì êîäîì ïî ñðàâíåíèþ ñ ðåæå âñòðå÷àþùèìèñÿ ñèìâîëàìè. Ïðè òàêîì ïîäõîäå ìîæíî ñóùåñòâåííî ñîêðàòèòü îáú¸ì îáùåãî êîäà òåêñòà è, ñîîòâåòñòâåííî, ìåñòà, çàíèìàåìîãî èì â ïàìÿòè êîìïüþòåðà. Ìû óæå ðàññìàòðèâàëè àçáóêó Ìîðçå, â êîòîðîé ïðèìåí¸í ïðèíöèï íåðàâíîìåðíîãî êîäà. Åñëè òî÷êó êîäèðîâàòü íóë¸ì, à òèðå — åäèíèöåé, òî ýòî áóäåò äâîè÷íûé êîä. Ïðàâäà, âîçíèêàåò ïðîáëåìà ðàçäåëåíèÿ áóêâ äðóã îò äðóãà.  òåëåãðàôíîì ñîîáùåíèè îíà ðåøàåòñÿ ñ ïîìîùüþ ïàóçû, ôàêòè÷åñêè òðåòüåãî çíàêà â àçáóêå Ìîðçå. Îäíèì èç ïðîñòåéøèõ, íî âåñüìà ýôôåêòèâíûõ ñïîñîáîâ ïîñòðîåíèÿ äâîè÷íîãî íåðàâíîìåðíîãî êîäà, íå òðåáóþùåãî ñïåöèàëüíîãî ðàçäåëèòåëÿ, ÿâëÿåòñÿ àëãîðèòì Ä. Õàôôìàíà (D. A. Huffman, 1952 ã.). Âàðèàíò êîäîâîé òàáëèöû Õàôôìàíà ïðèìåíèòåëüíî ê ïðîïèñíûì áóêâàì ëàòèíñêîãî àëôàâèòà ïðèâåä¸í â òàáë. 1.8.


72

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Òàáëèöà 1.8. Âàðèàíò êîäîâîé òàáëèöû Õàôôìàíà Êîä Êîä Êîä Áóêâà Õàôôìàíà Áóêâà Áóêâà Áóêâà Õàôôìàíà Õàôôìàíà

Êîä Õàôôìàíà

E

100

S

0110

U

00010

K

110100011

T

001

H

0101

G

00001

X

110100001

A

1111

D

11011

Y

00000

J

110100000

O

1110

L

01111

P

110101

Q

1101000101

N

1100

F

01001

W

011101

Z

1101000100

R

1011

C

01000

B

011100

I

1010

M

00011

V

1101001

 ýòîé òàáëèöå áóêâû ðàñïîëîæåíû â ïîðÿäêå óáûâàíèÿ ÷àñòîòû ïîâòîðÿåìîñòè â òåêñòå. Ñàìûå ÷àñòî èñïîëüçóåìûå â òåêñòàõ áóêâû «Å» è «Ò» èìåþò êîäû ðàçìåðîì 3 áèòà. À ñàìûå ðåäêèå áóêâû «Q» è «Z» — 10 áèòîâ. ×åì áîëüøå ðàçìåð òåêñòà, çàêîäèðîâàííîãî òàêèì êîäîì, òåì ìåíüøå åãî èíôîðìàöèîííûé îáú¸ì ïî ñðàâíåíèþ ñ îáúåìîì ïðè èñïîëüçîâàíèè îäíîáàéòîâîé êîäèðîâêè. Îñîáåííîñòüþ äàííîãî êîäà ÿâëÿåòñÿ åãî ïðåôèêñíàÿ ñòðóêòóðà. Ýòî çíà÷èò, ÷òî êîä ëþáîãî ñèìâîëà íå ñîâïàäàåò ñ íà÷àëîì êîäà âñåõ îñòàëüíûõ ñèìâîëîâ. Íàïðèìåð, êîä áóêâû «Å» — 100. Ïîñìîòðèòå â òàáë. 1.8. Òàì íåò íè îäíîãî äðóãîãî êîäà, íà÷èíàþùåãîñÿ ñ ýòèõ òð¸õ ñèìâîëîâ. Ïî ýòîìó ïðèçíàêó ñèìâîëû îòäåëÿþòñÿ äðóã îò äðóãà àëãîðèòìè÷åñêèì ïóò¸ì. Ïðèìåð 1. Èñïîëüçóÿ êîä Õàôôìàíà, çàêîäèðîâàòü ñëåäóþùèé òåêñò, ñîñòîÿùèé èç 29 çíàêîâ: WENEEDMORESNOWFORBETTERSKIING Èñïîëüçóÿ òàáë. 1.8, çàêîäèðóåì ñòðîêó: 011101 100 1100 100 100 11011 00011 1110 1011 100 0110 1100 1110 011101 01001 1110 1011 011100 100 001 001 100 1011 0110 110100011 1010 1010 1100 00001 Ïîñëå ðàçìåùåíèÿ ýòîãî êîäà â ïàìÿòè ïîáàéòíî, îí ïðèìåò âèä: 01110110 01100100 10011011 00011111 01011100 01101100 11100111 01010011 11010110 11100100 00100110 01011011 01101000 11101010 10110000 001  øåñòíàäöàòåðè÷íîé ôîðìå îí çàïèøåòñÿ òàê: 76 64 9B 1F 5C 6C E7 53 D6 E4 26 5B 68 EA B0 20. Òàêèì îáðàçîì, òåêñò, çàíèìàþùèé â êîäèðîâêå ASCII 29 áàéòîâ, â êîäèðîâêå Õàôôìàíà çàéì¸ò 16 áàéòîâ.


1.4.5. Ñæàòèå äâîè÷íîãî êîäà*

73

Êîýôôèöèåíòîì ñæàòèÿ íàçûâàþò îòíîøåíèå äëèíû êîäà â áàéòàõ ïîñëå ñæàòèÿ ê åãî äëèíå äî ñæàòèÿ (ò. å. â 8-áèòîâîé êîäèðîâêå).  äàííîì ïðèìåðå êîýôôèöèåíò ñæàòèÿ îêàçàëñÿ ðàâíûì 16/29 » 0,55. Ðàñêîäèðîâàíèå (ðàñïàêîâêà) òåêñòà ïðîèçâîäèòñÿ ñ ïîìîùüþ äâîè÷íîãî äåðåâà êîäèðîâàíèÿ Õàôôìàíà. Äåðåâîì íàçûâàåòñÿ ãðàôè÷åñêîå ïðåäñòàâëåíèå (ãðàô) ñòðóêòóðû ñâÿçåé ìåæäó ýëåìåíòàìè íåêîòîðîé ñèñòåìû. Äåðåâî ñîñòîèò èç âåðøèí è ëèíèé ñâÿçè. Åñëè ëèíèÿ ñâÿçè èìååò íàïðàâëåíèå è èçîáðàæàåòñÿ ñòðåëêîé, òî îíà íàçûâàåòñÿ äóãîé.  äåðåâå íåò öèêëîâ. Ìåæäó ëþáûìè äâóìÿ âåðøèíàìè äåðåâà ñóùåñòâóåò åäèíñòâåííûé ïóòü èõ ñîåäèíåíèÿ ïî ëèíèÿì ñâÿçè.  âåðøèíó äåðåâà ìîæåò âõîäèòü òîëüêî îäíà äóãà îò «ðîäèòåëüñêîé» âåðøèíû è âûõîäèòü ìíîæåñòâî äóã ê âåðøèíàì-ïîòîìêàì. Äâîè÷íûì äåðåâîì íàçûâàåòñÿ äåðåâî, â êîòîðîì ëþáàÿ âåðøèíà èìååò íå áîëåå äâóõ ïîòîìêîâ. Êîðíåì äåðåâà íàçûâàåòñÿ åäèíñòâåííàÿ âåðøèíà, íå èìåþùàÿ ðîäèòåëüñêîé âåðøèíû. Ëèñòüÿìè äåðåâà íàçûâàþòñÿ âåðøèíû, íå èìåþùèå ïîòîìêîâ. Ãðàôè÷åñêîå èçîáðàæåíèå äåðåâà Õàôôìàíà, ñîîòâåòñòâóþùåãî òàáë. 1.8, ïðåäñòàâëåíî íà ðèñ. 1.18. Ëèñòüÿìè ýòîãî äåðåâà, ðàñïîëîæåííûìè íà êîíöàõ âåòâåé, ÿâëÿþòñÿ ñèìâîëû àëôàâèòà. Êîä ñèìâîëà ôîðìèðóåòñÿ èç ïîñëåäîâàòåëüíîñòè äâîè÷íûõ öèôð, ðàñïîëîæåííûõ íà ïóòè îò êîðíÿ äåðåâà äî ëèñòà-ñèìâîëà.

Ðèñ. 1.18. Äâîè÷íîå äåðåâî àëôàâèòà àíãëèéñêîãî ÿçûêà, èñïîëüçóåìîå äëÿ êîäèðîâàíèÿ ïî àëãîðèòìó Õàôôìàíà


74

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Äåðåâî íà ðèñ. 1.18 ïðåäñòàâëÿåò ñîêðàù¸ííûé âàðèàíò êîäà Õàôôìàíà.  ïîëíîì îáú¸ìå â íåì äîëæíû áûòü ó÷òåíû âñå âîçìîæíûå ñèìâîëû, âñòðå÷àþùèåñÿ â òåêñòå: ïðîáåëû, çíàêè ïðåïèíàíèÿ, ñêîáêè è äð. Ðàñïàêîâêà òåêñòà ïðîèñõîäèò ïóòåì ñêàíèðîâàíèÿ äâîè÷íîãî êîäà ñëåâà íàïðàâî, íà÷èíàÿ ñ ïåðâîãî ðàçðÿäà, ïðîäâèãàÿñü îò êîðíÿ ïî èìåþùèì äàííûé äâîè÷íûé êîä âåòâÿì äåðåâà äî òåõ ïîð, ïîêà íå áóäåò äîñòèãíóòà áóêâà. Ïîñëå âûäåëåíèÿ â êîäå áóêâû ïðîöåññ ðàñêîäèðîâàíèÿ ñëåäóþùåé áóêâû íà÷èíàåòñÿ ñíîâà îò êîðíÿ äâîè÷íîãî äåðåâà. Ïðèìåð 2. Ðàñêîäèðîâàòü ñëåäóþùèé äâîè÷íûé êîä, ïîëó÷åííûé ïî àëãîðèòìó Õàôôìàíà (ïðîáåëàìè êîä ðàçäåëåí íà áàéòû) : 01010001 00100101 00100011 11111100 Äâèãàÿñü ïî äåðåâó Õàôôìàíà, íà÷èíàÿ îò ïåðâîãî ñëåâà ðàçðÿäà, ïîëó÷èì ñëåäóþùóþ ðàñøèôðîâêó: 0101 ® H; 00010 ® U; 01001 ® F; 01001 ® F; 00011 ® M; 1111 ® A; 1100 ® N. Ïîëó÷èëîñü ñëîâî HUFFMAN. Óïàêîâàííûé êîä çàíèìàë 4 áàéòà, èñõîäíûé êîä — 7 áàéòîâ. Ñëåäîâàòåëüíî, êîýôôèöèåíò ñæàòèÿ áûë ðàâåí 4/7 » 0,57.  ïðîãðàììàõ, ñæèìàþùèõ òåêñò, òàáëèöó ÷àñòîòû âñòðå÷àåìîñòè ñèìâîëîâ ñòðîÿò äëÿ êàæäîãî îáðàáàòûâàåìîãî òåêñòà, à çàòåì ôîðìèðóþò êîäû ðàçíîé äëèíû (òèïà êîäîâ Õàôôìàíà).  òàêîì ñëó÷àå ñæàòèå òåêñòà ñòàíîâèòñÿ åù¸ áîëåå ýôôåêòèâíûì, òàê êàê êîäèðîâàíèå íàñòðàèâàåòñÿ èìåííî íà äàííûé òåêñò. Ê ìåòîäàì ñæàòèÿ ïóòåì ó÷åòà ÷èñëà ïîâòîðåíèé ôðàãìåíòîâ êîäà îòíîñÿòñÿ àëãîðèòì RLE è àëãîðèòìû Ëåìïåëÿ–Çèâà.  àëãîðèòìå RLE âûÿâëÿþòñÿ ãðóïïû èäóùèõ ïîäðÿä îäèíàêîâûõ îäíîáàéòîâûõ êîäîâ. Êàæäàÿ òàêàÿ ãðóïïà çàìåíÿåòñÿ íà äâà áàéòà: â ïåðâîì óêàçûâàåòñÿ ÷èñëî ïîâòîðåíèé (íå áîëåå 127), âî âòîðîì — ïîâòîðÿþùèéñÿ áàéò. Òàêîé àëãîðèòì áëàãîäàðÿ ñâîåé ïðîñòîòå ðàáîòàåò äîñòàòî÷íî áûñòðî. Íàèáîëüøóþ ýôôåêòèâíîñòü îí äà¸ò ïðè ñæàòèè ãðàôè÷åñêîé èíôîðìàöèè, ñîäåðæàùåé áîëüøèå îáëàñòè ðàâíîìåðíîé çàêðàñêè.  àëãîðèòìàõ Ëåìïåëÿ–Çèâà (LZ77, LZ78) âûÿâëÿþòñÿ ïîâòîðÿþùèåñÿ ïîñëåäîâàòåëüíîñòè áàéòîâ. Èõ óñëîâíî ìîæíî íàçâàòü ñëîâàìè. Åñëè ïðè ïîñëåäîâàòåëüíîì ïðîñìîòðå äàííûõ îáíàðóæèâàåòñÿ ñëîâî, êîòîðîå óæå âñòðå÷àëîñü ðàíüøå, òî íà íåãî ôîðìèðóåòñÿ ññûëêà â âèäå ñìåùåíèÿ íàçàä îòíîñèòåëüíî òåêóùåé ïîçèöèè è äëèíû ñëîâà â áàéòàõ. Ïðîãðàììíàÿ ðåàëèçàöèÿ òàêèõ àëãîðèòìîâ ñëîæíåå, ÷åì äëÿ ìåòîäà RLE. Íî çàòî ýôôåêò ñæàòèÿ ïîëó÷àåòñÿ çíà÷èòåëüíî âûøå.1 1

Ïîäðîáíåå îá àëãîðèòìàõ ñæàòèÿ ñì. Àíäðååâà Å. Â., Áîñîâà Ë. Ë., Ôàëèíà È. Í. Ìàòåìàòè÷åñêèå îñíîâû èíôîðìàòèêè. Ýëåêòèâíûé êóðñ. Ì.: ÁÈÍÎÌ. Ëàáîðàòîðèÿ çíàíèé, 2007.


1.4.5. Ñæàòèå äâîè÷íîãî êîäà*

75

Ñèñòåìà îñíîâíûõ ïîíÿòèé Ñæàòèå äâîè÷íîãî êîäà Ñæàòèå — ïðîöåññ ñîêðàùåíèÿ îáú¸ìà äàííûõ ïóò¸ì óìåíüøåíèÿ èõ èçáûòî÷íîñòè Áåç ïîòåðè èíôîðìàöèè

Ñ ÷àñòè÷íîé ïîòåðåé èíôîðìàöèè

êîäà êîä Èñïîëüçîâàöâåòà ïðîêîä Õàôôìàíà — ïðå- Ñæàòèå íèå íåðàâíî- ôèêñíûé êîä, äâîè÷íîå èçîáðàæåíèÿ: ïóñêàåòñÿ äëÿ ÷àñòè ìåðíîãî êîäè- äåðåâî êîäèðîâàíèÿ òî÷åê ðàñòðà ðîâàíèÿ: Ó÷åò ïîâòîðå- Àëãîðèòì RLE: êîýô- Ñæàòèå íèé ôðàãìåí- ôèöèåíò ïîâòîðåíèÿ + çâóêà: òîâ êîäà: ïîâòîðÿþùèéñÿ áàéò. Àëãîðèòìû Ëåìïåëÿ–Çèâà: ñëîâàðü ïîâòîðÿþùèõñÿ ñëîâ, ññûëêè íà ñëîâà

êîäà óäàëåíèå íåñëûøèìûõ ãàðìîíèê; èñïîëüçîâàíèå íåëèíåéíîé çàâèñèìîñòè ãðîìêîñòè îò àìïëèòóäû

Âîïðîñû è çàäàíèÿ 1.  êàêèõ ñëó÷àÿõ ïðè ñæàòèè äàííûõ ìîæíî äîïóñêàòü ÷àñòè÷íóþ ïîòåðþ èíôîðìàöèè, à â êàêèõ íåëüçÿ? 2. Çà ñ÷åò ÷åãî êîäû ïåðåìåííîé äëèíû ïîçâîëÿþò ñæèìàòü òåêñò? 3. Çàêîäèðóéòå ñ ïîìîùüþ êîäîâ Õàôôìàíà ñëåäóþùèé òåêñò: HAPPYNEWYEAR. Âû÷èñëèòå êîýôôèöèåíò ñæàòèÿ. 4. Ðàñøèôðóéòå ñ ïîìîùüþ äâîè÷íîãî äåðåâà Õàôôìàíà ñëåäóþùèé êîä: 11110111 10111100 00011100 00101100 10010011 01110100 11001111 11101101 001100 5.  ÷¸ì èäåÿ àëãîðèòìà ñæàòèÿ RLE? Êàêîé òèï èíôîðìàöèè ñæèìàåòñÿ íàèëó÷øèì îáðàçîì ïî ýòîìó àëãîðèòìó? 6.  ÷¸ì èäåÿ àëãîðèòìà ñæàòèÿ Ëåìïåëÿ–Çèâà? 7. Êàêèå ñâîéñòâà çðåíèÿ è ñëóõà ÷åëîâåêà èñïîëüçóþòñÿ äëÿ ñæàòèÿ ãðàôè÷åñêîé è çâóêîâîé èíôîðìàöèè?


76

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

1.5. Èíôîðìàöèîííûå ïðîöåññû 1.5.1

Õðàíåíèå èíôîðìàöèè

 îñíîâå ëþáîé èíôîðìàöèîííîé äåÿòåëüíîñòè ëåæàò òðè ïðîöåññà: õðàíåíèå èíôîðìàöèè, ïåðåäà÷à èíôîðìàöèè è îáðàáîòêà èíôîðìàöèè. Ïî ýòîé ïðè÷èíå õðàíåíèå, ïåðåäà÷ó è îáðàáîòêó èíôîðìàöèè íàçûâàþò îñíîâíûìè òèïàìè èíôîðìàöèîííûõ ïðîöåññîâ.

 ïðîöåññå õðàíåíèÿ èíôîðìàöèÿ ðàçìåùàåòñÿ íà íåêîòîðîì íîñèòåëå — ìàòåðèàëüíîé ñðåäå, ïðèãîäíîé äëÿ ôèêñàöèè (çàïèñè) èíôîðìàöèè.  êà÷åñòâå íîñèòåëåé èíôîðìàöèè ëþäè èñïîëüçîâàëè è èñïîëüçóþò ñàìûå ðàçíîîáðàçíûå ìàòåðèàëû: êàìåíü, äåðåâî, ïàïèðóñ, òêàíè, áóìàãó, ìàãíèòíûå è îïòè÷åñêèå íîñèòåëè è ïð. Âàæíûìè õàðàêòåðèñòèêàìè íîñèòåëåé ÿâëÿþòñÿ äîëãîâå÷íîñòü, íàä¸æíîñòü õðàíåíèÿ èíôîðìàöèè, èíôîðìàöèîííàÿ ¸ìêîñòü. Èñïîëüçîâàíèå áóìàæíûõ íîñèòåëåé èíôîðìàöèè Íîñèòåëåì, èìåþùèì íàèáîëåå ìàññîâîå óïîòðåáëåíèå, äî ñèõ ïîð îñòà¸òñÿ áóìàãà. Èçîáðåòåííàÿ âî II âåêå í. ý. â Êèòàå, áóìàãà ñëóæèò ëþäÿì óæå 19 ñòîëåòèé. Äëÿ ñîïîñòàâëåíèÿ îáú¸ìîâ èíôîðìàöèè íà ðàçíûõ íîñèòåëÿõ áóäåì ïîëüçîâàòüñÿ óíèâåðñàëüíîé åäèíèöåé — áàéòîì, ñ÷èòàÿ, ÷òî îäèí ñèìâîë òåêñòà «âåñèò» 1 áàéò. Íåòðóäíî ïîäñ÷èòàòü èíôîðìàöèîííûé îáú¸ì êíèãè. Ïóñòü êíèãà ñîäåðæèò 300 ñòðàíèö ñ ðàçìåðîì òåêñòà íà ñòðàíèöå ïðèìåðíî 2000 ñèìâîëîâ. Òåêñò òàêîé êíèãè èìååò îáú¸ì ïðèáëèçèòåëüíî 600 000 áàéòîâ — 586 Êá. ×òî êàñàåòñÿ äîëãîâå÷íîñòè õðàíåíèÿ äîêóìåíòîâ, êíèã è ïðî÷åé áóìàæíîé ïðîäóêöèè, òî îíà î÷åíü ñèëüíî çàâèñèò îò êà÷åñòâà áóìàãè, îò êðàñèòåëåé, èñïîëüçóåìûõ ïðè çàïèñè òåêñòà, îò óñëîâèé õðàíåíèÿ. Èíòåðåñíî, ÷òî äî ñåðåäèíû XIX âåêà (ñ ýòîãî âðåìåíè â êà÷åñòâå áóìàæíîãî ñûðüÿ íà÷àëè èñïîëüçîâàòü äðåâåñèíó) áóìàãà äåëàëàñü èç õëîïêà è òåêñòèëüíûõ îòõîäîâ — òðÿïüÿ. ×åðíèëàìè ñëóæèëè íàòóðàëüíûå êðàñè-


1.5.1. Õðàíåíèå èíôîðìàöèè

77

òåëè. Êà÷åñòâî ðóêîïèñíûõ äîêóìåíòîâ òîãî âðåìåíè áûëî äîâîëüíî âûñîêèì, è îíè ìîãëè õðàíèòüñÿ òûñÿ÷è ëåò. Ñ ïåðåõîäîì íà äðåâåñíóþ îñíîâó, ñ ðàñïðîñòðàíåíèåì ìàøèíîïèñè è ñðåäñòâ êîïèðîâàíèÿ, ñ èñïîëüçîâàíèåì ñèíòåòè÷åñêèõ êðàñèòåëåé ñðîê õðàíåíèÿ ïå÷àòíûõ äîêóìåíòîâ ñíèçèëñÿ äî 200–300 ëåò. Íà ïåðâûõ êîìïüþòåðàõ áóìàæíûå íîñèòåëè èñïîëüçîâàëèñü äëÿ öèôðîâîãî ïðåäñòàâëåíèÿ ââîäèìûõ äàííûõ. Ýòî áûëè ïåðôîêàðòû: êàðòîííûå êàðòî÷êè ñ îòâåðñòèÿìè, õðàíÿùèå äâîè÷íûé êîä ââîäèìîé èíôîðìàöèè. Íà íåêîòîðûõ òèïàõ ÝÂÌ äëÿ òåõ æå öåëåé ïðèìåíÿëàñü ïåðôîðèðîâàííàÿ áóìàæíàÿ ëåíòà. Èñïîëüçîâàíèå ìàãíèòíûõ íîñèòåëåé èíôîðìàöèè  XIX âåêå áûëà èçîáðåòåíà ìàãíèòíàÿ çàïèñü. Ïåðâîíà÷àëüíî îíà èñïîëüçîâàëàñü òîëüêî äëÿ ñîõðàíåíèÿ çâóêà. Ñàìûì ïåðâûì íîñèòåëåì ìàãíèòíîé çàïèñè áûëà ñòàëüíàÿ ïðîâîëîêà äèàìåòðîì äî 1 ìì.  íà÷àëå ÕÕ ñòîëåòèÿ äëÿ ýòèõ öåëåé èñïîëüçîâàëàñü òàêæå ñòàëüíàÿ êàòàíàÿ ëåíòà. Òîãäà æå (â 1906 ãîäó) áûë âûäàí è ïåðâûé ïàòåíò íà ìàãíèòíûé äèñê. Êà÷åñòâåííûå õàðàêòåðèñòèêè âñåõ ýòèõ íîñèòåëåé áûëè âåñüìà íèçêèìè. Äîñòàòî÷íî ñêàçàòü, ÷òî äëÿ ïðîèçâîäñòâà 14-÷àñîâîé ìàãíèòíîé çàïèñè óñòíûõ äîêëàäîâ íà Ìåæäóíàðîäíîì êîíãðåññå â Êîïåíãàãåíå â 1908 ãîäó ïîòðåáîâàëîñü 2500 êì, èëè îêîëî 100 êã ïðîâîëîêè.  20-õ ãîäàõ ïðîøëîãî âåêà ïîÿâëÿåòñÿ ìàãíèòíàÿ ëåíòà ñíà÷àëà íà áóìàæíîé, à ïîçäíåå — íà ñèíòåòè÷åñêîé (ëàâñàíîâîé) îñíîâå, íà ïîâåðõíîñòü êîòîðîé íàíîñèòñÿ òîíêèé ñëîé ôåððîìàãíèòíîãî ïîðîøêà. Âî âòîðîé ïîëîâèíå XX âåêà íà ìàãíèòíóþ ëåíòó íàó÷èëèñü çàïèñûâàòü èçîáðàæåíèå, ïîÿâëÿþòñÿ âèäåîêàìåðû, âèäåîìàãíèòîôîíû. Íà ÝÂÌ ïåðâîãî è âòîðîãî ïîêîëåíèé ìàãíèòíàÿ ëåíòà èñïîëüçîâàëàñü êàê åäèíñòâåííûé âèä ñìåííîãî íîñèòåëÿ äëÿ óñòðîéñòâ âíåøíåé ïàìÿòè. Ëþáàÿ èíôîðìàöèÿ â êîìïüþòåðå íà ëþáîì íîñèòåëå õðàíèòñÿ â äâîè÷íîì (öèôðîâîì) âèäå. Ïîýòîìó íåçàâèñèìî îò âèäà èíôîðìàöèè: òåêñò ýòî èëè èçîáðàæåíèå, èëè çâóê — å¸ îáú¸ì ìîæíî èçìåðèòü â áèòàõ è áàéòàõ. Íà îäíó êàòóøêó ñ ìàãíèòíîé ëåíòîé, èñïîëüçîâàâøåéñÿ â ëåíòîïðîòÿæíûõ óñòðîéñòâàõ ïåðâûõ ÝÂÌ, ïîìåùàëîñü ïðèáëèçèòåëüíî 1,5 Ìá èíôîðìàöèè. Ñ íà÷àëà 1960-õ ãîäîâ â óïîòðåáëåíèå âõîäÿò êîìïüþòåðíûå ìàãíèòíûå äèñêè: àëþìèíèåâûå èëè ïëàñòìàññîâûå äèñêè, ïîêðûòûå òîíêèì ìàãíèòíûì ïîðîøêîâûì ñëîåì òîëùèíîé â íåñêîëüêî ìèêðîí. Èíôîðìàöèÿ íà äèñêå ðàñïîëàãàåòñÿ ïî êðóãîâûì êîíöåíòðè÷åñêèì äîðîæêàì. Ìàãíèòíûå äèñêè áûâàþò æ¸ñòêèìè è ãèáêèìè, áûâàþò ñìåííûìè è âñòðîåííûìè â äèñêîâîä êîìïüþòåðà. Ïîñëåäíèå íàçûâàþò æ¸ñòêèìè äèñêàìè. Ƹñòêèé äèñê êîìïüþòåðà — ýòî ïàêåò ìàãíèòíûõ äèñêîâ, íàäåòûõ íà îáùóþ îñü, ñîáðàííûõ â îáùåì êîðïóñå ñ äâèãàòåëåì è óñòðîéñòâîì óïðàâëåíèÿ. Èíôîðìàöèîííàÿ ¸ìêîñòü ñîâðåìåííûõ æ¸ñòêèõ äèñêîâ ñîñòàâëÿåò äåñÿòêè è ñîòíè ãèãàáàéòîâ. Íàèáîëåå ðàñïðîñòðàí¸ííûé


78

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

òèï ãèáêîãî äèñêà äèàìåòðîì 3,5 äþéìà âìåùàåò îêîëî 1,4 Ìá äàííûõ. Ãèáêèå äèñêè â íàñòîÿùåå âðåìÿ âûõîäÿò èç óïîòðåáëåíèÿ.  áàíêîâñêîé ñèñòåìå áîëüøîå ðàñïðîñòðàíåíèå ïîëó÷èëè ïëàñòèêîâûå êàðòû. Íà íèõ òîæå èñïîëüçóåòñÿ ìàãíèòíûé ïðèíöèï çàïèñè èíôîðìàöèè, ñ êîòîðîé ðàáîòàþò áàíêîìàòû, êàññîâûå àïïàðàòû, ñâÿçàííûå ñ èíôîðìàöèîííîé áàíêîâñêîé ñèñòåìîé. Èñïîëüçîâàíèå îïòè÷åñêèõ äèñêîâ è ôëýø-ïàìÿòè Ïðèìåíåíèå îïòè÷åñêîãî, èëè ëàçåðíîãî ñïîñîáà çàïèñè èíôîðìàöèè íà÷èíàåòñÿ â 1980-õ ãîäàõ. Åãî ïîÿâëåíèå ñâÿçàíî ñ èçîáðåòåíèåì êâàíòîâîãî ãåíåðàòîðà — ëàçåðà, èñòî÷íèêà î÷åíü òîíêîãî (òîëùèíà ïîðÿäêà ìèêðîíà) ëó÷à âûñîêîé ýíåðãèè. Ëó÷ ñïîñîáåí âûæèãàòü íà ïîâåðõíîñòè ïëàâêîãî ìàòåðèàëà äâîè÷íûé êîä äàííûõ ñ î÷åíü âûñîêîé ïëîòíîñòüþ. Ñ÷èòûâàíèå ïðîèñõîäèò â ðåçóëüòàòå îòðàæåíèÿ îò òàêîé «ïåðôîðèðîâàííîé» ïîâåðõíîñòè ëàçåðíîãî ëó÷à ñ ìåíüøåé ýíåðãèåé («õîëîäíîãî» ëó÷à). Èíôîðìàöèîííàÿ ¸ìêîñòü îïòè÷åñêîãî äèñêà ñîñòàâëÿåò îò 190 Ìá äî 800 Ìá. Îïòè÷åñêèå äèñêè åù¸ íàçûâàþò êîìïàêò-äèñêàìè (CD). Âî âòîðîé ïîëîâèíå 1990-õ ãîäîâ ïîÿâèëèñü öèôðîâûå óíèâåðñàëüíûå âèäåîäèñêè DVD (Digital Versatile Disk) ñ áîëüøîé ¸ìêîñòüþ, èçìåðÿåìîé â ãèãàáàéòàõ (äî 8 Ãá). Óâåëè÷åíèå èõ ¸ìêîñòè ïî ñðàâíåíèþ ñ CD-äèñêàìè ñâÿçàíî ñ èñïîëüçîâàíèåì ëàçåðíîãî ëó÷à ìåíüøåãî äèàìåòðà, à òàêæå äâóõñëîéíîé è äâóñòîðîííåé çàïèñè.  íàñòîÿùåå âðåìÿ îïòè÷åñêèå äèñêè (CD è DVD) ÿâëÿþòñÿ íàèáîëåå íàä¸æíûìè íîñèòåëÿìè èíôîðìàöèè, çàïèñàííîé öèôðîâûì ñïîñîáîì. Ýòè òèïû íîñèòåëåé áûâàþò êàê îäíîêðàòíî çàïèñûâàåìûìè – ïðèãîäíûìè òîëüêî äëÿ ÷òåíèÿ, òàê è ïåðåçàïèñûâàåìûìè — ïðèãîäíûìè äëÿ ÷òåíèÿ è çàïèñè.  ïîñëåäíåå âðåìÿ ïîÿâèëîñü ìíîæåñòâî ìîáèëüíûõ öèôðîâûõ óñòðîéñòâ: öèôðîâûå ôîòî- è âèäåîêàìåðû, ÌÐ3-ïëååðû, êàðìàííûå êîìïüþòåðû, ìîáèëüíûå òåëåôîíû, óñòðîéñòâà äëÿ ÷òåíèÿ ýëåêòðîííûõ êíèã, GPS-íàâèãàòîðû è ìíîãîå äðóãîå. Âñå ýòè óñòðîéñòâà íóæäàþòñÿ â ïåðåíîñíûõ íîñèòåëÿõ èíôîðìàöèè. Íî ïîñêîëüêó âñå ìîáèëüíûå óñòðîéñòâà äîâîëüíî ìèíèàòþðíûå, òî è ê íîñèòåëÿì èíôîðìàöèè äëÿ íèõ ïðåäúÿâëÿþòñÿ îñîáûå òðåáîâàíèÿ. Îíè äîëæíû áûòü êîìïàêòíûìè, îáëàäàòü íèçêèì ýíåðãîïîòðåáëåíèåì ïðè ðàáîòå, áûòü ýíåðãîíåçàâèñèìûìè ïðè õðàíåíèè, èìåòü áîëüøóþ ¸ìêîñòü, âûñîêèå ñêîðîñòè çàïèñè è ÷òåíèÿ, äîëãèé ñðîê ñëóæáû. Âñåì ýòèì òðåáîâàíèÿì óäîâëåòâîðÿþò ôëýø-êàðòû ïàìÿòè. Èíôîðìàöèîííûé îáú¸ì ôëýø-êàðòû ìîæåò ñîñòàâëÿòü íåñêîëüêî ãèãàáàéòîâ.  êà÷åñòâå âíåøíåãî íîñèòåëÿ äëÿ êîìïüþòåðà øèðîêîå ðàñïðîñòðàíåíèå ïîëó÷èëè ôëýø-áðåëîêè (èõ íàçûâàþò â ïðîñòîðå÷èè «ôëýøêè»), âûïóñê êîòîðûõ íà÷àëñÿ â 2001 ãîäó. Áîëüøîé îáú¸ì èíôîðìàöèè, êîìïàêòíîñòü, âûñîêàÿ ñêîðîñòü ÷òåíèÿ/çàïèñè, óäîáñòâî â èñïîëüçîâàíèè — îñíîâíûå äîñòîèíñòâà


1.5.1. Õðàíåíèå èíôîðìàöèè

79

ýòèõ óñòðîéñòâ. Ôëýø-áðåëîê ïîäêëþ÷àåòñÿ ê USB-ïîðòó êîìïüþòåðà è ïîçâîëÿåò ñêà÷èâàòü äàííûå ñî ñêîðîñòüþ îêîëî 10 Ìá â ñåêóíäó.  ïîñëåäíèå ãîäû àêòèâíî âåäóòñÿ ðàáîòû ïî ñîçäàíèþ åù¸ áîëåå êîìïàêòíûõ íîñèòåëåé èíôîðìàöèè ñ èñïîëüçîâàíèåì íàíîòåõíîëîãèé, ðàáîòàþùèõ íà óðîâíå àòîìîâ è ìîëåêóë âåùåñòâà.  ðåçóëüòàòå îäèí êîìïàêò-äèñê, èçãîòîâëåííûé ïî íàíîòåõíîëîãèè, ñìîæåò çàìåíèòü òûñÿ÷è îïòè÷åñêèõ äèñêîâ. Ïî ïðåäïîëîæåíèÿì ýêñïåðòîâ, ïðèáëèçèòåëüíî ÷åðåç 20 ëåò ïëîòíîñòü õðàíåíèÿ èíôîðìàöèè âîçðàñò¸ò äî òàêîé ñòåïåíè, ÷òî íà íîñèòåëå îáúåìîì ïðèìåðíî ñ êóáè÷åñêèé ñàíòèìåòð ìîæíî áóäåò çàïèñàòü êàæäóþ ñåêóíäó ÷åëîâå÷åñêîé æèçíè. Îðãàíèçàöèÿ èíôîðìàöèîííûõ õðàíèëèù Ïðîöåññ õðàíåíèÿ èíôîðìàöèè ñâÿçàí íå òîëüêî ñ å¸ ðàçìåùåíèåì íà íîñèòåëÿõ. Ïðè áîëüøèõ îáú¸ìàõ èíôîðìàöèè ñîçäàþòñÿ èíôîðìàöèîííûå õðàíèëèùà, äëÿ êîòîðûõ âàæíûìè ñâîéñòâàìè ÿâëÿåòñÿ îðãàíèçàöèÿ äàííûõ: èõ óïîðÿäî÷åííîñòü, âíóòðåííÿÿ ñòðóêòóðà. Îò ñïîñîáà îðãàíèçàöèè äàííûõ çàâèñèò âîçìîæíîñòü äîñòóïà ê èíôîðìàöèè, ïðîèçâîäèìîãî ïðè ïîèñêå è êîððåêöèè äàííûõ. Ïðîáëåìû îïòèìàëüíîé îðãàíèçàöèè äàííûõ ðåøàþòñÿ êàê â òðàäèöèîííûõ «áóìàæíûõ» õðàíèëèùàõ (àðõèâàõ, áèáëèîòåêàõ), òàê è â êîìïüþòåðíûõ áàçàõ äàííûõ.

Ñèñòåìà îñíîâíûõ ïîíÿòèé Õðàíåíèå èíôîðìàöèè Íîñèòåëè èíôîðìàöèè Íåöèôðîâûå

Öèôðîâûå (êîìïüþòåðíûå)

Ìàãíèòíûå Îïòè÷åñêèå Ôëýø-íîñèòåëè Èñòîðè÷åñêèå: êàìåíü, äåðåËåíòû Äèñêè Êàðòû CD DVD ÔëýøÔëýøâî, ïàïèðóñ, êàðòû áðåëîêè ïåðãàìåíò, ø¸ëê ... Ôàêòîðû êà÷åñòâà íîñèòåëåé Ñîâðåìåííûå: Âìåñòèìîñòü — Íàäåæíîñòü õðàíåíèÿ — áóìàãà ìàêñèìàëüíîå âðåìÿ ñîõðàííîñòè äàíïëîòíîñòü õðàíåíèÿ äàííûõ, îáú¸ì äàííûõ íûõ, çàâèñèìîñòü îò óñëîâèé õðàíåíèÿ Íàèáîëüøåé âìåñòèìîñòüþ è íàäåæíîñòüþ íà ñåãîäíÿ îáëàäàþò îïòè÷åñêèå íîñèòåëè CD è DVD Ïåðñïåêòèâíûå âèäû íîñèòåëåé: íîñèòåëè íà áàçå íàíîòåõíîëîãèé

Âîïðîñû è çàäàíèÿ 1. Êàêàÿ, ñ âàøåé òî÷êè çðåíèÿ, ñîõðàíÿåìàÿ èíôîðìàöèÿ èìååò íàèáîëüøåå çíà÷åíèå äëÿ âñåãî ÷åëîâå÷åñòâà, äëÿ îòäåëüíîãî ÷åëîâåêà? 2. Íàçîâèòå èçâåñòíûå âàì êðóïíûå õðàíèëèùà èíôîðìàöèè. 3. Ìîæíî ëè ÷åëîâåêà íàçâàòü íîñèòåëåì èíôîðìàöèè?


80

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

4. Ãäå è êîãäà ïîÿâèëàñü áóìàãà? 5. Êîãäà áûëà èçîáðåòåíà ìàãíèòíàÿ çàïèñü? Êàêèìè ìàãíèòíûìè íîñèòåëÿìè âû ïîëüçóåòåñü èëè ïîëüçîâàëèñü? 6. Êàêîå òåõíè÷åñêîå èçîáðåòåíèå ïîçâîëèëî ñîçäàòü îïòè÷åñêèå íîñèòåëè èíôîðìàöèè? Íàçîâèòå òèïû îïòè÷åñêèõ íîñèòåëåé. 7. Íàçîâèòå ñðàâíèòåëüíûå ïðåèìóùåñòâà è íåäîñòàòêè ìàãíèòíûõ è îïòè÷åñêèõ íîñèòåëåé. 8. ×òî îçíà÷àåò ñâîéñòâî íîñèòåëÿ «òîëüêî äëÿ ÷òåíèÿ»? 9. Êàêèìè óñòðîéñòâàìè, â êîòîðûõ ïðèìåíÿþòñÿ ôëýø-íîñèòåëè, âû ïîëüçóåòåñü? Êàêîé ó íèõ èíôîðìàöèîííûé îáú¸ì? 10. Êàêèå ïåðñïåêòèâû, ñ òî÷êè çðåíèÿ õðàíåíèÿ èíôîðìàö��è, îòêðûâàþò íàíîòåõíîëîãèè?

1.5.2

Ïåðåäà÷à èíôîðìàöèè

Ïåðåäà÷à èíôîðìàöèè — ýòî ïðîöåññ ðàñïðîñòðàíåíèÿ èíôîðìàöèè îò èñòî÷íèêà ê ïðè¸ìíèêó ÷åðåç îïðåäåë¸ííûé êàíàë ñâÿçè.  îòëè÷èå îò ïðîöåññà ïåðåäà÷è ìàòåðèàëüíûõ îáúåêòîâ, ïðè ïåðåäà÷å èíôîðìàöèè èñòî÷íèê íå ëèøàåòñÿ ïåðåäàâàåìîé èíôîðìàöèè. Ïîýòîìó ìîæíî ñêàçàòü, ÷òî ðåçóëüòàòîì ïðîöåññà ïåðåäà÷è èíôîðìàöèè ÿâëÿåòñÿ å¸ ðàçìíîæåíèå, êîïèðîâàíèå. Ïðè ýòîì âîçíèêàåò ïðîáëåìà àäåêâàòíîñòè êîïèè îðèãèíàëó, êîòîðàÿ ìîæåò áûòü íàðóøåíà èç-çà èñêàæåíèé èëè ïîòåðè ÷àñòè èíôîðìàöèè â ïðîöåññå ïåðåäà÷è.  ï. 1.4.1 óæå ðàññêàçûâàëîñü îá èñòîðèè ðàçâèòèÿ òåõíè÷åñêèõ ñðåäñòâ ïåðåäà÷è èíôîðìàöèè, î ñïîñîáàõ ïåðåäà÷è èíôîðìàöèè ïîñðåäñòâîì íåïðåðûâíîãî è äèñêðåòíîãî ñèãíàëîâ. Âñå òåõíè÷åñêèå ñïîñîáû èíôîðìàöèîííîé ñâÿçè îñíîâàíû íà ïåðåäà÷å íà ðàññòîÿíèå ôèçè÷åñêîãî ñèãíàëà è ïîä÷èíÿþòñÿ íåêîòîðûì îáùèì çàêîíàì. Èññëåäîâàíèåì ýòèõ çàêîíîâ çàíèìàåòñÿ òåîðèÿ ñâÿçè. Ìàòåìàòè÷åñêèé àïïàðàò òåîðèè ñâÿçè — ìàòåìàòè÷åñêóþ òåîðèþ ñâÿçè ðàçðàáîòàë àìåðèêàíñêèé ó÷åíûé Êëîä Øåííîí. Ìîäåëü ïåðåäà÷è èíôîðìàöèè Êëîä Øåííîí ïðåäëîæèë ìîäåëü ïðîöåññà ïåðåäà÷è èíôîðìàöèè ïî òåõíè÷åñêèì êàíàëàì ñâÿçè, ïðåäñòàâëåííóþ ñõåìîé íà ðèñ. 1.19. Ðàáîòó òàêîé ñõåìû ìîæíî ïîÿñíèòü íà çíàêîìîì âñåì ïðîöåññå ðàçãîâîðà ïî ïðîâîäíîìó òåëåôîíó. Èñòî÷íèêîì èíôîðìàöèè ÿâëÿåòñÿ ãîâîðÿùèé ÷åëîâåê. Ïåðåäàþùèì óñòðîéñòâîì — ìèêðîôîí òåëåôîííîé òðóáêè, ñ ïîìîùüþ êîòîðîãî çâóêîâûå âîëíû (ðå÷ü) ïðåîáðàçóþòñÿ â ýëåêòðè÷åñêèå ñèãíàëû. Êàíàë ïåðåäà÷è çäåñü òåëåôîííàÿ ñåòü: ïðîâîäà, êîììóòàòîðû òåëåôîííûõ óçëîâ, ÷åðåç êîòîðûå ïðîõîäèò ñèãíàë. Ïðèíè-


1.5.2. Ïåðåäà÷à èíôîðìàöèè

81

Ðèñ. 1.19. Òåõíè÷åñêàÿ ñèñòåìà ïåðåäà÷è èíôîðìàöèè

ìàþùåå óñòðîéñòâî — òåëåôîííàÿ òðóáêà (íàóøíèê), â êîòîðîì ïðèøåäøèé ýëåêòðè÷åñêèé ñèãíàë ïðåâðàùàåòñÿ â çâóê. Ïðè¸ìíèêîì, èëè àäðåñàòîì ïåðåäàâàåìîãî ñîîáùåíèÿ, ÿâëÿåòñÿ ÷åëîâåê.  ñîâðåìåííûõ êîìïüþòåðíûõ ñèñòåìàõ ñâÿçè èñòî÷íèêîì è ïðè¸ìíèêîì èíôîðìàöèè ÿâëÿþòñÿ êîìïüþòåðû. Ìåæäó íèìè ïðîèñõîäèò ïåðåäà÷à êîäà, çàêëþ÷àþùåãî â ñåáå ñîäåðæàíèå ñîîáùåíèÿ. Ïåðåäàþùåå óñòðîéñòâî ïðîèçâîäèò ïðåîáðàçîâàíèå äâîè÷íîãî êîìïüþòåðíîãî êîäà â ôèçè÷åñêèé ñèãíàë òîãî òèïà, êîòîðûé ïåðåäà¸òñÿ ïî êàíàëó ñâÿçè.  ïðèíèìàþùåì óñòðîéñòâå ïðîèñõîäèò îáðàòíîå ïðåîáðàçîâàíèå ïåðåäàâàåìîãî ñèãíàëà â êîìïüþòåðíûé êîä. Íàïðèìåð, ïðè èñïîëüçîâàíèè â êîìïüþòåðíûõ ñåòÿõ òåëåôîííûõ ëèíèé ôóíêöèè ïðèíèìàþùåãî/ïåðåäàþùåãî óñòðîéñòâà âûïîëíÿåò ïðèáîð, êîòîðûé íàçûâàåòñÿ ìîäåìîì. Òåðìèíîì «øóì» íàçûâàþò ðàçíîãî ðîäà ïîìåõè, èñêàæàþùèå ïåðåäàâàåìûé ñèãíàë è ïðèâîäÿùèå ê ïîòåðå èíôîðìàöèè. Òàêèå ïîìåõè, ïðåæäå âñåãî, âîçíèêàþò ïî òåõíè÷åñêèì ïðè÷èíàì: ïëîõîå êà÷åñòâî ëèíèé ñâÿçè, íåçàùèù¸ííîñòü äðóã îò äðóãà ðàçëè÷íûõ ïîòîêîâ èíôîðìàöèè, ïåðåäàâàåìûõ ïî îäíèì è òåì æå êàíàëàì. Èíîãäà, áåñåäóÿ ïî òåëåôîíó, ìû ñëûøèì øóì, òðåñê, ìåøàþùèå ïîíÿòü ñîáåñåäíèêà, èëè íà íàø ðàçãîâîð «íàêëàäûâàåòñÿ» ðàçãîâîð äðóãèõ ëþäåé. Íàëè÷èå øóìà ïðèâîäèò ê ïîòåðå ÷àñòè ïåðåäàâàåìîé èíôîðìàöèè.  òàêèõ ñëó÷àÿõ íåîáõîäèìà çàùèòà îò øóìà. Äëÿ çàùèòû, â ïåðâóþ î÷åðåäü, ïðèìåíÿþòñÿ òåõíè÷åñêèå ñïîñîáû çàùèòû êàíàëîâ ïåðåäà÷è îò âîçäåéñòâèÿ øóìîâ. Òàêèå ñïîñîáû áûâàþò ñàìûå ðàçíûå. Íàïðèìåð, èñïîëüçîâàíèå ýêðàíèðîâàííîãî êàáåëÿ âìåñòî «ãîëîãî» ïðîâîäà; ïðèìåíåíèå ðàçíîãî ðîäà ôèëüòðîâ, îòäåëÿþùèõ ïîëåçíûé ñèãíàë îò øóìà è ïð. Äðóãîé ñïîñîá áîðüáû ñ øóìîì — ýòî âíåñåíèå èçáûòî÷íîñòè â ïåðåäàâàåìîå ñîîáùåíèå. Çà ñ÷¸ò èçáûòî÷íîñòè ïîòåðÿ êàêîé-òî ÷àñòè èíôîðìàöèè ïðè ïåðåäà÷å ìîæåò áûòü êîìïåíñèðîâàíà. Íàïðèìåð, åñëè ïðè ðàçãîâîðå ïî òåëåôîíó âàñ ïëîõî ñëûøíî, òî, ïîâòîðÿÿ êàæäîå ñëîâî äâàæäû, âû èìååòå áîëüøå øàíñîâ íà òî, ÷òî ñîáåñåäíèê ïîéì¸ò âàñ ïðàâèëüíî. Òåîðåìà Øåííîíà Ñêîðîñòüþ ïåðåäà÷è èíôîðìàöèè íàçûâàåòñÿ êîëè÷åñòâî èíôîðìàöèè, ïåðåäàâàåìîå çà åäèíèöó âðåìåíè. Ýòà âåëè÷èíà èçìåðÿåòñÿ â áèòàõ â


82

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

ñåêóíäó (à òàêæå êèëîáèòàõ â ñåêóíäó, ìåãàáèòàõ â ñåêóíäó è ò. ï.). Ðàçðàáîò÷èêàì òåõíè÷åñêèõ ñèñòåì ïåðåäà÷è èíôîðìàöèè ïðèõîäèòñÿ ðåøàòü äâå âçàèìîñâÿçàííûå çàäà÷è: êàê îáåñïå÷èòü íàèáîëüøóþ ñêîðîñòü ïåðåäà÷è èíôîðìàöèè è êàê óìåíüøèòü ïîòåðè èíôîðìàöèè ïðè ïåðåäà÷å. Êëîä Øåííîí áûë ïåðâûì ó÷åíûì, âçÿâøèìñÿ çà ðåøåíèå ýòèõ çàäà÷ è ñîçäàâøèì íîâóþ äëÿ òîãî âðåìåíè íàóêó — òåîðèþ èíôîðìàöèè. Øåííîí îïðåäåëèë ñïîñîá èçìåðåíèÿ êîëè÷åñòâà èíôîðìàöèè, ïåðåäàâàåìîé ïî êàíàëàì ñâÿçè. Îí ââ¸ë ïîíÿòèå ïðîïóñêíîé ñïîñîáíîñòè êàíàëà êàê ìàêñèìàëüíî âîçìîæíîé ñêîðîñòè ïåðåäà÷è èíôîðìàöèè. Ýòà ñêîðîñòü èçìåðÿåòñÿ â áèòàõ â ñåêóíäó (à òàêæå êèëîáèòàõ â ñåêóíäó, ìåãàáèòàõ â ñåêóíäó). Ïðîïóñêíàÿ ñïîñîáíîñòü êàíàëà ñâÿçè çàâèñèò, âî-ïåðâûõ, îò åãî òåõíè÷åñêîé ðåàëèçàöèè.  êîìïüþòåðíûõ ñåòÿõ èñïîëüçóþòñÿ ñëåäóþùèå âèäû ñâÿçè: l ýëåêòðè÷åñêàÿ ñâÿçü (òåëåôîííûå ëèíèè, ýëåêòðè÷åñêèé êàáåëü), l îïòè÷åñêàÿ ñâÿçü (îïòîâîëîêîííûé êàáåëü), l ðàäèîñâÿçü (ðàäèîðåëåéíûå ëèíèè, ñïóòíèêîâàÿ ñâÿçü). Ñêîðîñòü ïåðåäà÷è èíôîðìàöèè ïî àíàëîãîâûì òåëåôîííûì ëèíèÿì ñâÿçè ñîñòàâëÿåò äåñÿòêè–ñîòíè Êáèò/ñ; ñêîðîñòü ïåðåäà÷è ïî îïòîâîëîêîííûì ëèíèÿì è ëèíèÿì ðàäèîñâÿçè èçìåðÿåòñÿ äåñÿòêàìè è ñîòíÿìè Ìáèò/ñ. Âî-âòîðûõ, ïðîïóñêíàÿ ñïîñîáíîñòü êàíàëà çàâèñèò îò óðîâíÿ øóìà. Òî÷íåå ãîâîðÿ, îíà çàâèñèò îò îòíîøåíèÿ óðîâíÿ øóìà ê óðîâíþ ñèãíàëà. Åñëè àìïëèòóäó ýëåêòðè÷åñêèõ ïîìåõ îáîçíà÷èòü áóêâîé L (â âîëüòàõ), à áóêâîé À îáîçíà÷èòü àìïëèòóäó ïîëåçíîãî ñèãíàëà, òî çíà÷åíèå L/A åñòü îòíîøåíèå óðîâíÿ øóìà ê óðîâíþ ñèãíàëà. ×åì áîëüøå ýòà âåëè÷èíà, òåì áîëüøå øóì ïåðåêðûâàåò ñèãíàë. Ïðîïóñêíàÿ ñïîñîáíîñòü êàíàëà ñâÿçè ñóùåñòâåííî çàâèñèò îò óðîâíÿ èñêàæåíèé ñèãíàëà, êîòîðûé âíîñÿò øóìû.  1950-õ ãîäàõ Êëîä Øåííîí ñôîðìóëèðîâàë ôóíäàìåíòàëüíóþ òåîðåìó, íîñÿùóþ åãî èìÿ. Òåîðåìà Øåííîíà: âñÿêèé çàøóìë¸ííûé êàíàë ñâÿçè õàðàêòåðèçóåòñÿ ñâîåé ïðåäåëüíîé ñêîðîñòüþ ïåðåäà÷è èíôîðìàöèè (ïðîïóñêíîé ñïîñîáíîñòüþ), íàçûâàåìîé ïðåäåëîì Øåííîíà. Ïðè ñêîðîñòÿõ, ïðåâûøàþùèõ ýòîò ïðåäåë, íåèçáåæíû îøèáêè â ïåðåäàâàåìîé èíôîðìàöèè. Çàòî ïðè ñêîðîñòÿõ, íå ïðåâûøàþùèõ ïðåäåë Øåííîíà, ìîæíî îáåñïå÷èòü ñêîëü óãîäíî ìàëóþ âåðîÿòíîñòü îøèáêè çà ñ÷¸ò ñîîòâåòñòâóþùåãî ñïîñîáà êîäèðîâàíèÿ. Çàùèòà îò øóìà Åñëè ïî êàíàëó ïåðåäà¸òñÿ àíàëîãîâûé ñèãíàë, íàïðèìåð òåëåôîííûé ðàçãîâîð, òî ïðè íåáîëüøèõ øóìàõ ñëóøàòåëþ âñ¸ æå óäà¸òñÿ ïîíÿòü ñîäåðæàíèå ñîîáùåíèÿ áëàãîäàðÿ èçáûòî÷íîñòè, ñóùåñòâóþùåé ó ëþáîãî åñòåñòâåííîãî ÿçûêà. Äëÿ ñèñòåì äèñêðåòíîé öèôðîâîé ñâÿçè ïîòåðÿ äàæå îäíîãî áèòà ïðè èñïîëüçîâàíèè íåèçáûòî÷íîãî êîäà ìîæåò ïðèâåñòè ê ïîëíîìó îáåñöåíèâàíèþ èíôîðìàöèè.


1.5.2. Ïåðåäà÷à èíôîðìàöèè

83

Èçáûòî÷íîñòü — ýòî òà öåíà, êîòîðóþ ïðèõîäèòñÿ ïëàòèòü çà äîñòîâåðíîñòü èíôîðìàöèè. Âîò ïðîñòàÿ èäåÿ êîððåêöèè îøèáîê: êàæäûé áàéò äàííûõ ïåðåäàâàòü òðè ðàçà ïîäðÿä. Ïðèíÿòü òîò êîä, êîòîðûé äâàæäû ïîâòîðèëñÿ â ýòîé òðîéêå. Ïðèìåíåíèå ìåòîäà N-êðàòíîãî äóáëèðîâàíèÿ êîäà óâåëè÷èâàåò èçáûòî÷íîñòü äàííûõ â N ðàç è, êàê ñëåäñòâèå, âî ñòîëüêî æå ðàç óìåíüøàåò ñêîðîñòü ïåðåäà÷è. Ïðîáëåìà, êîòîðàÿ ìíîãèå ãîäû ðåøàëàñü ñïåöèàëèñòàìè â îáëàñòè òåîðèè ñâÿçè, — ìèíèìèçàöèÿ èçáûòî÷íîñòè, àâòîìàòè÷åñêîå èñïðàâëåíèå (êîððåêöèÿ) îøèáîê ïðè ïåðåäà÷å äàííûõ. Äëÿ êîíòðîëÿ è êîððåêöèè îøèáîê òðåáóåòñÿ ñïåöèàëüíîå êîäèðîâàíèå ïåðåäàâàåìûõ äàííûõ. Íàèáîëåå ïðîñòûì âàðèàíòîì êîíòðîëÿ ÿâëÿåòñÿ èñïîëüçîâàíèå êîíòðîëüíîé ñóììû. Àëãîðèòì âû÷èñëåíèÿ êîíòðîëüíîé ñóììû òàêîé, ÷òî ëþáîå èçìåíåíèå êîäà ñîîáùåíèÿ ïðèâîäèò ê èçìåíåíèþ êîíòðîëüíîé ñóììû. Âñ¸ ñîîáùåíèå ðàçáèâàåòñÿ íà ïîðöèè — áëîêè. Äëÿ êàæäîãî áëîêà âû÷èñëÿåòñÿ êîíòðîëüíàÿ ñóììà, êîòîðàÿ ïåðåäà¸òñÿ âìåñòå ñ äàííûì áëîêîì.  ìåñòå ïðè¸ìà ñîîáùåíèÿ çàíîâî âû÷èñëÿåòñÿ êîíòðîëüíàÿ ñóììà ïðèíÿòîãî áëîêà, è åñëè îíà íå ñîâïàäàåò ñ ïåðâîíà÷àëüíîé ñóììîé, òî ïåðåäà÷à äàííîãî áëîêà ïîâòîðÿåòñÿ. Òàê áóäåò ïðîèñõîäèòü äî òåõ ïîð, ïîêà èñõîäíàÿ è êîíå÷íàÿ êîíòðîëüíûå ñóììû íå ñîâïàäóò. Êîíòðîëüíàÿ ñóììà ïîçâîëÿåò óñòàíîâèòü íàëè÷èå îøèáêè â áëîêå, íî å¸ èñïðàâëåíèå ïðîèñõîäèò äîðîãîñòîÿùèì ñïîñîáîì — ïîâòîðíîé ïåðåäà÷åé äàííûõ ïî êàíàëó ñâÿçè. Äðóãîé ïîäõîä ê èñïðàâëåíèþ îøèáîê çàêëþ÷àåòñÿ â èñïîëüçîâàíèè êîððåêòèðóþùèõ êîäîâ. Èõ òàêæå íàçûâàþò êîäàìè ñ êîððåêöèåé îøèáîê èëè ïîìåõîóñòîé÷èâûìè êîäàìè. Èìåííî èñïîëüçîâàíèå òàêèõ êîäîâ ïîçâîëÿåò ïðèáëèçèòüñÿ ê ïðåäåëó Øåííîíà. Î òàêèõ êîäàõ ìû ïîãîâîðèì â ñëåäóþùåì ïàðàãðàôå.

Ñèñòåìà îñíîâíûõ ïîíÿòèé Ïåðåäà÷à èíôîðìàöèè â òåõíè÷åñêèõ ñèñòåìàõ ñâÿçè Ìîäåëü Êëîäà Øåííîíà Èñòî÷íèê, ® ïåðåäàþùåå óñòðîéñòâî

Ïðîöåññ ïåðåäà÷è ïî êàíàëó ñâÿçè Âîçäåéñòâèå øóìîâ Çàùèòà íà êàíàë ñâÿçè îò øóìà

® Ïðèíèìàþùåå óñòðîéñòâî, ïðè¸ìíèê

Òåîðåìà Øåííîíà: âñÿêèé çàøóìë¸ííûé êàíàë ñâÿçè õàðàêòåðèçóåòñÿ ñâîåé ïðåäåëüíîé ñêîðîñòüþ ïåðåäà÷è èíôîðìàöèè (ïðîïóñêíîé ñïîñîáíîñòüþ) Ñïîñîáû çàùèòà èíôîðìàöèè îò ïîòåðü ïðè âîçäåéñòâèè øóìà Òåõíè÷åñêèå ñðåäÇàùèòà ïóòåì âíåñåíèÿ èçáûòî÷íîñòè ñòâà çàùèòû: ýêðàÏîìåõîóñòîé÷èâîå Âû÷èñëåíèå íèðîâàíèå, ôèëüò- Äóáëèðîâàíèå êîäèðîâàíèå äàííûõ êîíòðîëüíîé ðàöèÿ è äð. ñóììû


84

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Âîïðîñû è çàäàíèÿ 1. Êàêèìè òåõíè÷åñêèìè ñèñòåìàìè ñâÿçè âû ÷àùå âñåãî ïîëüçóåòåñü? Îïèøèòå ñòðóêòóðó ýòèõ ñèñòåì ñîãëàñíî ìîäåëè Øåííîíà. 2. Çàìå÷àëè ëè âû ôàêòû ïîòåðè èíôîðìàöèè? 3. ×òî òàêîå øóì ïî îòíîøåíèþ ê ñèñòåìàì ïåðåäà÷è äàííûõ? Êàêîâû èñòî÷íèêè øóìà? Ïðèâåäèòå ïðèìåðû. 4. Êàêèå ñóùåñòâóþò ñïîñîáû áîðüáû ñ øóìîì? 5. ×òî òàêîå ïðîïóñêíàÿ ñïîñîáíîñòü êàíàëà ñâÿçè è îò ÷åãî îíà çàâèñèò? 6. Êàê âû äóìàåòå, åñòü ëè ðàçíèöà ìåæäó ïîíÿòèÿìè «ïîòåðÿ äàííûõ» è «ïîòåðÿ èíôîðìàöèè»? Î ÷¸ì èäåò ðå÷ü â òåîðåìå Øåííîíà: î ïîòåðå äàííûõ èëè î ïîòåðå èíôîðìàöèè? 7. Êàêîé ìåòîä áîðüáû ñ øóìîì ýôôåêòèâíåå: ðåãóëÿðíîå äóáëèðîâàíèå äàííûõ èëè áëî÷íîå êîíòðîëüíîå ñóììèðîâàíèå? Êàê ìîæåò çàâèñåòü ýôôåêòèâíîñòü çàùèòû äàííûõ îò ðàçìåðà áëîêîâ ïðè èñïîëüçîâàíèè êîíòðîëüíîãî ñóììèðîâàíèÿ? þ 8. Ïðîïóñêíàÿ ñïîñîáíîñòü êàíàëà ñâÿçè ñîñòàâëÿåò 100 Ìáèò/ñ. Êàíàë íå ïîäâåðæåí âîçäåéñòâèþ øóìà (íàïðèìåð, îïòîâîëîêîííàÿ ëèíèÿ). Îïðåäåëèòü, çà êàêîå âðåìÿ áóäåò ïî êàíàëó ïåðåäàí òåêñò, èíôîðìàöèîííûé îáú¸ì êîòîðîãî ñîñòàâëÿåò 100 êèëîáàéòîâ. þ 9. Ïðîïóñêíàÿ ñïîñîáíîñòü êàíàëà ñâÿçè ðàâíà 10 Ìáèò/ñ. Êàíàë ïîäâåðæåí âîçäåéñòâèþ øóìà, ïîýòîìó èçáûòî÷íîñòü êîäà ïåðåäà÷è ñîñòàâëÿåò 20%. Îïðåäåëèòü, çà êàêîå âðåìÿ áóäåò ïî êàíàëó ïåðåäàí òåêñò, èíôîðìàöèîííûé îáú¸ì êîòîðîãî ñîñòàâëÿåò 100 êèëîáàéòîâ.

1.5.3

Êîððåêöèÿ îøèáîê ïðè ïåðåäà÷å äàííûõ *

Ïîìåõîóñòîé÷èâûé êîä Õåììèíãà Ïîÿñíèì ñóòü ïîìåõîóñòîé÷èâîãî êîäèðîâàíèÿ íà ïðîñòîì ïðèìåðå. Ðàññìîòðèì èäåþ øèðîêî èñïîëüçóåìîãî êîäà Õåììèíãà.  í¸ì èñïîëüçóþòñÿ ñëåäóþùèå îñíîâíûå ïîíÿòèÿ: êîäîâîå ñëîâî, ðàññòîÿíèå ìåæäó ñëîâàìè. Êîäîâîå ñëîâî ñîñòîèò èç èñõîäíîãî êîäà è äîïîëíèòåëüíûõ ñèìâîëîâ, ïðèñîåäèíÿåìûõ ê èñõîäíîìó êîäó. Ïóñòü ïåðåäà¸òñÿ ñîîáùåíèå, ñîñòîÿùåå òîëüêî èç äåñÿòè÷íûõ öèôð. Âåñü òàêîé àëôàâèò ìîæíî çàêîäèðîâàòü, èñïîëüçóÿ äâîè÷íî-äåñÿòè÷íûé ÷åòûðåõðàçðÿäíûé êîä (âòîðîé ñòîëáåö òàáë. 1.9).  òðåòüåì ñòîëáöå òàáëèöû ïðèâåäåíû êîäîâûå ñëîâà, â êîòîðûõ ê äâîè÷íûì êîäàì äåñÿòè÷íûõ öèôð äîáàâëåíû òðè äîïîëíèòåëüíûõ äâîè÷íûõ ðàçðÿäà.


1.5.3. Êîððåêöèÿ îøèáîê ïðè ïåðåäà÷å äàííûõ *

85

Òàáëèöà 1.9. Êîä Õåììèíãà Ñèìâîë

Äâîè÷íûé êîä

Êîäîâîå ñëîâî

0

0000

0000 000

1

0001

0001 111

2

0010

0010 110

3

0011

0011 001

4

0100

0100 101

5

0101

0101 010

6

0110

0110 011

7

0111

0111 100

8

1000

1000 011

9

1001

1001 100

Ðàññòîÿíèåì ìåæäó äâóìÿ ñëîâàìè íàçûâàåòñÿ êîëè÷åñòâî ïîçèöèé, â êîòîðûõ ñèìâîëû îäíîãî ñëîâà íå ñîâïàäàþò ñ ñèìâîëàìè äðóãîãî ñëîâà. Íàïðèìåð, ìåæäó êîäîâûìè ñëîâàìè äåñÿòè÷íûõ öèôð 5 è 6 ðàññòîÿíèå ðàâíî òð¸ì: ¯¯ ¯ 5: 0101 010 6: 0110011 Ìåæäó öèôðàìè 7 è 8 ðàññòîÿíèå ðàâíî ñåìè. Ìèíèìàëüíîå ðàññòîÿíèå ìåæäó êîäîâûìè ñëîâàìè â äàííîé òàáëèöå ðàâíî òð¸ì. Ïðåäïîëîæèì, ÷òî íàìè ïîëó÷åíî ñîîáùåíèå, çàêîäèðîâàííîå êîäîì Õåììèíãà. Ðàçäåëèì ýòî ñîîáùåíèå íà ñåìèáèòîâûå ñëîâà. Åñëè ïîëó÷åííîå ñëîâî ñîâïàäàåò ñ êîäîâûì ñëîâîì â òàáëèöå 1.9 (ðàññòîÿíèå ìåæäó íèìè ðàâíî íóëþ), òî ïåðåäà÷à ïðîèçîøëà áåç îøèáîê. Åñëè â òàáë. 1.9 ñóùåñòâóþò ñëîâà, ðàññòîÿíèÿ îò êîòîðûõ äî ïîëó÷åííîãî ñëîâà ðàâíû 1 èëè 2, òî äàííîå êîäîâîå ñëîâî ñîäåðæèò îøèáêè â îäíîé èëè äâóõ ïîçèöèÿõ. Ýòî ñëåäóåò èç òîãî, ÷òî ìèíèìàëüíîå ðàññòîÿíèå ìåæäó ðàçíûìè ñèìâîëàìè äîëæíî áûòü íå ìåíüøå 3. Ñëîâî, â êîòîðîì îáíàðóæåíà îäíà îøèáêà, çàìåíÿåòñÿ íà áëèæàéøåå ê íåìó èç êîäîâîé òàáëèöû. Âåñüìà âûñîêà âåðîÿòíîñòü òîãî, ÷òî èìåííî îíî áûëî èñêàæåíî. Åñëè ìèíèìàëüíîå ðàññòîÿíèå ìåæäó ïîëó÷åííûì ñëîâîì è ñëîâàìè â òàáëèöå ðàâíî äâóì, òî ñ÷èòàåòñÿ, ÷òî àâòîìàòè÷åñêè êîä èñïðàâèòü íåëüçÿ.  íàøåì ïðèìåðå, ïðè ìèíèìàëüíîì ðàññòîÿíèè ìåæäó êîäîâûìè ñëîâàìè, ðàâíîì òð¸ì, àëãîðèòì êîððåêöèè ïîçâîëÿåò èñïðàâëÿòü îäíó îøèáêó â êîäîâîì ñëîâå.  îáùåì ñëó÷àå, åñëè R — ìèíèìàëüíîå ðàññòîÿíèå ìåæäó ñëîâàìè â òàáëèöå Õåììèíãà, òî àâòîìàòè÷åñêîé êîððåêöèè ïîääàþòñÿ [(R – 1)/2] îøèáîê â êîäîâîì ñëîâå (êâàäðàòíûå ñêîáêè îáîçíà÷àþò âûäåëåíèå öåëîé ÷àñòè ÷èñëà).


86

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Ïðèìåð. Ïî êàíàëó ñâÿçè ïîëó÷åíî ñîîáùåíèå â ôîðìå ñëåäóþùåãî êîäà: 1000011100111101100100100101 Ðàçäåëèì åãî íà ñåìèáèòîâûå ñëîâà: 1000011 1001111 0110010 0100101. Ïåðâîå ñëîâî ñîâïàäàåò ñ êîäîâûì ñëîâîì öèôðû 8. Âòîðîãî ñëîâà íåò â êîäîâîé òàáëèöå. Áëèæàéøèé ê íåìó êîä íàõîäèòñÿ íà ðàññòîÿíèè åäèíèöû — 0001111. Ýòî êîä öèôðû 1.  ñëåäóþùåì ñëîâå òàêæå îáíàðóæåíà îøèáêà. Áëèæàéøåå ñëîâî — 0110011. Ýòî êîä öèôðû 6. Ïîñëåäíåå ñëîâî — êîä öèôðû 4. Ñëåäîâàòåëüíî, ïåðåäàíî ñîîáùåíèå: 8164. Ïîêàçàííûé â ïðèìåðå ïðîöåññ êîíòðîëÿ è êîððåêöèè ïî òàáëèöå êîäà Õåììèíãà ëåãêî ïîääà¸òñÿ ïðîãðàììèðîâàíèþ. Ïîýòîìó èñïðàâëåíèå îøèáîê, âîçíèêøèõ ïðè ïåðåäà÷å äàííûõ, ìîæíî ïðîèçâîäèòü àâòîìàòè÷åñêè íà ïðèíèìàþùåì ñîîáùåíèå êîìïüþòåðå. Ìîæíî îïðåäåëèòü êîýôôèöèåíò ïðåîáðàçîâàíèÿ êîäà êàê îòíîøåíèå äëèíû ïðåîáðàçîâàííîãî êîäà ê äëèíå èñõîäíîãî êîäà. Äëÿ ïðåîáðàçîâàíèÿ ñæàòèÿ (ñì. ï. 1.4.5) ýòó âåëè÷èíó ìû íàçûâàëè êîýôôèöèåíòîì ñæàòèÿ. Åãî çíà÷åíèå ìåíüøå åäèíèöû. Ïðèìåíåíèå ïîìåõîóñòîé÷èâîãî êîäèðîâàíèÿ âåä¸ò ê «ðàñòÿæåíèþ» êîäà. Äëÿ ðàññìîòðåííîãî ïðèìåðà çíà÷åíèå êîýôôèöèåíòà ïðåîáðàçîâàíèÿ êîäà ðàâíî 7/4 = 1,75. Óâåëè÷åíèå ðàçìåðà êîäà íà 75%— äîâîëüíî âûñîêàÿ öåíà çà âîçìîæíîñòü èñïðàâëåíèÿ îäíîé îøèáêè â ñëîâå! Ïîñòðîåíèå êîððåêòèðóþùèõ êîäîâ ñ çàäàííûì ìèíèìàëüíûì ðàññòîÿíèåì ìåæäó êîäîâûìè ñëîâàìè ÿâëÿåòñÿ ñëîæíîé çàäà÷åé. Ðàçðàáîòàíû àëãîðèòìû, óñïåøíî ðåøàþùèå ýòó çàäà÷ó1.  íàøåì ïðèìåðå ðàññìîòðåí ÷åòûð¸õðàçðÿäíûé êîä, ðàñøèðåííûé òðåìÿ áèòàìè, ñ ìèíèìàëüíûì ðàññòîÿíèåì ìåæäó ñëîâàìè, ðàâíûì òð¸ì.  ìåæäóíàðîäíûõ ñèñòåìàõ ñâÿçè èñïîëüçóåòñÿ 235-ðàçðÿäíûé êîä ñ ðàñøèðåíèåì 20 áèòîâ è ìèíèìàëüíûì ðàññòîÿíèåì ìåæäó ñëîâàìè, ðàâíûì 7. Òàêîé êîä ïîçâîëÿåò îáíàðóæèâàòü äî 6 îøèáîê, äîïóùåííûõ â ñëîâå, è ãàðàíòèðîâàííî (àâòîìàòè÷åñêè) èñïðàâëÿòü ñëîâà, ñîäåðæàùèå íå áîëåå òð¸õ îøèáîê. Âû÷èñëèì êîýôôèöèåíò ïðåîáðàçîâàíèÿ êîäà, î êîòîðîì ãîâîðèëîñü âûøå. Îí ðàâåí: (235 + 20)/235 = 255/235 » 1,085. Äëèíà êîäà óâåëè÷èâàåòñÿ âñåãî íà 8,5%! Ó÷èìñÿ ïðîãðàììèðîâàòü (Ïîäïðîãðàììà-ôóíêöèÿ) Ðàññìîòðèì ïðîãðàììó íà Ïàñêàëå, â êîòîðîé ìîäåëèðóåòñÿ ïðîöåññ êîíòðîëÿ è êîððåêöèÿ ââîäèìîãî êîäà äåñÿòè÷íîé öèôðû ñîãëàñíî òàáë. 1.9. Ïðè çàïóñêå ïðîãðàììû çàïðàøèâàåòñÿ ñåìèðàçðÿäíûé äâîè÷íûé êîä. Ïîëüçîâàòåëü ââîäèò ýòîò êîä.  èòîãå íà ýêðàí âûâîäèòñÿ îäèí èç òð¸õ âàðèàíòîâ îòâåòà: 1) êîä âåðíûé: ñèìâîë Õ; 2) êîä èñïðàâëåí; ñèìâîë Õ; 3) êîä íåâåðíûé. 1

Ïîäðîáíî ñì.: Ìîðåëîñ-Ñàðàãîñà Ð. Èñêóññòâî ïîìåõîóñòîé÷èâîãî êîäèðîâàíèÿ. Ìåòîäû, àëãîðèòìû, ïðèìåíåíèå. — Ì.: Òåõíîñôåðà, 2005.


1.5.3. Êîððåêöèÿ îøèáîê ïðè ïåðåäà÷å äàííûõ *

87

Ïåðâûé îòâåò âûâîäèòñÿ â ñëó÷àå, åñëè â êîäîâîé òàáëèöå íàõîäèòñÿ ñèìâîë Õ, ðàññòîÿíèå ìåæäó êîäîâûì ñëîâîì êîòîðîãî è ââåä¸ííûì êîäîì ðàâíî íóëþ. Âòîðîé îòâåò âûâîäèòñÿ, åñëè áëèæàéøåå ðàññòîÿíèå ìåæäó êîäîâûì ñëîâîì ñèìâîëà Õ è ââåä¸ííûì êîäîì ðàâíî åäèíèöå. Òðåòèé îòâåò âûâîäèòñÿ â ñëó÷àå, åñëè áëèæàéøåå ðàññòîÿíèå ìåæäó ââåä¸ííûì êîäîâûì ñëîâîì è êîäîâûìè ñëîâàìè òàáë. 1.9 áîëüøå åäèíèöû.  ïðèâåä¸ííîé ïðîãðàììå åñòü íîâûå ýëåìåíòû Ïàñêàëÿ, ñ êîòîðûìè âû ðàíüøå íå âñòðå÷àëèñü. Îáñóäèì èõ. Äëÿ õðàíåíèÿ òàáëèöû êîäà Õåììèíãà èñïîëüçóåòñÿ äâóìåðíûé ìàññèâ ñ èìåíåì Tabl. Îí ñîäåðæèò äåñÿòü ñòðîê, íóìåðóåìûõ îò 0 äî 9, è äâà ñòîëáöà ñ íîìåðàìè 1 è 2.  ïåðâîì ñòîëáöå íàõîäÿòñÿ êîäèðóåìûå ñèìâîëû (öèôðû îò 0 äî 9), âî âòîðîì ñòîëáöå — ñîîòâåòñòâóþùèå êîäîâûå ñëîâà ñîãëàñíî òàáë.1.9. Òàáëèöà ñîäåðæèò ïîñòîÿííûå çíà÷åíèÿ, ïîýòîìó â ïðîãðàììå îíà îïèñàíà íå êàê ïåðåìåííàÿ, à êàê êîíñòàíòà (ïîñëå ñëîâà Const). Ñåìèðàçðÿäíûå öåëûå ÷èñëà íå óêëàäûâàþòñÿ â äèàïàçîí òèïà integer. Ïîýòîìó òèï ýëåìåíòîâ òàáëèöû longint — äëèííûé öåëûé òèï. ×èñëî òàêîãî òèïà çàíèìàåò â ïàìÿòè 4 áàéòà è ìîæåò ïðèíèìàòü çíà÷åíèÿ â äèàïàçîíå îò –231 äî 231–1. Çíà÷åíèÿ êîíñòàíò óêàçûâàþòñÿ â òåêñòå ïðîãðàììû â êðóãëûõ ñêîáêàõ ïîñëå çíàêà «=». Çíà÷åíèÿ äâóìåðíîãî ìàññèâà çàïèñûâàþòñÿ ïîñòðî÷íî ÷åðåç çàïÿòóþ. Êàæäàÿ ñòðîêà çàêëþ÷àåòñÿ â êðóãëûå ñêîáêè. Äëÿ âû÷èñëåíèÿ ðàññòîÿíèÿ ìåæäó äâóìÿ ñåìèðàçðÿäíûìè êîäîâûìè ñëîâàìè â ïðîãðàììå èñïîëüçóåòñÿ ôóíêöèÿ ñ èìåíåì Distance. Ýòî íåñòàíäàðòíàÿ ôóíêöèÿ, êîòîðàÿ èñïîëüçóåòñÿ òîëüêî â äàííîé ïðîãðàììå. Îïèñàíèå ôóíêöèè ðàñïîëàãàåòñÿ â ðàçäåëå îïèñàíèé ïðîãðàììû è èìååò ñëåäóþùèé ôîðìàò: Function <èìÿ ôóíêöèè>(<îïèñàíèÿ ïàðàìåòðîâ>):<òèï ôóíêöèè>; <âíóòðåííèå îïèñàíèÿ>; Begin <áëîê îïåðàòîðîâ> End;

Ïàðàìåòðû ôóíêöèè — ýòî å¸ àðãóìåíòû, èñõîäíûå äàííûå, ñ êîòîðûìè ðàáîòàåò ôóíêöèÿ (ïåðåìåííûå X,Y). Îíè íàçûâàþòñÿ ôîðìàëüíûìè ïàðàìåòðàìè è ïîçæå, ïðè îáðàùåíèè ê ôóíêöèè ïîëó÷àò êîíêðåòíûå çíà÷åíèÿ òîãî æå òèïà — ôàêòè÷åñêèå çíà÷åíèÿ ïàðàìåòðîâ. Òèï ôóíêöèè — ýòî òèï å¸ ðåçóëüòàòà. Ðåçóëüòàò âû÷èñëåíèÿ ôóíêöèè ïðèñâàèâàåòñÿ ïåðåìåííîé ñ òåì æå èìåíåì, ÷òî èìååò ôóíêöèÿ, — Distance. Ïîñêîëüêó ðåçóëüòàò ôóíêöèè — ÷èñëî â äèàïàçîíå îò 0 äî 7, òî äîñòàòî÷íî òèïà byte. Àëãîðèòì ôóíêöèè Distance ïîñòðîåí íà ïîðàçðÿäíîì ñðàâíåíèè öèôð äâóõ ñåìèðàçðÿäíûõ êîäîâ X è Y, ñïðàâà íàëåâî. Ïåðåìåíîé K, â êîòîðîé õðàíèòñÿ ðàññòîÿíèå ìåæäó êîäàìè, ñíà÷àëà ïðèñâàèâàåòñÿ çíà÷åíèå 7, à çàòåì, ïðè ñîâïàäåíèè êàæäîé ïàðû ðàçðÿäîâ, âû÷èòàåòñÿ åäèíèöà. Åñëè ñîâïàäóò âñå ðàçðÿäû, ðàññòîÿíèå áóäåò ðàâíî íóëþ, åñëè íå ñîâïàä¸ò íè îäíîé ïàðû, îñòàíåòñÿ ðàâíûì 7.  îñíîâíîé ÷àñòè ïðîãðàììû ðåàëèçîâàí ñòàíäàðòíûé àëãîðèòì ïîèñêà ìèíèìàëüíîãî çíà÷åíèÿ (ïåðåìåííàÿ min) è ñîîòâåòñòâóþùåãî åìó íî-


88

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

ìåðà ýëåìåíòà (ïåðåìåííàÿ imin). Ýëåìåíòû i-é ñòðîêè ìàññèâà Tabl îáîçíà÷àþòñÿ: Tabl[i,1] — ýëåìåíò 1-ãî ñòîëáöà (ñèìâîë); Tabl[i,2] — ýëåìåíò 2-ãî ñòîëáöà (êîäîâîå ñëîâî). Çàêîäèðîâàííûé ñèìâîë âûáèðàåòñÿ èç ýëåìåíòà Tabl[imin,1] ëèáî â ðåçóëüòàòå ïîëíîãî ñîâïàäåíèÿ (ðàññòîÿíèå ðàâíî 0), ëèáî ïðè íàëè÷èè îäíîé îøèáêè (ðàññòîÿíèå ðàâíî 1). Program Hemming; Const Tabl: array [0..9,1..2] of longint = {Òàáëèöà êîäà Õåììèíãà} ((0,0000000), (1,0001111), (2,0010110), (3,0011001), (4,0100101), (5,0101010), (6,0110011), (7,0111100), (8,1000011), (9,1001100)); Var i, min, imin, D: byte; cod: longint; Function Distance(X,Y:longint):byte; {Ôóíêöèÿ âû÷èñëåíèÿ ðàññòîÿíèÿ ìåæäó äâóìÿ êîäîâûìè ñëîâàìè} var j,K: byte; begin K:=7; {Íà÷àëüíîå çíà÷åíèå ïàðàìåòðà ðàññòîÿíèÿ ìåæäó ñëîâàìè} for j:=1 to 7 do begin if (X mod 10 = Y mod 10) {Ñðàâíåíèå ìëàäøèõ ðàçðÿäîâ} then K:=K-1; {Âû÷èòàíèå 1 ïðè ñîâïàäåíèè} X:=X div 10; Y:=Y div 10 {Îòáðàñûâàíèå ìëàäøèõ ðàçðÿäîâ} end; Distance:=K {Ðåçóëüòàò ôóíêöèè} end; {Êîíåö ôóíêöèè} begin Write('êîä='); readln (cod); {Ââîä ñåìèðàçðÿäíîãî êîäà. } min:= Distance(cod, Tabl[0,2]); {Âû÷èñëåíèå ìèíèìàëüíîãî } imin:=0; {ðàññòîÿíèÿ - ïåðåìåííàÿ min} for i:=1 to 9 do {è ñîîòâåòñòâóþùåãî åìó } begin {íîìåðà ñòðîêè â òàáëèöå) D:=Distance(cod, Tabl[i,2]);{Tabl - ïåðåìåííàÿ imin. } if D<min then begin min:=D; imin:=i end end; {Âûáîð âàðèàíòà îòâåòà} if min=0 then writeln('êîä âåðíûé: ñèìâîë ', Tabl[imin,1]) else if min=1


1.5.3. Êîððåêöèÿ îøèáîê ïðè ïåðåäà÷å äàííûõ *

89

then writeln('êîä èñïðàâëåí: ñèìâîë ',Tabl[imin,1]) else writeln('êîä íåâåðíûé') end.

Òåñòèðîâàíèå ïðîãðàìì íóæíî îðãàíèçîâûâàòü òàêèì îáðàçîì, ÷òîáû ïðîâåðÿëàñü ïðàâèëüíîñòü ïîëó÷åíèÿ âñåâîçìîæíûõ âàðèàíòîâ ðåçóëüòàòà. Ïîýòîìó âûïîëíèì òðè òåñòà: äëÿ âåðíîãî êîäà ñèìâîëà; äëÿ êîäà, ïîääàþùåãîñÿ êîððåêöèè (ìèíèìàëüíîå ðàññòîÿíèå ðàâíî 1) è äëÿ îøèáî÷íîãî êîäà (ìèíèìàëüíîå ðàññòîÿíèå áîëüøå 1). Òåñò 1. Ðàñøèôðóåì êîä: 0101010. êîä=0101010 êîä âåðíûé: ñèìâîë 5. Òåñò 2. Ðàñøèôðóåì êîä: 0100010 êîä=0100010 êîä èñïðàâëåí: ñèìâîë 5. Òåñò 3. Ðàñøèôðóåì êîä: 0100011 êîä=0100011 êîä íåâåðíûé. Âñå òåñòû âûïîëíèëèñü âåðíî. Åù¸ ðàç ïîä÷åðêíåì, ÷òî äàííàÿ ïðîãðàììà — âñåãî ëèøü ìîäåëü ðàáîòû àëãîðèòìà Õåììèíãà.

Ñèñòåìà îñíîâíûõ ïîíÿòèé Êîððåêöèÿ îøèáîê Êîä Õåììèíãà ïðèìåíÿåòñÿ äëÿ ïîìåõîóñòîé÷èâîãî êîäèðîâàíèÿ Êîäîâîå ñëîâî:

Ðàññòîÿíèå ìåæäó êîäîâûìè ñëîâàìè:

èñõîäíûé äâîè÷íûé êîä + äîáàâî÷- êîëè÷åñòâî ïîçèöèé, â êîòîðûõ ñèìâîëû îäíîãî ñëîâà íå ñîâïàäàþò ñ ñèìâîëàìè äðóãîíûé êîä ìåíüøåé äëèíû ãî ñëîâà Êîäîâîå ñëîâî ñîäåðæèò îøèáêè, åñëè ìèíèìàëüíîå ðàññòîÿíèå ìåæäó íèì è êîäîâûìè ñëîâàìè òàáëèöû Õåììèíãà ìåíüøå ìèíèìàëüíîãî ðàññòîÿíèÿ ìåæäó êîäàìè òàáëèöû Åñëè R — ìèíèìàëüíîå ðàññòîÿíèå ìåæäó ñëîâàìè â òàáëèöå Õåììèíãà, òî àâòîìàòè÷åñêîé êîððåêöèè ïîääàþòñÿ [(R–1)/2] îøèáîê â êîäîâîì ñëîâå

Âîïðîñû è çàäàíèÿ 1. 2. 3. 4.

Èç ÷åãî ñîñòîèò ïîìåõîóñòîé÷èâûé êîä Õåììèíãà? ×òî òàêîå ðàññòîÿíèå ìåæäó êîäîâûìè ñëîâàìè?  êàêîì ñëó÷àå ïðèíÿòûé êîä ñ÷èòàåòñÿ âåðíûì?  êàêîì ñëó÷àå îøèáî÷íûé êîä äîïóñêàåò àâòîìàòè÷åñêóþ êîððåêöèþ?

Êîìïüþòåðíûé ïðàêòèêóì. Ðàçäåë «Êîäèðîâàíèå»


90

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

1.5.4

Îáðàáîòêà èíôîðìàöèè

Âèäû îáðàáîòêè èíôîðìàöèè Ïðîöåññ îáðàáîòêè èíôîðìàöèè ïðîèçâîäèòñÿ â ñîîòâåòñòâèè ñ îïðåäåë¸ííûìè ïðàâèëàìè íåêîòîðûì îáúåêòîì (íàïðèìåð, ÷åëîâåêîì èëè êîìïüþòåðîì). Áóäåì åãî íàçûâàòü èñïîëíèòåëåì îáðàáîòêè èíôîðìàöèè. Èíôîðìàöèÿ, êîòîðàÿ ïîäâåðãàåòñÿ îáðàáîòêå, ïðåäñòàâëÿåòñÿ â âèäå èñõîäíûõ äàííûõ. Íà ðèñ. 1.20 â ñõåìàòè÷åñêîì âèäå îáîçíà÷åíû îñíîâíûå ñîñòàâëÿþùèå ïðîöåññà îáðàáîòêè èíôîðìàöèè è èõ âçàèìîäåéñòâèå:

Ðèñ. 1.20. Ìîäåëü îáðàáîòêè èíôîðìàöèè

 äàëüíåéøåì, àíàëèçèðóÿ ïðîöåññû îáðàáîòêè èíôîðìàöèè, ìû áóäåì óïîòðåáëÿòü òåðìèí «çàäà÷à», ðàññìàòðèâàÿ îáðàáîòêó èíôîðìàöèè êàê ïðîöåññ ðåøåíèÿ íåêîòîðîé èíôîðìàöèîííîé çàäà÷è. Âñ¸ ìíîæåñòâî çàäà÷ îáðàáîòêè èíôîðìàöèè ìîæíî ðàçäåëèòü íà ÷åòûðå ãðóïïû: 1. Ïîëó÷åíèå íîâîé èíôîðìàöèè, íå ñîäåðæàùåéñÿ â èñõîäíûõ äàííûõ (íàïðèìåð, ðåøåíèå ìàòåìàòè÷åñêîé çàäà÷è). 2. Èçìåíåíèå ôîðìû ïðåäñòàâëåíèÿ èíôîðìàöèè (íàïðèìåð: êîäèðîâàíèå, øèôðîâêà, ïðåîáðàçîâàíèå ê òàáëè÷íîé èëè ãðàôè÷åñêîé ôîðìå). 3. Ñòðóêòóðèðîâàíèå äàííûõ (íàïðèìåð, óïîðÿäî÷åíèå ïî êàêîìóëèáî ïðèçíàêó, êàòàëîãèçàöèÿ). 4. Ïîèñê â ìàññèâå äàííûõ ïî íåêîòîðîìó êðèòåðèþ (íàïðèìåð, ïîèñê â ñïðàâî÷íèêå, â ñëîâàðå, â êàòàëîãå). Ïðàâèëà — ýòî èíôîðìàöèÿ ïðîöåäóðíîãî òèïà. Îíè ñîäåðæàò ñâåäåíèÿ äëÿ èñïîëíèòåëÿ î òîì, êàêèå äåéñòâèÿ òðåáóåòñÿ âûïîëíèòü, ÷òîáû ðåøèòü çàäà÷ó.


1.5.4. Îáðàáîòêà èíôîðìàöèè

91

Âñå ïåðå÷èñëåííûå âèäû îáðàáîòêè èíôîðìàöèè ìîæåò âûïîëíÿòü êàê ÷åëîâåê, òàê è êîìïüþòåð.  ÷¸ì ñîñòîèò ïðèíöèïèàëüíîå ðàçëè÷èå ìåæäó ïðîöåññàìè îáðàáîòêè, âûïîëíÿåìûìè ÷åëîâåêîì è ìàøèíîé? Åñëè èñïîëíèòåëåì îáðàáîòêè èíôîðìàöèè ÿâëÿåòñÿ ÷åëîâåê, òî ïðàâèëà îáðàáîòêè, ïî êîòîðûì îí äåéñòâóåò, íå âñåãäà ôîðìàëüíû è îäíîçíà÷íû. ×åëîâåê ÷àñòî äåéñòâóåò òâîð÷åñêè, íåôîðìàëüíî, ñàì âûðàáàòûâàÿ ïðàâèëà â ïðîöåññå ðåøåíèÿ çàäà÷è. Äàæå îäèíàêîâûå ìàòåìàòè÷åñêèå çàäà÷è îí ìîæåò ðåøàòü ðàçíûìè ñïîñîáàìè. Ðàáîòà æóðíàëèñòà, ó÷¸íîãî, ïåðåâîä÷èêà è äðóãèõ ñïåöèàëèñòîâ — ýòî òâîð÷åñêàÿ ðàáîòà ñ èíôîðìàöèåé, êîòîðàÿ ÷àñòî âûïîëíÿåòñÿ èìè íå ïî ôîðìàëüíûì ïðàâèëàì. Êîìïüþòåð æå ñïîñîáåí ðàáîòàòü òîëüêî â ñòðîãîì ñîîòâåòñòâèè ñ ïðàâèëàìè, ïðåäñòàâëåííûìè â ôîðìå ïðîãðàììû. Êîìïüþòåð — ôîðìàëüíûé èñïîëíèòåëü îáðàáîòêè èíôîðìàöèè. Âàæíåéøèì óñëîâèåì äëÿ óñïåøíîñòè âûïîëíåíèÿ îáðàáîòêè èíôîðìàöèè ÿâëÿåòñÿ ïîëíîòà èñõîäíûõ äàííûõ. Ãîâîðÿ äðóãèìè ñëîâàìè, èñõîäíûõ äàííûõ äîëæíî áûòü äîñòàòî÷íî äëÿ ðåøåíèÿ ïîñòàâëåííîé çàäà÷è. Íàïðèìåð, åñëè äàíû äëèíû òð¸õ ñòîðîí òðåóãîëüíèêà, òî ìîæíî âû÷èñëèòü ïëîùàäü ýòîãî òðåóãîëüíèêà ïî ôîðìóëå Ãåðîíà. Íî åñëè èçâåñòíû äëèíû òîëüêî äâóõ ñòîðîí, òî ïëîùàäü âû÷èñëèòü íåëüçÿ. Íåëüçÿ â òåëåôîííîì ñïðàâî÷íèêå íàéòè íîìåð òåëåôîíà ÷åëîâåêà, ó êîòîðîãî âû çíàåòå òîëüêî èìÿ è îò÷åñòâî, íî íå çíàåòå ôàìèëèè. Îá àëãîðèòìàõ è èñïîëíèòåëÿõ Äëÿ îáîçíà÷åíèÿ ôîðìàëèçîâàííûõ ïðàâèë, îïðåäåëÿþùèõ ïîñëåäîâàòåëüíîñòü øàãîâ îáðàáîòêè èíôîðìàöèè, â èíôîðìàòèêå èñïîëüçóåòñÿ ïîíÿòèå àëãîðèòìà. Èç êóðñà èíôîðìàòèêè äëÿ 8–9 êëàññîâ âû çíàåòå, ÷òî ñëîâî «àëãîðèòì» ïðîèçîøëî îò èìåíè âûäàþùåãîñÿ ìàòåìàòèêà ñðåäíåâåêîâîãî Âîñòîêà Ìóõàììåäà àëü-Õîðåçìè, îïèñàâøåãî åùå â IX âåêå ïðàâèëà âûïîëíåíèÿ âû÷èñëåíèé ñ ìíîãîçíà÷íûìè äåñÿòè÷íûìè ÷èñëàìè. Ïðàâèëà ñëîæåíèÿ, âû÷èòàíèÿ, óìíîæåíèÿ è äåëåíèÿ ñòîëáèêîì, êîòîðûì âàñ ó÷èëè â ìëàäøèõ êëàññàõ, — ýòî àëãîðèòìû àëü-Õîðåçìè.

Àëü-Õîðåçìè (780–850 ãã. í.ý.)

Èñïîëíèòåëÿ îáðàáîòêè èíôîðìàöèè (äàííûõ) íàçûâàþò òàêæå èñïîëíèòåëåì àëãîðèòìà. Ñ ýòèì ïîíÿòèåì âû çíàêîìû èç êóðñà èíôîðìàòèêè äëÿ 8–9 êëàññîâ. Êîìïüþòåð — ýòî àâòîìàòè÷åñêèé, ïðîãðàììíî óïðàâëÿåìûé èñïîëíèòåëü àëãîðèòìîâ îáðàáîòêè èíôîðìàöèè. Àëãîðèòì, çàïèñàííûé íà ÿçûêå ïðîãðàììèðîâàíèÿ äëÿ êîìïüþòåðà, íàçûâàåòñÿ ïðîãðàììîé.


92

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Ïðèìåíèòåëüíî ê èñïîëíèòåëþ-êîìïüþòåðó, ñõåìà íà ðèñ. 1.20 áóäåò âûãëÿäåòü, êàê ïîêàçàíî íà ðèñ. 1.21.

Ðèñ. 1.21. Ìîäåëü îáðàáîòêè èíôîðìàöèè êîìïüþòåðîì

Îá àëãîðèòìè÷åñêîé ìíîæåñòâåííîñòè Ëþáàÿ ëè çàäà÷à îáðàáîòêè èíôîðìàöèè èìååò àëãîðèòìè÷åñêîå ðåøåíèå? Îêàçûâàåòñÿ, ÷òî íåò!  òåîðèè àëãîðèòìîâ èçâåñòåí ðÿä àëãîðèòìè÷åñêè íåðàçðåøèìûõ çàäà÷1. Çàäà÷ó, äëÿ ðåøåíèÿ êîòîðîé ìîæíî ïîñòðîèòü àëãîðèòì, íàçûâàþò àëãîðèòìè÷åñêè ðàçðåøèìîé çàäà÷åé. Êàê ïðàâèëî, äëÿ ðåøåíèÿ îäíîé è òîé æå çàäà÷è ìîæíî ïîñòðîèòü ìíîæåñòâî ðàçëè÷íûõ àëãîðèòìîâ. Ñèòóàöèÿ ïîäîáíà òîé, ÷òî äëÿ ïåðåìåùåíèÿ íà êàêîé-òî ìåñòíîñòè èç îäíîãî ìåñòà â äðóãîå ìîæåò ñóùåñòâîâàòü ìíîæåñòâî âàðèàíòîâ ïóòè. Ðàññìîòðèì ïðèìåð. Âñå âû õîðîøî çíàåòå àëãîðèòì ïåðåìíîæåíèÿ ìíîãîçíà÷íûõ öåëûõ ÷èñåë. Áóäåì íàçûâàòü åãî â äàëüíåéøåì àëãîðèòìîì àëü-Õîðåçìè. Âîò ïðèìåð ðåàëèçàöèè òàêîãî àëãîðèòìà: 18 ´ 43 54 +72 774 Ñëîâåñíî îïèñàòü åãî ìîæíî òàê. Äâà ñîìíîæèòåëÿ çàïèñûâàþòñÿ â ñòîëáèê. Âûïîëíÿåòñÿ ïîñëåäîâàòåëüíîå óìíîæåíèå ïåðâîãî ñîìíîæèòåëÿ íà öèôðó ìëàäøåãî ðàçðÿäà âòîðîãî ñîìíîæèòåëÿ ñïðàâà íàëåâî. Çàòåì òàê æå âûïîëíÿåòñÿ óìíîæåíèå ïåðâîãî ñîìíîæèòåëÿ íà âòîðóþ ñïðàâà öèôðó âòîðîãî ñîìíîæèòåëÿ. Âòîðîå ïðîèçâåäåíèå çàïèñûâàåòñÿ ïîä ïåðâûì ñî ñäâèãîì íà îäèí ðàçðÿä âëåâî è ò. ä. Çàòåì âñå ïðîèçâåäåíèÿ ñêëàäûâàþòñÿ ïîðàçðÿäíî ñïðàâà íàëåâî. 1

Ïîäðîáíåå î ïðîáëåìå àëãîðèòìè÷åñêîé íåðàçðåøèìîñòè ñì.: Àíäðååâà Å. Â., Áîñîâà Ë. Ë., Ôàëèíà È. Í. Ìàòåìàòè÷åñêèå îñíîâû èíôîðìàòèêè. Ýëåêòèâíûé êóðñ. Ì.: ÁÈÍÎÌ. Ëàáîðàòîðèÿ çíàíèé, 2007.


1.5.4. Îáðàáîòêà èíôîðìàöèè

93

Íî òó æå çàäà÷ó ìîæíî ðåøèòü, èñïîëüçóÿ ðóññêèé ìåòîä ïåðåìíîæåíèÿ. Âîò åãî ðåàëèçàöèÿ:

Ðåçóëüòàò:

18

´ 43

íå÷¸òíîå

36

21

íå÷¸òíîå

72

10

144

5

288

2

576

1

íå÷¸òíîå

íå÷¸òíîå

774

Ñëîâåñíîå îïèñàíèå àëãîðèòìà ðóññêîãî ìåòîäà òàêîå: ïðîèçâîäèòñÿ ïîñëåäîâàòåëüíîå óìíîæåíèå ïåðâîãî ñîìíîæèòåëÿ íà 2 è îäíîâðåìåííî öåëî÷èñëåííîå äåëåíèå íà 2 âòîðîãî ñîìíîæèòåëÿ. Ñ ïîëó÷åííûì ðåçóëüòàòîì ïðîèçâîäÿòñÿ òàêèå æå äåéñòâèÿ. Ïðîöåññ çàêàí÷èâàåòñÿ, êîãäà âòîðîé ñîìíîæèòåëü ñòàíîâèòñÿ ðàâíûì åäèíèöå. Çàòåì ñêëàäûâàþòñÿ âñå çíà÷åíèÿ ïåðâîãî ñîìíîæèòåëÿ, ñîîòâåòñòâóþùèå íå÷¸òíûì çíà÷åíèÿì âòîðîãî ñîìíîæèòåëÿ. Íàâåðíî, âû ñîãëàñèòåñü, ÷òî, ñ òî÷êè çðåíèÿ ïðèëàãàåìûõ óñèëèé, ïðè ðó÷íîì ñ÷åòå àëãîðèòì àëü-Õîðåçìè ðåàëèçîâàòü ëåã÷å, ÷åì ðóññêèé àëãîðèòì. Ïðèâåäåííûå âûøå ñëîâåñíûå îïèñàíèÿ äâóõ àëãîðèòìîâ ïåðåìíîæåíèÿ öåëûõ ÷èñåë îðèåíòèðîâàíû íà èñïîëíèòåëÿ-÷åëîâåêà. Îíè ìíîãîñëîâíû, ïëîõî ôîðìàëèçîâàíû è ðàññ÷èòàíû íà «ïîíÿòëèâîñòü» ÷åëîâåêà. Èñïîëüçóÿ ôîðìàëèçîâàííûå àëãîðèòìè÷åñêèå ÿçûêè, ìû äîëæíû ñòðîãî ñëåäîâàòü èõ ïðàâèëàì, ïðèìåíÿÿ òîëüêî äîïóñòèìûå â ÿçûêå âû÷èñëèòåëüíûå îïåðàöèè è ñîáëþäàÿ ïðàâèëà ãðàììàòèêè (ñèíòàêñèñà) ÿçûêà. Ó÷èìñÿ ïðîãðàììèðîâàòü (Öåëî÷èñëåííàÿ àðèôìåòèêà)

Ðàññìîòðèì äâå ïðîãðàììû íà Ïàñêàëå, ðåàëèçóþùèå àëãîðèòì àëü-Õîðåçìè è ðóññêèé ìåòîä ïåðåìíîæåíèÿ öåëûõ ìíîãîçíà÷íûõ ÷èñåë. Êîíå÷íî, â Ïàñêàëå ìîæíî çà îäíó îïåðàöèþ âûïîëíèòü óìíîæåíèå ìíîãîçíà÷íûõ ÷èñåë. Íî íàøà öåëü ñîñòîèò â äåìîíñòðàöèè àëãîðèòìè÷åñêîãî ðàçëè÷èÿ ìåæäó ðóññêèì ìåòîäîì è ìåòîäîì àëü-Õîðåçìè.  äàííîì ó÷åáíîì ïðèìåðå ìû âíåñåì îãðàíè÷åíèå. Äîãîâîðèìñÿ, ÷òî ìíîæèòåëü ìîæåò áûòü òîëüêî îäíîçíà÷íûì ÷èñëîì. Îãðàíè÷åíèÿ æå íà ñëîæåíèå ìíîãîçíà÷íûõ ÷èñåë äåëàòü íå áóäåì.


94

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Ïðîãðàììà ðóññêîãî ìåòîäà: Program Russian_method; Var M, N, Mul: integer;

Ïðîãðàììà ìåòîäà àëü-Õîðåçìè: Program Al_Horezmi; Var M, N, Mul, Q: integer;

begin {1-é ñîìíîæèòåëü} write('M='); readln(M); {2-é ñîìíîæèòåëü} write('N='); readln(N); write(M,'*',N,'='); {ïåðåìåííàÿ äëÿ ïðîèçâåäåíèÿ} Mul:=0; while N>=1 do begin if (N mod 2=1) then Mul:=Mul+M; N:=N div 2; M:=M*2; end; writeln(Mul)

begin write('M='); readln(M); write('N='); readln(N); write(M,'*',N,'='); Mul:=0; Q:=1; while N>=1 do begin Mul:=Mul+M*(N mod 10)*Q; N:=N div 10; Q:=Q*10 end; writeln(Mul) end.

end.

Èçó÷èòå âíèìàòåëüíî ýòè ïðîãðàììû. Âàøèõ çíàíèé ïðîãðàììèðîâàíèÿ óæå âïîëíå äîñòàòî÷íî, ÷òîáû ïîíÿòü èõ ñìûñë áåç êîììåíòàðèåâ. Èíòåðôåéñ ñ ïîëüçîâàòåëåì ó îáåèõ ïðîãðàìì ñîâåðøåííî îäèíàêîâûé. Íàïðèìåð, âîçìîæåí òàêîé âàðèàíò âûïîëíåíèÿ: M=18 N=43 18*43=774 Ìîæíî ëè ñêàçàòü, êàêàÿ èç ïðîãðàìì ëó÷øå, êàêàÿ õóæå? Âñ¸ çàâèñèò îò êðèòåðèÿ îöåíêè. Îñíîâíûìè êðèòåðèÿìè îïòèìàëüíîñòè ïðîãðàìì ÿâëÿþòñÿ âðåìÿ âûïîëíåíèÿ íà êîìïüþòåðå è îáú¸ì èñïîëüçóåìîé ïàìÿòè, ïîñêîëüêó èñïîëíèòåëåì ïðîãðàìì ÿâëÿåòñÿ êîìïüþòåð. Îáú¸ì ïàìÿòè, èñïîëüçóåìîé ïîä äàííûå, â ýòèõ ïðîãðàììàõ îòëè÷àåòñÿ íåçíà÷èòåëüíî.  ïåðâîé ïðîãðàììå — òðè ïåðåìåííûå: M, N, Mul, âî âòîðîé — ÷åòûðå ïåðåìåííûå: M, N, Mul, Q. Âðåìÿ âûïîëíåíèÿ çàâèñèò îò ÷èñëà âûïîëíÿåìûõ êîìïüþòåðîì îïåðàöèé. Îñíîâíîå âðåìÿ çàíèìàåò âûïîëíåíèå öèêëîâ.  îáåèõ ïðîãðàììàõ óïðàâëåíèå öèêëàìè ïðîèñõîäèò ïî çíà÷åíèþ ïåðåìåííîé N.  ïåðâîé ïðîãðàììå åå çíà÷åíèå ìåíÿåòñÿ ïóòåì öåëî÷èñëåííîãî äåëåíèÿ íà 2 îò íà÷àëüíîé âåëè÷èíû äî åäèíèöû. Âî âòîðîé ïðîãðàììå — ïóòåì öåëî÷èñëåííîãî äåëåíèÿ íà 10 äî ïîëó÷åíèÿ åäèíèöû. Íàïðèìåð, äëÿ N = 43 (ñì. ïðèìåð âûøå) öèêë â ïåðâîé ïðîãðàììå ïîâòîðèòñÿ 6 ðàç, à öèêë âî âòîðîé ïðîãðàììå — 2 ðàçà. Ïîäñ÷èòàåì êîëè÷åñòâî âû÷èñëèòåëüíûõ îïåðàöèé âíóòðè öèêëîâ (îãðàíè÷èìñÿ òîëüêî àðèôìåòè÷åñêèìè îïåðàöèÿìè).  ïåðâîé ïðîãðàììå èõ 4, âî âòîðîé — 6. Ñëåäîâàòåëüíî, â öèêëè÷åñêîé ÷àñòè ïåðâîé ïðîãðàììû áóäåò âûïîëíåíî 6 · 4 = 24 âû÷èñëèòåëüíûå îïåðàöèè, âî âòîðîé — 2 · 6 = 12 îïåðàöèé. Ñëåäîâàòåëüíî, âòîðàÿ ïðîãðàììà áóäåò âûïîëíÿòüñÿ â äâà ðàçà áûñòðåå.


1.5.4. Îáðàáîòêà èíôîðìàöèè

95

Ïîäñ÷èòàåì ÷èñëî îïåðàöèé ïðè N = 1024 = 210.  ïåðâîé ïðîãðàììå: 10 · 4 = 40. Âî âòîðîé ïðîãðàììå: 4 · 6 = 24. Âûèãðûø âî âðåìåíè — òàêæå ïðèáëèçèòåëüíî â äâà ðàçà.  òåîðèè àëãîðèòìîâ èñïîëüçóåòñÿ ïîíÿòèå «âðåìåííàÿ ñëîæíîñòü» àëãîðèòìà. ×åì âðåìÿ âûïîëíåíèÿ àëãîðèòìà (ïðîãðàììû) áîëüøå, òåì áîëüøå åãî âðåìåííàÿ ñëîæíîñòü. Èç ïðîâåä¸ííîãî àíàëèçà ñëåäóåò, ÷òî âðåìåííàÿ ñëîæíîñòü ðóññêîãî àëãîðèòìà âûøå, ÷åì àëãîðèòìà àëü-Õîðåçìè. Âñïîìíèòå, ÷òî è äëÿ ðó÷íîãî âûïîëíåíèÿ ìû îöåíèâàëè ðóññêèé àëãîðèòì êàê áîëåå ñëîæíûé. Èìåííî ïîýòîìó ðóññêèé àëãîðèòì íå èçó÷àåòñÿ â øêîëüíîé ìàòåìàòèêå.

Ñèñòåìà îñíîâíûõ ïîíÿòèé Îáðàáîòêà èíôîðìàöèè Ìîäåëü ñèñòåìû îáðàáîòêè èíôîðìàöèè: íà âõîäå èñïîëíèòåëÿ – èñõîäíûå äàííûå è ïðàâèëà îáðàáîòêè, íà âûõîäå – ðåçóëüòàòû îáðàáîòêè Âèäû îáðàáîòêè èíôîðìàöèè Ïîëó÷åíèå íîâîé èíôîð- Èçìåíåíèå ôîðìû Ñòðóêòóðèðîâàìàöèè (íîâûõ äàííûõ) ïðåäñòàâëåíèÿ èí- íèå äàííûõ ôîðìàöèè

Ïîèñê äàííûõ

Èñïîëíèòåëü îáðàáîòêè ×åëîâåê

Àâòîìàò (êîìïüþòåð)

Íåôîðìàëüíûé èñïîëíèòåëü, ñïîñîáíûé ñàìî- Êîìïüþòåð — ýòî àâòîìàòè÷åñêèé, ïðîãðàììíî óïðàâëÿåìûé ñòîÿòåëüíî âûðàáàòûâàòü ïðàâèëà îáðàáîòêè èñïîëíèòåëü àëãîðèòìîâ îáðàáîòêè èíôîðìàöèè. Ïðàâèëà îáðàáîòêè: îïèñàíèå ïîñëåäîâàòåëüíîñòè äåéñòâèé èñïîëíèòåëÿ îáðàáîòêè èíôîðìàöèè (ñèíîíèìû: àëãîðèòì, ïðîãðàììà) Àëãîðèòìè÷åñêàÿ ìíîæåñòâåííîñòü Çàäà÷à, äëÿ ðåøåíèÿ êîòîðîé íåëüçÿ ïîñòðîèòü Äëÿ àëãîðèòìè÷åñêè ðàçðåøèàëãîðèòì, íàçûâàåòñÿ àëãîðèòìè÷åñêè íåðàç- ìîé çàäà÷è ñóùåñòâóåò ìíîæåñòâî àëãîðèòìîâ å¸ ðåøåíèÿ ðåøèìîé Âðåìåííàÿ ñëîæíîñòü àëãîðèòìà îïðåäåëÿåòñÿ âðåìåíåì ðàáîòû èñïîëíèòåëÿ ïðè åãî âûïîëíåíèè

Âîïðîñû è çàäàíèÿ 1. Ïðèâåäèòå ïðèìåðû ïðîöåññîâ îáðàáîòêè èíôîðìàöèè, êîòîðûå ÷àùå âñåãî âàì ïðèõîäèòñÿ âûïîëíÿòü âî âðåìÿ ó÷¸áû. Äëÿ êàæäîãî ïðèìåðà îïðåäåëèòå èñõîäíûå äàííûå, ðåçóëüòàòû è ïðàâèëà îáðàáîòêè. Ê êàêèì âàðèàíòàì îáðàáîòêè îòíîñÿòñÿ âàøè ïðèìåðû? 2. Åñëè âû ðåøàåòå çàäà÷ó ïî ìàòåìàòèêå èëè ôèçèêå è ïðè ýòîì èñïîëüçóåòå êàëüêóëÿòîð, òî êàêîâà âàøà ôóíêöèÿ â ýòîì ïðîöåññå è êàêîâà ôóíêöèÿ êàëüêóëÿòîðà?


96

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

3. Îïðåäåëèòå ïîëíûé íàáîð èñõîäíûõ äàííûõ äëÿ ðåøåíèÿ çàäà÷: ïîäñ÷¸ò ñäà÷è çà ïîêóïêó êàññîâûì àïïàðàòîì â ìàãàçèíå; ïîäñ÷¸ò ðàñõîäà ãîðþ÷åãî ïðè ïîåçäêå íà àâòîìîáèëå; îïðåäåëåíèå âðåìåíè âûõîäà èç äîìà äëÿ òîãî, ÷òîáû óñïåòü ê íà÷àëó ñåàíñà â êèíîòåàòðå. 4. ×òî îçíà÷àþò ñëîâà: ôîðìàëüíîå èñïîëíåíèå àëãîðèòìà, ôîðìàëüíûé èñïîëíèòåëü? 5. Îïèøèòå ñëîâåñíî àëãîðèòì äåëåíèÿ ñ îñòàòêîì îäíîãî öåëîãî ÷èñëà íà äðóãîå.

Êîìïüþòåðíûé ïðàêòèêóì. Ðàçäåë «Ïðîãðàììèðîâàíèå»

1.6. Ëîãè÷åñêèå îñíîâû îáðàáîòêè èíôîðìàöèè 1.6.1

Ëîãèêà è ëîãè÷åñêèå îïåðàöèè

Èñòîðèÿ ëîãèêè Ëîãèêà — íàóêà î ôîðìàõ ïðàâèëüíîãî ìûøëåíèÿ (ðàññóæäåíèÿ). Òåðìèí ïðîèñõîäèò îò ãðå÷åñêîãî ñëîâà «ëîãîñ», ÷òî çíà÷èò «ðàññóæäåíèå», «ðå÷ü». Ëîãèêà — äðåâíÿÿ íàóêà, ïîÿâèâøàÿñÿ ïðèáëèçèòåëüíî â IV âåêå äî íàøåé ýðû. Íà Âîñòîêå ëîãèêà ðàçâèâàëàñü â Êèòàå è â Èíäèè.  Åâðîïå ðàçâèòèå ëîãèêè ïðîèñõîäèò èç Äðåâíåé Ãðåöèè. Îñíîâàòåëåì ëîãèêè ïðèíÿòî ñ÷èòàòü ãðå÷åñêîãî ôèëîñîôà Àðèñòîòåëÿ. Àðèñòîòåëü ïåðâûì ñèñòåìàòèçèðîâàë äîñòóïíûå çíàíèÿ î ëîãèêå, îáîñíîâàë ôîðìû è ïðàâèëà ëîãè÷åñêîãî ìûøëåíèÿ. Ðåçóëüòàòû ñâîèõ èññëåäîâàíèé Àðèñòîòåëü îïèñàë â öèêëå ñî÷èíåíèé ïîä îáùèì íàçâàíèåì «Îðãàíîí».

Àðèñòîòåëü (Ãðåöèÿ) 384–322 ãã. äî í.ý.

Ëîãèêà Àðèñòîòåëÿ àíàëèçèðóåò ðàññóæäåíèÿ â ôîðìå ÷åëîâå÷åñêîé ðå÷è íà åñòåñòâåííîì ÿçûêå. Ìûñëÿùèé ÷åëîâåê îïåðèðóåò íåêîòîðûìè ïîíÿòèÿìè, îòðàæàþùèìè ñâîéñòâà ðåàëüíûõ îáúåêòîâ, îòëè÷àþùèå îäíè îáúåêòû îò äðóãèõ. Ïðèìåðû ïîíÿòèé: ÿáëîêî, øêîëüíèê, äîæäü, èãðà. Ðàññóæäàÿ î ÷¸ì-òî, ÷åëîâåê ïðîèçâîäèò âûñêàçûâàíèÿ (ñóæäåíèÿ). Âûñêàçûâàíèå — ýòî óòâåðæäåíèå, êîòîðîå ìîæåò áûòü ëèáî èñòèííûì, ëèáî ëîæíûì. Íàïðèìåð, èñòèííîñòü âûñêàçûâàíèÿ «Íà óëèöå èä¸ò äîæäü» çàâèñèò îò ñîñòîÿíèÿ ïîãîäû. Ýòî âûñêàçûâàíèå ìîæåò áûòü â îäíîì ñëó÷àå


1.6.1. Ëîãèêà è ëîãè÷åñêèå îïåðàöèè

97

èñòèííûì, à â äðóãîì — ëîæíûì. À âûñêàçûâàíèå «Ëóíà — ñïóòíèê Çåìëè» ÿâëÿåòñÿ âñåãäà èñòèííûì. Ïðèâåä¸ííûå ïðèìåðû ÿâëÿþòñÿ ïðîñòûìè âûñêàçûâàíèÿìè. Ñëîæíûå (ñîñòàâíûå) âûñêàçûâàíèÿ ñîñòàâëÿþòñÿ èç ïðîñòûõ âûñêàçûâàíèé, ñîåäèíåííûõ ëîãè÷åñêèìè ñâÿçêàìè: «è», «èëè», «íå», «åñëè..., òî...» è äð. Óìîçàêëþ÷åíèå — ýòî ïðîöåññ ïîëó÷åíèÿ íîâîãî âûñêàçûâàíèÿ â ðåçóëüòàòå àíàëèçà äàííûõ âûñêàçûâàíèé. Ñîãëàñíî ëîãèêå Àðèñòîòåëÿ, ðåçóëüòàò óìîçàêëþ÷åíèÿ îïðåäåëÿåòñÿ ëîãè÷åñêîé ôîðìîé âûñêàçûâàíèÿ. Ïîýòîìó ëîãèêà Àðèñòîòåëÿ íàçûâàåòñÿ ôîðìàëüíîé ëîãèêîé. Àðèñòîòåëü ñôîðìóëèðîâàë çàêîíû ôîðìàëüíîé ëîãèêè, ñîãëàñíî êîòîðûì îïðåäåëÿåòñÿ èñòèííîñòü ñëîæíûõ âûñêàçûâàíèé. Íàïðèìåð, ñîãëàñíî çàêîíó èñêëþ÷¸ííîãî òðåòüåãî, âñåãäà èñòèííûì áóäåò ñëåäóþùåå âûñêàçûâàíèå: «Íà óëèöå èä¸ò äîæäü èëè íà óëèöå íå èä¸ò äîæäü» (ò. å. òðåòüåãî íå äàíî). À âûñêàçûâàíèå «Íà óëèöå èä¸ò äîæäü è íà óëèöå íå èä¸ò äîæäü» áóäåò âñåãäà ëîæíûì.  XIX âåêå â ìàòåìàòè÷åñêîé íàóêå âîçíèêàåò íîâûé ðàçäåë — àëãåáðà ëîãèêè. Îñíîâàòåëü ýòîé íàóêè — àíãëèéñêèé ìàòåìàòèê Äæîðäæ Áóëü. Àëãåáðà ëîãèêè îïåðèðóåò ñ ëîãè÷åñêèìè âåëè÷èíàìè, êîòîðûå ìîãóò ïðèíèìàòü âñåãî äâà çíà÷åíèÿ: «èñòèíà» è «ëîæü». Ñëåäîâàòåëüíî, ñîãëàñíî Àðèñòîòåëþ, êàæäàÿ òàêàÿ âåëè÷èíà ìîæåò áûòü ñîïîñòàâëåíà íåêîòîðîìó âûñêàçûâàíèþ. Îäíàêî àëãåáðà ëîãèêè — ýòî Äæîðäæ Áóëü ôîðìàëèçîâàííàÿ ìàòåìàòè÷åñêàÿ äèñöèïëèíà, ïîýòî(Àíãëèÿ) ìó ëîãè÷åñêàÿ âåëè÷èíà íå äîëæíà îáÿçàòåëüíî èìåòü 1815–1864 êîíêðåòíûé ñîäåðæàòåëüíûé ñìûñë. Äæîðäæ Áóëü âïåðâûå ïðèìåíèë àëãåáðàè÷åñêèå ìåòîäû äëÿ ðåøåíèÿ òðàäèöèîííûõ ëîãè÷åñêèõ çàäà÷, êîòîðûå äî ýòîãî ðåøàëèñü ìåòîäàìè ðàññóæäåíèé, ñîãëàñíî ôîðìàëüíîé ëîãèêå Àðèñòîòåëÿ. Êàê ïðèíÿòî â àëãåáðå ÷èñåë, â àëãåáðå ëîãèêè ëîãè÷åñêèå âåëè÷èíû îáîçíà÷àþòñÿ ñèìâîëè÷åñêèìè (áóêâåííûìè) èìåíàìè: x, a, y1, y2 è ò. ï. Àëãåáðà ÷èñåë ðàáîòàåò íà ÷èñëîâîì ìíîæåñòâå çíà÷åíèé âåëè÷èí, ñ êîòîðûìè îíà îïåðèðóåò. Ìíîæåñòâî ÷èñåë áåñêîíå÷íî. Àëãåáðà ëîãèêè ðàáîòàåò íà ìíîæåñòâå, ñîñòîÿùåì âñåãî èç äâóõ çíà÷åíèé: «èñòèíà» è «ëîæü». Èõ åù¸ íàçûâàþò çíà÷åíèÿìè èñòèííîñòè. Ëîãè÷åñêèå îïåðàöèè Âî âñÿêîé àëãåáðå îïðåäåëÿåòñÿ ìíîæåñòâî äîïóñòèìûõ îïåðàöèé íàä âåëè÷èíàìè è ïðàâèëà èõ âûïîëíåíèÿ.  àëãåáðå ÷èñåë ýòî àëãåáðàè÷åñêèå (àðèôìåòè÷åñêèå) îïåðàöèè.  àëãåáðå ëîãèêè òàêæå èìåþòñÿ ñâîè îïåðàöèè — ëîãè÷åñêèå îïåðàöèè.  àëãåáðå ëîãèêè èìååòñÿ øåñòü ëîãè÷åñêèõ îïåðàöèé. Èç êóðñà èíôîðìàòèêè äëÿ 8–9 êëàññîâ âàì çíàêîìû òðè èç íèõ: l ëîãè÷åñêîå óìíîæåíèå, èëè êîíúþíêöèÿ (ñâÿçêà È); l ëîãè÷åñêîå ñëîæåíèå, èëè äèçúþíêöèÿ (ñâÿçêà ÈËÈ); l îòðèöàíèå, èëè èíâåðñèÿ (÷àñòèöà ÍÅ).


98

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

 òàáë. 1.10 ïðèâåäåíû âñå øåñòü ëîãè÷åñêèõ îïåðàöèé ñ óêàçàíèåì ïðèíÿòûõ äëÿ íèõ â ìàòåìàòèêå ñèìâîëüíûõ îáîçíà÷åíèé: Òàáëèöà 1.10. Ëîãè÷åñêèå îïåðàöèè Ìàòåìàòè÷åñêèé çíàê

Ëîãè÷åñêàÿ îïåðàöèÿ

 åñòåñòâåííîé ðå÷è

Êîíúþíêöèÿ, ëîãè÷åñêîå óìíîæåíèå

&, Ù

Ñâÿçêà «è»

Äèçúþíêöèÿ, ëîãè÷åñêîå ñëîæåíèå

Ú, +

Ñâÿçêà «èëè»

×àñòèöà «íå»

Îòðèöàíèå, èíâåðñèÿ

Ðàçäåëèòåëüíàÿ äèçúþíêöèÿ, èñêëþ- !, Å ÷àþùåå ÈËÈ, ñëîæåíèå ïî ìîäóëþ 2

Îáîðîò: ëèáî…, ëèáî…

Èìïëèêàöèÿ, ñëåäîâàíèå

®, =>

Îáîðîò: åñëè… òî….

Ýêâèâàëåíòíîñòü, ðàâíîñèëüíîñòü, ðàâíîçíà÷íîñòü

«, Û, º

Îáîðîòû: òîãäà è òîëüêî òîãäà; íåîáõîäèìî è äîñòàòî÷íî

Âñå îïåðàöèè, êðîìå îòðèöàíèÿ, ÿâëÿþòñÿ äâóìåñòíûìè, ò. å. ïðèìåíÿþòñÿ ê äâóì îïåðàíäàì â òàêîé ôîðìå: <1-é îïåðàíä> <çíàê îïåðàöèè> <2-é îïåðàíä> Íàïðèìåð: A & B, X Ú Y è ò. ï. Îïåðàöèÿ îòðèöàíèÿ ÿâëÿåòñÿ îäíîìåñòíîé, ñëåäîâàòåëüíî, ïðèìåíÿåòñÿ ê îäíîìó îïåðàíäó, íàïðèìåð: ¬ A èëè À. Âñå âàðèàíòû ðåçóëüòàòîâ âûïîëíåíèÿ ëîãè÷åñêèõ îïåðàöèé äëÿ ðàçëè÷íûõ çíà÷åíèé îïåðàíäîâ ïðèâåäåíû â òàáë. 1.11. Òàêàÿ òàáëèöà íàçûâàåòñÿ òàáëèöåé èñòèííîñòè. Òàáëèöà 1.11. Òàáëèöà èñòèííîñòè ëîãè÷åñêèõ îïåðàöèé A

B

À

A&B

AÚB

AÅB

A®B

A«B

È

È

Ë

È

È

Ë

È

È

È

Ë

Ë

Ë

È

È

Ë

Ë

Ë

È

È

Ë

È

È

È

Ë

Ë

Ë

È

Ë

Ë

Ë

È

È

Îïåðàöèÿ îòðèöàíèÿ èçìåíÿåò çíà÷åíèå ëîãè÷åñêîé âåëè÷èíû íà ïðîòèâîïîëîæíîå: íå èñòèíà — ëîæü; íå ëîæü — èñòèíà. Ðåçóëüòàòîì ëîãè÷åñêîãî óìíîæåíèÿ áóäåò «èñòèíà» òîãäà è òîëüêî òîãäà, êîãäà èñòèííû çíà÷åíèÿ îáîèõ îïåðàíäîâ. Ðåçóëüòàò ëîãè÷åñêîãî ñëîæåíèÿ — «ëîæü» òîãäà è òîëüêî òîãäà, êîãäà îáà îïåðàíäà èìåþò çíà÷åíèå «ëîæü».


1.6.1. Ëîãèêà è ëîãè÷åñêèå îïåðàöèè

99

Îïåðàöèÿ «èñêëþ÷àþùåå èëè», â îòëè÷èå îò «èëè» (äèçúþíêöèè), ïðèíèìàåò åù¸ çíà÷åíèå «ëîæü», êîãäà îáà îïåðàíäà èñòèííû. Íàïðèìåð, èìååòñÿ âûñêàçûâàíèå «Ó÷åáíèê ïî èíôîðìàòèêå ñòîèò íà òðåòüåé ïîëêå êíèæíîãî øêàôà ÈËÈ ñòîèò íà ÷åòâ¸ðòîé ïîëêå êíèæíîãî øêàôà». Îäíà è òà æå êíèãà íå ìîæåò îäíîâðåìåííî ñòîÿòü íà äâóõ ïîëêàõ. Ïîýòîìó â ðåàëüíîé ñèòóàöèè èñòèííûì ýòî âûñêàçûâàíèå áóäåò â äâóõ ñëó÷àÿõ: ëèáî ó÷åáíèê ñòîèò íà òðåòüåé ïîëêå, ëèáî íà ÷åòâ¸ðòîé ïîëêå. Îïåðàöèÿ ñëåäîâàíèÿ (èìïëèêàöèÿ) A ® B òðàêòóåòñÿ ñëåäóþùèì îáðàçîì: åñëè À, òî Â. Ìîæíî åù¸ ñêàçàòü òàê: èç À ñëåäóåò Â. Èìïëèêàöèÿ èñïîëüçóåòñÿ â âûñêàçûâàíèÿõ, ïîä÷åðêèâàþùèõ çàâèñèìîñòü îäíîãî ñîáûòèÿ îò äðóãîãî. Âîò ïðèìåð âûñêàçûâàíèÿ, ñîäåðæàùåãî èìïëèêàöèþ: «Åñëè çàâòðà áóäåò êîíòðîëüíàÿ ïî ìàòåìàòèêå, òî ÿ ïîéäó â øêîëó». Î÷åâèäíî, ÷òî ó÷åíèêà, ñäåëàâøåãî òàêîå çàÿâëåíèå, ìîæíî îáâèíèòü âî ëæè òîëüêî â òîì ñëó÷àå, åñëè êîíòðîëüíàÿ ñîñòîèòñÿ, à â øêîëó îí íå ïðèä¸ò.  òî æå âðåìÿ åñëè ó÷åíèê ïîø¸ë â øêîëó, òî èç ýòîãî íå ñëåäóåò, ÷òî îáÿçàòåëüíî äîëæíà áûòü êîíòðîëüíàÿ ðàáîòà. Ïåðâàÿ ÷àñòü âûñêàçûâàíèÿ (À) íàçûâàåòñÿ ïîñûëêîé èëè óñëîâèåì, âòîðàÿ ÷àñòü âûñêàçûâàíèÿ (Â) — ñëåäñòâèåì èëè çàêëþ÷åíèåì. Èç èñòèííîé ïîñûëêè íå ìîæåò ñëåäîâàòü ëîæíîå çàêëþ÷åíèå. Ðåçóëüòàò A ® B áóäåò ëîæíûì òîãäà è òîëüêî òîãäà, êîãäà À ðàâíî «èñòèíà», à  — «ëîæü». Îïåðàöèÿ ýêâèâàëåíòíîñòè èñïîëüçóåòñÿ â ëîãèêå òîãäà, êîãäà íåîáõîäèìî âûðàçèòü âçàèìíóþ îáóñëîâëåííîñòü äâóõ óòâåðæäåíèé. Ìíîãèå ìàòåìàòè÷åñêèå òåîðåìû ôîðìóëèðóþòñÿ ñ èñïîëüçîâàíèåì îáîðîòîâ «òîãäà è òîëüêî òîãäà», èëè «íåîáõîäèìî è äîñòàòî÷íî». Íàïðèìåð: «Êâàäðàòíîå óðàâíåíèå èìååò äåéñòâèòåëüíûå êîðíè òîãäà è òîëüêî òîãäà, êîãäà åãî äèñêðèìèíàíò ïîëîæèòåëüíûé». Äàííîå âûñêàçûâàíèå èñòèííî, ïîòîìó ÷òî èñòèííû îäíîâðåìåííî äâà âûñêàçûâàíèÿ: «Åñëè êâàäðàòíîå óðàâíåíèå èìååò äåéñòâèòåëüíûå êîðíè, òî åãî äèñêðèìèíàíò ïîëîæèòåëüíûé» è «Åñëè äèñêðèìèíàíò êâàäðàòíîãî óðàâíåíèÿ ïîëîæèòåëüíûé, òî îíî èìååò äåéñòâèòåëüíûå êîðíè». Îáîçíà÷èì áóêâîé À âûñêàçûâàíèå «Êâàäðàòíîå óðàâíåíèå èìååò äåéñòâèòåëüíûå êîðíè», à áóêâîé  — âûñêàçûâàíèå «Êâàäðàòíîå óðàâíåíèå èìååò ïîëîæèòåëüíûé äèñêðèìèíàíò». Òîãäà ñôîðìóëèðîâàííàÿ âûøå òåîðåìà ñ èñïîëüçîâàíèåì çíàêà ýêâèâàëåíòíîñòè çàïèøåòñÿ òàê: A « B , ÷òî ÷èòàåòñÿ êàê «À ýêâèâàëåíòíî » èëè «À ðàâíîçíà÷íî ». Ïðèìåð 1. Øàõìàòû Åñòü ÷åòûðå äðóãà: Àíòîí, Âèêòîð, Ñåì¸í è Äìèòðèé. Îòíîñèòåëüíî èõ óìåíèÿ èãðàòü â øàõìàòû, ñïðàâåäëèâû ñëåäóþùèå âûñêàçûâàíèÿ: 1) Ñåì¸í èãðàåò â øàõìàòû; 2) åñëè Âèêòîð íå èãðàåò â øàõìàòû, òî èãðàþò Ñåì¸í è Äìèòðèé; 3) åñëè Àíòîí èëè Âèêòîð èãðàåò, òî Ñåì¸í íå èãðàåò. Ïðåîáðàçóåì ýòè âûñêàçûâàíèÿ ê àëãåáðàè÷åñêîé ôîðìå. Ââåä¸ì ëîãè÷åñêèå ïåðåìåííûå äëÿ îáîçíà÷åíèÿ ÷åòûð¸õ ïðîñòûõ âûñêàçûâàíèé: À = «Àíòîí èãðàåò â øàõìàòû»;  = «Âèêòîð èãðàåò â øàõìàòû»;


100

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Ñ = «Ñåì¸í èãðàåò â øàõìàòû»; D = «Äìèòðèé èãðàåò â øàõìàòû». Çàïèøåì òðè èñõîäíûõ âûñêàçûâàíèÿ â àëãåáðàè÷åñêîé ôîðìå. Ïåðâîå âûñêàçûâàíèå ÿâëÿåòñÿ ïðîñòûì. Âòîðîå âûñêàçûâàíèå ñîäåðæèò îïåðàöèè îòðèöàíèÿ, êîíúþíêöèè è ñëåäîâàíèÿ. Òðåòüå âûñêàçûâàíèå ñîäåðæèò îïåðàöèè äèçúþíêöèè, îòðèöàíèÿ è ñëåäîâàíèÿ. 1) Ñ; 2)  ® C & D; 3) (A Ú B) ® Ñ. Ïðèìåð 2. Ïîåçäêà íà äà÷ó  ñåìüå åñòü ìàìà, ïàïà, äî÷ü è ñîáàêà. Ðàññìàòðèâàåòñÿ âîïðîñ î ïîåçäêå íåêîòîðûõ ÷ëåíîâ ñåìüè íà äà÷ó. Åñëè ìàìà ïîåäåò íà äà÷ó, òî ïîåäåò è ïàïà. Äî÷ü ïîåäåò íà äà÷ó òîãäà è òîëüêî òîãäà, êîãäà ïîåäóò ìàìà, ïàïà è ñîáàêà. Ñîáàêà ïîåäåò íà äà÷ó òîëüêî òîãäà, êîãäà ïîåäåò äî÷ü èëè ìàìà. Ââåäåì ïåðåìåííûå äëÿ ïðîñòûõ âûñêàçûâàíèé: M = «Ìàìà ïîåäåò íà äà÷ó»; P = «Ïàïà ïîåäåò íà äà÷ó»; D = «Äî÷ü ïîåäåò íà äà÷ó»; S = «Ñîáàêà ïîåäåò íà äà÷ó». Ïðèâåä¸ííûå âûñêàçûâàíèÿ çàïèøåì â àëãåáðàè÷åñêîé ôîðìå. Èç ôðàçû «Åñëè ìàìà ïîåäåò íà äà÷ó, òî ïîåäåò è ïàïà» ñëåäóåò, ÷òî åñëè íà äà÷ó åäåò ìàìà, òî ïàïà ïîåäåò îáÿçàòåëüíî.  òî æå âðåìÿ âîçìîæíî, ÷òî ïàïà ïîåäåò íà äà÷ó, à ìàìà — íåò. Ïîýòîìó çäåñü íóæíî ïðèìåíèòü îïåðàöèþ ñëåäîâàíèÿ, â êîòîðîé ïîñûëêîé ÿâëÿåòñÿ âûñêàçûâàíèå «Ìàìà ïîåäåò íà äà÷ó», à çàêëþ÷åíèåì — «Ïàïà ïîåäåò íà äà÷ó»: M ® P. Âòîðîìó âûñêàçûâàíèþ «Äî÷ü ïîåäåò íà äà÷ó òîãäà è òîëüêî òîãäà, êîãäà ïîåäóò ìàìà, ïàïà è ñîáàêà» ñîîòâåòñòâóåò ëîãè÷åñêàÿ îïåðàöèÿ ýêâèâàëåíòíîñòè: D « (Ì & P & S). Ýòè äâà ñîáûòèÿ âçàèìîîáóñëîâëåíû: åñëè åäåò äî÷ü, òî åäóò ìàìà, ïàïà è ñîáàêà; è íàîáîðîò: åñëè åäóò ìàìà, ïàïà è ñîáàêà, òî åäåò è äî÷ü. Òî åñòü èìååì íåîáõîäèìîå è äîñòàòî÷íîå óñëîâèå. Òðåòüå âûñêàçûâàíèå «Ñîáàêà ïîåäåò íà äà÷ó òîëüêî òîãäà, êîãäà ïîåäåò äî÷ü èëè ìàìà» îçíà÷àåò: åñëè ïîåõàëà ñîáàêà, òî, çíà÷èò, ïîåõàëà ìàìà èëè äî÷ü. Çäåñü èìååò ìåñòî íåîáõîäèìîå óñëîâèå: äëÿ òîãî ÷òîáû ïîåõàëà ñîáàêà, íåîáõîäèìà ïîåçäêà ìàìû èëè äî÷åðè. Íî ýòî óñëîâèå íå ÿâëÿåòñÿ äîñòàòî÷íûì: åñëè ïîåäóò ìàìà èëè äî÷ü, òî ñîáàêó îíè ìîãóò âçÿòü ñ ñîáîé, à ìîãóò è íå âçÿòü. Çíà÷èò, çäåñü äîëæíà èñïîëüçîâàòüñÿ îïåðàöèÿ ñëåäîâàíèÿ, â êîòîðîé ïîñûëêîé ÿâëÿåòñÿ âûñêàçûâàíèå «Ñîáàêà ïîåäåò íà äà÷ó», à çàêëþ÷åíèåì: «Äî÷ü ïîåäåò íà äà÷ó èëè ìàìà ïîåäåò íà äà÷ó»: S ® (D Ú Ì). Ïåðåïèøåì åù¸ ðàç âñå òðè âûñêàçûâàíèÿ â àëãåáðàè÷åñêîé ôîðìå: 1) M ® P; 2) D « (Ì & P & S); 3) S ® (D Ú Ì).


1.6.1. Ëîãèêà è ëîãè÷åñêèå îïåðàöèè

101

Ó÷èìñÿ ïðîãðàììèðîâàòü (Ëîãè÷åñêèå âåëè÷èíû)

 ÿçûêàõ ïðîãðàììèðîâàíèÿ ñóùåñòâóåò ëîãè÷åñêèé òèï äàííûõ.  Ïàñêàëå ïåðåìåííûå ëîãè÷åñêîãî òèïà îïèñûâàþòñÿ â ðàçäåëå îïèñàíèÿ ïåðåìåííûõ ñ ïîìîùüþ êëþ÷åâîãî ñëîâà Boolean. Ëîãè÷åñêèå êîíñòàíòû çàäàþòñÿ ñëîâàìè TRUE — èñòèíà, FALSE — ëîæü.  Ïàñêàëå èìåþòñÿ ÷åòûðå ëîãè÷åñêèå îïåðàöèè: îòðèöàíèå (not), êîíúþíêöèÿ (and), äèçúþíêöèÿ (or) è èñêëþ÷àþùåå «èëè» (xor). Ñëåäóþùàÿ ïðîãðàììà âûâîäèò íà ýêðàí êîìïüþòåðà òàáëèöó èñòèííîñòè ÷åòûð¸õ ëîãè÷åñêèõ îïåðàöèé. Program Logtabl; Var A,B: boolean; begin writeln(' A ',' B ',' not A ','A and B',' A or B', ' A xor B'); for A:=false to true do for B:=false to true do writeln(A:7, B:7, not A:7, A and B:7, A or B:7, A xor B:7) end.

Ðåçóëüòàòû ðàáîòû ïðîãðàììû îòðàçÿòñÿ íà ýêðàíå â ñëåäóþùåì âèäå: A B not A A and B A or B A xor B FALSE FALSE TRUE FALSE FALSE FALSE FALSE TRUE TRUE FALSE TRUE TRUE TRUE FALSE FALSE FALSE TRUE TRUE TRUE TRUE FALSE TRUE TRUE FALSE

Îáñóäèì íåêîòîðûå îñîáåííîñòè ïðîãðàììû. Ïî ïðàâèëàì Ïàñêàëÿ, ïàðàìåòðîì öèêëà â îïåðàòîðå FOR ìîæåò áûòü ëþáàÿ ïåðåìåííàÿ ïåðå÷èñëèìîãî òèïà.  Òóðáî-Ïàñêàëå ê ïåðå÷èñëèìûì òèïàì îòíîñÿòñÿ: âñå âàðèàíòû öåëîãî òèïà (integer, byte, word, shortint, longint), ñèìâîëüíûé òèï (char) è ëîãè÷åñêèé òèï (Boolean). Ëþáîé ïåðå÷èñëèìûé òèï äàííûõ îáëàäàåò ñëåäóþùèìè ñâîéñòâàìè: ýòî êîíå÷íîå, äèñêðåòíîå, óïîðÿäî÷åííîå ìíîæåñòâî çíà÷åíèé, ñðåäè êîòîðûõ äåéñòâóþò ïîíÿòèÿ «ñëåäóþùèé», «ïðåäûäóùèé». Ëîãè÷åñêèé òèï äàííûõ — ýòî ìíîæåñòâî, ñîñòîÿùåå èç äâóõ âåëè÷èí, ðàñïîëîæåííûõ â ñëåäóþùåì ïîðÿäêå: false, true. False ÿâëÿåòñÿ ïðåäûäóùèì ïî îòíîøåíèþ ê true, à true ÿâëÿåòñÿ ïîñëåäóþùèì ïî îòíîøåíèþ ê false. Ìåæäó íèìè èñòèííî îòíîøåíèå: false < true. Ýòî ñâÿçàíî è ñ èõ âíóòðåííèì ïðåäñòàâëåíèåì â êîìïüþòåðå. Äâîè÷íûé êîä false — 0, äâîè÷íûé êîä true — 1. Õîòÿ èíôîðìàöèþ íåñ¸ò âñåãî ëèøü 1 áèò, íî â ïàìÿòè ëîãè÷åñêàÿ âåëè÷èíà çàíèìàåò 1 áàéò. Ñëåäîâàòåëüíî, ñåìü îñòàëüíûõ áèòîâ òàêîãî áàéòà ÿâëÿþòñÿ íåèíôîðìàòèâíûìè. Çàãîëîâîê îïåðàòîðà öèêëà: for A:=false to true do îïðåäåëÿåò èçìåíåíèå â öèêëå çíà÷åíèÿ ëîãè÷åñêîé ïåðåìåííîé À îò false äî true. Äâà âëîæåííûõ öèêëà ïî ïåðåìåííûì À è  îðãàíèçóþò ïåðåáîð âñåõ ñî÷åòàíèé çíà÷åíèé ýòèõ âåëè÷èí. Âñåãî èõ ÷åòûðå.


102

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Ñèñòåìà îñíîâíûõ ïîíÿòèé Ëîãèêà è ëîãè÷åñêèå îïåðàöèè Ôîðìàëüíàÿ ëîãèêà

Àëãåáðà ëîãèêè

Íàóêà î ôîðìàõ ïðàâèëüíîãî ìûøëåíèÿ. Âîçíèêëà â IV â. äî í. ý. Àðèñòîòåëü

Ìàòåìàòè÷åñêèé àïïàðàò ëîãèêè, ìàòåìàòè÷åñêàÿ ëîãèêà. Âîçíèêëà â XIX âåêå. Ä. Áóëü, äå Ìîðãàí, Ï. Ñ. Ïîðåöêèé, À. À. Ìàðêîâ è äð.

Îáúåêòû èçó÷åíèÿ: âûñêàçûâàíèÿ; èñòèííîñòü è ëîæíîñòü âûñêàçûâàíèé; çàêîíû ëîãèè

Îáúåêòû èçó÷åíèÿ: ëîãè÷åñêèå âåëè÷èíû (èñòèíà, ëîæü), ëîãè÷åñêèå êîíñòàíòû è ïåðåìåííûå, ëîãè÷åñêèå îïåðàöèè; çàêîíû àëãåáðû ëîãèêè

Ëîãè÷å��êèå îïåðàöèè Îòðèöàíèå — ÍÅ

ÍÅ èñòèíà = ëîæü, ÍÅ ëîæü = èñòèíà

Ëîãè÷åñêîå óìíîæåíèå (êîíúþíêöèÿ) — È

èñòèíà È èñòèíà = èñòèíà. Èíà÷å ëîæü

Ëîãè÷åñêîå ñëîæåíèå (äèçúþíêöèÿ) — ÈËÈ

ëîæü ÈËÈ ëîæü = ëîæü. Èíà÷å èñòèíà

Èñêëþ÷àþùåå ÈËÈ

Èñòèíà òîãäà è òîëüêî òîãäà, êîãäà îïåðàíäû èìåþò ðàçíûå çíà÷åíèÿ

Ñëåäîâàíèå (èìïëèêàöèÿ)

ÅÑËÈ èñòèíà, ÒÎ ëîæü = ëîæü. Èíà÷å èñòèíà

Ýêâèâàëåíòíîñòü

Èñòèíà òîãäà è òîëüêî òîãäà, êîãäà îïåðàíäû èìåþò îäèíàêîâûå çíà÷åíèÿ

Âîïðîñû è çàäàíèÿ 1. ×òî ÿâëÿåòñÿ ïðåäìåòîì èçó÷åíèÿ â ëîãèêå Àðèñòîòåëÿ? 2. Îáîñíóéòå íàçâàíèå äèñöèïëèíû «àëãåáðà ëîãèêè». 3. Ïðèâåäèòå ïðèìåðû âûñêàçûâàíèé íà áûòîâûå òåìû, â êîòîðûõ èñïîëüçóþòñÿ øåñòü ëîãè÷åñêèõ îïåðàöèé. 4. Çàïèøèòå â ñèìâîëè÷åñêîé ôîðìå, èñïîëüçóÿ ñèìâîëèêó àëãåáðû ëîãèêè, âûñêàçûâàíèÿ, ïðèäóìàííûå âàìè ïðè âûïîëíåíèè ïðåäûäóùåãî çàäàíèÿ. 5. Îïðåäåëèòå çíà÷åíèå èñòèííîñòè ñëåäóþùèõ âûñêàçûâàíèé: à) Ïðèñòàâêà åñòü ÷àñòü ñëîâà, È îíà ïèøåòñÿ ñî ñëîâîì ðàçäåëüíî; á) Ñóôôèêñ åñòü ÷àñòü ñëîâà, È îí ñòîèò ïîñëå êîðíÿ; â) Ðûáó ëîâÿò ñà÷êîì, ÈËÈ ëîâÿò êðþ÷êîì, ÈËÈ ìóõîé ïðèìàíèâàþò ÈËÈ ÷åðâÿêîì; ã) Äâå ïðÿìûå íà ïëîñêîñòè ïàðàëëåëüíû èëè ïåðåñåêàþòñÿ. 6. Ìîãóò ëè áûòü èñòèííûìè ñëåäóþùèå âûñêàçûâàíèÿ, â êîòîðûõ èñïîëüçóþòñÿ èìïëèêàöèÿ è ýêâèâàëåíòíîñòü? à) Åñëè óòðîì òó÷è â íåáå, òî ê îáåäó áóäåò äîæäü; á) Åñëè Êîñòÿ — áðàò N, òî N — áðàò Êîñòè; â) Åñëè Õ — ñûí èëè äî÷ü Y, òî Y — ìàòü èëè îòåö Õ; ã) Ëþäîåä ãîëîäåí òîãäà è òîëüêî òîãäà, êîãäà îí äàâíî íå åë.

Êîìïüþòåðíûé ïðàêòèêóì. Ðàçäåë «Ëîãèêà»


1.6.2. Ëîãè÷åñêèå ôîðìóëû è ôóíêöèè

1.6.2

103

Ëîãè÷åñêèå ôîðìóëû è ôóíêöèè

 àëãåáðå ÷èñåë ñóùåñòâóåò ïîíÿòèå àëãåáðàè÷åñêîãî âûðàæåíèÿ èëè ôîðìóëû. Âîò ïðèìåð àëãåáðàè÷åñêîãî âûðàæåíèÿ: (a + b)2. Àíàëîãîì ýòîãî ïîíÿòèÿ â àëãåáðå ëîãèêè ÿâëÿåòñÿ ïîíÿòèå ëîãè÷åñêîãî âûðàæåíèÿ (ëîãè÷åñêîé ôîðìóëû). Ëîãè÷åñêàÿ ôîðìóëà ìîæåò âêëþ÷àòü ëîãè÷åñêèå êîíñòàíòû, ëîãè÷åñêèå ïåðåìåííûå, çíàêè ëîãè÷åñêèõ îïåðàöèé. Äëÿ âëèÿíèÿ íà ïîñëåäîâàòåëüíîñòü âûïîëíåíèÿ îïåðàöèé â ëîãè÷åñêèõ ôîðìóëàõ ìîãóò èñïîëüçîâàòüñÿ ñêîáêè. Ïðèìåð ëîãè÷åñêîé ôîðìóëû: (A & B) ® (À & C). Ñóùåñòâóþò äâå ëîãè÷åñêèå êîíñòàíòû: «èñòèíà» è «ëîæü». Äëÿ èõ îáîçíà÷åíèÿ èñïîëüçóþò öèôðû 1 è 0. Ëîãè÷åñêàÿ ïåðåìåííàÿ èìååò ñèìâîëè÷åñêîå èìÿ. Îíà ìîæåò îáîçíà÷àòü ëþáîå âûñêàçûâàíèå. Ëîãè÷åñêàÿ ïåðåìåííàÿ ìîæåò ïðèíèìàòü îäíî èç äâóõ çíà÷åíèé: «èñòèíà» èëè «ëîæü» (1 èëè 0). Ïðîñòåéøèé âàðèàíò ëîãè÷åñêîé ôîðìóëû — îäíà ëîãè÷åñêàÿ êîíñòàíòà èëè îäíà ëîãè÷åñêàÿ ïåðåìåííàÿ. Ïðè çàïèñè ëîãè÷åñêèõ ôîðìóë ñëåäóåò ó÷èòûâàòü ñòàðøèíñòâî ëîãè÷åñêèõ îïåðàöèé. Ëîãè÷åñêèå îïåðàöèè â ïîðÿäêå óáûâàíèÿ ñòàðøèíñòâà (åùå ãîâîðÿò — ðàíãà) ðàñïîëàãàþòñÿ òàê: 1) îòðèöàíèå; 2) êîíúþíêöèÿ; 3) äèçúþíêöèÿ è èñêëþ÷àþùåå «èëè»; 4) èìïëèêàöèÿ è ýêâèâàëåíòíîñòü. Êàê è â àëãåáðå ÷èñåë, â ïåðâóþ î÷åðåäü âûïîëíÿþòñÿ îïåðàöèè áîëåå âûñîêîãî ñòàðøèíñòâà. Ëîãè÷åñêîé ôóíêöèåé íàçûâàåòñÿ çàâèñèìîñòü çíà÷åíèÿ îäíîé ïåðåìåííîé ëîãè÷åñêîé âåëè÷èíû (çíà÷åíèÿ ôóíêöèè) îò çíà÷åíèé äðóãèõ íåçàâèñèìûõ ëîãè÷åñêèõ âåëè÷èí — àðãóìåíòîâ. Ñïîñîá âû÷èñëåíèÿ ëîãè÷åñêîé ôóíêöèè îïèñûâàåòñÿ ëîãè÷åñêîé ôîðìóëîé. Íàïðèìåð: F(A, B, C) = (A & B) ® (À & C). F — ôóíêöèÿ îò òð¸õ ëîãè÷åñêèõ àðãóìåíòîâ A, B, C. Ïåðåáîðîì âñåõ âàðèàíòîâ çíà÷åíèé àðãóìåíòîâ ìîæíî îïðåäåëèòü âñå ñîîòâåòñòâóþùèå çíà÷åíèÿ ôóíêöèè. Ýòî äåëàåòñÿ ïóòåì ïîñòðîåíèÿ òàáëèöû èñòèííîñòè ëîãè÷åñêîé ôóíêöèè. Åñëè ôóíêöèÿ èìååò N àðãóìåíòîâ, òî ïðè ýòîì ïðèõîäèòñÿ ïåðåáèðàòü 2N âàðèàíòîâ çíà÷åíèé àðãóìåíòîâ.  íàøåì ïðèìåðå N = 3, çíà÷èò òàáëèöà èñòèííîñòè (â íåé «èñòèíà» è «ëîæü» îáîçíà÷åíû êàê 1 è 0) ôóíêöèè F ñîäåðæèò 8 ñòðîê. A

B

C

À

A&B

Â&C

0 0 0 0 1 1 1 1

0 0 1 1 0 0 1 1

0 1 0 1 0 1 0 1

1 1 1 1 0 0 0 0

0 0 0 0 0 0 1 1

0 1 0 1 0 0 0 0

F = (A&B) ® (Â&C) 1 1 1 1 1 1 0 0


104

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Ëîãè÷åñêàÿ ôîðìóëà ïóòåì òîæäåñòâåííûõ ïðåîáðàçîâàíèé ìîæåò áûòü ïðèâåäåíà ê äðóãîìó âèäó (îá ýòîì — â ñëåäóþùåì ðàçäåëå). È òîëüêî òàáëèöà èñòèííîñòè ÿâëÿåòñÿ îäíîçíà÷íûì îòîáðàæåíèåì ëîãè÷åñêîé ôóíêöèè. Çàêîíû àëãåáðû ëîãèêè Âñïîìíèì ðàññìîòðåííûé â ïðåäûäóùåì ïàðàãðàôå ïðèìåð äâóõ ðàâíîñèëüíûõ âûñêàçûâàíèé: 1) «Êâàäðàòíîå óðàâíåíèå èìååò äåéñòâèòåëüíûå êîðíè òîãäà è òîëüêî òîãäà, êîãäà åãî äèñêðèìèíàíò ïîëîæèòåëüíûé»; 2) «Åñëè êâàäðàòíîå óðàâíåíèå èìååò äåéñòâèòåëüíûå êîðíè, òî åãî äèñêðèìèíàíò ïîëîæèòåëüíûé» È «Åñëè äèñêðèìèíàíò êâàäðàòíîãî óðàâíåíèÿ ïîëîæèòåëüíûé, òî îíî èìååò äåéñòâèòåëüíûå êîðíè». Ïðèâåä¸ííûé ïðèìåð äåìîíñòðèðóåò, ÷òî îïåðàöèÿ ýêâèâàëåíòíîñòè A « B ðàâíîñèëüíà (òîæäåñòâåííà) îäíîâðåìåííîìó âûïîëíåíèþ äâóõ îïåðàöèé èìïëèêàöèè: A ® B è B ® A. Äàííîå óòâåðæäåíèå ìîæíî çàïèñàòü â âèäå ðàâåíñòâà ìåæäó äâóìÿ ëîãè÷åñêèìè ôîðìóëàìè: A « B = A®B & B ®A.

(1)

Ðàâåíñòâî (1) — ýòî îäèí èç çàêîíîâ àëãåáðû ëîãèêè, îòðàæàþùèõ ñâîéñòâà ëîãè÷åñêèõ îïåðàöèé. Èñïîëüçîâàíèå çàêîíîâ àëãåáðû ëîãèêè ïîçâîëÿåò âûïîëíÿòü òîæäåñòâåííûå ïðåîáðàçîâàíèÿ ëîãè÷åñêèõ âûðàæåíèé, ïî àíàëîãèè ñ òåì, êàê ýòî äåëàåòñÿ â àëãåáðå ÷èñåë. Íàïðèìåð, èç ÷èñëîâîé àëãåáðû âàì èçâåñòíî, ÷òî ñëåäóþùåå ðàâåíñòâî ÿâëÿåòñÿ òîæäåñòâîì: (a + b)2 = a2 + 2ab + b2. Òîæäåñòâåííîñòü îáîçíà÷àåò, ÷òî ïðè ëþáûõ çíà÷åíèÿõ ïåðåìåííûõ a è b ðàâåíñòâî áóäåò âûïîëíÿòüñÿ. Ýòî ðàâåíñòâî ìåæäó äâóìÿ àëãåáðàè÷åñêèìè âûðàæåíèÿìè. Òîæäåñòâåííûå ïðåîáðàçîâàíèÿ íå îòðàæàþòñÿ íà çíà÷åíèÿõ àëãåáðàè÷åñêèõ âûðàæåíèé, à èçìåíÿþò ëèøü èõ ôîðìó. ×òîáû ïðàâèëüíî âûïîëíÿòü òîæäåñòâåííûå ïðåîáðàçîâàíèÿ, íóæíî çíàòü çàêîíû àëãåáðû. Ñîîòíîøåíèå (1) ÿâëÿåòñÿ òîæäåñòâîì äâóõ ëîãè÷åñêèõ ôîðìóë. Êàêèì ñïîñîáîì ìîæíî âûâåñòè èëè äîêàçàòü ñïðàâåäëèâîñòü ðàâåíñòâà ìåæäó äâóìÿ ëîãè÷åñêèìè ôîðìóëàìè? Íàèáîëåå ïðîñòîé ñïîñîá äëÿ ýòîãî: ïîñòðîåíèå òàáëèö èñòèííîñòè äëÿ îáåèõ ôîðìóë. È åñëè çíà÷åíèÿ ôîðìóë â òàáëèöàõ ïîëíîñòüþ ñîâïàäàþò, òî ýòî çíà÷èò, ÷òî ýòè ôîðìóëû òîæäåñòâåííû. Äîêàæåì òàêèì ïóòåì ñïðàâåäëèâîñòü ñëåäóþùåãî ðàâåíñòâà: A ® B = À Ú B.

(2)

A

B

À

A®B

ÀÚB

È

È

Ë

È

È

È

Ë

Ë

Ë

Ë

Ë

È

È

È

È

Ë

Ë

È

È

È


1.6.2. Ëîãè÷åñêèå ôîðìóëû è ôóíêöèè

105

Çíà÷åíèÿ ôîðìóë ïîëíîñòüþ ñîâïàëè, çíà÷èò, ôîðìóëû òîæäåñòâåííû, ÷òî è òðåáîâàëîñü äîêàçàòü. À òåïåðü âåðí¸ìñÿ ê ñîîòíîøåíèþ (1). Ïðèìåíÿÿ ê åãî ïðàâîé ÷àñòè ðàâåíñòâî (2), ïîëó÷èì: A « B = (À Ú B) & (Â Ú A) .

(3)

Ïîëó÷åííîå ðàâåíñòâî (3) — ýòî âûðàæåíèå çàêîíà àëãåáðû ëîãèêè, ñâîäÿùåãî îïåðàöèþ ýêâèâàëåíòíîñòè ê ïîñëåäîâàòåëüíîñòè îïåðàöèé îòðèöàíèÿ, äèçúþíêöèè è êîíúþíêöèè. Ëþáóþ ëîãè÷åñêóþ ôîðìóëó ïóòåì òîæäåñòâåííûõ ïðåîáðàçîâàíèé ìîæíî ïðèâåñòè ê ôîðìóëå, ñîäåðæàùåé òîëüêî îïåðàöèè îòðèöàíèÿ, äèçúþíêöèè è êîíúþíêöèè. Òàêîé ñïîñîá ïðåäñòàâëåíèÿ ëîãè÷åñêîé ôîðìóëû íàçûâàåòñÿ íîðìàëüíîé ôîðìîé. Ïðèâåä¸ì ñïèñîê îñíîâíûõ çàêîíîâ (òîæäåñòâ) àëãåáðû ëîãèêè.  òàáë. 1.12 ëîãè÷åñêàÿ êîíñòàíòà «ëîæü» îáîçíà÷åíà êàê 0, à «èñòèíà» — êàê 1. Òàáëèöà 1.12. Çàêîíû àëãåáðû ëîãèêè Çàêîíû êîììóòàòèâíîñòè 1

A&B=B&A

2

AÚB=BÚA Çàêîíû àññîöèàòèâíîñòè

3

(A & B) & C = A & (B & C)

4

(A Ú B) Ú C = A Ú (B Ú C) Çàêîíû äèñòðèáóòèâíîñòè

5

(A & B) Ú C = (A Ú C) & (B Ú C)

6

(A Ú B) & C = (A & C) Ú (B & C) Çàêîí èäåìïîòåíòíîñòè

7

A & A=A; A Ú A=A Çàêîíû ïîãëîùåíèÿ íóëÿ è åäèíèöû

8

A & 1 = A; A Ú 0 = A Çàêîí èñêëþ÷¸ííîãî òðåòüåãî

9

AÚÀ=1


106

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

10

A&À=0 Çàêîíû ïîãëîùåíèÿ

11

A Ú (A & B) = A

12

A & (A Ú B) = A Çàêîíû äå Ìîðãàíà

13

À & B=AÚB

14

AÚB=À& B Çàêîí äâîéíîãî îòðèöàíèÿ

15

A=A Ïðèâåäåíèå ê íîðìàëüíîé ôîðìå

16

A®B=AÚB

17

A « B = (AÚ B) & (B Ú A)

18

A Å B = (A & B) Ú (A & B)

Âåðíåìñÿ ê ðàññìîòðåíèþ ïðèìåðà «Øàõìàòû» èç ïðåäûäóùåãî ïàðàãðàôà. Ïðèìåð. Øàõìàòû (ïðîäîëæåíèå) Ïîñêîëüêó âñå òðè âûñêàçûâàíèÿ èñòèííû îäíîâðåìåííî, òî èõ ìîæíî îáúåäèíèòü â îäíî ñëîæíîå âûñêàçûâàíèå (ëîãè÷åñêóþ ôîðìóëó) ïóò¸ì ïðèìåíåíèÿ îïåðàöèè êîíúþíêöèè. Ó÷èòûâàÿ çàêîí êîììóòàòèâíîñòè äëÿ êîíúþíêöèè, çàïèøåì: ((A Ú B) ® Ñ) & ( ® C & D) & C.

(4)

Óïðîñòèì ôîðìóëó (4), èñïîëüçóÿ çàêîíû àëãåáðû ëîãèêè (â ôèãóðíûõ ñêîáêàõ óêàçàíû íîìåðà èñïîëüçîâàííûõ òîæäåñòâ èç òàáë. 1.12) ((A Ú B) ® Ñ) & ( ® C & D) & C = {16} ((A Ú B) Ú Ñ) & (Â Ú C & D) & C = = {14} (A & B Ú Ñ) & (Â Ú C & D) = {6, 7, 10} A & B & Ñ & D. (5) Ïîëó÷åííàÿ ôîðìóëà (5) áóäåò èìåòü çíà÷åíèå «èñòèíà» òîëüêî â ñëó÷àå: À =  = «ëîæü», C = D = «èñòèíà». Îêîí÷àòåëüíûé îòâåò íà âîïðîñ «Êòî èç äðóçåé èãðàåò â øàõìàòû?» òàêîé: â øàõìàòû èãðàþò Ñåì¸í è Äìèòðèé, à Àíòîí è Âèêòîð â øàõìàòû íå èãðàþò.


1.6.2. Ëîãè÷åñêèå ôîðìóëû è ôóíêöèè

107

Ñèñòåìà îñíîâíûõ ïîíÿòèé Ëîãè÷åñêèå ôîðìóëû è ôóíêöèè Ëîãè÷åñêàÿ ôîðìóëà

Ëîãè÷åñêàÿ ôóíêöèÿ

Òàáëèöà èñòèííîñòè ëîãè÷åñêîé ôóíêöèè

Âûðàæåíèå, ñîäåðæàùåå ëîãè÷åñêèå êîíñòàíòû, ëîãè÷åñêèå ïåðåìåííûå, çíàêè ëîãè÷åñêèõ îïåðàöèé

Çàâèñèìîñòü çíà÷åíèÿ îäíîé ïåðåìåííîé ëîãè÷åñêîé âåëè÷èíû îò äðóãèõ íåçàâèñèìûõ ëîãè÷åñêèõ âåëè÷èíàðãóìåíòîâ

Ïåðå÷åíü çíà÷åíèé ôóíêöèè äëÿ âñåõ ñî÷åòàíèé çíà÷åíèé àðãóìåín òîâ. Ñîäåðæèò 2 ñòðîê, ãäå n — ÷èñëî àðãóìåíòîâ

Çàêîíû àëãåáðû ëîãèêè Çàêîíû êîììóòàòèâíîñòè

A & B = B & A, A Ú B = B Ú A

Çàêîíû àññîöèàòèâíîñòè

(A & B) & C = A & (B & C), (A Ú B) Ú C = A Ú (B ÚC)

Çàêîíû äèñòðèáóòèâíîñòè

(A & B) Ú C = (A Ú C) & (B Ú C); (A Ú B) & C= (A & C) Ú (B & C)

Çàêîí èäåìïîòåíòíîñòè

A & A = A; A Ú A = A

Çàêîíû ïîãëîùåíèÿ íóëÿ è åäèíèöû

A & 1 = A; A Ú 0 = A

Çàêîí èñêëþ÷¸ííîãî òðåòüåãî

A Ú À = 1; A & À = 0

Çàêîíû ïîãëîùåíèÿ

A Ú (A & B) = A; A & (A Ú B) = A

Çàêîíû äå Ìîðãàíà

À & B=AÚB; AÚB=À& B

Çàêîí äâîéíîãî îòðèöàíèÿ

A=A

Òåîðåìà î íîðìàëüíîé ôîðìå Ëþáóþ ëîãè÷åñêóþ ôîðìóëó ïóòåì òîæäåñòâåííûõ ïðåîáðàçîâàíèé ìîæíî ïðèâåñòè ê ôîðìóëå, ñîäåðæàùåé òîëüêî îïåðàöèè îòðèöàíèÿ, äèçúþíêöèè è êîíúþíêöèè. Ïðèâåäåíèå ê íîðìàëüíîé ôîðìå A®B=ÀÚB

A « B = (À Ú B) & (Â Ú A)

A Å B = (À & B) Ú (A &Â)

Âîïðîñû è çàäàíèÿ 1. ×òî òàêîå ë��ãè÷åñêàÿ ôîðìóëà? Êàêèå çíà÷åíèÿ ïîëó÷àþòñÿ â ðåçóëüòàòå âû÷èñëåíèÿ ëîãè÷åñêîé ôîðìóëû? 2. Êàêóþ èç äâóõ ñëåäóþùèõ ôîðìóë ìîæíî ðàññìàòðèâàòü â êà÷åñòâå ëîãè÷åñêîé ôóíêöèè? 1) ¬ (ÈÑÒÈÍÀ & ËÎÆÜ); 2) ¬(ÈÑÒÈÍÀ & A).


108

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

3. Åñëè ñîïîñòàâèòü îïåðàöèè ëîãè÷åñêîãî ñëîæåíèÿ è ëîãè÷åñêîãî óìíîæåíèÿ ñ îïåðàöèÿìè ñëîæåíèÿ è óìíîæåíèÿ ÷èñåë, à îïåðàöèþ ëîãè÷åñêîãî îòðèöàíèÿ ñ îïåðàöèåé èçìåíåíèÿ çíàêà ÷èñëà (óíàðíûé ìèíóñ), òî êàêèå çàêîíû àëãåáðû ëîãèêè èìåþò àíàëîãè â àëãåáðå ÷èñåë? Çàìå÷àíèå: äàëåå ñëåäóþò çàäàíèÿ òåñòîâîãî òèïà ñ âûáîðîì îòâåòà èç äàííîãî ìåíþ. þ 4. Äëÿ êàêîãî èç óêàçàííûõ çíà÷åíèé X èñòèííî âûñêàçûâàíèå Ø ((X > 2) ® (X > 3))? 1) 1; 2) 2; 3) 3; 4) 4. þ 5. Óêàæèòå, êàêîå ëîãè÷åñêîå âûðàæåíèå ðàâíîñèëüíî âûðàæåíèþ A & Ø (ØB Ú C) ? 1) ØA Ú ØB Ú ØC; 2) A & ØB & ØC; 3) A & B & ØC; 4) A & ØB & C. þ 6. Ñèìâîëîì F îáîçíà÷åíà ëîãè÷åñêàÿ ôóíêöèÿ îò òðåõ ëîãè÷åñêèõ àðãóìåíòîâ: X, Y, Z. Äàí ôðàãìåíò òàáëèöû èñòèííîñòè ôóíêöèè F: X

Y

Z

F

1

0

0

1

0

0

0

1

1

1

1

0

Êàêàÿ ôîðìóëà ñîîòâåòñòâóåò F? Âàðèàíòû îòâåòîâ: 1) ØX & ØY & ØZ; 2) X & Y & Z; 3) X Ú Y Ú Z; 4) ØX Ú ØY Ú ØZ. þ 7. Ñêîëüêî ðàçëè÷íûõ ðåøåíèé èìååò óðàâíåíèå (K Ú L) ® (L & M & N) = ËÎÆÜ, ãäå K, L, M, N — ëîãè÷åñêèå ïåðåìåííûå? (Óêàçàòü êîëè÷åñòâî ðàçëè÷íûõ íàáîðîâ çíà÷åíèé ïåðåìåííûõ K, L, M, N, óäîâëåòâîðÿþùèõ óðàâíåíèþ.) 1) 4; 2) 10; 3) 8; 4) 12.

Êîìïüþòåðíûé ïðàêòèêóì. Ðàçäåë «Ëîãèêà»

1.6.3

Ëîãè÷åñêèå ôîðìóëû è ëîãè÷åñêèå ñõåìû *

Ëîãè÷åñêèå ñõåìû â íàãëÿäíîé ãðàôè÷åñêîé ôîðìå îòîáðàæàþò ïîñëåäîâàòåëüíîñòü âûïîëíåíèÿ îïåðàöèé ïðè âû÷èñëåíèè ëîãè÷åñêèõ ôîðìóë. Îñíîâíûå ëîãè÷åñêèå îïåðàöèè áóäåì èçîáðàæàòü íà òàêèõ ñõåìàõ â ôîðìå, ïîêàçàííîé â òàáë. 1.13. Âõîäÿùèå ñëåâà ëèíèè è öèôðû îêîëî íèõ îáîçíà÷àþò çíà÷åíèÿ îïåðàíäîâ, ëèíèÿ ñïðàâà è ñîîòâåòñòâóþùàÿ öèôðà — ðåçóëüòàò îïåðàöèè (çíà÷åíèÿ íà âûõîäàõ ëîãè÷åñêèõ ýëåìåíòîâ). Çäåñü 1 —ëîãè÷åñêàÿ åäèíèöà (èñòèíà), 0 — ëîãè÷åñêèé íîëü (ëîæü).


1.6.3. Ëîãè÷åñêèå ôîðìóëû è ëîãè÷åñêèå ñõåìû *

109

 òàáë. 1.13 ôàêòè÷åñêè ïðåäñòàâëåíû òàáëèöû èñòèííîñòè, òîëüêî â ôîðìå ëîãè÷åñêèõ ñõåì.  òàêîé ôîðìå óäîáíî èçîáðàæàòü öåïî÷êè ëîãè÷åñêèõ îïåðàöèé è ïðîèçâîäèòü èõ âû÷èñëåíèÿ. Òàáëèöà 1.13. Ñõåìàòè÷åñêîå èçîáðàæåíèå ëîãè÷åñêèõ îïåðàöèé Êîíúþíêöèÿ

Äèçúþíêöèÿ

Îòðèöàíèå

Ïðèìåð 1. Äëÿ âû÷èñëåíèÿ ëîãè÷åñêîãî âûðàæåíèÿ: 1 ÈËÈ 0 È 1 íàðèñóåì ñõåìó, îòðàæàþùóþ ïîñëåäîâàòåëüíîñòü âûïîëíåíèÿ ëîãè÷åñêèõ îïåðàöèé:

×èòàòü ýòó ñõåìó íàäî ñëåâà íàïðàâî. Çäåñü íàãëÿäíî îòðàæåíî òî, ÷òî ïåðâîé âûïîëíÿåòñÿ îïåðàöèÿ È, çàòåì ÈËÈ. Òåïåðü â ïîðÿäêå ñëåâà íàïðàâî ïðèïèøåì ê âûõîäÿùèì ëèíèÿì ðåçóëüòàòû îïåðàöèé:

 ðåçóëüòàòå ïîëó÷èëàñü 1, ò. å. «èñòèíà».


110

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Ïðèìåð 2. Ïðåäñòàâèì â ôîðìå ëîãè÷åñêîé ñõåìû ñëåäóþùóþ ëîãè÷åñêóþ ôîðìóëó: ÍÅ (A È ( B ÈËÈ C) È D), ãäå A, B, C, D — ëîãè÷åñêèå ïåðåìåííûå. Ëîãè÷åñêàÿ ñõåìà áóäåò âûãëÿäåòü òàê:

Òåïåðü ñ ïîìîùüþ ñõåìû ðàññ÷èòàåì çíà÷åíèå ôîðìóëû ïðè A = C = = D = 1, B = 0.

 ðåçóëüòàòå ïîëó÷èëñÿ ëîãè÷åñêèé íîëü, ò. å. «ëîæü». Èñïîëüçîâàííûå íàìè îáîçíà÷åíèÿ ëîãè÷åñêèõ ýëåìåíòîâ íå ñîîòâåòñòâóþò ñòàíäàðòàì, ïðèíÿòûì â êîìïüþòåðíîé ñõåìîòåõíèêå. Ñîãëàñíî ñóùåñòâóþùèì ñòàíäàðòàì, äëÿ ýëåìåíòîâ ëîãè÷åñêèõ ñõåì èñïîëüçóþòñÿ ñëåäóþùèå îáîçíà÷åíèÿ:


1.6.4. Ìåòîäû ðåøåíèÿ ëîãè÷åñêèõ çàäà÷

111

Ñ èñïîëüçîâàíèåì ñòàíäàðòíûõ îáîçíà÷åíèé äëÿ ëîãè÷åñêèõ ýëåìåíòîâ, ñõåìà èç ïðèìåðà 2 áóäåò âûãëÿäåòü òàê:

Âîïðîñû è çàäàíèÿ 1. Ïóñòü a, b, c — ëîãè÷åñêèå ïåðåìåííûå, êîòîðûå èìåþò ñëåäóþùèå çíà÷åíèÿ: a = èñòèíà, b = ëîæü, c = èñòèíà. Èñïîëüçóÿ ëîãè÷åñêèå ñõåìû, îïðåäåëèòü ðåçóëüòàòû âû÷èñëåíèÿ ñëåäóþùèõ ëîãè÷åñêèõ ôîðìóë äëÿ ýòèõ çíà÷åíèé: 1) a è b; 4) a è b èëè c; 7) (a èëè b) è (c èëè b); 2) a èëè b; 5) a èëè b è c; 8) íå (a èëè b) è (c èëè b); 3) íå a èëè b; 6) íå a èëè b è c; 9) íå (a è b è c). 2. Çàïèøèòå ôîðìóëû, ñîîòâåòñòâóþùèå ëîãè÷åñêèì ñõåìàì à) è á). Ïîñòðîéòå òàáëèöû èñòèííîñòè äëÿ ýòèõ ôîðìóë.

1.6.4

Ìåòîäû ðåøåíèÿ ëîãè÷åñêèõ çàäà÷

Ìåòîä ðàññóæäåíèé Ïðîäåìîíñòðèðóåì ïðèìåíåíèå ìåòîäà ðàññóæäåíèé íà ïðèìåðå çàäà÷è î øàõìàòèñòàõ. Ïîâòîðèì óñëîâèå çàäà÷è.


112

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Ïðèìåð. Øàõìàòû Åñòü ÷åòûðå äðóãà: Àíòîí, Âèêòîð, Ñåì¸í è Äìèòðèé. Îòíîñèòåëüíî èõ óìåíèÿ èãðàòü â øàõìàòû ñïðàâåäëèâû ñëåäóþùèå âûñêàçûâàíèÿ: 1) Ñåì¸í èãðàåò â øàõìàòû; 2) åñëè Âèêòîð íå èãðàåò â øàõìàòû, òî èãðàþò Ñåì¸í è Äìèòðèé; 3) åñëè Àíòîí èëè Âèêòîð èãðàåò, òî Ñåì¸í íå èãðàåò. Òðåáóåòñÿ óçíàòü, êòî èãðàåò â øàõìàòû, à êòî íåò. Ýòó çàäà÷ó ìîæíî ðåøèòü, íè÷åãî íå çíàÿ ïðî àëãåáðó ëîãèêè, íî îáëàäàÿ áûòîâûìè íàâûêàìè ëîãè÷åñêîãî ìûøëåíèÿ.  çàäà÷å óæå åñòü îäíî ïðîñòîå âûñêàçûâàíèå (1), ñîäåðæàùåå ÷àñòü îòâåòà. «Çàöåïèâøèñü» çà íåãî, ìîæíî èç äðóãèõ ñëîæíûõ âûñêàçûâàíèé ïîñëåäîâàòåëüíî «âûòàùèòü» îñòàâøèåñÿ ÷àñòè ðåøåíèÿ. Ðàññóæäåíèÿ ìîæíî ïîñòðîèòü òàê. Ïîñêîëüêó Ñåì¸í èãðàåò â øàõìàòû, òî èç 3-ãî óòâåðæäåíèÿ ñëåäóåò, ÷òî íè Àíòîí, íè Âèêòîð â øàõìàòû íå èãðàþò. Îñòàëîñü âûÿñíèòü âîïðîñ î Äìèòðèè. Ìû âûÿñíèëè, ÷òî Âèêòîð â øàõìàòû íå èãðàåò, çíà÷èò, èç 2-ãî óòâåðæäåíèÿ ñëåäóåò, ÷òî Ñåì¸í è Äìèòðèé èãðàþò â øàõìàòû. Ïðî Ñåì¸íà áûëî óæå èçâåñòíî, ÷òî îí èãðàåò, òåïåðü óçíàëè, ÷òî è Äìèòðèé èãðàåò â øàõìàòû. Çàäà÷à èìååò åäèíñòâåííîå ðåøåíèå. Ïðèìåíÿÿ ìåòîä ðàññóæäåíèé, ìîæíî ðåøèòü çàäà÷ó íà òåìó «Êòî ïîåäåò íà äà÷ó». Íàïîìíèì å¸ óñëîâèå. Ïðèìåð. Ïîåçäêà íà äà÷ó  ñåìüå åñòü ìàìà, ïàïà, äî÷ü è ñîáàêà. Ñïðàâåäëèâû ñëåäóþùèå âûñêàçûâàíèÿ: 1. Åñëè ìàìà ïîåäåò íà äà÷ó, òî ïîåäåò è ïàïà. 2. Äî÷ü ïîåäåò íà äà÷ó òîãäà è òîëüêî òîãäà, êîãäà ïîåäóò ìàìà, ïàïà è ñîáàêà. 3. Ñîáàêà ïîåäåò íà äà÷ó òîëüêî òîãäà, êîãäà ïîåäåò äî÷ü èëè ìàìà. Òðåáóåòñÿ îïðåäåëèòü âñå âàðèàíòû ãðóïï èç ÷ëåíîâ ñåìüè, êîòîðûå ìîãóò ïîåõàòü íà äà÷ó.  îòëè÷èå îò çàäà÷è ïðî øàõìàòèñòîâ, çäåñü íåò åäèíñòâåííîãî ðåøåíèÿ. Çàäà÷à ðåøàåòñÿ ìåòîäîì ãèïîòåç. Ãèïîòåçà — ýòî ïðåäïîëîæåíèå îá èñòèííîñòè íåêîòîðîãî äîïîëíèòåëüíîãî âûñêàçûâàíèÿ, óìåíüøàþùåå, òàêèì îáðàçîì, ñòåïåíü íåîïðåäåë¸ííîñòè îòâåòà. Åñëè ãèïîòåçà íå ïðèâåäåò ê ïðîòèâîðå÷èþ íè îäíîãî èç äàííûõ âûñêàçûâàíèé, òî îíà âåðíà. Åñëè íåò, òî ñëåäóåò ïðèíÿòü äðóãóþ ãèïîòåçó. Äåëàåòñÿ ïðåäïîëîæåíèå î òîì, ÷òî êòî-òî èç ÷ëåíîâ ñåìüè ïîåäåò íà äà÷ó. Çàòåì ïî äàííûì âûñêàçûâàíèÿì âûÿñíÿåòñÿ, ÷òî èç ýòîãî ñëåäóåò. Èñòèííûìè äîëæíû áûòü âñå òðè âûñêàçûâàíèÿ îäíîâðåìåííî! Îòâåòèì íà âîïðîñû: 1. Êòî åù¸ ïîåäåò íà äà÷ó, åñëè ïîåäåò äî÷ü? Èç 2-ãî âûñêàçûâàíèÿ ñëåäóåò, ÷òî â òàêîì ñëó÷àå íà äà÷ó ïîåäóò âñå îñòàëüíûå. Ïðè ýòîì áóäóò èñòèííû 1-å è 3-å âûñêàçûâàíèÿ. 2. Êòî åù¸ ïîåäåò íà äà÷ó, åñëè ïîåäåò ñîáàêà?


1.6.4. Ìåòîäû ðåøåíèÿ ëîãè÷åñêèõ çàäà÷

113

 ýòîì ñëó÷àå âñåì òð¸ì óñëîâèÿì óäîâëåòâîðèò òîëüêî îäèí âàðèàíò: ïîåäóò âñå. 3. Êòî ïîåäåò íà äà÷ó, åñëè ïîåäåò ïàïà? Âîçìîæíû ñëåäóþùèå âàðèàíòû: 1) ïîåäåò îäèí ïàïà, ò. å. áîëüøå íèêòî; 2) ïîåäóò ïàïà è ìàìà; 3) ïîåäóò âñå. 4. Êòî åùå ïîåäåò íà äà÷ó, åñëè ïîåäåò ìàìà? Ãèïîòåçà ïðèâîäèò ê óæå ðàññìîòðåííûì âàðèàíòàì: ëèáî ïîåäóò âñå, ëèáî ïîåäóò ìàìà è ïàïà. Åù¸ íóæíî ó÷åñòü ñëó÷àé, êîãäà íà äà÷ó íå ïîåäåò íèêòî. Ñëåäîâàòåëüíî, çàäà÷à èìååò ÷åòûðå âàðèàíòà îòâåòà. Ïðèìåð. Òóðíèð ÷åòûð¸õ Ïåðåä íà÷àëîì Òóðíèðà ÷åòûð¸õ áîëåëüùèêè âûñêàçàëè ñëåäóþùèå ïðåäïîëîæåíèÿ ïî ïîâîäó ñâîèõ êóìèðîâ: 1) Ìàêñ ïîáåäèò, Áèëë áóäåò âòîðûì; 2) Áèëë çàéì¸ò òðåòüå ìåñòî, Íèê — ïåðâîå; 3) Ìàêñ áóäåò ïîñëåäíèì, à ïåðâûì — Äæîí. Êîãäà ñîðåâíîâàíèÿ çàêîí÷èëèñü, îêàçàëîñü, ÷òî êàæäûé èç áîëåëüùèêîâ áûë ïðàâ ðîâíî â îäíîì èç ñâîèõ ïðîãíîçîâ. Êàêèå ìåñòà íà òóðíèðå çàíÿëè Äæîí, Íèê, Áèëë è Ìàêñ? Ýòà çàäà÷à èìååò îäíîçíà÷íîå ðåøåíèå. Ïîñêîëüêó â óñëîâèè íåò ãîòîâîé ÷àñòè îòâåòà (êàê â çàäà÷å ïðî øàõìàòèñòîâ), òî ðåøàòü å¸ íóæíî ìåòîäîì ãèïîòåç. 1-ÿ ãèïîòåçà: Ìàêñ – ïåðâûé. Èç 1-ãî âûñêàçûâàíèÿ ñëåäóåò, ÷òî Áèëë íå âòîðîé, ò. å. Áèëë òðåòèé èëè ÷åòâ¸ðòûé. Èç 2-ãî âûñêàçûâàíèÿ ñëåäóåò, ÷òî åñëè Áèëë ÷åòâ¸ðòûé, òî Íèê — ïåðâûé, ÷åãî áûòü íå ìîæåò. Åñëè æå Áèëë — òðåòèé, òî Íèê — âòîðîé èëè ÷åòâ¸ðòûé. Èç 3-ãî âûñêàçûâàíèÿ, ñ ó÷åòîì òîãî ÷òî Ìàêñ – ïåðâûé, ñëåäóåò ïðîòèâîðå÷èå: Äæîí è Ìàêñ îäíîâðåìåííî ïåðâûå. Ñëåäîâàòåëüíî, ïðèíÿòàÿ ãèïîòåçà íåâåðíà. 2-ÿ ãèïîòåçà, ó÷èòûâàþùàÿ ðåçóëüòàò ïðîâåðêè 1-îé ãèïîòåçû: Ìàêñ — íå ïåðâûé. Èç 1-ãî âûñêàçûâàíèÿ ñëåäóåò, ÷òî Áèëë – âòîðîé. Èç 2-ãî âûñêàçûâàíèÿ ñëåäóåò, ÷òî Íèê — ïåðâûé. Èç 3-ãî âûñêàçûâàíèÿ ñëåäóåò, ÷òî Ìàêñ — ÷åòâ¸ðòûé (òàê êàê Äæîí íå ïåðâûé), à Äæîí — òðåòèé (÷òî îñòàëîñü). Âñå ñîøëîñü! Çíà÷èò, ìåñòà ðàñïðåäåëèëèñü â òàêîì ïîðÿäêå: 1-å — Íèê, 2-å — Áèëë, 3-å — Äæîí, 4-å — Ìàêñ. Èñïîëüçîâàíèå òàáëè÷íûõ ìîäåëåé Êàê õîðîøî èçâåñòíî, ïîíèìàíèþ ÷åëîâåêîì êàêèõ-òî ñëîæíûõ ñèòóàöèé ïîìîãàåò ïðèìåíåíèå íàãëÿäíûõ ìîäåëåé, äåëàþùèõ èññëåäóåìóþ ñèòóàöèþ îáîçðèìîé. Äëÿ ðåøåíèÿ ëîãè÷åñêèõ çàäà÷ ýôôåêòèâíûì ïðè¸ìîì ÿâëÿåòñÿ èñïîëüçîâàíèå òàáëè÷íûõ ìîäåëåé. Ðàññìîòðèì ñëåäóþùèé ïðèìåð. Ïðèìåð. Òðè äðóãà è ñîáàêè Òðè äðóãà — Àë¸øà, Ñåð¸æà è Äåíèñ — êóïèëè ùåíêîâ ðàçíîé ïîðîäû — êîëëè, ðîòâåéëåðà è îâ÷àðêó. Äàëè èì êëè÷êè — Äæåê, Ãðèô è Øàðèê. Èçâåñòíî, ÷òî: 1) ùåíîê Àë¸øè òåìíåå ïî îêðàñó, ÷åì îâ÷àðêà, Øàðèê è Äæåê; 2) ùåíîê Ñåð¸æè ñòàðøå Äæåêà, ðîòâåéëåðà è îâ÷àðêè.


114

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Îïðåäåëèòü, ùåíîê ñ êàêîé êëè÷êîé è êàêîé ïîðîäû êàêîìó ìàëü÷èêó ïðèíàäëåæèò. Ïîñòðîèì äâå òàáëèöû: òàáë. 1.14, îòðàæàþùóþ îòíîøåíèå (ñâÿçü) ìåæäó èìåíàìè ìàëü÷èêîâ è êëè÷êàìè ùåíêîâ, è òàáë. 1.15, ïîêàçûâàþùóþ îòíîøåíèå ìåæäó èìåíàìè ìàëü÷èêîâ è ïîðîäàìè ùåíêîâ. Çàïîëíåíèå òàáëèö ïðîèñõîäèò â ïðîöåññå ÷òåíèÿ âûñêàçûâàíèé è ïîëó÷åíèÿ ñëåäñòâèé èç íèõ. Çàïîëíèì ñíà÷àëà òàáë. 1.14. Èç 1-ãî âûñêàçûâàíèÿ ñëåäóåò, ÷òî ó Àë¸øè íå Øàðèê è íå Äæåê (ñòàâèì ìèíóñû â ñîîòâåòñòâóþùèå ÿ÷åéêè), ñëåäîâàòåëüíî, ó Àë¸øè Ãðèô (ñòàâèì ïëþñ). Çíà÷èò, ó Ñåð¸æè è Äåíèñà íå Ãðèô (ñòàâèì ìèíóñû). Èç âòîðîãî âûñêàçûâàíèÿ ñëåäóåò, ÷òî ó Ñåð¸æè íå Äæåê (ìèíóñ). Îñòà¸òñÿ âàðèàíò: ó Ñåð¸æè Øàðèê (ïëþñ). Äàëåå î÷åâèäíî, ÷òî ó Äåíèñà Äæåê. Òàáë. 1.15 çàïîëíÿåòñÿ àíàëîãè÷íî. Ðàññóæäåíèÿ îïèñûâàòü íå áóäåì. Âûïîëíèòå èõ ñàìîñòîÿòåëüíî. Îêîí÷àòåëüíûé âûâîä ñëåäóþùèé: ó Àë¸øè — ðîòâåéëåð Ãðèô, ó Ñåð¸æè — êîëëè Øàðèê, ó Äåíèñà îâ÷àðêà Äæåê. Òàáëèöà 1.14

Òàáëèöà 1.15

Àë¸øà

Ñåð¸æà

Äåíèñ

Àë¸øà

Ñåð¸æà

Äåíèñ

Äæåê

+

êîëëè

+

Ãðèô

+

ðîòâåéëåð

+

Øàðèê

+

îâ÷àðêà

+

 òàáë. 1.14 è 1.15 âìåñòî ïëþñîâ è ìèíóñîâ ìîæíî ïèñàòü ñîîòâåòñòâåííî ÈÑÒÈÍÀ è ËÎÆÜ èëè åäèíèöû è íóëè. Òàêîãî ðîäà òàáëèöû, â ÿ÷åéêè êîòîðûõ çàíîñÿòñÿ äâîè÷íûå çíà÷åíèÿ, íàçûâàþòñÿ äâîè÷íûìè ìàòðèöàìè. Çàìåòèì, ÷òî ïðèìåíåíèå àïïàðàòà àëãåáðû ëîãèêè äëÿ ýòîé ïðîñòîé çàäà÷è çíà÷èòåëüíî óñëîæíèëî áû å¸ ðåøåíèå. Âî-ïåðâûõ, íóæíî áûëî áû îáîçíà÷èòü ñèìâîëàìè âñå âîçìîæíûå ïðîñòûå âûñêàçûâàíèÿ: A = «Ó Àë¸øè Äæåê»; B = «Ó Ñåð¸æè Äæåê»; Ñ = «Ó Äåíèñà Äæåê»; D = «Ó Àë¸øè Ãðèô»; ……. K = «Ó Àë¸øè êîëëè»; L = «Ó Ñåð¸æè êîëëè»; È ò. ä. Çàòåì íàïèñàòü êîíúþíêöèþ äâóõ ëîãè÷åñêèõ ôîðìóë, îïèñûâàþùèõ 1-å è 2-å âûñêàçûâàíèÿ. Ïîñëå ýòîãî âûïîëíèòü óïðîùåíèå ïîëó÷åííîé ôîðìóëû è ïîñòðîèòü å¸ òàáëèöó èñòèííîñòè, èç êîòîðîé ñäåëàòü âûâîäû îá èñòèííîñòè èëè ëîæíîñòè èñõîäíûõ ïðîñòûõ âûñêàçûâàíèé.


1.6.4. Ìåòîäû ðåøåíèÿ ëîãè÷åñêèõ çàäà÷

115

Ïîñòðîåíèå è óïðîùåíèå ëîãè÷åñêèõ ôîðìóë Ïðèìåð òàêîãî ïîäõîäà ïîêàçàí â ïðåäûäóùåì ïàðàãðàôå ïðè ðåøåíèè çàäà÷è «Êòî èãðàåò â øàõìàòû». Ýòî ôîðìàëèçîâàííûé ïîäõîä, êîòîðûé îáëåã÷àåò ðåøåíèå çàäà÷è, åñëè ïóò¸ì òîæäåñòâåííûõ ïðåîáðàçîâàíèé ëîãè÷åñêîé ôîðìóëû óäà¸òñÿ ñâåñòè å¸ ê î÷åíü ïðîñòîìó âèäó. Íàïðèìåð, ôîðìóëó (5) íàçûâàþò ýëåìåíòàðíîé êîíúþíêöèåé. Ýëåìåíòàðíàÿ êîíúþíêöèÿ ñîäåðæèò òîëüêî îïåðàöèè îòðèöàíèÿ è êîíúþíêöèè. Ÿ èñòèííîñòü äîñòàòî÷íî ëåãêî èíòåðïðåòèðîâàòü. Ëîãè÷åñêàÿ ôîðìóëà, êîòîðàÿ ïîëó÷àåòñÿ ïðè ðåøåíèè çàäà÷è «Ïîåçäêà íà äà÷ó», ïîääà¸òñÿ ñëåäóþùåìó òîæäåñòâåííîìó ïðåîáðàçîâàíèþ (ïðîìåæóòî÷íûå ïðåîáðàçîâàíèå íå ïîêàçàíû): (M ® P) & (D « (Ì & P & S)) & (S ® (D Ú Ì)) = (P & M & D & S) Ú Ú (P & M & D & S) Ú (P & M & D & S) Ú (P & M & D & S). Òàêîé âèä ëîãè÷åñêîé ôîðìóëû íàçûâàåòñÿ ñîâåðøåííîé äèçúþíêòèâíîé íîðìàëüíîé ôîðìîé — ÑÄÍÔ. ÑÄÍÔ — ïîñëåäîâàòåëüíîñòü îïåðàöèé äèçúþíêöèè, îáúåäèíÿþùèõ ìåæäó ñîáîé ýëåìåíòàðíûå êîíúþíêöèè, êîòîðûå ñîäåðæàò îäèíàêîâîå ÷èñëî îäíèõ è òåõ æå ïåðåìåííûõ èëè èõ îòðèöàíèé. Õîòÿ ôîðìóëà âûãëÿäèò äëèííîé, å¸ ñìûñë ëåãêî ïîíÿòü. Çíà÷åíèå ôîðìóëû áóäåò èñòèííûì, åñëè áóäåò âûïîëíåíî õîòÿ áû îäíî èç ñëåäóþùèõ óñëîâèé: 1) P, M, D, S — îäíîâðåìåííî ïðèíèìàþò çíà÷åíèå ËÎÆÜ (íèêòî íå ïîåäåò íà äà÷ó); 2) P — ÈÑÒÈÍÀ, à âñå îñòàëüíûå — ËÎÆÜ (ïîåäåò íà äà÷ó òîëüêî ïàïà); 3) P, M — ÈÑÒÈÍÀ, îñòàëüíûå — ËÎÆÜ (ïîåäóò ïàïà è ìàìà); 4) P, M, D, S — îäíîâðåìåííî ïðèíèìàþò çíà÷åíèå ÈÑÒÈÍÀ (âñå ïîåäóò íà äà÷ó). Çàìåòèì, ÷òî â ðàññìîòðåííîé ÑÄÍÔ ñêîáêè ìîæíî áûëî íå ïèñàòü, ó÷èòûâàÿ ïðèîðèòåòû ëîãè÷åñêèõ îïåðàöèé: ëîãè÷åñêîå óìíîæåíèå ñòàðøå ëîãè÷åñêîãî ñëîæåíèÿ. Ñêîáêè ñîõðàíåíû äëÿ áîëüøåé íàãëÿäíîñòè ôîðìóëû. Ïðèìåíåíèå ïðîãðàììèðîâàíèÿ (Ðåøåíèå ëîãè÷åñêèõ çàäà÷)

Ñ óâåëè÷åíèåì ÷èñëà «ïåðñîíàæåé» è êîëè÷åñòâà è ñëîæíîñòè âûñêàçûâàíèé âñ¸ áîëåå çàòðóäíèòåëüíûì äëÿ ÷åëîâåêà ñòàíîâèòñÿ ìåòîä ðàññóæäåíèé äàæå ñ ïðèìåíåíèåì òàáëè÷íîãî ìîäåëèðîâàíèÿ. Ìîæíî ëè â òàêîì ñëó÷àå ïðèáåãíóòü ê ïîìîùè êîìïüþòåðà? Êîíå÷íî, ìîæíî! Îäíàêî íàäî ïîíèìàòü, ÷òî êîìïüþòåð ðåøàåò ôîðìàëèçîâàííûå çàäà÷è, ôîðìàëèçàöèÿ âûïîëíÿåòñÿ íà ÿçûêå ñèñòåìû êîìàíä êîìïüþòåðà. Èç ïðåäûäóùåãî ïàðàãðàôà, íà ïðèìåðå Ïàñêàëÿ, âû óçíàëè, ÷òî â ÿçûêàõ ïðîãðàììèðîâàíèÿ èñïîëüçóþòñÿ âåëè÷èíû ëîãè÷åñêîãî òèïà è ñóùåñòâóþò ëîãè÷åñêèå îïåðàöèè. Åñëè ÷åëîâåê çàõîòåë ïðèìåíèòü ïðîãðàììèðîâàíèå äëÿ ðåøåíèÿ ëîãè÷åñêîé çàäà÷è, îí ñíà÷àëà äîëæåí å¸


116

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

ôîðìàëèçîâàòü, ò. å. ïîñòðîèòü ëîãè÷åñêèå ôîðìóëû ïî ïðàâèëàì àëãåáðû ëîãèêè. Âñÿêóþ ëîãè÷åñêóþ ôîðìóëó ìîæíî ðàññìàòðèâàòü êàê ðåàëèçàöèþ ëîãè÷åñêîé ôóíêöèè îò ìíîãèõ ëîãè÷åñêèõ ïåðåìåííûõ: F(x1, x2,...,xn). Êîìïüþòåð ñàì íå ìîæåò âûïîëíèòü å¸ ïðåîáðàçîâàíèå ê áîëåå ïðîñòîé ôîðìå, èñïîëüçóÿ çàêîíû àëãåáðû ëîãèêè. Íàïðèìåð, åñëè â ôîðìóëó âõîäÿò îïåðàöèè ñëåäîâàíèÿ è ýêâèâàëåíòíîñòè, êîòîðûõ íåò â ÿçûêå ïðîãðàììèðîâàíèÿ, òî ïðîãðàììèñòó ñàìîìó ïðèäåòñÿ âûïîëíèòü ïðèâåäåíèå ýòîé ôîðìóëû ê íîðìàëüíîé ôîðìå. Íî ïîñëå ýòîãî ñîâñåì íå îáÿçàòåëüíî ïûòàòüñÿ óïðîñòèòü íîðìàëèçîâàííóþ ôîðìóëó, ÷òîáû ñîêðàòèòü ÷èñëî îïåðàöèé â íåé. Âåäü ñ÷èòàòü ïðèä¸òñÿ íå âàì, à êîìïüþòåðó! Áëàãîäàðÿ ñïîñîáíîñòè êîìïüþòåðà ê áûñòðûì âû÷èñëåíèÿì, íà í¸ì âîçìîæíî ðåøåíèå ìíîãèõ çàäà÷ ìåòîäîì ïðÿìîãî ïåðåáîðà âñåõ âàðèàíòîâ. Åñëè àíàëèçèðóåìàÿ ëîãè÷åñêàÿ ôóíêöèÿ ñîäåðæèò n ëîãè÷åñêèõ àðãóìåíòîâ, òî ÷èñëî âñåõ âàðèàíòîâ ïðè ïîëíîì ïåðåáîðå ðàâíî 2n.  ðåçóëüòàòå òàêîãî ïåðåáîðà ìîæíî ïîëó÷èòü òàáëèöó èñòèííîñòè äàííîé ëîãè÷åñêîé ôóíêöèè. Äàëåå ïðîãðàììèñò ìîæåò ëèáî ñàì ïðîñìîòðåòü å¸ è âûáðàòü èíòåðåñóþùèå åãî âàðèàíòû, ëèáî òàêîé ïðîñìîòð è îòáîð ïðåäóñìîòðåòü â ïðîãðàììå. Åñëè 2n — áîëüøîå çíà÷åíèå, òî ëó÷øå àíàëèç ïîëó÷åííûõ ðåçóëüòàòîâ ïîðó÷èòü êîìïüþòåðó. Ïðèìåð. Ïîåçäêà íà äà÷ó (ïðîäîëæåíèå)  ñåìüå åñòü ìàìà, ïàïà, äî÷ü è ñîáàêà. Åñëè ìàìà ïîåäåò íà äà÷ó, òî ïîåäåò è ïàïà. Äî÷ü ïîåäåò íà äà÷ó òîãäà è òîëüêî òîãäà, êîãäà ïîåäóò ìàìà, ïàïà è ñîáàêà. Ñîáàêà ïîåäåò íà äà÷ó, òîëüêî òîãäà, êîãäà ïîåäåò äî÷ü èëè ìàìà. Ôîðìàëèçóåì çàäà÷ó. Ââåä¸ì îáîçíà÷åíèÿ äëÿ ïðîñòûõ âûñêàçûâàíèé: M = «Ìàìà ïîåäåò íà äà÷ó»; P = «Ïàïà ïîåäåò íà äà÷ó»; D = «Äî÷ü ïîåäåò íà äà÷ó»; S = «Ñîáàêà ïîåäåò íà äà÷ó». Ïðèâåä¸ííûå âûñêàçûâàíèÿ çàïèøåì â àëãåáðàè÷åñêîé ôîðìå: 1) M ® P; 2) D « (Ì & P & S); 3) S ® (D Ú Ì). Îáúåäèíèì ýòè òðè ôîðìóëû îïåðàöèÿìè êîíúþíêöèè è ïðèâåäåì ê íîðìàëüíîé ôîðìå ïîëó÷åííóþ ôîðìóëó äëÿ èñêëþ÷åíèÿ èç íå¸ îïåðàöèé èìïëèêàöèè è ýêâèâàëåíòíîñòè, ñîãëàñíî òîæäåñòâàì 16, 17 (òàáë. 1.12): (M ® P) & (D « (Ì & P & S)) & (S ® (D Ú Ì)) = = (M Ú P) & ((D Ú (Ì & P & S) & (Ì & P & S Ú D )) & (S Ú (D Ú Ì)). Ïîëó÷åííóþ ôîðìóëó óïðîùàòü íå áóäåì. Ñîñòàâèì ïðîãðàììó, âû÷èñëÿþùóþ âñå çíà÷åíèÿ ëîãè÷åñêîé ôóíêöèè îò ÷åòûðåõ àðãóìåíòîâ: F(M,P,D,S) = (M Ú P) & ((D Ú (Ì & P & S) & (Ì & P & S Ú D )) & (S Ú (D Ú Ì)).


1.6.4. Ìåòîäû ðåøåíèÿ ëîãè÷åñêèõ çàäà÷

117

Program Dacha; Var P, M, D, S, F: boolean; begin Writeln(' P ',' M ',' D ',' S ',' F'); for P:=false to true do for M:=false to true do for D:=false to true do for S:=false to true do begin F:= (not M or P)and((not D or(M and P and S)) and(not(M and P and S) or D)) and(not S or (D or M)); writeln(P:7,M:7,D:7,S:7,F:7); end end.

 ðåçóëüòàòå ðàáîòû ïðîãðàììû áóäåò ïîëó÷åíà ñëåäóþùàÿ òàáëèöà.  íåé çíà÷åíèå FALSE çàìåíåíî íà 0, çíà÷åíèå TRUE — íà 1. P 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

M 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

D 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

S 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

F 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1

Àíàëèçèðóÿ òàáëèöó, âèäèì, ÷òî âîçìîæíû ÷åòûðå ñèòóàöèè: 1) íèêòî íå ïîåäåò íà äà÷ó; 2) îäèí ïàïà ïîåäåò; 3) ïîåäóò ïàïà ñ ìàìîé; 4) âñå ïîåäóò íà äà÷ó. Ýòè æå âûâîäû ìû ïîëó÷àëè ìåòîäîì ðàññóæäåíèé. Áëàãîäàðÿ ñîñòàâëåííîé ïðîãðàììå, êîìïüþòåð òîæå ñìîã ðåøèòü ýòó çàäà÷ó. Ìîæíî áûëî âûâîäèòü íå âñþ òàáëèöó èñòèííîñòè, à òîëüêî òå å¸ ñòðîêè, êîòîðûå ñîîòâåòñòâóþò çíà÷åíèþ TRUE âåëè÷èíû F. Äëÿ ýòîãî äîñòàòî÷íî îïåðàòîð âûâîäà ïîìåñòèòü â óñëîâíûé îïåðàòîð ñëåäóþùåãî âèäà: If F then writeln(P:7,M:7,D:7,S:7,F:7);


118

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Òîãäà íà ýêðàí âûâåäóòñÿ òîëüêî ÷åòûðå èíòåðåñóþùèå íàñ ñòðîêè òàáëèöû: P 0 1 1 1

M 0 0 1 1

D 0 0 0 1

S 0 0 0 1

F 1 1 1 1

Ñèñòåìà îñíîâíûõ ïîíÿòèé Ìåòîäû ðåøåíèÿ ëîãè÷åñêèõ çàäà÷ Ëîãè÷åñêàÿ çàäà÷à: ïîèñê èñòèííûõ âûñêàçûâàíèé â îòâåò íà ïîñòàâëåííûé âîïðîñ Ìåòîäû ðåøåíèÿ Ìåòîä äåíèé

ðàññóæ- Ìåòîä ïîñòðîåíèÿ Ìåòîä ïîñòðîåíèÿ Ïðîãðàììèðîâàíèå òàáëè÷íîé ìîäåëè è óïðîùåíèÿ ëî- ìåòîäà ïåðåáîðà ãè÷åñêîé ôîðìóëû

Öåïî÷êà âûâîäîâ îò ÷àñòíîãî ðåøåíèÿ. Ìåòîä ãèïîòåç

Ïðåèìóùåñòâî — â íàãëÿäíîñòè. Äâîè÷íàÿ ìàòðèöà: ñâÿçè ìåæäó äâóìÿ òèïàìè îáúåêòîâ

Ïðèâåäåíèå ê ïðîñòîé ôîðìå: ïðîñòàÿ êîíúþíêöèÿ, ÑÄÍÔ è ïð.

Àâòîìàòè÷åñêîå ïîëó÷åíèå òàáëèöû èñòèííîñòè ëîãè÷åñêîé ôóíêöèè. Âëîæåííûå öèêëû ïî ëîãè÷åñêèì ïàðàìåòðàì

Âîïðîñû è çàäàíèÿ 1. Äëÿ ðåøåíèÿ êàêèõ çàäà÷ ìîæíî ïðèìåíÿòü ìåòîä ðàññóæäåíèé? 2. ×òî òàêîå ìåòîä ãèïîòåç? 3.  ÷åì ñóòü ìåòîäà òàáëè÷íîãî ìîäåëèðîâàíèÿ? Óêàçàíèå: äëÿ ðåøåíèÿ ïîñëåäóþùèõ çàäà÷ ïîäáåðèòå ïîäõîäÿùèé ìåòîä ðåøåíèÿ (ðàññóæäåíèé èëè òàáëè÷íîãî ìîäåëèðîâàíèÿ) è ðåøèòå çàäà÷è. þ 4. Íà ñòîëå ëåæàò òðè ïà÷êè òåòðàäåé 5-ãî, 7-ãî è 10-ãî êëàññîâ. Íà ïåðâîé ïà÷êå íàïèñàíî: «10 êëàññ», íà âòîðîé — «5 èëè 7 êëàññ», íà òðåòüåé — «7 êëàññ». Èçâåñòíî, ÷òî íè îäíà íàäïèñü íå âåðíà.  êàêîé ïà÷êå ëåæàò òåòðàäè 5-ãî êëàññà? þ 5.  áóòûëêå, ñòàêàíå, êóâøèíå è áàíêå íàõîäÿòñÿ ìîëîêî, ëèìîíàä, êâàñ è âîäà. Èçâåñòíî, ÷òî âîäà è ìîëîêî íå â áóòûëêå. Ñîñóä ñ ëèìîíàäîì íàõîäèòñÿ ìåæäó êóâøèíîì è ñîñóäîì ñ êâàñîì.  áàíêå — íå ëèìîíàä è íå âîäà. Ñòàêàí íàõîäèòñÿ ìåæäó áàíêîé è ñîñóäîì ñ ìîëîêîì. Êàê ðàñïðåäåëåíû æèäêîñòè ïî ñîñóäàì?


1.6.5. Ëîãè÷åñêèå ôóíêöèè íà îáëàñòè ÷èñëîâûõ çíà÷åíèé

119

þ 6. Îïðåäåëèòå, êòî èç ïîäîçðåâàåìûõ ó÷àñòâîâàë â ïðåñòóïëåíèè, åñëè èçâåñòíî:

1) åñëè Èâàíîâ íå ó÷àñòâîâàë èëè Ïåòðîâ ó÷àñòâîâàë, òî Ñèäîðîâ ó÷àñòâîâàë; 2) åñëè Èâàíîâ íå ó÷àñòâîâàë, òî Ñèäîðîâ íå ó÷àñòâîâàë. þ 7.  íàðóøåíèè ïðàâèë îáìåíà âàëþòû ïîäîçðåâàþòñÿ ÷åòûðå ðàáîòíèêà áàíêà: A, B, C è D. Èçâåñòíî, ÷òî: 1) åñëè À íàðóøèë, òî è  íàðóøèë ïðàâèëà îáìåíà âàëþòû; 2) åñëè  íàðóøèë, òî Ñ íàðóøèë èëè À íå íàðóøèë; 3) åñëè D íå íàðóøèë, òî À íàðóøèë, à Ñ íå íàðóøèë; 4) åñëè D íàðóøèë, òî è À íàðóøèë. Êòî èç ïîäîçðåâàåìûõ íàðóøèë ïðàâèëà îáìåíà âàëþòû? Çàäà÷ó ðåøèòå ïóòåì ïîñòðîåíèÿ è ïðåîáðàçîâàíèÿ ëîãè÷åñêîé ôîðìóëû.

Êîìïüþòåðíûé ïðàêòèêóì. Ðàçäåë «Ëîãèêà»

1.6.5

Ëîãè÷åñêèå ôóíêöèè íà îáëàñòè ÷èñëîâûõ çíà÷åíèé

Àëãåáðà ÷èñåë ïåðåñåêàåòñÿ ñ àëãåáðîé ëîãèêè â òåõ ñëó÷àÿõ, êîãäà ïðèõîäèòñÿ ïðîâåðÿòü ïðèíàäëåæíîñòü çíà÷åíèé àëãåáðàè÷åñêèõ âûðàæåíèé íåêîòîðîìó ìíîæåñòâó. Íàïðèìåð, ïðèíàäëåæíîñòü çíà÷åíèé ÷èñëîâîé ïåðåìåííîé X ìíîæåñòâó ïîëîæèòåëüíûõ ÷èñåë âûðàæàåòñÿ ÷åðåç âûñêàçûâàíèå: «Õ áîëüøå íóëÿ». Ñèìâîëè÷åñêè ýòî çàïèñûâàåòñÿ òàê: X > 0.  àëãåáðå òàêîå âûðàæåíèå íàçûâàþò íåðàâåíñòâîì.  ëîãèêå — îòíîøåíèåì. Îòíîøåíèå X > 0 ìîæåò áûòü èñòèííûì èëè ëîæíûì. Åñëè Õ — ïîëîæèòåëüíàÿ âåëè÷èíà, òî îòíîøåíèå èñòèííî, åñëè îòðèöàòåëüíàÿ, òî ëîæíî.  îáùåì âèäå îòíîøåíèå èìååò ñëåäóþùóþ ñòðóêòóðó: <âûðàæåíèå 1> <çíàê îòíîøåíèÿ> <âûðàæåíèå 2> Çäåñü âûðàæåíèÿ 1 è 2 — íåêîòîðûå ìàòåìàòè÷åñêèå âûðàæåíèÿ, ïðèíèìàþùèå ÷èñëîâûå çíà÷åíèÿ.  ÷àñòíîì ñëó÷àå âûðàæåíèå ìîæåò ïðåäñòàâëÿòü ñîáîé îäíó êîíñòàíòó èëè îäíó ïåðåìåííóþ âåëè÷èíó. Çíàêè îòíîøåíèé ìîãóò áûòü ñëåäóþùèìè: = ðàâíî ¹ íå ðàâíî ³ áîëüøå èëè ðàâíî £ ìåíüøå èëè ðàâíî > áîëüøå < ìåíüøå Íàïðèìåð: x = 5; a + b ¹ x – 1; b2 – 4ac ³ 0; sin(x) < x/2. Èòàê, îòíîøåíèå — ýòî ïðîñòîå âûñêàçûâàíèå, à çíà÷èò, ëîãè÷åñêàÿ âåëè÷èíà. Îíî ìîæåò áûòü êàê ïîñòîÿííîé âåëè÷èíîé: 5 > 0 — âñåãäà ÈÑÒÈÍÀ, 3 ¹ 6:2 — âñåãäà ËÎÆÜ; òàê è ïåðåìåííîé: a < b, x + 1 = c – d.


120

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Îòíîøåíèå ìîæíî ðàññìàòðèâàòü êàê ëîãè÷åñêóþ ôóíêöèþ îò ÷èñëîâûõ àðãóìåíòîâ. Íàïðèìåð: F(x) = (x > 0) èëè P(x, y) = (x < y). Àðãóìåíòû îïðåäåëåíû íà áåñêîíå÷íîì ìíîæåñòâå äåéñòâèòåëüíûõ ÷èñåë, à çíà÷åíèÿ ôóíêöèè — íà ìíîæåñòâå, ñîñòîÿùåì èç äâóõ ëîãè÷åñêèõ âåëè÷èí: ÈÑÒÈÍÀ, ËÎÆÜ. Ëîãè÷åñêèå ôóíêöèè îò ÷èñëîâûõ àðãóìåíòîâ åù¸ íàçûâàþò òåðìèíîì «ïðåäèêàò».  àëãîðèòìàõ ïðåäèêàòû èãðàþò ðîëü óñëîâèé, ïî êîòîðûì ñòðîÿòñÿ âåòâëåíèÿ è öèêëû. Ïðåäèêàòû ìîãóò áûòü êàê ïðîñòûìè ëîãè÷åñêèìè ôóíêöèÿìè, íå ñîäåðæàùèìè ëîãè÷åñêèõ îïåðàöèé, òàê è ñëîæíûìè, ñîäåðæàùèìè ëîãè÷åñêèå îïåðàöèè. Ïðèìåð 1. Çàïèñàòü ïðåäèêàò (ëîãè÷åñêóþ ôóíêöèþ) îò äâóõ âåùåñòâåííûõ àðãóìåíòîâ X è Y, êîòîðûé áóäåò ïðèíèìàòü çíà÷åíèå ÈÑÒÈÍÀ, åñëè òî÷êà ñ êîîðäèíàòàìè X è Y íà êîîðäèíàòíîé ïëîñêîñòè ëåæèò âíóòðè åäèíè÷íîé îêðóæíîñòè ñ öåíòðîì â íà÷àëå êîîðäèíàò (ðèñ. 1.22).

Ðèñ. 1.22

Èç ãåîìåòðè÷åñêèõ ñîîáðàæåíèé ïîíÿòíî, ÷òî äëÿ âñåõ òî÷åê, ëåæàùèõ âíóòðè åäèíè÷íîé îêðóæíîñòè, áóäåò èñòèííûì çíà÷åíèå ñëåäóþùåé ëîãè÷åñêîé ôóíêöèè: F(X,Y) = (X2 + Y2 < 1). Äëÿ çíà÷åíèé êîîðäèíàò òî÷åê, ëåæàùèõ íà îêðóæíîñòè è âíå åå, çíà÷åíèÿ ôóíêöèè F áóäåò ëîæíûì. Ïðèìåð 2. Çàïèñàòü ïðåäèêàò, êîòîðûé áóäåò ïðèíèìàòü çíà÷åíèå ÈÑÒÈÍÀ, åñëè òî÷êà ñ êîîðäèíàòàìè X è Y íà êîîðäèíàòíîé ïëîñêîñòè ëåæèò âíóòðè êîëüöà ñ öåíòðîì â íà÷àëå êîîðäèíàò, è ðàäèóñàìè R1 è R2. Ïîñêîëüêó çíà÷åíèÿ R1 è R2 – ïåðåìåííûå âåëè÷èíû, òî èñêîìàÿ ëîãè÷åñêàÿ ôóíêöèÿ áóäåò èìåòü ÷åòûðå àðãóìåíòà: X, Y, R1, R2. Âîçìîæíû äâå ñèòóàöèè: 1) R1 < X2 + Y2 < R2 è R1 < R2: R1 — âíóòðåííèé ðàäèóñ, R2 — âíåøíèé ðàäèóñ; 2) R2 < X2 + Y2 < R1 è R2 < R1: R2 — âíóòðåííèé ðàäèóñ, R1 — âíåøíèé ðàäèóñ.


1.6.5. Ëîãè÷åñêèå ôóíêöèè íà îáëàñòè ÷èñëîâûõ çíà÷åíèé

121

Îáúåäèíèâ äèçúþíêöèåé îáà ýòèõ óòâåðæäåíèÿ è çàïèñàâ èõ ïî ïðàâèëàì àëãåáðû ëîãèêè, ïîëó÷èì ñëåäóþùóþ ëîãè÷åñêóþ ôóíêöèþ: F(X, Y, R1, R2) = (((X2 + Y2) > R12) & ((X2 + Y2) < R22) & R1<R2) Ú Ú (((X2 + Y2) > R22) & ((X2 + Y2 ) < R12) & R2 < R1). Ïðèìåð 3. Çàïèñàòü ïðåäèêàò, êîòîðûé áóäåò ïðèíèìàòü çíà÷åíèå ÈÑÒÈÍÀ, åñëè òî÷êà ñ êîîðäèíàòàìè X è Y íà êîîðäèíàòíîé ïëîñêîñòè ëåæèò âíóòðè ôèãóðû, îãðàíè÷åííîé æèðíûìè ëèíèÿìè íà ðèñ.1.23.

Ðèñ. 1.23

Ôèãóðà îãðàíè÷åíà òðåìÿ ãðàíèöàìè, îïèñûâàåìûìè óðàâíåíèÿìè: y = –x — ëåâàÿ ãðàíèöà, ëèíåéíàÿ ôóíêöèÿ; y = 1 — âåðõíÿÿ ãðàíèöà, êîíñòàíòà; y = x2 — ïðàâàÿ ãðàíèöà, ïàðàáîëà. Ðàññìàòðèâàåìàÿ îáëàñòü åñòü ïåðåñå÷åíèå òðåõ ïîëóïëîñêîñòåé, îïèñûâàåìûõ íåðàâåíñòâàìè: ìy > -x; ï íy < 1; ïy > x2 . î Âî âíóòðåííèõ òî÷êàõ îáëàñòè âñå ýòè òðè îòíîøåíèÿ ÿâëÿþòñÿ îäíîâðåìåííî èñòèííûìè. Ïîýòîìó èñêîìûé ïðåäèêàò èìååò âèä: F(X, Y) = (Y > –X) & (X < 1) & (Y > X2). Ó÷èìñÿ ïðîãðàììèðîâàòü (Èñïîëüçîâàíèå äàò÷èêà ñëó÷àéíûõ ÷èñåë)

Ñîñòàâèì ïðîãðàììó íà Ïàñêàëå, ïî êîòîðîé áóäåò ïðèáëèæ¸ííî âû÷èñëåíà ïëîùàäü ôèãóðû, èçîáðàæ¸ííîé íà ðèñ. 1.23. Ìåòîä, ñ ïîìîùüþ êîòîðîãî áóäåì ðåøàòü ýòó çàäà÷ó, íàçûâàåòñÿ ìåòîäîì ñòàòèñòè÷åñêèõ èñïûòàíèé èëè ìåòîäîì Ìîíòå-Êàðëî.


122

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Ðàññìîòðèì ïðÿìîóãîëüíèê ñî ñòîðîíàìè, îïèñûâàåìûìè óðàâíåíèÿìè: y = 0, x = –1, y = 1, x = 1. Ýòîò ïðÿìîóãîëüíèê ñîäåðæèò âíóòðè ñåáÿ èññëåäóåìóþ íàìè îáëàñòü. Ïëîùàäü ïðÿìîóãîëüíèêà ðàâíà 2. Ïîñëåäîâàòåëüíî ñëó÷àéíûì îáðàçîì âûáèðàþòñÿ òî÷êè, ëåæàùèå âíóòðè ïðÿìîóãîëüíèêà. Äåëàåòñÿ ýòî òàê, ÷òîáû ïðè áîëüøîì ÷èñëå òî÷åê îíè áûëè ðàâíîìåðíî ðàçáðîñàíû ïî ïðÿìîóãîëüíèêó.  òåîðèè âåðîÿòíîñòåé ýòî íàçûâàåòñÿ çàêîíîì ðàâíîìåðíîãî ðàñïðåäåëåíèÿ âåðîÿòíîñòè ïî îáëàñòè çíà÷åíèé. Äëÿ ýòîé öåëè â Ïàñêàëå ñóùåñòâóåò ñòàíäàðòíàÿ ôóíêöèÿ, êîòîðàÿ íàçûâàåòñÿ äàò÷èêîì ñëó÷àéíûõ ÷èñåë. Âûáîð îäíîé ñëó÷àéíîé òî÷êè íàçûâàåòñÿ èñïûòàíèåì. Ïóñòü ÷èñëî èñïûòàíèé N — áîëüøàÿ âåëè÷èíà. Ïóñòü m òî÷åê èç ýòîãî ÷èñëà ïîïàëè â âûäåëåííóþ îáëàñòü, ïëîùàäü êîòîðîé ìû õîòèì óçíàòü. Íåòðóäíî ïîm íÿòü, ÷òî ïëîùàäü ôèãóðû ïðèáëèçèòåëüíî áóäåò ñîñòàâëÿòü -þ ÷àñòü îò N ïëîùàäè ïðÿìîóãîëüíèêà, êîòîðàÿ ðàâíà äâóì. È ÷åì áîëüøå ÷èñëî èñïûm òàíèé N, òåì âåëè÷èíà 2 áóäåò âñå áëèæå ê òî÷íîìó çíà÷åíèþ ïëîùàäè N ôèãóðû. Ê òî÷íîìó çíà÷åíèþ ïëîùàäè ýòà âåëè÷èíà áóäåò ñòðåìèòüñÿ ïðè N, ñòðåìÿùåìñÿ ê áåñêîíå÷íîñòè. Ñëåäóþùàÿ ïðîãðàììà íà Ïàñêàëå ðåàëèçóåò ïðèìåíåíèå ìåòîäà Ìîíòå-Êàðëî äëÿ âû÷èñëåíèÿ ôèãóðû, ïðåäñòàâëåííîé íà ðèñ. 1.23. Program Monte_Karlo; var X,Y,S: real; N,m,i: longint; begin write('N='); readln(N); {Ââîä ÷èñëà èñïûòàíèé} Randomize; {Ñëó÷àéíîå íà÷àëüíîå ñîñòîÿíèå äàò÷èêà} m:=0; for i:=1 to N do {Öèêë ïîâòîðåíèÿ èñïûòàíèé} begin {Âû÷èñëåíèå ñëó÷àéíûõ êîîðäèíàò òî÷êè} X:=2*random-1; Y:=random; {Ïðåäèêàò ïîïàäàíèÿ âíóòðü ôèãóðû} if ((Y>-X) and (Y<1) and (Y>X*X)) then m:=m+1 {Ïîäñ÷¸ò ÷èñëà ïîïàäàíèé} end; S:=2*m/N; {Âû÷èñëåíèå ïëîùàäè} writeln('S=', S) {Âûâîä ðåçóëüòàòà} end.

Ïðîâåäåì òðè âû÷èñëèòåëüíûõ ýêñïåðèìåíòà, ïîñëåäîâàòåëüíî óâåëè÷èâàÿ ÷èñëî èñïûòàíèé.  ðåçóëüòàòå áóäóò ïîëó÷åíû ñëåäóþùèå çíà÷åíèÿ: 1)

N=100000 S=1.16738

— ââîäèìàÿ âåëè÷èíà; — âû÷èñëåííàÿ ïëîùàäü.


1.6.5. Ëîãè÷åñêèå ôóíêöèè íà îáëàñòè ÷èñëîâûõ çíà÷åíèé

2) 3)

N=1000000 S=1.16662 N=10000000 S=1.1666186

123

— ââîäèìàÿ âåëè÷èíà; — âû÷èñëåííàÿ ïëîùàäü. — ââîäèìàÿ âåëè÷èíà; — âû÷èñëåííàÿ ïëîùàäü.

Ñ òî÷íîñòüþ äî 10–4, ïëîùàäü ôèãóðû ðàâíà 1.1666. Îáñóäèì íåêîòîðûå äåòàëè òåêñòà ïðîãðàììû. Òèï äàííûõ longint — äëèííîå öåëîå ÷èñëî. Âåëè÷èíà òàêîãî òèïà çàíèìàåò â ïàìÿòè êîìïüþòåðà 4 áàéòà (âìåñòî äâóõ äëÿ òèïà integer). Äèàïàçîí çíà÷åíèé âåëè÷èí òèïà longint: îò –2147483648 äî 2147483647. Ïîëó÷åíèå ñëó÷àéíîãî çíà÷åíèÿ îáåñïå÷èâàåò ôóíêöèÿ random. Îíà ìîæåò çàïèñûâàòüñÿ áåç àðãóìåíòà (áåç ñêîáîê).  òàêîì ñëó÷àå ðåçóëüòàò ýòîé ôóíêöèè — âåùåñòâåííîå ÷èñëî â äèàïàçîíå çíà÷åíèé îò 0 äî 1. Òàêèå çíà÷åíèÿ â íàøåé ïðîãðàììå ïðèíèìàåò ïåðåìåííàÿ Y. Ïåðåìåííàÿ X âû÷èñëÿåòñÿ îïåðàòîðîì X:=2*random-1. Ÿ çíà÷åíèÿ áóäóò ïðèíàäëåæàòü äèàïàçîíó îò –1 äî 1, ÷òî è òðåáóåòñÿ ïî óñëîâèþ çàäà÷è. Randomize — ýòî ñòàíäàðòíàÿ ïðîöåäóðà, êîòîðàÿ óñòàíàâëèâàåò ñëó÷àéíîå íà÷àëüíîå ñîñòîÿíèå ôóíêöèè random. Òîãäà ïðè êàæäîì íîâîì çàïóñêå ïðîãðàììû ôóíêöèÿ random áóäåò ãåíåðèðîâàòü äðóãèå ñëó÷àéíûå ïîñëåäîâàòåëüíîñòè ÷èñåë. Äëÿ ïðàâèëüíîé çàïèñè ñëîæíîãî ëîãè÷åñêîãî âûðàæåíèÿ (ïðåäèêàòà) íóæíî ó÷èòûâàòü îòíîñèòåëüíûå ïðèîðèòåòû (ñòàðøèíñòâî) àðèôìåòè÷åñêèõ, ëîãè÷åñêèõ îïåðàöèé è îïåðàöèé îòíîøåíèé, ïîñêîëüêó âñå îíè ìîãóò ïðèñóòñòâîâàòü â ëîãè÷åñêîì âûðàæåíèè. Ïî óáûâàíèþ ïðèîðèòåòîâ îïåðàöèè ðàñïîëàãàþòñÿ â ñëåäóþùåì ïîðÿäêå: 1.

Àðèôìåòè÷åñêèå îïåðàöèè: – (ìèíóñ óíàðíûé) *, / +, –

2.

Ëîãè÷åñêèå îïåðàöèè: Not And Or, Xor

3.

Îïåðàöèè îòíîøåíèÿ: =, /=, >, <, >=, <=

Îáðàòèòå âíèìàíèå, ÷òî â ëîãè÷åñêîì âûðàæåíèè â îïåðàòîðå if ((Y>-X) and (Y<1) and (Y>X*X)) îïåðàöèè îòíîøåíèÿ çàêëþ÷åíû â ñêîáêè, ïîñêîëüêó îíè ìëàäøå ëîãè÷åñêèõ îïåðàöèé, à âûïîëíÿòüñÿ äîëæíû ðàíüøå.


124

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Ñèñòåìà îñíîâíûõ ïîíÿòèé Ëîãè÷åñêèå ôóíêöèè íà îáëàñòè ÷èñëîâûõ çíà÷åíèé Îòíîøåíèÿ ìåæäó âåëè÷èíàìè:

ìàòåìàòè÷åñêèå íåðàâåíñòâà; ðåçóëüòàò âû÷èñëåíèÿ — ëîãè÷åñêàÿ âåëè÷èíà

Ïðåäèêàò:

ëîãè÷åñêàÿ ôóíêöèÿ, ñîäåðæàùàÿ ÷èñëîâûå àðãóìåíòû è îïåðàöèè îòíîøåíèÿ; îïðåäåëÿåò ïðèíàäëåæíîñòü çíà÷åíèé àðãóìåíòîâ íåêîòîðîìó ìíîæåñòâó

Äàò÷èê ñëó÷àéíûõ ÷èñåë:

ñòàíäàðòíàÿ ôóíêöèÿ â ÿçûêå ïðîãðàììèðîâàíèÿ, âû÷èñëÿþùàÿ ñëó÷àéíûå çíà÷åíèÿ ÷èñëà â íåêîòîðîì îãðàíè÷åííîì äèàïàçîíå, â ñîîòâåòñòâèè ñ íåêîòîðûì çàêîíîì ðàñïðåäåëåíèÿ âåðîÿòíîñòè

Ôóíêöèÿ random â Ïàñêàëå:

âîçâðàùàåò ñëó÷àéíîå ÷èñëî èç èíòåðâàëà îò 0 äî 1 ñ ðàâíîìåðíûì çàêîíîì ðàñïðåäåëåíèÿ âåðîÿòíîñòè

Âîïðîñû è çàäàíèÿ 1. Âåëè÷èíà êàêîãî òèïà ïîëó÷àåòñÿ ïðè âû÷èñëåíèè îòíîøåíèÿ (íåðàâåíñòâà) ìåæäó ÷èñëàìè? 2. ×òî òàêîå ïðåäèêàò? Ïðèâåäèòå ïðèìåðû. 3. Çàïèøèòå íà ÿçûêå àëãåáðû ëîãèêè ëîãè÷åñêèå ôóíêöèè, êîòîðûå áóäóò ïðèíèìàòü çíà÷åíèå ÈÑÒÈÍÀ, åñëè ñïðàâåäëèâû ñëåäóþùèå óòâåðæäåíèÿ, è ËÎÆÜ — â ïðîòèâíîì ñëó÷àå: à) âñå ÷èñëà X, Y, Z ðàâíû ìåæäó ñîáîé; á) èç ÷èñåë X, Y, Z òîëüêî äâà ðàâíû ìåæäó ñîáîé; â) êàæäîå èç ÷èñåë X, Y, Z ïîëîæèòåëüíî; ã) òîëüêî îäíî èç ÷èñåë X, Y, Z ïîë��æèòåëüíî; ä) çíà÷åíèÿ ÷èñåë X, Y, Z óïîðÿäî÷åíû ïî âîçðàñòàíèþ. 4. Âñå ôîðìóëû, ïîëó÷åííûå ïðè ðåøåíèè ïðåäûäóùåé çàäà÷è, çàïèøèòå â âèäå ëîãè÷åñêèõ âûðàæåíèé íà Ïàñêàëå. þ 5. Âû÷èñëèòå çíà÷åíèÿ ñëåäóþùèõ ëîãè÷åñêèõ âûðàæåíèé, çàïèñàííûõ íà Ïàñêàëå: à) K mod 7 = K div 5 –1 ïðè K = 15; á) odd(trunc(10*P)) ïðè P = 0.182; â) not odd(n) ïðè n = 0; ã) t and (P mod 3 = 0) ïðè t = true, P = 10101; ä) (x * y 0) and (y > x) ïðè x = 2, y = 1; e) a or not b ïðè a = false, b = true. Ïîÿñíåíèÿ: odd(x) — ëîãè÷åñêàÿ ôóíêöèÿ îïðåäåëåíèÿ ÷¸òíîñòè àðãóìåíòà. Ðàâíà true, åñëè x — íå÷¸òíîå è ðàâíà false, åñëè x — ÷¸òíîå. Trunc(x) — öåëàÿ ôóíêöèÿ îò âåùåñòâåííîãî àðãóìåíòà, âîçâðàùàþùàÿ áëèæàéøåå öåëîå ÷èñëî, íå ïðåâûøàþùåå x ïî ìîäóëþ.

Êîìïüþòåðíûé ïðàêòèêóì. Ðàçäåë «Ïðîãðàììèðîâàíèå»


1.7.1. Îïðåäåëåíèå, ñâîéñòâà è îïèñàíèå àëãîðèòìà

125

1.7. Àëãîðèòìû îáðàáîòêè èíôîðìàöèè 1.7.1

Îïðåäåëåíèå, ñâîéñòâà è îïèñàíèå àëãîðèòìà

Îïðåäåëåíèå è ñâîéñòâà àëãîðèòìà  ýòîì ðàçäåëå ñíîâà âåðí¸ìñÿ ê òåìå àëãîðèòìîâ, íî îáñóäèì å¸ áîëåå äåòàëüíî. Êðàòêî ïîâòîðèì òî, ÷òî ðàññêàçûâàëîñü ïðî àëãîðèòìû â êóðñå èíôîðìàòèêè äëÿ 8–9 êëàññîâ. Àëãîðèòì — ïîíÿòíîå è òî÷íîå ïðåäïèñàíèå èñïîëíèòåëþ âûïîëíèòü êîíå÷íóþ ïîñëåäîâàòåëüíîñòü äåéñòâèé, ïðèâîäÿùèõ îò èñõîäíûõ äàííûõ ê èñêîìîìó ðåçóëüòàòó. Êëþ÷åâîå ïîíÿòèå â ýòîì îïðåäåëåíèè — èñïîëíèòåëü àëãîðèòìîâ.  ï. 1.5.4 ïîíÿòèå «èñïîëíèòåëü àëãîðèòìîâ» áûëî èñïîëüçîâàíî êàê ñèíîíèì ïîíÿòèÿ «èñïîëíèòåëü îáðàáîòêè èíôîðìàöèè». Çäåñü è â äàëüíåéøåå ìû áóäåì ãîâîðèòü òîëüêî îá àëãîðèòìàõ îáðàáîòêè èíôîðìàöèè, íå ïðèíèìàÿ â ðàñ÷¸ò äðóãèå òðàêòîâêè ïîíÿòèÿ «àëãîðèòì» (íàïðèìåð, àëãîðèòìû ðàáîòû ñâåòîôîðà èëè ñòèðàëüíîé ìàøèíû). Äîãîâîðèìñÿ òàêæå î òîì, ÷òî áóäåì ðàññìàòðèâàòü òîëüêî ïðîãðàììíî óïðàâëÿåìûõ èñïîëíèòåëåé — àëãîðèòìè÷åñêèå ìàøèíû. Âîçìîæíîñòè èñïîëíèòåëÿ îïðåäåëÿ- Ïðèìåð íàðóøåíèÿ ïîíÿòíîñòè þòñÿ åãî ñèñòåìîé êîìàíä — ÑÊÈ (Ñèñòå-  ïðîãðàììå íà Ïàñêàëå çàïèñàí ìà Êîìàíä Èñïîëíèòåëÿ). Ýòî êîíå÷íîå îïåðàòîð: ìíîæåñòâî êîìàíä-èíñòðóêöèé, êîòîðûå D:=b^2 – 4*a*c; èñïîëíèòåëü ïîíèìàåò, ò. å. óìååò âû- Ïðîãðàììèñò èìåë â âèäó, ÷òî ïîëíÿòü. Ñâîéñòâî ïîíÿòíîñòè àëãîðèò- çíà÷îê ^ îáîçíà÷àåò âîçâåäåíèå â ìà ñîñòîèò â òîì, ÷òî â àëãîðèòìå äîëæíû ñòåïåíü. Íî òàêîé îïåðàöèè (êîèñïîëüçîâàòüñÿ òîëüêî êîìàíäû èç ÑÊÈ. ìàíäû) â Ïàñêàëå íåò. Ïðîãðàììà íå ìîæåò áûòü âûïîëíåíà.

Èëëþñòðàöèÿ äèñêðåòíîñòè Ôðàãìåíò àëãîðèòìà: X:=1; X:=X+1; Y:=X-2; Êàæäàÿ ñëåäóþùàÿ êîìàíäà èñïîëüçóåò ðåçóëüòàò âûïîëíåíèÿ ïðåäûäóùåé êîìàíäû, ïîýòîìó ìîæåò áûòü âûïîëíåíà òîëüêî ïîñëå åå çàâåðøåíèÿ.

Äðóãîå ñâîéñòâî àëãîðèòìà — äèñêðåòíîñòü îçíà÷àåò, ÷òî êàæäàÿ êîìàíäà àëãîðèòìà äîëæíà âûïîëíÿòüñÿ îòäåëüíî îò äðóãèõ: âûïîëíåíèå äîëæíî íà÷àòüñÿ ïîñëå îêîí÷àíèÿ ïðåäûäóùåé êîìàíäû è çàêîí÷èòñÿ äî íà÷àëà âûïîëíåíèÿ ñëåäóþùåé êîìàíäû. Çàìåòèì, ÷òî äàííàÿ ôîðìóëèðîâêà äèñêðåòíîñòè ïîäðàçóìåâàåò


126

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

èñïîëüçîâàíèå îäíîïðîöåññîðíîãî èñïîëíèòåëÿ. Ýòîò âîïðîñ ïîäðîáíåå áóäåò îáñóæäàòüñÿ â ðàçäåëå, ïîñâÿù¸ííîì àðõèòåêòóðå êîìïüþòåðà è ìíîãîïðîöåññîðíûì âû÷èñëèòåëüíûì ñèñòåìàì. Ñêàæåì òîëüêî, ÷òî â ìíîãîïðîöåññîðíûõ ñèñòåìàõ ïðîèñõîäèò ðàñïàðàëëåëèâàíèå âûïîëíåíèÿ àëãîðèòìà, êîãäà íåñêîëüêî êîìàíä ìîãóò âûïîëíÿòüñÿ îäíîâðåìåííî ðàçíûìè ïðîöåññîðàìè. Áóäåì ðàçëè÷àòü ïîíÿòèÿ «êîìàíäà àëãîðèòìà» è «øàã» èëè «äåéñòâèå» èñïîëíèòåëÿ. Øàã — ýòî äåéñòâèå, ïðåäïðèíèìàåìîå èñïîëíèòåëåì ïî êîìàíäå àëãîðèòìà. Åñëè àëãîðèòì ñîäåðæèò öèêëû, òî ÷èñëî øàãîâ ïðè åãî âûïîëíåíèè ìîæåò áûòü áîëüøèì, ÷åì ÷èñëî êîìàíä. À çà ñ÷¸ò âûïîëíåíèÿ âåòâëåíèé ÷èñëî øàãîâ ìîæåò îêàçàòüñÿ ìåíüøèì, ÷åì ÷èñëî êîìàíä. Ñâîéñòâî êîíå÷íîñòè àëãîðèòìà Ïðèìåð íàðóøåíèÿ êîíå÷íîñòè çàêëþ÷åíî â äàííîì âûøå îïðåäåëåÔðàãìåíòû ïðîãðàììû íà Ïàñêàëå: íèè: ðåçóëüòàò äîëæåí áûòü ïîëóReal S, k; ÷åí çà êîíå÷íîå ÷èñëî øàãîâ âûïîëS:=0; k:=1; íåíèÿ àëãîðèòìà. Ýòî ñâîéñòâî íàWhile k<100 do S:=S+k; çûâàþò òàêæå ðåçóëüòàòèâíîñòüþ. Ýòî áåñêîíå÷íûé öèêë, ïîñêîëüêó çíàÑâîéñòâî òî÷íîñòè àëãîðèòìà ÷åíèå k íå èçìåíÿåòñÿ. Êîìïüþòåð îçíà÷àåò, ÷òî êàæäàÿ êîìàíäà ïðåðâ¸ò âûïîëíåíèå ïðîãðàììû, êîãäîëæíà îïðåäåëÿòü îäíîçíà÷íîå äà çíà÷åíèå S âûéäåò èç äîïóñòèìîãî äåéñòâèå èñïîëíèòåëÿ, íå òðåáóÿ îò äèàïàçîíà äëÿ âåùåñòâåííûõ ÷èñåë. íåãî ïðèíÿòèÿ «ñàìîñòîÿòåëüíûõ» ðåøåíèé. Íàïðèìåð, åñëè êîìàíäà ñîäåðæèò ÷èñëîâîé ïàðàìåòð, òî çíà÷åíèå ýòîãî ïàðàìåòðà äîëæíî áûòü îïðåäåëåíî äî âûïîëíåíèÿ ýòîé êîìàíäû. Åñëè àëãîðèòì îáëàäàåò âñåìè íàçâàííûìè ñâîéñòâàìè, òî åãî èñïîëíåíèå áóäåò ïðîèñõîäèòü ôîðìàëüíî, ÷òî íåîáõîäèìî äëÿ ñîçäàíèÿ àâòîìàòè÷åñêîãî èñïîëíèòåëÿ — àëãîðèòìè÷åñêîé ìàøèíû. Ñâîéñòâà ïîíÿòíîñòè, äèñêðåòíîñòè, êîíå÷íîñòè, òî÷íîñòè ÿâëÿþòñÿ íåîáõîäèìûìè äëÿ ëþáîãî àëãîðèòìà. Îäíàêî ÷àñòî ê íèì äîáàâëÿþò åù¸ îäíî ñâîéñòâî — ìàññîâîñòü. Ìàññîâîñòü îçíà÷àåò òî, ÷òî àëãîðèòì äîëæåí áûòü ïðåäíàçíà÷åí äëÿ ðåøåíèÿ íå îäíîé ÷àñòíîé çàäà÷è, à íåêîòîðîãî êëàññà çàäà÷. Íàïðèìåð, àëãîðèòì äîëæåí ðåøàòü íå òîëüêî êâàäðàòíîå óðàâíåíèå: 3x2 – 5x + 1 = 0, íî è ëþáûå êâàäðàòíûå óðàâíåíèÿ âèäà ax2 + bx + c = 0. Ñâîéñòâî ìàññîâîñòè íå ÿâëÿåòñÿ íåîáõîäèìûì ñâîéñòâîì àëãîðèòìà, îíî îïðåäåëÿåò åãî êà÷åñòâî. Áåçóñëîâíî, àëãîðèòì, ðåøàþùèé ëþáîå êâàäðàòíîå óðàâíåíèå, ëó÷øå, ïîëåçíåå, ÷åì òîò, ÷òî ðåøàåò îäíî êîíêðåòíîå óðàâíåíèå. Íî îò ýòîãî ïîñëåäíèé íå ïåðåñòàåò áûòü àëãîðèòìîì. Îí ëèøü íå îáëàäàåò ñâîéñòâîì ìàññîâîñòè. Âìåñòî ïîíÿòèÿ «ìàññîâîñòü» áóäåì â äàëüíåéøåì óïîòðåáëÿòü ïîíÿòèå «óíèâåðñàëüíîñòü àëãîðèòìà ïî îòíîøåíèþ ê èñõîäíûì äàííûì». Ñìûñë åãî ñëåäóþùèé: ïðè ëþáûõ çíà÷åíèÿõ èñõîäíûõ äàííûõ àëãîðèòì äîëæåí ïðàâèëüíî âûïîëíÿòüñÿ è íå äîëæåí àâàðèéíî çàâåðøàòü ñâîå âûïîëíåíèå. Ïîä àâàðèéíûì çàâåðøåíèåì ïîíèìàåòñÿ òàêàÿ ñèòóàöèÿ, êîãäà èñïîëíèòåëü íå ìîæåò âûïîëíèòü êàêóþ-òî èç êîìàíä àëãîðèò-


1.7.1. Îïðåäåëåíèå, ñâîéñòâà è îïèñàíèå àëãîðèòìà

127

ìà. Íàïðèìåð, âûïîëíèòü äåëåíèå íà íîëü èëè âû÷èñëèòü êâàäðàòíûé êîðåíü èç îòðèöàòåëüíîãî ÷èñëà. Èñïîëíèòåëüíûå ñèñòåìû íà êîìïüþòåðå îáû÷íî â òàêèõ ñëó÷àÿõ âûâîäÿò íà ýêðàí ñîîáùåíèå «run time error» — îøèáêà âî âðåìÿ èñïîëíåíèÿ. Âûïîëíåíèå óíèâåðñàëüíîãî àëãîðèòìà âñåãäà äîëæíî çàâåðøàòüñÿ ïóòåì, ïðåäóñìîòðåííûì ïðîãðàììîé. Âîçìîæíûå îøèáêè âî âðåìÿ èñïîëíåíèÿ äîëæíû äèàãíîñòèðîâàòüñÿ ïðîãðàììîé è ñîîáùåíèÿ î íèõ äîëæíû âûâîäèòüñÿ íà ýêðàí. Àëãîðèòì ðåøåíèÿ êâàäðàòíîãî óðàâíåíèÿ ax2 + bx + c = 0 äîëæåí ïðàâèëüíî ðåàãèðîâàòü íà ëþáûå çíà÷åíèÿ a, b, c è â ëþáîì ñëó÷àå ÷òî-òî âûâîäèòü: ëèáî êîðíè óðàâíåíèÿ, ëèáî ñîîáùåíèå î íåâîçìîæíîñòè âû÷èñëåíèÿ êîðíåé. Ïîñòðîåíèå òàêîãî àëãîðèòìà òðåáóåò ïðåäâàðèòåëüíîãî ìàòåìàòè÷åñêîãî èññëåäîâàíèÿ ðåøàåìîé çàäà÷è. Ñïîñîáû îïèñàíèÿ àëãîðèòìîâ Ñóùåñòâóþò ðàçëè÷íûå ñïîñîáû îïèñàíèÿ àëãîðèòìîâ.  êóðñå èíôîðìàòèêè äëÿ 8–9 êëàññîâ âû ïîçíàêîìèëèñü ñ áëîê-ñõåìàìè àëãîðèòìîâ è ñ ó÷åáíûì Àëãîðèòìè÷åñêèì ÿçûêîì (Àß). Îäíàêî áëîê-ñõåìà èëè àëãîðèòì íà Àß íå ÿâëÿþòñÿ ïðîãðàììàìè äëÿ êîìïüþòåðà. Ýòî ëèøü ìîäåëè ïðîãðàììû, êîòîðûå ñòðîÿòñÿ äî å¸ ñîñòàâëåíèÿ. ×àùå âñåãî îíè èñïîëüçóþòñÿ â ó÷åáíûõ öåëÿõ. À îïûòíûå ïðîãðàììèñòû ïèøóò ñðàçó ïðîãðàììó íà ÿçûêå ïðîãðàììèðîâàíèÿ. Ñóùåñòâóþò ðàçíûå ÿçûêè ïðîãðàììèðîâàíèÿ, ðåàëèçóþùèå ðàçíûå ñïîñîáû ïðîãðàììèðîâàíèÿ.  1960 ãîäàõ âîçíèêàåò è ðàçâèâàåòñÿ ñòðóêòóðíàÿ ìåòîäèêà ïðîãðàììèðîâàíèÿ, îñíîâàííàÿ íà ïîëîæåíèè î òîì, ÷òî ëþáîé àëãîðèòì îáðàáîòêè èíôîðìàöèè ìîæíî ïîñòðîèòü, èñïîëüçóÿ òðè àëãîðèòìè÷åñêèå ñòðóêòóðû: ñëåäîâàíèå, âåòâëåíèå, öèêë. Îðèåíòèðîâàííûå íà ñòðóêòóðíóþ ìåòîäèêó ïðîãðàììèðîâàíèÿ àëãîðèòìû, çàïèñàííûå â ôîðìå áëîê-ñõåì è íà Àß, òàêæå äîëæíû èçîáðàæàòüñÿ ïî îïðåäåë¸ííûì ïðàâèëàì, ïîçâîëÿþùèì íàãëÿäíî îòîáðàçèòü ñòðóêòóðó àëãîðèòìà. Îñíîâíîå ïðàâèëî äëÿ áëîê-ñõåì: ñòàíäàðòíîå èçîáðàæåíèå îòäåëüíûõ áëîêîâ è áàçîâûõ àëãîðèòìè÷åñêèõ ñòðóêòóð.  àëãîðèòìàõ íà Àß ñëåäóåò ñîáëþäàòü ñäâèãè ñòðîê äëÿ íàãëÿäíîãî îòîáðàæåíèÿ ñòðóêòóðû àëãîðèòìà òàê æå, êàê ýòî ïðèíÿòî äåëàòü â ñòðóêòóðíûõ ÿçûêàõ ïðîãðàììèðîâàíèÿ. Ïîñêîëüêó áëîê-ñõåìû è Àß íå ÿâëÿþòñÿ ÿçûêàìè ïðîãðàììèðîâàíèÿ, òî â íèõ íåò ñòðîãèõ ñèíòàêñè÷åñêèõ ïðàâèë, òàê êàê íåò ôîðìàëüíîãî èñïîëíèòåëÿ ýòèõ àëãîðèòìîâ. Äîñòàòî÷íî, ÷òîáû ÷åëîâåê (÷àùå âñåãî ó÷åíèê) ïîíÿë ñìûñë è ñòðóêòóðó àëãîðèòìà äëÿ òîãî, ÷òîáû çàòåì ñîñòàâèòü ïðîãðàììó, ñîáëþäàÿ ñòðîãèå ïðàâèëà ÿçûêà ïðîãðàììèðîâàíèÿ.  òàáë. 1.16 ïðèâåäåíû ïðèìåðû îïèñàíèÿ ðàçëè÷íûõ àëãîðèòìè÷åñêèõ ñòðóêòóð íà ÿçûêå áëîê-ñõåì, íà ó÷åáíîì Àëãîðèòìè÷åñêîì ÿçûêå è íà ÿçûêå ïðîãðàììèðîâàíèÿ Ïàñêàëü.  àëãîðèòìàõ íà Àß èñïîëüçîâàíû ñîêðàùåíèÿ: íö — íà÷àëî öèêëà, êö — êîíåö öèêëà, êâ — êîíåö âåòâëåíèÿ. Äëÿ èëëþñòðàöèè öèêëè÷åñêèõ ñòðóêòóð èñïîëüçóåòñÿ çàäà÷à âû÷èñëåíèÿ ôàêòîðèàëà öåëîãî ïîëîæèòåëüíîãî ÷èñëà.


128

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Òàáëèöà 1.16. Ðàçëè÷íûå ñïîñîáû îïèñàíèÿ àëãîðèòìîâ ßçûê áëîê-ñõåì

Ó÷åáíûé Àëãîðèòìè÷åñêèé ÿçûê

ßçûê ïðîãðàììèðîâàíèÿ Ïàñêàëü

Ñëåäîâàíèå Ââîä a, b, c 2 d:=b –4ac

Writeln(a,b,c); d:=b*b-4*a*c;

Âåòâëåíèå Åñëè d ³ 0 òî -b + d x1 := 2a -b - d x2 := 2a èíà÷å âûâîä 'íåò êîðíåé' êâ

If d>=0 then x1:=(-b+sqrt(d))/2/a; x2:=(-b-sqrt(d))/2/a else writeln(‘íåò êîðíåé’) end;

Öèêë ñ ïðåäóñëîâèåì F:=1; k:=1 Ïîêà k £ N ïîâòîðÿòü íö F:=F·k k:=k+1 êö

F:=1; k:=1; While k<=N do Begin F:=F*k; K:=k+1 End;

Öèêë ñ ïîñòóñëîâèåì F:=1; k:=1 ïîâòîðÿòü F:=F·k k:=k+1 äî k>N

F:=1; k:=1; repeat F:=F*k; K:=k+1 until k>N;

Öèêë ñ ïàðàìåòðîì F:=1 äëÿ k:=1 äî N øàã 1 íö F:=F·k êö

F:=1; For k:=1 to N do F:=F*k;


1.7.1. Îïðåäåëåíèå, ñâîéñòâà è îïèñàíèå àëãîðèòìà

129

Îáðàòèòå âíèìàíèå íà òî, ÷òî äëÿ áëîê-ñõåì è Àß íåò ñòðîãèõ ïðàâèë äëÿ çàïèñè ìàòåìàòè÷åñêèõ âûðàæåíèé èëè ðàññòàíîâêè òî÷åê ñ çàïÿòîé.  òî æå âðåìÿ â Ïàñêàëå âñå ïðàâèëà ñèíòàêñèñà ñòðîãî ñîáëþäàþòñÿ. Áîëåå ïîäðîáíîå çíàêîìñòâî ñî ñòðóêòóðíûì ïðîãðàììèðîâàíèåì, ñ ÿçûêàìè è òåõíîëîãèÿìè ïðîãðàììèðîâàíèÿ ó âàñ ñîñòîèòñÿ ïîçæå, â ðàçäåëå, ïîñâÿùåííîì ïðîãðàììèðîâàíèþ (ó÷åáíèê äëÿ 11 êëàññà). Òåì íå ìåíåå âî âñåõ ïðèìåðàõ ïðîãðàìì, êîòîðûå â íàøåì ó÷åáíèêå ïðèâîäèëèñü ðàíüøå, ñòðîãî ñîáëþäàëèñü ïðèíöèïû ñòðóêòóðíîãî ïðîãðàììèðîâàíèÿ. Òàê ìû áóäåì ïîñòóïàòü è äàëüøå.

Ñèñòåìà îñíîâíûõ ïîíÿòèé Îïðåäåëåíèå, ñâîéñòâà, îïèñàíèå àëãîðèòìà Àëãîðèòì — ïîíÿòíîå è òî÷íîå ïðåäïèñàíèå èñïîëíèòåëþ âûïîëíèòü êîíå÷íóþ ïîñëåäîâàòåëüíîñòü äåéñòâèé, ïðèâîäÿùèõ îò èñõîäíûõ äàííûõ ê èñêîìîìó ðåçóëüòàòó Ñèñòåìà êîìàíä èñïîëíèòåëÿ (ÑÊÈ): êîíå÷íîå ìíîæåñòâî èíñòðóêöèé, êîòîðûå èñïîëíèòåëü óìååò âûïîëíÿòü Ñâîéñòâà àëãîðèòìà Ïîíÿòíîñòü

Äèñêðåòíîñòü

Êîíå÷íîñòü

Òî÷íîñòü

 àëãîðèòìå èñïîëüçóþòñÿ òîëüêî êîìàíäû èç ÑÊÈ

Êàæäûé øàã àëãîðèòìà âûïîëíÿåòñÿ îòäåëüíî îò äðóãèõ

Ðåçóëüòàò ïîëó÷àåòñÿ çà êîíå÷íîå ÷èñëî øàãîâ âûïîëíåíèÿ àëãîðèòìà

Êàæäàÿ êîìàíäà îïðåäåëÿåò îäíîçíà÷íîå äåéñòâèå èñïîëíèòåëÿ

Ìàññîâîñòü àëãîðèòìà: àëãîðèòì ïðåäíàçíà÷åí äëÿ ðåøåíèÿ êëàññà çàäà÷ Óíèâåðñàëüíîñòü àëãîðèòìà ïî îòíîøåíèþ ê èñõîäíûì äàííûì: ïðè ëþáûõ çíà÷åíèÿõ èñõîäíûõ äàííûõ àëãîðèòì äîëæåí ïðàâèëüíî âûïîëíÿòüñÿ è íå äîëæåí àâàðèéíî çàâåðøàòü ñâîå âûïîëíåíèå ßçûêè îïèñàíèÿ àëãîðèòìîâ ßçûê áëîê-ñõåì Ãðàôè÷åñêîå îòîáðàæåíèå àëãîðèòìà

Ó÷åáíûé Àëãîðèòìè÷åñêèé ÿçûê

ßçûêè ïðîãðàììèðîâàíèÿ

Ñòðóêòóðíîå îïèñàíèå ñ ðóññêèìè ñëó- Ñèñòåìû îïèñàíèÿ ïðîãðàìì äëÿ âûæåáíûìè ñëîâàìè ïîëíåíèÿ íà êîìïüþòåðå

Âîïðîñû è çàäàíèÿ 1. ×òî òàêîå ñèñòåìà êîìàíä èñïîëíèòåëÿ? 2. Îïðåäåëèòå ñèñòåìó êîìàíä äëÿ àâòîìàòè÷åñêîãî êàññîâîãî àïïàðàòà â ìàãàçèíå.


130

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

3. Êàê âû äóìàåòå, ñïðàâåäëèâî ëè óòâåðæäåíèå «Ñèíòàêñè÷åñêèé êîíòðîëü òðàíñëÿòîðîì òåêñòà ïðîãðàììû ïðåäíàçíà÷åí äëÿ ïðîâåðêè ñîáëþäåíèÿ ñâîéñòâà ïîíÿòíîñòè àëãîðèòìà». Ïðèâåäèòå ïðèìåðû, ïîäòâåðæäàþùèå èëè îïðîâåðãàþùèå ýòî óòâåðæäåíèå. 4.  ÷¸ì ðàçíèöà ìåæäó ïîíÿòèÿìè «êîìàíäà àëãîðèòìà» è «øàã âûïîëíåíèÿ àëãîðèòìà»? Ïðèâåäèòå ïðèìåðû, êîãäà íå ñîâïàäàåò ÷èñëî êîìàíä è ÷èñëî øàãîâ. 5. Ïðèâåäèòå ïðèìåð àëãîðèòìà, â êîòîðîì íàðóøåíî ñâîéñòâî êîíå÷íîñòè (îòëè÷íûé îò ïðèìåðà â òåêñòå ïàðàãðàôà). 6. Äàí àëãîðèòì: X:=1; Y:=5; X:=2*X; Y:=Y–1. Âñå ëè êîìàíäû ýòîãî àëãîðèòìà îáÿçàòåëüíî äîëæíû âûïîëíÿòüñÿ äèñêðåòíî-ïîñëåäîâàòåëüíûì ñïîñîáîì? Ìîæíî ëè ïðîèçâîäèòü âûïîëíåíèå êàêèõ-òî êîìàíä â îäèí è òîò æå ïðîìåæóòîê âðåìåíè? 7. Äëÿ ïðîãðàìì Russian_method è Al_Horezmi èç ï. 1.5.4 «Îáðàáîòêà èíôîðìàöèè» îïèøèòå àëãîðèòìû íà ÿçûêå áëîê-ñõåì è íà ó÷åáíîì Àëãîðèòìè÷åñêîì ÿçûêå. 8. Ïîñòðîéòå àëãîðèòì ðåøåíèÿ ñëåäóþùåé çàäà÷è. Äàíî äâà ÷èñëà: a è b. Âûa ÷èñëèòü: c = . Àëãîðèòì äîëæåí îáëàäàòü ñâîéñòâîì óíèâåðñàëüíîñòè ïî b -a îòíîøåíèþ ê èñõîäíûì äàííûì. Çàïèøèòå àëãîðèòì íà ÿçûêå áëîê-ñõåì, íà Àß è íà Ïàñêàëå.

1.7.2

Àëãîðèòìè÷åñêàÿ ìàøèíà Òüþðèíãà *

 30-õ ãîäàõ ÕÕ âåêà âîçíèêàåò íîâàÿ íàóêà — òåîðèÿ àëãîðèòìîâ. Âîïðîñ, íà êîòîðûé èñêàëà îòâåò ýòà íàóêà: äëÿ âñÿêîé ëè çàäà÷è îáðàáîòêè èíôîðìàöèè ìîæåò áûòü ïîñòðîåí àëãîðèòì ðåøåíèÿ? Íî, ÷òîáû îòâåòèòü íà ýòîò âîïðîñ, íàäî áûëî äîãîâîðèòüñÿ îá èñïîëíèòåëå, íà êîòîðîãî äîëæåí áûòü îðèåíòèðîâàí àëãîðèòì. Àíãëèéñêèé ó÷åíûé Àëàí Òüþðèíã ïðåäëîæèë ìîäåëü òàêîãî èñïîëíèòåëÿ, ïîëó÷èâøóþ íàçâàíèå «ìàøèíà Òüþðèíãà». Ïî ìûñëè Òüþðèíãà, åãî «ìàøèíà» ÿâëÿåòñÿ óíèâåðñàëüíûì èñïîëíèòåëåì îáðàáîòêè ëþáûõ ñèìâîëüíûõ ïîñëåäîâàòåëüíîñòåé â ëþáîì àëôàâèòå.

Àëàí Òüþðèíã (1912–1954) Àíãëèÿ

Óñòðîéñòâî ìàøèíû Òüþðèíãà Ìàøèíà Òüþðèíãà îáðàáàòûâàåò ñèìâîëüíûå ïîñëåäîâàòåëüíîñòè — ñëîâà. Âñ¸ ìíîæåñòâî ñèìâîëîâ îáðàçóåò âíåøíèé àëôàâèò ìàøèíû. Ñèìâîëû çàïèñûâàþòñÿ â ïîçèöèè (ÿ÷åéêè) íà áåñêîíå÷íîé ëåíòå — ïàìÿòè ìàøèíû. Íà ðèñ. 1.24 ïðèâåä¸í ïðèìåð ñëîâà, çàïèñàííîãî íà ëåíòó. Èñïîëüçîâàí àëôàâèò äåñÿòè÷íîé ñèñòåìû ñ÷èñëåíèÿ.  îáùåì âèäå ñèìâîëû àëôàâèòà áóäåì îáîçíà÷àòü òàê: a0, a1, ..., an. Ñàìûé ïåðâûé ñèìâîë a0 — ýòî ïóñòîé ñèìâîë, èëè ïðîáåë. Ñ÷èòàåòñÿ, ÷òî âî âñåõ ïóñòûõ ÿ÷åéêàõ ðàñïîëîæåí ñèìâîë a0.


1.7.2. Àëãîðèòìè÷åñêàÿ ìàøèíà Òüþðèíãà *

131

Ðèñ. 1.24. Ìîäåëü ìàøèíû Òüþðèíãà

Äðóãîé ñîñòàâëÿþùåé ìàøèíû Òüþðèíãà ÿâëÿåòñÿ àâòîìàò: ïðîãðàììíî óïðàâëÿåìîå ñ÷èòûâàþùåå/çàïèñûâàþùåå óñòðîéñòâî. Íà ðèñ. 1.24 ãîëîâêà àâòîìàòà îáîçíà÷åíà òðåóãîëüíèêîì. Ãîëîâêà àâòîìàòà óñòàíîâëåíà íà îïðåäåë¸ííîé (òåêóùåé) ÿ÷åéêå è ïîä óïðàâëåíèåì ïðîãðàììû ìîæåò ñ÷èòûâàòü è çàïèñûâàòü ñèìâîëû â òåêóùóþ ÿ÷åéêó, à òàêæå ïåðåìåùàòüñÿ âëåâî èëè âïðàâî ê ñîñåäíèì ÿ÷åéêàì. Àâòîìàò ìîæåò íàõîäèòüñÿ â ðàçíûõ ñîñòîÿíèÿõ. Òàêèõ ñîñòîÿíèé êîíå÷íîå ìíîæåñòâî. Áóäåì èõ îáîçíà÷àòü: q0, q1,..., qm è íàçûâàòü âíóòðåííèì àëôàâèòîì ìàøèíû. Ïðîãðàììèðîâàíèå ìàøèíû Òüþðèíãà Ìàøèíà Òüþðèíãà ïðåäíàçíà÷åíà äëÿ ðåøåíèÿ ñëåäóþùåãî êëàññà çàäà÷: íà ëåíòå çàïèñàíî íåêîòîðîå âõîäíîå ñëîâî. Íóæíî ïîëó÷èòü âûõîäíîå ñëîâî, êîòîðîå áóäåò ðåçóëüòàòîì ðåøåíèÿ çàäà÷è.  òàêîé ïîñòàíîâêå ìîæíî ðàññìàòðèâàòü ëþáóþ çàäà÷ó îáðàáîòêè äàííûõ. Íàïðèìåð: 1) ñäåëàòü èç «ìóõè» «ñëîíà»: âõîäíîå ñëîâî — «ìóõà», âûõîäíîå ñëîâî — «ñëîí»; 2) óâåëè÷èòü ÷èñëî íà åäèíèöó: âõîäíîå ñëîâî — «327», âûõîäíîå ñëîâî — «328»; 3) ñëîæèòü äâà ÷èñëà: âõîäíîå ñëîâî — «25 + 37», âûõîäíîå ñëîâî — «25 + 37 = 62». Âõîäíîå ñëîâî — ñëîâî íà ëåíòå, îãðàíè÷åííîå ïóñòûìè ÿ÷åéêàìè, íà îäíîì èç ñèìâîëîâ êîòîðîãî óñòàíîâëåíà ãîëîâêà àâòîìàòà, íàõîäÿùåãîñÿ â íà÷àëüíîì ñîñòîÿíèè q0. Âûõîäíîå ñëîâî — ñëîâî, îñòàþùååñÿ íà ëåíòå ïîñëå îñòàíîâêè ðàáîòû àâòîìàòà, ãîëîâêà êîòîðîãî óñòàíîâèëàñü íà îäíîì èç ñèìâîëîâ. Ñèòóàöèÿ, ïðè êîòîðîé àâòîìàò íèêîãäà íå îñòàíàâëèâàåòñÿ, íàçûâàåòñÿ çàöèêëèâàíèåì. Ïðè ïîñòðîåíèè ìàøèíû Òüþðèíãà íåëüçÿ äîïóñêàòü çàöèêëèâàíèÿ. Äëÿ ðåøåíèÿ êàæäîãî òèïà çàäà÷ ñòðîèòñÿ ñâîÿ ìàøèíà Òüþðèíãà, êîòîðàÿ ïðåäñòàâëÿåòñÿ â òàáëè÷íîì âèäå (òàáë. 1.17). Ñòðîêè îçàãëàâëåíû ñèìâîëàìè âíåøíåãî àëôàâèòà, à ñòîëáöû — ñèìâîëàìè âíóòðåííåãî àëôàâèòà (ñîñòîÿíèÿìè àâòîìàòà). Ïðîãðàììà óïðàâëåíèÿ ðàáîòîé ìàøèíû Òüþðèíãà çàïèñûâàåòñÿ â âèäå êîìàíä, ïîìåù¸ííûõ â ÿ÷åéêè òàáëèöû. Òàáëèöà ñ çàíåñåííûìè â å¸ ÿ÷åéêè êîìàíäàìè óïðàâëåíèÿ íàçûâàåòñÿ ôóíêöèîíàëüíîé ñõåìîé ìàøèíû Òüþðèíãà. Êîìàíäà ïðîãðàììû èìååò òàêóþ ñòðóêòóðó: ak « qp Çäåñü: ak — ñèìâîë, çàíîñèìûé â òåêóùóþ ÿ÷åéêó; « — íàïðàâëåíèå ñìåùåíèÿ ãîëîâêè; qp — ñëåäóþùåå ñîñòîÿíèå àâòîìàòà.


132

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Òàáëèöà 1.17. Òàáëèöà äëÿ ïðîãðàììèðîâàíèÿ ìàøèíû Òüþðèíãà q0

...

q1

qj

...

qm

a0 a1 ... ak « qp

ai ... an

Íàïðàâëåíèå ñìåùåíèÿ ìîæåò îáîçíà÷àòüñÿ îäíèì èç òðåõ ñèìâîëîâ: ® ñìåùåíèå âïðàâî; ¬ ñìåùåíèå âëåâî; ! stop (îñòàíîâêà) — çàâåðøåíèå âûïîëíåíèÿ ïðîãðàììû. Íà÷àëüíîå ñîñòîÿíèå âñåãäà îáîçíà÷àåòñÿ êàê q0. Åñëè àâòîìàò íàõîäèëñÿ â ñîñòîÿíèè qj íàïðîòèâ ÿ÷åéêè ñ ñèìâîëîì ai (òàáë. 1.17), òî ïî êîìàíäå ak ® qp â ýòó ÿ÷åéêó çàíåñ¸òñÿ ñèìâîë ak, àâòîìàò ïåðåéä¸ò â ñîñòîÿíèå qp è ãîëîâêà ñìåñòèòñÿ âïðàâî. Çàäà÷à 1. Äàíî öåëîå ÷èñëî â òðîè÷íîé ñèñòåìå ñ÷èñëåíèÿ. Íóæíî óâåëè÷èòü åãî íà åäèíèöó. Ïðèìåðû ðåøåíèÿ çàäà÷è: Âõîäíîå ñëîâî

Âûõîäíîå ñëîâî

10203

10213

21013

21023

10123

10203

22223

100003

Âíåøíèé àëôàâèò ýòîé çàäà÷è ñëåäóþùèé: ïðîáåë, 0, 1, 2. Ñîñòîÿíèå àâòîìàòà âñåãäà îäíî: q0. Ãîëîâêà àâòîìàòà ðàñïîëîæåíà ïîä ÿ÷åéêîé ñ ìëàäøèì ðàçðÿäîì ÷èñëà (êàê ïîêàçàíî íà ðèñ. 1.24) . Ïðîãðàììà äëÿ ìàøèíû Òüþðèíãà ïðåäñòàâëåíà â ñëåäóþùåé ôóíêöèîíàëüíîé ñõåìå: q0 à0

1 ! q0

0

1 ! q0

1

2 ! q0

2

0 ¬ q0


1.7.2. Àëãîðèòìè÷åñêàÿ ìàøèíà Òüþðèíãà *

133

Åñëè â ìëàäøåì ðàçðÿäå ñòîèò 0 èëè 1, òî öèôðà óâåëè÷èâàåòñÿ íà 1 è ðàáîòà çàêàí÷èâàåòñÿ. Åñëè â ìëàäøåì ðàçðÿäå äâîéêà, òî îíà çàìåíèòñÿ íà íîëü è ïðîèçîéä¸ò ñìåùåíèå ãîëîâêè âëåâî. Äàëüøå ïîâòîðÿåòñÿ ïðåäûäóùèé àëãîðèòì. Åñëè âñå öèôðû — äâîéêè, òî îíè çàìåíÿòñÿ íà íóëè è íà ìåñòå ïåðâîãî ñëåâà ïðîáåëà ïîÿâèòñÿ åäèíèöà. Çàäà÷à 2. Óñëîâèå çàäà÷è òî æå, ÷òî ó çàäà÷è 1. Íî íà÷àëüíîå ïîëîæåíèå ãîëîâêè àâòîìàòà ìîæåò áûòü íàïðîòèâ ëþáîãî ñèìâîëà èñõîäíîãî ñëîâà. Ðåøåíèå çàäà÷è ðàçáèâàåòñÿ íà äâà ýòàïà: 1) ïîäâåñòè ãîëîâêó àâòîìàòà ê ìëàäøåìó ðàçðÿäó ÷èñëà; 2) ïðèáàâèòü ê ÷èñëó åäèíèöó (êàê â çàäà÷å 1). Âûïîëíåíèå ïåðâîãî ýòàïà ïðîèñõîäèò â ñîñòîÿíèè q0, âûïîëíåíèå âòîðîãî ýòàïà — â ñîñòîÿíèè q1. Ïðîãðàììà ðåøåíèÿ çàäà÷è: q0

q1

à0

a0 ¬ q1

1 ! q1

0

0 ® q0

1 ! q1

1

1 ® q0

2 ! q1

2

2 ® q0

0 ¬ q1

Çàäà÷à 3. Ê äàííîìó òðîè÷íîìó ÷èñëó ïðèáàâèòü 2. Ýòó çàäà÷ó ìîæíî ðåøèòü ïóòåì äâóêðàòíîãî ïðèìåíåíèÿ ïðîãðàììû èç çàäà÷è 2. Çäåñü â ñîñòîÿíèè q0 ïðîèñõîäèò óñòàíîâêà ãîëîâêè àâòîìàòà íà ìëàäøèé ðàçðÿä; â ñîñòîÿíèè q1 ïðèáàâëåíèå åäèíèöû ê ÷èñëó; â ñîñòîÿíèè q2 — âîçâðàò ãîëîâêè ê ìëàäøåìó ðàçðÿäó; â ñîñòîÿíèè q3 — ïîâòîðíîå ïðèáàâëåíèå åäèíèöû. Ôóíêöèîíàëüíàÿ ñõåìà ìàøèíû Òüþðèíãà, ðåøàþùåé ýòó çàäà÷ó: q0

q1

q2

q3

à0

a0 ¬ q1

1 ! q2

a0 ¬ q3

1 ! q3

0

0 ® q0

1 ! q2

0 ® q2

1 ! q3

1

1 ® q0

2 ! q2

1 ® q2

2 ! q3

2

2 ® q0

0 ¬ q1

2 ® q2

0 ¬ q3

Ìàøèíà Òüþðèíãà îáðàáàòûâàåò ñèìâîëüíûå ïîñëåäîâàòåëüíîñòè, êîòîðûå õðàíÿòñÿ â åå ïàìÿòè — íà áåñêîíå÷íîé ëåíòå, ðàçäåë¸ííîé íà áåñêîíå÷íîå ÷èñëî ÿ÷ååê. Ïîñêîëüêó ó ðåàëüíîé ìàøèíû íå ìîæåò áûòü áåñêîíå÷íîé ïàìÿòè, òî ìàøèíà Òüþðèíãà — ýòî âñåãî ëèøü èäåàëüíàÿ êîíñòðóêöèÿ. Ãëàâíàÿ èäåÿ àâòîðà ñîñòîÿëà â òîì, ÷òîáû óòî÷íèòü ïîíÿòèå àëãîðèòìà, ðåøèòü ïðîáëåìó àëãîðèòìè÷åñêîé ðàçðåøèìîñòè çàäà÷è. Îòâåò íà


134

Ãëàâà 1. Òåîðåòè÷åñêèå îñí��âû èíôîðìàòèêè

âîïðîñ îá àëãîðèòìè÷åñêîé ðàçðåøèìîñòè çàäà÷è ïî Òüþðèíãó çâó÷èò òàê: Àëãîðèòìè÷åñêè ðàçðåøèìà òà çàäà÷à, äëÿ ðåøåíèÿ êîòîðîé ìîæíî ïîñòðîèòü ìàøèíó Òüþðèíãà À íà âîïðîñ «×òî òàêîå àëãîðèòì ðåøåíèÿ çàäà÷è?» îòâåò ñëåäóþùèé: «Àëãîðèòì — ýòî ïðîãðàììà äëÿ ìàøèíû Òüþðèíãà, ïðèâîäÿùàÿ ê ðåøåíèþ ïîñòàâëåííîé çàäà÷è».

Ñèñòåìà îñíîâíûõ ïîíÿòèé Àëãîðèòìè÷åñêàÿ ìàøèíà Òüþðèíãà Ìàøèíà Òüþðèíãà — ìîäåëü óíèâåðñàëüíîãî èñïîëíèòåëÿ àëãîðèòìîâ îáðàáîòêè ñèìâîëüíûõ ïîñëåäîâàòåëüíîñòåé Óñòðîéñòâî ìàøèíû Òüþðèíãà Èíôîðìàöèîííàÿ ëåíòà (ïàìÿòü ìàøèíû)

Àâòîìàò äëÿ ÷òåíèÿ/çàïèñè ñèìâîëîâ

Áåñêîíå÷íàÿ ëèíåéíàÿ Óñòðîéñòâî äëÿ ñ÷èòûâàíèÿ/çàïèñè ñèìâîëîâ â ÿ÷åéêè, ñïîñîáíîå ïåðåìåùàòüñÿ âäîëü ëåíòû è ìåíÿòü ñâîå ïîñëåäîâàòåëüíîñòü ñîñòîÿíèå ÿ÷ååê Ôóíêöèîíàëüíàÿ ñõåìà (ïðîãðàììà) Âíåøíèé àëôàâèò

Âíóòðåííèé àëôàâèò

Êîìàíäà ïðîãðàììû

Ìíîæåñòâî ñèìâîëîâ Ìíîæåñòâî ñîñòîÿak « qp äëÿ ïðåäñòàâëåíèÿ èí- íèé àâòîìàòà: ak —ñèìâîë, çàíîñèìûé â òåêóôîðìàöèè: q0, q1,..., qm ùóþ êëåòêó a0, a1, ..., an « — íàïðàâëåíèå ñìåùåíèÿ ãîëîâêè qp — ñëåäóþùåå ñîñòîÿíèå àâòîìàòà Àëãîðèòìè÷åñêè ðàçðåøèìà òà çàäà÷à, äëÿ ðåøåíèÿ êîòîðîé ìîæíî ïîñòðîèòü ìàøèíó Òüþðèíãà

Âîïðîñû è çàäàíèÿ 1. Êàêóþ îñíîâíóþ çàäà÷ó ðåøàåò òåîðèÿ àëãîðèòìîâ? 2.  ÷¸ì ñîñòîèò íàçíà÷åíèå ìàøèíû Òüþðèíãà? 3. Êàê ïî Òüþðèíãó çâó÷èò îïðåäåëåíèå àëãîðèòìè÷åñêîé ðàçðåøèìîñòè çàäà÷è? 4. Ìîæíî ëè ôèçè÷åñêè ðåàëèçîâàòü ìàøèíó Òüþðèíãà? Êàêîå îãðàíè÷åíèå ïðèõîäèòñÿ âíîñèòü â óñòðîéñòâî ìàøèíû Òüþðèíãà ïðè ñîçäàíèè å¸ ïðîãðàììíîé ìîäåëè?


1.7.3. Àëãîðèòìè÷åñêàÿ ìàøèíà Ïîñòà *

135

5. Ïðîàíàëèçèðóéòå ïðèìåíèòåëüíî ê ïðîãðàììàì äëÿ ìàøèíû Òüþðèíãà âûïîëíåíèå îñíîâíûõ ñâîéñòâ àëãîðèòìà: äèñêðåòíîñòè, ïîíÿòíîñòè, òî÷íîñòè, êîíå÷íîñòè, ìàññîâîñòè.

Êîìïüþòåðíûé ïðàêòèêóì. Ðàçäåë «Òåîðèÿ àëãîðèòìîâ»

1.7.3

Àëãîðèòìè÷åñêàÿ ìàøèíà Ïîñòà *

Ïðàêòè÷åñêè îäíîâðåìåííî ñ Òüþðèíãîì (â 1936–1937 ãîäàõ) äðóãóþ ìîäåëü àëãîðèòìè÷åñêîé ìàøèíû îïèñàë Ýìèëü Ïîñò. Ìàøèíà Ïîñòà ðàáîòàåò ñ äâîè÷íûì àëôàâèòîì è íåñêîëüêî ïðîùå â ñâîåì «óñòðîéñòâå». Ìîæíî ñêàçàòü, ÷òî ìàøèíà Ïîñòà ÿâëÿåòñÿ ÷àñòíûì ñëó÷àåì ìàøèíû Òüþðèíãà. Îäíàêî èìåííî ðàáîòà ñ äâîè÷íûì àëôàâèòîì ïðåäñòàâëÿåò íàèáîëüøèé èíòåðåñ, ïîñêîëüêó ñîâðåìåííûé êîìïüþòåð òîæå ðàáîòàåò ñ äâîè÷íûì àëôàâèòîì. Óñòðîéñòâî ìàøèíû Ïîñòà

Ýìèëü Ïîñò (1897–1954) ÑØÀ

Êàê è â ìàøèíå Òüþðèíãà, â ìàøèíå Ïîñòà èìååòñÿ áåñêîíå÷íàÿ èíôîðìàöèîííàÿ ëåíòà, ðàçäåë¸ííàÿ íà ïîçèöèè — ÿ÷åéêè (ðèñ. 1.25).  êàæäîé ÿ÷åéêå ìîæåò ëèáî ñòîÿòü ìåòêà (íåêîòîðûé çíàê), ëèáî îòñóòñòâîâàòü ìåòêà.

Ðèñ. 1.25. Ìîäåëü ìàøèíû Ïîñòà

Âäîëü ëåíòû äâèæåòñÿ ãîëîâêà àâòîìàòà. Íà ðèñóíêå îíà îáîçíà÷åíà òðåóãîëüíèêîì. Ãîëîâêà ìîæåò ïåðåäâèãàòüñÿ øàãàìè: îäèí øàã – ñìåùåíèå íà îäíó ÿ÷åéêó âïðàâî èëè âëåâî. ß÷åéêó, ïîä êîòîðîé óñòàíîâëåíà ãîëîâêà àâòîìàòà, áóäåì íàçûâàòü òåêóùåé. Àâòîìàò ìîæåò âûïîëíÿòü ñëåäóþùèå äåéñòâèÿ: l ðàñïîçíàòü, ÿ÷åéêà ïóñòàÿ èëè ñîäåðæèò ìåòêó; l ñòåðåòü ìåòêó â òåêóùåé ÿ÷åéêå; l ïîñòàâèòü ìåòêó â ïóñòóþ òåêóùóþ ÿ÷åéêó. Åñëè ïðîèçâåñòè çàìåíó ìåòîê íà åäèíèöû, à ïóñòûõ êëåòîê — íà íóëè, òî èíôîðìàöèþ íà ëåíòå ìîæíî áóäåò ðàññìàòðèâàòü êàê àíàëîã äàííûõ â ïàìÿòè êîìïüþòåðà. Ñóùåñòâåííîå îòëè÷èå àâòîìàòà ìàøèíû Ïîñòà îò ïðîöåññîðà êîìïüþòåðà ñîñòîèò â òîì, ÷òî â êîìïüþòåðå âîçìîæåí äîñòóï ïðîöåññîðà ê ÿ÷åéêàì ïàìÿòè â ïðîèçâîëüíîì ïîðÿäêå, à â ìàøèíå Ïîñòà — òîëüêî ïîñëåäîâàòåëüíî.


136

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Íàçíà÷åíèå ìàøèíû Ïîñòà — ïðîèçâîäèòü ëþáûå ïðåîáðàçîâàíèÿ íà èíôîðìàöèîííîé ëåíòå. Èñõîäíîå ñîñòîÿíèå ëåíòû ìîæíî ðàññìàòðèâàòü êàê èñõîäíûå äàííûå çàäà÷è, êîíå÷íîå ñîñòîÿíèå ëåíòû — êàê ðåçóëüòàò ðåøåíèÿ çàäà÷è. Êðîìå òîãî, â èñõîäíûå äàííûå âõîäèò èíôîðìàöèÿ î íà÷àëüíîì ïîëîæåíèè ãîëîâêè àâòîìàòà. Ïðîãðàììèðîâàíèå Ìàøèíû Ïîñòà Ðàññìîòðèì ñèñòåìó êîìàíä ìàøèíû Ïîñòà, ïðèâåä¸ííóþ â òàáë. 1.18. Çàïèñü âñÿêîé êîìàíäû íà÷èíàåòñÿ ñ å¸ ïîðÿäêîâîãî íîìåðà â ïðîãðàììå — n. Çàòåì ñëåäóåò êîä îïåðàöèè è ïîñëå íåãî — íîìåð ñëåäóþùåé âûïîëíÿåìîé êîìàíäû ïðîãðàììû — m. Òàáëèöà 1.18. Ñèñòåìà êîìàíä ìàøèíû Ïîñòà Êîìàíäà

Äåéñòâèå

n ¬ m

Ñäâèã ãîëîâêè àâòîìàòà íà øàã âëåâî è ïåðåõîä ê âûïîëíåíèþ êîìàíäû ñ íîìåðîì m

n ® m

Ñäâèã ãîëîâêè íà øàã âïðàâî è ïåðåõîä ê âûïîëíåíèþ êîìàíäû ñ íîìåðîì m

n Ú m

Çàïèñü ìåòêè â òåêóùóþ ïóñòóþ ÿ÷åéêó è ïåðåõîä ê âûïîëíåíèþ êîìàíäû ñ íîìåðîì m

n 2 m

Ñòèðàíèå ìåòêè â òåêóùåé ÿ÷åéêå è ïåðåõîä ê âûïîëíåíèþ êîìàíäû ñ íîìåðîì m

n!

Îñòàíîâêà âûïîëíåíèÿ ïðîãðàììû

n ? m, k

Ïåðåõîä ïî ñîäåðæèìîìó òåêóùåé ÿ÷åéêè: åñëè òåêóùàÿ ÿ÷åéêà ïóñòàÿ, òî ñëåäóþùåé áóäåò âûïîëíÿòüñÿ êîìàíäà ñ íîìåðîì ì, åñëè ñî çíàêîì, òî âûïîëíèòñÿ êîìàíäà íîìåð k

Çàäà÷à 1. Ðàññìîòðèì ïðèìåð ïðîãðàììû ðåøåíèÿ çàäà÷è íà ìàøèíå Ïîñòà. Èñõîäíàÿ îáñòàíîâêà ïîêàçàíà íà ðèñ. 1.25. Èìååòñÿ ãðóïïà ïîäðÿä ðàñïîëîæåííûõ ìåòîê.  óäàë¸ííîé ÿ÷åéêå ñëåâà îò íèõ èìååòñÿ ìåòêà, íà êîòîðîé óñòàíîâëåíà ãîëîâêà àâòîìàòà. Ìàøèíà äîëæíà ñòåðåòü ìåòêó â òåêóùåé ÿ÷åéêå è ïðèñîåäèíèòü åãî ê ãðóïïå ìåòîê, ðàñïîëîæåííûõ ñïðàâà îò ãîëîâêè. Çàäà÷à ðåøàåòñÿ ïî ñëåäóþùåé ïðîãðàììå: Êîìàíäà

Äåéñòâèå

1 2 2

Ñòèðàíèå ìåòêè; ïåðåõîä ê ñëåäóþùåé êîìàíäå

2 ® 3

Ñäâèã âïðàâî íà îäèí øàã

3 ? 2, 4

Åñëè ÿ÷åéêà ïóñòàÿ, òî ïåðåõîä ê êîìàíäå 2

4 ¬ 5

Ñäâèã âëåâî íà øàã (êîìàíäà âûïîëíèòñÿ, êîãäà ãîëîâêà âûéäåò íà ïåðâûé çíàê ãðóïïû)

5 Ú 6

Çàïèñü ìåòêè â ïóñòóþ ÿ÷åéêó

6!

Îñòàíîâêà ìàøèíû


1.7.3. Àëãîðèòìè÷åñêàÿ ìàøèíà Ïîñòà *

137

 ïðîöåññå âûïîëíåíèÿ ïðèâåä¸ííîé ïðîãðàììû ìíîãîêðàòíî ïîâòîðÿåòñÿ âûïîëíåíèå êîìàíä ñ íîìåðàìè 2 è 3. Ýòî öèêë. Íàïîìíèì, ÷òî öèêë îòíîñèòñÿ ê ÷èñëó îñíîâíûõ àëãîðèòìè÷åñêèõ ñòðóêòóð âìåñòå ñî ñëåäîâàíèåì è âåòâëåíèåì. Çàäà÷à 2. À òåïåðü íàó÷èì ìàøèíó Ïîñòà èãðàòü â èíòåëëåêòóàëüíóþ èãðó, êîòîðàÿ íàçûâàåòñÿ «Èãðà Áàøå». Îïèøåì ïðàâèëà èãðû. Èãðàþò äâîå. Ïåðåä íèìè 21 (èëè 16, èëè 11 ...) ôèøåê. Èãðîêè áåðóò ôèøêè ïî î÷åðåäè. Çà îäèí õîä ìîæíî âçÿòü îò 1 äî 4 ôèøåê. Ïðîèãðûâàåò òîò, êòî çàáèðàåò ïîñëåäíþþ ôèøêó. Èìååòñÿ âûèãðûøíàÿ òàêòèêà äëÿ èãðîêà, áåðóùåãî ôèøêè âòîðûì. Îíà çàêëþ÷àåòñÿ â òîì, ÷òîáû áðàòü òàêîå êîëè÷åñòâî ôèøåê, êîòîðîå äîïîëíÿåò ÷èñëî ôèøåê, âçÿòûõ ñîïåðíèêîì íà ïðåäûäóùåì õîäå, äî ïÿòè øòóê. Ðîëü ôèøåê íà èíôîðìàöèîííîé ëåíòå ìàøèíû Ïîñòà áóäóò âûïîëíÿòü ìåòêè. Ìàøèíà èãðàåò ñ ÷åëîâåêîì. ×åëîâåêó ïðåäîñòàâëÿåòñÿ âîçìîæíîñòü ñòèðàòü ìåòêó (áðàòü ôèøêè) ïåðâûì. Ìàøèíà áóäåò âñòóïàòü â èãðó âòîðîé. Èñõîäíàÿ îáñòàíîâêà: íà ëåíòå ìàññèâ èç 21 ÿ÷åéêè ñîäåðæèò ìåòêè. Ãîëîâêà àâòîìàòà óñòàíîâëåíà íà êðàéíåé ñëåâà ÿ÷åéêå ýòîãî ìàññèâà. Âûèãðûøíûì ðåçóëüòàòîì äëÿ ìàøèíû äîëæíà áûòü îäíà îñòàâøàÿñÿ ìåòêà ïðè õîäå ÷åëîâåêà. Êîìàíäà

Äåéñòâèå

1 ? 2, 1

Ìàøèíà æäåò ïîÿâëåíèÿ ïóñòîé ÿ÷åéêè íàä êàðåòêîé. Ïîñëå õîäà ÷åëîâåêà ìàøèíà âñòóïèò â èãðó. Åñëè ÷åëîâåê âèäèò âñåãî îäíó ìåòêó íà ëåíòå, îí ïðåêðàùàåò èãðó, ïðèçíàâ ñâîå ïîðàæåíèå

2 ® 3

Ýòà ñåðèÿ êîìàíä âûâåäåò ãîëîâêó àâòîìàòà íà ïÿòóþ ïîçèöèþ. Êàêîé áû õîä íè ñäåëàë ñîïåðíèê, â íåé îáÿçàòåëüíî áóäåò ñòîÿòü ìåòêà

3 ® 4 4 ® 5 5 ® 6 6 2 7

Ñòèðàíèå ìåòêè â òåêóùåé ÿ÷åéêå

7 ¬ 8

Øàã âëåâî

8 ? 9, 6

Åñëè ÿ÷åéêà íå ïóñòàÿ, òî âîçâðàò ê êîìàíäå 6

9 ® 10

Ïåðåìåùåíèå íà øàã âïðàâî

10 ? 9, 1

Åñëè ÿ÷åéêà íå ïóñòàÿ, òî âîçâðàò ê êîìàíäå 1 è îæèäàíèå õîäà ïàðòí¸ðà (÷åëîâåêà) èëè ïðèçíàíèÿ èì ñâîåãî ïîðàæåíèÿ

Äåéñòâóÿ ïî äàííîé ïðîãðàììå è íà÷èíàÿ ñòèðàòü ìåòêè âòîðîé ïîñëå ÷åëîâåêà, ìàøèíà âñåãäà áóäåò âûèãðûâàòü, åñëè ïðàâèëüíî çàäàíî íà÷àëüíîå ÷èñëî ìåòîê, êîòîðîå äîëæíî áûòü ðàâíî 5 · n + 1, ãäå n — ëþáîå íàòóðàëüíîå ÷èñëî.  ïðîòèâíîì ñëó÷àå ìàøèíà ìîæåò ïðîèãðàòü.  òåîðèè àëãîðèòìîâ áûëî äîêàçàíî, ÷òî àëãîðèòìè÷åñêèå ìîäåëè ìàøèí Òüþðèíãà è Ïîñòà ÿâëÿþòñÿ ýêâèâàëåíòíûìè ñ òî÷êè çðåíèÿ ðå-


138

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

øåíèÿ ïðîáëåìû àëãîðèòìè÷åñêîé ðàçðåøèìîñòè çàäà÷è. Ýòî çíà÷èò, ÷òî ëþáàÿ àëãîðèòìè÷åñêè ðàçðåøèìàÿ çàäà÷à ìîæåò áûòü ðåøåíà ïóò¸ì ïðîãðàììèðîâàíèÿ êàê äëÿ ìàøèíû Òüþðèíãà, òàê è äëÿ ìàøèíû Ïîñòà. Íîðìàëüíûå àëãîðèòìû Ìàðêîâà

À. À. Ìàðêîâ (ìëàäøèé) (1903–1979) Ðîññèÿ

Çíà÷èòåëüíû âêëàä â òåîðèþ àëãîðèòìîâ âí¸ñ ðîññèéñêèé ìàòåìàòèê Àíäðåé Àíäðååâè÷ Ìàðêîâ. Åãî ïîäõîä îòëè÷àåòñÿ îò «ìàøèííîãî» ïîäõîäà Òüþðèíãà è Ïîñòà, â êîòîðûõ ôèãóðèðóþò ïîíÿòèÿ «ëåíòà ïàìÿòè», «ÿ÷åéêè», «ñîñòîÿíèå ìàøèíû», «ñ÷èòûâàíèå» è ò. ä.  íîðìàëüíîì àëãîðèòìå Ìàðêîâà èñïîëüçóåòñÿ ïîíÿòèå ïîäñòàíîâêè îäíîãî ñèìâîëà íà ìåñòî äðóãîãî. Àëãîðèòì îïðåäåëÿåò, êàêèå çàìåíû ñèìâîëîâ â èñõîäíîì ñëîâå íàäî ïðîèçâîäèòü è â êàêîì ïîðÿäêå ýòî äåëàòü. Äîêàçàíî, ÷òî åñëè çàäà÷à ÿâëÿåòñÿ àëãîðèòìè÷åñêè ðàçðåøèìîé, ò. å. îíà ìîæåò áûòü ðåøåíà ñ ïîìîùüþ ìàøèí Òüþðèíãà è Ïîñòà, òî äëÿ íå¸ ìîæíî ïîñòðîèòü è íîðìàëüíûé àëãîðèòì Ìàðêîâà.

Ñèñòåìà îñíîâíûõ ïîíÿòèé Àëãîðèòìè÷åñêàÿ ìàøèíà Ïîñòà Ìàøèíà Ïîñòà — ìîäåëü óíèâåðñàëüíîãî èñïîëíèòåëÿ àëãîðèòìîâ îáðàáîòêè ñèìâîëüíûõ ïîñëåäîâàòåëüíîñòåé Îòëè÷èå îò ìàøèíû Òüþðèíãà

 ÿ÷åéêè çàíîñèòñÿ îäèí ñèìâîë — ìåòêà. Ñîäåðæèìîå ïàìÿòè — äâîè÷íûé êîä, åñëè ïðèíÿòü ìåòêè çà åäèíèöû, à ïóñòûå ÿ÷åéêè — çà íóëè Èñïîëíèòåëüíûé àâòîìàò èìååò òîëüêî îäíî ñîñòîÿíèå

Ïðîãðàììà

Ïîñëåäîâàòåëüíîñòü ïðîíóìåðîâàííûõ êîìàíä Ñèñòåìà êîìàíä: l ñäâèã ãîëîâêè àâòîìàòà âëåâî/âïðàâî; l âûñòàâëåíèå ìåòêè â òåêóùóþ ÿ÷åéêó l ñòèðàíèå ìåòêè èç òåêóùåé ÿ÷åéêè l óñëîâíûé ïåðåõîä ïî ñîäåðæàíèþ ÿ÷åéêè l îñòàíîâêà

Íîðìàëüíûå àëãîðèòìû Ìàðêîâà

Îïèñàíèå äîïóñòèìûõ ïîäñòàíîâîê ñèìâîëîâ è ïîñëåäîâàòåëüíîñòè èõ âûïîëíåíèÿ

Òåîðåìà îá ýêâèâàëåíò- Ëþáàÿ àëãîðèòìè÷åñêè ðàçðåøèìàÿ çàäà÷à ìîæåò áûòü íîñòè àëãîðèòìè÷åñêèõ ðåøåíà ïóòåì ïðîãðàììèðîâàíèÿ êàê äëÿ ìàøèíû Òüþìîäåëåé ðèíãà, òàê è äëÿ ìàøèíû Ïîñòà


1.7.4. Ýòàïû àëãîðèòìè÷åñêîãî ðåøåíèÿ çàäà÷è

139

Âîïðîñû è çàäàíèÿ 1.  ÷¸ì ñìûñë ýêâèâàëåíòíîñòè àëãîðèòìè÷åñêèõ ìàøèí Òüþðèíãà è Ïîñòà è íîðìàëüíûõ àëãîðèòìîâ Ìàðêîâà? 2. Íà èíôîðìàöèîííîé ëåíòå ìàøèíû Ïîñòà îòìå÷åí ìàññèâ èç N ìåòîê. Ãîëîâêà àâòîìàòà íàõîäèòñÿ ïîä êðàéíåé ëåâîé ìåòêîé. Êàêàÿ îáñòàíîâêà óñòàíîâèòñÿ íà ëåíòå ïîñëå âûïîëíåíèÿ ñëåäóþùåé ïðîãðàììû? 1 ® 2 22 3 3 ® 4 4 ? 5, 2 5 ¬ 6 6 Ú 7 7!

Êîìïüþòåðíûé ïðàêòèêóì. Ðàçäåë «Òåîðèÿ àëãîðèòìîâ»

1.7.4

Ýòàïû àëãîðèòìè÷åñêîãî ðåøåíèÿ çàäà÷è

Êîìïüþòåð — èñïîëíèòåëü àëãîðèòìîâ Àëãîðèòìè÷åñêèì ðåøåíèåì çàäà÷è áóäåì íàçûâàòü ñïîñîá ðåøåíèÿ ïóò¸ì ïðîãðàììèðîâàíèÿ íåêîòîðîãî àâòîìàòè÷åñêîãî èñïîëíèòåëÿ. Àâòîìàòè÷åñêèå èñïîëíèòåëè, ðàññìîòðåííûå â ïðåäûäóùèõ ïàðàãðàôàõ: ìàøèíû Òüþðèíãà è Ïîñòà ðåàëüíî íå ñóùåñòâóþò. Îíè ÿâëÿþòñÿ ëèøü òåîðåòè÷åñêèìè ìîäåëÿìè, ïîçâîëÿþùèìè ðåøàòü ïðîáëåìó àëãîðèòìè÷åñêîé ðàçðåøèìîñòè çàäà÷è. Ðåàëüíî ñóùåñòâóþùèì óíèâåðñàëüíûì àâòîìàòè÷åñêèì èñïîëíèòåëåì îáðàáîòêè èíôîðìàöèè ÿâëÿåòñÿ êîìïüþòåð. Ïðîãðàììà óïðàâëåíèÿ êîìïüþòåðîì — ýòî àëãîðèòì ðåøåíèÿ çàäà÷è, ïðåäñòàâëåííûé íà ÿçûêå ìàøèííûõ êîìàíä èëè íà ÿçûêå ïðîãðàììèðîâàíèÿ. Ñèñòåìà êîìàíä, íà îñíîâå êîòîðîé ñòðîèòñÿ àëãîðèòì, îïðåäåëÿåòñÿ ïðàâèëàìè èñïîëüçóåìîãî ÿçûêà ïðîãðàììèðîâàíèÿ. Äëÿ áîëüøèíñòâà ñîâðåìåííûõ ÿçûêîâ ïðîãðàììèðîâàíèÿ ïðîöåäóðíîãî òèïà â ñèñòåìó êîìàíä èñïîëíèòåëÿ âõîäÿò ñëåäóþùèå îñíîâíûå êîìàíäû (îïåðàòîðû): ââîä, âûâîä, ïðèñâàèâàíèå, âåòâëåíèå, öèêë. Ïåðâûå äâå êîìàíäû ìîæíî íàçâàòü ïðîñòûìè êîìàíäàìè, äâå ïîñëåäíèå — ñòðóêòóðíûìè.


140

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

 äàëüíåéøåì, ñîñòàâëÿÿ àëãîðèòìû, ìû áóäåì îðèåíòèðîâàòüñÿ íà ýòó ñèñòåìó êîìàíä.  êà÷åñòâå ÿçûêà ïðîãðàììèðîâàíèÿ ïî-ïðåæíåìó áóäåì èñïîëüçîâàòü Ïàñêàëü. Ýòàïû ðåøåíèÿ çàäà÷è Ïîñòàíîâêà çàäà÷è è ôîðìàëèçàöèÿ Ñëîâîì «çàäà÷à» íàçûâàþò ïðîáëåìó, êîòîðàÿ òðåáóåò ðåøåíèÿ. Ðåøåíèå çàäà÷è íà÷èíàåòñÿ ñ å¸ ïîñòàíîâêè. Íà ýòàïå ïîñòàíîâêè çàäà÷è â òåðìèíàõ ïðåäìåòíîé îáëàñòè (ôèçèêè, ýêîíîìèêè, áèîëîãèè è äð.) îïðåäåëÿþòñÿ èñõîäíûå äàííûå è ðåçóëüòàòû, êîòîðûå íàäî ïîëó÷èòü. Ñëåäóþùèé ýòàï — ôîðìàëèçàöèÿ çàäà÷è. ×àùå âñåãî ïðîöåññ ôîðìàëèçàöèè îçíà÷àåò ïåðåâîä çàäà÷è íà ÿçûê ìàòåìàòèêè: ôîðìóë, óðàâíåíèé, íåðàâåíñòâ, ñèñòåì óðàâíåíèé, ñèñòåì íåðàâåíñòâ è ò. ï. Ïîäðîáíåå î ôîðìàëèçàöèè áóäåò ðàññêàçàíî â ðàçäåëå, ïîñâÿù¸ííîì èíôîðìàöèîííîìó ìîäåëèðîâàíèþ (â 11 êëàññå). Íåêîòîðûå ïðåäñòàâëåíèÿ îá ýòîì âû óæå èìååòå èç êóðñà èíôîðìàòèêè äëÿ 8–9 êëàññîâ. Ðåøåíèå ïîëó÷åííîé ìàòåìàòè÷åñêîé çàäà÷è òðåáóåò çíàíèÿ ìàòåìàòèêè, óìåíèÿ âûïîëíÿòü àíàëèç ìàòåìàòè÷åñêîé çàäà÷è. Òàêîé àíàëèç íåîáõîäèì äëÿ òîãî, ÷òîáû ïîñòðîèòü ïðàâèëüíûé àëãîðèòì ðåøåíèÿ, îáëàäàþùèé âñåìè ñâîéñòâàìè àëãîðèòìà, ñôîðìóëèðîâàííûìè â ïðåäûäóùåì ïàðàãðàôå. Àíàëèç ìàòåìàòè÷åñêîé çàäà÷è Ïóñòü â ðåçóëüòàòå ôîðìàëèçàöèè íåêîòîðîé çàäà÷è áûëî ïîëó÷åíî êâàäðàòíîå óðàâíåíèå: ax2 + bx + c = 0, ãäå êîýôôèöèåíòû a, b, c ÿâëÿþòñÿ èñõîäíûìè äàííûìè. Òðåáóåòñÿ ðåøèòü ýòî óðàâíåíèå, ò. å. íàéòè åãî êîðíè. Ïðîâåäåì àíàëèç ýòîé ìàòåìàòè÷åñêîé çàäà÷è. Ðàññìîòðèì ðàçëè÷íûå âàðèàíòû çíà÷åíèé èñõîäíûõ äàííûõ, êîòîðûå ïðèâîäÿò ê ðàçíûì ðåçóëüòàòàì äëÿ ðåøàþùåãî åå àëãîðèòìà. Îãðàíè÷èìñÿ òîëüêî ïîèñêîì âåùåñòâåííûõ êîðíåé óðàâíåíèÿ. Ïðîàíàëèçèðóåì âñå âîçìîæíûå âàðèàíòû ìíîæåñòâà çíà÷åíèé êîýôôèöèåíòîâ a, b, c. Åñëè a = 0, b = 0, c = 0,

òî ëþáîå õ — ðåøåíèå óðàâíåíèÿ.

Åñëè a = 0, b = 0, c ¹ 0,

òî óðàâíåíèå ðåøåíèé íå èìååò.

Åñëè a = 0, b ¹ 0,

òî ýòî ëèíåéíîå óðàâíåíèå, êîòîðîå èìååò îäíî ðåøåíèå: x = –c/b.

2

Åñëè a ¹ 0 è d = b – 4ac ³ 0,

òî óðàâíåíèå èìååò äâà âåùåñòâåííûõ êîðíÿ: x1 = ( -b + d ) / (2a), x2 = ( -b – d ) / (2a).

Åñëè a ¹ 0 è d < 0,

òî óðàâíåíèå íå èìååò âåùåñòâåííûõ êîðíåé.

Ïîñòðîåíèå àëãîðèòìà Ïîñòðîèì áëîê-ñõåìó àëãîðèòìà ðåøåíèÿ êâàäðàòíîãî óðàâíåíèÿ (ðèñ. 1.26), ó÷èòûâàþùåãî âñå ñèòóàöèè, îïèñàííûå â àíàëèçå çàäà÷è. Çäåñü âìåñòî ñëîâ «äà» è «íåò» èñïîëüçîâàíû çíàêè «+» è «–».


1.7.4. Ýòàïû àëãîðèòìè÷åñêîãî ðåøåíèÿ çàäà÷è

141

Ðèñ. 1.26. Áëîê-ñõåìà àëãîðèòìà ðåøåíèÿ êâàäðàòíîãî óðàâíåíèÿ

Ïîñòðîåííûé àëãîðèòì, íåñîìíåííî, óäîâëåòâîðÿåò ñâîéñòâó óíèâåðñàëüíîñòè ïî îòíîøåíèþ ê èñõîäíûì äàííûì. Çàïèøåì ýòîò æå àëãîðèòì íà ó÷åáíîì Àëãîðèòìè÷åñêîì ÿçûêå. àëã êîðíè êâàäðàòíîãî óðàâíåíèÿ âåù a, b, c, d, x1, x2 íà÷ ââîä a, b, c åñëè a=0 òî åñëè b=0 òî åñëè c=0 òî âûâîä "ëþáîå õ – ðåøåíèå" èíà÷å âûâîä "íåò ðåøåíèé" êâ èíà÷å x:= –c/b


142

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

âûâîä õ êâ èíà÷å d:=b2–4ac åñëè d<0 òî âûâîä "íåò âåùåñòâåííûõ êîðíåé" èíà÷å x1:=(-b+ d)/(2a); x2:=(-b– d)/(2a) âûâîä "x1=",x1, "x2=",x2 êâ êâ êîí

 ýòîì àëãîðèòìå ìíîãîêðàòíî èñïîëüçîâàíà ñòðóêòóðíàÿ êîìàíäà âåòâëåíèÿ. Îáùèé âèä êîìàíäû âåòâëåíèÿ â áëîê-ñõåìàõ è íà àëãîðèòìè÷åñêîì ÿçûêå ñëåäóþùèé: åñëè óñëîâèå òî ñåðèÿ 1 èíà÷å ñåðèÿ 2 êâ

Åñëè íà âåòâÿõ îäíîãî âåòâëåíèÿ ñîäåðæàòñÿ äðóãèå âåòâëåíèÿ, òî òàêîé àëãîðèòì èìååò ñòðóêòóðó âëîæåííûõ âåòâëåíèé. Èìåííî òàêóþ ñòðóêòóðó èìååò àëãîðèòì êîðíè êâàäðàòíîãî óðàâíåíèÿ. Îáðàòèòå âíèìàíèå íà ñìåùåíèÿ ñòðîê â òåêñòå àëãîðèòìà. Ïðè ýòîì ñîáëþäàåòñÿ ïðèíöèï: çàïèñü âñÿêîé âëîæåííîé ñòðóêòóðû äîëæíà áûòü ñìåùåíà íà íåñêîëüêî ïîçèöèé âïðàâî îòíîñèòåëüíî çàïèñè âíåøíåé ñòðóêòóðû. Êîíñòðóêöèè îäíîãî óðîâíÿ âëîæåííîñòè çàïèñûâàþòñÿ íà îäíîì âåðòèêàëüíîì óðîâíå. Ïðîãðàììèðîâàíèå Ïîñëå òîãî êàê çàïèñàí àëãîðèòì íà ó÷åáíîì Àëãîðèòìè÷åñêîì ÿçûêå, ñîñòàâëåíèå ïðîãðàììû íà ÿçûêå ïðîãðàììèðîâàíèÿ ñòàíîâèòñÿ íåñëîæíîé çàäà÷åé. Ðàññìîòðèì ïðîãðàììèðîâàíèå íà Ïàñêàëå. Îñíîâíîå âíèìàíèå ñëåäóåò óäåëÿòü ñòðîãîìó ñîáëþäåíèþ ñèíòàêñè÷åñêèõ ïðàâèë ÿçûêà. Ïðàâèëî ñìåùåíèÿ ñòðîê â òåêñòå ïðîãðàììû òî æå, ÷òî áûëî ñôîðìóëèðîâàíî âûøå äëÿ Àëãîðèòìè÷åñêîãî ÿçûêà. Ñîîòâåòñòâóþùèå äðóã äðóãó ñëóæåáíûå ñëîâà begin è end äîëæíû ðàñïîëàãàòüñÿ äðóã ïîä äðóãîì. Program Roots; Var A, B, C, D, X1, X2: Real; Begin WriteLn('Ââåäèòå êîýôôèöèåíòû êâàäðàòíîãî óðàâíåíèÿ: '); Write('a='); ReadLn(A); Write('b='); ReadLn(B);


1.7.4. Ýòàïû àëãîðèòìè÷åñêîãî ðåøåíèÿ çàäà÷è

143

Write('c='); ReadLn(C); If A=0 Then If B=0 Then If C=0 Then WriteLn('Ëþáîå Õ – ðåøåíèå') Else WriteLn('Íåò ðåøåíèé') Else Begin x:=-c/b; WriteLn('x=', x) End Else Begin d:=b*b–4*a*c; If d<0 Then WriteLn('Íåò âåùåñòâåííûõ êîðíåé') Else Begin x1:=(-b+sqrt(d))/2/a; X2:=(-b-sqrt(d))/2/a; WriteLn('x1=', x1); WriteLn('x2=', x2) End End End.

×åì áîëüøå òåêñò ïðîãðàììû, òåì áîëüøå âåðîÿòíîñòü ñîâåðøåíèÿ îøèáîê ïðè å¸ çàïèñè è ââîäå â êîìïüþòåð. Îøèáêè, íàðóøàþùèå ïðàâèëà ãðàììàòèêè ÿçûêà, íàçûâàþòñÿ ñèíòàêñè÷åñêèìè îøèáêàìè. Ïîèñê è óñòðàíåíèå ñèíòàêñè÷åñêèõ îøèáîê â ïðîãðàììå íàçûâàþòñÿ îòëàäêîé. Îòëàäèòü ïðîãðàììó ïðîãðàììèñòó ïîìîãàåò ñèñòåìà ïðîãðàììèðîâàíèÿ íà äàííîì ÿçûêå, êîòîðàÿ àâòîìàòè÷åñêè îáíàðóæèâàåò îøèáêè è ñîîáùàåò î íèõ ïðîãðàììèñòó. Ïîäðîáíåå î ñèñòåìàõ ïðîãðàììèðîâàíèÿ âû óçíàåòå èç ðàçäåëà, ïîñâÿù¸ííîãî ïðîãðàììèðîâàíèþ (â 11 êëàññå). Òåñòèðîâàíèå ïðîãðàììû Òåñòèðîâàíèå — ýòî ýòàï, íà êîòîðîì ýêñïåðèìåíòàëüíî äîêàçûâàåòñÿ ïðàâèëüíîñòü àëãîðèòìà, çàêëþ÷¸ííîãî â ïðîãðàììå, è ðàáîòîñïîñîáíîñòü ïðîãðàììû. Òåñò — ýòî âàðèàíò ðåøåíèÿ çàäà÷è ñ çàäàííûìè èñõîäíûìè äàííûìè, äëÿ êîòîðûõ èçâåñòåí ðåçóëüòàò. Ïðåäâàðèòåëüíî äîëæåí áûòü ñîñòàâëåí ïëàí òåñòèðîâàíèÿ. Äëÿ âåòâÿùåãîñÿ àëãîðèòìà äîëæíû áûòü ïðîòåñòèðîâàíû âñå âåòâè àëãîðèòìà.  íàøåì ïðèìåðå ïÿòü âåòâåé, ïÿòü âàðèàíòîâ îòâåòà. Çíà÷èò, â ïëàíå òåñòèðîâàíèÿ äîëæíî áûòü íå ìåíåå ïÿòè âàðèàíòîâ òåñòà.  òàáë. 1.19 ïðåäñòàâëåí ïëàí òåñòèðîâàíèÿ ïðîãðàììû Roots è ðåçóëüòàòû ïðîâåä¸ííîãî òåñòèðîâàíèÿ.


144

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Òàáëèöà 1.19. Ïëàí è ðåçóëüòàòû òåñòèðîâàíèÿ ¹

Èñõîäíûå çíà÷åíèÿ

Âåðíûå ðåçóëüòàòû

Ðåçóëüòàòû òåñòèðîâàíèÿ

1

a = 0, b = 0, c = 0

Ëþáîå Õ — ðåøåíèå

Ëþáîå Õ — ðåøåíèå

2

a = 0, b = 0, c = 1

Íåò ðåøåíèé

Íåò ðåøåíèé

3

a = 0, b = 2, c = – 6

x=3

x=3

4

a = 2, b = 1, c = –3

x1 = 1, x2 = –1,5

x1=1

5

a = –1, b = –1, c = –2

Íåò âåùåñòâåííûõ êîðíåé

Íåò âåùåñòâåííûõ êîðíåé

x2=-1,5

Òåïåðü, àíàëèçèðóÿ ðåçóëüòàòû òåñòèðîâàíèÿ, äåëàåì âûâîä: ïðàâèëüíîñòü àëãîðèòìà è ðàáîòîñïîñîáíîñòü ïðîãðàììû äîêàçàíà. Åñëè êàêîé-òî èç âàðèàíòîâ òåñòà íå äàåò îæèäàåìîãî ðåçóëüòàòà, çíà÷èò, â ïðîãðàììå åñòü îøèáêè. Íàïðèìåð, ïóñòü ïðîãðàììèñò îøèáî÷íî çàïèñàë ñëåäóþùèå îïåðàòîðû ïðèñâàèâàíèÿ äëÿ âû÷èñëåíèÿ êîðíåé: x1:=(-b+sqrt(d))/2*a; x2:=(-b-sqrt(d))/2*a; Ðåçóëüòàòû âñåõ òåñòîâ, êðîìå 4-ãî, ñîâïàëè ñ îæèäàåìûìè, à â 4-ì òåñòå ïîëó÷èëîñü: x1=4, x2=-6. Ïîñëå ýòîãî ïðîãðàììèñò îáðàòèò âíèìàíèå íà âûðàæåíèÿ äëÿ âû÷èñëåíèÿ êîðíåé è èñïðàâèò îøèáêè: ëèáî çàìåíèò çíàê óìíîæåíèÿ íà çíàê äåëåíèÿ, ëèáî çàêëþ÷èò â ñêîáêè âûðàæåíèå 2*a.

Ñèñòåìà îñíîâíûõ ïîíÿòèé Ýòàïû àëãîðèòìè÷åñêîãî ðåøåíèÿ çàäà÷è Ïîñòàíîâêà çàäà÷è

Îïðåäåëåíèå èñõîäíûõ äàííûõ è èñêîìûõ ðåçóëüòàòîâ (â òåðìèíàõ ïðåäìåòíîé îáëàñòè)

Ôîðìàëèçàöèÿ

Ïåðåõîä ê çàäà÷å îáðàáîòêè íåêîòîðîé çíàêîâîé ñèñòåìû. Íàïðèìåð, ê ìàòåìàòè÷åñêîé çàäà÷å

Àíàëèç ìàòåìàòè÷åñêîé çàäà÷è

Îïðåäåëåíèå âñåõ âàðèàíòîâ ìíîæåñòâ çíà÷åíèé èñõîäíûõ äàííûõ. Îïðåäåëåíèå äëÿ êàæäîãî âàðèàíòà ñïîñîáà ðåøåíèÿ è âèäà âûõîäíûõ äàííûõ (ðåçóëüòàòîâ)

Ïîñòðîåíèå àëãîðèòìà

Îïðåäåëåíèå ñòðóêòóðû àëãîðèòìà, ïîñëåäîâàòåëüíîñòè êîìàíä. Ïðåäñòàâëåíèå íà êàêîì-ëèáî ÿçûêå îïèñàíèÿ àëãîðèòìîâ (áëîê-ñõåìû, ó÷åáíûé Àëãîðèòìè÷åñêèé ÿçûê)

Ñîñòàâëåíèå ïðîãðàììû

Çàïèñü è îòëàäêà ïðîãðàììû íà ÿçûêå ïðîãðàì��èðîâàíèÿ. Ñòðîãîå ñîáëþäåíèå ïðàâèë ñèíòàêñèñà ÿçûêà

Òåñòèðîâàíèå

Ýêñïåðèìåíòàëüíîå äîêàçàòåëüñòâî ïðàâèëüíîñòè àëãîðèòìà è ðàáîòîñïîñîáíîñòè ïðîãðàììû. Òåñò — âàðèàíò ðåøåíèÿ çàäà÷è ñ çàäàííûìè èñõîäíûìè äàííûìè, äëÿ êîòîðûõ èçâåñòåí ðåçóëüòàò. Ïëàí òåñòèðîâàíèÿ ñòðîèòñÿ òàê, ÷òîáû íàèáîëåå ïîëíî ïðîâåðèòü ðàáîòó ïðîãðàììû

Âîïðîñû è çàäàíèÿ 1. Ñôîðìóëèðóéòå îñíîâíûå öåëè ýòàïîâ àëãîðèòìè÷åñêîãî ðåøåíèÿ çàäà÷è.

Êîìïüþòåðíûé ïðàêòèêóì. Ðàçäåë «Ïðîãðàììèðîâàíèå»


1.7.5. Àëãîðèòìû ïîèñêà äàííûõ

1.7.5

145

Àëãîðèòìû ïîèñêà äàííûõ

Âñïîìíèòå, êàê ÷àñòî ïðèõîäèòñÿ âàì èñêàòü êàêèå-íèáóäü äàííûå. Òàêèõ ïðèìåðîâ ìíîãî è â áûòîâûõ ñèòóàöèÿõ, è â ó÷åáíîì ïðîöåññå. Íàïðèìåð, â ïðîãðàììå òåëåïåðåäà÷ âû èùåòå âðåìÿ íà÷àëà òðàíñëÿöèè ôóòáîëüíîãî ìàò÷à; â ðàñïèñàíèè ïîåçäîâ — ñâåäåíèÿ î ïîåçäå, èäóùåì äî íóæíîé âàì ñòàíöèè. Íà óðîêå ôèçèêè, ðåøàÿ çàäà÷ó, èùåòå â òàáëèöå óäåëüíûé âåñ ìåäè. Íà óðîêå àíãëèéñêîãî ÿçûêà, ÷èòàÿ èíîñòðàííûé òåêñò, èùåòå â ñëîâàðå ïåðåâîä ñëîâà íà ðóññêèé ÿçûê. Ïðè ðàáîòå íà êîìïüþòåðå âàì íåðåäêî ïðèõîäèòñÿ èñêàòü íà åãî äèñêàõ íóæíûå ôàéëû èëè ïðîèçâîäèòü ïîèñê â Èíòåðíåòå èíòåðåñóþùèõ âàñ ñâåäåíèé. Ïîñòàíîâêà çàäà÷è ïîèñêà äàííûõ Ïðè âûïîëíåíèè ëþáîãî ïîèñêà äàííûõ èìåþòñÿ òðè ñîñòàâëÿþùèå ïîèñêà. Ïåðâàÿ ñîñòàâëÿþùàÿ ïîèñêà: íàáîð äàííûõ. Ýòî âñÿ ñîâîêóïíîñòü äàííûõ, ñðåäè êîòîðûõ îñóùåñòâëÿåòñÿ ïîèñê. Ýëåìåíòû íàáîðà äàííûõ áóäåì íàçûâàòü çàïèñÿìè. Çàïèñü ìîæåò ñîñòîÿòü èç îäíîãî èëè íåñêîëüêèõ ïîëåé. Íàïðèìåð, çàïèñü â çàïèñíîé êíèæêå ñîñòîèò èç ïîëåé: ôàìèëèÿ, àäðåñ, òåëåôîí. Âòîðàÿ ñîñòàâëÿþùàÿ ïîèñêà: êëþ÷ ïîèñêà. Ýòî òî ïîëå çàïèñè, ïî çíà÷åíèþ êîòîðîãî ïðîèñõîäèò ïîèñê. Íàïðèìåð, ïîëå «Ôàìèëèÿ», åñëè ìû èùåì íîìåð òåëåôîíà îïðåäåë¸ííîãî ÷åëîâåêà. Òðåòüÿ ñîñòàâëÿþùàÿ ïîèñêà: êðèòåðèé ïîèñêà (óñëîâèå ïîèñêà). Ýòî òî óñëîâèå, êîòîðîìó äîëæíî óäîâëåòâîðÿòü çíà÷åíèå êëþ÷à ïîèñêà â èñêîìîé çàïèñè. Íàïðèìåð, åñëè âû èùåòå òåëåôîí Ñèäîðîâà, òî êðèòåðèé ïîèñêà çàêëþ÷àåòñÿ â ñîâïàäåíèè ôàìèëèè Ñèäîðîâ ñ ôàìèëèåé, óêàçàííîé â î÷åðåäíîé çàïèñè â êíèæêå. Çàìåòèì, ÷òî êëþ÷åé ïîèñêà ìîæåò áûòü íåñêîëüêî, òîãäà è êðèòåðèé ïîèñêà áóäåò ñîñòàâíûì, ó÷èòûâàþùèì çíà÷åíèÿ ñðàçó íåñêîëüêèõ êëþ÷åé. Íàïðèìåð, åñëè â ñïðàâî÷íèêå èìååòñÿ íåñêîëüêî çàïèñåé ñ ôàìèëèåé Ñèäîðîâ, íî ó íèõ ðàçíûå èìåíà, à âàì íóæåí Ñèäîðîâ Âëàäèìèð, òî ñîñòàâíîé êðèòåðèé ïîèñêà áóäåò âêëþ÷àòü äâà óñëîâèÿ: ôàìèëèÿ — Ñèäîðîâ, èìÿ — Âëàäèìèð. Êàê ïðè «ðó÷íîì» ïîèñêå, òàê è ïðè àâòîìàòèçèðîâàííîì âàæíåéøåé çàäà÷åé ÿâëÿåòñÿ ñîêðàùåíèå âðåìåíè ïîèñêà. Îíî çàâèñèò îò äâóõ îáñòîÿòåëüñòâ: 1) êàê îðãàíèçîâàí íàáîð äàííûõ â èíôîðìàöèîííîì õðàíèëèùå (â ñëîâàðå, â ñïðàâî÷íèêå, íà äèñêàõ êîìïüþòåðà è ïð.); 2) êàêèì àëãîðèòìîì ïîèñêà ïîëüçóåòñÿ ÷åëîâåê èëè êîìïüþòåð.


146

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Îðãàíèçàöèÿ íàáîðà äàííûõ Îòíîñèòåëüíî ïåðâîãî ïóíêòà ìîãóò áûòü äâå ñèòóàöèè: ëèáî äàííûå íèêàê íå îðãàíèçîâàíû, ëèáî äàííûå ñòðóêòóðèðîâàíû.

Ïîä ñëîâàìè «äàííûå ñòðóêòóðèðîâàíû» ïîíèìàåòñÿ íàëè÷èå óïîðÿäî÷åííîñòè äàííûõ â èõ õðàíèëèùå: â ñëîâàðå, â ðàñïèñàíèè, â êîìïüþòåðíîé áàçå äàííûõ. Ñòðóêòóðèðîâàííûå ñèñòåìû äàííûõ, õðàíÿùèåñÿ íà êàêèõ-ëèáî íîñèòåëÿõ, áóäåì íàçûâàòü ñòðóêòóðàìè äàííûõ. Îäíàêî áûâàåò è òàê, ÷òî õðàíèìàÿ èíôîðìàöèÿ íå ñèñòåìàòèçèðîâàíà. Ïðåäñòàâüòå ñåáå, ÷òî âû çàïèñûâàëè àäðåñà è òåëåôîíû ñâîèõ çíàêîìûõ â çàïèñíóþ êíèæêó áåç àëôàâèòíîãî èíäåêñà («ëåñåíêè» èç áóêâ ïî êðàÿì ëèñòîâ). Çàïèñè âåëèñü â ïîðÿäêå ïîñòóïëåíèÿ, à íå â àëôàâèòíîì ïîðÿäêå. À òåïåðü âàì íóæíî íàéòè òåëåôîí îïðåäåë¸ííîãî ÷åëîâåêà. ×òî îñòàåòñÿ äåëàòü? Ïðîñìàòðèâàòü âñþ êíèæêó ïîäðÿä, ïîêà íå ïîïàä¸òñÿ íóæíàÿ çàïèñü! Õîðîøî, åñëè ïîâåç¸ò è çàïèñü îêàæåòñÿ â íà÷àëå êíèæêè. À åñëè â êîíöå? È òóò âû ïîéì¸òå, ÷òî êíèæêà ñ àëôàâèòîì ãîðàçäî óäîáíåå. Ïîñëåäîâàòåëüíûé ïîèñê Ñèòóàöèþ, îïèñàííóþ âûøå, íàçîâ¸ì ïîèñêîì â íåñòðóêòóðèðîâàííîì íàáîðå. Ðàçóìíûé àëãîðèòì äëÿ òàêîãî ïîèñêà îñòà¸òñÿ îäèí: ïîñëåäîâàòåëüíûé ïåðåáîð âñåõ ýëåìåíòîâ íàáîðà äàííûõ äî íàõîæäåíèÿ íóæíîãî ýëåìåíòà. Êîíå÷íî, ìîæíî ïðîñìàòðèâàòü íàáîð äàííûõ â ñëó÷àéíîì ïîðÿäêå (ìåòîäîì ñëó÷àéíîãî ïåðåáîðà), íî ýòî ìîæåò îêàçàòüñÿ åùå õóæå, ïîñêîëüêó íåèçáåæíû ïîâòîðíûå ïðîñìîòðû îäíèõ è òåõ æå ýëåìåíòîâ, ÷òî òîëüêî óâåëè÷èò âðåìÿ ïîèñêà. Îïèøåì àëãîðèòì ïîèñêà ìåòîäîì ïîñëåäîâàòåëüíîãî ïåðåáîðà. Äëÿ îïèñàíèÿ àëãîðèòìà èñïîëüçóåì ÿçûê áëîê-ñõåì (ðèñ. 1.27).  àëãîðèòìå ó÷ò¸ì äâà âîçìîæíûõ âàðèàíòà ðåçóëüòàòà: èñêîìûå ñâåäåíèÿ íàéäåíû è ñâåäåíèÿ íå íàéäåíû. Ðåçóëüòàòû ïîèñêà íåðåäêî îêàçûâàþòñÿ îòðèöàòåëüíûìè, åñëè â íàáîðå íåò èñêîìûõ äàííûõ. Èç áëîê-ñõåìû âèäíî, ÷òî åñëè èñêîìûé ýëåìåíò íàéäåí, òî ïîèñê ìîæåò çàêîí÷èòüñÿ äî îêîí÷àíèÿ ïðîñìîòðà âñåãî íàáîðà äàííûõ. Åñëè æå ýëåìåíò íå îáíàðóæåí, òî ïîèñê çàêîí÷èòñÿ òîëüêî ïîñëå ïðîñìîòðà âñåãî íàáîðà äàííûõ. Çàäàäèìñÿ âîïðîñîì: êàêîå ñðåäíåå ÷èñëî ïðîñìîòðîâ ïðèõîäèòñÿ âûïîëíÿòü ïðè èñïîëüçîâàíèè ìåòîäà ïîñëåäîâàòåëüíîãî ïåðåáîðà? Åñòü äâà êðàéíèõ ÷àñòíûõ ñëó÷àÿ:


1.7.5. Àëãîðèòìû ïîèñêà äàííûõ

147

Ðèñ. 1.27. Àëãîðèòì ïîèñêà ïîñëåäîâàòåëüíûì ïåðåáîðîì

1) èñêîìûé ýëåìåíò îêàçàëñÿ ïåðâûì ñðåäè ïðîñìàòðèâàåìûõ. Òîãäà ïðîñìîòð âñåãî îäèí; 2) èñêîìûé ýëåìåíò îêàçàëñÿ ïîñëåäíèì â ïîðÿäêå ïåðåáîðà. Òîãäà êîëè÷åñòâî ïðîñìîòðîâ ðàâíî N, ãäå N — ðàçìåð íàáîðà äàííûõ. Òî æå áóäåò, åñëè ýëåìåíò âîîáùå íå íàéäåí. Âñÿêèå ñðåäíèå âåëè÷èíû ïðèíÿòî îïðåäåëÿòü ïî áîëüøîìó ÷èñëó ïðîâåäåííûõ îïûòîâ. Íà ýòîì ïðèíöèïå îñíîâàíà öåëàÿ íàóêà ïîä íàçâàíèåì «ìàòåìàòè÷åñêàÿ ñòàòèñòèêà». Íåòðóäíî ïîíÿòü, ÷òî åñëè ÷èñëî îïûòîâ (ïîèñêîâ) áóäåò î÷åíü áîëüøèì, òî ñðåäíåå ÷èñëî ïðîñìîòðîâ âî âñåõ ýòèõ îïûòàõ îêàæåòñÿ ïðèáëèçèòåëüíî ðàâíûì N/2. Ýòà âåëè÷èíà îïðåäåëÿåò äëèòåëüíîñòü ïîèñêà – ãëàâíóþ õàðàêòåðèñòèêó ïðîöåññà ïîèñêà. Ïîèñê ïîëîâèííûì äåëåíèåì  êà÷åñòâå ïðèìåðà ïîèñêà ðàññìîòðèì èãðó â óãàäûâàíèå öåëîãî ÷èñëà â îïðåäåë¸ííîì äèàïàçîíå, íàïðèìåð îò 1 äî 128. Îäèí èãðàþùèé çàãàäàë ÷èñëî, âòîðîé ïûòàåòñÿ åãî óãàäàòü, çàäàâàÿ âîïðîñû, íà êîòîðûå îòâåòîì ìîæåò áûòü òîëüêî «äà» èëè «íåò». Ýòî çàäà÷à ïîèñêà, â êîòîðîé íàáîðîì äàííûõ ÿâëÿåòñÿ ìíîæåñòâî íàòóðàëüíûõ ÷èñåë îò 1 äî 128, êëþ÷îì ïîèñêà — çíà÷åíèÿ ÷èñåë, à êðèòåðèåì ïîèñêà — ñîâïàäåíèå çíà÷åíèÿ çàäóìàííîãî èãðîêîì ÷èñëà ñ îäíèì èç ÷èñåë íàáîðà äàííûõ.


148

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Åñëè âîïðîñû çàäàâàòü òàêèå: «×èñëî ðàâíî åäèíèöå?». Îòâåò: «Íåò». Âîïðîñ: «×èñëî ðàâíî äâóì?» è ò. ä., òî ýòî áóäåò ïîñëåäîâàòåëüíûé ïåðåáîð. Ñðåäíåå ÷èñëî âîïðîñîâ ïðè ìíîãîêðàòíîì ïîâòîðåíèè èãðû ñ çàãàäûâàíèåì ðàçíûõ ÷èñåë èç äàííîãî äèàïàçîíà áóäåò ðàâíî 128/2 = 64. Îäíàêî ïîèñê ìîæíî îñóùåñòâèòü ãîðàçäî áûñòðåå, åñëè ó÷åñòü óïîðÿäî÷åííîñòü íàòóðàëüíîãî ðÿäà ÷èñåë, áëàãîäàðÿ ÷åìó ìåæäó ÷èñëàìè äåéñòâóþò îòíîøåíèÿ «áîëüøå»/«ìåíüøå». Ñ ïîäîáíîé ñèòóàöèåé ìû ñ âàìè óæå âñòðå÷àëèñü â ðàçäåëå 1.2.2, ãîâîðÿ îá èçìåðåíèè èíôîðìàöèè. Òàì îáñóæäàëè ñïîñîá óãàäûâàíèÿ îäíîãî çíà÷åíèÿ èç ÷åòûð¸õ (ïðèìåð ñ îöåíêàìè çà ýêçàìåí) è îäíîãî èç âîñüìè (ïðèìåð ñ âàãîíàìè ïîåçäà). Ïðèìåíÿâøèéñÿ ìåòîä ïîèñêà íàçûâàåòñÿ ìåòîäîì ïîëîâèííîãî äåëåíèÿ. Äðóãèå âàðèàíòû íàçâàíèÿ ýòîãî ìåòîäà: ìåòîä áèíàðíîãî ïîèñêà, ìåòîä áèñåêöèé, ìåòîä äèõîòîìèè. Ñîãëàñíî ýòîìó ìåòîäó, âîïðîñû íàäî çàäàâàòü òàê, ÷òîáû êàæäûé îòâåò óìåíüøàë ÷èñëî íåèçâåñòíûõ â äâà ðàçà. Òàê æå íàäî èñêàòü è îäíî ÷èñëî èç 128. Ïåðâûé âîïðîñ: «×èñëî ìåíüøå 65?» — «Äà!». «×èñëî áîëüøå 32?» — «Íåò!» è ò. ä. Ëþáîå ÷èñëî óãàäûâàåòñÿ çà 7 âîïðîñîâ. Ýòî ñâÿçàíî ñ òåì, ÷òî 128 = 27. Ñíîâà ðàáîòàåò ãëàâíàÿ ôîðìóëà èíôîðìàòèêè. Ìåòîä ïîëîâèííîãî äåëåíèÿ äëÿ óïîðÿäî÷åííîãî íàáîðà äàííûõ ðàáîòàåò ãîðàçäî áûñòðåå (â ñðåäíåì), ÷åì ìåòîä ïîñëåäîâàòåëüíîãî ïåðåáîðà. Íà ðèñ. 1.28 íàãëÿäíî ïîêàçàí ïðîöåññ ïîèñêà (óãàäûâàíèÿ) ÷èñëà 3 èç äèàïàçîíà öåëûõ ÷èñåë îò 1 äî 8.

Ðèñ. 1.28. Âûïîëíåíèå ïîèñêà ïîëîâèííûì äåëåíèåì

Åñëè ìàêñèìàëüíîå ÷èñëî äèàïàçîíà N íå ðàâíî öåëîé ñòåïåíè äâîéêè, òî îïòèìàëüíîå êîëè÷åñòâî âîïðîñîâ íå áóäåò ïîñòîÿííîé âåëè÷èíîé, à áóäåò ðàâíî îäíîìó èç äâóõ çíà÷åíèé: X èëè X + 1, ãäå 2X < N < 2X+1. Íàïðèìåð, åñëè ÷èñëî èùåòñÿ â äèàïàçîíå îò 1 äî 7, òî åãî ìîæíî óãàäàòü çà 2 èëè 3 âîïðîñà, ïîñêîëüêó 22 < 7 < 23. ×èñëî èç äèàïàçîíà îò 1 äî 200 ìîæíî óãàäàòü çà 7 èëè 8 âîïðîñîâ, ïîñêîëüêó 27 < 200 < 28.


1.7.5. Àëãîðèòìû ïîèñêà äàííûõ

149

Ïðîâåðüòå ýòè óòâåðæäåíèÿ ýêñïåðèìåíòàëüíî! Ïîëîâèííûì äåëåíèåì ìîæíî èñêàòü, íàïðèìåð, íóæíóþ ñòðàíèöó â òîëñòîé êíèãå: îòêðûòü êíèãó ïîñåðåäèíå, ïîíÿòü â êàêîé èç ïîëîâèí íàõîäèòñÿ èñêîìàÿ ñòðàíèöà. Çàòåì îòêðûòü ñåðåäèíó ýòîé ïîëîâèíû è ò. ä. Íàáîð äàííûõ ìîæåò áûòü óïîðÿäî÷åí íå òîëüêî ïî ÷èñëîâîìó êëþ÷ó. Äðóãîé âàðèàíò óïîðÿäî÷åíèÿ — ïî àëôàâèòó. Ìåòîä ïîëîâèííîãî äåëåíèÿ ÿâëÿåòñÿ óíèâåðñàëüíûì ìåòîäîì ïîèñêà äëÿ ëþáûõ óïîðÿäî÷åííûõ íàáîðîâ äàííûõ. Áëî÷íûé ïîèñê Ñíîâà âñïîìíèì ïðèìåð ñ çàïèñíîé êíèæêîé. Ïóñòü â âàøåé çàïèñíîé êíèæêå èìååòñÿ àëôàâèòíûé èíäåêñ â âèäå âûðåçàííîé «ëåñåíêè» èëè â âèäå áóêâ ââåðõó ñòðàíèö. Íåñêîëüêî ñòðàíèö, ïîìå÷åííûõ îäíîé áóêâîé, íàçîâ¸ì áëîêîì. Èìååòñÿ áëîê «À», áëîê «Á» è ò. ä. äî áëîêà «ß». Àëôàâèòíûé èíäåêñ — ýòî ÷àñòü êëþ÷à ïîèñêà (íàïðèìåð, ïåðâàÿ áóêâà). Çàïèñè òåëåôîíîâ è àäðåñîâ ðàñïðåäåëÿëèñü ïî áëîêàì â ñîîòâåòñòâèè ñ ïåðâîé áóêâîé ôàìèëèè. Îäíàêî âíóòðè áëîêà çàïèñè íå óïîðÿäî÷åíû â àëôàâèòíîì ïîðÿäêå ñëåäóþùèõ áóêâ, êàê ýòî äåëàåòñÿ â ñëîâàðÿõ è ýíöèêëîïåäèÿõ. Çàïèñè â êíèæêå ìû âåä¸ì â ïîðÿäêå ïîñòóïëåíèÿ. Ïðè òàêîé îðãàíèçàöèè äàííûõ ïîèñê íóæíîãî òåëåôîíà áóäåò ïðîèñõîäèòü áëî÷íî-ïîñëåäîâàòåëüíûì ìåòîäîì: 1) ñ ïîìîùüþ àëôàâèòíîãî èíäåêñà âûáèðàåòñÿ áëîê ñ íóæíîé áóêâîé; 2) âíóòðè áëîêà ïîèñê ïðîèçâîäèòñÿ ïóòåì ïîñëåäîâàòåëüíîãî ïåðåáîðà. Áîëüøèíñòâî êíèã â íà÷àëå èëè â êîíöå òåêñòà ñîäåðæàò îãëàâëåíèÿ: ñïèñîê íàçâàíèé ðàçäåëîâ ñ óêàçàíèåì ñòðàíèö, ñ êîòîðûõ îíè íà÷èíàþòñÿ. Ðàçäåëû — ýòî òå æå áëîêè. Ïîèñê íóæíîé èíôîðìàöèè â êíèãå íà÷èíàåòñÿ ñ ïðîñìîòðà îãëàâëåíèÿ, ñ äàëüíåéøèì ïåðåõîäîì ê íóæíîìó ðàçäåëó, êîòîðûé çàòåì ïðîñìàòðèâàåòñÿ ïîñëåäîâàòåëüíî. Î÷åâèäíî, ýòî òîò æå áëî÷íî-ïîñëåäîâàòåëüíûé ìåòîä ïîèñêà. Ñïèñêè ñ óêàçàíèåì íà áëîêè äàííûõ íàçûâàþòñÿ ñïèñêàìè óêàçàòåëåé. Ðàçáèåíèå äàííûõ íà áëîêè ìîæåò áûòü ìíîãîóðîâíåâûì.  òîëñòûõ ñëîâàðÿõ áëîê íà áóêâó «À» ðàçáèâàåòñÿ, íàïðèìåð, íà áëîêè ïî âòîðîé áóêâå: îò «ÀÁ» äî «ÀÆ», ñëåäóþùèé îò «ÀÇ» äî «ÀÍ» è ò. ä. Ñëîâà âíóòðè áëîêà óïîðÿäî÷åíû ïî âñåì äðóãèì áóêâàì. Òàêîé ïîðÿäîê íàçûâàåòñÿ ëåêñèêîãðàôè÷åñêèì.  ïîèñêîâîì ìíîæåñòâå ñ ìíîãîóðîâíåâîé áëî÷íîé ñòðóêòóðîé ïðîèñõîäèò ïîèñê ìåòîäîì ñïóñêà: ñíà÷àëà îòûñêèâàåòñÿ íóæíûé áëîê ïåðâîãî óðîâíÿ, çàòåì âòîðîãî è ò. ä. Âíóòðè áëîêà ïîñëåäíåãî óðîâíÿ ìîæåò ïðîèñõîäèòü ëèáî ïîñëåäîâàòåëüíûé ïîèñê (åñëè äàííûõ â íåì îòíîñèòåëüíî íåìíîãî), ëèáî îïòèìèçèðîâàííûé ïîèñê òèïà ïîëîâèííîãî äåëåíèÿ. Ïîèñêó ìåòîäîì ñïóñêà ÷àñòî ïîìîãàþò ìíîãîóðîâíåâûå ñïèñêè óêàçàòåëåé.


150

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Ïîèñê â èåðàðõè÷åñêîé ñòðóêòóðå äàííûõ Ìíîãîóðîâíåâûå áëî÷íûå ñòðóêòóðû õðàíåíèÿ äàííûõ íàçûâàþòñÿ èåðàðõè÷åñêèìè ñòðóêòóðàìè. Ïî òàêîìó ïðèíöèïó îðãàíèçîâàíî õðàíåíèå ôàéëîâ â ôàéëîâîé ñèñòåìå êîìïüþòåðà. Òî, ÷òî ìû íàçûâàëè âûøå áëîêàìè, â ôàéëîâîé ñèñòåìå íàçûâàåòñÿ êàòàëîãàìè èëè ïàïêàìè, à ãðàôè÷åñêîå èçîáðàæåíèå ñòðóêòóðû áëîêîâ-ïàïîê íàçûâàåòñÿ äåðåâîì êàòàëîãîâ. Ïðèìåð îòîáðàæåíèÿ íà ýêðàíå êîìïüþòåðà äåðåâà êàòàëîãîâ ïîêàçàí íà ðèñ. 1.29.

Ðèñ.1.29. Äåðåâî êàòàëîãîâ

Íà ìåñòîïîëîæåíèå ôàéëà â èåðàðõè÷åñêîé ñòðóêòóðå óêàçûâàåò ïóòü ê ôàéëó. Îïåðàöèîííàÿ ñèñòåìà ïîìîæåò íàéòè íóæíûé âàì ôàéë ïî êîìàíäå «Ïîèñê». Ðåçóëüòàò ïîèñêà ïðåäñòàâëÿåòñÿ â âèäå ïóòè ê ôàéëó, íà÷èíàÿ îò êîðíåâîãî êàòàëîãà ïîñëåäîâàòåëüíî ïî óðîâíÿì äåðåâà äî êàòàëîãà (ïàïêè), íåïîñðåäñòâåííî ñîäåðæàùåé âàø ôàéë. Íàïðèìåð, ïðè ïîèñêå ôàéëà ñ èìåíåì ke.exe áóäåò âûäàí ñëåäóþùèé îòâåò: E:\GAME\GAMES\ARCON\ke.exe Çäåñü óêàçàí ïîëíûé ïóòü ê ôàéëó íà ëîãè÷åñêîì äèñêå Å: îò êîðíåâîãî êàòàëîãà äî ñàìîãî ôàéëà. Èìåÿ òàêóþ ïîäñêàçêó, âû ëåãêî îòûùåòå íóæíûé ôàéë íà äèñêå ìåòîäîì ñïóñêà ïî äåðåâó êàòàëîãîâ. Êàòàëîã èåðàðõè÷åñêîé ñòðóêòóðû ôàéëîâîé ñèñòåìû êîìïüþòåðà ÿâëÿåòñÿ ìíîãîóðîâíåâûì ñïèñêîì óêàçàòåëåé.


1.7.5. Àëãîðèòìû ïîèñêà äàííûõ

151

Ñèñòåìà îñíîâíûõ ïîíÿòèé Ïîèñê äàííûõ Àòðèáóòû ïîèñêà Êðèòåðèé ïîèñêà Êëþ÷ ïîèñêà Íàáîð äàííûõ âñÿ ñîâîêóïíîñòü äàí- ïîëå çàïèñè, ïî óñëîâèå, êîòîðîìó äîëæíî óäîâëåòíûõ, ñðåäè êîòîðûõ îñó- çíà÷åíèþ êîòî- âîðÿòü çíà÷åíèå êëþ÷à ïîèñêà â èñðîãî ïðîèñõî- êîìîé çàïèñè ùåñòâëÿåòñÿ ïîèñê äèò ïîèñê Îðãàíèçàöèÿ íàáîðà äàííûõ Íåñòðóêòóðèðîâàííûé íàáîð

Ñòðóêòóðà äàííûõ ìíîãîËèíåéíàÿ óïî- Áëî÷íàÿ îäíî- Áëî÷íàÿ óðîâíåâàÿ (èåðàððÿäî÷åííîñòü ïî óðîâíåâàÿ ñòðóêòóðà õè÷åñêàÿ) ñòðóêêëþ÷ó òóðà Àëãîðèòìû ïîèñêà

Ïîèñê ïîëîâèí- Áëî÷íî-ïîñëåÑëó÷àéíûé ïåðåáîð. äîâàòåëüíûé ïîÏîñëåäîâàòåëüíûé ïåðå- íûì äåëåíèåì èñê. Èñïîëüçîáîð âàíèå èíäåêñîâ è ñïèñêîâ óêàçàòåëåé

Ïîèñê ìåòîäîì ñïóñêà ïî äåðåâó. Èñïîëüçîâàíèå ìíîãîóðîâíåâûõ èíäåêñîâ è ñïèñêîâ óêàçàòåëåé

Âîïðîñû è çàäàíèÿ 1. ×òî îòíîñèòñÿ ê àòðèáóòàì ïîèñêà? 2. Ïðèâåäèòå ïðèìåðû íåîðãàíèçîâàííûõ è ñòðóêòóðèðîâàííûõ íàáîðîâ äàííûõ, ïîìèìî òåõ, ÷òî äàíû â òåêñòå ïàðàãðàôà. 3.  æóðíàëå óñïåâàåìîñòè ó÷àùèõñÿ ñî ñâåäåíèÿìè î ãîäîâûõ îöåíêàõ òðåáóåòñÿ îñóùåñòâèòü ïîèñê âñåõ îòëè÷íèêîâ ïî èíôîðìàòèêå. ×òî â ýòîé ñèòóàöèè ÿâëÿåòñÿ íàáîðîì äàííûõ, ÷òî — êëþ÷îì ïîèñêà, ÷òî — êðèòåðèåì ïîèñêà? 4. Ïîïðîáóéòå âíåñòè èçìåíåíèå â áëîê-ñõåìó íà ðèñ. 1.27 òàê, ÷òîáû àëãîðèòì ó÷èòûâàë âîçìîæíîñòü âûáîðà íåñêîëüêèõ ýëåìåíòîâ íàáîðà äàííûõ, óäîâëåòâîðÿþùèõ îäíîìó è òîìó æå çíà÷åíèþ êðèòåðèÿ ïîèñêà. Íàïðèìåð, ðåøèòü çàäà÷ó ïîèñêà èç ïðåäûäóùåãî çàäàíèÿ. 5. Íà ñòàðûõ øêîëüíûõ êîìïüþòåðàõ («Êîðâåò», «Ýëåêòðîíèêà-ÓÊÍÖ» è äð.) ôàéëîâàÿ ñèñòåìà áûëà îðãàíèçîâàíà òàê. Íà êîìïüþòåðå ìîãëî áûòü äâà äèñêîâîäà: A: è B:. Èìåíà âñåõ ôàéëîâ â êàòàëîãå îäíîãî äèñêà ñîñòàâëÿëè ëèíåéíóþ ïîñëåäîâàòåëüíîñòü. Ïîëíîå èìÿ ôàéëà âûãëÿäåëî, íàïðèìåð, òàê: A:file1.dat èëè B:file2.txt. Ê êàêîìó òèïó ñòðóêòóð îòíîñèòñÿ îðãàíèçàöèÿ ôàéëîâ íà ýòèõ êîìïüþòåðàõ? 6. ×òî òàêîå ñïèñîê óêàçàòåëåé? Ïîñìîòðèòå ñâîè ó÷åáíèêè ïî ðàçíûì ïðåäìåòàì. Îïðåäåëèòå, êàêèå ñïèñêè óêàçàòåëåé òàì èñïîëüçîâàíû: ïðîñòûå èëè ìíîãîóðîâíåâûå?


152

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

7. Åñëè ó âàñ åñòü ìíîãîòîìíàÿ ýíöèêëîïåäèÿ, ïîñìîòðèòå, êàê ñòðóêòóðèðîâàíà â íåé èíôîðìàöèÿ. ×òî çäåñü ÿâëÿåòñÿ áëîêîì ïåðâîãî óðîâíÿ? 8. Ìîæíî ëè êàòàëîã áèáëèîòåêè íàçâàòü ñïèñêîì óêàçàòåëåé? Ïî÷åìó? Åñëè äà, òî êàêîé îí: ïðîñòîé èëè ìíîãîóðîâíåâûé?

1.7.6

Ïðîãðàììèðîâàíèå ïîèñêà

Äëÿ ìíîãèõ çàäà÷ ïîèñêà õàðàêòåðíà ñëåäóþùàÿ îðãàíèçàöèÿ äàííûõ: èìÿ îáúåêòà — õàðàêòåðèñòèêà îáúåêòà. Íàïðèìåð: ôàìèëèÿ ó÷åíèêà — îöåíêà çà ýêçàìåí; íàçâàíèå êîìàíäû — êîëè÷åñòâî î÷êîâ â òóðíèðíîé òàáëèöå; íàçâàíèå âåùåñòâà — óäåëüíûé âåñ; íàçâàíèå òîâàðà — öåíà òîâàðà è ò. ä. Âî âñåõ ýòèõ ïðèìåðàõ õàðàêòåðèñòèêè îáúåêòîâ ÿâëÿþòñÿ ÷èñëàìè, à èìåíà — òåêñòàìè (ñëîâàìè). Êîíå÷íî, òàê áûâàåò íå âñåãäà, êðîìå òîãî, õàðàêòåðèñòèê ìîæåò áûòü íåñêîëüêî. Íàïðèìåð: íàçâàíèå âåùåñòâà — óäåëüíûé âåñ — òåïëî¸ìêîñòü — óäåëüíîå ñîïðîòèâëåíèå. Çäåñü òðè õàðàêòåðèñòèêè. Èìÿ òàêæå ìîæåò áûòü ñîñòàâíûì. Íàïðèìåð: ôàìèëèÿ, èìÿ, îò÷åñòâî ó÷èòåëÿ.  ïîñëåäóþùèõ ïðèìåðàõ ìû îãðàíè÷èìñÿ ïðîñòåéøèì âàðèàíòîì: èìÿ — ñèìâîëüíàÿ ïîñëåäîâàòåëüíîñòü (ñëîâî), õàðàêòåðèñòèêà — ÷èñëî.  êà÷åñòâå ïðèìåðà ðàññìîòðèì òàáëèöó ôóòáîëüíîãî ÷åìïèîíàòà ïðåìüåð-ëèãè À  Ðîññèè çà 2008 ãîä. Íà ðèñ. 1.30 â ñòîëáöå Êîìàíäû Î÷êè À íàõîäÿòñÿ íàçâàíèÿ êîìàíä, â ñòîëáöå 1 Ðóáèí 60  — íàáðàííûå èìè î÷êè. Äàííûå îòñîðòè2 ÖÑÊÀ 56 ðîâàíû ïî óáûâàíèþ êîëè÷åñòâà î÷êîâ, ïîñêîëüêó èìåííî â òàêîì âèäå îáû÷íî ïðåä3 Äèíàìî 54 ñòàâëÿþòñÿ ðåçóëüòàòû ÷åìïèîíàòà. Ïîáå4 Àìêàð 51 äèòåëè íàõîäÿòñÿ â íà÷àëå òàêîé òàáëèöû, 5 Çåíèò 48 à àóòñàéäåðû — â êîíöå. 6 Êðûëüÿ Ñîâåòîâ 48 Òàêóþ èíôîðìàöèþ óäîáíî çàíåñòè â 7 Ëîêîìîòèâ 47 ýëåêòðîííóþ òàáëèöó.  ðåçóëüòàòå èíôîð8 Ñïàðòàê-Ìîñêâà 44 ìàöèÿ ñòàíîâèòñÿ îáîçðèìîé. Êðîìå òîãî, 9 Ìîñêâà 38 òàáëèöó ìîæíî ñîðòèðîâàòü â ëþáîì ïîðÿäêå ïî ëþáîìó ïîëþ («Êîìàíäû» èëè 10 Òåðåê 35 «Î÷êè»), àíàëèçèðóÿ òàêèì îáðàçîì ðå11 Ñàòóðí 33 çóëüòàòû ÷åìïèîíàòà.  ýëåêòðîííûõ òàá12 Ñïàðòàê-Íàëü÷èê 32 ëèöàõ òàêæå ðåàëèçîâàíû ìåòîäû ôèëüò13 Òîìü 29 ðàöèè, ïîçâîëÿþùèå âûáèðàòü èç íå¸ íóæ14 Õèìêè 27 íûå ïîäìíîæåñòâà äàííûõ. Âñå ýòè ñîð15 Øèííèê 22 òèðîâêè è ôèëüòðàöèè îñóùåñòâëÿþòñÿ 16 Ëó÷-Ýíåðãèÿ 21 ïðîãðàììíûì ïóòåì ïî îïðåäåë¸ííûì àëãîðèòìàì, êîòîðûå «íå âèäíû» ïîëüçîâàòåëþ. Ïîëüçîâàòåëü âèäèò ëèøü ðåçóëüòàò Ðèñ. 1.30. Òàáëèöà ÷åìïèîíàòà èõ âûïîëíåíèÿ.


1.7.6. Ïðîãðàììèðîâàíèå ïîèñêà

153

Ðàññìîòðèì ðåàëèçàöèþ àëãîðèòìîâ ïîèñêà, îïèñàííûõ â ï. 1.7.5 íà ÿçûêå ïðîãðàììèðîâàíèÿ. Ïðåäñòàâèì èñõîäíûå äàííûå â âèäå äâóõ òàáëèö. Òàáëèöå, â êîòîðîé áóäóò õðàíèòüñÿ íàçâàíèÿ êîìàíä, äàäèì èìÿ Team. Òàáëèöó ñ î÷êàìè (points) íàçîâ¸ì P. Îáå ýòè òàáëèöû ñîäåðæàò ïî 16 çàïèñåé. Äàííûå â íèõ ñîãëàñîâàíû òàê æå, êàê íà ðèñ. 1.30. Òàáëèöû îòñîðòèðîâàíû â ïîðÿäêå çàíÿòûõ ìåñò, ïî óáûâàíèþ íàáðàííûõ î÷êîâ. Çàäà÷à. Îïðåäåëèòü, êàêîå êîëè÷åñòâî î÷êîâ íàáðàëà êîìàíäà ñ äàííûì íàçâàíèåì (íàïðèìåð, Àìêàð).  ÿçûêàõ ïðîãðàììèðîâàíèÿ õðàíåíèå òàáëèö îðãàíèçóåòñÿ â ìàññèâàõ. Åñëè ýòî ëèíåéíàÿ òàáëèöà, êàê â íàøåì ïðèìåðå, òî òàêîé ìàññèâ ÿâëÿåòñÿ îäíîìåðíûì. Ýëåìåíòû ìàññèâà èìåþò îäèíàêîâûé òèï äàííûõ. Ýëåìåíòû ìàññèâà P èìåþò öåëûé ÷èñëîâîé òèï (integer èëè byte). Ýëåìåíòû ìàññèâà Team — ñèìâîëüíûå ñòðîêè (string). Îäíà âåëè÷èíà òèïà string ìîæåò ïðåäñòàâëÿòü ñîáîé öåïî÷êó ñèìâîëîâ êîìïüþòåðíîãî ñèìâîëüíîãî àëôàâèòà äëèíîé äî 255. Ðåàëèçóåì íà Ïàñêàëå äâà âàðèàíòà àëãîðèòìà ïîèñêà: àëãîðèòì ïîñëåäîâàòåëüíîãî ïîèñêà è àëãîðèòì áèíàðíîãî ïîèñêà (ïîèñêà ïîëîâèííûì äåëåíèåì). Ïðîãðàììèðîâàíèå ïîñëåäîâàòåëüíîãî ïîèñêà Êëþ÷îì ïîèñêà ÿâëÿåòñÿ íàçâàíèå êîìàíäû. Ïóñòü íàçâàíèå èñêîìîé êîìàíäû çàíîñèòñÿ â ñòðîêîâóþ ïåðåìåííóþ Õ. Òîãäà êðèòåðèåì ïîèñêà áóäåò ñîâïàäåíèå çíà÷åíèÿ ïåðåìåííîé Õ ñ îäíèì èç ýëåìåíòîâ ìàññèâà Team. Åñëè íîìåð ýòîãî ýëåìåíòà ðàâåí i, òî èñêîìîå êîëè÷åñòâî î÷êîâ áóäåò èçâëå÷åíî èç i-ãî ýëåìåíòà ìàññèâà P. Ïîñêîëüêó èñõîäíûå äàííûå íå îòñîðòèðîâàíû ïî çíà÷åíèÿì êëþ÷åâîãî ïîëÿ Team, òî äëÿ ïîèñêà ïðèãîäåí òîëüêî àëãîðèòì ïîñëåäîâàòåëüíîãî ïåðåáîðà.  ñëåäóþùåé ïðîãðàììå òàêîé àëãîðèòì ðåàëèçîâàí íà Ïàñêàëå. Program Premier_liga; Const N=16; {×èñëî êîìàíä} var P: array[1..N] of byte; {Òàáëèöà î÷êîâ} Team: array[1..N] of string[20];{Òàáëèöà êîìàíä} X: string[20]; {Èñêîìàÿ êîìàíäà} i:integer; Flag:boolean; begin Writeln('Input: team - points'); for i:=1 to N do {Öèêë ââîäà èñõîäíûõ äàííûõ} begin write(i,' Team:'); read(Team[i]); write(' points:'); readln(P[i]) end; write('Input X-team:'); readln(X); {Ââîä èñêîìîé êîìàíäû} Flag:=FALSE; i:=0; while((i<N) and not Flag) do {Öèêë ïîèñêà} begin


154

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

i:=i+1; {Åñëè êîìàíäà íàéäåíà â òàáëèöå} if (X=Team[i]) then Flag:= TRUE end; if (Flag) then writeln(X,' has', P[i],' points') else writeln(X,' is not in the table') end.

Ïåðåìåííûå Team è P îïèñàíû êàê îäíîìåðíûå ìàññèâû, ñîñòîÿùèå èç N ýëåìåíòîâ. Ýëåìåíòû ìàññèâà P — öåëûå âåëè÷èíû òèïà byte. Òèï ýëåìåíòîâ ìàññèâà Team — string[20]. Ýòî çíà÷èò, êàæäîå çíà÷åíèå ìîæåò áûòü ñòðîêîé, ñîäåðæàùåé íå áîëåå 20 ñèìâîëîâ. Äëÿ íàçâàíèé ôóòáîëüíûõ êîìàíä ýòîãî äîñòàòî÷íî.  ýòîé ïðîãðàììå ïåðåìåííàÿ i èãðàåò ðîëü ñ÷åò÷èêà ïðîñìàòðèâàåìûõ êîìàíä â òàáëèöå Team. Ëîãè÷åñêîé ïåðåìåííîé Flag â íà÷àëå ïðèñâàèâàåòñÿ çíà÷åíèå FALSE. Êîãäà æå íàçâàíèå èñêîìîé êîìàíäû ñîâïàä¸ò ñ íàçâàíèåì i-é êîìàíäû â òàáëèöå Team, ïåðåìåííàÿ Flag ïðèìåò çíà÷åíèå TRUE. Ïîñëå ýòîãî óñëîâèå âûïîëíåíèÿ öèêëà while((i<N) and not Flag) ñòàíåò ëîæíûì è öèêë çàâåðøèò ñâîþ ðàáîòó. Çàòåì ïî çíà÷åíèþ ïåðåìåííîé flag îïðåäåëÿåòñÿ, íàéäåíà ëè â òàáëèöå èñêîìàÿ êîìàíäà. Åñëè Flag=TRUE, òî â i-ì ýëåìåíòå ìàññèâà Team îáíàðóæåíà êîìàíäà ñ íàçâàíèåì Õ. Ñëåäîâàòåëüíî, P[i] ñîäåðæèò íàáðàííûå åþ áàëëû.  ïðîòèâíîì ñëó÷àå âûâîäèòñÿ ñîîáùåíèå î òîì, ÷òî òàêîé êîìàíäû íåò â òàáëèöå. Ïðèìåðû âàðèàíòîâ òåñòîâ. Òåñò 1. Input: team - points 1 Team: Ðóáèí points: 60 2 Team: ÖÑÊÀ points: 56 ......... 16 Team: Ëó÷-Ýíåðãèÿ points: 21 Input X-team: Àìêàð Àìêàð has 51 points Òåñò 2. ......... Input X-team: Âûìïåë Âûìïåë is not in the table Ïðîãðàììèðîâàíèå áèíàðíîãî ïîèñêà Òåïåðü ïðåäñòàâèì ñåáå, ÷òî èñõîäíûå äàííûå îòñîðòèðîâàíû â àëôàâèòíîì ïîðÿäêå íàçâàíèé êîìàíä, êàê ýòî ïîêàçàíî íà ðèñ. 1.31.  ïðåäûäóùåì ïàðàãðàôå ãîâîðèëîñü î òîì, ÷òî â ñëó÷àå óïîðÿäî÷åííûõ çíà÷åíèé


1.7.6. Ïðîãðàììèðîâàíèå ïîèñêà

155

êëþ÷åâîãî ïîëÿ äëÿ ïîèñêà ìîæíî èñïîëüçîâàòü ðàöèîíàëüíûé àëãîðèòì ïîëîâèííîãî äåëåíèÿ — áèíàðíûé ïîèñê.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

À

Â

Êîìàíäû Àìêàð Äèíàìî Çåíèò Êðûëüÿ Ñîâåòîâ Ëîêîìîòèâ Ëó÷-Ýíåðãèÿ Ìîñêâà Ðóáèí Ñàòóðí Ñïàðòàê-Ìîñêâà Ñïàðòàê-Íàëü÷èê Òåðåê Òîìü Õèìêè ÖÑÊÀ Øèííèê

Î÷êè 51 54 48 48 47 21 38 60 33 44 32 35 29 27 56 22

Ðèñ. 1.31. Òàáëèöà ÷åìïèîíàòà

Àëãîðèòì áèíàðíîãî ïîèñêà çàïðîãðàììèðîâàí â ñëåäóþùåé ïðîãðàììå íà Ïàñêàëå. Program Premier_liga_2; Const M=1, N=16; var P: array[M..N] of byte; Team: array[M..N] of string[20]; X: string[20]; i, L, R, K: integer; begin Writeln('Input: team - points'); for i:=M to N do begin write(i,' Team:'); read(Team[i]); write(' points:'); readln(P[i]) end; write('Input X-team:'); readln(X); L:=M; R:=N; {L - ëåâàÿ ãðàíèöà èíòåðâàëà; R - ïðàâàÿ ãðàíèöà} {Öèêë ïîâòîðÿåòñÿ, ïîêà ãðàíèöû íå ñîâïàäóò} while ((R-L)>0) do begin


156

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

K:=(R+L) div 2; {Íàõîæäåíèå íîìåðà ñðåäíåé òî÷êè} {Ïåðåìåùåíèå îäíîé èç ãðàíèö} if (X<=Team[K]) then R:=K else L:=K+1 end; if(X=Team[R]) then writeln(X,' has', P[R],' points') else writeln(X,' is not in the table') end.

Îáðàòèòå âíèìàíèå íà îòëè÷èå îïèñàíèé ìàññèâîâ â ýòîé ïðîãðàììå îò ïðåäûäóùåé. Çäåñü ãðàíèöû èíäåêñîâ (íîìåðîâ ýëåìåíòîâ) îáîçíà÷åíû êîíñòàíòàìè M (íèæíÿÿ ãðàíèöà) è N (âåðõíÿÿ ãðàíèöà). Èì ïðèñâîåíû çíà÷åíèÿ 1 è 16. Íî åñëè â êàêîì-òî âàðèàíòå áóäåò ïðèíÿòà äðóãàÿ íóìåðàöèÿ (íàïðèìåð, îò 5 äî 20), òî èçìåíåíèåì êîíñòàíò ïðîãðàììà íàñòðîèòñÿ íà íîâûé âàðèàíò. Áëîê-ñõåìà àëãîðèòìà áèíàðíîãî ïîèñêà ïðèâåäåíà íà ðèñ. 1.32.

Ðèñ. 1.32. Áëîê-ñõåìà áèíàðíîãî ïîèñêà

Èäåÿ àëãîðèòìà çàêëþ÷àåòñÿ â ñëåäóþùåì. Èíòåðâàëîì ïîèñêà íàçîâ¸ì äèàïàçîí íîìåðîâ ýëåìåíòîâ ìàññèâà Team, â êîòîðîì ïðîèñõîäèò ïîèñê. Ëåâàÿ ãðàíèöà èíòåðâàëà â íà÷àëå ïîèñêà ðàâíà M, ïðàâàÿ ãðàíèöà — N. Çíà÷åíèå ëåâîé ãðàíèöû çàíîñèòñÿ â ïåðåìåííóþ L, çíà÷åíèå ïðàâîé ãðàíèöû — â ïåðåìåííóþ R. Ïðè êàæäîì ïîâòîðåíèè öèêëà ãðàíèöû áóäóò ïðèáëèæàòüñÿ äðóã ê äðóãó, óìåíüøàÿ èíòåðâàë â äâà ðàçà. Öèêë çàêîí÷èòñÿ, êîãäà ãðàíèöû ñîâïàäóò, ò. å. L ñòàíåò ðàâíûì R. Åñëè ïîñëå ýòîãî çíà÷åíèå Team[R] ñî-


1.7.6. Ïðîãðàììèðîâàíèå ïîèñêà

157

âïàä¸ò ñî çíà÷åíèåì X — íàçâàíèåì èñêîìîé êîìàíäû, òî êîìàíäà íàéäåíà è â ïåðåìåííîé P[R] íàõîäèòñÿ èñêîìîå ÷èñëî î÷êîâ. Åñëè Õ íå ñîâïàä¸ò ñ Team[R], òî ýòî çíà÷èò, ÷òî â òàáëèöå íåò òàêîé êîìàíäû.  óñëîâíîì îïåðàòîðå if èñïîëüçîâàíî îòíîøåíèå ñðàâíåíèÿ ñòðîêîâûõ âåëè÷èí: X<=Team[K]. Ñèìâîëüíûå ñòðîêè ìîæíî ñðàâíèâàòü íà ðàâåíñòâî/íåðàâåíñòâî, à òàêæå íà áîëüøå/ìåíüøå. Ñðàâíåíèå ñòðîê ïðîèñõîäèò ïîñèìâîëüíî ñëåâà íàïðàâî. Áîëüøåé ñ÷èòàåòñÿ òà ñòðîêà, â êîòîðîé ïåðâûé íåñîâïàäàþùèé ñèìâîë èìååò áîëüøèé íîìåð â òàáëèöå ñèìâîëüíîé êîäèðîâêè. Äëÿ ëþáîãî ñòàíäàðòà ñèìâîëüíîãî êîäèðîâàíèÿ âûïîëíÿåòñÿ ïðàâèëî ïîñëåäîâàòåëüíîãî êîäèðîâàíèÿ ëàòèíñêîãî àëôàâèòà. Ïîýòîìó ñëîâà, íàïèñàííûå ëàòèíèöåé (íàïðèìåð, ïî-àíãëèéñêè) è ðàññòàâëåííûå â ìàññèâå â àëôàâèòíîì ïîðÿäêå, ðàñïîëîæåíû ïî âîçðàñòàíèþ èõ êîäîâ. Íàïðèìåð, èñòèííûìè áóäóò ñëåäóþùèå îòíîøåíèÿ: 'abs' < 'bus', èëè 'book' > 'bold' è ò. ä. Ïîýòîìó åñëè ïðè âûïîëíåíèè äàííîé ïðîãðàììû íàçâàíèÿ êîìàíä ââåñòè ïî-àíãëèéñêè, òî îíà áóäåò âñåãäà ïðàâèëüíî ðàáîòàòü. Ó ýòîé ïðîãðàììû åñòü «ïîäâîäíûé êàìåíü». Âîçìîæíîñòü èñïîëüçîâàíèÿ ðóññêèõ ñëîâ çàâèñèò îò òîãî, êàêàÿ êîäîâàÿ ñòðàíèöà èñïîëüçóåòñÿ äàííîé ñèñòåìîé ïðîãðàììèðîâàíèÿ (ñì. ï. 1.4.2)). Ïðîãðàììà áóäåò ïðàâèëüíî ðàáîòàòü, åñëè êîäîâàÿ ñòðàíèöà ñîäåðæèò êèðèëëèöó è â íåé âûäåðæàí ïðèíöèï ïîñëåäîâàòåëüíîãî êîäèðîâàíèÿ àëôàâèòà. Òàêîå ïðàâèëî, íàïðèìåð, âûïîëíÿåòñÿ â CP-1251. Ïðîãðàììó ìîæíî ïðîòåñòèðîâàòü íà òåõ æå äàííûõ, ÷òî è ïðåäûäóùóþ ïðîãðàììó ïîñëåäîâàòåëüíîãî ïîèñêà. Îòëè÷èå ñîñòîèò â òîì, ÷òî ââîäèòü òàáëèöû íóæíî â ïîñëåäîâàòåëüíîñòè îòñîðòèðîâàííûõ ïî àëôàâèòó íàçâàíèé êîìàíä, êàê íà ðèñ. 1.31. Äëÿ òîãî ÷òîáû ïðè êàæäîì çàïóñêå ïðîãðàììû íå ââîäèòü âðó÷íóþ òàáëèöû, èõ ñëåäóåò îäèí ðàç çàïèñàòü â òåêñòîâûé ôàéë è ââîä äàííûõ ïðîèçâîäèòü èç ýòîãî ôàéëà. Î ðàáîòå ñ ôàéëàìè áóäåò ïîäðîáíî ðàññêàçàíî â ãëàâå, ïîñâÿù¸ííîé ïðîãðàììèðîâàíèþ (â 11 êëàññå).

Ñèñòåìà îñíîâíûõ ïîíÿòèé Ïðîãðàììèðîâàíèå ïîèñêà äàííûõ Îðãàíèçàöèÿ äàííûõ

Ñîðòèðóåìûå äàííûå çàíîñÿòñÿ â ìàññèâû

Ïðîãðàììà ïîñëåäîâà- Èìååò öèêëè÷åñêóþ ñòðóêòóðó. Äëÿ ôèêñàöèè íàéäåííîòåëüíîãî ïîèñêà ãî çíà÷åíèÿ èñïîëüçóåòñÿ ëîãè÷åñêàÿ ïåðåìåííàÿ Flag. Åñëè çíà÷åíèå íàéäåíî, Flag ïðèíèìàåò çíà÷åíèå TRUE Ïðîãðàììà áèíàðíîãî Èíòåðâàë ïîèñêà — äèàïàçîí íîìåðîâ ýëåìåíòîâ ïðîñìàòïîèñêà ðèâàåìîãî ìàññèâà. L — íèæíÿÿ ãðàíèöà, R — âåðõíÿÿ ãðàíèöà. Ïðîãðàììà èìååò öèêëè÷åñêóþ ñòðóêòóðó. Íà êàæäîì øàãå öèêëà èíòåðâàë ñîêðàùàåòñÿ â 2 ðàçà, çíà÷åíèÿ L è R ïðèáëèæàþòñÿ äðóã ê äðóãó. Êîãäà äîñòèãàåòñÿ óñëîâèå L = R, èñêîìûé ýëåìåíò íàéäåí


158

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Âîïðîñû è çàäàíèÿ 1. ×òî òàêîå îäíîìåðíûé ìàññèâ? Êàê èäåíòèôèöèðóþòñÿ ýëåìåíòû îäíîìåðíîãî ìàññèâà? 2. Êàêèå çíà÷åíèÿ ìîæåò ïðèíèìàòü âåëè÷èíà ñòðîêîâîãî òèïà? 3. Êàêóþ ôóíêöèþ âûïîëíÿåò ïåðåìåííàÿ Flag â ïðîãðàììå Premier_liga? þ 4. Êàêîå çíà÷åíèå ïðèìåò ëîãè÷åñêîå âûðàæåíèå (i<N) and not Flag, åñëè i = 5, N = 16, Flag = FALSE ? þ 5. Êàêèå çíà÷åíèÿ ïðèìóò ïåðåìåííûå R è L â ïðîãðàììå Premier_liga_2 ïîñëå âûïîëíåíèÿ îïåðàòîðîâ: K:=(R+L) div 2; if(X<=Team[K]) then R:=K else L:=K+1 åñëè ïåðâîíà÷àëüíûå çíà÷åíèÿ áûëè: R = 16, L = 8, è óñëîâèå X<=Team[K] îêàçàëîñü: à) èñòèííûì, á) ëîæíûì?

Êîìïüþòåðíûé ïðàêòèêóì. Ðàçäåë «Ïðîãðàììèðîâàíèå»

1.7.7

Àëãîðèòìû ñîðòèðîâêè äàííûõ

Ñîðòèðîâêîé íàçûâàþò óïîðÿäî÷åíèå äàííûõ ïî íåêîòîðîìó ïðèçíàêó. Ñîðòèðîâêó ÷àñòî ïðèõîäèòñÿ âûïîëíÿòü â êîìïüþòåðíûõ áàçàõ äàííûõ, èíôîðìàöèîííî-ñïðàâî÷íûõ ñèñòåìàõ. Îò ýôôåêòèâíîñòè àëãîðèòìîâ ñîðòèðîâêè, ïðåæäå âñåãî, îò ñêîðîñòè èõ âûïîëíåíèÿ âî ìíîãîì çàâèñèò ýôôåêòèâíîñòü ðàáîòû âñåé ïðîãðàììû. Ðàçëè÷àþò àëãîðèòìû âíóòðåííåé ñîðòèðîâêè — ñîðòèðîâêè âî âíóòðåííåé ïàìÿòè êîìïüþòåðà è âíåøíåé ñîðòèðîâêè — ñîðòèðîâêè èíôîðìàöèè â ôàéëàõ. Çäåñü ìû áóäåì ãîâîðèòü òîëüêî î âíóòðåííåé ñîðòèðîâêå. Êàê ïðàâèëî, ñîðòèðóåìûå äàííûå ðàñïîëàãàþòñÿ â ìàññèâàõ. Ýòî ìîãóò áûòü ìàññèâû êàê ñ ÷èñëîâîé, òàê è ñ ñèìâîëüíîé èíôîðìàöèåé.  êà÷åñòâå ïðèìåðà áóäåì ðàññìàòðèâàòü òå æå äàííûå, ÷òî â ïðåäûäóùåì ïàðàãðàôå: òàáëèöó ôóòáîëüíîãî ÷åìïèîíàòà.  òàáëèöå íà ðèñ. 1.30 äàííûå îòñîðòèðîâàíû â ïîðÿäêå óáûâàíèÿ íàáðàííûõ î÷êîâ.  òàêîì ñëó÷àå ïîëå «î÷êè» ÿâëÿëîñü êëþ÷îì ñîðòèðîâêè. À ïîðÿäîê ñîðòèðîâêè ïðîèçâåä¸í ïî óáûâàíèþ çíà÷åíèÿ êëþ÷à.  òàáëèöå íà ðèñ. 1.31 êëþ÷îì ñîðòèðîâêè ÿâëÿåòñÿ íàçâàíèå êîìàíä, ïîðÿäîê ñîðòèðîâêè — ïî âîçðàñòàíèþ, ò. å. â àëôàâèòíîì ïîðÿäêå. Ðàññìîòðèì äâà àëãîðèòìà ñîðòèðîâêè: ñîðòèðîâêó ìåòîäîì âûáîðà ìàêñèìàëüíîãî ýëåìåíòà è ñîðòèðîâêó ìåòîäîì ïóçûðüêà.


1.7.7. Àëãîðèòìû ñîðòèðîâêè äàííûõ

159

Ñîðòèðîâêà âûáîðîì ìàêñèìàëüíîãî ýëåìåíòà Èñõîäíûìè äàííûìè çàäà÷è ÿâëÿåòñÿ òàáëèöà íà ðèñ. 1.31. Ÿ íóæíî îòñîðòèðîâàòü â ïîðÿäêå óáûâàíèÿ çíà÷åíèé íàáðàííûõ î÷êîâ, ò. å. ïðåâðàòèòü â òàáëèöó íà ðèñ. 1.30. Êëþ÷îì ñîðòèðîâêè ÿâëÿåòñÿ ïîëå «î÷êè»; ïîðÿäîê ñîðòèðîâêè — ïî óáûâàíèþ çíà÷åíèé ýëåìåíòîâ. Îðãàíèçàöèÿ äàííûõ áóäåò òàêîé æå, êàê â ïðåäûäóùåì ïàðàãðàôå: â ìàññèâå Team õðàíÿòñÿ íàçâàíèÿ êîìàíä, â ìàññèâå Ð — íàáðàííûå èìè î÷êè. Èäåÿ àëãîðèòìà çàêëþ÷àåòñÿ â ñëåäóþùåì.  ìàññèâå Ð èùåòñÿ íîìåð ïåðâîãî ïî ïîðÿäêó ýëåìåíòà ñ ìàêñèìàëüíûì çíà÷åíèåì. Ïîñëå ýòîãî ïðîèçâîäèòñÿ ïåðåñòàíîâêà çíà÷åíèé ýëåìåíòà ñ ýòèì íîìåðîì è ýëåìåíòà Ð[1]. Îäíîâðåìåííî ïåðåñòàâëÿþòñÿ çíà÷åíèÿ ýëåìåíòîâ ñ òàêèìè æå íîìåðàìè â ìàññèâå Team. Çíà÷åíèÿ ïåðâûõ ýëåìåíòîâ ìàññèâîâ îêàçàëèñü íà ñâîèõ ìåñòàõ. Çàòåì èùåòñÿ íîìåð ïåðâîãî ìàêñèìàëüíîãî ýëåìåíòà â ìàññèâå Ð, íà÷èíàÿ ñ Ð[2]. Ïðîèçâîäèòñÿ ïåðåñòàíîâêà çíà÷åíèÿ ýòîãî ýëåìåíòà c çíà÷åíèåì ýëåìåíòà Ð[2]. Çíà÷åíèå âòîðîãî ýëåìåíòà — íà ñâî¸ì ìåñòå. Çàòåì èùåòñÿ ìàêñèìàëíûé ýëåìåíò, íà÷èíàÿ ñ Ð[3]. È òàê äàëåå. Ïðîöåññ çàêîí÷èòñÿ, êîãäà óïîðÿäî÷àòñÿ çíà÷åíèÿ ïîñëåäíåé ïàðû ýëåìåíòîâ: Ð[N–1] è Ð[N]. Âîò ïðîãðàììà íà Ïàñêàëå, ðåàëèçóþùàÿ äàííûé ìåòîä ñîðòèðîâêè. Program Sort_1; Const N=16; var P: array[1..N] of byte; Team: array[1..N] of string[20]; str: string[20]; X,i,k,j: byte; begin Writeln('Input: team - points'); {Ââîä èñõîäíûõ äàíí��õ} for i:=1 to N do begin write(i,'Team:'); readln(Team[i]); write(' ball:'); readln(B[i]) end; for i:=1 to N-1 do {Âíåøíèé öèêë ñîðòèðîâêè} begin k:=i; {Íîìåð ïåðâîãî àíàëèçèðóåìîãî ýëåìåíòà ìàññèâà} for j:=i+1 to N do {Âíóòðåííèé öèêë ñîðòèðîâêè} if (P[j]>P[k]) then k:=j; {Êîíåö âíóòðåííåãî öèêëà} {Ïåðåñòàíîâêè ýëåìåíòîâ ìàññèâîâ} X:=P[i]; P[i]:=P[k]; P[k]:=X; str:=Team[i]; Team[i]:=Team[k]; Team[k]:=str end; {Êîíåö âíåøíåãî öèêëà} {Âûâîä ðåçóëüòàòîâ: îòñîðòèðîâàííûõ ìàññèâîâ} Writeln('Result:'); for i:=1 to N do writeln(i:3,' ',Team[i],' ',P[i]) end.


160

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

 àëãîðèòìå ñîðòèðîâêè èìåþòñÿ äâà âëîæåííûõ öèêëà. Âíåøíèé öèêë ïî ïàðàìåòðó i ïîâòîðÿåò ñâîå âûïîëíåíèå N-1 ðàç.  ðåçóëüòàòå êàæäîãî âûïîëíåíèÿ íà ìåñòà i-õ ýëåìåíòîâ â ìàññèâàõ P è Team ïîïàäàþò íóæíûå çíà÷åíèÿ. Âî âíóòðåííåì öèêëå â ïåðåìåííîé k îòáèðàåòñÿ íîìåð ïåðâîãî èç ìàêñèìàëüíûõ çíà÷åíèé ñðåäè ýëåìåíòîâ ìàññèâà P, íà÷èíàÿ ñ i+1-ãî äî N-ãî.  êîíöå ïðîãðàììû âûâîäÿòñÿ íà ýêðàí îòñîðòèðîâàííûå ïî î÷êàì òàáëèöû Team è P, êàê ýòî ïðåäñòàâëåíî íà ðèñ. 1.30. Ñîðòèðîâêà ìåòîäîì ïóçûðüêà Èäåþ ñîðòèðîâêè ìåòîäîì ïóçûðüêà ïðîèëëþñòðèðóåì íà íàãëÿäíîì ïðèìåðå. Äàí íåóïîðÿäî÷åííûé ìàññèâ ÷èñåë P èç ÷åòûðåõ ýëåìåíòîâ. Íóæíî îòñîðòèðîâàòü åãî çíà÷åíèÿ ïî óáûâàíèþ. Ïðîöåññ ñîðòèðîâêè ìåòîäîì ïóçûðüêà ïîêàçàí â òàáë. 1.20. Òàáëèöà 1.20. Ñîðòèðîâêà ìåòîäîì ïóçûðüêà

Èñõîäíûå äàííûå 1-é ïðîõîä

2-é ïðîõîä 3-é ïðîõîä

P[1]

P[2]

P[3]

P[4]

1

3

2

4

1-é øàã

3

1

2

4

2-é øàã

3

2

1

4

3-é øàã

3

2

4

1

4-é øàã

3

2

4

1

5-é øàã

3

4

2

1

6-é øàã

4

3

2

1

Íà ïåðâîì øàãå ñðàâíèâàþòñÿ ìåæäó ñîáîé çíà÷åíèÿ 1-ãî è 2-ãî ýëåìåíòîâ è óïîðÿäî÷èâàþòñÿ ïî óáûâàíèþ: åñëè P[1]<P[2], òî ïåðåñòàâëÿþòñÿ, èíà÷å îñòàþòñÿ íà ìåñòå. Íà âòîðîì øàãå óïîðÿäî÷èâàþòñÿ çíà÷åíèÿ ýëåìåíòîâ P[2] è P[3]. Íà òðåòüåì øàãå — P[3] è P[4].  ðåçóëüòàòå ìèíèìàëüíîå çíà÷åíèå ïîïàäàåò íà ñâîå ìåñòî — â ýëåìåíò P[4]. Øàãè ñ 1-ãî ïî 3-é íàçîâåì ïåðâûì ïðîõîäîì ìàññèâà. Íà ÷åòâ¸ðòîì è ïÿòîì øàãàõ ïîâòîðÿþòñÿ òàêèå æå ïàðíûå ñîðòèðîâêè, ïîñëå ÷åãî óñòàíàâëèâàåòñÿ çíà÷åíèå ýëåìåíòà P[3]. Ýòî âòîðîé ïðîõîä ìàññèâà. Íà ïîñëåäíåì, øåñòîì øàãå óïîðÿäî÷èâàåòñÿ ïàðà çíà÷åíèé P[1] è P[2]. Ýòî ïîñëåäíèé, òðåòèé ïðîõîä ìàññèâà.  ðåçóëüòàòå âåñü ìàññèâ îêàçûâàåòñÿ îòñîðòèðîâàííûì ïî óáûâàíèþ çíà÷åíèé. Åñëè ðàçìåð ìàññèâà ðàâåí N, òî ÷èñëî ñîðòèðóþùèõ ïðîõîäîâ ðàâíî N–1. Ïðè÷¸ì êîëè÷åñòâî øàãîâ êàæäîãî ñëåäóþùåãî ïðîõîäà íà åäèíèöó ìåíüøå ïðåäûäóùåãî Äëÿ ñîðòèðîâêè ïî âîçðàñòàíèþ ñëåäóåò ïåðåìåùàòü âïðàâî áîëüøåå çíà÷åíèå â êàæäîé ñðàâíèâàåìîé ïàðå.  çàäà÷å ñ òàáëèöåé ôóòáîëüíîãî ÷åìïèîíàòà ñîðòèðîâêà ïðîèñõîäèò ïî óáûâàíèþ çíà÷åíèé ìàññèâà P, ñîäåðæàùåãî î÷êè êîìàíä. Âñå ïåðåñòà-


1.7.7. Àëãîðèòìû ñîðòèðîâêè äàííûõ

161

íîâêè, êîòîðûå ïðîèñõîäÿò â ìàññèâå P, äóáëèðóþòñÿ äëÿ ñîîòâåòñòâóþùèõ ýëåìåíòîâ ìàññèâà Team. Íèæå ïðèâåäåíà ïðîãðàììà íà Ïàñêàëå, ðåàëèçóþùàÿ ìåòîä ïóçûðüêà. Program Sort_2; Const N=16; var B: array[1..N] of byte; Team: array[1..N] of string[20]; str: string[20]; X,i,k,j: byte; begin Writeln('Input: team - points'); {Ââîä èñõîäíûõ äàííûõ} for i:=1 to N do begin write(i,'Team:'); readln(Team[i]); write(' points:'); readln(B[i]) end; for i:=1 to N-1 do {i – íîìåð ñîðòèðóþùåãî ïðîõîäà} begin for j:=1 to N-i do {j – íîìåð øàãà ñîðòèðîâêè} {Óïîðÿäî÷åíèå ñîñåäíèõ ïàð ýëåìåíòîâ} if (P[j]<P[j+1]) then begin X:=P[j]; P[j]:=P[j+1]; P[j+1]:=X; str:=Team[j]; Team[j]:=Team[j+1]; Team[j+1]:=str end end; {Âûâîä ðåçóëüòàòîâ: îòñîðòèðîâàííûõ ìàññèâîâ} for i:=1 to N do writeln(i:3,' ',Team[i],' ',P[i]) end.

Íà ðèñ. 1.33 àëãîðèòì ñîðòèðîâêè ìåòîäîì ïóçûðüêà èçîáðàæ¸í â âèäå áëîê-ñõåìû.  áëîê-ñõåìàõ âûòÿíóòûì øåñòèóãîëüíèêîì îáîçíà÷àåòñÿ çàãîëîâîê öèêëà ñ ïàðàìåòðîì, êîòîðûé ïðîãðàììèðóåòñÿ â Ïàñêàëå îïåðàòîðîì for. Ñòðóêòóðà àëãîðèòìà: äâà âëîæåííûõ öèêëà ñ âëîæåííûì íåïîëíûì âåòâëåíèåì. Äëèíà âíóòðåííåãî öèêëà ñîêðàùàåòñÿ íà åäèíèöó ñ óâåëè÷åíèåì çíà÷åíèÿ i — ïàðàìåòðà âíåøíåãî öèêëà. Ñðàâíåíèå àëãîðèòìîâ ñîðòèðîâêè Âðåìåííàÿ ñëîæíîñòü öèêëè÷åñêèõ àëãîðèòìîâ îïðåäåëÿåòñÿ êîëè÷åñòâîì ïîâòîðåíèé âûïîëíåíèÿ öèêëîâ.  îáîèõ ðàññìîòðåííûõ àëãîðèòìàõ èìåþòñÿ ïî äâà âëîæåííûõ öèêëà. Âíåøíèé öèêë ïî ïàðàìåòðó i ïîâòîðÿåòñÿ N-1 ðàç, âíóòðåííèé öèêë äëÿ êàæäîãî çíà÷åíèÿ ïàðàìåòðà i ïîâòîðÿåòñÿ N-i ðàç. Ñëåäîâàòåëüíî, ïîëíîå ÷èñëî ïîâòîðåíèé öèêëîâ


162

Ãëàâà 1. Òåîðåòè÷åñêèå îñíîâû èíôîðìàòèêè

Ðèñ. 1.33. Ñîðòèðîâêà ìåòîäîì ïóçûðüêà

ðàâíî: S = (N – 1) + (N – 2) + (N – 3) + ... + 2 + 1 ðàç. Ýòî ñóììà àðèôìåòè÷åñêîé ïðîãðåññèè. Èñïîëüçóÿ èçâåñòíóþ ôîðìóëó, ïîëó÷èì: S=

(N - 1) + 1 N(N - 1) N 2 - N . (N - 1) = = 2 2 2

Íàïðèìåð, äëÿ N = 16 ïî äàííîé ôîðìóëå ïîëó÷èì S = 120. Íàäî ñêàçàòü, ÷òî ýòî äîâîëüíî áîëüøîå çíà÷åíèå. Ïîäñ÷èòàéòå, êàêèì áóäåò ÷èñëî ïîâòîðåíèé öèêëîâ ïðè N = 100. Ïîëó÷èòñÿ 4950 ïîâòîðåíèé! È åù¸ íà êàæäîì øàãå öèêëà âûïîëíÿåòñÿ øåñòü êîìàíä ïðèñâàèâàíèÿ è îäíà — ñðàâíåíèÿ.  çàäà÷å ñîðòèðîâêè îñíîâíûì ïàðàìåòðîì, âëèÿþùèì íà äëèòåëüíîñòü ðàáîòû ïðîãðàììû, ÿâëÿåòñÿ ðàçìåð ìàññèâà — N. Èç ïîëó÷åííîé ôîðìóëû äëÿ S ñëåäóåò, ÷òî âðåìåííàÿ ñëîæíîñòü ðàññìîòðåííûõ àëãîðèòìîâ çàâèñèò êâàäðàòè÷íî îò N.  îòëè÷èå îò àëãîðèòìà ìåòîäà âûáîðà ìàêñèìàëüíîãî ýëåìåíòà, àëãîðèòì ìåòîäà ïóçûðüêà ïîääà¸òñÿ îïòèìèçàöèè. Èäåÿ å¸ â ñëåäóþùåì: åñëè ïîñëå î÷åðåäíîãî ïðîõîäà ïî ìàññèâó íè ðàçó íå ïðîèçîøëà ïåðåñòàíîâêà ýëåìåíòîâ, ýòî çíà÷èò, ÷òî ìàññèâ óæå îòñîðòèðîâàí è ìîæíî çàâåðøàòü âûïîëíåíèå ïðîãðàììû.  àëãîðèòìå ìåòîäà âûáîðà ìàêñèìàëüíîãî ýëåìåíòà, äàæå åñëè èñõîäíûå çíà÷åíèÿ áûëè óæå îòñîðòèðîâàíû â íóæíîì ïîðÿäêå, âñ¸ ðàâíî ïðîðàáîòàþò âñå öèêëû. Íàèáîëåå áûñòðûì àëãîðèòìîì äëÿ âíóòðåííåé ñîðòèðîâêè äàííûõ ÿâëÿåòñÿ àëãîðèòì, êîòîðûé òàê è íàçûâàåòñÿ: àëãîðèòì áûñòðîé ñîðòèðîâêè.  1960 ãîäó åãî ðàçðàáîòàë èçâåñòíûé àíãëèéñêèé ó÷åíûé-ïðî-


1.7.7. Àëãîðèòìû ñîðòèðîâêè äàííûõ

163

ãðàììèñò ×àðëüç Ýíòîíè Õîàð. Çäåñü ìû íå áóäåì ðàññìàòðèâàòü ýòîò àëãîðèòì. Ê íåìó ìû âåðí¸ìñÿ â 11 êëàññå. Ñêàæåì òîëüêî, ÷òî åãî âðåìåííàÿ ñëîæíîñòü ïðîïîðöèîíàëüíà âåëè÷èíå N·ln(N). ×åì áîëüøå N, òåì áîëüøå çíà÷åíèå òàêîé ôóíêöèè îòëè÷àåòñÿ îò N2. Íàïðèìåð: N·ln(N) = 23,03;, N = 10, N2 = 100, N = 100, N2 = 10000, N·ln(N) = 460,52. Ñëåäîâàòåëüíî, ÷åì áîëüøå ðàçìåð ìàññèâà, òåì âûãîäíåå ñòàíîâèòñÿ ïðèìåíåíèå àëãîðèòìà áûñòðîé ñîðòèðîâêè ïî ñðàâíåíèþ ñ àëãîðèòìàìè âûáîðà ìàêñèìàëüíîãî ýëåìåíòà è ìåòîäà ïóçûðüêà.

Ñèñòåìà îñíîâíûõ ïîíÿòèé Àëãîðèòìû ñîðòèðîâêè Ñîðòèðîâêà — óïîðÿäî÷åíèå äàííûõ ïî íåêîòîðîìó ïðèçíàêó Ïàðàìåòðû ñîðòèðîâêè Êëþ÷ ñîðòèðîâêè: ïîëå äàííûõ, ïî çíà- Ïîðÿäîê ñîðòèðîâêè: ïî âîçðàñòàíèþ ÷åíèþ êîòîðîãî ïðîèçâîäèòñÿ çíà÷åíèé êëþ÷à, ïî óáûâàíèþ çíà÷åíèé êëþ÷à ñîðòèðîâêà Ìåòîäû ñîðòèðîâêè Âûáîðîì ìàêñèìàëüíîãî ýëåìåíòà

Ìåòîä ïóçûðüêà

Äâà âëîæåííûõ öèêëà. Íà êàæäîì øàãå âíåøíåãî öèêëà íàõîäèòñÿ ïåðâûé ìàêñèìàëüíûé ýëåìåíò íåóïîðÿäî÷åííîé ÷àñòè ìàññèâà è ñòàâèòñÿ íà ñâîå ìåñòî â îòñîðòèðîâàííîì ìàññèâå

N — ðàçìåð ìàññèâà. Äâà âëîæåííûõ öèêëà. Âíåøíèé öèêë îðãàíèçóåò N – 1 ïðîõîä ïî íåîòñîðòèðîâàííîé ÷àñòè ìàññèâà. Íà êàæäîì øàãå âíóòðåííåãî öèêëà óïîðÿäî÷èâàþòñÿ ñîñåäíèå ïàðû ýëåìåíòîâ 2

Îáà ìåòîäà èìåþò âðåìåííóþ ñëîæíîñòü ~ N

Ìåòîä áûñòðîé ñîðòèðîâêè Õîàðà èìååò âðåìåííóþ ñëîæíîñòü ~ N·lnN

Âîïðîñû è çàäàíèÿ 1. ×òî òàêîå ñîðòèðîâêà, êëþ÷ ñîðòèðîâêè, ïîðÿäîê ñîðòèðîâêè? 2. Êàê îïðåäåëÿåòñÿ âðåìåííàÿ ñëîæíîñòü öèêëè÷åñêèõ àëãîðèòìîâ? Îò êàêîãî ïàðàìåòðà îíà çàâèñèò â ïåðâóþ î÷åðåäü?

Êîìïüþòåðíûé ïðàêòèêóì. Ðàçäåë «Ïðîãðàììèðîâàíèå»


Информатика и ИКТ 10 класс. Глава 1