Algoritimni loyihalash


Download 0.55 Mb.
Pdf ko'rish
bet4/5
Sana17.06.2023
Hajmi0.55 Mb.
#1549394
1   2   3   4   5
Bog'liq
Bekzod Ro\'ziyev 3-mustaqil ishi algoritimni loyihalash

def f(x): 
return x + 1 
Bu funksiya inyektiv, chunki har bir x qiymati uchun yalniz bitta natija 
mavjud. Masalan f(2) = 3 va f(3) = 4. Mana shu sababli f(2) va f(3) bir-
biridan farqli. 
Bu funksiya ham suryektiv, chunki har qanday sonning quyidagi o`rniga 
haqiqiy son mavjud: 
y = x + 1 
Ya'ni, har bir y qiymatini olish mumkin. 
Endi esa misol kod bilan funksiyalarni sinab ko'ramiz: 
Inyektiv funksiya uchun: 
def inyektiv_funksiya(arr): 


11 
 return list(set(arr)) 
Bu funksiya to`plamdagi elementlarda faqat birinchi bor tavbatrishlarini 
qaytaradi (oyin orqali aytganda, ish kunlari sonlariga misol). 
Suryektiv funksiya uchun: 
def suryektiv_funksiya(arr, m): 
return [i % m for i in range(arr)] 
Bu funksiya tartib qilingan to`plamdan elementlar qabul qilib, 0 dan m - 1 
gacha tartiblanab turadi, bularning ishi shundaki, sonlar orasida bajarilishi 
mumkin bo'lgan martaqli akslantirishini topish. 
Biyektiv funksiya uchun esa: 
def biyektiv_funksiya(arr, m): 
return [(3*i+2) % m for i in arr] 
Bu funksiya odatda o'zgartirishli matnlardan kelib chiqadi. Kodimiz esa 
tartib qilingan toplamdan yaratilgan tartibli toplamni qabul qiladi va 
ularning foydalanish imkoniyatini beradi. 
To'plamlarda qisqartma akslantirishlariga mos funksiyalar Python tilida 
kiritilgan: 
def duz_toq_toplam(arr): 
"To'plamdagi toq sonli indexlardagi elementlarni to'playdi" 
result = 0 
for i in range(len(arr)): 
if i % 2 == 1: 
result += arr[i] 
return result 
 
def juft_toq_toplam(arr): 
 "To'plamdagi juft sonli indexlardagi elementlarni to'playdi" 
result = 0 

Download 0.55 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling