лекции (2008) (by Kravets)
Описание файла
PDF-файл из архива "лекции (2008) (by Kravets)", который расположен в категории "". Всё это находится в предмете "языки программирования" из 7 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст из PDF
Ìîñêîâñêèé ãîñóäàðñòâåííûé óíèâåðñèòåò èìåíè Ëîìîíîñîâà.Ôàêóëüòåò âû÷èñëèòåëüíîé ìàòåìàòèêè è êèáåðíåòèêè.Êàôåäðà ñèñòåìíîãî ïðîãðàììèðîâàíèÿ.Ëåêöèè ïî ßçûêàì ïðîãðàììèðîâàíèÿÑòóäåíòÊðàâåö Àëåêñåé. 328 ãðóïïà.ËåêòîðÃîëîâèí Èãîðü Ãåííàäüåâè÷.Ìîñêâà 2008Ëåêöèÿ 11.Ëèòåðàòóðà ïî êóðñóÂ.Ø.Êàóôìàí ßçûêè ïðîãðàììèðîâàíèÿ êîíöåïöèè è ïðèìåðûÒ.Ïðàòò Ì.Çåíêîâè÷ ßçûêè ïðîãðàììèðîâàíèÿ. Ðàçðàáîòêà è ðåàëèçàöèÿÐ.Ñåáåñò Îñíîâíûå ïîíÿòèÿ ÿçûêîâ ïðîãðàììèðîâàíèÿÁåí Àðè ßçûêè ïðîãðàììèðîâàíèÿ2.Îñíîâíûå ÿçûêè çàòðàãèâàåìûå â êóðñåÑ++(Ñòðàóñòðóï ßçûê ïðîãðàììèðîâàíèÿ Ñ++, Ñòðàóñòðóï Äèçàéí èýâîëþöèÿ Ñ++)Ada (Í.
Äæåõàíè. ßçûê Àäà)javaC# (Ñ# óñêîðåííûé êóðñ)Ìîäóëà-2(Í. Âèðò Ïðîãðàììèðîâàíèÿ íà ÿçûêå àäà)ÎáåðîíPascal/CÌîäóëà-2 çàäóìûâàëàñü êàê ëåãêèé ÿçûê, â ïðîòèâîâåñ ÿçûêó Ada.Ãëàâà 1Îïðåäåëåíèå è êëàññèôèêàöèÿ ÿçûêîâ ïðîãðàììèðîâàíèÿ.ßçûê ïðîãðàììèðîâàíèÿ ïîíÿòèå íå îáÿçàòåëüíî ñâÿçàííîå ñ êîìïüþòåðîì (íàïðèìåð ÿçûê APL ÿçûê äëÿ ìàòåìàòè÷åñêèõ ôîðìóë,PLANNER ÿçûê äëÿ ëþäåé ). Ìîæíî îïðåäåëèòü ÿçûê ïðîãðàììèðîâàíèÿ ýêñòåíñèâíî, òî åñòü ÷åðåç ìíîæåñòâî ïîíÿòèé (íàïðèìåð ñêàçàòü÷òî ßÏ ýòî Ñ++,C,Ada, è òàê äàëåå).Äðóãîå îïðåäåëåíèå: ßçûê ïðîãðàììèðîâàíèÿ èíñòðóìåíò ïëàíèðîâàíèÿ ïîâåäåíèÿ èñïîëíèòåëÿ.Âèäû ïðîãðàììèðîâàíèÿ1.Èãðîâîå ïðîãðàììèðîâàíèå (ïðîãðàììèðîâàíèÿ äëÿ ñåáÿ)2.Íàó÷íîå ïðîãðàììèðîâàíèå (äëÿ ñåáÿ èëè î÷åíü îãðàíè÷åííîãî êðóãàëèö)3.Èíäóñòðèàëüíîå ïðîãðàììèðîâàíèå (êîììåð÷åñêîå ïðîãðàììèðîâàíèå)Êëàññèôèêàöèÿ ïî ïàðàäèãìå ïðîãðàììèðîâàíèÿ1.Ïðîöåäóðíàÿ (èìïåðàòèâíàÿ) F(S)->S ïðîöåññ ïåðåõîäà èç ñîñòîÿíèÿâ ñîñòîÿíèå íåêîãî àâòîìàòà.
íàëè÷èå îïåðàòîðà ïðèñâàèâàíèÿ ñòðóêòóðèðîâàíèå ïàìÿòè (íàëè÷èå òèïîâ äàííûõ)2.Ôóíêöèîíàëüíàÿ ïàðàäèãìà1Ëåêöèÿ2Èñòîðè÷åñêèé î÷åðê ðàçâèòèÿ ÿçûêîâ ïðîãðàììèðîâàíèÿ. ïåðèîä ñ 1960 ïî 1980 ãîäà ïîÿâèëîñü îãðîìíîå êîëè÷åñòâî ÿçûêîâ ïðîãðàììèðîâàíèÿ (ìèíèìóì 400). Ýòî áûëî âûçâàíî òåì, ÷òî êàæäûé Â×.êàæäûé ñåðüåçíûé ïðîåêò ñ÷èòàë ñâîèì äîëãîì èìåòü ñâîé ñîáñòâåííûéÿçûê ïðîãðàììèðîâàíèÿ.1. Îáîñíîâàíèå âûáîðà ÿçûêîâ êóðñàFortranÏðîåêò ðàçðàáîòêè ýòîãî ÿçûêà ñ÷èòàëñÿ íåàêòóàëüíûì òàê êàê ñàìûìäîðîãèì ðåñóðñîì ñ÷èòàëîñü êîìïüþòåðíîå è ïàìÿòü âðåìÿ, ñëåäîâàòåëüíî áûñòðîäåéñòâèå è ýôôåêòèâíîñòü ïðîãðàììû ÿâëÿëèñü ãëàâíûìèïðèîðèòåòàìè.
Ïîíÿòíî ÷òî íèêàêîé òðàíñëÿòîð íå ñïîñîáåí ãåíåðèðîâàòü êîä, ïî ñòåïåíè ýôôåêòèâíîñòè ðàâíûé êîäó íàïèñàííîìó ÷åëîâåêîì. Íî ñîçäàòåëè ôîðòðàíà ÷åòêî çíàëè ÷òî õîòåëè è äîáèëèñü âñåõ ïîñòàâëåííûõ öåëåé. Ãëàâíûå çàêàç÷èêè íà ïðîãðàììû - âîåííîå âåäîìñòâî( ðàñ÷åòû èç îáëàñòè ìàò ôèçèêè). Ñíà÷àëà Ìàòåìàòèê/ôèçèê ðàçðàáàòûâàë àëãîðèòì - äàëåå ïðîãðàììèñò åãî ðåàëèçîâûâàë. Îáúÿñíåíèå øëîíà îñíîâå áëîê-ñõåì. Ïðîãðàììèñò çàíèìàëñÿ ðàñïðåäåëåíèåì ïàìÿòè èïåðåâîäîì àëãîðèòìà â ìàøèííûå êîäû(òî åñòü ôàêòè÷åñêè âûïîëíÿëôóíêöèè òðàíñëÿòîðà).
Îòëàäêà òàê æå ïðåäñòàâëÿëà ïðîáëåìó. Ðåçóëüòàòîì ðàáîòû ïðîãðàììû áûëà ðàñïå÷àòêà öèôðîâîé èíôîðìàöèè (íàïðèìåð äàìï ïàìÿòè). Ãëàâíûé ïðèîðèòåòîì áûëî æåëàíèå èñêëþ÷èòüèç ñõåìû ÷åëîâåêà êîòîðûé ïåðåâîäèòü àëãîðèòì â ìàøèííûé êîä. Óæåòîãäà ñóùåñòâîâàëè ïðîãðàììû ïî ïåðåâîäó ïðîãðàìì ñ àññåìáëåðà (àâòî êîäîâ) íà ìàøèííûé ÿçûê. Ñîîòâåòñòâåííî íåîáõîäèìî ñðåäñòâî ïîïåðåâîäó ïðîãðàìì ñ ÿçûêà ïîíÿòíîãî è èçâåñòíîãî ìàòåìàòèêàì íà ìàøèííûé êîä.
Âàæíåéøèå îïåðàòîðû - îïåðàòîð ïðèñâàèâàíèÿ,îïåðàöèèââîäà/âûâîäà, óñëîâíûå îïåðàòîðû, îïåðàòîðû ïåðåõîäà.Fortran - òðàíñëÿòîð ôîðìóë. Ìàøèííàÿ êîìàíäà IF - ïðîòîòèï îïåðàòîðà IF(e) L1 L2 L3 â ôîðòðàíå.  ôîðòðàíå ñóùåñòâîâàëî 4 ðàçíîâèäíîñòè îïåðàòîðîâ ïåðåõîäà.  1964 áûë ïðèíÿò ïåðâûé ñòàíäàðò ÿçûêàôîðòðàí ÿâëÿþùèéñÿ ñàìûì ïîïóëÿðíûì ñåãîäíÿ.1977 - íîâûé ñòàíäàðò. Ôîðòðàí ñòàë êðàéíå ïîïóëÿðíûì â ìèðå, íîïðè ýòîì âî âñåõ êíèæêàõ ïî ïðîãðàììèðîâàíèþ ôîðòðàí - èñòî÷íèêêîíòð-ïðèìåðîâ. Ïðîåêò ðàçðàáàòûâàëñÿ â ñïåøêå - ïîýòîìó áûëî ñäåëàíî äîñòàòî÷íî ìíîãî îøèáîê. Íàïðèìåð ôîðòðàí - åäèíñòâåííûé ÿçûêâ êîòîðîì õðàíåíèå ìàòðèö îðãàíèçîâàííî ïî ñòîëáöàì.
Îïåðàòîð âûâîäà æå âûâîäèò âñå ïîñòðî÷íî ( 1 âûâîä - îäíà ñòðî÷êà). Ñëåäîâàòåëüíî2íåîáõîäèìî ðàñøèðåíèÿ ÿçûêà äëÿ âûâîäà (ñïèñîê âûâîäà) íàïðèìåðäëÿ âûâîäà ìàòðèö.Ôîðòðàí ïðåäïîëàãàëñÿ äëÿ ðàáîòû ñ ìàòåìàòè÷åñêèìè ìîäåëÿìè,íî íà íåì ñòàëè ïèñàòü âñå ÷òî óãîäíî ( íàïðèìåð âèçóàëüíûé òåêñòîâûé ðåäàêòîð).Äî 1964 ôîðòðàí áûë áàçîâûì ÿçûêîì IBM.  ýòî âðåìÿâëèÿíèå IBM áûëî êðàéíå âåëèêî (êàê Oracle + intel + Ms ñåé÷àñ).
Ãëàâíûé íåäîñòàòîê ÿçûêà ôîðòðàí - îí ïðîâîöèðîâàë ïîÿâëåíèå îøèáîê âïðîãðàììàõ. Îñíîâíîé ïðèìåð - âçðûâ ñïóòíèêà îòïðàâëåííîãî â êîñìîñ(îøèáêà â ïðîãðàììå).Îïåðàòîð öèêëà â ïðîãðàììåDO 5 I=1,3îïåðàòîðû òåëà öèêëà5 CONTINUEÑ òî÷êè çðåíèÿ ôîðòðàíà ýòî êîððåêòíàÿ ïðîãðàììàÊàæäûé îïåðàòîð ôîðòðàíà áûë íà ñâîåé ñòðî÷êå (ñòðîêà ïåðôîêàðòûèëè ëåíòû(êàê ïðè÷èíà)).  ôîðòðàíå ïðîáåëû íå èãðàëè íèêàêîé ðîëè(òî åñòü ïðîãðàììà ìîãëà áûòü íàïèñàíà áåç åäèíîãî ïðîáåëà).Åñëè â ïðèâåäåííîì ôðàãìåíòå çàìåíèòü çàïÿòóþ íà òî÷êó(îïèñêà)òî ïðîãðàììà ñòàíåò òàêîéDO5I=1.3Äëÿ ýêîíîìèè ïàìÿòè íåò îáúÿâëåíèÿ ïåðåìåííûõ,Íî åñëè ïåðåìåííàÿíà÷èíàåòñÿ ñ áóêâ I-N òî îíà öåëî÷èñëåííàÿ, èíà÷å âåùåñòâåííàÿ. Áîëååòîãî äàííûå ïðèâÿçêè ìîæíî ïåðåîïðåäåëÿòü.
Ó Ôîðòðàíà ñóùåñòâóåòåùå ìíîæåñòâî íåäîñòàòêîâ (äëÿ èíäóñòðèàëüíîãî ïðîãðàììèðîâàíèÿ).Âäàííîé îøèáêå âèíîâàòû òå êòî ïðèíÿë ðåøåíèå èñïîëüçîâàòü ôîðòðàí âòàêîì ïðîåêòå(çàïóñê ñïóòíèêà).Íî äëÿ ìàòåìàòèêè (íàó÷íûõ ïðîåêòîâ)èäåàëåí. Ñóùåñòâóåò îãðîìíûé ôîíä ïðîãðàìì íà ôîðòðàíå íàêîïëåííûé ñî âðåìåíè åãî ïîÿâëåíèÿ. Ïîíÿòèå ïîäïðîãðàììû âîçíèêëî âïåðâûåâ Ôîðòðàíå.Ïðîãðàììû íà ôîðòðàíå ïîëó÷àëèñü î÷åíü ýôôåêòèâíûìè .Äàëåå íà÷àëè ðàçðàáàòûâàòü íîâûå ÿçûêè òåìè êîãî íå óñòðàèâàë ôîðòðàí: 19IFIP ðåøèëè ðàçðàáîòàòü ÿçûê äëÿ îáìåíà àëãîðèòìàìè ìåæäó ñîáîé.Ðåçóëüòàòîì ñòàë ÿçûê ÀËÃÎË êîòîðûé ñòàë ñòàíäàðòîì äëÿ ßÏ, îñîáåííî äëÿ óíèâåðñèòåòîâ Åâðîïû.Äîñòîèíñòâà ÀËÃÎËÀ: ôîòðàíå áûëè òîëüêî ñòàòè÷åñêèå ïåðåìåííûå.
 Àëãîëå - áëî÷íàÿñòðóêòóðà, ñòåêîâîå áëî÷íîå ðàñïðåäåëåíèå ïàìÿòè,ðåêóðñèÿ,(íî íå áûëî îïåðàòîðà ââîäà/âûâîäà).for i:=1 to N step 1 dobegins:=s+a[i]3endÏðîãðàììà íà ÀËÃÎË60Êëþ÷åâûå ñëîâà âûäåëÿëîñü ïî äîãîâîðåííîñòè - íà áóìàãå ïîä÷åðêèâàíèåì â ìàøèíå çàâèñèò îò ðåàëèçàöèè. Ïîýòîìó êàæäàÿ ðåàëèçàöèÿââîäèëà ñâîé íàáîð îïåðàòîðîâ ââîäà/âûâîäà è ñâîé ñïîñîá âûäåëåíèÿêëþ÷åâûõ ñëîâ - ñëåäîâàòåëüíî ïðîãðàììû íå ïåðåíîñèìû. Íî ïðè ýòîìâ ñòàíäàðòå Ôîðòðàíà ìíîãèå âåùè íå îïðåäåëÿëèñü - ñîîòâåòñòâåííîìíîãîå çàâèñåëî îò òåõ òðàíñëÿòîðîâ êîòîðûå óæå ñóùåñòâîâàëè íà ýòàïå ðàçðàáîòêè ñòàíäàðòà.
