O‘zbekiston respublikasiaxborot texnologiyalari va
Download 245.46 Kb.
|
Mirqosimov Mirsaid (1)
O‘ZBEKISTON RESPUBLIKASIAXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI SAMARQAND FILIALI "Axborot texnologiyalari" kafedrasi Mustaqil ta’lim ish hisoboti Fan-“ Ma’lumotlar tuzilmasi va algoritmlar ” DI21-10 -guruh talabasi Mirqosimov Mirsaid O’qituvchi : Fayzullayev M.A 3-Amaliy topshiriq 1. Haqiqiy sonlar massivi berilgan barcha mumkin bo'lgan murakkab raqamlarni chop etish uchun rekursiyadan foydalanadigan Python dasturiga misol: def print_complex_numbers(real_numbers, imaginary_numbers, index=0):
real_numbers = [1, 2, 3] imaginary_numbers = [4, 5, 6] print_complex_numbers(real_numbers, imaginary_numbers) # Output: # 1 + 4i # 1 + 5i # 1 + 6i # 2 + 4i # 2 + 5i # 2 + 6i # 3 + 4i # 3 + 5i # 3 + 6i Bu dasturda print_complex_numbersfunktsiya ikkita haqiqiy sonlar massivini va ixtiyoriy indeksni kiritish sifatida qabul qiladi, u sukut bo'yicha 0 ga teng. Funksiya avval joriy indeks birinchi massiv uzunligiga teng yoki yo'qligini tekshiradi, bu holda u qaytadi. Agar joriy indeks massivning oxiri bo'lmasa, funktsiya for tsiklidan foydalanadi va ikkinchi massivni takrorlaydi va birinchi massiv va ikkinchi massivning joriy indeksining har bir mumkin bo'lgan kombinatsiyasini chop etadi. Shundan so'ng, funktsiya o'zini oshirilgan indeks va bir xil ikkita massiv bilan rekursiv chaqiradi. 2. Satrdagi unli harflarni sanash dasturini tuzing? (Dastur iterative va rekursiv usulda bajarilib qadamlar soni bo’yicha tahlil qiling.) 3. Satrdagi birinchi bosh harfni aniqlash uchun rekursiyadan foydalanadigan Python dasturiga misol: def first_capital_letter(string, index=0): if index == len(string): return None if string[index].isupper(): return string[index] return first_capital_letter(string, index+1) string = "Hello World" print(first_capital_letter(string)) # Output: "H" Bu dasturda first_capital_letterfunktsiya kiritish sifatida satr va ixtiyoriy indeksni oladi, u sukut bo'yicha 0 ga teng. Funksiya avval joriy indeks satr uzunligiga teng yoki yo'qligini tekshiradi, bu holda u ni qaytaradi None. Agar joriy indeks satrning oxiri bo'lmasa, funktsiya joriy indeksdagi belgining katta harf yoki yo'qligini isupper()usul yordamida tekshiradi. Agar shunday bo'lsa, funktsiya belgini qaytaradi. Agar shunday bo'lmasa, funktsiya o'zini oshirilgan indeks bilan rekursiv chaqiradi. Ushbu dastur kiritilgan satrning birinchi bosh harfini topguncha rekursiv ishlaydi.
function firstNumberInLine(arr) { for (let i = 0; i < arr.length; i++) { if (arr[i] !== undefined) { return arr[i]; } } } // Rekursiv usul: function firstNumberInLine(arr, i = 0) {
1. Birinchi qadam: Raqamni aniqlash dasturini ishga tushirish. 2. Ikkinchi qadam: Uning qadamina taklif qilinadigan so'rovi aniqlamoq. 3. Uchinchi qadam: Raqamni aniqlamoq. 4. To'rtta qadam: Bir yangi raqamlardan yuqori raqamlardan iborat raqamni aniqlamoq. 5. Beshinchi qadam: Raqamni aniqlash tartibi bilan bir yangi raqamlardan tashqarida bajarish. 6. Oltinchi qadam: Raqamni aniqlashni boshlash uchun xorijiy fonksiyani chaqirish. 7. Yetti qadam: Saqlanadigan raqamni bazadan ko'rib chiqish. 8. Sakkizinchi qadam: Raqamni aniqlashni yakunlab qo'yish. 5. 5.def solve(n): global ans if n>0: q=n%2 n=n//2 ans.append(q) solve(n) ans=[] n=int(input()) solve(n) for i in ans[::-1]: print(i,end='') 6. def reverse_list_iterative(lst): start = 0 end = len(lst) - 1 while start < end: lst[start], lst[end] = lst[end], lst[start] start += 1 end -= 1 return lst lst = [1, 2, 3, 4, 5] print(reverse_list_iterative(lst)) # Output: [5, 4, 3, 2, 1] 7. #include int main () { int k[100]; int i,n; cout<<" sonini kiriting="; cin>>n; for ( i=1; i<=n; i++) cin>>k[i]; for (i=1; i<=n; i+=2) { cout<<"k["<system("pause"); return 0; } Download 245.46 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling