Matryoshka C. Layered program language system

Ngatiedze kufungidzira kemisitiri pasina Mendeleev kuti Periodic Table (1869). Ndezvipi zvinhu zvaifanira kuchengetwa mupfungwa, uye pasina kurongeka ... (Zvino - 60.)

Kuti uite izvi, ingofunga nezveimwe kana akati wandei programming mitauro kamwechete. Manzwiro akafanana, mhirizhonga yekusika yakafanana.

Uye zvino tinogona kurangarira manzwiro emakemikari ezana remakore rechiXNUMX pavakapiwa ruzivo rwavo rwose, uye zvishoma, mune imwe Periodic Table.

Matryoshka C. Layered program language system


Bhuku rinonzi "Matryoshka C. Layered system yemutauro wechirongwa" inopa zvikamu zvese zvemutauro weC nekungotarisa. Izvi zvinokutendera kuti uzvironge, kururamisa ruzivo rwechinyakare, uye kunyange kujekesa iyo chaiyo pfungwa yechirongwa.

Nhasi, ruzivo rwehurongwa hunoda systematization kunyange kupfuura zvinhu zvemakemikari zvakaitwa makore 150 apfuura.

Chekutanga chinodiwa kudzidzisa. Mendeleev akatanga kugadzira hurongwa hwake paakatarisana nemubvunzo wekuti ndeupi chinhu chekutanga kudzidzisa ne: O, H, N, Iye, Au ... Panguva imwecheteyo, zvaive nyore kwaari - akadzidzisa chemistry kune vakanyanya - vadzidzi St. Petersburg University. Uye purogiramu yakatodzidziswa kuchikoro uye ichakurumidza kutanga mukireshi.

Chechipiri chinodiwa inzira yesainzi. Nerubatsiro rwePeriodic Tafura, zvinhu zvitsva zvakawanikwa uye ruzivo nezve ekare rwakagadziriswa. Akabatsira kugadzira muenzaniso weatomu (1911). Zvichingoenda zvakadaro.

Chido chechitatu ndechekujekesa pfungwa yepurogiramu.

Chirongwa chemazuva ano chine tsoka imwe yakanamatira mumakumi mashanu ezana ramakore rechi50. Kare ikako, zvirongwa zvaive nyore, asi michina nemitauro yemuchina zvaive zvakaoma, saka zvese zvaitenderera pamakina nemitauro.

Iye zvino zvinhu zvese zvakatenderedza: zvirongwa zvakaoma uye zvekutanga, mitauro iri nyore uye yechipiri. Izvi zvinonzi nzira inoshandiswa, iyo munhu wose anoita seanoziva. Asi vadzidzi nevagadziri vanoramba vaine chokwadi chekuti zvese zvakafanana.

Izvo zvinotidzosera kune yekutanga hurukuro yePrivatdozent Mendeleev. Chii chokuudza vatsva? Chokwadi chiripi? Ndiwo mubvunzo.

Bhuku rinonzi "Matryoshka C" rinopa mhinduro kumubvunzo uyu. Layered system yemutauro wepurogiramu". Uyezve, inotaurirwa kwete kuvadzidzi chete, asiwo kune vakarovedzwa mapurogiramu, sezvo vari ivo, kureva isu, isu tinofanira kutsvaga chokwadi uye kuchinja maonero enyika.

Zvinotevera ipfupiso yebhuku racho.

1. Nhanganyaya

Muna 1969, mutauro weC wakagadzirwa, wakave iwo mutauro wakakosha wekuronga uye wakaramba wakadaro kwemakore makumi mashanu. Sei zvakadaro? Chokutanga pane zvose, nokuti C ndiyo kuiswa mutauro wakapa purogiramu vanhu tarisa panzvimbo muchina. Kubudirira uku kwakachengetedzwa nemitauro kubva kumhuri yeC: C++, JavaScript, PHP, Java, C# nevamwe. Chechipiri, mutauro mupfupi uye wakanaka.

Nekudaro, iwo mutauro C pachawo unowanzo kusanganiswa nemuchina anounganidza, nekudaro kuomesa uye kukanganisa maonero ayo. Kumwe kunyanyisa ndiko kuiswa kwehumwe "uzivi" pamutauro: maitiro, chinhu, kushanda, kuunganidzwa, kududzirwa, kutaipa, zvichingodaro. Izvi zvinowedzera manzwiro, asi hazvibatsiri kutsanangura mutauro zviri nani.

Chokwadi chiri pakati, uye kumutauro weC chiri pakati nepakati pakati pehuzivi uye maonero emuchina.

Mutauro weC hauna kuzvimiririra, unoteerera mutauro wakajairika wakanyorwa, uye panguva imwechete unodzora mutauro wegungano pachawo. Nzvimbo iyi inotsanangura Muenzaniso wekutaura wepurogiramu, maererano neiyo purogiramu yakakamurwa kuva matatu ari pasi pemhando: kutaura, kodhi, kuraira. Mutauro weC une basa rechipiri, rudzi rwekodhi.

Wasarudza nzvimbo yemutauro muchirongwa, unogona kuronga ruzivo pamusoro payo, izvo zvinoita Layered program language system, inomiririra mutauro weC mumweya we periodic system - pane imwe peji.

Iyo sisitimu inovakwa uchifunga nharaunda dzemitauro inoshandiswa, zvichibva mukuteerera kwavo pasi. Imwe seti yeMatryoshka C mayunitsi inokubvumira kutsanangura uye kuenzanisa mitauro yakasiyana, kugadzira mutsara weMatryoshkas: C ++, PHP, JavaScript, C #, MySQL, Python uye zvichingodaro. Zvakakodzera uye zvakarurama kuti mitauro yakasiyana inotsanangurwa nezvikamu zvemutauro wakakosha.

2. CHITSAUKO 1. Muenzaniso wekutaura wepurogiramu. Zvakajeka C

Chitsauko chekutanga chinopa muenzaniso wekutaura wechirongwa, kuratidza nzira inoshandiswa. Sekureva kwake, chirongwa ichi chine marudzi matatu akateedzana akajeka:

  1. kutaura - kutaura kwakananga kwemugadziri kugadzirisa dambudziko,
  2. coded - kukodha mhinduro mune fomu yemasvomhu mumutauro weC (kana chero imwe)
  3. uye kuraira - zvakananga muchina mirairo.

Chimiro chekutaura chinotsanangura chikonzero nei C iri mutauro wakapfava uye unonzwisisika. Xi inovakwa mumufananidzo uye kufanana kwekutaura kwevanhu kwatinojaira.

Rudzi rwekutanga rwechirongwa kutaura kwakananga kwemugadziri. Kutaura kunofambirana nemafungiro evanhu. Vatangi vepurogiramu vanonyora mapurogiramu vachishandisa kutaura - kutanga muchiRussia, ipapo nhanho nhanho kushandura zviito mumutauro wekodhi. Uye ndizvo chaizvo pane iyi modhi iyo C mutauro wakagadzirwa.

Mhedziso dzemugadziri, dzinoratidzwa mukutaura, dzinoshandurwa kuita fomu ine nhamba yekodhi. Shanduko iyi inofanira kudanwa kufungisisa, sezvo kutaura uye kodhi zvine chimiro chakafanana (reflection - birth - gender). Izvi zviri pachena kana tikafananidza kutaura (kuruboshwe) uye kodhi (kurudyi) marudzi echirongwa.

Matryoshka C. Layered program language system

Zvinoda kuziva kuti kufungisisa kunoitika zviri nyore - nemhando mbiri chete dzezvirevo.

Nekudaro, tsananguro yemazuva ano yemutauro weC (kubvira 1978) haina runyoro rwakakwana rwemazita kungave kutsanangura mutauro zvakazara, kana yebasa rekuratidzira kunyanya. Naizvozvo, tinomanikidzwa kuwana kugadzira uye kusuma aya mazita.

Kusarudzwa kwemazwi kunofanirwa kuve kwakanyatso uye kwakajeka. Izvi zvaida nzira inokosha, yaitaurwa muchidimbu sezvinotevera: kunyatsoshandisa mutauro weko. Kuchirungu chaizova chiRungu, asi isu hatisi Chirungu. Saka tichashandisa zvatinazvo toedza kutaura chiRussian.

Reflection inoitwa nemhando mbiri dzezvirevo:

  1. kuverenga (HF) - inoratidza shanduko yezvimiro zvechinhu. Unhu hwechinhu hunoratidzwa nenhamba, zvino chiito pamudziyo chiito panhamba - kushanda.
  2. kuzviisa pasi (Pch) - inoratidza shanduko mukurongeka kwezviito. Chiyereso chePch mutsara wakaoma wekutaura, saka mhando zhinji dzePch dzinotanga nekubatanidza zvibatanidzi "kana", "zvikasadaro", "apo", "zve". Mamwe marudzi ePC anoatsigira.

Nenzira, unogona kutenda here kuti mutsanangudzo yeC hapana zita rekuverenga mazwi - anongonzi "mataurirwo"? Mushure meizvi, hazvichashamisi kuti hapana zita uye kushamwaridzana kwerudzi rwekuzviisa pasi, uye zvechokwadi kushomeka kwemazita, tsananguro uye generalizations mune zvese. Izvi zvinodaro nekuti iyo yakakurumbira K/R ("Mutauro weC", Kernighan/Ritchie, 1978) haisi tsananguro, asi gwara rekushandisa mutauro.

Zvisinei, ndichiri kuda kuva netsanangudzo yemutauro wacho. Naizvozvo anopiwa Layered program language system.

3. CHITSAUKO 2. Layer system. Muchidimbu C

Chero tsananguro inofanirwa kuve yakarurama uye yakapfupika zvakanyanya. Panyaya yemutauro wepurogiramu, tsanangudzo yepamberi yakaoma.

Pano tine purogiramu. Iyo ine ma modules. Modules ine subroutines uye kuunganidzwa (chimiro). Subroutines inosanganisira kutaura kwega: zviziviso, kuverenga, kuzviisa pasi. Kune marudzi anosvika gumi ekuzviisa pasi. Subordination inobatanidza sublevels uye subroutines. Kune zvakare akati wandei kushambadzira. Nekudaro, zviziviso zvinosanganisirwa kwete chete mu subroutines uye sublevels, asiwo mumamodule uye kuunganidzwa. Uye kutaura kwakawanda kunosanganisira mazwi akaoma kutsanangura zvekuti anowanzo kupihwa mumazita maviri - ekutanga neakabva, auchajaira kudzidza uye kushandiswa kwemutauro. Ngatiwedzerei zvibodzwa zvepumisikidzo nezvimwe zvinoverengeka kune izvi.

Mumharidzo yakadaro, hazvisi nyore kunzwisisa kuti ndiani akamira pamusoro paani.

Nzira yakananga yezvimiro pakutsanangura mutauro inganyanya kuoma. Tsvagiridzo yekutenderera inotungamira kune tsananguro yemutauro zvichienderana nematauriro ayo uye divi rekuraira. Saka, iyo Layer System yakazvarwa, chikamu ichipindirana nePeriodic System yeMendeleev, inova zvakare. ply. Sezvazvakazoitika makore 42 mushure mekuburitswa kwayo (1869), iyo periodicity yehurongwa inosanganiswa nemagetsi. layers (1911, Bohr-Rutherford modhi yeatomu). Zvakare, iyo Layered uye Periodic masisitimu akafanana mukurongeka kwetabular yezvikamu zvese pane imwe peji.

Tsanangudzo yezvikamu zvemitauro ipfupi - marudzi gumi chete ekutaura uye 10 marudzi emamwe mayuniti, pamwe chete ane chirevo uye anoona. Kunyangwe zvisingaite kune wekutanga kuzivana.

Zvikwata zvemitauro zvakakamurwa kuita 6 mazinga:

  1. zvikamu - tafura mitsara
  2. madhipatimendi - akakosha mapoka egenera (zvikamu zvemutsara wekutanga)
  3. genus - masero (main level of division)
  4. superspecies - zviparadzanisi zvemarudzi (zvisingawanzo nhanho)
  5. mhando - mauniti mafomula pazasi pesero kana zvakasiyana
  6. mapatani - iwo mayuniti pachawo (nemazwi chete)

Mazwi emuenzaniso anotsanangura mazwi - imwe subsystem yakaparadzana inoumbwa nematanho matanhatu akafanana.

Chikamu chekutaura chemutauro weC chiri pachena, kunyange zvazvo chichiri kukodzera kutsanangurwa. Asi chikamu chemurairo chemutauro chakanyatsoenderana nekugadzirisa kutonga, panguva iyo rudzi rwechitatu rwepurogiramu yakasikwa - murairo. Pano tasvika kune inonyanya kunakidza chikamu chemutauro weC: runako.

4. ZVITSAUKO ZVINOTEVERA. Handsome Si

Mutauro weC ndiyo hwaro hwehurongwa hwemazuva ano. Sei? Kutanga, nekuda kwekunyanya kunyorerana kutaura. Kechipiri, nekuti yakapfuura zvakanakisa zvipimo zvemuchina wekugadzirisa nhamba.

Chii chaizvo chaakataura Xi? Mufananidzo uye layer.

Izwi rekuti "mufananidzo" ishanduro yezwi rechirungu rekuti "type", rinobva kuChigiriki "prototype" - "type". Mumutauro weRussia, izwi rekuti "rudzi" hariburitse ibwe rekona rechirevo chiri kuratidzwa; uyezve, rinovhiringika nerevo rinoreva "rudzi".

Pakutanga, mufananidzo wacho wakagadzirisa dambudziko rekuverenga muchina, uye ndokuzova nzira yekuzvarwa kwemitauro yechinhu.

Iyo layer yakabva yagadzirisa matambudziko akati wandei - ese muchina uye akaiswa. Nokudaro, kufunga kuchatanga nemufananidzo webasa rimwe chete uye kuenderera mberi kune-multi-task layer.

Chimwe chezvinhu zvisingafadzi zvehurongwa hwenhoroondo ndechekuti pfungwa zhinji, kusanganisira dzakakosha, dzinopihwa pasina tsananguro. "Mutauro wechirongwa (zita renzizi) une nhamba dzakakwana uye dzinoyangarara ..." uye vakakwenya mberi. Izvo hazvifanirwe kutsanangura kuti "rudzi" (mufananidzo) chii, nekuti vanyori pachavo havanyatso nzwisisa izvi uye vanozozvinyararira "nekuda kwekujekesa." Kana vakarovererwa kumadziro, vachapa tsanangudzo isina kujeka uye isina maturo. Inobatsira zvakanyanya kuvanza kuseri kwemazwi ekunze: kune vanyori veRussia - kuseri kweChirungu (rudzi), kuChirungu - kuseri kweFrench (subroutine), Greek (polymorphism), chiLatin (encapsulation) kana misanganiswa yavo (ad-hoc polymorphism).

Asi aya haasi magumo edu. Sarudzo yedu itsanangudzo ine visor yakasimudzwa muRussia yakachena.

Image

Image izita rekufananidzira rehuwandu, rinotsanangura 1) zvinhu zvemukati zvehuwandu uye 2) kusarudzwa kwekushanda kwehuwandu.

Izwi rekuti "rudzi" (rudzi) rinoenderana nechikamu chekutanga chetsanangudzo: "mukati hunhu hwehuwandu." Asi chirevo chikuru chemufananidzo chiri muchikamu chechipiri: "kusarudzwa kwekushanda kune huwandu."

Nzvimbo yekutanga kuunza mufananidzo muC ndeyekuverengera kwakajairwa, kwakadai sekuwedzera kushanda.

Pepa Masvomhu, angave akanyorwa nemaoko kana kuti akadhindwa, haaiti musiyano mukuru pakati pemhando dzenhamba, kazhinji tichifunga kuti ndedzechokwadi. Nokudaro, maitiro avo ekugadzirisa haana kujeka.

