Matryoshka C. Eto ede ti o fẹlẹfẹlẹ

Jẹ ki a gbiyanju lati fojuinu kemistri laisi Mendeleev's Peridic Table (1869). Awọn eroja melo ni lati wa ni iranti, ati pe ko si ilana kan pato ... (Lẹhinna - 60.)

Lati ṣe eyi, kan ronu nipa ọkan tabi pupọ awọn ede siseto ni ẹẹkan. Kanna ikunsinu, kanna Creative Idarudapọ.

Ati ni bayi a le sọji awọn ikunsinu ti awọn kemists ti ọrundun XNUMXth nigbati a fun wọn ni gbogbo imọ wọn, ati diẹ diẹ sii, ninu tabili Igbakọọkan kan.

Matryoshka C. Eto ede ti o fẹlẹfẹlẹ


Iwe "Matryoshka C. Eto Layered ti ede eto" ṣafihan gbogbo awọn ẹya ti ede C ni iwo kan. Eyi n gba ọ laaye lati ṣeto wọn, ṣatunṣe alaye ti igba atijọ, ati paapaa ṣe alaye imọran ti eto naa.

Loni, alaye siseto nilo eto eto paapaa diẹ sii ju awọn eroja kemikali ṣe ni ọdun 150 sẹhin.

Ohun akọkọ ti o nilo ni kikọ. Mendeleev bẹrẹ ṣiṣẹda eto rẹ nigbati o dojuko ibeere ti ipin wo lati bẹrẹ ikẹkọ pẹlu: O, H, N, He, Au… Ni akoko kanna, o rọrun fun u - o kọ kemistri si dara julọ - awọn ọmọ ile-iwe ti Petersburg University. Eto ti wa ni ikẹkọ tẹlẹ ni ile-iwe ati pe yoo bẹrẹ laipẹ ni ile-ẹkọ jẹle-osinmi.

Awọn keji nilo ni a ijinle sayensi ona. Pẹlu iranlọwọ ti Tabili Igbakọọkan, awọn eroja tuntun ni a ṣe awari ati pe alaye nipa awọn ti atijọ ti ṣe atunṣe. O ṣe iranlọwọ lati ṣẹda awoṣe ti atomu (1911). Ati bẹbẹ lọ.

Iwulo kẹta ni lati ṣe alaye imọran ti eto kan.

Eto eto ode oni ti di ẹsẹ kan ni awọn ọdun 50 ti ọrundun XNUMXth. Ni akoko yẹn, awọn eto rọrun, ṣugbọn awọn ẹrọ ati awọn ede ẹrọ jẹ eka, nitorinaa ohun gbogbo wa ni ayika awọn ẹrọ ati awọn ede.

Bayi ohun gbogbo ni ọna miiran: awọn eto jẹ eka ati akọkọ, awọn ede jẹ rọrun ati Atẹle. Eyi ni a pe ni ọna ti a lo, eyiti gbogbo eniyan dabi pe o faramọ pẹlu. Ṣugbọn awọn ọmọ ile-iwe ati awọn olupilẹṣẹ tẹsiwaju lati ni idaniloju pe ohun gbogbo jẹ kanna.

Eyi ti o mu wa pada si iwe-ẹkọ akọkọ ti Privatdozent Mendeleev. Kini lati sọ fun awọn alabapade? Nibo ni otitọ wa? Ibeere naa niyen.

Iwe "Matryoshka C" funni ni idahun si ibeere yii. Eto Layered ti ede eto". Pẹlupẹlu, kii ṣe si awọn ọmọ ile-iwe nikan, ṣugbọn tun si awọn olupilẹṣẹ ikẹkọ, niwon o jẹ wọn, iyẹn ni, awa, ti o gbọdọ wa otitọ ati yi oju-aye pada.

Ohun ti o tẹle ni ṣoki ti iwe naa.

1. Ifihan

Ni ọdun 1969, a ṣẹda ede C, eyiti o di ede siseto ipilẹ ati pe o wa bẹ fun ọdun 50. Kí nìdí tí èyí fi rí bẹ́ẹ̀? Ni akọkọ, nitori C jẹ loo ede ti o fun eto eda eniyan wo dipo ẹrọ. Aṣeyọri yii jẹ aabo nipasẹ awọn ede lati inu idile C: C++, JavaScript, PHP, Java, C # ati awọn miiran. Ni ẹẹkeji, o jẹ ede kukuru ati lẹwa.

Bibẹẹkọ, ede C funrarẹ ni a maa n dapọ pẹlu ẹrọ apejọ, nitorinaa idiju ati yiyipada iwoye rẹ. Iyatọ miiran ni fifi “imọye” kan sori ede naa: ilana, ohun kan, iṣẹ ṣiṣe, akojọpọ, itumọ, titẹ, ati bẹbẹ lọ. Eyi ṣe afikun imolara, ṣugbọn ko ṣe iranlọwọ lati ṣe apejuwe ede daradara.

Otitọ wa ni aarin, ati fun ede C o jẹ muna ni aarin laarin imọ-jinlẹ ati imọ ẹrọ.

Ede C ko ni ominira, o gbọran si ede kikọ lasan, ati ni akoko kanna o ṣakoso ede apejọ funrararẹ. Ipo yii ṣe apejuwe Awoṣe ọrọ ti eto naa, ni ibamu si eyiti eto naa ti pin si awọn oriṣi abẹlẹ mẹta: ọrọ, koodu, aṣẹ. Ede C jẹ iduro fun keji, iru koodu.

Lẹhin ti pinnu ibi ti ede ninu eto naa, o le ṣeto alaye nipa rẹ, eyiti o ṣe Eto ede ti o fẹlẹfẹlẹ, ti o nsoju ede C ni ẹmi ti eto igbakọọkan - ni oju-iwe kan.

Awọn eto ti wa ni itumọ ti mu sinu iroyin agbegbe ti loo ede, ti o dide lati abẹ ọrọ wọn. Eto kan ti awọn ẹya Matryoshka C jẹ ki o ṣe apejuwe ati ṣe afiwe awọn ede oriṣiriṣi, ṣiṣẹda lẹsẹsẹ Matryoshkas: C ++, PHP, JavaScript, C #, MySQL, Python ati bẹbẹ lọ. O yẹ ati pe awọn ede oriṣiriṣi jẹ apejuwe nipasẹ awọn ẹya ti ede ipilẹ.

2. ORI 1. Awoṣe ọrọ ti eto naa. Ko C

Ni igba akọkọ ti ipin iloju awoṣe ọrọ ti eto naa, afihan ọna ti a lo. Gẹgẹbi rẹ, eto naa ni awọn iru ilana ti o han gbangba mẹta:

  1. Ọrọ - ọrọ taara ti olutọpa ti n yanju iṣoro naa,
  2. koodu - fifi koodu kan ojutu sinu fọọmu mathematiki ni ede C (tabi eyikeyi miiran)
  3. ati pipaṣẹ - awọn pipaṣẹ ẹrọ taara.

Awoṣe ọrọ n ṣalaye idi ti C jẹ ede ti o rọrun ati oye. Xi ti wa ni itumọ ti ni aworan ati irisi ọrọ eniyan ti o mọ wa.

Iru eto akọkọ jẹ ọrọ taara ti olutọpa. Ọrọ sisọ ṣe deede si ironu eniyan. Awọn olupilẹṣẹ ibẹrẹ kọ awọn eto nipa lilo ọrọ - akọkọ ni Ilu Rọsia, lẹhinna ni igbese nipa igbese titumọ awọn iṣe sinu ede koodu. Ati pe o jẹ deede lori awoṣe yii pe a ṣẹda ede C.

Awọn ipinnu olupilẹṣẹ, ti a fihan ni ọrọ, ti yipada si fọọmu nọmba ti a ṣe koodu. Iyipada yii yẹ ki o pe irisi, niwon ọrọ ati koodu ni o ni kanna iseda (itumọ - ibi - iwa). Eyi jẹ ohun ti o han gbangba ti a ba ṣe afiwe ọrọ (ni apa osi) ati koodu (ni apa ọtun) awọn iru eto naa.

Matryoshka C. Eto ede ti o fẹlẹfẹlẹ

O jẹ iyanilenu pe iṣaro waye ni irọrun – pẹlu awọn iru awọn ikosile meji nikan.

Bibẹẹkọ, apejuwe ode oni ti ede C (lati ọdun 1978) ko ni atokọ awọn orukọ ti o to boya lati ṣapejuwe ede ni gbogbogbo, tabi fun iṣẹ iṣaro ni pataki. Nitorinaa, a fi agbara mu lati ni ẹda ati ṣafihan awọn orukọ wọnyi.

Yiyan awọn ọrọ gbọdọ jẹ kongẹ ati kedere. Eyi nilo ọna pataki kan, ti a sọ ni ṣoki bi atẹle: lilo to muna ti ede abinibi. Fun awọn English o yoo jẹ English, sugbon a wa ni ko English. Nitorina a yoo lo ohun ti a ni ati gbiyanju lati sọ Russian.

Iṣaro jẹ ṣiṣe nipasẹ awọn oriṣi awọn ikosile meji:

  1. iṣiro (HF) - ṣe afihan iyipada ninu awọn ohun-ini ti ohun kan. Ohun-ini ohun-ini jẹ afihan nipasẹ nọmba kan, lẹhinna iṣe lori ohun-ini jẹ iṣe lori nọmba kan - iṣẹ kan.
  2. subordination (Pch) - ṣe afihan iyipada ninu aṣẹ awọn iṣe. Afọwọkọ ti Pch jẹ gbolohun ọrọ ti o ni idiju ọrọ, nitorinaa ọpọlọpọ awọn oriṣi Pch bẹrẹ pẹlu awọn asopọ isọdọmọ “if”, “bibẹẹkọ”, “nigba”, “fun”. Miiran orisi ti PC iranlowo wọn.

Nipa ọna, ṣe o le gbagbọ pe ninu apejuwe C ko si orukọ fun awọn ikosile iṣiro - wọn pe ni “awọn ikosile”? Lẹhin eyi, kii yoo jẹ iyalẹnu mọ pe ko si orukọ ati ajọṣepọ fun iru isọdọkan, ati nitootọ aibikita awọn orukọ, awọn asọye ati awọn asọye ni gbogbogbo. Eyi jẹ nitori K/R olokiki ("Ede C", Kernighan/Ritchie, 1978) kii ṣe apejuwe, ṣugbọn itọsọna si lilo ede naa.

Sibẹsibẹ, Emi yoo tun fẹ lati ni apejuwe ede naa. Nitorina a fi rubọ Eto ede ti o fẹlẹfẹlẹ.

3. ORI 2. Eto Layer. Finifini C

Eyikeyi apejuwe gbọdọ jẹ deede ati lalailopinpin ṣoki. Ninu ọran ti ede eto, apejuwe iwaju kan nira.

Nibi a ni eto kan. O oriširiši modulu. Modulu ni awọn subroutines ati awọn akojọpọ (ẹda). Subroutines ni ti olukuluku ikosile: declarations, isiro, subordination. Nibẹ ni o wa bi ọpọlọpọ bi mẹwa orisi ti subordination. Subordination so sublevels ati subroutines. Awọn ipolowo pupọ tun wa. Sibẹsibẹ, awọn ikede wa pẹlu kii ṣe ni awọn ipin-ilẹ nikan ati awọn sublevels, ṣugbọn tun ni awọn modulu ati awọn akojọpọ. Ati ọpọlọpọ awọn ikosile ni awọn ọrọ ti o ṣoro lati ṣe apejuwe pe wọn maa n fun wọn ni awọn akojọ meji - atilẹba ati awọn ọrọ ti a mu, eyiti iwọ yoo di faramọ pẹlu gbogbo ẹkọ ati lilo ede naa. Jẹ ki a ṣafikun awọn aami ifamisi ati nọmba awọn ikosile miiran si eyi.

Ni iru igbejade bẹẹ, ko rọrun lati ni oye ẹniti o duro lori tani.

Ọ̀nà oníṣe àṣepé tààràtà sí ṣíṣe àpèjúwe èdè yíò jẹ́ dídíjú jù. Wiwa yikaka kan yori si apejuwe ede ti o da lori iru ọrọ rẹ ati ẹgbẹ pipaṣẹ. Nitorinaa, a bi System Layer, ni apakan ni ibamu pẹlu Eto Igbakọọkan ti Mendeleev, eyiti o tun jẹ ply. Bi o ti wa ni awọn ọdun 42 lẹhin ti o ti gbejade (1869), igbakọọkan ti eto naa ni nkan ṣe pẹlu itanna. fẹlẹfẹlẹ (1911, Bohr-Rutherford awoṣe ti atomu). Paapaa, awọn ọna ṣiṣe Layered ati Igbakọọkan jẹ iru ni iṣeto tabular ti gbogbo awọn ẹya ni oju-iwe kan.

Apejuwe ti awọn ẹya ede jẹ kukuru - awọn oriṣi 10 nikan ti awọn ikosile ati awọn oriṣi 8 ti awọn ẹya miiran, bakanna bi itumọ ati wiwo. Biotilejepe dani fun igba akọkọ acquaintance.

Awọn ẹya ede ti pin si awọn ipele 6:

  1. sipo - tabili awọn ori ila
  2. awọn ẹka - awọn ẹgbẹ pataki ti genera (awọn apakan ti laini akọkọ)
  3. iwin - awọn sẹẹli (ipele akọkọ ti pipin)
  4. superspecies – eya separators (toje ipele)
  5. awọn oriṣi - awọn agbekalẹ ẹyọkan ni isalẹ sẹẹli tabi lọtọ
  6. awọn ilana - awọn ẹya ara wọn (fun awọn ọrọ nikan)

Awọn ọrọ apẹẹrẹ ṣe apejuwe fokabulari - eto ipilẹ ti o yatọ ti o jẹ ti awọn ipele mẹfa kanna.

Ẹya ọrọ sisọ ti ede C jẹ kedere, botilẹjẹpe o tun yẹ apejuwe. Ṣugbọn apakan aṣẹ ti ede naa ni ibatan taara si iṣakoso akojọpọ, lakoko eyiti a ṣẹda iru eto kẹta - pipaṣẹ. Nibi ti a wá si awọn julọ moriwu aspect ti awọn C ede: ẹwa.

4. ÀWỌN ORÍ TẸ̀YÌNLẸ̀. lẹwa Si

Ede C ni ipilẹ ti siseto igbalode. Kí nìdí? Ni akọkọ, nitori ifọrọranṣẹ ti o tobi julọ si ọrọ. Ni ẹẹkeji, nitori pe o ni ẹwa fori awọn idiwọn ti sisẹ nọmba ẹrọ.

Kini gangan ti Xi daba? Aworan ati Layer.

Ọrọ naa "aworan" jẹ itumọ ti ọrọ Gẹẹsi "iru", eyiti o wa lati Giriki "afọwọṣe" - "iru". Ni ede Rọsia, ọrọ naa "iru" ko ṣe afihan igun-ile ti ero ti a sọ; pẹlupẹlu, o ni idamu pẹlu itumọ iranlọwọ "iru".

Ni ibẹrẹ, aworan naa yanju iṣoro iṣiro ẹrọ nikan, ati lẹhinna di oju-ọna oju-ofurufu fun ibimọ awọn ede ohun.

Layer lẹsẹkẹsẹ yanju awọn iṣoro pupọ - mejeeji ẹrọ ati lo. Nitorinaa, ero naa yoo bẹrẹ pẹlu aworan iṣẹ-ṣiṣe kan ati gbe lọ si ipele iṣẹ-ṣiṣe pupọ.

Ọkan ninu awọn ẹya aibanujẹ ti siseto itan ni pe ọpọlọpọ awọn imọran, pẹlu awọn ipilẹ, ni a fun laisi awọn asọye. “Ede siseto (orukọ awọn odo) ni odidi ati awọn oriṣi nọmba lilefoofo...” ati pe wọn yọ siwaju. Ko ṣe pataki lati ṣalaye kini “iru” (aworan) jẹ, nitori awọn onkọwe funrara wọn ko loye eyi ni kikun ati pe wọn yoo parẹ “nitori mimọ.” Ti wọn ba pin si ogiri, wọn yoo funni ni asọye aiduro ati asan. O ṣe iranlọwọ pupọ lati tọju lẹhin awọn ọrọ ajeji: fun awọn onkọwe Russian - lẹhin Gẹẹsi (iru), fun awọn ara ilu Gẹẹsi - lẹhin Faranse (subroutine), Greek (polymorphism), Latin (encapsulation) tabi awọn akojọpọ wọn (ad-hoc polymorphism).

Ṣugbọn eyi kii ṣe ayanmọ wa. Yiyan wa jẹ awọn asọye pẹlu visor ti o ga ni Russian mimọ.

Aworan

Aworan jẹ orukọ iṣaju ti opoiye, asọye 1) awọn ohun-ini inu ti opoiye ati 2) yiyan awọn iṣẹ fun opoiye.

Ọrọ naa “iru” (iru) ṣe deede si apakan akọkọ ti itumọ: “awọn ohun-ini pataki ti opoiye.” Ṣugbọn itumọ akọkọ ti aworan wa ni apakan keji: “aṣayan awọn iṣẹ si awọn iwọn.”

Ibẹrẹ fun iṣafihan aworan ni C jẹ iṣiro deede, gẹgẹbi iṣẹ ṣiṣe afikun.

Iwe Iṣiro, boya kikọ nipasẹ ọwọ tabi titẹjade, ko ṣe iyatọ pupọ laarin awọn oriṣi awọn nọmba, nigbagbogbo ro pe wọn jẹ gidi. Nitorinaa, awọn iṣẹ ṣiṣe wọn jẹ aibikita.

