Operator (programmalastırıw)

Programmalastırıwda operator (ingl. statement) − qanday da bir orınlanatuǵın háreketti bildiretuǵın imperativ programmalastırıw tiliniń sintaksislik birligi. 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ı.

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 
Á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 
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 
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 
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. 

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.

 Derekler 

 Sırtqı siltemeler 

 PC ENCYCLOPEDIA: Definition of: program statement
Kategoriya:Programmalıq injiniring