Kontentke ótiw

Operator (programmalastırıw)

Wikipedia, erkin enciklopediya

Programmalastırıwda operator (ingl. statement) − qanday da bir orınlanatuǵın háreketti bildiretuǵın imperativ programmalastırıw tiliniń sintaksislik birligi.[1] Bunday tilde jazılǵan programma bir yamasa bir neshe operatorlar izbe-izligi arqalı qurıladı. Operatordıń ishki komponentleri bolıwı múmkin (mısalı, ańlatpalar).

Kóplegen programmalastırıw tilleri (mısalı, Ada, Algol 60, C, Java, Paskal) operatorlar menen táriypler/deklaraciyalar arasındaǵı ayırmashılıqtı payda etedi. Táriyp (anıqlama)  yamasa operator programma jumıs isleytuǵın maǵlıwmatlardı kórsetedi, al operator sol maǵlıwmatlar menen orınlanatuǵın háreketlerdi kórsetedi.


Basqa operatorlardı óz ishine almaytuǵın operatorlar ápiwayı; basqa operatorlardı qamtıwı múmkin bolsa qurama bolıp tabıladı.[2]

Operatordıń (hám shın mánisinde programmanıń) kórinisi onıń sintaksisi yamasa grammatikası arqalı anıqlanadı. Operatordıń mánisi onıń semantikası menen anıqlanadı.

Ápiwayı operatorlar[redaktorlaw | derekti jańalaw]

Ápiwayı operatorlar ózbetinshe tolıq; olarǵa tapsırmalar, qos programma shaqırıwları hám programmanıń basqarıw aǵımına aytarlıqtay tásir etiwi múmkin bir neshe operatorlar kiredi (mısalı, ótiw qaytarıw, toqtatıw/toqtaw). Ayırım tillerde kirgiziw hám shıǵarıw, tastıyıqlaw hám shıǵarıwshı arnawlı operatorlar arqalı basqarıladı, al basqa tiller aldınnan anıqlanǵan ishki programmalarǵa shaqırıwlardı paydalanadı.

  • tapsırma
    • Fortran: variable = expression
    • Pascal, Algol 60, Ada: variable := expression;
    • C, C#, C++, PHP, Java: variable = expression;
  • shaqırıw
    • Fortran: CALL subroutine name(parameters)
    • C, C++, Java, PHP, Pascal, Ada: subroutine name(parameters);
  • tastıyıqlaw
    • C, C++, PHP: assert(relational expression);
    • Java: assert relational expression;
  • ótiw
    • Fortran: GOTO numbered-label
    • Algol 60: goto label;
    • C, C++, PHP, Pascal: goto label;
  • qaytarıw
    • Fortran: RETURN value
    • C, C++, Java, PHP: return value;
  • toqtatıw/toqtaw/shıǵıw
    • Fortran: STOP number
    • C, C++: exit(expression)
    • PHP: exit number;

Qurama operatorlar[redaktorlaw | derekti jańalaw]

Qurama operatorlar hár qanday aqılǵa ılayıq tereńlikke sáykes keletuǵın operatorlardı (izbe-izligi) qamtıwı múmkin hám ádette usı óz ishine alǵan operatorlarǵa baǵınıw yamasa qaytalamaw tuwralı qarar qabıllaw ushın testlerdi óz ishine alıwı múmkin.

Tómendegi mısallar ushın belgiler:
  • <operator> - hár qanday jalǵız operator (ápiwayı yamasa qurama bolıwı múmkin).
  • <izbe izligi> - nolden yamasa onnan da kóp <operatorlar> hár qanday dizbegi
Ayırım programmalastırıw tilleri operatorlardı gruppalawdıń ulıwma usılın támiyinleydi, solay etip hár qanday jalǵız <operator> topar menen almastırılıwı múmkin:
  • Algol 60: begin <sequence> end
  • Pascal: begin <sequence> end
  • C, PHP, Java: { <sequence> }
Basqa programmalastırıw tillerinde bir yamasa bir neshe operator avtomat túrde topar retinde qarastırılatuǵınday, quramlı operatordıń hárbir túrine hár túrli arnawlı terminator bar:
  • Ada: if test then <sequence> end if;

Operator hám gilt sózler[redaktorlaw | derekti jańalaw]

Ayırım programmalastırıw tiliniń grammatikası gilt sózlerdi saqlaydı yamasa olardı arnawlı belgileydi hám olardı identifikator retinde paydalanıwǵa ruqsat bermeydi. Bul kóbinese analizlewge (tallawǵa) ańsat hám azıraq qarawdı talap etetuǵın grammatikalarǵa alıp keledi.

Ańlatpalar[redaktorlaw | derekti jańalaw]

Orınlanatuǵın operatorlar menen bahalanatuǵın ańlatpalar arasında jiyi ayırmashılıq bar. Ańlatpalar bárqulla mániske bahalanadı, al operatorlar emes. Degen menen, ańlatpalar kóbinese úlkenirek operatordıń bólegi retinde qollanıladı.

Kóplegen programmalastırıw tillerinde operator ańlatpadan aspawı múmkin, ádette ańlatpadan keyin operator terminatorı (noqatlı útir) arqalı. Bunday jaǵdayda ańlatpa mániske bahalanǵan da, tolıq operator orınlamaydı (ańlatpanıń mánisi óshiriledi). Mısalı, C, C++, C# hám kóplegen uqsas tillerde x = y + 1 ańlatpa bolıp, x ti y plus bir mániske menshikleydi hám pútkil ańlatpanıń ózi x ornatılǵan mániske bahalanadı. Degen menen, x = y + 1; (sońında noqatlı útirge itibar beriń) − ele x ti y plus bir mániske qoyadı, óytkeni operator ishindegi ańlatpa ele de bahalanadı, biraq ańlatpa nátiyjesi óshiriledi hám operatordıń ózi bahalanbaydı: hár qanday mánis. [3]

Ańlatpalar basqa ańlatpalar ishinde de bolıwı múmkin. Mısalı, x = y + 1 ańlatpası y + 1 ańlatpasın óz ishine aladı, ol óz gezeginde y hám 1 mánislerin óz ishine aladı, olar da texnikalıq ańlatpa bolıp tabıladı.

Aldıńǵı mısallar tapsırma ańlatpaların kórsetkeni menen, ayırım tiller tapsırmanı ańlatpa retinde emes, kerisinshe operator retinde ámelge asıradı. Bunıń kórnekli mısalı Python bolıp tabıladı, bunda = operator emes, tek  tayınlaw operatorındaǵı ajıratıwshı bolıp tabıladı. Python bir neshe tapsırmalardı orınlawǵa imkaniyat beredi, óytkeni hárbir tapsırma ańlatpa bolǵanı menen, bul haqıyqıy ańlatpa emes, til grammatikasına engizilgen tapsırma operatorınıń ózgeshe jaǵdayı ǵana.[4]

Derekler[redaktorlaw | derekti jańalaw]

  1. „statement“. webopedia (sentyabr 1996). Qaraldı: 3-mart 2015-jıl.
  2. Backus. „Revised Report on the Algorithmic Language Algol 60“. mass:werk. Qaraldı: 23-yanvar 2021-jıl.
  3. „ISO/IEC 9899:1999 (E)“. ISO/IEC. 7-fevral 2024-jılda túp nusqadan arxivlendi.
  4. „7. Simple statements“. Python 3.10.8 documentation.

Sırtqı siltemeler[redaktorlaw | derekti jańalaw]