Maple тизимининг ыисыача характеристикаси
if (a > b) then a else b end if
Download 1.35 Mb.
|
Maple 72
- Bu sahifa navigatsiya:
- M:=Matrix(3,3,shape=identity); ёки > M:=Matrix(3,3,shape=identity); > M:=array(1..3,1..3,identity); > M=evalm(M);
if (a > b) then a else b end if;
> 5*(Pi + `if`(a > b,a,b)); > x := `if`(a < b,NULL,b); > if FAIL then 3 else 5 end if; > a1:=(a)->`if`(a>0,a,-2*a); > a1(7); > a1(-19.6); Ушбу конструкцияда шартли оператор `if`(Шарт, 1-ифода, 2-ифода) кўринишида ишлатилган. Агар шарт бажарилса 1-ифода, бажарилмаса 2-ифода бажарилади. Бундай шакл компакт бўлганлиги сабабли кўпчилик ҳолларда ишлатилади, масалан ундан қуйида уч хил турдаги сигналларни моделлашда фойдаланилган: >restart:plot(`if`(sin(x)/x>0,sin(x)/x,-sin(x)/x),x=-10..10, color=blue); > restart:plot(`if`(sin(x)>=0,sin(x),-sin(x)),x=-8..8,color=red); > plot(`if`(sin(x)>=0,1,-1),x=-12..12,color=red); 5.4. For - while цикллариКўпчилик ҳолларда берилган ифодани маълум шарт бажарилгунча циклик равишда кўп марта бажариш зарур бўлади. Maple 7 тизимида цикл оператори қуйидаги кўринишда берилади: | for Бу ерда name — цикл ўзгарувчисининг номи, exprl, ехрr2 и ехрrЗ — ўзгарувчининг бошланғич, сўнгги ва ўзгариш қадамини берувчи ифодалар, name, ехрr4 — цикл (do ва od сўзлари орасида жойлашган объектлар тўплами) бажарилишининг шартини ўрнатувчи ифода. Агар by > for i from 6 by 2 to 10 do print(i) od; Қуйидаги мисолда берилган кетма-кетлик навбат билан кўпайтириб чиқилган: > t := 1; for z in 1, x, y, q^2, 3 do t := t*z; end do; Цикл қадами манфий бўлиши ҳам мумкин: > for i from 9 to 1 by -2 do print(i) od; Ўзгарувчининг ўзгариш чегараларини арифметик ифода кўринишида ҳам бериш мумкин: > for i from 7/(2+5) to 2+3 do print(i) od: Циклни қўшимча while <ехрr4> блоки ёрдамида тўхтатиш мумкин: > for i from 1 to 10 by 2 while i<6 do print(i) od; Maple-дастурлаш тилида циклнинг қуйидаги кўриниши ҳам мавжуд: |for Бу ерда exprl ўзгарувчи оладиган қийматларнинг рўйхатини беради: > for i in [1.2,5,-1.7,.12] do print(i) od; > for i in [1.2,5,-1.7,.12] while i>0 do print(i) od; Цикл циклнинг ичига киритилган бўлиши ҳам мумкин. Қуйидаги мисолда М массив асосида бирлик матрица ҳосил қилинган: Бирлик матрицани identiеty функцияси ёрдамида ҳам ҳосил қилиш мумкин: > M:=Matrix(3,3,shape=identity); ёки > M:=Matrix(3,3,shape=identity); > M:=array(1..3,1..3,identity); > M=evalm(M); Қуйидаги соддалаштирилган шаклдаги while циклидан ҳам фойдаланиш мумкин: while expr do statseq od: Бу ерда ехрr шарт бажарилса statseq ифода ҳам бажарилади: > n:=1:while n<9 do n:=2*n od; Айрим ҳолларда цикл ўзгарувчисининг айрим қийматларини ўтказиб юбориш зарур бўлади. Бунинг учун next (кейинги) операторидан фойдаланилади. Қуйида келтирилган мисолда цикл ўзгарувчисининг 2 ва ундан катта қийматлари ўтказиб юборилади: > for i in [1,2,3,-2,1.5,4] do if i>=2 then next else print(i) fi od; Яна бир оператор – break – дастур фрагментининг (ёки циклнинг) бажарилишини тўхтатади: > for i in [1,2,3,-2,1.5,4] do if i=3 then break else print(i) fi od; Бу ҳолда цикл ўзгарувчиси i=3 қийматни олганда циклнинг ишлаши бутунлай тўхтайди, шунинг учун кейинги қийматлар (3,-2,1.5,4) экранга чиқарилмайди. Бундан ташқари quit, done ёки stop операторлари ҳам дастурнинг (хусусан циклнинг ҳам) бажарилишини тўхтатишни таoминлайдилар, лекин улар бажарилганда жорий ойна ҳам ёпилади. 9> Download 1.35 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling