|
O‘zbekiston respublikasi axborot texnologiyalari va kommunikatsiyalarini rivojlantirish vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti samarqand filiali kafedra Kompyuter injineringi
|
Sana | 20.12.2023 | Hajmi | 311.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.
|
|
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
|