7. Чизиқли жараёнларни дастурлаш


Натижа: Назорат саволлари


Download 478.36 Kb.
bet18/32
Sana28.12.2022
Hajmi478.36 Kb.
#1016431
1   ...   14   15   16   17   18   19   20   21   ...   32
Bog'liq
С да дастурлаш 1 кисм 1 семестр

Натижа:

Назорат саволлари:

  1. Вариант танлаш оператори ҳақида маълумот беринг?

  2. break операторининг ишлаш принципини тушунтириб беринг?

  3. continue операторининг ишлаш принципини тушунтириб беринг?

  4. case қандай оператор?

10. Функция ва уларни яратиш


Режа:

  1. Функциялар ҳақида маълумот

  2. Параметрли ва параметрсиз функциялар

  3. Қиймат қайтармайдиган функциялар

  4. Функциянинг прототипи ва inline функциялар

  5. Рекурция

10.1. Функциялар ҳақида маълумот
Дастур тузиш жараёнида, унинг турли жойларида маъносига кўра бир хил, мустақил характерга эга бўлган ва ечилаётган асосий масаланинг бирор қисмини ҳал қилишни ўз бўйнига олган мураккаб алгоритмдан бир неча маротаба фойдаланишга тўғри келади. Масалан, матрицаларни кўпайтириш, матрицани векторга кўпайтириш, чизиқсиз тенгламани ечиш, чизиқли алгебраик тенгламалар системасини ечиш, факториал ҳисоблаш, йиғинди ҳисоблаш ва ҳоказо каби масалаларни ҳал қилиш алгоритлари жуда ҳам кўп масалаларни ечишнинг бош алгоритмларида қайта-қайта, турли бошланғич маълумотлар билан қатнашиши мумкин. Бундай ҳолларда, малакали дастурчи дастур матнини ихчамлаштириш, дастурнинг ишончлилик даражасини ошириш, дастурни тахрирлаш (отладка) ни тезлаштириш ва дастурнинг умумийлигини (универсаллигини) таъминлаш учун процедура ва функциялардан кенгроқ фойдаланиб, мукаммал дастур яратишга ҳаракат қилади.
Процедура ва функциялар мустақил дастурли объектлар ҳисобланади. Бу мустақил дастурли объектни дастурчи ўз ҳохишига ва ундан олинадиган натижаларига кўра процедура ёки функция кўринишида аниқлаши мумкин. Одатда олинадиган натижа ягона қийматли бўлса функциядан, олинадиган натижалар сони бир нечта бўлса процедурадан фойдаланиш мақсадга мувофиқдир.
Процедуралар ва функцияларни аниқлаш асосий функциядан олдин бажарилади. Процедурадан дастурда фойдаланиш учун унинг исми ва фактик параметрлар рўйхати ёзилади. Шунда процедура ўзига белгиланган ишни бажариб, ўзининг фактик параметрлари орқали асосий дастурга ўз натижасини беради.


<Функция қийматининг типи> <функция номи> ()
{
<Функциянинг танаси>;
}
10.2. Параметрли ва параметрсиз функциялар
Юқорида айтиб ўтганимиздек, процедура ҳисоблаб берган натижалар унинг фактик параметрлари орқали асосий дастурга узатилади. Лекин, айрим пайтларда процедура параметрсиз ҳам бўлиши мумкин. Бу ҳолда асосий дастурнинг барча параметрлари процедура параметрлари ролини бажаради. Параметрсиз процедурада ҳам процедуранинг барча бўлимлари сақланиб қолади, фақат параметрлар рўйхатигина қатнашмайди.
Процедура билан асосий дастурни боғлайдиган асосий фактор бу – процедура параметрларидир. Параметрларни иккита типга ажратилади: қийматли параметрлар (параметр-қиймат), ўзгарувчили параметрлар (пара-метр - ўзгарувчи).
Параметр - қиймат бу процедурани ишлаш жараёнини таъминловчи параметрлар ҳисобланади, яъни асосий дастур қийматларини процедурага узатадиган параметрлардир.
Процедурага мурожаат қилишда формал ва фактик параметрларнинг типлари ўзаро мос келиши керак, акс ҳолда дастур хато тузилган ҳисобланади. Юқоридаги дастурдан кўриниб турибдики, a ва b формал параметрлар ўрнига натижавий қийматлари маълум ифодалар қўйилди. Демак, қийматли фактик параметрлар ўрнига, шу типли натижага эришувчи ифода ёзилиши мумкин. Бундан ташқари, процедурада киритилган a ва b параметрлари фақат процедуранинг ичидагина маънога эга, ташқарида, мисол учун асосий дастурда улар тушунарсиз, қийматлари аниқланмаган миқдорлардир. Шунинг учун, қийматли параметрларга процедура натижаларини ўзлаштириб, асосий дастурга узатиб бўлмайди.
Параметр-ўзгарувчини параметр-қийматдан фарқ қилиш учун процедурани аниқлашдаги параметрлар рўйхатида ўзгарувчи олдидан (&) белгиси қўйилади. Параметр - ўзгарувчидан олдин албатта, унинг типи кўрсатиб қўйилади. Юқорида айтганимиздек, формал параметр - қиймат ўрнига процедурага мурожаат вақтида шу типли ифода ёзиш мумкин бўлса, параметр - ўзгарувчи учун бу ҳол мутлақо мумкин эмас.

Download 478.36 Kb.

Do'stlaringiz bilan baham:
1   ...   14   15   16   17   18   19   20   21   ...   32




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling