Файл-сценария билан ишлаш намунаси
Изоҳларда % белгиси сатрнинг биринчи позициясига ёзилиши керак. Акс ҳолда help name командаси изоҳни қабул қилмайди ва No help comments found in - name.m кўринишидаги ахборотни беради.
Бундай файлни ишга тушириш учун xmin ва хmах ўзгарувчилар олдиндан тайёрланган бўлиши керак. Файл-сценарияларда ишлатиладиган ўзгарувчилар глобал ўзгарувчилар бўлиб ҳисобланади, яъни улар сессия командаларида ҳам дастурий блокларнинг (жумладан, файл-сценарияларнинг ) ичида ҳам бир хил ишлайди. Шунинг учун сессияда берилган қийматлар файлда ишлатилади.Файл-сценарияларнинг номларидан функциянинг параметрлари сифатида фойдаланиш мумкин эмас, чунки файл-сценария қийматларни қайтармайди. Файл-сценарияларни компиляция қилиб бўлмайди. Улар файл-функцияларга айлантирилгандан кейингина компиляция қилиниши мумкин.
Диалогли киритиш
Қуйидаги диалогли дастурни кўрайлик:
% Радиусни диалогли киритиб айлананинг узунлигини ҳисоблаш
r=0;
while r>=0,
r=input('Айлананинг радиусини киритинг r=');
ifr>=0 disp(' Айлананинг узунлиги l=');
disp(2*pi*r)
end
end
Ушбу дастур диалог режимда киритиладиган радиусга асосан айлананинг узунлигини кўп марта ҳисоблаш учун хизмат қилади. Дастурдаги disp командалари ёрдамида экранга «Айлананинг узунлиги l=» ёзуви ва айлана узунлигининг ҳисобланган қиймати чиқарилади. Ҳисоблашни тўхтатиш учун манфий қиймат берилиши керак, масалан r=-1.
Дастурдаги while...end бошқарувчи таркиб ҳисоблашни циклик равишда қайтариб туриш учун ишлатилган. Агар r<0 қиймат берилса ҳисоблаш бажарилмайди ва цикл тугалланади.
Ушбу дастур ayl.m номли файл-сценария шаклида сақланган бўлса, у билан ишлаш қуйидаги кўринишда бўлади:
>>ayl
Айлананинг радиусини киритинг r=1
Айлананинг узунлиги l=
6.2832
Айлананинг радиусини киритинг r=3
Айлананинг узунлиги l=
18.8496
Айлананинг радиусини киритинг r=45
Айлананинг узунлиги l=
282.7433
Айлананинг радиусини киритинг r=-1
>>
Input функцияси ёрдамида ихтиёрий сатрий ифодаларини ҳам киритиш мумкин. Бу ҳолда у қуйидаги кўринишга эга бўлади:
input('Изоҳ', V)
Ушбу функция бажарилганда ҳисоблашларни тўхтатади ва сатрий изоҳ киритилишини кутади. Сатрий изоҳ киритилгандан кейин киритилган сатр қайтарилади. Буни қуйидаги мисолдан кўришимиз мумкин:
>>S=input('Ифодани киритинг','s')
Ифодани киритинг 2*sin(1)
S =
2*sin(1)
>>eval(S)
ans =
1.6829
>>
Символ кўринишида киритилган ифодани ҳам eval командаси ёрдамида ҳисоблаш мумкинлигига эътибор беринг. Умуман олганда ҳар қандай символ ифодани киритиш ва ҳисоблаш мумкинлиги ҳар қандай мураккабликдаги диалог дастурларни яратиш учун йўл очиб беради.
0>
Do'stlaringiz bilan baham: |