Главная » Просмотр файлов » лекции (2008) (by Kravets) (укороченное)

лекции (2008) (by Kravets) (укороченное) (1160827), страница 19

Файл №1160827 лекции (2008) (by Kravets) (укороченное) (лекции (2008) (by Kravets) (укороченное)) 19 страницалекции (2008) (by Kravets) (укороченное) (1160827) страница 192019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 19)

Òî åñòü íåîáõîäèìî äóáëèðîâàòü êîíòåêñò.Ñîâåðøåííîé äðóãàÿ ñèòóàöèÿ ïðè ðàçäåëüíîé çàâèñèìîé òðàíñëÿöèè.  ýòîì ñëó÷àå êîìïèëÿòîð íåòîëüêî âûäàåò îáúåêòíûé êîä, íî è êëàäåò íåêîòîðûå äàííûå â òðàíñëÿöèîííóþ áèáëèîòåêó.Òàêèì îáðàçîì, òî ÷òî ñîñòàâëÿåò îáúåêòíûé ìîäóëü - ýòî ïðîãðàììíàÿ áèáëèîòåêà, à òðàíñëÿöèîííàÿáèáëèîòåêà - ýòî íåêîòîðûé àíàëîã òàáëèöû èìåí.Òî åñòü äàæå åñëè ïðèñóòñòâóåò åäèíàÿ áèáëèîòåêà, òî îíà âñå ðàâíî îáû÷íî äåëèòñÿ íà 2 ÷àñòè - òðàíñëÿöèîííóþ è ïðîãðàììíóþ áèáëèîòåêó. ïî÷òè âñåõ ñîâðåìåííûõ ßÏ (C#, Delphi, Java) èñïîëüçóåòñÿ èìåííî òàêîé âàðèàíò, òî åñòü èìååòñÿòåíäåíöèÿ ê îáúåäèíåíèþ òðàíñëÿöèîííîé è ïðîãðàììíîé áèáëèîòåêè.

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

 Ñ/Ñ++ òðåáóåòñÿ äóáëèðîâàíèå êîäà, ÷òî ìîæåò ïîðîæäàòü îøèáêè. Äëÿ óïðîùåíèÿ åùåñîçäàòåëÿìè ÿçûêà áûëà ïðèäóìàíà òåõíèêà íà îñíîâå çàãîëîâî÷íûõ ôàéëîâ, ãäå îïèñûâàþòñÿ extern èìåíà,ïðîòîòèïû ôóíêöèé, òèïû.Òàêèì îáðàçîì, íà Ñ/Ñ++ íå ðåêîìåíäóåòñÿ îïèñûâàòü âíåøíèå èìåíà êàê extern, âìåñòî ýòîãî òðåáóåòñÿâêëþ÷àòü çàãîëîâî÷íûé ôàéë, ãäå îïèñàí äàííûõ ïðîòîòèï.Ïðè ýòîì, åñëè ìîäóëþ òðåáóþòñÿ èìåíà èç íåñêîëüêèõ ìîäóëåé, òî îí äîëæåí âêëþ÷èòü íåñêîëüêîçàãîëîâî÷íûõ ôàéëîâ. Îòñþäà âîçíèêàåò ïðîáëåìà ïîâòîðíîãî âêëþ÷åíèÿ, ÷òî ìîæåò âûçâàòü ïðîáëåìû ñîáúÿâëåíèåì òèïîâ.Òàêèì îáðàçîì, íåîáõîäèìî èñïîëüçîâàòü "ñòðàæ âêëþ÷åíèÿ":# ifndef __M_H__# dene __M_H__....# endif×òî ãàðàíòèðóåò, ÷òî èíôîðìàöèÿ èç äàííîãî ôàéëà áóäåò âêëþ÷åíà òîëüêî 1 ðàç.Òàêèì îáðàçîì îáúåìêîäà, êîòîðûé ïîäàåòñÿ òðàíñëÿòîðó âîçðàñòàåò â 10 - 20 ðàç çà ñ÷åò âêëþ÷åíèÿ çàãîëîâî÷íûõ ôàéëîâ.Òàêàÿ òåõíîëîãèÿ ôàêòè÷åñêè çàèìñòâóåò òî, ÷òî èñïîëüçóþò ïðîãðàììèñòû â áîëåå ðàçâèòûõ ßÏ.Îäíîñòîðîííåå è äâóñòîðîííåå ñâÿçûâàíèå.EK - êëèåíò (èñïîëüçóåò ñ ïîìîùüþ ïðåäëîæåíèÿ èìïîðòà) → EK - ñåðâèñ.Delphi, Modula - 2 - ìîäóëü îïðåäåëåíèÿ è ìîäóëü îïèñàíèÿ.DEFINITION MODULE,IMPLEMENTATION MODULE.Oberon - 2 åäèíûé ìîäóëü. ýòèõ ÿçûêàõ ëîãè÷åñêèé ìîäóëü ñîâïàäàåò ñ åäèíèöåé êîìïèëÿöèè.Uses ïî÷òè ýêâèâàëåíòíî ïðåäëîæåíèþ # include â Ñ.Òàê êàê ýòî èñêëþ÷èòåëüíî äâóñòîðîííÿÿ ñâÿçü, òî ñåðâåð íè÷åãî íå çíàåò î êëèåíòå, áîëåå òîãî, êîëüöåâûåññûëêè çàïðåùåíû.unit M1interfaceuses M2;unit M2interfaceuses M1;Ïðè ýòîì òàêàÿ âåùü àáñîëþòíî êîððåêòíà.unit M1interfaceuses M2;73unit M2interfaceimplementationuses M1;Òàê êàê uses òðåáóåò òðàíñëÿöèè òîëüêî èíòåðôåéñà.

Òî åñò ÿâíî âèäíî ÷òî ó êàæäîãî ìîäóëÿ èìååòñÿ2 åäèíèöû òðàíñëÿöèè - èíòåðôåéñ è îïðåäåëåíèå, ïðè÷åì îíè ìîãóò äàæå òðàíñëèðîâàòüñÿ ðàçäåëüíî äðóãîò äðóãà.Òàêèì îáðàçîâ îñíîâíîé ñîñòàâ áèáëèîòåêè - íåçàâèñèìûå áèáëèîòåêè îáùåãî íàçíà÷åíèÿ. Ïðè ýòîì âîçíèêàåò îãðîìíûé ñïèñîê uses (äî 2 - 3 ñòðî÷åê).Ðàññìîòðèì ÿçûê Àäà- îäíîñòîðîííå ñâÿçè- äâóñòîðîííèå ñâÿçèÀäà ïîääåðæèâàåò äâà âèäà òðàíñëÿöèè, òî åñòü ìîæíî òðàíñëèðîâàòü âñå öåëèêîì, à ìîæíî ïî ÷àñòÿì.Åñòü 2 âèäà ìîäóëåé - ïåðâè÷íûå, êîòîðûé òðåáóþòñÿ äëÿ òðàíñëÿöèè äðóãèõ ìîäóëåé è âòîðè÷íûå, êîòîðûåíóæíû ñàìè ïî ñåáå.

Òàêèì îáðàçîì, ïåðâè÷íûå åäèíèöû êàê áû ñîîáùàþò êîíòåêñò.  êà÷åñòâå ïåðâè÷íîéåäèíèöû ìîæåò, íàïðèìåð âûñòóïàòü ïðîöåäóðà.Âñå ÷òî îïèñàíî â ìîäóëå ñïåöèôèêàöèè ïåðâè÷íîãî ìîäóëÿ ÿâëÿåòñÿ ýêñïîðòîì.óêàçàíèå êîíòåêñòàWITH ñïèñîê_ïåðâè÷íûõ_ÅÊuse ñïèñîê; {íå îáÿçàòåëåí}òåêñò åäèíèöû êîìïèëÿöèè.Òàêèì îáðàçîì, îäíîñòîðîííåå ñâÿçûâàíèå â ÿçûêå àäà ïðàêòè÷åñêè íå îòëè÷àåòñÿ îò îäíîñòîðîííåãîñâÿçûâàíèå â äðóãèõ ßÏ. Ïðè ýòîì ñïåöèôèêàöèÿ ïàêåòà ìîæåò áûòü ïåðâè÷íûì ëîãè÷åñêèì ìîäóëåì, à åãîîïèñàíèå - âòîðè÷íûì.package outer is....package Iner is....end Inner;procedure P(X: T1; Y:T2);end Outer;Ïåðâè÷íîé åäèíèöåé êîìïèëÿöèè ÿâëÿåòñÿ îïðåäåëåíèå ïàêåòà Outer. Òåëî ïàêåòà ÿâëÿåòñÿ âòîðè÷íîéåäèíèöåé êîìïèëÿöèè.package body Outer ispackage bodu Inner isd separate;procedure P(X:T1;Y:T2) is separate;end Outer;Òàêèì îáðàçîì, ïðîöåäóðà P è âíóòðåííèé ïàêåò îïðåäåëåíû âíå ýòîãî ìîäóëÿ.

Ðàññìîòðèì îñòàâøèåñÿ2 ìîäóëÿ (ñ ïðîöåäóðîé P è ñ âíóòðåííèì ïàêåòîì).WITH Outer;use Outer;package body Inner is....end Inner;{Error.Bad definition}Òåïåðü íàïèøåì ïðàâèëüíûé âàðèàíò.separate Outer.Inner;package body Inner is....end Inner;{Correct.Correct definition}74separate Outerprocedure O(X:T1;Y:T2) is....end P;Óïðàâëåíèå ïðîñòðàíñòâàìè èìåí. ÿçûêå Àäà íåò ïîíÿòèÿ áèáëèîòåêè, òî åñòü íåëüçÿ óêàçàòü ÷òî ýòîò íàáîð ìîäóëåé ÿâëÿåòñÿ åäèíèöåéäèñòðèáóöèè.

Âñå ýòî äåëàåòñÿ âíåøíèìè ñðåäñòâàìè.Ýòà ïðîáëåìà áûëà ðåøåíà â ÿçûêå Java.  Ñ++ åäèíèöåé êîìïèëÿöèè ÿâëÿåòñÿ ôàéë, â êîòîðîì ìîæåòáûòü âñå ÷òî óãîäíî.  Java åäèíèöåé êîìïèëÿöèè òîæå ÿâëÿåòñÿ ôàéë, íî â îòëè÷èè îò Ñ/Ñ++ êàæäûéôàéë äîëæåí ñîäåðæàòü â ñåáå ïåðâûì äåëîì ïðåäëîæåíèå package, óêàçûâàþùåå ê êàêîìó ïàêåòó ïðèíàäëåæèò äàííûé ôàéë.package mine;public class Outer{public static int main (String [] args){//....}}Òàêèì îáðàçîì, ïàêåò ñëóæèò äëÿ óêàçàíèå êîíòåêñòà òðàíñëÿöèè è åäèíèöû äèñòðèáóöèè îäíîâðåìåííî.Import <èìÿ ïàêåòà> äåëàåò âñå èìåíà èç ïàêåòà âèäèìûìè. Áîëåå òîãî, ìîæíî è íå èìïîðòèðîâàòü ïàêåò,åñëè äëÿ äîñòóïà ê èìåíè ýòîãî ïàêåòà ÿâíî çàäàòü ïîëíîå èìÿ ïàêåòà.Áîëåå ìîùíîå ñðåäñòâî ÿçûêà Java - ïðîñòðàíñòâà èìåí.75Ëåêöèÿ 289.12.2008Ïðîñòðàíñòâà èìåí Ñ++ åñòü 2 ñòèëÿ - ñòàðûé ñòèëü (äëÿ ñîâìåñòèìîñòè ñî ñòàðûìè ïðîãðàììàìè) è íîâûé ñòèëü (íàîñíîâå ïðîñòðàíñòâà èìåí).Òî åñòü âîçìîæíî èñïîëüçîâàòü êàê ñòàðûé ñòèëü ïðîãðàììèðîâàíèÿ <stdio.h>, òàê è íîâûé ñòèëüstd::iostream.È Ñ++ è C# ïîääåðæèâàþò âëîæåííîñòü ïðîñòðàíñòâ èìåí.

Ïðè ýòîì â C# ñëåäóþùèå îáúÿâëåíèÿýêâèâàëåíòíûnamespace N{....namespace Ninner{....}}namespace N{}namespace N.Ninner{} Ñ/Ñ++/C# åäèíèöåé êîìïèëÿöèè ÿâëÿåòñÿ ôàéë,íî åäèíèöåé êîíòåêñòà â C# ÿâëÿåòñÿ èìåííî ïðîñòðàíñòâî èìåí.  Ñ++ âñå îñëîæíÿåòñÿ òåì, ÷òî òðåáóåòñÿ âêëþ÷åíèå çàãîëîâî÷íûõ ôàéëîâ.Ïîñëå âêëþ÷åíèÿ çàãîëîâî÷íîãî ôàéëà ê îáúåêòàì èç ïðîñòðàíñòâà èìåí ìîæíî îáðàùàòüñÿ ÷åðåç êâàëèôèêàòîð (óòî÷íåíèå), òî åñòü std::cout ¾ i;  Ñ# íå òðåáóåòñÿ ïîäêëþ÷åíèÿ çàãîëîâî÷íûõ ôàéëîâ, òî åñòüîáðàùåíèå ê îáúåêòàì íåêîòîðîãî ïðîñòðàíñòâà èìåí èäåò ïðîñòî ïî èìåíè ïðîñòðàíñòâà èìåí.System.Windows.Forms.Îòñþäà âîçíèêàåò ïîíÿòèå åäèíèöû äèñòðèáóöèè (ñáîðêè). Ïîõîæàÿ ñèòóàöèÿ â Java (åäèíèöà êîìïèëÿöèè - ôàéë, åäèíèöà äèñòðèáóöèè è êîíòåêñòà - ïàêåò).

Áîëåå òîãî, ïðîñòðàíñòâà èìåí ðåàëüíî âëîæåíû äðóãâ äðóãà, òîãäà êàê ïàêåòû íåò. Òî åñòü èåðàðõè÷åñêèé ïîèñê èìåíè ïðîèçâîäèòñÿ òîëüêî â ñëó÷àå ïðîñòðàíñòâà èìåí.Åñëè ìû èìïîðòèðóåì ïàêåò â Java (import P1.* èëè import P1.x).  java ïîÿâèëñÿ ñòàòè÷åñêèé èìïîðò(static import Math.*) ÷òî ïîçâîëÿåò îáðàùàòüñÿ ê ÷ëåíàì äàííîãî ïàêåòà áåç ÿâíîãî óêàçàíèÿ åãî èìåíè. Òîåñòüx = exp (i);Âñå ïðîñòðàíñòâà èìåí îòêðûòû ñíèçó, òî åñòü ê íèì ìîæíî äîáàâëÿòü êîíòåêñò.  C# òàê æå ìîæíîñäåëàòü èìåíà èç ïðîñòðàíñòâà èìåí âèäèìûìè áåç óòî÷íåíèÿ.using Sistem.Windows.FormsÏðè÷åì èìåíà èç òåêóùåãî ïðîñòðàíñòâà èìåí ïåðåêðûâàþò èìåíà èç èìïîðòèðóåìûõ ïðîñòðàíñòâ èìåí.Åñëè æå 2 èìïîðòèðóåìûõ èìåíè êîíôëèêòóþò, òî èìÿ ñòàíîâèòñÿ íåâèäèìûì.Òàêæå ïîÿâëÿåòñÿ êâàëèôèêàòîð äîñòóïà äëÿ êëàññà â ïðîñòðàíñòâå èìåí.namespace N1{class X;};namespace N2{class Y;};N1::X a;N2::Y b;f (a, b);Äàæå åñëè íåò äèðåêòèâû using (îíà íå ðåêîìåíäóåòñÿ), òî âîïðîñ â òîì, ãäå èñêàòü ôóíêöèþ f - N1èëè N2.Åñëè f íå íàéäåíà â òåêóùåì ïðîñòðàíñòâå èìåí, òî ïîèñê áóäåò ïðîäîëæåí è â ïðîñòðàíñòâàõ èìåíàðãóìåíòîâ, åñëè áóäåò íàéäåí íå îäèí âàðèàíò ôóíêöèè f, òî áóäåò âûäàíà îøèáêà.Òàêîå ïðàâèëî äëÿ èìåí ôóíêöèé òðåáóåòñÿ äëÿ òîãî, ÷òîáû ñòàëî âîçìîæíûì ïåðåêðûòèå èìåí èìåíñòàíäàðòíûõ îïåðàöèé.76Îáúåêòíî - îðèåíòèðîâàííûå ÿçûêè ïðîãðàììèðîâàíèÿ.Âûäåëÿþò ÎÎßÏ è ïðîñòî îáúåêòíûå.

ÎÎßÏ äîëæíû ïîääåðæèâàòü 3 ñâîéñòâà - èíêàïñóëÿöèþ, íàñëåäîâàíèÿ è äèíàìè÷åñêèé ïîëèìîðôèçì.ÍàñëåäîâàíèåÁàçîâûé êëàññ → ïðîèçâîäíûé êëàññ. Ïðîèçâîäíûé êëàññ íàñëåäóåò âñå äàííûå áàçîâîãî êëàññà. C#, Java,DelphiÑ++, Oberon, Aga 95Ñ òî÷êè çðåíèÿ íàñëåäîâàíèÿ, ó ÿçûêîâ ïåðâîé ãðóïïû âñÿ èåðàðõèÿ íàñëåäîâàíèÿ íà÷èíàåòñÿ ñ êëàññàObject, òî åñòü âñå îáúåêòû òàê èëè èíà÷å èìåþò êëàññ Object â êà÷åñòâå áàçîâîãî. ÿçûêàõ âòîðîé ãðóïïû ëþáîé êëàññ ìîæåò ñòàòü êîðíåì äåðåâà íàñëåäîâàíèÿ.C++:class Derived: public Base{îáúåêòû íîâûõ ÷ëåíîâ.};Ïðè ýòîì Ñ++ åäèíñòâåííûé ßÏ, êîòîðûé ïîääåðæèâàåò ìîäèôèêàöèþ ïðàâ äîñòóïà. Ïðèâàòíîå íàñëåäîâàíèå íàèáîëåå ÷àñòî èñïîëüçóåòñÿ ïðè ðåàëèçàöèè èíòåðôåéñîâ.C#:class Derived: Base{îáúåêòû íîâûõ ÷ëåíîâ.};Ìîäèôèêàòîð äîñòóïà çàïðåùåí.

 C# çàïðåùåíî ìíîæåñòâåííîå íàñëåäîâàíèå, íî ìîæíî íàñëåäîâàòü ìíîæåñòâî èíòåðôåéñîâ. Íàñòîÿùåå ìíîæåñòâåííîå íàñëåäîâàíèå ðåàëèçîâàíî òîëüêî â Ñ++ (èç òåõ ßÏ, êîòîðûå ðàññìàòðèâàþòñÿ â êóðñå)Java:class Derived extends Base implements i1, i2{îáúåêòû íîâûõ ÷ëåíîâ.};Ïðè ýòîì, åñëè íå óêàçàí áàçîâûé êëàññ, òî â C# è Java êëàññ ñòàíîâèòñÿ ïîòîìêîì êëàññà Object.Delphi:class Derived class (Base);Oberon:TYPE BASE = RECORDEND;TYPE DERIVED = RECORD (BASE)END;ßçûê Àäà.type base is tagged record....end;type Derived is new Base with record....end;type Derived is new Base with null record;Âòîðàÿ çàïèñü - åñëè íå òðåáóåòñÿ äîáàâëÿòü íîâûå ÷ëåíû äàííûõ.Âñå ÿçûêè ïîçâîëÿþò ëèíåéíî ðàñïðåäåëÿòü ïàìÿòü,èñêëþ÷åíèå - smalltalk.

Òàì îáúåêò ïîäêëàññà ìîæåòáûòü îòäåëåí îò ÷àñòè ñóïåðêëàññà. Òàêèì îáðàçîì, ïîÿâëÿåòñÿ âîçìîæíîñòü âàðüèðîâàòü íàáîð ìåòîäîâ âûïîëíåíèÿ âî âðåìÿ âûïîëíåíèÿ. Ýòî äàåò ÿçûêó îãðîìíóþ ãèáêîñòü, íî ñèëüíî çàìåäëÿåò ðàáîòó ïðîãðàììû,òàê êàê ïðè êàæäîì îáðàùåíèè ê ìåòîäó êëàññà òðåáóåòñÿ ïîèñê ïî âñåé öåïî÷êå íàñëåäîâàíèÿ.77òè.Òàêèì îáðàçîì, âñå ÿçûêè ïðîìûøëåííîãî ïðîãðàììèðîâàíèÿ ðåàëèçóþò ëèíåéíîå ðàñïðåäåëåíèå ïàìÿ-Âñå ôóíêöèè êëàññà ñóùåñòâóþò â åäèíñòâåííîì ýêçåìïëÿðå. Ïðè íàñëåäîâàíèè êàæäûé êëàññ - ñâîÿîáëàñòü äåéñòâèÿ, òî åñòüclass X{void f();};class Y:public X{int f;};Òî åñòü â êëàññàõ X è Y èìåíà ìîãóò ñîâïàäàòü.

Характеристики

Тип файла
PDF-файл
Размер
364,52 Kb
Тип материала
Высшее учебное заведение

Список файлов лекций

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