Ẹrọ Iṣiro muna pin awọn nọmba si odidi ati awọn ida. Awọn oriṣi awọn nọmba ti wa ni ipamọ lọtọ ni iranti ati ni ilọsiwaju nipasẹ awọn ilana ero isise oriṣiriṣi. Fun apẹẹrẹ, awọn ilana fun fifi awọn odidi ati awọn ida jẹ awọn ilana oriṣiriṣi meji ti o baamu si awọn apa ero isise oriṣiriṣi meji. Ṣugbọn ko si aṣẹ fun fifi odidi kun ati awọn ariyanjiyan ida.

Ti a lo mathimatiki, iyẹn ni, ede C, ya awọn oriṣi awọn nọmba, ṣugbọn apapọ awọn iṣẹ ṣiṣe: afikun fun odidi ati/tabi awọn ida ni a kọ pẹlu ami iṣe kan.

Itumọ ti o han gbangba ti aworan imọran gba wa laaye lati sọrọ ni pato nipa awọn imọran miiran meji: titobi и isẹ.

Titobi ati isẹ

Opoiye - nọmba ti wa ni ilọsiwaju.

Isẹ - ṣiṣe awọn iye ti awọn iye akọkọ (awọn ariyanjiyan) lati gba nọmba ikẹhin (lapapọ).

Titobi ati isẹ wa ni asopọ. Išišẹ kọọkan jẹ opoiye nitori pe o ni abajade nọmba kan. Ati pe iye kọọkan jẹ abajade ti gbigbe iye kan si / lati iforukọsilẹ ero isise, iyẹn ni, abajade iṣẹ naa. Pelu ibatan yii, ohun akọkọ ni o ṣeeṣe ti apejuwe lọtọ wọn, botilẹjẹpe pẹlu atunwi ọrọ kan ni awọn apakan oriṣiriṣi ti iwe-itumọ, eyiti o jẹ ohun ti o ṣẹlẹ ni MA3.

Ọna ẹrọ pin gbogbo awọn nọmba ti olutọpa lo si awọn pipaṣẹ и data naa. Ni iṣaaju, awọn mejeeji jẹ awọn nọmba, fun apẹẹrẹ, awọn aṣẹ ni a kọ sinu awọn koodu nọmba. Sibẹsibẹ, ni awọn ede ti a lo, awọn aṣẹ dawọ lati jẹ awọn nọmba ati di ni awọn ọrọ и awọn ami iṣẹ. “data” nikan wa bi awọn nọmba, ṣugbọn o jẹ aimọgbọnwa lati tẹsiwaju lati pe wọn ni ọna yẹn, nitori ni iyipada lati ẹrọ kan si aaye ti mathematiki, awọn nọmba jẹ awọn iwọn ti o pin nipasẹ atilẹba (data naa) ati ipari (beere). "Aimọ datum" yoo dun aimọgbọnwa.

Awọn ẹgbẹ naa tun pin si awọn oriṣi awọn iṣe meji: mathematiki ati iṣẹ. Mathematiki išë - mosi. A yoo gba si awọn osise nkan na nigbamii.

Ni awọn ede C, iwe deede ati ẹrọ lainidi, tabi ẹyọkan, awọn iṣẹ ṣiṣe mathematiki fẹrẹ gbogbo agbaye di pupọ.

Awọn iṣẹ ṣiṣe lọpọlọpọ jẹ awọn iṣẹ pupọ ti orukọ kanna pẹlu awọn oriṣiriṣi awọn ariyanjiyan ati oriṣiriṣi, iru ni itumọ, awọn iṣe.

Awọn ariyanjiyan odidi badọgba si gbogbo iṣẹ, ati awọn ariyanjiyan ida ni ibamu si iṣẹ ida kan. Iyatọ yii jẹ kedere lakoko iṣẹ pipin, nigbati ikosile 1/2 yoo fun lapapọ 0, kii ṣe 0,5. Iru ami akiyesi ko ni ibamu si awọn ofin ti mathimatiki iwe, ṣugbọn ede C ko ni igbiyanju lati ni ibamu pẹlu wọn (ko dabi Fortran) - o ṣere gẹgẹbi tirẹ. loo awọn ofin.

Ninu ọran ti idapọ awọn nọmba ati awọn ida, ọkan ti o tọ nikan wa pẹlu sisọ awọn iye ariyanjiyan - iyipada yiyan ti iye kan lati aworan kan si ekeji. Lootọ, nigba fifi odidi kan kun ati nọmba ida kan, abajade jẹ ida, nitorinaa aworan iṣẹ naa. gbe soke isẹ ti yiyipada ariyanjiyan odidi si iye ida kan.

