LISP dagi ifodalar Ruby bilan bo‘lgani kabi, LISPdagi barcha arifmetik va mantiqiy operatsiyalar
kichik dasturlarni tomonidan amalga oshiriladi. Lekin LISP yilda, kichik dastur ochiq
Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr
57
chaqirilishi kerak. Misol uchun, LISP yilda S ifoda a + b * c belgilash uchun, quyidagi
ifodani yozish lozim:
(+ a (* b c))
Bu ifoda esa, + va * vazifalari nomlari bor.
Shart operatorlari If-then-else so‘zlar shartli ifoda amalga oshirish uchun foydalanish mumkin.
Misol uchun,
if(count== 0 )
average = 0;
else average = sum / count;
S asoslangan tilda, bu kod, ko‘proq qulay belgilangan shakliga ega bo‘lgan
shartli bayonot ifoda yordamida belgilash mumkin,
expression_1? expression_2: expression_3
Bunda expression1 Boolean ifodasi sifatida talqin etiladi. Agar expression1
to‘gri bo‘lsa butun ifoda qiymati expression2 qiymati hisoblanadi ;aks holda, u
expression3 qiymati hisoblanadi. Misol uchun, If-then-else misoli ta’siri quyidagi
belgilash ifodalaridan bilan erishish mumkin, shartli ifodadan foydalanib:
average =(count== 0)? 0: sum / count;
Aslida, savol belgisi then bandida boshlanishini anglatadi va ‘:’ else bandida
boshlanganini anglatardi. Har ikki bandlar bo‘lishi shart. Eslab qoling ? uchlik
operatori sifatida shartli ifodalarda ishlatiladi.
Shartli ifodalar ,boshqa har qanday ifodadan foydalanish mumkin bolgan
dasturdagi(S ga asoslangan tilda) har bir joyda foydalanish mumkin. S asoslangan
tillardan tashqari, shartli ifodalar Perl, JavaScript, va Ruby da berilgan.
Operand baholash tartibi Ifodalarning kam tarqalgan muhokama dizayn xususiyati operanddan
baholash tartibi hisoblanadi. ifodalardagi o‘zgaruvchilar ularning qiymatlarini
xotiradan olib kelish bilan baholanadi. O‘zgarmaslar ham ba’zan shu tarzda
baholanadi. Boshqa holatlarda, o‘zgarmaslar mashina buyruq tili qismi bo‘ladi va
xotiradan olib kelish talab qilinmaydi. Agar operand qavslar bilan o‘ralgan ifoda
bo‘lsa, ozining qiymati ishlatilmasdan oldin, uning barcha operatorlari baholanishi
kerak.
Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr
58
Operatorning operandlarida yon ta’siri bo‘lmasa, u holda operand baholash
tartibi ahamiyatsiz bo‘ladi. Shuning uchun, qiziqarli holat faqat operand baholash
yon ta’siribor bo‘lgenda paydo bo‘ladi.