ҚАЗАҚСТАН РЕСПУБЛИКАСЫ ҒЫЛЫМ ЖӘНЕ ЖОҒАРЫ БІЛІМ МИНИСТРЛІГІ
Коммерциялық емес акционерлік қоғам
«Ғ. Ж. ДӘУКЕЕВ атындағы
АЛМАТЫ ЭНЕРГЕТИКА ЖӘНЕ БАЙЛАНЫС УНИВЕРСИТЕТІ»
«IT-инжиниринг» кафедрасы
« Алгоритмдеу және бағдарламалау негіздері» пәні бойынша
№7 ЗЕРТХАНАЛЫҚ ЖҰМЫС
Жұмыстың тақырыбы: САН ТІЗБЕКТЕРІН ҚҰРАСТЫРУ ЖӘНЕ ПАЙДАЛАНУ
Мамандығы: Электроэнергетикалық жүйелер
Орындаған: Шынбулатов Нурсат Сулименович
Тобы: ЭЭСк – 21 – 1
Тексерген: Саметова А.А.
Алматы, 2022ж.
Зертханалық жұмыс № 7.
САН ТІЗБЕКТЕРІН ҚҰРАСТЫРУ ЖӘНЕ ПАЙДАЛАНУ
Жұмыстың мақсаты: Программалауда жиі қолданылатын сан тізбектерін құрастырудың тәсілдерін қарастыру мен пайдалануға машықтану.
Әдістемелік нұсқаулар мен жаттығулар. Мысал ретінде төменде келтірілген жатығуларды компьютерде орындап, осында келтірілген есептердің алгоритмдеріне талдау жасау керек. Мұнда әртүрлі сан тізбектерін құрастрыуға бағытталған комбинаторика және статистиканың кейбір қарапайым есептерінің алгоритмдері мен программалары келтірілген.
10. Сандарды генерациялау. Сандардың тізімін бір жолға шығару керек болса, онда тізімді генерациялау (list comprehension) тәсілін пайдалануға болады. Келесі қарапайым мысал қарастырылсын:
m =7
ulestirus=[value for value in range(1,m)]
print(ulestirus)
Мысалдың жауабы:
[1, 2, 3, 4, 5, 6]
20. Орналастыру санын есептеу. Комбинаторикада орналастыру санын есептеу туралы есеп қарастырылған болатын: 𝐴𝑚𝑛=𝑚!(𝑚−𝑛)!. Мысал ретінде 𝑚=7,𝑛=4 болатын жағдай қарастырылсын. Есептеу программасын келесі түрде жазуға болады:
m,n = 7,4
r=m-n
k, a = 1,1
while k<=m: # 𝑚! Факториалды есептеу циклы
a=a*k
k+=1
print('a=',a)
b, k =1,1
while k<=r: # (𝑚−𝑛)! Факториалды есептеу циклы
b=b*k
k+=1
print('b=',b)
c=a/b # 𝐴𝑚𝑛 Орналастыру санын есептеу
print ('c=',c)
Есептің жауабы:
a= 5040
b= 6
c= 840.0 # 𝐶𝑚𝑛 Орналастыру саны
30. Алмастыру санын есептеу: 𝑃(𝑛)=𝐴𝑛𝑛=𝑛! Жеке жағдай 𝑛=7 қарастырылсын, оның программасы келесі түрде жазылады:
n = 7
k, a = 1,1
while k<=n:
a=a*k
k+=1
print('a=',a)
Жауабы:
a= 1
a= 2
a= 6
a= 24
a= 120
a= 720
a= 5040
40. Теру сандары: 𝐶𝑚𝑛=𝑚!!(𝑚−𝑛)!. Келесі 𝑚=10,𝑛=7 болатын теру санын есептеудің программасы:
m, n = 10, 7
k, a = 1,1
while k<=n:
a=a*(m-k+1)/k
k+=1
print('a=',a)
Жауабы:
a= 10.0
a= 45.0
a= 120.0
a= 210.0
a= 252.0
a= 210.0
a= 120.0
50. Ньютон биномының коэффициенттері: 𝐶𝑚𝑛=𝑚!!(𝑚−𝑛)!
m=7
k ,c =1,1
numbers = [1.0]
while k<=m:
c=c*(m-k+1)/k
number=c
numbers.append(number)
k+=1
print(numbers)
Жауабы:
[1.0, 7.0, 21.0, 35.0, 35.0, 21.0, 7.0, 1.0]
60. Паскаль үшбұрышы: 𝐶𝑚𝑘=𝑚!𝑛!(𝑚−𝑘)!, 𝑛=10; 𝑚=1,2,3,...,𝑛;𝑘=1,2,3,...,𝑚.
n=10
numbers=[1.0]
print(numbers)
for i in range (1,m):
c=1
k=1
numbers=[1.0]
while k<=i:
c=c*(i-k+1)/k
number=c
numbers.append(number)
k+=1
print(numbers) [1.0]
Есептің жауабы:
[1.0]
[1.0, 1.0]
[1.0, 2.0, 1.0]
[1.0, 3.0, 3.0, 1.0]
[1.0, 4.0, 6.0, 4.0, 1.0]
[1.0, 5.0, 10.0, 10.0, 5.0, 1.0]
[1.0, 6.0, 15.0, 20.0, 15.0, 6.0, 1.0]
[1.0, 7.0, 21.0, 35.0, 35.0, 21.0, 7.0, 1.0]
[1.0, 8.0, 28.0, 56.0, 70.0, 56.0, 28.0, 8.0, 1.0]
[1.0, 9.0, 36.0, 84.0, 126.0, 126.0, 84.0, 36.0, 9.0, 1.0]
70. Сызықтық регрессия теңдеуі: Эксперимент немесе статистика мәліметтері бойынша көрсеткіштер арасындағы функциялық байланыс регрессия теңдеуі деп аталынады. Егер ол теңдеу сызықтық болса, онда сызықтық регерессия теңдеуі деп аталынады. Төменде берілген мәліметтер бойынша көрсеткіштер 𝑥 пен 𝑦 арасындағы сызықтық байланысты табу керек болсын. Ол регрессия теңдеуі келесі түрде ізделінеді:
𝑦 = 𝑎 ∙ 𝑥 + 𝑏.
Есепті шешудің программасы:
xs=[1,2,4,5,7,8,10,12,14,15]
ys=[2.5, 4.2, 7.3, 9.5, 11.4, 13.8, 15.9, 18.5, 19.1, 20.0]
s1=sum(xs)
s4=sum(ys)
print('s1=',s1, 's4=',s4)
zs=[]
for x in xs:
z=x*x
zs.append(z)
print('zs=',zs)
s2=sum(zs)
print('s2=',s2)
us=[]
k=0
while k<=9:
x=xs[k]
y=ys[k]
u=x*y
us.append(u)
k+=1
print('us=',us)
s3=sum(us)
print('s3=',s3)
d=10*s2-s1*s1
a=(10*s3-s1*s4)/d
b=(s4*s2-s1*s3)/d
print('a=',a, 'b=',b)
Есептің жауабы:
s1= 78 s4= 122.20000000000002
zs= [1, 4, 16, 25, 49, 64, 100, 144, 196, 225]
s2= 824
us= [2.5, 8.4, 29.2, 47.5, 79.8, 110.4, 159.0, 222.0, 267.4, 300.0]
s3= 1226.2
a= 1.2664192949907225 b= 2.3419294990723616
>>>
Өзбетімен орындауға арналған тапсырмалар:
№ 1. Тізбек құрастыру керек. Берілгені 𝑎1 = 1 және 𝑎2 = 1. Бұл сандар құрастырылатын тізбектің алғашқы элементтері. Тізбектің келесі элементтері мынадай формуламен анықталады:
𝑎𝑘 = 3 ∙ 𝑎𝑘−1 + 2 ∙ 𝑎𝑘−2 − 1, 𝑘 = 3, 4, 5, . . . , 9.
Осы тізбектің барлық тоғыз элементтерінің мәндерін тауып, экранға шығару керек.
№ 2. Берілгені натурал сан 𝑛 = 10. Келесі өрнектің мәнін есептеу керек:
𝑠 = 1 ∙ 2 + 2 ∙ 3 ∙ 4 + 3 ∙ 4 ∙ 5 ∙ 6+ . . . +𝑛 ∙ (𝑛 + 1) ∙ (𝑛 + 2). . .∙ 2 ∙ 𝑛
Достарыңызбен бөлісу: |