O‘zbekiston respublikasi axborot texnologiyalari va kommunikatsiyalarini rivojlantirish vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti samarqand filiali kafedra Kompyuter injineringi




Download 311.73 Kb.
Sana20.12.2023
Hajmi311.73 Kb.
#125240
Bog'liq
topshiriq 4
Worda 13.12.2022 5a, 7a Sonlarni bir sanoq sistemasidan boshqa sanoq sistemasiga o’tkazi, test, 9-sinf informatika(15 ta test), 9mmavzu, 2oqsillar, 451, 2, Mustaqil ish mavzulari (2), ISHCHI, Olimpiada Beydjik, Web dasturlash va dizayn yakuniy nazorat test savollari. 1-variy, «Raqamli qurilmalarni lоyihalashga kirish» fanidan test savollar, Kompyuterlarni tarmoqqa ulashning asosiy maqsadi nima

O‘ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI SAMARQAND FILIALI

Kafedra Kompyuter injineringi
Ma’lumotlar tuzilmasi va algoritmlar fanidan


Mustaqil ish

Bajardi: Bahramov Sherzod


Tekshirdi:

Samarqand-2023


Agar 2 ta guruhdagi talabalarning familiyalaridan tashkil topgan 2 ta ro'yhat berilgan bo'lsa, birinchi guruhdan L ta talaba ikkinchi guruhga o'tkazish jarayoni quyidagi ko'rinishda bo'lishi mumkin:

```python
def talabalarni_o_tkazish(guruh1, guruh2, L):
if L > len(guruh1):
print("Xatolik: Birinchi guruhda yetarli talablar yo'q.")
return

o_tkazilganlar = guruh1[:L]
guruh2.extend(o_tkazilganlar)
del guruh1[:L]

print(f"{L} ta talaba ikkinchi guruhga o'tkazildi.")
print("Birinchi guruhdagi yangi holati:", guruh1)
print("Ikkinchi guruhdagi yangi holati:", guruh2)

# Misol ro'yhatlari
birinchi_guruh = ["Ismoilov", "Abdullayev", "Saidov", "Tursunov", "Urunov"]
ikkinchi_guruh = ["Xakimov", "Usmanov", "Mamadaliyev", "Olimov"]

# Talabalarni o'tkazish
L = 2 # O'tkazish uchun talaba soni
talabalarni_o_tkazish(birinchi_guruh, ikkinchi_guruh, L)
```

Bu dastur quyidagi jarayoni bajaradi:


1. Agar birinchi guruhda L dan kam talaba bo'lsa, xatolik xabari chiqadi.
2. Aks holda, birinchi guruhdan L ta talaba o'tkaziladi va ular ikkinchi guruhga qo'shiladi.
3. Yangi holat ekranga chiqariladi.

Misol kodida `birinchi_guruh` va `ikkinchi_guruh` nomli ro'yhatlar kiritilgan. `L` - o'tkazish uchun talabalar sonini anglatadi. `talabalarni_o_tkazish` funksiyasi esa buni amalga oshiradi va yangi holatni ekranga chiqaradi.


2.Agar guruh talabalari olgan baholari (beshliklar, to'rtliklar, uchliklar) bo'yicha ro'yxatni stek (LIFO) qoidasi asosida shakllantirishni istaysiz, quyidagi kodni foydalanishingiz mumkin:



```python
class Guruh:
def __init__(self):
self.talabalar = []

def baholash_qo'shish(self, talaba, baho):
self.talabalar.append({"talaba": talaba, "baho": baho})

def olish(self):
if not self.talabalar:
return None
talaba_info = self.talabalar.pop()
return talaba_info

# Misol
guruh = Guruh()

# Talabalarni baholash
guruh.baholash_qo'shish("Ismoilov", 5)
guruh.baholash_qo'shish("Abdullayev", 4)
guruh.baholash_qo'shish("Saidov", 3)
guruh.baholash_qo'shish("Tursunov", 4)

# Talabalarni olish va ekranga chiqarish
while True:
talaba_info = guruh.olish()
if talaba_info is None:
break
talaba = talaba_info["talaba"]
baho = talaba_info["baho"]
print(f"{talaba} ga berilgan baho: {baho}")
```

Bu kodda, `Guruh` nomli class yaratilgan va unda talabalar va ularning baholari saqlanadi. `baholash_qo'shish` metodi orqali guruhga yangi talabalar va baholar qo'shilib, `olish` metodi yordamida guruhdan talabalarni stek qoidasi bo'yicha olish mumkin.



Misol kodida talabalar va ularning baholari kiritilgan, so'ngra stek qoidasi bo'yicha talabalarni olish va ularning baxolari ekranga chiqarilgan.

Download 311.73 Kb.




Download 311.73 Kb.

Bosh sahifa
Aloqalar

    Bosh sahifa



O‘zbekiston respublikasi axborot texnologiyalari va kommunikatsiyalarini rivojlantirish vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti samarqand filiali kafedra Kompyuter injineringi

Download 311.73 Kb.