Муҳаммад ал-Хоразмий номидаги тату самарқанд филиали


Download 294.57 Kb.
bet1/2
Sana24.01.2023
Hajmi294.57 Kb.
#1118040
  1   2
Bog'liq
Дастурлаш 10.1 машгулот


Муҳаммад ал-Хоразмий номидаги ТАТУ Самарқанд филиали
Лаборатория машғулотлари

ФАН





ДАСТУРЛАШ (С++)

Ҳафта рақами





10

Машғулот мазмуни




функцияларга доир оддий дастурлар яратиш.

Мақсад:




  1. С++ да формал параметрли функциялар тўғрисида маълумотларга эга бўлиш;


  2. Қиймат қайтарувчи ва қиймат қайтармайдиган функцияларни ўрганиш;

  3. С++ да функцияларга ёрдамида оддий дастурлар тузиш.


Функциялар. Функциялар кўп маротаба ишлатиладиган дастур кодларини соддалаштириш учун қўлланилади.
Мисол учун: Сиз 1 дан 10 гача, 20 дан 37 гача, 35 дан 49 гача бўлган сонларнинг йиғиндисини ҳисоблаш учун дастур кодини қуйидагича ёзишимиз мумкин.


  1. #include


  2. using namespace std;


  3. int main()

  4. {


  5. int sum = 0;

  6. for (int i = 1; i <= 10; i++)

  7. sum += i;

  8. cout << "1 dan 10 gacha bo'lgan sonlar yig'indisi = " << sum << endl;

  9. sum = 0;

  10. for (int i = 20; i <= 37; i++)

  11. sum += i;

  12. cout << "20 dan 37 gacha bo'lgan sonlar yig'indisi = " << sum << endl;

  13. sum = 0;

  14. for (int i = 35; i <= 49; i++)

  15. sum += i;

  16. cout << "35 dan 49 gacha bo'lgan sonlar yig'indisi = " << sum << endl;

  17. }

аҳамият берган бўлсангиз йиғиндини ҳисоблаш жараёни учун ёзилган дастур коди бир-бирига ўхшаш фақат фарқли томони эса бошланғич ва охирги қийматларидир. Агарда, мазкур дастур учун умумий битта код ёзиб ёни такроран ишлата олсак жуда ҳам қулай бўлар эди? Буни иложи бор, бунинг учун биз функция яратамиз ва дастур давомида чақириб ишлатамиз.

Юқоридаги дастур кодини қуйидагича соддалаштиришимиз мумкин:


  1. #include

  2. #include


  3. using namespace std;


  4. int summa(int i1, int i2) {

  5. int summa=0;

  6. for (int i = i1; i <= i2; i++){

    1. summa+=i;

  7. }

  8. return summa;

  9. }


  10. int main()

  11. {


  12. cout << "1 dan 10 gacha bo'lgan sonlar yig'indisi = " << summa(1,10) << endl;

  13. cout << "20 dan 37 gacha bo'lgan sonlar yig'indisi = " <

  14. cout << "35 dan 49 gacha bo'lgan sonlar yig'indisi = " <

  15. }

6-11 сатрларда номи summa ва аргументлари i1 ва i2 бўлган функция яратилган. Асосий функциядаги summa(1,10) эса мазкур функцияни чақириш орқали 1 дан 10 гача бўлган сонларнинг йиғиндисини ҳисобламоқда. Худди шундай summa(20,37)20 дан 30 гача бўлган сонлар йиғиндисини summa(35,49) 35 дан 49 гача бўлган сонлар йиғиндисини ҳисоблаш учун ишлатилмоқда.


Функцияни эълон қилиш. Функцияни эълон қилиш учун функциянинг номи, аргументлари, қайтарилувчи қиймат тури ва функция танасини киритамиз.
Функциянинг эълон қилиш синтаксиси қуйидагича:

qaytuvchiQiymatTuri funksiyaNomi(argumentlarRuyxati)


{
// Funksiya tanasi;
}

Мисол учун иккита соннинг максимумини топувчи функцияни қараб чиқамиз. Мазкур функциянинг номи maks ва иккита аргументлари son1 ва son2 ва уларнинг максимуми функция томонидан қайтарилади. Қуйида мазкур функцияни кўриб чиқамиз:






Download 294.57 Kb.

Do'stlaringiz bilan baham:
  1   2




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