"Kompyuter injiniring" kafedrasi at-servis yo’nalishi 21-06 gurh talabasi Karimov Abdullatifning



Yüklə 65,93 Kb.
səhifə2/5
tarix11.10.2023
ölçüsü65,93 Kb.
#153800
1   2   3   4   5
Karimov Abdullatif algoritmlarni loy 1

2. Amaliy mashg’ulot topshiriq
Masala:
Berilgan N sonining juft bo'luvchilari sonini topish algoritm va dasturini tuzing.


Yechilishi:
Berilgan sonning juft bo'luvchilari sonini topish uchun quyidagi algoritmani va dasturni tuzish mumkin:
Algoritm:
Sonning juftligini tekshirish uchun, berilgan sonning 2 ga bo'linishidan qoldiqsiz qoladi yoki yo'qligi aniqlanadi.
Qoldiqsiz qolgan sonni ro'yxatga qo'shish uchun bo'sh ro'yxat yaratiladi.
Ro'yxatda birinchi element sifatida berilgan sonning juftligini tekshirish uchun yuqoridagi qadamni qayta ishga tushirish.
Ro'yxatdagi elementlar tugaguncha 2- dan berilgan sonning yarimiga qoldiqsiz bo'linuvchilar aniqlanib, ro'yxatga qo'shiladi.
Ro'yxatdagi elementlar tugaguncha aniqlangan juft bo'luvchilari sonini chiqarish uchun ro'yxat uzunligi hisoblanadi.
Juft bo'luvchilari soni chiqariladi va dasturdan chiqish amalga oshiriladi.

Dastur:
def juft_bo_luvchi_topish(n):


juft_sonlar = []
if n % 2 == 0:
juft_sonlar.append(n // 2)
for i in range(2, n // 2 + 1, 2):
if n % i == 0:
juft_sonlar.append(i)
print("Berilgan sonning juft bo'luvchilari soni: ", len(juft_sonlar))
return juft_sonlar
Bu dastur berilgan sonning juft bo'luvchilari sonini topadi va ro'yxat sifatida chiqaradi. Dasturni quyidagi shaklda ishlatishingiz mumkin:

n = 24
juft_bo_luvchi_topish(n)


Natija: Berilgan sonning juft bo'luvchilari soni: 4


Natijadagi ro'yxat: [2, 4, 6, 12]


2-topshiriq
Butun sonlardan iborat NxM o’lchamli matritsa berilgan. Bu matritsani gorizontalga nisbatan ko’chirilgan holatda chiqaring.

Matritsaning barcha qatorlarini gorizontalga nisbatan o'girish kerak. Buning uchun o'girish paytida har bir qatordan foydalanish kerak.

Dastur quyidagicha yozilishi mumkin:


# NxM o'lchamli matritsa
matrix = [
[3, 4],
[5, 9, 2, 6],
[6, 2, 4, 3],
[1, 2, 8, 7]
]

# Gorizontalga nisbatan o'girish


for i in range(len(matrix)):
matrix[i] = matrix[i][::-1]

# Matritsaning chap tarafi chiqariladi


for row in matrix:
for element in row:
print(element, end=" ")
print()

Dastur natijasi:


7 8 2 1
3 4 9 5
3 4 2 6
7 8 2 1



Yüklə 65,93 Kb.

Dostları ilə paylaş:
1   2   3   4   5




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin