Matryoshka C. Layered pulogalamu chinenero dongosolo

Tiyeni tiyese kulingalira umagwirira popanda Mendeleev a Periodic Table (1869). Ndi zinthu zingati zomwe zimayenera kukumbukiridwa, osatsata dongosolo linalake ... (Ndiye - 60.)

Kuti muchite izi, ingoganizirani za chilankhulo chimodzi kapena zingapo nthawi imodzi. Zomverera zomwezo, chisokonezo cholenga chofanana.

Ndipo tsopano tikhoza kubwerezanso maganizo a akatswiri a mankhwala a zaka za m'ma XNUMX pamene anapatsidwa chidziwitso chawo chonse, ndi zina zambiri, mu Periodic Table imodzi.

Matryoshka C. Layered pulogalamu chinenero dongosolo


Buku lakuti "Matryoshka C. Dongosolo lachiyankhulo cha pulogalamu" limapereka magawo onse a chilankhulo cha C pang'onopang'ono. Izi zimakupatsani mwayi wowakonza, kukonza zidziwitso zakale, komanso kumveketsa bwino lomwe pulogalamuyo.

Masiku ano, zidziwitso zamapulogalamu zimafunikira kukhazikitsidwa mopitilira muyeso kuposa zomwe zidapangidwa zaka 150 zapitazo.

Chofunikira choyamba ndikuphunzitsa. Mendeleev anayamba kulenga dongosolo lake pamene anakumana ndi funso limene chinthu kuyamba lecturer ndi: O, H, N, Iye, Au... St. Petersburg University. Ndipo mapulogalamu amaphunzitsidwa kale kusukulu ndipo posachedwa ayamba ku sukulu ya kindergarten.

Chofunikira chachiwiri ndi njira yasayansi. Mothandizidwa ndi Periodic Table, zinthu zatsopano zidapezeka ndipo zambiri za zakale zidakonzedwa. Anathandizira kupanga chitsanzo cha atomu (1911). Ndi zina zotero.

Chofunikira chachitatu ndikuwunikira lingaliro la pulogalamu.

Mapulogalamu amakono ali ndi phazi limodzi lokhazikika m'zaka za m'ma 50s za XNUMXth century. Kalelo, mapulogalamu anali osavuta, koma makina ndi zilankhulo zamakina zinali zovuta, kotero zonse zimayendera makina ndi zilankhulo.

Tsopano zonse ziri mwanjira ina: mapulogalamu ndi ovuta komanso oyambirira, zilankhulo ndizosavuta komanso zachiwiri. Izi zimatchedwa njira yogwiritsira ntchito, yomwe aliyense akuwoneka kuti akuidziwa bwino. Koma ophunzira ndi omanga akupitirizabe kukhulupirira kuti zonse ziri zofanana.

Zomwe zimatifikitsa ku nkhani yoyamba ya Privatdozent Mendeleev. Zoti muwawuze oyamba kumene? Choonadi chili kuti? Ndilo funso.

Buku la "Matryoshka C" limapereka yankho ku funso ili. Layered System of Language Language". Komanso, sizimaperekedwa kwa ophunzira okha, komanso kwa ophunzitsidwa mapulogalamu, popeza ndi iwo, ndiye kuti, ife, tiyenera kufunafuna choonadi ndi kusintha kawonedwe ka dziko.

Chotsatira ndi chidule cha bukhuli.

1. Kuyamba

Mu 1969, chilankhulo cha C chidapangidwa, chomwe chidakhala chilankhulo choyambirira ndipo chakhala chomwecho kwa zaka 50. N’chifukwa chiyani zili choncho? Choyamba, chifukwa C ndi ntchito chinenero chimene chinapereka pulogalamuyo waumunthu onani m'malo mwake makina. Kupambana uku kudatetezedwa ndi zilankhulo zochokera ku banja la C: C ++, JavaScript, PHP, Java, C # ndi ena. Chachiwiri, ndi chilankhulo chachifupi komanso chokongola.

Komabe, chilankhulo cha C palokha nthawi zambiri chimasakanizidwa ndi makina ophatikizira, motero zimasokoneza ndikusokoneza malingaliro ake. Chinanso chonyanyira ndicho kuyika kwa "filosofi" inayake pachilankhulo: kachitidwe, chinthu, kachitidwe, kaphatikizidwe, kakutanthauziridwa, katayipidwe, ndi zina zotero. Izi zimawonjezera kutengeka, koma sizithandiza kufotokoza bwino chinenerocho.