Nọmba awọn iṣẹ ṣiṣe wa ọpọ, ati ẹyọkan. Iru awọn iṣẹ bẹ jẹ asọye nikan fun iru awọn ariyanjiyan kan: iyoku pipin - awọn ariyanjiyan odidi, akopọ (awọn iṣẹ ṣiṣe bitwise) - awọn odidi adayeba. Ma3 tọkasi isodipupo awọn iṣẹ pẹlu awọn ami (# ^) ti o nfihan awọn aworan fun eyiti a ṣe alaye iṣẹ naa. Eyi jẹ pataki ṣugbọn ohun-ini aṣemáṣe tẹlẹ ti gbogbo iṣẹ ṣiṣe.

Gbogbo awọn iṣẹ jẹ awọn iṣẹ-ṣiṣe lainidii. Iyatọ ni awọn oniṣẹ - ti kii-akọmọ awọn iṣẹ, ti a ṣe sinu ede (awọn iṣẹ atilẹba).

Iranlọwọ

Iranlọwọ - igbese ti o tẹle iṣẹ naa.

Ti a ba ṣe akiyesi iṣiṣẹ naa bi iṣe akọkọ, lẹhinna a le ṣe iyatọ awọn meji ti o tẹle ti o pese iṣẹ naa ati yatọ si rẹ. Iwọnyi jẹ 1) iṣakoso iyipada ati 2) subordination. Iṣe yii ni a npe ni iranlowo.

Nibi ti a nilo lati digress ki o si sọ lọtọ nipa Russian ogbufọ ti siseto iwe eko. Ọrọ tuntun ti ṣafihan ninu ọrọ ti K/R lati ṣe igbasilẹ awọn iṣe gbólóhùn (ikosile), eyiti o gbiyanju lati pin awọn imọran ti aṣẹ ẹrọ si awọn iṣe oriṣiriṣi: 1) iṣẹ, 2) ikede, ati 3) subordination (ti a pe ni “awọn iṣelọpọ iṣakoso”). Igbiyanju yii ni a sin nipasẹ awọn onitumọ Ilu Rọsia, rọpo “ikosile” pẹlu ọrọ naa “Oṣiṣẹ”, eyiti:

  1. ti di bakanna pẹlu ọrọ ẹrọ "aṣẹ",
  2. ti jade lati jẹ bakannaa pẹlu gbolohun ọrọ "ami iṣẹ",
  3. ati tun gba nọmba ailopin ti awọn iye afikun. Iyẹn ni, o ti yipada si nkan ti o jọra si nkan Gẹẹsi “uhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh

Wo awọn iṣe ti o tẹle, tabi iranlowo.

Ayipada Iṣakoso

Ayipada Iṣakoso (UP) - ṣiṣẹda / piparẹ awọn sẹẹli oniyipada.
UE waye laisọfa nigbati o n kede oniyipada kan, eyiti o ti kọ tẹlẹ fun idi miiran - lati tọka aworan ti iye naa. Wiwo kan ṣoṣo ni a ṣakoso ni gbangba afikun oniyipada lilo malloc () ati free () awọn iṣẹ.

O yẹ ki o ṣe akiyesi pe awọn iṣe aiṣedeede jẹ irọrun diẹ sii fun kikọ, nitori wọn ko nilo kikọ ohunkohun rara, ṣugbọn wọn nira diẹ sii lati ni oye - wọn nira sii lati ṣe akiyesi ati tumọ.

Subordination

Subordination - so / mu awọn apakan Layer ṣiṣẹ.

Ede C naa funni ni ọna ti a lo fun ṣiṣakoso aṣẹ ti awọn iṣe, ti o yatọ si alapejọ - subordination. O ṣe afihan ati ṣe agbekalẹ gbolohun ọrọ ti o ni idiju pẹlu pipin ti o han gbangba si apakan akọkọ (ọrọ abẹri) ati apakan abẹlẹ (awọn apakan subvelvel/subroutine).

Mejeeji ikede ati ifisilẹ jẹ itumọ patapata lori ero naa fẹlẹfẹlẹ.

Layer

Layer ni a lopin nikan-ipele yiyan ṣeto ti expressions.

Ipele naa ni gbangba ati ni aitọ mu ọpọlọpọ awọn iṣẹ-ṣiṣe ni ẹẹkan:

  1. siseto eto
  2. diwọn hihan ti awọn orukọ (kokoro),
  3. iṣakoso awọn oniyipada (awọn sẹẹli iranti) (isọtọ),
  4. Itumọ awọn gbolohun ọrọ abẹlẹ fun isọdọmọ,
  5. awọn asọye ti awọn iṣẹ ati awọn yiyan ati awọn miiran.

Ko si imọran ti Layer ni awọn ede ẹrọ, nitorina ko han ni K / R, ati pe ti ohun kan ko ba wa nibẹ, lẹhinna ṣafihan rẹ ni awọn iwe ti o tẹle yoo jẹ eke ati freethinking. Nitorinaa, imọran ti Layer ko han rara, botilẹjẹpe o wulo pupọ ati han gbangba.

Laisi Layer, ko ṣee ṣe lati ṣe alaye ni ṣoki ati kedere ọpọlọpọ awọn iṣe ati awọn ofin ti eto naa. Fun apẹẹrẹ, kilode ti o rọrun bi kopecks mẹta ko dara, ati ẹtan lakoko ti o dara. O le bura laini iranlọwọ nikan, gẹgẹ bi Dijkstra ti ṣe (“Ọgbọn ti awọn olupilẹṣẹ jẹ iṣẹ ti o da lori igbohunsafẹfẹ ti iṣẹlẹ ti awọn alaye goto ninu awọn eto wọn.” Ni kukuru, awọn ewurẹ nikan lo goto. Ipele idalare jẹ Ọlọrun.) Otitọ, eyi kii ṣe ẹru ti awọn iwe rẹ A ko ni lati ṣe alaye ohunkohun rara, ṣugbọn, bi a ti sọ tẹlẹ, eyi kii ṣe ayanmọ wa.

Nipa ọna, a le ro pe Dan Ritchie fi goto silẹ ni deede bi bọtini fun wiwa diẹ ninu awọn imọran ti a ko darukọ, nitori ko si iwulo tabi ẹwa ninu ikosile goto. Ṣugbọn iwulo wa fun alaye ti o rọrun ati oye ti awọn ilana tuntun ti ede, eyiti Richie funrararẹ ko fẹ lati fun, ati eyiti o da ni deede lori imọran. fẹlẹfẹlẹ.

Iyapa

Iyapa - iyipada awọn ohun-ini deede ti orukọ tuntun.

Iyatọ ti o ṣe pataki julọ jẹ deede ni ibatan si awọn ohun-ini Layer ti eto naa, ati pe a ṣe apejuwe nipasẹ ọrọ kan “aimi”, eyiti o ni itumọ ti o yatọ ni iru Layer kọọkan.

5. ORÍKÌ ÌKẸYÌN. Ijọpọ ti awọn ede ti a lo

Awọn ede ti a lo ni ìṣàpẹẹrẹ awọn ede (nini aworan, "ti tẹ"). Wọn da lori fojuhan tabi lilo ti aworan naa. Pẹlupẹlu, nibi lẹẹkansi ilodi kan han: aworan ti o han gbangba jẹ oye diẹ sii, ṣugbọn o rọrun diẹ, ati ni idakeji.

Matryoshka C. Eto ede ti o fẹlẹfẹlẹ

(Ipilẹ tabili ko tii jiṣẹ, nitorinaa tabili naa han pẹlu aworan kan.)

Lẹhin C, idagbasoke ti awọn ede ti a lo ni ọna ti jijẹ apẹẹrẹ wọn. Pataki julo fun agbọye awọn aworan giga jẹ iran taara ti C - ede C ++. O ṣe agbekalẹ imọran ti yiyan lainidii ti awọn iṣẹ fun awọn iwọn ati pe o da lori ipilẹ yiyan ikosile sintetiki, eyiti o gba orukọ tuntun - nkan. Sibẹsibẹ, C++ kii ṣe ṣoki ati asọye bi C nitori apọju ti awọn iru ikojọpọ tuntun ati awọn ofin to somọ wọn. Nipa ọna, jẹ ki a sọrọ nipa “apọju”.

Overloading ati polymorphism

Ọrọ naa “apọju” jẹ ọrọ ikẹkọ ẹrọ ti igba atijọ fun ṣiṣẹda ọpọ mosi.

Machine (eto) pirogirama ọpọ Awọn iṣẹ ṣiṣe le jẹ didanubi daradara: “Kini ami yii (+) tumọ si: fifi awọn nọmba kun, fifi awọn ida kun, tabi paapaa iyipada?! Ni akoko wa wọn ko kọ bii iyẹn!” Nitorinaa itumọ odi ti ọrọ ti a yan (“overkill”, “rẹwẹsi”). Fun olupilẹṣẹ ohun elo, awọn iṣẹ ṣiṣe lọpọlọpọ jẹ okuta igun ile, aṣeyọri akọkọ ati ogún ti ede C, nitorinaa adayeba ti a ko mọ wọn nigbagbogbo.

Ni C ++ ede ọpọ gbooro kii ṣe si awọn iṣẹ atilẹba nikan, ṣugbọn tun si awọn iṣẹ - mejeeji olukuluku ati ni idapo sinu awọn kilasi - awọn ọna. Pẹlu awọn ọna pupọ wa agbara lati bori wọn ni awọn kilasi ti o gbooro, eyiti a pe ni “polymorphism.” Àpapọ̀ polymorphism àti àpọ̀jù ṣe àkópọ̀ ìbúgbàù kan tí ó pín sí polymorphisms méjì: “òdodo” àti “ad-hoc.” O ṣee ṣe lati loye eyi nikan laibikita awọn orukọ ti a yàn. Opopona si ipolowo jẹ paadi pẹlu awọn orukọ ajeji.

Alaye ti fọọmu “apọju” jẹ afihan dara julọ ninu ọrọ naa afikun fii - fifi ikede kan ti iṣẹ kan ti orukọ kanna pẹlu awọn ariyanjiyan ti aworan ti o yatọ.

Alaye ti fọọmu “polymorphism” ni a pe ni dara julọ tun-ìkéde - ikede agbekọja ni Layer itẹsiwaju tuntun ti iṣẹ kan ti orukọ kanna pẹlu awọn ariyanjiyan ti aworan kanna.

Lẹhinna o yoo rọrun lati ni oye pe awọn ọna kanna ti awọn oriṣiriṣi awọn aworan (awọn ariyanjiyan) - afikun ohun ti kedeati aworan kan - tun kede.

Awọn ọrọ Russian pinnu.

Ojuonaigberaokoofurufu

Iṣiro ti awọn imọran ti awọn ede alaworan ti o ga julọ jẹri pataki ti asọye mimọ ti awọn imọran ipilẹ. Pẹlu asọye C ni deede, kikọ awọn ede alamọdaju giga yoo rọrun ati igbadun.

Eleyi jẹ paapa pataki fun awọn ede alaworan ti o ga julọ (PHP, JavaScript). Fun wọn, pataki ti awọn nkan (awọn aworan akojọpọ) paapaa ga ju ti C ++ lọ, ṣugbọn imọran pupọ ti aworan kan di mimọ ati ki o yege. Lati oju-ọna ti irọrun, wọn ti di rọrun, ṣugbọn lati oju-ọna ti oye, wọn ti nira sii.

Nitorinaa, o yẹ ki o bẹrẹ kikọ awọn ede siseto pẹlu ede C ki o tẹsiwaju siwaju ni aṣẹ eyiti awọn ede ti idile C han.

Kanna n lọ fun apejuwe awọn ede. Awọn ede oriṣiriṣi ni kanna, tabi kere si, ṣeto awọn akọ-abo ti ẹyọkan ju ede C lọ. Nọmba awọn oriṣi ati awọn apẹẹrẹ le yatọ ni awọn itọnisọna mejeeji: C ++ ni awọn oriṣi diẹ sii ju C, lakoko ti JavaScript ni diẹ.

Ede MySQL yẹ fun darukọ pataki. O dabi pe ko si ohunkan ti o wọpọ, ṣugbọn Matryoshka ṣe apejuwe rẹ ni pipe, ati lati mọ ọ di yiyara ati rọrun. Eyi ti o ṣe pataki, fun pataki rẹ fun oju opo wẹẹbu - opopona ile ijeun ti siseto igbalode. Ati nibiti MySQL wa, awọn SQL miiran wa. O dara, gbogbo awọn iru Fortran-Pascal-Python tun jẹ apejuwe nipasẹ Matryoshka, ni kete ti wọn ba gba ọwọ wọn.

Nitorinaa, awọn ohun nla n duro de wa - apejuwe ti a lo ti ede C ati apejuwe iṣọkan ti awọn ede ti o tẹle. “Awọn ibi-afẹde wa han gbangba, awọn iṣẹ-ṣiṣe wa ni asọye. Lọ si iṣẹ, awọn ẹlẹgbẹ! (Ìjì, ìyìn pẹ̀lú, yíyí padà sí ìyìn. Gbogbo ènìyàn dìde.)

Awọn ero rẹ yoo gbọ pẹlu akiyesi nla, iranlọwọ rẹ ni ṣiṣẹda oju opo wẹẹbu ọmọlangidi itẹ-ẹiyẹ yoo gba pẹlu ọpẹ nla. Alaye pipe diẹ sii nipa iwe naa wa lori oju opo wẹẹbu, ti o farapamọ pẹlu ọgbọn ni Matryoshka C.

orisun: www.habr.com

Fi ọrọìwòye kun