Алгоритм – бул белгилүү бир маселени чечүү үчүн аткарылуучу иш-аракеттердин так жана ырааттуу тизмеси.
Көнүгүүлөр
1. Үч сандын орточо арифметикалык маанисин эсептеген сызыктуу алгоритм жазыңыз.
a = float(input("Биринчи санды киргизиңиз: "))
b = float(input("Экинчи санды киргизиңиз: "))
c = float(input("Үчүнчү санды киргизиңиз: "))
ortoсho = (a + b + c) / 3
print("Орточо арифметикалык мааниси:", ortocho)
2. Киргизилген сан оң, терс же нөл экенин аныктаган тармактануу алгоритмин түзүңүз.
san = float(input("Санды киргизиңиз: "))
if san 0:
print("Бул сан оң.")
elif san
print("Бул сан терс.")
else:
print("Бул сан нөлгө барабар.")
3. 1ден 100гө чейинки жуп сандарды чыгарган кайталануучу алгоритм жазыңыз.
i = 2 # Жуп сандар 2ден башталат
while i
print(i)
i = i + 2 # Кийинки жуп санга өтүү
4. Киргизилген үч сандын эң кичинесин табуу үчүн тармактануу алгоритмин блок-схема түрүндө түзүңүз.
a = float(input("Биринчи санды киргизиңиз (a): "))
b = float(input("Экинчи санды киргизиңиз (b): "))
c = float(input("Үчүнчү санды киргизиңиз (c): "))
# Эң кичине санды табуу (тармактануу менен)
if a
min_san = a
elif b
min_san = b
else:
min_san = c
print("Эң кичине сан:", min_san)
5. Берилген санды 2ге, 3кө жана 5ке бөлүнүштүүлүгүн текшерүү үчүн тармактануу алгоритмин түзүңүз.
(Мисалы: 15 саны - 3кө жана 5ке бөлүнөт, 2ге бөлүнбөйт)
n = int(input("Санды киргизиңиз: "))
if n % 2 == 0:
print("Сан 2ге бөлүнөт.")
else:
print("Сан 2ге бөлүнбөйт.")
if n % 3 == 0:
print("Сан 3кө бөлүнөт.")
else:
print("Сан 3кө бөлүнбөйт.")
if n % 5 == 0:
print("Сан 5ке бөлүнөт.")
else:
print("Сан 5ке бөлүнбөйт.")
6. Киргизилген сандын факториалын эсептөөчү кайталануучу алгоритм түзүңүз.
(Мисалы: 5! = 1 * 2 * 3 * 4 * 5 = 120)
n = int(input("Санды киргизиңиз: "))
faktor = 1 # Баштапкы мааниси
for i in range(1, n + 1):
faktor *= i # Факториалды эсептөө
# Натыйжаны чыгаруу
print(f"{n}! = {faktor}")
7. Фибоначчи сериясынын биринчи n мүчөсүн чыгаруучу алгоритм жазыңыз.
(Фибоначчи сериясы: 1, 1, 2, 3, 5, 8, 13, 21, ...)
n = int(input("Фибоначчи сериясынын канча мүчөсүн чыгаралы? "))
# Баштапкы эки мүчө
a, b = 1, 1
# Фибоначчи мүчөлөрүн чыгаруу
for i in range(n):
print(a, end=' ')
a, b = b, a + b
8. Киргизилген үч бурчтуктун тең капталдуу, тең жактуу же ар түрдүү жактуу экенин аныктоочу тармактануу алгоритмин түзүңүз.
# Колдонуучудан үч капталдын узундугун алуу
a = float(input("a капталынын узундугу: "))
b = float(input("b капталынын узундугу: "))
c = float(input("c капталынын узундугу: "))
# Үч бурчтук шартын текшерүү (үч каптал бири-бирине жараша болуш керек)
if a + b c and a + c b and b + c a:
# Үч бурчтуктун түрүн аныктоо
if a == b == c:
print("Бул тең жактуу үч бурчтук.")
elif a == b or a == c or b == c:
print("Бул тең капталдуу үч бурчтук.")
else:
print("Бул ар түрдүү жактуу үч бурчтук.")
else:
print("Мындай үч бурчтук болушу мүмкүн эмес!")
9. 1ден n ге чейинки сандардын ичинен жөнөкөй сандарды табуучу алгоритм түзүңүз.
(Жөнөкөй сан - 1 жана өзүнө гана бөлүнгөн сан)
# Колдонуучудан n алуу
n = int(input("n санын киргизиңиз: "))
print(f"1ден {n}ге чейинки жөнөкөй сандар:")
for i in range(2, n + 1):
is_prime = True
for j in range(2, int(i**0.5) + 1): # оптималдаштырылган текшерүү
if i % j == 0:
is_prime = False
break
if is_prime:
print(i, end=' ')
10. Киргизилген сандын цифраларынын суммасын эсептөөчү алгоритм түзүңүз.
(Мисалы: 123 үчүн жооп 6 болот, себеби 1+2+3=6)
# Колдонуучудан сан алуу
n = int(input("Санды киргизиңиз: "))
# Терс сандар үчүн оң кылып алабыз
n = abs(n)
summa = 0 # Сумманын баштапкы мааниси
while n != 0:
digit = n % 10 # Акыркы цифраны алуу
summa += digit # Суммага кошуу
n = n // 10 # Акыркы цифраны алып салуу
print("Цифраларынын суммасы:", summa)
11. Эки сандын эң чоң жалпы бөлүүчүсүн (ЭЧЖБ) табуучу алгоритм түзүңүз.
(Мисалы: 12 жана 18 үчүн ЭЧЖБ = 6)
# Колдонуучудан эки сан алуу
a = int(input("Биринчи санды киргизиңиз: "))
b = int(input("Экинчи санды киргизиңиз: "))
# Евклид алгоритми
while b != 0:
a, b = b, a % b
print("Эки сандын ЭЧЖБсы:", a)
12. 1ден n ге чейинки так сандардын орточо арифметикалык маанисин эсептөөчү алгоритм жазыңыз.
# Колдонуучудан n алуу
n = int(input("n санын киргизиңиз: "))
summa = 0
count = 0
# Так сандарды текшерүү жана кошуу
for i in range(1, n + 1):
if i % 2 != 0:
summa += i
count += 1
# Орточо арифметикалык маанини эсептөө
if count 0:
average = summa / count
print("Так сандардын орточо арифметикалык мааниси:", average)
else:
print("Так сандар табылган жок.")
13. Киргизилген жылдын узак жыл экенин текшерүүчү тармактануу алгоритмин түзүңүз.
(Узак жыл - 4кө бөлүнөт, 100гө бөлүнбөйт, бирок 400гө бөлүнүшү керек)
# Колдонуучудан жылды алуу
y = int(input("Жылды киргизиңиз: "))
# Узак жылды текшерүү
if y % 4 == 0:
if y % 100 != 0 or y % 400 == 0:
print(f"{y} жылы узак жыл.")
else:
print(f"{y} жылы узак жыл эмес.")
else:
print(f"{y} жылы узак жыл эмес.")
14. n катардан турган тең жактуу үч бурчтукту жылдызчалар менен чийүүчү кайталануучу алгоритм түзүңүз.
(Мисалы: n=3 үчүн:
*
***
*****)
# Колдонуучудан n алуу
n = int(input("Тең жактуу үч бурчтуктун бийиктигин киргизиңиз (n): "))
# Катарларды чыгаруу
for i in range(1, n + 1):
# Ар бир катар үчүн босутууну эсептөө
spaces = n - i
# Босотууларды чыгарыңыз
print(" " * spaces, end="")
# Жылдыздарды чыгарыңыз
print("*" * (2 * i - 1))
15. Киргизилген сөздүн палиндром экенин текшерүүчү алгоритм түзүңүз.
(Палиндром - эки жагынан окуганда бирдей болгон сөз. Мисалы: "ата", "комок")
# Колдонуучудан сөздү алуу
word = input("Сөздү киргизиңиз: ")
# Сөздү төмөнкүдөй текшерүү
if word == word[::-1]:
print(f"'{word}' сөзү палиндром.")
else:
print(f"'{word}' сөзү палиндром эмес.")