\input style \chapter{1 rOLX YAZYKOV PROGRAMMIROVANIYA} v GLAVE "aBSTRAKCIYA ISPOLNENIYA" YA DAL NEFORMALXNYE OPISANIYA RAZLICHNYH "MASHIN", PREDNAZNACHENNYH DLYA VYCHISLENIYA NAIBOLXSHEGO OBSHCHEGO DELITELYA DVUH POLOZHITELXNYH (I NE SLISHKOM BOLXSHIH) CHISEL. oDNO OPISANIE BYLO VYRAZHENO S POMOSHCHXYU FISHKI, PEREDVIGAEMOJ PO LISTU KARTONA, DRUGOE --- S POMOSHCHXYU DVUH POLOVINOK FISHKI, KAZHDAYA IZ KOTORYH DVIGALASX VDOLX SVOEJ OSI, A POSLEDNEE --- S POMOSHCHXYU DVUH REGISTROV, KAZHDYJ IZ KOTORYH MOG SODERZHATX CELOE CHISLO (NE PREVYSHAYUSHCHEE NEKOTOROJ GRANICY). fIZICHESKI |TI TRI "MASHINY" VESXMA RAZLICHNY, ODNAKO MATEMATICHESKI ONI OCHENX SHODNY: OSNOVNAYA CHASTX DOKAZATELXSTVA IH SPOSOBNOSTI VYCHISLYATX NAIBOLXSHIJ OBSHCHIJ DELITELX SOVPADAET DLYA VSEH TREH MASHIN. eTO OB®YASNYAETSYA TEM, CHTO ONI PREDSTAVLYAYUT VSEGO LISHX RAZLICHNYE VOPLOSHCHENIYA ODNOGO I TOGO ZHE NABORA "PRAVIL IGRY", I |TO IMENNO TOT NABOR PRAVIL, KOTORYJ STAVLYAET SUSHCHNOSTX REALXNOGO IZOBRETENIYA, IZVESTNOGO KAK "ALGORITM eVKLIDA". v PREDYDUSHCHEJ GLAVE ALGORITM eVKLIDA OPISYVALSYA SLOVESNO, NE SOVSEM FORMALXNYM OBRAZOM. oDNAKO MY OTMETILI, CHTO CHISLO SOOTVETSTVUYUSHCHIH EMU VOZMOZHNYH VYCHISLENIJ STOLX VELIKO, CHTO NUZHNO DOKAZATX EGO KORREKTNOSTX. kOLX SKORO ALGORITM DAN TOLXKO NE FORMALXNO, ON NE YAVLYAETSYA VPOLNE PODHODYASHCHIM OB®EKTOM DLYA FORMALXNOGO RASSMOTRENIYA. dLYA DALXNEJSHEGO NAM POTREBUETSYA OPISANIE |TOGO ALGORITMA V NEKOTOROJ UDOBNOJ FORMALXNOJ ZAPISI. tAKAYA FORMALXNAYA ZAPISX MOZHET OBLADATX MNOGOCHISLENNYMI PREIMUSHCHESTVAMI. lYUBOJ SPOSOB ZAPISI PODRAZUMEVAET, CHTO VSYAKIJ OPISYVAEMYJ S EGO POMOSHCHXYU PREDMET ZADAETSYA KAK KONKRETNYJ PREDSTAVITELX (CHASTO BESKONECHNOGO) KLASSA OB®EKTOV, KOTORYE MOGUT BYTX OPISANY |TIM SPOSOBOM. HaSH SPSOB OPISANIYA DOLZHEN, RAZUMEETSYA, OBESPECHIVATX IZYASHCHNOE I TOCHNOE OPISANIE ALGORITMA eVKLIDA, NO KOGDA MY |TOGO DOSTIGNEM, ALGORITM eVKLIDA OKAZHETSYA V DEJSTVITELXNOSTI ZADANNYM, KAK PREDSTAVITELX OGROMNOGO KLASSA VSEH VIDOV ALGORITMOV. i V OPISANIYAH NEKOTORYH IZ |TIH DRUGIH ALGORITMOV MY SMOZHEM NAJTI BOLEE INTERESNYE PRIMENENIYA NASHEGO SPOSOBA ZAPISI. v SLUCHAE ALGORITMA eVKLIDA ESTX OSNOVANIYA UTVERZHDATX, CHTO ON NASTOLXKO PROST, CHTO MOZHNO OBOJTISX EGO NEFORMALXNYM OPISANIEM. sILA FORMALXNOJ ZAPISI DOLZHNA PROYAVITXSYA V TAKIH DOSTIZHENIYAH, KOTORYH BEZ NEE MY NIKOGDA NE SMOGLI BY DOBITXSYA! vTOROE PREIMUSHCHESTVO FORMALXNOGO SPOSOBA ZAPISI SOSTOIT V TOM, CHTO ON DAET NAM VOZMOZHNOSTX IZUCHATX ALGORITMY KAK MATEMATICHESKIE OB®EKTY; PRI |TOM FORMALXNOE OPISANIE ALGORITMA SLUZHIT OSNOVOJ, POZVOLYAYUSHCHEJ NAM INTELLEKTUALXNO OHVATITX |TOT ALGORITM. bLAGODARYA |TOMU MY SUMEEM DOKAZYVATX TEOREMY O KLASSAH ALGORITMOV, NAPRIMER POLXZUYASX TEM, CHTO IH OPISANIYA OBLADAYUT NEKOTORYM OBSHCHIM STRUKTURNYM SVOJSTVOM. nAKONEC, TAKOJ SPOSOB ZAPISI POZVOLIT NAM OPISYVATX ALGORITMY NASTOLXKO TOCHNO, CHTO ESLI BUDET ZADAN OPISANNYJ TAK ALGORITM I ZADANY ZNACHENIYA ARGUMENTOV (VHOD), TO NE BUDET NIKAKIH SOMNENIJ OTNOSITELXNO TOGO, KAKIMI DOLZHNY BYTX SOOTVETSTVUYUSHCHIE OTVETY (VYHOD). pRI |TOM MOZHNO SCHITATX, CHTO VYCHISLENIE VYPOLNYAETSYA AVTOMATOM, KOTORYJ, POLUCHIV (FORMALXNO OPISANNYJ) ALGORITM I ARGUMENTY, POROZHDAET OTVETY BEZ DALXNEJSHEGO VMESHATELXSTVA CHELOVEKA. tAKIE AVTOMATY, SPOSOBNYE OBESPECHIVATX VZAIMNOE VOZDEJSTVIE ALGORITMA I ARGUMENTA, I V SAMOM DELE BYLI POSTROENY. oNI NAZYVAYUTSYA "AVTOMATICHESKIMI VYCHISLITELYAMI". aLGORITMY, PREDNAZNACHENNYE DLYA AVTOMATICHESKOGO VYPOLNENIYA TAKIMI VYCHISLITELYAMI, NAZYVAYUTSYA "PROGRAMMAMI", I S KONCA PYATIDESYATYH GODOV FORMALXNYE SPOSOBY, ISPOLXZUEMYE DLYA ZAPISI PROGRAMM, NAZYVAYUTSYA "YAZYKAMI PROGRAMMIROVANIYA". (vVEDENIE TERMINA "YAZYK" PRIMENITELXNO K SPOSOBAM ZAPISI PROGRAMM VYZYVAET SMESHANNYE CHUVSTVA. s ODNOJ STORONY, ONO OKAZALOSX VESXMA POLEZNYM, POSKOLXKU SUSHCHESTVUYUSHCHAYA TEORIYA LINGVISTIKI OBESPECHILA ESTESTVENNUYU OSNOVU I USTOYAVSHUYUSYA TERMINOLOGIYU ("GRAMMATIKA", "SINTAKSIS", "SEMANTIKA" I T. D.) DLYA RASSMOTRENIJ PRIMENITELXNO K |TOJ NOVOJ TEMATIKE. s DRUGOJ STORONY, NEOBHODIMO OTMETITX, CHTO ANALOGIYA S (NYNE IMENUEMYMI TAK) "ESTESTVENNYMI YAZYKAMI" CHASTO OKAZYVALASX DEZORIENTIRUYUSHCHEJ, TAK KAK DLYA ESTESTVENNYH YAZYKOV, NEFORMALXNYH PO SUSHCHESTVU, ISTOCHNIKOM KAK IH SLABOSTI, TAK I IH SILY YAVLYAETSYA PRISUSHCHAYA IM NEOPREDELENNOSTX I NETOCHNOSTX). v ISTORICHESKOM PLANE |TOT POSLEDNIJ ASPEKT, T. E. VOZMOZHNOSTX ISPOLXZOVANIYA YAZYKOV PROGRAMMIROVANIYA V KACHESTVE SREDSTVA OBSHCHENIYA S SUSHCHESTVUYUSHCHIMI AVTOMATICHESKIMI VYCHISLITELYAMI, V TECHENIE DOLGOGO VREMENI RASSMATRIVALSYA KAK IH NAIBOLEE VAZHNOE SVOJSTVO. eFFEKTIVNOSTX, S KOTOROJ SUSHCHESTVUYUSHCHIE AVTOMATICHESKIE VYCHISLITELI MOGLI BY VYPOLNYATX PROGRAMMY, ZAPISANNYE NA KONKRETNOM YAZYKE, STANOVILASX GLAVNYM KRITERIEM KACHESTVA |TOGO YAZYKA. kAK OGORCHITELXNOE SLEDSTVIE MY NEREDKO OBNARUZHIVAEM, CHTO ANOMALII SUSHCHESTVUYUSHCHIH VYCHISLITELXNYH MASHIN STARATELXNO VOSPROIZVODYATSYA V YAZYKAH PROGRAMMIROVANIYA, PRICHEM |TO PROISHODIT V USHCHERB INTELLEKTUALXNOJ UPRAVLYAEMOSTI PROGRAMM, VYRAZHAEMYH NA TAKOM YAZYKE (KAK BUDTO PROGRAMMIROVANIE I BEZ |TIH ANOMALIJ NE BYLO UZHE DOSTATOCHNO TRUDNYM!). v RAMKAH NASHEGO PODHODA MY POSTARAEMSYA VOSSTANOVITX RAVNOVESIE I PO|TOMU BUDEM OTNOSITXSYA K VOZMOZHNOSTI FAKTICHESKOGO VYPOLNENIYA NASHIH ALGORITMOV VYCHISLITELXNOJ MASHINOJ TOLXKO KAK K SCHASTLIVOJ SLUCHAJNOSTI, KOTORAYA NE DOLZHNA ZANIMATX CENTRALXNOGO MESTA V NASHIH RASSMOTRENIYAH. (v ODNOM NEDAVNO OPUBLIKOVANNOM UCHEBNOM TEKSTE PO PROGRAMMIROVANIYU NA PL/1 MOZHNO NAJTI NASTOJCHIVYJ SOVET IZBEGATX OBRASHCHENIJ K PROCEDURAM, NASKOLXKO |TO VOZMOZHNO, "POTOMU CHTO ONI DELAYUT PROGRAMMU STOLX NE|FFEKTIVNOJ". v SVETE TOGO, CHTO PROCEDURY V YAZYKE PL/1 YAVLYAYUTSYA ODNIM IZ OSNOVNYH SREDSTV oPISANIYA STRUKTURY, |TOT SOVET VYGLYADIT UZHASNO, NASTOLXKO UZHASNO, CHTO VRYAD LI MOZHNO NAZYVATX UPOMYANUTYJ TEKST "UCHEBNYM". eSLI VY UBEZHDENY V POLEZNOSTI PONYATIYA PROCEDURY I SOPRIKASAETESX S PRILOZHENIYAMI, GDE DOPOLNITELXNYE ZATRATY NA APPARAT PROCEDUR OBHODYATSYA SLISHKOM DOROGO, TO PORICAJTE |TI NEPODHODYASHCHIE PRILOZHENIYA, A NE VOZVODITE IH NA UROVENX STANDARTOV. rAVNOVESIE I V SAMOM DELE NADLEZHIT VOSSTANOVITX!) ya RASSMATRIVAYU YAZYK PROGRAMMIROVANIYA PREIMUSHCHESTVENNO KAK SREDSTVO DLYA OPISANIYA (POTENCIALXNO VESXMA SLOZHNYH) ABSTRAKTNYH KONSTRUKCIJ. kAK POKAZANO V GLAVE "aBSTRAKCIYA ISPOLNENIYA", PERVEJSHIM DOSTOINSTVOM ALGORITMA YAVLYAETSYA POTENCIALXNAYA KOMPAKTNOSTX RASSUZHDENIJ, NA KOTORYH MOZHET OSNOVYVATXSYA NASHE PRONIKNOVENIE V EGO SUSHCHNOSTX. kAK TOLXKO |TA KOMPAKTNOSTX POTERYANA, ALGORITM V ZNACHITELXNOJ MERE TERYAET "PRAVO NA SUSHCHESTVOVANIE", I PO|TOMU MY BUDEM STREMITXSYA K SOHRANENIYU TAKOJ KOMPAKTNOSTI. sOOTVETSTVENNO I NASH VYBOR YAZYKA PROGRAMMIROVANIYA BUDET PODCHINEN TOJ ZHE CELI. \bye