Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » Лекция 3. Коммуник. протоколы. Протокол раздвижного окна. Принципы обоснования корректности

Лекция 3. Коммуник. протоколы. Протокол раздвижного окна. Принципы обоснования корректности

PDF-файл Лекция 3. Коммуник. протоколы. Протокол раздвижного окна. Принципы обоснования корректности Распределенные алгоритмы (63356): Лекции - 10 семестр (2 семестр магистратуры)Лекция 3. Коммуник. протоколы. Протокол раздвижного окна. Принципы обоснования корректности: Распределенные алгоритмы - PDF (63356) - СтудИзба2020-08-25СтудИзба

Описание файла

PDF-файл из архива "Лекция 3. Коммуник. протоколы. Протокол раздвижного окна. Принципы обоснования корректности", который расположен в категории "". Всё это находится в предмете "распределенные алгоритмы" из 10 семестр (2 семестр магистратуры), которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст из PDF

ÐàñïðåäåëåííûåàëãîðèòìûËÅÊÒÎÐ: Â.À. ÇàõàðîâËåêöèÿ 3.Êîììóíèêàöèîííûå ïðîòîêîëû.Îøèáêè, âîçíèêàþùèå ïðè ïåðåäà÷å ñîîáùåíèé.Ñèììåòðè÷íûé ïðîòîêîë ðàçäâèæíîãî îêíà.Óñòðîéñòâî ïðîòîêîëà ðàçäâèæíîãî îêíà.Ïðèíöèïû îáîñíîâàíèÿ êîððåêòíîñòè ïðîòîêîëîâÎáîñíîâàíèå êîððåêòíîñòè ïðîòîêîëà ðàçäâèæíîãî îêíà.Ìîäèôèêàöèè ïðîòîêîëà.Êîììóíèêàöèîííûå ïðîòîêîëûÎñíîâíîå íàçíà÷åíèå êîììóíèêàöèîííîãî ïðîòîêîëà ïåðåäà÷à äàííûõ , ò.å. ïîëó÷åíèå èíôîðìàöèè îò îäíîãî óçëàñåòè è äîñòàâêà åå ïî íàçíà÷åíèþ äðóãîìó óçëó ñåòè.Ïðè ïåðåäà÷å äàííûõ âîçìîæíû îøèáêè (ïîòåðÿ,äóáëèðîâàíèå, èñêàæåíèå).Ýòè îøèáêè íóæíî îáíàðóæèâàòü è èñïðàâëÿòü.Äëÿ ýòîãî â ïðîòîêîëå âåäåòñÿ ó÷åò ñîñòîÿíèÿ èíôîðìàöèè.Äëÿ èñïîëüçîâàíèÿ ñîñòîÿíèÿ èíôîðìàöèè ïðèìåíÿåòñÿóïðàâëåíèå ñîåäèíåíèåì èíèöèàëèçàöèÿ è àííóëèðîâàíèåñîñòîÿíèÿ èíôîðìàöèè.Èíèöèàëèçàöèÿ íàçûâàåòñÿ óñòàíîâëåíèåì ñîåäèíåíèÿ, ààííóëèðîâàíèå çàâåðøåíèåì ñîåäèíåíèÿ.Êîììóíèêàöèîííûå ïðîòîêîëûÌû ðàññìîòðèì îäèí èç òàêèõ ïðîòîêîëîâ (Balanced Sliding WindowProtocol).Îí ïðåäíàçíà÷åí äëÿ îáìåíà äàííûìè ìåæäó äâóìÿ óçëàìèñåòè, êîòîðûå èìåþò ïðÿìîå ôèçè÷åñêîå ñîåäèíåíèå(íàïðèìåð, ïî îïòîâîëîêîííîìó êàáåëþ).Ýòî âïîëíå àñèíõðîííûé ïðîòîêîë, îòíîñÿùèéñÿ ê óðîâíþóïðàâëåíèÿ ïåðåäà÷åé äàííûõ âòîðîìó óðîâíþ ýòàëîííîéìîäåëè OSI.Ìû íå áóäåì ðàññìàòðèâàòü óïðàâëåíèå ñîåäèíåíèåì äëÿ ýòîãîïðîòîêîëà.

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