Machine Masvomhu inonyatso patsanura nhamba kuita zvidimbu uye zvikamu. Mhando dzakasiyana dzenhamba dzinochengetwa zvakasiyana mundangariro uye dzinogadziriswa neyakasiyana processor mirairo. Semuyenzaniso, mirairo yekuwedzera integers uye mafraction mirairo miviri yakasiyana inoenderana nembiri dzakasiyana processor node. Asi hapana murairo wekuwedzera nhamba yakazara uye yezvikamu.

Inoshandiswa masvomhu, kureva kuti, mutauro weC, unoparadzanisa marudzi enhamba, asi unobatanidza mashandiro: kuwedzera kwenhamba uye/kana zvikamu zvinonyorwa nechiratidzo chimwe chete chekuita.

Tsanangudzo yakajeka yemufananidzo wepfungwa inotibvumira kutaura nezve mamwe maviri pfungwa: ukuru ΠΈ mashandiro.

Hukuru uye kushanda

Kuwanda - nhamba iri kugadziriswa.

Kushanda - kugadzirisa kukosha kweiyo yekutanga kukosha (nharo) kuti uwane iyo yekupedzisira nhamba (yakazara).

Hukuru uye kushanda zvakabatana. Oparesheni yega yega ihuwandu nekuti ine mhedzisiro yenhamba. Uye kukosha kwega kwega mhedzisiro yekuendesa kukosha kune / kubva kune processor rejista, ndiko kuti, mhedzisiro yekushanda. Pasinei nehukama uhwu, chinhu chikuru ndiko kugona kwekutsanangurwa kwavo kwakasiyana, kunyangwe nekudzokorora kwezwi rimwe muzvikamu zvakasiyana zveduramazwi, zvinova izvo zvinoitika muMA3.

Nzira yemuchina yakakamura nhamba dzese dzinoshandiswa nemugadziri kuti dzive mirairo ΠΈ iyo data. Kare, ese ari maviri aive manhamba, semuenzaniso, mirairo yakanyorwa mumakodhi enhamba. Zvisinei, mumitauro inoshandiswa, mirairo yakarega kuva manhamba ndokuva nemashoko ΠΈ zviratidzo zvekuita. Chete "data" rinosara senhamba, asi hazvina musoro kuramba uchivadaidza nenzira iyo, nekuti mukuchinja kubva kumushini kuenda kune masvomhu maonero, nhamba huwandu hwakakamurwa nepakutanga (iyo data) uye yekupedzisira (zvinodiwa) "Unknown datum" inonzwika benzi.

Zvikwata zvakakamurwawo kuita marudzi maviri ezviito: masvomhu uye sevhisi. Zviito zveMasvomhu - mashandiro. Tichasvika kune zviri pamutemo zvinhu gare gare.

Mumitauro yeC, bepa uye muchina wakajairwa zvisina tsarukano, kana kamwe chete, masvomhu anosvika pasi rose anova akawanda.

Maoperation akawanda maoperation akati wandei ezita rimwechete ane marudzi akasiyana enharo uye akasiyana, akafanana mune zvinoreva, zviito.

Integer arguments inofambirana nekushanda kwese, uye zvidimbu zvenharo zvinoenderana nechikamu chekushanda. Musiyano uyu unonyanya kujeka panguva yebasa rekupatsanura, apo chirevo che 1/2 chinopa huwandu hwe0, kwete 0,5. Notion yakadaro haienderane nemitemo yemasvomhu emapepa, asi mutauro C hauedzi kutevedzera (kusiyana neFortran) - inotamba zvinoenderana neyayo. kushandiswa mitemo.

Panyaya yekusanganisa nhamba nezvidimbu, iyo chete yakarurama inosanganiswa kukanda nharo tsika - Sarudzo yekushandura kukosha kubva kune imwe mufananidzo kuenda kune imwe. Zvechokwadi, kana uchiwedzera nhamba uye nhamba yechidimbu, mhedzisiro ndeye chidimbu, saka mufananidzo wekushanda anotora basa rekusandura nharo izere kuita chidimbu cheukoshi.

Pane maoparesheni akati wandei asara muuzhinjiuye vasina kuroora. Mashandiro akadai anotsanangurwa chete kune rumwe rudzi rwenharo: kupatsanurwa kwasara - nhamba huru nharo, stacking (bitwise mashandiro) - manhamba echisikigo. Ma3 inoratidza kuwanda kwekushanda nezviratidzo (# ^) zvichiratidza mifananidzo iyo kushanda kunotsanangurwa. Ichi chinhu chakakosha asi chakambotariswa chese chekushanda kwese.

Mafunctions ese ari arbitrary unit operations. Kunze kwevashandisi - mabasa asiri-bracket, yakavakirwa mumutauro (mashandisirwo epakutanga).

Rubatsiro

Rubatsiro - chiito chinoperekedza kushanda.

Kana tikafunga kuvhiyiwa sechiito chikuru, saka tinogona kusiyanisa maviri anoperekedza ayo anopa oparesheni uye akasiyana nawo. Aya ndiwo 1) kusiyanisa kutonga uye 2) kuzviisa pasi. Chiito ichi chinodanwa rubatsiro.

Pano isu tinofanirwa kudzika uye kutaura zvakasiyana nezveshanduro dzechiRussia dzezvinyorwa zvepurogiramu. Izwi idzva rakaunzwa muzvinyorwa zveK/R kunyora zviito statement (mataurirwo), ayo akaedza kupatsanura pfungwa dzemuchina wekuraira kuita zviito zvakasiyana: 1) kushanda, 2) kuzivisa, uye 3) kuzviisa pasi (kunonzi "control constructs"). Kuedza uku kwakavigwa nevashanduri vechiRussia, vachitsiva "kutaura" neshoko rokuti "operator", iro:

  1. rave rakafanana neshoko remuchina rekuti "command",
  2. zvakava zvakafanana neshoko rekuti "chiratidzo chechiito",
  3. uye yakagamuchirawo nhamba isingaverengeki yemamwe ma values. Kureva kuti yashanduka kuita zvakafanana nechinyorwa chechirungu chinoti β€œ uhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh

Funga nezvezviito zvinobatanidzwa, kana rubatsiro.

Variable control

Variable control (UP) - kugadzira / kudzima masero akasiyana.
UE inoitika zvisina tsarukano painozivisa shanduko, iyo yakatonyorwa kune chimwe chikonzero - kuratidza mufananidzo weukoshi. Chiratidzo chimwe chete ndicho chinotungamirirwa zvakajeka zvimwe zvakasiyana kushandisa malloc () uye yemahara () mabasa.

Zvinofanira kucherechedzwa kuti zviito zvisina kujeka zviri nyore kunyora, nekuti hazvidi kunyora chero chinhu, asi zvakanyanya kuoma kunzwisisa - zvakanyanya kuoma kufunga uye kududzira.

Kuzviisa pasi

Kuzviisa pasi - batanidza / kudzima zvikamu zvemutsetse.

Mutauro weC wakapa nzira yakashandiswa yekudzora kurongeka kwezviito, zvakasiyana kubva kuassembler - subordination. Inoratidza uye inovandudza mutsara wakaoma wekutaura une kupatsanurwa kwakajeka muchikamu chikuru (subordination clause) uye chikamu chepasi (subblevel/subroutine sections).

Zvese kuzivisa uye kuendesa zvakavakirwa zvachose pane iyo pfungwa rukoko.

Rukoko

Rukoko ishongedzo yemazwi akaganhurirwa-mwero mumwe chete.

Iyo layer zviri pachena uye zvisina kujeka yakatora mabasa akati wandei kamwechete:

  1. kuronga purogiramu
  2. kudzikisira kuonekwa kwemazita (zvakananga),
  3. manejimendi ezvakasiyana (memory masero) (zvakananga),
  4. tsananguro yezvikamu zvidiki zvekuzviisa pasi,
  5. tsananguro dzemabasa nesarudzo nezvimwe.

Pakanga pasina pfungwa yezvimiro mumitauro yemuchina, saka haina kuoneka muK/R, uye kana chimwe chinhu chaive chisipo, kuchisuma mumabhuku aitevera kwaizova kutsauka uye kufunga kwakasununguka. Naizvozvo, iyo pfungwa yedanda haina kuoneka zvachose, kunyangwe ichinyanya kubatsira uye iri pachena.

Pasina mutsara, hazvibviri kutsanangura muchidimbu uye zvakajeka zvakawanda zvezviito nemitemo yepurogiramu. Semuenzaniso, nei goto iri nyore senge matatu kopecks yakaipa, uye inonyengera apo yakanaka. Unogona kungopika usina chaunokwanisa kuita, sezvakaitwa naDijkstra (β€œunyanzvi hwevagadziri vepurogiramu ibasa rinopesana nekuwanda kwekuitika kwezvirevo zvegoto muzvirongwa zvavo.” Muchidimbu, mbudzi chete dzinoshandisa goto. Chiyero chekururamisa ndiMwari.) Ichokwadi, izvi hazvisi izvo zvinotyisa kana mabhuku ako Hatifaniri kutsanangura chero chinhu zvachose, asi, sezvatatotaura, iyi haisi magumo edu.

Nenzira, zvinogona kufungidzirwa kuti Dan Ritchie akasiya goto chaizvo sekiyi yekutsvaga imwe pfungwa isina kutaurwa zita, nekuti pakanga pasina kudiwa kana runako mukutaura goto. Asi pakanga paine kudikanwa kwetsananguro yakapfava uye inonzwisisika yemisimboti mitsva yemutauro, iyo Richie pachake akanga asingadi kupa, uye iyo yakanyatsobva pane pfungwa. rukoko.

Kutsauka

Kutsauka - kushandura zvimiro zvezita idzva.

Kutsauka kwakakosha kwakanyatso kuenderana neyakagadzika zvimiro zvechirongwa, uye inotsanangurwa neshoko rimwe rekuti "static", iro rine chirevo chakasiyana mumhando yega yega.

5. CHITSAUKO CHEKUPEDZISIRA. Kufanana kwemitauro inoshandiswa

Mitauro inoshandiswa ndeye zvokufananidzira mitauro (ine mufananidzo, "taipa"). Zvinobva pakushandiswa kwakajeka kana kujeka kwemufananidzo. Uyezve, pano zvakare kupesana kunooneka: mufananidzo wakajeka unonzwisisika, asi zvishoma nyore, uye zvakasiyana.

Matryoshka C. Layered program language system

(Kurongeka kwetafura hakusati kwaunzwa, saka tafura inoratidzwa nemufananidzo.)

Mushure meC, kuvandudzwa kwemitauro yakashandiswa kwakatora nzira yekuwedzera kufananidzira kwavo. Chinonyanya kukosha pakunzwisisa mifananidzo yepamusoro ndeye dzinza rakananga reC - mutauro weC ++. Anokudziridza pfungwa yekusarudzika kusarudzwa kwemaitiro ehuwandu uye anoiisa pahwaro hweiyo synthetic kutaura kusarudzwa, iyo inogamuchira zita idzva - chinhu. Nekudaro, C ++ haina kupfupika uye inoratidzira seC nekuda kwekuremerwa kwemhando nyowani dzekuunganidza uye mitemo yakabatana nayo. Nenzira, ngatitaure nezve "kuwandisa".

Kuwedzeredza uye polymorphism

Izwi rekuti "kuwandisa" inguva yechinyakare-yekudzidza muchina pakugadzira mabasa akawanda.

Machine (system) programmers kuwanda maoparesheni anogona kutsamwisa: β€œChiratidzo ichi (+) chinorevei: kuwedzera nhamba, kuwedzera zvikamu zviduku, kana kunyange kuchinja?! Munguva yedu havana kunyora saizvozvo!” Nokudaro chirevo chisina kunaka chezwi rakasarudzwa ("overkill", "kuneta"). Kumugadziri wepurogiramu, maitiro akawanda ndiwo musimboti, kubudirira kukuru uye nhaka yemutauro weC, wakasikwa zvekuti havawanzo zivikanwa.

Mumutauro weC++ kuwanda yakawedzerwa kwete chete kumabasa ekutanga, asiwo kumabasa - ese ari ega uye akasanganiswa mumakirasi - nzira. Nenzira dzakawanda dzakauya kukwanisa kuvapfuura mumakirasi akawedzerwa, ayo ainzi "polymorphism." Iko kusanganiswa kwepolymorphism uye kuwandisa kwakaburitsa musanganiswa unoputika wakakamurwa kuita mapolymorphisms maviri: "chokwadi" uye "ad-hoc." Zvinokwanisika kunzwisisa izvi chete pasinei nemazita akapiwa. Mugwagwa wekushambadza wakagadzirwa nemazita ekunze.

Kuzivisa kwechimiro che "kuwandisa" kunoratidzwa zviri nani mushoko chimwe chiziviso - kuwedzera chiziviso chebasa rezita rimwe chete nemakakatanwa emufananidzo wakasiyana.

Chiziviso chechimiro che "polymorphism" chinonzi zviri nani kuzivisazve - chiziviso chinopindirana muchikamu chitsva chekuwedzera chebasa rezita rimwechete rine nharo dzemufananidzo mumwechete.

Zvadaro zvichava nyore kunzwisisa kuti nzira dzakafanana dzemifananidzo yakasiyana (nharo) - yakawedzera kuziviswa, uye mufananidzo mumwe - zvakare kuziviswa.

Mazwi echiRussia anosarudza.

Runway

Kufunga nezvemifungo yemitauro inofananidzira inosimbisa kukosha kwetsananguro yakajeka yepfungwa dzakakosha. NeC yakatsanangurwa nemazvo, kudzidza mitauro yekufananidzira kuchava nyore uye kunakidza.

Izvi zvakanyanya kukosha kune mitauro yedimikira isina kujeka (PHP, JavaScript). Kwavari, kukosha kwezvinhu (mifananidzo yakaumbwa) inova yakanyanya kukwirira kupfuura muC ++, asi iyo pfungwa yemufananidzo inova yakajeka uye isinganzwisisike. Kubva pakuona kwekureruka, vakave nyore, asi kubva pakuona kwekunzwisisa, vakave vakaoma.

Naizvozvo, iwe unofanirwa kutanga kudzidza mitauro yekuronga nemutauro weC uye woenderera mberi nehurongwa hunoonekwa mitauro yemhuri yeC.

Zvimwe chetewo pakutsanangura mitauro. Mitauro yakasiyana ine yakafanana, kana diki, seti yemayuniti gender pane C mutauro. Huwandu hwemhando uye sampuli dzinogona kusiyana mumativi ese: C++ ine marudzi akawanda kupfuura C, nepo JavaScript iine mashoma.

Mutauro weMySQL unofanirwa kutaurwa. Zvingaita sekuti hapana chinhu chakafanana, asi iye anonyatsotsanangurwa naMatryoshka, uye kusvika pakumuziva kunowedzera nekukurumidza uye nyore. Izvo zvakakosha, zvichipihwa kukosha kwayo kune webhu - nzira yekudyira yemazuva ano mapurogiramu. Uye uko kune MySQL, kune mamwe maSQL. Zvakanaka, marudzi ose eFortran-Pascal-Pythons anotsanangurwawo naMatryoshka, pakarepo pavanoisa maoko avo pairi.

Saka, zvinhu zvikuru zvakatimirira - tsananguro yakashandiswa yemutauro weC uye tsananguro yakabatana yemitauro inoitevera. β€œZvinangwa zvedu zvakajeka, mabasa edu anotsanangurwa. Pindai kubasa, ma comrades! (Kuombera maoko kwedutu kwenguva refu, kuchishanduka kuva ovation. Munhu wose anosimuka.)

Mafungiro ako anozoteererwa nekutarisisa kukuru, rubatsiro rwako mukugadzira iyo nesting zvidhori webhusaiti ichagamuchirwa nekutenda kukuru. Mamwe ruzivo rwakakwana nezve bhuku iri pawebhusaiti, yakavanzika zvine hungwaru muMatryoshka C.

Source: www.habr.com

Voeg