Chowonadi chiri pakati, ndipo kwa chilankhulo cha C chimakhala pakati pa malingaliro a filosofi ndi makina.

Chilankhulo cha C sichidziimira paokha, chimamvera chinenero cholembedwa wamba, ndipo nthawi yomweyo chimalamulira chinenero cha msonkhano chokha. Malo awa akufotokoza Lankhulidwe chitsanzo cha pulogalamu, malinga ndi zomwe pulogalamuyo imagawidwa m'magulu atatu: mawu, code, lamulo. Chilankhulo cha C chimayang'anira chachiwiri, mtundu wa code.

Podziwa malo a chinenero mu pulogalamu, mukhoza kukonza zambiri za izo, zomwe zimapangitsa Layered pulogalamu chinenero dongosolo, kuyimira chinenero cha C mu mzimu wa periodic system - pa tsamba limodzi.

Dongosolo limamangidwa poganizira madera a zilankhulo zogwiritsidwa ntchito, zobwera chifukwa cha kugonjera kwawo kwa malankhulidwe. Seti imodzi ya mayunitsi a Matryoshka C imakupatsani mwayi wofotokozera ndikufanizira zilankhulo zosiyanasiyana, ndikupanga Matryoshkas angapo: C ++, PHP, JavaScript, C #, MySQL, Python ndi zina zotero. Ndizoyenera komanso zolondola kuti zilankhulo zosiyanasiyana zimafotokozedwa ndi magawo achilankhulo choyambirira.

2. MUTU 1. Chitsanzo cha malankhulidwe a pulogalamu. Chotsani C

Mutu woyamba ukupereka chilankhulo cha pulogalamu, kusonyeza njira yogwiritsiridwa ntchito. Malinga ndi iye, pulogalamuyi ili ndi mitundu itatu yodziwika bwino yotsatizana:

  1. kulankhula - kulankhula kwachindunji kwa wopanga mapulogalamu kuthetsa vutoli,
  2. coded - kuyika yankho kukhala masamu muchilankhulo C (kapena china chilichonse)
  3. ndi lamulo - makina mwachindunji malamulo.

Chitsanzo cholankhulidwa chikufotokoza chifukwa chake C ndi chinenero chosavuta komanso chomveka. Xi amamangidwa m'chifaniziro ndi chifaniziro cha zolankhula za anthu zomwe timazidziwa bwino.

Mtundu woyamba wa pulogalamu ndi mawu achindunji a wopanga mapulogalamu. Zolankhula zimagwirizana ndi maganizo a anthu. Oyambitsa mapulogalamu amalemba mapulogalamu pogwiritsa ntchito mawu - choyamba mu Chirasha, kenako pang'onopang'ono kumasulira zochitazo m'chinenero cha code. Ndipo ndi chimodzimodzi pa chitsanzo ichi kuti chinenero C analengedwa.

Zomaliza za wopanga mapulogalamu, zomwe zimafotokozedwa m'mawu, zimasinthidwa kukhala nambala yolembedwa. Kusintha uku kumayenera kutchedwa kulingalira, popeza malankhulidwe ndi ma code ali ndi chikhalidwe chofanana (reflection - birth - gender). Izi ndizodziwikiratu ngati tifananiza zolankhula (kumanzere) ndi kachidindo (kumanja) kwa pulogalamuyo.

Matryoshka C. Layered pulogalamu chinenero dongosolo

Ndizodabwitsa kuti kulingalira kumachitika mosavuta - ndi mitundu iwiri yokha ya mawu.

Komabe, mafotokozedwe amakono a chilankhulo cha C (kuchokera ku 1978) alibe mndandanda wokwanira wa mayina kuti afotokoze chinenero chonse, kapena ntchito yowonetsera makamaka. Chifukwa chake, timakakamizika kupanga zopanga ndikuyambitsa mayina awa.

Kusankha mawu kuyenera kukhala kolondola komanso komveka bwino. Izi zinafuna njira yapadera, yofotokozedwa mwachidule motere: kugwiritsa ntchito chinenero cha makolo. Kwa Chingerezi chingakhale Chingerezi, koma sitiri Achingelezi. Kotero tidzagwiritsa ntchito zomwe tili nazo ndikuyesera kulankhula Chirasha.

Kulingalira kumachitidwa ndi mitundu iwiri ya mawu:

  1. kuwerengera (HF) - imasonyeza kusintha kwa zinthu. Katundu wa chinthu amafotokozedwa ndi nambala, ndiye chochita pa katundu ndi ntchito pa nambala - ntchito.
  2. kugonjera (Pch) - ikuwonetsa kusintha kwa dongosolo la zochita. Chitsanzo cha Pch ndi chiganizo chovuta kulankhula, choncho mitundu yambiri ya Pch imayamba ndi kugwirizanitsa mawu akuti "ngati", "apo ayi", "pamene", "pa". Mitundu ina ya ma PC imathandizira.

Mwa njira, kodi mungakhulupirire kuti mu malongosoledwe a C mulibe dzina la mawu owerengera - amangotchedwa "mawu"? Pambuyo pa izi, sizidzakhalanso zodabwitsa kuti palibe dzina ndi chiyanjano cha mtundu wa subordination, ndipo ndithudi kusowa kwa mayina, matanthauzo ndi generalizations ambiri. Izi zili choncho chifukwa K/R wotchuka (“Chiyankhulo cha C”, Kernighan/Ritchie, 1978) si kufotokoza, koma chitsogozo chogwiritsa ntchito chinenerocho.

Komabe, ndikufunabe kukhala ndi malongosoledwe a chinenerocho. Chifukwa chake amaperekedwa Layered pulogalamu chinenero dongosolo.

3. MUTU 2. Layer system. Mwachidule C

Kufotokozera kulikonse kuyenera kukhala kolondola komanso kwachidule kwambiri. Pankhani ya chinenero cha pulogalamu, kufotokozera kutsogolo kumakhala kovuta.

Pano tili ndi pulogalamu. Zili ndi ma modules. Ma modules amakhala ndi ma subroutines ndi zosonkhanitsira (mapangidwe). Ma subroutines amakhala ndi mawu amodzi: kulengeza, kuwerengera, kugonjera. Pali mitundu pafupifupi khumi ya kugonjera. Kugonjera kumagwirizanitsa ma sublevels ndi subroutines. Palinso zotsatsa zingapo. Komabe, zolengeza sizikuphatikizidwa mu subroutines ndi sublevels, komanso ma modules ndi zosonkhanitsa. Ndipo mawu ambiri amakhala ndi mawu ovuta kuwafotokoza moti nthawi zambiri amangoperekedwa m’malemba aŵiri - mawu oyambirira ndi otengedwa, amene mudzawadziŵa pophunzira ndi kugwiritsa ntchito chinenerocho. Tiyeni tiwonjezere zizindikiro zopumira ndi ziganizo zina zingapo ku izi.

M’nkhani yotero, n’zovuta kumvetsa amene anaima pa ndani.

Kufotokozera molunjika chinenero kungakhale kovuta kwambiri. Kufufuza mozungulira kumabweretsa kufotokozera chilankhulo kutengera momwe amalankhulira komanso mbali yolamula. Choncho, Layer System anabadwa, pang'ono coinciding ndi Periodic System ya Mendeleev, amenenso ndi ply. Monga zinachitikira zaka 42 pambuyo kufalitsidwa (1869), periodicity dongosolo kugwirizana ndi zamagetsi. zigawo (1911, Bohr-Rutherford chitsanzo cha atomu). Komanso, machitidwe a Layered and Periodic ndi ofanana mu dongosolo la tabular la magawo onse patsamba limodzi.

Kufotokozera kwa zilankhulo ndi zazifupi - mitundu 10 yokha ya mawu ndi mitundu 8 ya mayunitsi ena, komanso omveka komanso owoneka. Ngakhale zachilendo kwa woyamba kudziwa.

Magawo a zilankhulo amagawidwa m'magulu 6:

  1. mayunitsi - tebulo mizere
  2. madipatimenti - magulu apadera a genera (mbali za mzere woyamba)
  3. genus - maselo (magawo akulu)
  4. superspecies - olekanitsa mitundu (kawirikawiri mlingo)
  5. mitundu - mawonekedwe a unit pansi pa selo kapena padera
  6. machitidwe - mayunitsi okha (mwa mawu okha)

Mawu achitsanzo akufotokoza mawu - kagawo kakang'ono kosiyana kopangidwa ndi magawo asanu ndi limodzi omwewo.

Chilankhulo cha chilankhulo cha C ndi chodziwikiratu, ngakhale chikuyenera kufotokozedwa. Koma gawo lachiyankhulo limagwirizana ndendende ndi kuwongolera kophatikiza, pomwe mtundu wachitatu wa pulogalamu umapangidwa - lamulo. Apa tabwera ku gawo losangalatsa kwambiri la chilankhulo cha C: kukongola.

4. MITU YOTSATIRA. Wokongola Si

Chilankhulo cha C ndicho maziko a mapulogalamu amakono. Chifukwa chiyani? Choyamba, chifukwa cha kulumikizana kwakukulu kwa mawu. Kachiwiri, chifukwa idadumphadukiza bwino malire a makina opangira manambala.

Kodi Xi adapereka chiyani kwenikweni? Chithunzi ndi wosanjikiza.

Mawu oti "chifanizo" ndi kumasulira kwa mawu achingerezi akuti "type", omwe amachokera ku Greek "prototype" - "type". M'chinenero cha Chirasha, mawu oti "mtundu" sapereka mwala wapangodya wa lingaliro lomwe likufotokozedwa; Komanso, limasokonezedwa ndi tanthawuzo lothandizira "mtundu".

Poyamba, chithunzicho chinathetsa vuto la kuwerengera kwa makina, ndipo kenako chinakhala njira yoyambira kubadwa kwa zilankhulo za chinthu.

Wosanjikiza nthawi yomweyo anathetsa mavuto angapo - onse makina ndi ntchito. Choncho, kulingalira kudzayamba ndi chithunzi cha ntchito imodzi ndikupita ku gawo la ntchito zambiri.

Chimodzi mwazinthu zosasangalatsa zamapulogalamu akale ndikuti mfundo zambiri, kuphatikiza zoyambira, zimaperekedwa popanda matanthauzidwe. "Chiyankhulo chokonzekera (dzina la mitsinje) chili ndi mitundu yambiri komanso yoyandama ... Sikoyenera kufotokozera kuti "mtundu" (chithunzi) ndi chiyani, chifukwa olembawo samamvetsetsa bwino izi ndipo amazimitsa "kuti zimveke bwino." Ngati atapanikizidwa pakhoma, adzapereka tanthauzo losavuta komanso lopanda ntchito. Zimathandiza kwambiri kubisala kuseri kwa mawu achilendo: kwa olemba Russian - kuseri kwa Chingerezi (mtundu), kwa Achingelezi - kuseri kwa French (subroutine), Greek (polymorphism), Latin (encapsulation) kapena kuphatikiza kwawo (ad-hoc polymorphism).

Koma ichi si tsogolo lathu. Kusankha kwathu ndikutanthauzira ndi visor yokwezeka mu Russian koyera.

Chithunzi

Chithunzi ndi dzina lophiphiritsira la kuchuluka komwe kumatanthawuza 1) katundu wamkati wa kuchuluka ndi 2) kusankha kwa ntchito za kuchuluka kwake.

Mawu akuti "mtundu" (mtundu) amafanana ndi gawo loyamba la tanthauzo: "intrinsic properties of a quantity." Koma tanthauzo lalikulu la chithunzichi lili mu gawo lachiwiri: "kusankha zochita mochuluka."

Poyambira poyambitsa chithunzi mu C ndikuwerengera kwanthawi zonse, monga ntchito yowonjezera.

Mapepala Masamu, kaya olembedwa pamanja kapena osindikizidwa, samasiyanitsa kwambiri mitundu ya manambala, pongoganiza kuti ndi zenizeni. Chifukwa chake, magwiridwe antchito awo ndi osavuta.

