5. Operatorlar
Download 109.39 Kb.
|
05.Operatorlar
5.2. Takrorlash operatorlarifor takrorlash operatori. Sikl operatorlari ayni bir koʻrsatmalarni koʻp bor bajarish imkonini beradi. Faraz qilaylik 1 dan 100 gacha sonlarni satrda bittadan chiqarish zarur. Oddiy yoʻl bilan 100 ta satr kodi yozish zarur boʻladi: cout << 1 << endl; cout << 2 << endl; cout << 100 << endl; Sikl yordamida bu amallarni bitta satr kodi yordamida bajarish mumkin: for(int i = l; i <= 100; i++) cout << i << endl; for siklidan ifodalarni ma’lum bir sonda bajarish uchun foydalaniladi. Sikl quyidagicha formatga ega: for( } for sikli ishining ketma ketligi quyidagicha: Oʻzgaruvchi-hisoblagichga boshlangʻich qiymat beriladi. Shart tekshiriladi, agar u rost boʻlsa sikl ichidagi ifodalar bajariladi, aks holda siklning bajarilishi tugallanadi. Oʻzgaruvchi-hisoblagich 2-punktga qaytadi. Oʻzgaruvchi-hisoblagich sikldan tashqarida yoki int i; // Sikldan tashqaridagi e'lon for(i = 1; i <= 20; i++) { cout << i << endl; } // ‘i’ o'zgaruvchi sikldan tashqarida ko'rinadi cout << i << endl; // Sikl ichida e'lon qilish for(int j = 1; j <= 20; j++) { cout << j << endl; } // ‘j’ o'zgaruvchi sikldan tashqarida ko'rinmaydi int k = 1; // Sikldan tashqarida nomlash for(; k <= 20; k++) { cout << k << endl; } Sikl for(int i = 1, j = 10 + 30; i <= j; i++) { cout << i << endl; } for(int i = 100; i > 0; i--) { // 100 dan 1 gacha sonlarni chiqaramiz cout << i << endl; } // 1 dan 100 gacha juft sonlarni chiqaramiz for(int j = 2; j <= 100; j += 2) { cout << j << endl; } Agar ozgaruvchi-hisoblagich sikl ichida oʻzgarsa, u hoda for(int i = 1; i <= 10;) { cout << i << endl; i++; // Orttirma } for siklining barcha barametrlari va sikl ichidagi koʻrsatmalar majburiy hisoblanmaydi. Parametrlarni koʻrsatish shart boʻlmasa ham, nuqtali vergul boʻlishi shart. Barcha parametrlar koʻrsatilmasa, sikl cheksiz boʻladi. Cheksiz sikldan chiqish uchun break operatoridan foydalanish lozim. #include int i = 1; // for(; ;) { // Cheksiz sikl if(i <= 10) { // cout << i << endl; i++; // } else { break; } // Sikldan chiqamiz } while takrorlash operatori. while siklida ifodalarning bajarilishi mantiqiy ifoda rost boʻganda davom etadi. Sikl quyidagicha formatga ega: while } while siklining bajarilish ketma-ketligi: Oʻzgaruvchi-hisoblagichga boshlangʻich qiymat oʻzlashtiriladi. Shart tekshiriladi, agar u rost boʻlsa sikl ichidagi koʻrsatmalar bajariladi, aks holda siklning bajarilishi tugallanadi. Oʻzgaruvchi-hisoblagich 2-punktga oʻtiladi. while siklidan foydalangan hola 1 dan 100 gacha boʻlgan barcha sonlarni chiqaramiz: int i = 1; // while(i <= 100) { // cout << i << endl; // ++i; // } Agar do … while takrorlash operatori. do...while siklida ifodalarning bajarilishi mantiqiy ifoda rost boʻganda davom etadi. while siklidan farqli ravishda shart sikl boshida emas, oxirida tekshiriladi. Shi sabsbli, do...while ichidagi koʻrsatmalar hech boʻlmaganda bir marta bajariladi. Sikl quyidagicha formatga ega: do { } while( do...while siklining bajarilish ketma-ketligi: Oʻzgaruvchi-hisoblagichga boshlangʻich qiymat oʻzlashtiriladi. Sikl ichidagi koʻrsatmalar bajariladi. Oʻzgaruvchi-hisoblagich Shart tekshiriladi, agar u rost boʻlsa, 2-punktga oʻtiladi, aks holda siklning bajarilishi tugallanadi. do...while siklidan foydalangan hola 1 dan 100 gacha boʻlgan barcha sonlarni chiqaramiz: int i = 1; // do { cout << "i = " << i << endl; // ++i; // } while(i <= 100); // Agar Rekursiya. Rekursiya – bu funksiyaning oʻzini oʻzi chaqirish imkoniyati. Funksiyaning har bir chaqirilishida lokal oʻzgaruvchilarning yangi toʻplami yaratiladi. Rekursiyadan avvaldan noaniq tarkibga ega boʻlgan obyektni saralash, amallarning noma’lum sonda bajarilishi uchun foydalanish qulay. Rekursiyani qo‘llashning tipik misoli faktorialni hisoblash hisoblanadi. #include unsigned long long factorial(unsigned long n); int main() { // Faktorialni hisoblash dasturi for(int i = 3; i < 11; ++i) { cout << i << "! = " << factorial(i) << endl; } cin.get(); return 0; } unsigned long long factorial(unsigned long n) { if(n <= 1) return 1; else return n * factorial(n-1); } Dasturning bajarilishi natijasi: Download 109.39 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling