Мантиқий кўпайтма. Иккита оддий мулоҳазани «and»-«ва» боғловчиси билан бирлаштиришга мантиқий кўпайтма ёки конъюнкция дейилади ва « » белгиси билан ёзилади. Мантиқий кўпайтма А Б-А ва Б мулоҳазалар бир вактда рост бўлгандагина рост бўлади. Бу фикрларни қуйидагича геометрик тасвирлаш ҳам мумкин.
Ç
Мантиқий йиғинди (Дизъюнкция) .Иккита содда мулоҳазани «оr»-«ёки» боғловчиси билан бириктиришга айтилади. Мантиқ тилида «оr» боғловчиси « » белгиси билан белгиланади. Агар А,В мулоҳазалардан камида биттаси рост бўлса, мантиқий йиғинди, А В рост бўлади.
È
Мантиқий инкор. Оддий А мулоҳазаси охирига «nоt» «эмас» қўшимчасини қўшишга А мулоҳазасини инкори дейилади. Ёлғон мулоҳаза А нинг инкори рост бўлади. Буль алгебрасида инкор «┐»- белгиси билан белгиланади ва мулоҳазанинг олдига қўйилади: ┐А.
Қуйида мулоҳазаларнинг ростлик жадвали келтирилган:
А
|
В
|
А & В
|
АVB
|
] A
|
0
|
0
|
0
|
0
|
1
|
0
|
1
|
0
|
1
|
1
|
1
|
0
|
0
|
1
|
0
|
1
|
1
|
1
|
1
|
0
|
Буль алгебрасининг асосий тасдиқларидан бири ихтиёрий мантиқий функцияни мантиқий амаллар асосида чекли сондаги мантиқий мулоҳазалар кўринишида ёзиш мумкинлигидадир. Бундан эса ихтиёрий мантиқий фикрни рост (1) ва ёлғонларнинг (0) чекли сондаги комбинациялари кўринишида ёзиб олиш мумкинлиги келиб чиқади. Бу эса, ўз навбатида 1 (сигнал бор) ва 0 (сигнал йўқ) рақамларининг комбинацияларига асосланган ва ихтиёрий фикрни ифодалаш имконига эга бўлган махсус электрон қурилмалар-ЭҲМ ларни яратиш мумкинлиги ҳақидаги фикрни юзага келтиради.
ЭҲМ хотирасидаги барча бошланғич берилганлар кодлаштирилган ҳолда 0 ва 1 кўринишида бўлади. Хотирадаги ҳамма ишчи программалар ва буйруқлар хотирада бир нечта байтларда жойлаштирилган бўлади. Ҳар бир буйруқ - кўрсатма, махсус кодга эга бўлиб, компьютерга у ёки бу амални бажариш кераклигини билдиради. Буйруқлар сифатида – икки сон устида бирор арифметик амал, дискдан маълумотни ўқиш, экранга белгини узатиш, принтерда белгини чоп қилиш каби кўрсатмалар бўлиши мумкин. Масалан, йиғиндини ҳисоблаш учун қуйидаги форматдаги буйруқ коди бўлиши мумкин.
Буйруқ коди ( амали) 1-операнд адреси (с) 2-операнд адреси (d)
010110
|
111010101001
|
110001100101
|
Бу ерда 010110 қўшиш « » амалининг коди, 111010101001 с ўзгарувчи учун хотирада ажратилган жойнинг адреси, 110001100101 эса d ўзгарувчи учун қийматлар устида қўшиш амалини бажариб, натижани хотира регистрларининг бирига жойлаштиради, кўп ҳолларда бу сумматор деб номланувчи А регистри бўлади.
Программага кирувчи бундай буйруқлар кетма-кетлиги хотиранинг маълум бир қисмида жойлашади. Программа бўйича ЭҲМ нинг иши Бошқарув қурилмасини (БҚ) Буйруқ адреси санагичи (БАС) деб номланувчи регистрга «қарашдан» бошланади. БАС да программадаги биринчи буйруқнинг хотирадаги адреси бўлади. Шу буйруқни бажарилиши билан ЭҲМ иш бошлайди. Бу буйруқ бажарилиш пайтида БАС да навбатдаги буйруқ адреси пайдо бўлади, кейин процессор шу буйруқни бажаради, БАС да навбатдаги буйруқ адреси пайдо бўлади ва ҳоказо. Бу жараён БАС да «программа бўйича ишлаш тугаши» буйруғининг адреси пайдо бўлиб, шундан кейин ЭҲМ ўз ишини тугатади.
БҚ кўрсатилган адрес бўйича хотирада маълумотни ўқийди ва арифметик-мантиқий қурилма (АМҚ)ни бу амални бажаришга созлайди. БҚ қийматлар операндларнинг буйруқдаги адреслари орқали хотирадан топади. Бу ишлардан кейин БҚ «дам олади», яъни АМҚ га кўрсатилган амални бажаришга имкон беради. АМҚ бажарилган амал натижасини ўзининг чиқишларида номоён қилади. Ўз ишини тугатган АМҚ, бу ҳақида БҚ га сигнал орқали маълум қилади. БҚ натижани кўрсатилган хотира адресига ёки транслятор томонидан кўзда тутилган жойга (регистрга) жойлаштиради. Шундан кейин БҚ БАС дан навбатдаги буйруқни ўқийди
Мантиқий амаллар учун хам арифметик амаларнинг баъзи хоссалари ўринли бўлади.
Коммутативлик (ўрин алмаштириш) қонуни:
А В =ВА; AВ=BA
Ассоциативлик (группалаш) қонуни:
А (ВС) =(АВ) С
Дистрибутивлик(тақсимот) қонуни:
А(ВС) =АВАС
Мантиқий амаллар учун шакл алмаштириш
0 =1; 1=0
A1=A; A0=0
A0=A; A1=1
AA=1; AA=0
A(BA)=1; (AB)(AB)=1
AA=AA=A
A(AB)=A; A(AB)=A
Назорат саволлари:
Мантиқий ифодалар ва уларни берилиши
Мантиқий хизматчи сўзларни қўллаш
Ўзгарувчи ва ўзгармасларни турлари
Математик мантиқнинг информатикадаги роли.
Дизюнкция ва конюкция тушунчалари
Группалаш ва тақсимот қонуни
Шакл алмаштириш кўринишлари
12-маъруза. Тармоқланувчи ҳисоблаш жараёнларини дастурлаш.
Шартли ва шартсиз ўтиш операторлари.
Танлаш операторлари.
Режа:
Тармоқланувчи алгоритм тушунчаси
Шартли ўтиш операторлари
Шартсиз ўтиш оператори
Шартсиз операторни қўллаш
Танлаш оператори ва уни дастурда қўллаш
Паскаль дастурлаш тилида бир гурух операторлар бор, улар ёрдамида дастурнинг бажарилиши бошқарилади.
Бу ерда кўриладиган операторлар шартли ўтиш операторлари бўлиб, уларнинг бажарилиши бирор шартга асосланади. Паскаль тилида шартли ўтиш операторлари икки хил бўлади: тўлиқ ва қисқа.
Шартли утиш операторининг тўлиқ формаси қуйидаги кўринишга эга:
Бу ерда IF- агар, THEN – у ҳолда, ELSE- акс ҳолда хизматчи сўзлардир.
IF <мантиқий ифода> THEN (у холда) 1-оператор, ELSE (акс холда) 2-оператор. Бу ерда 1-оператор ва 2-оператор оддий ёки йиғма операторлар.
Агарда мантиқий ифода рост бўлса, у ҳолда 1- оператор, акс ҳолда эса 2-оператор бажарилади. 1-ва 2-операторлар сифатида шартли ўтиш операторлари бўлиши мумкин.
Шартли ўтиш операторлари мураккаб операторлар қаторига киради, чунки унинг ичига бошқа операторлар ҳам қўшилиши мумкин.
Мисол 1. Қуйдаги арифметик ифода ҳисоблансин:
х+1 агарда х<о
2х агарда х>=о
Бу ерда аввал шарт текширилади ва унинг қиймати рост ёки ёлғонлигидан битта ифода ҳисобланади, яъни у=х+1 ёки у=2х. Бунда х нинг қиймати IF операторигача аниқланган бўлиши керак.
Мантиқий ифода ўрнида фақат мантиқий ўзгарувчи ҳам келиши мумкин.
IF X<0 THEN У:=X+1 ELSE У:=2*X ;
Мисол 2. А=N+40 ифода ҳисоблансин, агарда N нинг қиймати 1,5 дан катта ва 2,5 дан кичик бўлса. Бошқа холларда эса, яъни N нинг бошқа қийматларида В=М+1 ҳисоблансин. Бу холда шартли ўтиш оператори қуйдагича ёзилади:
IF (N>1.5) AND (N<2.5) THEN A:=N+40 ELSE B:=M+1;
Агар мантиқий ифода бир неча шартга боғлиқ бўлса, у холда шартларни бир-бирига боғлаш учун (AND, OR, NOT) лардан фойдаланилади.
Ушбу масала қуйидагича бажарилади: олдин қавс ичидаги ифодалар солиштирилади ва рост бўлса A:=N+40 ифода бажарилади, акс ҳолда (ёлғон бўлса) B:=M+1 ифода бажарилади.
Паскал тилида дастурнинг ёзилиши эркин бўлганлиги сабабли қулайлик учун шартли ўтиш операторини ёзишда IF хизматчи сўзининг тагидан ELSE сўзи ёзилса дастурни ўқиш осонлашади. Масалан,
IF A=B THEN begin 1-оператор; 2-оператор;
............. n-оператор; end
ELSE begin 3-оператор; 4-оператор;
........ end.
Шартли ўтиш операторининг имкониятларини йиғма операторлар ёрдамида кенгайтириш мумкин. Бу холда THEN ва ELSE хизматчи сўзларидан кейин йиғма операторлар қатнашиши мумкин, яъни
IF мантиқий ифода THEN
BEGIN
оператор;
оператор;
...
( n-1) - оператор;
n - оператор
END
ELSE
BEGIN
оператор;
оператор;
...
( n-1 ) - оператор;
оператор
END.
Бунда ELSE хизматчи сўзидан олдин нуқта, вергул белгиси қўйилмайди.
Йиғма операторларнинг ичида шунингдек шартли ўтиш оператори ва уларнинг ўзи оддий ва йиғма операторлардан ташкил топиши мумкин.
Масалан, агарда A>B бўлса, қуйдаги учта оператор ҳисоблансин,
У1=7, У2=А, УЗ=А+В:
агарда A<=B бўлса, у холда Т1=2А ва Т2=А-В
Бу холда шартли ўтиш оператори қуйдагича ёзилади:
IF A>B THEN
BEҒIN
У1 := 7 ;
У2 : =A ;
У3 : = A+B
END
ELSE BEGIN
У1: = 2*A ;
У2: = A-B
END.
Бу ерда 2 марта йиғма операторлар ишлатилмоқда.
Паскаль тилида, шунингдек шартли ўтиш операторининг қисқа формасидан ҳам фойдаланиш мумкин.
IF мантиқий ифода THEN 1-оператор.
Бунда агарда мантиқий ифода рост бўлса, у холда 1-оператор бажарилади, акс холда шартли ўтиш оператордан кейин турган оператор бажарилади. Масалан,
IF A>15 THEN У:=-7;
Z:= SUM+1
Бу оператор бажарилиши натижасида, агарда A>15 ифода рост бўлса, у холда у ҳисобланади ва ундан кейин Z ҳисобланади, акс холда эса яъни A>15 ёлғон бўлса, у холда тўғридан тўғри Z ҳисобланади.
Танлаш оператори. Танлаш операторидан бир нечта кетма-кет операторлар ичидан бирор ифоданинг қийматига қараб танлаш учун ишлатилади. Танлаш оператори мураккаб операторлар қаторига киради ва унинг умумий кўриниши қуйдагича ёзилади:
CASE ифода OF
1-ўзгармас: 1- оператор;
2-ўзгармас: 2- оператор;
....
n-ўзгармас: n-оператор
END
бу ерда CASE (бўлган холда), ифода (бутун рақамлар ёки ҳарфлар бўлиши мумкин) OF (улардан), END (тамом) - хизматчи сўзлар.
Танлаш оператори қуйидаги иш бажаради:
Агарда ифоданинг қиймати ўзгармаслардан бирига тенг бўлса, у холда шу ўзгармасга мос оператор бажарилади. Ундан сўнг бошқарув танлаш операторидан кейин турган операторга узатилади. Агарда ифоданинг қиймати бирорта ҳам ўзгармасга тенг бўлмаса у холда бошқарув танлаш операторидан сўнг турган операторга узатилади.
Ифода ҳақиқий типда бошқа ихтиёрий стандарт типда бўлиши мумкин. Бунга мос равишда ўзгармас ҳам ҳақиқий бўлиши мумкин эмас. Ўзгармаснинг типи ифоданинг типига мос келиши керак.
Танлаш операторининг ёзилишига мисол
CASE К+1 OF
5: У:=SQR (X) ;
11: У: = SQRT (X ) ;
4 : Z: =4* (A-B ) ;
7 : WRITE ( A, B )
END
Агарда К+1 ифоданинг қиймати 5, 11, 4, 7 ўзгармаслардан бирига тенг бўлса, унга мос оператор бажарилгач, бошқарув END операторидан сўнг турган операторга узатилади. К ўзгарувчи бутун типдаги ўзгарувчи сифатида эълон қилиниши керак.
Бундан ташқари К, Х, A, B ўзгарувчилар CASE операторидан аввал аниқланган бўлиши керак.
Тартиблаштирилган конструкция
CASE тартибли ўзгарувчи OF
|
1-қиймат
|
2-қиймат
|
3-қиймат
|
........
|
ELSE
|
Оператор 1..1
|
Оператор 2..1
|
Оператор 3..1
|
.......
|
Оператор K..1
|
.............
|
.............
|
.............
|
..........
|
...............
|
Оператор 1..N
|
Оператор 2..N
|
Оператор 3..N
|
...........
|
Оператор K..N
|
Тартибли ўзгарувчи-қиймати CASE ... OF операторининг тармоғини аниқлайдиган қиймат.
Масалан:
CASE TRUNC(ln(x*x+A*B)) MOD 7 of
0: writeln(
1:writeln(
................
6:writeln(
End;
Ишлаш тартиби:
CASE ифода OF
Константа 1: оператор1;
Константа 2: оператор 2;
..........
Константа n;
End;
бу ерда CASE (в случае), OF(ундан).
Иккинчи бир кўриниш.
CASE К+1 OF
5:y:=sqr(x);
10:y:=sqrt(x);
4: z:=3*(a-b);
7:writeln(a,b);
End;
Агар К+1 =5 га тенг бўлса, у ҳолда y=x2 ҳисобланади ва бошқарув End дан кейинги операторга узатилади.
Бу ерда К,х,а,в ларнинг қийматлари CASE бажарилишидан олдин берилиши керак. Бундан ташқари танлаш оператори бир неча ўзгармас символларда хам фойдаланиш мумкин.
Масалан:
CASE N OF
‘+’, ‘-‘, ‘*’, ‘/’: P:=1;
‘A’, ‘B’ : P:=2;
‘.’ :P:=3;
end;
Бу ерда ўзгарувчи N ўзгарувчилар бўлимида типи: символли бўлиши келтирилган. Агар N нинг қиймати ушбу символлардан бирига тенг бўлса +, -, *,/, ‘A’, ‘B’. У ҳолда ўзига мансуб оператор бажарилади.
0>
Do'stlaringiz bilan baham: |