Makina Masamu amagawanitsa manambala m'magulu onse ndi tizigawo. Mitundu yosiyanasiyana ya manambala imasungidwa mosiyana mu kukumbukira ndikukonzedwa ndi malangizo osiyanasiyana a purosesa. Mwachitsanzo, malangizo owonjezera manambala ndi tizigawo tating'onoting'ono ndi malangizo awiri osiyana ogwirizana ndi ma purosesa awiri osiyana. Koma palibe lamulo lowonjezera mikangano yonse komanso yamagulu.

Zagwiritsidwa ntchito masamu, ndiko kuti, chinenero cha C, chimalekanitsa mitundu ya manambala, koma imagwirizanitsa ntchito: kuwonjezera kwa ma integers ndi / kapena magawo amalembedwa ndi chizindikiro chimodzi chochita.

Kutanthauzira momveka bwino kwa chithunzi cha lingaliro kumatilola kuti tizilankhula za mfundo zina ziwiri: kukula и ntchito.

Kukula ndi ntchito

Kukula kwake - nambala yomwe ikukonzedwa.

Ntchito - kukonza zikhalidwe zoyambira (mikangano) kuti mupeze nambala yomaliza (yokwanira).

Kukula ndi ntchito zimagwirizana. Opaleshoni iliyonse imakhala yochuluka chifukwa imakhala ndi zotsatira za manambala. Ndipo mtengo uliwonse ndi zotsatira za kusamutsa mtengo ku / kuchokera ku regista purosesa, ndiko kuti, zotsatira za ntchitoyo. Ngakhale ubalewu, chinthu chachikulu ndi kuthekera kwa kufotokozera kwawo kosiyana, ngakhale kubwereza mawu amodzi m'magawo osiyanasiyana a dikishonale, zomwe zimachitika mu MA3.

Njira yamakina idagawa manambala onse ogwiritsidwa ntchito ndi wopanga mapulogalamu malamulo и zambiri. M'mbuyomu, onsewo anali manambala, mwachitsanzo, malamulo adalembedwa mu manambala. Komabe, m’zinenero zogwiritsidwa ntchito, malamulo anasiya kukhala manambala ndipo anakhala m'mawu и zizindikiro zochita. "Deta" yokha imakhalabe ngati manambala, koma n'zosamveka kupitiriza kuwatcha motero, chifukwa pakusintha kuchoka pamakina kupita ku masamu, manambala ndi kuchuluka komwe kumagawidwa ndi choyambirira (zambiri) ndi chomaliza (zofunika). "Datum yosadziwika" idzamveka ngati yopusa.

Maguluwa adagawidwanso m'mitundu iwiri ya zochita: masamu ndi ntchito. Masamu zochita - ntchito. Tifika kuzinthu zovomerezeka pambuyo pake.

M'zilankhulo za C, mapepala ndi makina omwe amagwiritsidwa ntchito momveka bwino, kapena amodzi, masamu amachuluka pafupifupi padziko lonse lapansi.

Zochita zingapo ndi machitidwe angapo a dzina lomwelo okhala ndi mitundu yosiyanasiyana ya mikangano komanso yosiyana, tanthauzo lofanana, zochita.

Mikangano yambiri imayenderana ndi ntchito yonse, ndipo mfundo zamagulu zimagwirizana ndi kachitidwe kakang'ono. Kusiyanaku kumawonekera makamaka panthawi yogawa, pamene mawu akuti 1/2 amapereka chiwerengero cha 0, osati 0,5. Chidziwitso choterocho sichikugwirizana ndi malamulo a masamu a pepala, koma chinenero cha C sichimayesetsa kutsatira (mosiyana ndi Fortran) - imasewera molingana ndi zake. ntchito malamulo.

Pankhani yosakaniza manambala ndi tizigawo, cholondola chokhacho chimaphatikizidwa kuponya mfundo zotsutsana - Kusintha kosankha kwa mtengo kuchokera ku chithunzi chimodzi kupita ku china. Zowonadi, powonjezera nambala ndi nambala yocheperako, zotsatira zake zimakhala zochepa, kotero chithunzi cha ntchitoyo amanyamula kagwiridwe ka ntchito kosintha mfundo zonse kukhala zagawo.