Ïðè ýòîì ôîðòðàí áûë ïðîùå ÀËÃÎËÀ è áûëïåðåíîñèìûì(åñëè ïðîãðàììà áûëà íàïèñàíà íà ñòàíäàðòå ). ÀËÃÎË îáëàäàåò ðÿäîì ñâîéñòâ(î íèõ ïîçäíåå) ïðîãðàììû íà ÀËÃÎËÅ íå áûëèýôôåêòèâíû, òàê êàê îñíîâíîé öåëüþ áûëà ïåðåäàòü ìàòåìàòè÷åñêóþêðàñîòó àëãîðèòìà íî íå ýôôåêòèâíîñòü.Íåôîðìàëüíûé êðèòåðèé êà÷åñòâà êîìïèëÿòîðà - ñðàâíèòü îòíîøåíèå ýôôåêòèâíîñòè îòòðàíñëèðîâàííîé ïðîãðàììû è ïðîãðàììû íà àññåìáëåðå (t1 t2).  êëàññè÷åñêîì âàðèàíòå t1/t2 áîëüøå 1. Íà Àëãîëåîíî 7-10, ïðè ýòîì íà ôîðòðàíå ôèðìû IBM (îïòèìèçèðóþùèé êîìïèëÿòîð) 1.05. Äëÿ RISC àðõèòåêòóð îòíîøåíèå ìîæåò áûòü ìåíüøå 1(ñëîæíîñòü àðõèòåêòóðû).
Ôîðòðàí ïðîäåìîíñòðèðîâàë "ïðèíöèï ýêîëîãè÷åñêèõ íèø êàæäûé âèä çàíèìàåò ñòðîãî îäíó ýêîëîãè÷åñêóþ íèøó. Òàêèìîáðàçîì ìîæíî ñêàçàòü ÷òî ó êàæäîãî ÿçûêà åñòü ñâîÿ ýêîëîãè÷åñêàÿ íèøà - ïðîáëåìíàÿ îáëàñòü è íàáîð íàâûêîâ, áèáëèîòåê,ëþäåé,àëãîðèòìîâè ïðî÷åãî, ñâÿçàííîãî ñ ýòèì ÿçûêîì. Ëþäÿì òÿæåëî çàáûâàòü ñòàðîå (íàâûêè,áèáëèîòåêè..).Ôîðòðàí çàíÿë íèøó - íàó÷íî òåõíè÷åñêèå âû÷èñëåíèÿ (îí çàíÿë åå ïåðâûì è ïîëó÷èë ðåøàþùåå ïðåèìóùåñòâî).Ñ òî÷êèçðåíèÿ íàó÷íî òåõíè÷åñêèõ âîïðîñîâ ïîÿâèëîñü ìíîæåñòâî ÿçûêîâ ïîñëå ôîðòðàíà âîçìîæíî ïðåâîñõîäÿùèõ åå, íî îíè íå ñìîãëè âûòåñíèòüôîðòðàí. Ïðèìåðîì âûòåñíåíèÿ ÿâëÿåòñÿ âûòåñíåíèå àññåìáëåðà èç íèøè ñèñòåìíîãî ïðîãðàììèðîâàíèÿ ÿçûêîì Ñ.Ìîäóëà-2 ñîçäàâàëñÿ äëÿ ñèñòåìíîãî ïðîãðàììèðîâàíèÿ íî íå ñìîãâûòåñíèòü ÿçûê Ñ. Ïðèñïîñîáèâøèñü ê íèøå ÿçûê óæå ïî÷òè íå ñïîñîáåí åå ïîêèíóòü.
Åñëè ÿçûê íåòî÷íî ïîçèöèîíèðîâàí äëÿ êàêîé-ëèáîíèøè(èëè åãî íèøà óæå çàíÿòà) òî îí ñ áîëüøîé âåðîÿòíîñòüþ íå ïîëó÷èò ïîïóëÿðíîñòè.ÏåðèîäûI.1950 - 1960ÔîðòðàíÀËÃÎË (1960)Àëãîë - ïåðâàÿ ðàçðàáîòêà ñåðüåçíîãî êîëëåêòèâà ó÷åíûõ. Àëãîë60 ïî4âëèÿë íà òàêèå ÿçûêè êàê íàïðèìåð Ïàñêàëü, ïðè îïèñàíèè ñèíòàêñèñààëãîëà âïåðâûå èñïîëüçîâàëèñü ÁÍÔ(ðàçðàáîòàííûå äëÿ îïèñàíèÿ ñèíòàêñèñà ýòîãî ÿçûêà). Êîãäà áûëè ââåäåíû ãðàììàòèêè ñòàëî ÿñíî ÷òîÁÍÔ ñîîòâåòñòâóþò ãðàììàòèêàì êëàññà 2. Ñî âðåìåí àëãîëà60 ñèíòàêñèñ ëþáûõ ÿçûêîâ ïðîãðàììèðîâàíèÿ îïèñûâàëèñü ôîðìàëüíî (íàïðèìåð ñ ïîìîùüþ ÁÍÔ).1967 - ÿçûê simula67 (èìèòàöèîííîå ìîäåëèðîâàíèå - ñîçäàíèå ïðîãðàììíûé ìîäåëåé).
Ïîíÿòèå îáúåêòà/êëàññà. Êëþ÷åâûå ñëîâà class new.Îáúåêòû êëàññîâ çàâîäèëèñü òîëüêî â äèíàìè÷åñêîé ïàìÿòè ñ ïîìîùüþ new. Ñòðàóñòðóï ðàáîòàë ñ ýòèì ÿçûêîì. ðàçðàáàòûâàÿ Ñ++. ÊîãäàÑòðàóñòðóï ïðèåõàë â Àìåðèêó îí ñòàë çàíèìàòüñÿ èìèòàöèîííûì ìîäåëèðîâàíèåì ( äëÿ òåëåôîííûõ ñèñòåì). Îí ðàçðàáîòàë Ñ ñ êëàññàìè-êîòîðûé ïîòìî ýâîëþöèîíèðîâàë â Ñ++.
Èòàê simula ñòàëà çíàêîâûìÿçûêîì â ðàçâèòèè ßÏ.Íàó÷íàÿ çàäà÷à - íåáîëüøîé îáúåì äàííûõ è âû÷èñëèòåëüíîåìêèåîïåðàöèè ( èäåàëåí ôîðòðàí). Êîììåð÷åñêèå ïðèëîæåíèÿ - áîëüøèå îáúåìû äàííûõ è ïðîñòûå îïåðàöèè. Òðåáóåòñÿ ýôôåêòèâíîñòü îïåðàöèéââîäà âûâîäà.1959 COBOL.Áûë ñîçäàí ñïåö êîìèòåòîì - çàíÿë ñâîþ ýêîëîãè÷åñêóþíèøó(áèçíåñ ïðèëîæåíèÿ) + ïîääåðæêà ïðàâèòåëüñòâà ÑØÀ(îäèí èç÷ëåíîâ êîìèòåòà). Òàêèì îáðàçîì áîëüøèíñòâî êîììåð÷åñêèõ ïðèëîæåíèé áûëî íà ýòîì ÿçûêå(áàíêè è ïðî÷åå).Âñå êîìïüþòåðû ïîêóïàåìûåçà áþäæåòíûå äåíüãè äîëæíû áûëè èìåòü êîìïèëÿòîð êîáîëà. Äàæåñåé÷àñ â íåêîòîðûõ îðãàíèçàöèÿõ ðàáîòàþò ïðîãðàììû íà êîáîëå.Ïðîáëåìà 2000 - ñëåäñòâèå èñïîëüçîâàíèÿ êîáîëà (â 1959 íå äóìàëè î2000 ãîäó). Íà äàòó (DDMMYY) îòâîäèëîñü ìèíèìóì ïàìÿòè ( 2 öèôðûíà ãîä).  ðåçóëüòàòå îãðîìíûå ñóììû áûëè ïîòðà÷åíû è íà ïåðåïèñûâàíèå ïðîãðàìì íà êîáîëå ñ ó÷åòîì ïðîáëåìû 2000.