Òåì íå ìåíåå ìîæíîïðåäïîëàãàòü, ÷òî ïðîöåññ-ïîëó÷àòåëü ñïîñîáåí îáíàðóæèâàòüèñêàæåíèÿ ñîîáùåíèé, íàïðèìåð, ïðè ïîìîùè ñ÷åò÷èêîâ÷åòíîñòè èëè êîäèðîâàíèÿ ñ èñïðàâëåíèåì îøèáîê (êîäûÕýììèíãà, Ðèäà-Ìàëëåðà è äð.).Ñèììåòðè÷íûé ïðîòîêîë ðàçäâèæíîãî îêíàÏîñòàíîâêà çàäà÷è.inpABCD..YZp?inq à á â . . þ ÿ. . . . . . .

. . Q. p. . . . . . . . . . . .. . . . . . . . . . Q. q. . . . . . . . . . -.?outpoutq?q?Ïðîöåññàì p è q òðåáóåòñÿ ïåðåäàòü ïîòîêè äàííûõ inp è inqäðóã äðóãó è çàïèñàòü ïîëó÷åííûå äàííûå â ìàññèâû outp è outq . êàíàëå ñâÿçè âîçìîæíû ïîìåõè, ïðèâîäÿùèå ê ïîòåðå ñîîáùåíèé.Îáùàÿ èäåÿ àëãîðèòìàÎáùàÿ èäåÿ àëãîðèòìàIÂõîäíûå äàííûå îäíîãî ïðîöåññà ñëóæàò äëÿïîäòâåðæäåíèÿ ïîëó÷åíèÿ ñîîáùåíèé îò äðóãîãî ïðîöåññà.Îáùàÿ èäåÿ àëãîðèòìàIIÂõîäíûå äàííûå îäíîãî ïðîöåññà ñëóæàò äëÿïîäòâåðæäåíèÿ ïîëó÷åíèÿ ñîîáùåíèé îò äðóãîãî ïðîöåññà.Ñîîáùåíèÿ ýòî íàáîðû âèäà h , w , ii, ãäåw ,àiïàêåòà.ïàêåòûèíôîðìàöèîííîå ñëîâîpackïîðÿäêîâûé íîìåðÎáùàÿ èäåÿ àëãîðèòìàIIÂõîäíûå äàííûå îäíîãî ïðîöåññà ñëóæàò äëÿïîäòâåðæäåíèÿ ïîëó÷åíèÿ ñîîáùåíèé îò äðóãîãî ïðîöåññà.Ñîîáùåíèÿ ýòî íàáîðû âèäà h , w , ii, ãäåw ,àiïàêåòà.Ïàêåò h , w , ii, îòïðàâëåííûé ïðîöåññîì p , ïåðåäàåòñëîâî w = inp [i] ïðîöåññó q è ïîäòâåðæäàåò óñïåøíîåïîëó÷åíèå ðÿäà ïàêåòîâ, îòïðàâëåííûõ ïðîöåññîì q .ïàêåòûèíôîðìàöèîííîå ñëîâîIpackpackïîðÿäêîâûé íîìåðÎáùàÿ èäåÿ àëãîðèòìàIIÂõîäíûå äàííûå îäíîãî ïðîöåññà ñëóæàò äëÿïîäòâåðæäåíèÿ ïîëó÷åíèÿ ñîîáùåíèé îò äðóãîãî ïðîöåññà.Ñîîáùåíèÿ ýòî íàáîðû âèäà h , w , ii, ãäåw ,àiïàêåòà.Ïàêåò h , w , ii, îòïðàâëåííûé ïðîöåññîì p , ïåðåäàåòñëîâî w = inp [i] ïðîöåññó q è ïîäòâåðæäàåò óñïåøíîåïîëó÷åíèå ðÿäà ïàêåòîâ, îòïðàâëåííûõ ïðîöåññîì q .Ïðîöåññ p ìîæåò ¾îïåðåæàòü¿ ïðîöåññ q íà íåêîòîðîåçàäàííîå ÷èñëî ïàêåòîâ `p , åñëè ìû ïîñòàíîâèì, ÷òîîòïðàâëåíèå ïàêåòà h , w , ii ïðîöåññîì p ïîäòâåðæäàåòïîëó÷åíèå ñëîâ ñ íîìåðàìè 0, 1, .

. . , (i − `p ) îò ïðîöåññà q .ïàêåòûèíôîðìàöèîííîå ñëîâîIIpackpackpackïîðÿäêîâûé íîìåðÎáùàÿ èäåÿ àëãîðèòìàIIÂõîäíûå äàííûå îäíîãî ïðîöåññà ñëóæàò äëÿïîäòâåðæäåíèÿ ïîëó÷åíèÿ ñîîáùåíèé îò äðóãîãî ïðîöåññà.Ñîîáùåíèÿ ýòî íàáîðû âèäà h , w , ii, ãäåw ,àiïàêåòà.Ïàêåò h , w , ii, îòïðàâëåííûé ïðîöåññîì p , ïåðåäàåòñëîâî w = inp [i] ïðîöåññó q è ïîäòâåðæäàåò óñïåøíîåïîëó÷åíèå ðÿäà ïàêåòîâ, îòïðàâëåííûõ ïðîöåññîì q .Ïðîöåññ p ìîæåò ¾îïåðåæàòü¿ ïðîöåññ q íà íåêîòîðîåçàäàííîå ÷èñëî ïàêåòîâ `p , åñëè ìû ïîñòàíîâèì, ÷òîîòïðàâëåíèå ïàêåòà h , w , ii ïðîöåññîì p ïîäòâåðæäàåòïîëó÷åíèå ñëîâ ñ íîìåðàìè 0, 1, .

. . , (i − `p ) îò ïðîöåññà q .Êîíñòàíòû îïåðåæåíèÿ `p è `q èçâåñòíû ïðîöåññàì p è q .ïàêåòûèíôîðìàöèîííîå ñëîâîIIpackpackIpackïîðÿäêîâûé íîìåðÎáùàÿ èäåÿ àëãîðèòìàÒàêèì îáðàçîì, â ïðîòîêîëå ñîáëþäàþòñÿ äâà ïðèíöèïà:Îáùàÿ èäåÿ àëãîðèòìàÒàêèì îáðàçîì, â ïðîòîêîëå ñîáëþäàþòñÿ äâà ïðèíöèïà:1. Ïðîöåññ p ìîæåò îòïðàâèòü ñëîâî inp [i] (â ïàêåòåh, inp [i], ii) òîëüêî ïîñëå òîãî, êàê áóäóò çàíåñåíû âïàìÿòü âñå ñëîâà, íà÷èíàÿ ñ outp [0] è îêàí÷èâàÿoutp [i − `p ] , ò.å.

êîãäà áóäåò âûïîëíÿòüñÿ íåðàâåíñòâîi < sp + `p , ãäå sp = min{j : outp [j] = udef } .packÎáùàÿ èäåÿ àëãîðèòìàÒàêèì îáðàçîì, â ïðîòîêîëå ñîáëþäàþòñÿ äâà ïðèíöèïà:1. Ïðîöåññ p ìîæåò îòïðàâèòü ñëîâî inp [i] (â ïàêåòåh, inp [i], ii) òîëüêî ïîñëå òîãî, êàê áóäóò çàíåñåíû âïàìÿòü âñå ñëîâà, íà÷èíàÿ ñ outp [0] è îêàí÷èâàÿoutp [i − `p ] , ò.å. êîãäà áóäåò âûïîëíÿòüñÿ íåðàâåíñòâîi < sp + `p , ãäå sp = min{j : outp [j] = udef } .2. Êàê òîëüêî p ïîëó÷àåò ïàêåò h , w , ii, îòïàäàåòíåîáõîäèìîñòü â ïîâòîðíîé ïåðåäà÷å ñëîâ, íà÷èíàÿ ñ inp [0]è îêàí÷èâàÿ inp [i − `q ] .packpackÑèììåòðè÷íûé ïðîòîêîë ðàçäâèæíîãî îêíàvarSpsp , apinpoutp:: array of word: array of word: { ap ≤ i < sp + `p }Rp: {hinitinitbegin}send hpackreceive(*endelse}, w , ii ∈ QpQp := Qp \ hpack, w , iipackbeginto qend;èãíîðèðîâàòü ïîâòîðíîå ïîëó÷åíèå ïàêåòà *)end: {h, inp [i], ii;;Lp0, 0, w , ii ∈ Qphpack, w , iiif outp [i] = udef thenbegin outp [i] := wap := max (ap , i − `q + 1)sp := min {j| outp [j] = udef }packbegin;(* Data to be sent *) ;udef , udef , .

. . ;integer{}endÑèììåòðè÷íûé ïðîòîêîë ðàçäâèæíîãî îêíà1. Äåéñòâèå p îñóùåñòâëÿåò îòïðàâëåíèå i -ãî âõîäíîãîñëîâà ïðîöåññà p ,S2. ÄåéñòâèåRpîñóùåñòâëÿåò ïðèåì ñëîâà ïðîöåññîì p ,3. Äåéñòâèå p ìîäåëèðóåò ïîòåðþ ïàêåòà, àäðåñàòîìêîòîðîãî ÿâëÿåòñÿ ïðîöåññ p .LÑèììåòðè÷íûé ïðîòîêîë ðàçäâèæíîãî îêíàvarSpsp , apinpoutp:: array of word: array of word: { ap ≤ i < sp + `p }Rp: {hinitinitbegin}send hpackreceive(*endelse}, w , ii ∈ QpQp := Qp \ hpack, w , iipackbeginto qend;èãíîðèðîâàòü ïîâòîðíîå ïîëó÷åíèå ïàêåòà *)end: {h, inp [i], ii;;Lp0, 0, w , ii ∈ Qphpack, w , iiif outp [i] = udef thenbegin outp [i] := wap := max (ap , i − `q + 1)sp := min {j| outp [j] = udef }packbegin;(* Data to be sent *) ;udef , udef , . . . ;integer{}endÑèììåòðè÷íûé ïðîòîêîë ðàçäâèæíîãî îêíà: { ap ≤ i < sp + `p }send h , inp [i], ii to qÄàííûå äëÿ îòïðàâëåíèÿ âûáèðàþòñÿ èç ðàçäâèæíîãî îêíàSpbeginpackap ≤ i < sp + `pendÑèììåòðè÷íûé ïðîòîêîë ðàçäâèæíîãî îêíà: { ap ≤ i < sp + `p }send h , inp [i], ii to qÄàííûå äëÿ îòïðàâëåíèÿ âûáèðàþòñÿ èç ðàçäâèæíîãî îêíàSpbeginpackendap ≤ i < sp + `pÏðåäïîëàãàåòñÿ, ÷òîËåâàÿ ñòâîðêà : ap = min{i : outp [i + `q ] = udef } íàèìåíüøèé íîìåð òîãî ýëåìåíòà â ìàññèâå inp ,ïîëó÷åíèå êîòîðîãî åùå íå ïîäòâåðäèë ïðîöåññ q .Çíà÷èò, inp [ap ] åùå íóæíî îòïðàâëÿòü.Ñèììåòðè÷íûé ïðîòîêîë ðàçäâèæíîãî îêíà: { ap ≤ i < sp + `p }send h , inp [i], ii to qÄàííûå äëÿ îòïðàâëåíèÿ âûáèðàþòñÿ èç ðàçäâèæíîãî îêíàSpbeginpackendap ≤ i < sp + `pÏðåäïîëàãàåòñÿ, ÷òîËåâàÿ ñòâîðêà : ap = min{i : outp [i + `q ] = udef } íàèìåíüøèé íîìåð òîãî ýëåìåíòà â ìàññèâå inp ,ïîëó÷åíèå êîòîðîãî åùå íå ïîäòâåðäèë ïðîöåññ q .Çíà÷èò, inp [ap ] åùå íóæíî îòïðàâëÿòü.Ïðàâàÿ ñòâîðêà : sp + `p − 1 , ãäå sp = min{j : outp [j] = udef } íàèìåíüøèé íîìåð òîãî ýëåìåíòà â ìàññèâå outp ,â êîòîðûé åùå íå çàïèñàíû ïîëó÷åííûå äàííûå.Çíà÷èò, inp [sp + `p ] åùå ðàíî îòïðàâëÿòü âêà÷åñòâå ïîäòâåðæäåíèÿ î ïîëó÷åíèè äàííûõ.Ñèììåòðè÷íûé ïðîòîêîë ðàçäâèæíîãî îêíàRp:{hbegin}, w , ii ∈ Qphpack, w , iiif outp [i] = udef thenbegin outp [i] := wap := max (ap , i − `q + 1)sp := min {j| outp [j] = udef }packreceive;;(*endendelse;èãíîðèðîâàòü ïîâòîðíîå ïîëó÷åíèå ïàêåòà *)Ñèììåòðè÷íûé ïðîòîêîë ðàçäâèæíîãî îêíàRp:{hbegin}, w , ii ∈ Qphpack, w , iiif outp [i] = udef thenbegin outp [i] := wap := max (ap , i − `q + 1)sp := min {j| outp [j] = udef }packreceive;;(*endelse;èãíîðèðîâàòü ïîâòîðíîå ïîëó÷åíèå ïàêåòà *)endÏîëó÷èâ ñîîáùåíèå, ïðîöåññ âíà÷àëå ïðîâåðÿåò, íå áûëî ëèèäåíòè÷íîå ñîîáùåíèå ïîëó÷åíî ðàíåå (â ýòîì ñëó÷àå ïðîöåññèìååò äåëî ñ ïîâòîðíûì ïîëó÷åíèåì ñîîáùåíèÿ).Ñèììåòðè÷íûé ïðîòîêîë ðàçäâèæíîãî îêíàRp:{hbegin}, w , ii ∈ Qphpack, w , iiif outp [i] = udef thenbegin outp [i] := wap := max (ap , i − `q + 1)sp := min {j| outp [j] = udef }packreceive;;(*endelse;èãíîðèðîâàòü ïîâòîðíîå ïîëó÷åíèå ïàêåòà *)endÏîëó÷èâ ñîîáùåíèå, ïðîöåññ âíà÷àëå ïðîâåðÿåò, íå áûëî ëèèäåíòè÷íîå ñîîáùåíèå ïîëó÷åíî ðàíåå (â ýòîì ñëó÷àå ïðîöåññèìååò äåëî ñ ïîâòîðíûì ïîëó÷åíèåì ñîîáùåíèÿ).Åñëè ýòî íå òàê, òî ñëîâî, ñîäåðæàùååñÿ â ñîîáùåíèè,çàïèñûâàåòñÿ â âûõîäíîé ìàññèâ, è ïðè ýòîì çíà÷åíèÿïåðåìåííûõ ap è sp èçìåíÿþòñÿ.Ñèììåòðè÷íûé ïðîòîêîë ðàçäâèæíîãî îêíàLp:{h}, w , ii ∈ QpQp := Qp \ hpack, w , iipackbegin{}endÑèììåòðè÷íûé ïðîòîêîë ðàçäâèæíîãî îêíàLp:{h}, w , ii ∈ QpQp := Qp \ hpack, w , iipackbegin{}endÌîäåëèðîâàíèå ïîòåðè ñîîáùåíèÿ ïðîâîäèòñÿ ïóòåì óäàëåíèÿïðîèçâîëüíîãî ñîîáùåíèÿ èç ìíîæåñòâà ñîîáùåíèé Qp ,ïðåáûâàþùèõ íà ýòàïå ïåðåñûëêè îò ïðîöåññà q ê ïðîöåññó p .Ñèììåòðè÷íûé ïðîòîêîë ðàçäâèæíîãî îêíà×òî ïëîõîãî ìîæåò ñëó÷èòüñÿ?Ñèììåòðè÷íûé ïðîòîêîë ðàçäâèæíîãî îêíà×òî ïëîõîãî ìîæåò ñëó÷èòüñÿ?1.

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Нашёл ошибку?
Или хочешь предложить что-то улучшить на этой странице? Напиши об этом и получи бонус!
Бонус рассчитывается индивидуально в каждом случае и может быть в виде баллов или бесплатной услуги от студизбы.
Предложить исправление
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5138
Авторов
на СтудИзбе
441
Средний доход
с одного платного файла
Обучение Подробнее