Ntchito zingapo zatsala zambirindi wosakwatiwa. Zochita zoterezi zimatanthauzidwa pamtundu umodzi wa mikangano: magawo otsala - mikangano yambiri, stacking (ntchito pang'ono) - chiwerengero cha chilengedwe. Ma3 akuwonetsa kuchuluka kwa ntchito ndi zizindikiro (# ^) zosonyeza zithunzi zomwe ntchitoyo imatanthauzidwa. Ichi ndi chinthu chofunikira koma chomwe sichinkanyalanyazidwa kale pa ntchito iliyonse.

Ntchito zonse zimangochitika mwachisawawa. Kupatulapo ndi ogwira ntchito - ntchito zopanda bracket, yomangidwa m'chinenerocho (ntchito zoyambirira).

Thandizo

Thandizo - zochita zotsagana ndi ntchitoyi.

Ngati tiwona opareshoniyo ngati chinthu chachikulu, ndiye kuti titha kusiyanitsa awiri omwe amatsagana nawo omwe amapereka opaleshoniyo ndikusiyana nawo. Izi ndi 1) kuwongolera kosinthika ndi 2) kugonjera. Izi zimatchedwa thandizo.

Apa tifunika kusokoneza ndi kunena mosiyana za kumasulira kwa mabuku achi Russia. Mawu atsopano adayambitsidwa m'mawu a K/R kuti alembe zochita mawu (mawu), omwe amayesa kugawa mfundo za lamulo la makina muzochita zosiyanasiyana: 1) ntchito, 2) kulengeza, ndi 3) kugonjera (kutchedwa "control constructs"). Kuyesera uku kunayikidwa m'manda ndi omasulira a Chirasha, m'malo mwa "mawu" ndi mawu oti "operator", omwe:

  1. afanana ndi mawu akuti "command",
  2. zinakhala zofanana ndi mawu akuti "chizindikiro cha zochita",
  3. ndipo adalandiranso chiwerengero chopanda malire chamtengo wapatali. Ndiko kuti, yasanduka chinthu chofanana ndi nkhani yachingerezi yoti “uhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh

Ganizirani zochita zomwe zikutsatiridwa, kapena thandizo.

Kuwongolera kosinthika

Kuwongolera kosinthika (UP) - kupanga / kuchotsa maselo osinthika.
UE imachitika mosabisa polengeza kusintha, komwe kwalembedwa kale pazifukwa zina - kuwonetsa chithunzi cha mtengowo. Kuwona kumodzi kokha ndiko komwe kumayendetsedwa bwino zosintha zina pogwiritsa ntchito malloc () ndi free () ntchito.

Tikumbukenso kuti zochita mosabisa ndi zosavuta kulemba, chifukwa safuna kulemba kalikonse, koma ndi zovuta kumvetsa - ndi zovuta kuziganizira ndi kutanthauzira.

Kugonjera

Kugonjera - gwirizanitsani / zimitsani zigawo zosanjikiza.

Chilankhulo cha C chinapereka njira yogwiritsiridwa ntchito yoyang'anira dongosolo la zochita, mosiyana ndi assembler - subordination. Imawonetsa ndikukulitsa chiganizo chovuta kulankhula ndi kugawikana momveka bwino mu gawo lalikulu (ndime yogonjera) ndi gawo laling'ono (magawo ang'onoang'ono / subroutine).

Onse kulengeza ndi kugonjera zimamangidwa kwathunthu pa lingaliro wosanjikiza.

Gulu

Gulu ndi kachulukidwe kakang'ono ka mawu osankha.

Wosanjikiza momveka bwino komanso mosabisa adagwira ntchito zingapo nthawi imodzi:

  1. kukonza pulogalamu
  2. kuchepetsa kuwonekera kwa mayina (mwachindunji),
  3. kasamalidwe ka zosinthika (maselo a kukumbukira) (osadziwika),
  4. tanthauzo la subordinate clauses for subordination,
  5. matanthauzo a ntchito ndi zosankha ndi zina.

Panalibe lingaliro la kusanjikiza m'zilankhulo zamakina, chifukwa chake silinawonekere mu K/R, ndipo ngati china chake sichinalipo, ndiye kuti kuziyika m'mabuku otsatirawa kudzakhala chinyengo komanso kuganiza momasuka. Choncho, lingaliro la wosanjikiza silinawonekere konse, ngakhale ndilofunika kwambiri komanso lodziwikiratu.

