2-savol:
Satrda qiliruv algoritmini (C++ yoki Python) dasturlash tilida yozing va
ishlash tartibini tushuntirib bering.
Javob:
def qiluvchi_algoritmi(satrlar):
natija = ""
for satr in satrlar:
indeks = 0
satr_hajmi = len(satr)
while indeks < satr_hajmi:
if satr[indeks] == '1':
natija += 'a'
indeks += 1
elif satr[indeks] == '0':
if indeks + 1 < satr_hajmi and satr[indeks + 1] == '1':
natija += 'b'
indeks += 2
else:
natija += 'c'
indeks += 1
else:
indeks += 1
return natija
# Test qilish
4
satrlar = ["1001", "0110", "101010"]
natija = qiluvchi_algoritmi(satrlar)
print("Natija:", natija)
Bu kod qiluvchi algoritmini o'z ichiga oladi va u asosiy tartibda quyidagicha
ishlaydi:
1. Har bir satrni o'qib oladi.
2. Har bir harfni tekshiradi:
o
Agar '1' bo'lsa, 'a' qo'shadi.
o
Agar '0' bo'lsa, keyingi harfni tekshiradi:
o
Agar keyingi harf '1' bo'lsa, 'b' qo'shadi va 2 harfni o'tkazadi.
o
Aks holda, 'c' qo'shadi va 1 harfni o'tkazadi.
o
Agar harf raqam emas bo'lsa, tekshiruvni o'tkazadi.
3. Natijani qaytaradi.
3-savol:
To’g’ridan-to’g’ri almashtirish usuli bilan saralash algoritmini yozing va uni
ishlashini tushuntirib bering?
Javob:
To'g'ridan-to'g'ri almashtirish usuli (angl. "Bubble Sort") - bu o'rtacha
tartibda o'zgaruvchilarni bir-biriga solishtirish asosida saralash algoritmi.
Algoritmda har bir takrorlashda yuqori qiymatni pastgi qiymat bilan solishtirib,
yuqoridagi qiymatni tanlangan tartibda joylashtiradi. Bu takrorlash davom etib,
ro'yxat to'la tartiblangan bo'lguncha jarayon tugaydi.
Quyidagi Python kodi to'g'ridan-to'g'ri almashtirish usulini tushuntiradi:
def togridan_togri_almashtirish(arr):
n = len(arr)
5
for i in range(n):
for j in range(0, n-i-1):
# Har bir elementni keyingi element bilan solishtiramiz
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
# Test qilish
raqamlar = [64, 34, 25, 12, 22, 11, 90]
print("Boshlang'ich ro'yxat:", raqamlar)
togridan_togri_almashtirish(raqamlar)
print("Tog'ridan-to'g'ri saralangan ro'yxat:", raqamlar)
|