Solishtirish va mantiqiy amallar.
Mantiqiy amallarni ikki guruhga bo’lib o’rganamiz:
solishtirish amallari;
haqiqiy mantiqiy amallar.
Solishtirish amallariga quyidagilar kiradi:
a>b- katta amali;
aa<=b- kichik yoki teng amali;
a>=b- katta yoki teng amali;
a==b- teng amali;
a~=b-teng emas amali.
Massivlarni solishtirishda bu amallar ularning mos elementlari orasida amalga oshiriladi.
Bunda solishtirilayotgan massiv o’lchoviga teng o’lchovli massiv xosil bo’ladi. Ya’ni massivning mos elementi 1 bo’ladi, agar solishtirish natijasi “rost” bo’lsa , 0 bo’ladi agar solishtirish natijasi “yolg’on” bo’lsa. Agar solishtirishda >, <, >=, <= amallari ishlatilsa elementlarning faqat haqiqiy qismi solishtiriladi, == yoki ~= amallari ishlatilsa elementlarning ham haqiqiy, ham mavhum qismlari solishtiriladi.
Ikkita qatorni ekvevalentligini tekshirish uchun strcmp komandasdan foydalaniladi. Bu holda vektorlarning uzunliklari har xil bo’lishi mumkin.
Agar solishtirilayotganlardan biri skalyar, ikkinchisi matritsa bo’lsa, u holda solishtrish uchun skalyarni matritsa o’lchovlariga teng qilib, matritsaga to’ldiriladi va undan keyin solishtiriladi. Masalan:
a=3;
b=[1 4 0; 2 5 7];
bo’lsa a>b natijasi quyidagicha bo’ladi:
ans=[1 0 1; 1 0 0].
Matritsa elemntlari kompleks bo’lgan holda misol ko’ramiz:
c=[5+2i 4-i];
d=[5+7i 3-i];
d<=c ning natijasi
ans=1 1,
c<=d ning natijasi
ans= 1 0
bo’ladi.
Matlabda haqiqiy mantiqiy amllarga quyidagilar kiradi:
&=”va” amali;
|-“yoki” amali;
~-“yo’q” amali.
Mantiqiy amallar matritsalarni mos elemntlari orasida bajariladi. Bu amllarni bajarishda 0 ishlatiladi, agar amal natijasi “yolg’on” bo’lsa va “rostlik”ni bildiruvchi mantiqiy bir ixtiyoriy nol bo’lmagan son bo’lishi mumkin.
Yuqoridagi barcha mantiqiy amallar uchun “rostlik” jadvali quyidagicha bo’ladi:
x
|
y
|
x&y
|
x|y
|
~x
|
0
|
0
|
0
|
0
|
1
|
0
|
1
|
0
|
1
|
1
|
1
|
0
|
0
|
1
|
0
|
1
|
1
|
1
|
1
|
0
|
Haqiqiy mantiqiy amallar bajarilishi bo’yicha arifmetik va solishtirish amallariga nisbatan past ustuvorlikka ega bo’ladi. Mantiqiy amallar o’z-o’ziga nisbatan quyidagi ustuvorlik qoidasiga bo’ysunadi:
”yo’q” amali eng yuqori ustuvorlikka ega;
b) ”va” bilan “yoki” teng ustuvorlikka ega va chapdan o’ngga ketma-ket bajariladi.
Quyidagi misollarni ko’ramiz:
1&0+2
3>5&1
Ularning natijasi mos ravishda 1 va 0 bo’ladi. Birinchi ifodada avval 0+2=2, undan keyin esa 1&2 amali bajariladi. Ikkinchi ifodada esa avval solishtirish amali 3>5=0, undan keyin esa 0&1 mantiqiy amal bajariladi.
Quyidagi keltirilgan misollarda esa mantiqiy amallar ketma-ket chapdan o’ngga qarab bajariladi:
1&0 | 1=1
0&0 | 0=0
Do'stlaringiz bilan baham: |