Popanda wosanjikiza, sizingatheke kufotokoza mwachidule komanso momveka bwino zochita zambiri ndi malamulo a pulogalamuyi. Mwachitsanzo, chifukwa chiyani goto, yosavuta ngati kopecks zitatu, zoipa, ndi zachinyengo pamene ndi zabwino. Mutha kulumbira mopanda chochita, monga anachitira Dijkstra (“luso la opanga mapulogalamu ndi ntchito yomwe motsutsana imatengera kuchuluka kwa mawu a goto m'mapologalamu awo.” Mwachidule, mbuzi zokha ndi zomwe amagwiritsa goto. Mlingo wa kulungamitsidwa ndi Mulungu.) Zowona, izi sizowopsa ngati mabuku anu Sitiyenera kufotokoza kalikonse, koma, monga tanenera kale, izi sizomwe tikupita.

Mwa njira, tinganene kuti Dan Ritchie anasiya goto monga chinsinsi chofufuzira lingaliro lina losadziwika, chifukwa panalibe kufunikira kapena kukongola mu mawu akuti goto. Koma panali kufunika kwa kufotokozera kosavuta komanso komveka bwino kwa mfundo zatsopano za chinenero, zomwe Richie mwiniwake sanafune kupereka, zomwe zimachokera ku lingaliro. wosanjikiza.

Kupatuka

Kupatuka - kusintha mawonekedwe anthawi zonse a dzina latsopano.

Kupatuka kofunikira kwambiri kumagwirizana ndendende ndi mawonekedwe osanjikiza a pulogalamuyo, ndipo akufotokozedwa ndi mawu amodzi akuti "static", omwe ali ndi tanthauzo losiyana mumtundu uliwonse wa wosanjikiza.

5. MUTU WOTSATIRA. Kufanana kwa zilankhulo zogwiritsidwa ntchito

Zilankhulo zogwiritsidwa ntchito ndizo ophiphiritsa zilankhulo (zokhala ndi chithunzi, "zotayipa"). Zimatengera kugwiritsa ntchito chithunzichi momveka bwino kapena mosabisa. Komanso, apanso kutsutsana kukuwonekera: chithunzi chowonekera chimamveka bwino, koma chochepa, ndi mosemphanitsa.

Matryoshka C. Layered pulogalamu chinenero dongosolo

(Mapangidwe a tebulo sanaperekedwe, kotero tebulo likuwonetsedwa ndi chithunzi.)

Pambuyo pa C, kukula kwa zilankhulo zogwiritsidwa ntchito kudatenga njira yowonjezera mafanizo awo. Chofunikira kwambiri pakumvetsetsa zithunzi zapamwamba ndi mbadwa yachindunji ya C - chilankhulo cha C ++. Amapanga lingaliro la kusankha kosasinthasintha kwa ntchito zambiri ndikuziphatikiza pamaziko a kusankha kwa mawu opangira, omwe amalandira dzina latsopano - chinthu. Komabe, C ++ siili yachidule komanso yofotokozera ngati C chifukwa cha kuchuluka kwa mitundu yatsopano yosonkhanitsira ndi malamulo ogwirizana nawo. Mwa njira, tiyeni tiyankhule za "kuchulukira".

Kuchulukitsa ndi polymorphism

Mawu oti "kuchulukira" ndi mawu achikale ophunzirira makina opangira ntchito zambiri.

Makina (system) opanga mapulogalamu kuchuluka ntchito zitha kukhala zokwiyitsa: "Kodi chizindikirochi (+) chikutanthauza chiyani: kuwonjezera manambala, kuwonjezera tizigawo ting'onoting'ono, kapena ngakhale kusintha?! M’nthawi yathu ino sanalembe choncho!” Chifukwa chake tanthauzo loyipa la liwu losankhidwa ("overkill", "kutopa"). Kwa wopanga mapulogalamu, machitidwe angapo ndiye mwala wapangodya, kupambana kwakukulu ndi cholowa cha chilankhulo cha C, mwachilengedwe kotero kuti nthawi zambiri sazindikirika.

M'chinenero cha C ++ kuchuluka Zowonjezereka osati ku ntchito zoyambirira zokha, komanso ku ntchito - zonse payekha komanso zophatikizidwa m'makalasi - njira. Ndi njira zingapo zidabwera kuthekera kowagonjetsa m'makalasi otalikirapo, omwe amatchedwa "polymorphism." Kuphatikiza kwa polymorphism ndi kuchulukana kudatulutsa chisakanizo chophulika chomwe chidagawanika kukhala ma polymorphisms awiri: "zoona" ndi "ad-hoc." N'zotheka kumvetsetsa izi pokhapokha mutapatsidwa mayina. Msewu wopita ku malonda ndi wopangidwa ndi mayina achilendo.

Kulengeza kwa fomu "kuchulukira" kumafotokozedwa bwino m'mawu chilengezo chowonjezera - kuwonjezera chilengezo cha ntchito ya dzina lomwelo ndi mfundo za chithunzi chosiyana.

Kulengeza kwa mawonekedwe a "polymorphism" kumatchedwa bwino kulengezanso - chilengezo chodutsana mugawo latsopano lowonjezera la ntchito ya dzina lomwelo ndi mikangano ya chithunzi chomwechi.

Ndiye kudzakhala kosavuta kumvetsetsa kuti njira zomwezo za zithunzi zosiyana (mikangano) - zinalengezedwanso, ndi chithunzi chimodzi - adalengezanso.

Mawu achi Russia amasankha.

Njira yothamanga

Kulingalira kwa malingaliro a zilankhulo zophiphiritsa kwambiri kumatsimikizira kufunikira kwa tanthauzo lomveka bwino la mfundo zazikuluzikulu. Ndi C yofotokozedwa bwino, kuphunzira zilankhulo zophiphiritsa kudzakhala kosavuta komanso kosangalatsa.

Izi ndizofunikira makamaka kwa zinenero zophiphiritsa kwambiri (PHP, JavaScript). Kwa iwo, kufunikira kwa zinthu (zithunzi zophatikizika) kumakhala kokulirapo kuposa C ++, koma lingaliro lenileni la fano limakhala lomveka komanso losavuta. Kuchokera pamalingaliro osavuta, akhala ophweka, koma kuchokera ku lingaliro la kumvetsetsa, akhala ovuta kwambiri.

Chifukwa chake, muyenera kuyamba kuphunzira zilankhulo zamapulogalamu ndi chilankhulo cha C ndikupita patsogolo momwe zilankhulo za banja la C zimawonekera.

Zomwezo zimapitanso pofotokozera zilankhulo. Zilankhulo zosiyanasiyana zimakhala ndi magawo ofanana, kapena ang'onoang'ono, amtundu wamagulu kuposa chilankhulo cha C. Chiwerengero cha mitundu ndi zitsanzo zitha kusiyana mbali zonse ziwiri: C++ ili ndi mitundu yambiri kuposa C, pomwe JavaScript ili ndi zochepa.

Chilankhulo cha MySQL chiyenera kutchulidwa mwapadera. Zingawoneke kuti palibe chofanana, koma akufotokozedwa bwino ndi Matryoshka, ndipo kumudziwa kumakhala mofulumira komanso kosavuta. Zomwe ndizofunikira, chifukwa cha kufunika kwake pa intaneti - njira yodyera ya mapulogalamu amakono. Ndipo komwe kuli MySQL, pali ma SQL ena. Chabwino, mitundu yonse ya Fortran-Pascal-Pythons imafotokozedwanso ndi Matryoshka, atangotenga manja awo.

Chifukwa chake, tikuyembekezera zinthu zazikulu - kufotokozera kogwiritsidwa ntchito kwa chilankhulo cha C ndi kufotokozera kogwirizana kwa zilankhulo zomwe zimatsatira. "Zolinga zathu ndi zomveka, ntchito zathu zimafotokozedwa. Yambani ntchito, abwenzi! (Mkuntho, kuwomba m'manja kwanthawi yayitali, kusanduka kulira. Aliyense akuimirira.)

Malingaliro anu adzamvetsedwa ndi chidwi chachikulu, thandizo lanu popanga webusayiti ya zidole za zisa lidzalandiridwa ndi chiyamiko chachikulu. Zambiri zambiri za bukuli zili patsamba, zobisika mochenjera ku Matryoshka C.

Source: www.habr.com

Kuwonjezera ndemanga