Материалдар / 10-сынып информатика олимпиадасына дайындық

10-сынып информатика олимпиадасына дайындық

Материал туралы қысқаша түсінік
10-сынып оқушыларына арналған Python тапсырмалары және олардың шешу жолдары ұсынылған. Әрбір тапсырма логикалық ойлау мен бағдарламалау қабілетін жетілдіруге бағытталған.
Авторы:
Автор материалды ақылы түрде жариялады. Сатылымнан түскен қаражат авторға автоматты түрде аударылады. Толығырақ
17 Қараша 2024
49
0 рет жүктелген
900 ₸
Бүгін алсаңыз
+45 бонус
беріледі
Бұл не?
Бүгін алсаңыз +45 бонус беріледі Бұл не?
Тегін турнир Мұғалімдер мен Тәрбиешілерге
Дипломдар мен сертификаттарды алып үлгеріңіз!
Бұл бетте материалдың қысқаша нұсқасы ұсынылған. Материалдың толық нұсқасын жүктеп алып, көруге болады
logo

Материалдың толық нұсқасын
жүктеп алып көруге болады



10-сынып информатика олимпиадасына дайындық:



10-сынып оқушыларына арналған Python тапсырмалары және олардың шешу жолдары ұсынылған. Әрбір тапсырма логикалық ойлау мен бағдарламалау қабілетін жетілдіруге бағытталған.



1. Бөлімнің бүтін санын табу



Сұрақ: Екі сан берілген. Оларды бөлу нәтижесінің тек бүтін бөлігін шығарыңыз.

Код:



a, b = map(int, input("Екі сан енгізіңіз (бос орын арқылы): ").split())

print("Бүтін бөлігі:", a // b)



Түсіндіру: // операторы санның тек бүтін бөлігін береді.





---



2. Берілген диапазондағы сандарды табу



Сұрақ: A-дан B-ге дейінгі барлық сандарды шығарыңыз.

Код:



a, b = map(int, input("Диапазон енгізіңіз (A B): ").split())

for i in range(a, b + 1):

print(i, end=" ")



Түсіндіру: range функциясы A-дан B-ге дейінгі сандарды құрайды.





---



3. Жиымдағы қайталанатын элементтерді табу



Сұрақ: Берілген жиымдағы қайталанатын элементтерді анықтаңыз.

Код:



nums = list(map(int, input("Сандар тізімін енгізіңіз (бос орын арқылы): ").split()))

duplicates = set([num for num in nums if nums.count(num) > 1])

print("Қайталанатын элементтер:", duplicates)



Түсіндіру: set қайталанатын мәндерді бір рет қана сақтайды.





---



4. Сандар тізіміндегі жұп және тақ элементтерді санау



Сұрақ: Жиымдағы жұп және тақ элементтердің санын анықтаңыз.

Код:



nums = list(map(int, input("Сандар тізімін енгізіңіз (бос орын арқылы): ").split()))

even_count = sum(1 for x in nums if x % 2 == 0)

odd_count = len(nums) - even_count

print(f"Жұп саны: {even_count}, Тақ саны: {odd_count}")



Түсіндіру: Тізімдегі әрбір санның жұп немесе тақ екенін тексереміз.





---



5. Үшбұрыштың ауданы



Сұрақ: Үшбұрыштың үш қабырғасының ұзындығы берілген. Оның ауданын Герон формуласымен есептеңіз.

Код:



import math

a, b, c = map(float, input("Үш қабырғаның ұзындығын енгізіңіз (a b c): ").split())

s = (a + b + c) / 2

area = math.sqrt(s * (s - a) * (s - b) * (s - c))

print("Үшбұрыш ауданы:", area)



Түсіндіру: Герон формуласы: , мұндағы .





---



6. Факториалдың соңындағы нөлдер саны



Сұрақ: N санының факториалындағы соңғы нөлдердің санын табыңыз.

Код:



def trailing_zeros(n):

count = 0

while n >= 5:

n //= 5

count += n

return count



n = int(input("Сан енгізіңіз: "))

print("Соңғы нөлдер саны:", trailing_zeros(n))



Түсіндіру: Нөлдер саны 5-ке бөлінетін сандардың санына байланысты.





---



7. Берілген мәтінді шифрлау (Цезарь шифры)



Сұрақ: Берілген мәтінді әріптерін оңға 3 орынға жылжытып шифрлаңыз.

Код:



text = input("Мәтін енгізіңіз: ")

shift = 3

cipher = ''.join(chr((ord(c) - 97 + shift) % 26 + 97) if c.isalpha() else c for c in text.lower())

print("Шифрланған мәтін:", cipher)



Түсіндіру: Әріптердің ASCII кодын пайдаланып орын ауыстыру.





---



8. Мәтіндегі барлық дауысты дыбыстарды санау



Сұрақ: Мәтіндегі дауысты дыбыстардың санын есептеңіз.

Код:



text = input("Мәтін енгізіңіз: ").lower()

vowels = "aeiouаәеіоөұүыі"

count = sum(1 for c in text if c in vowels)

print("Дауысты дыбыстар саны:", count)



Түсіндіру: Әрбір әріптің дауысты дыбыстарға жататынын тексереміз.





---



9. Пайызбен өсу



Сұрақ: Берілген санға 10% қосыңыз.

Код:



n = float(input("Сан енгізіңіз: "))

print("10%-ға өскен мәні:", n * 1.1)



Түсіндіру: Санға -ді көбейту арқылы 10% қосамыз.





---



10. Берілген санның квадраты



Сұрақ: Санның квадратын есептеңіз.

Код:



n = int(input("Сан енгізіңіз: "))

print("Квадрат:", n ** 2)



Түсіндіру: дәрежеге көтеру операторы.





---



11. Берілген мәтіндегі әріптерді реттеу



Сұрақ: Әріптерді алфавит бойынша реттеңіз.

Код:



text = input("Мәтін енгізіңіз: ")

sorted_text = ''.join(sorted(text))

print("Реттелген мәтін:", sorted_text)





---



12. Ең кіші санды табу



Сұрақ: Тізімдегі ең кіші санды анықтаңыз.

Код:



nums = list(map(int, input("Сандар тізімін енгізіңіз: ").split()))

print("Ең кіші сан:", min(nums))





---



13. Палиндром сандарын табу



Сұрақ: Берілген диапазондағы палиндром сандарын табыңыз.

Код:



a, b = map(int, input("Диапазон енгізіңіз: ").split())

for num in range(a, b + 1):

if str(num) == str(num)[::-1]:

print(num, end=" ")





---



14. Күрделі сандарды көбейту



Сұрақ: Күрделі сандардың көбейтіндісін табыңыз.

Код:



a = complex(input("1-күрделі сан енгізіңіз (мысалы: 1+2j): "))

b = complex(input("2-күрделі сан енгізіңіз: "))

print("Көбейтінді:", a * b)





---



15. Бірнеше файлдан дерек алу



Сұрақ: 3 файлдағы ортақ сөздерді анықтаңыз.

Код:



files = ["file1.txt", "file2.txt", "file3.txt"]

common_words = set(open(files[0]).read().split())

for file in files[1:]:

common_words.intersection_update(set(open(file).read().split()))

print("Ортақ сөздер:", common_words)

16. Берілген массивті өсу ретімен сұрыптау



Сұрақ: Сандар массивін өсу ретімен сұрыптаңыз.

Код:



nums = list(map(int, input("Сандар массивін енгізіңіз (бос орын арқылы): ").split()))

nums.sort()

print("Сұрыпталған массив:", nums)



Түсіндіру: sort әдісі массивті өсу ретімен сұрыптайды.





---



17. Берілген санның кері сандар қосындысы



Сұрақ: Берілген санға дейінгі барлық сандардың кері мәндерінің қосындысын табыңыз (мысалы, ).

Код:



n = int(input("Сан енгізіңіз: "))

harmonic_sum = sum(1 / i for i in range(1, n + 1))

print("Кері сандар қосындысы:", harmonic_sum)



Түсіндіру: Генератор көмегімен -ді қосамыз.





---



18. Тізімнен теріс сандарды жою



Сұрақ: Берілген тізімнен теріс сандарды жойыңыз.

Код:



nums = list(map(int, input("Сандар тізімін енгізіңіз (бос орын арқылы): ").split()))

positive_nums = [x for x in nums if x >= 0]

print("Тек оң сандар:", positive_nums)



Түсіндіру: if x >= 0 шарты арқылы тек оң сандарды таңдаймыз.





---



19. Үлкен матрицаның негізгі диагоналын шығару



Сұрақ: NxN өлшемдегі матрицаның негізгі диагоналын шығарыңыз.

Код:



n = int(input("Матрица өлшемін енгізіңіз: "))

matrix = []

for i in range(n):

row = list(map(int, input(f"{i+1}-қатарды енгізіңіз: ").split()))

matrix.append(row)



diagonal = [matrix[i][i] for i in range(n)]

print("Негізгі диагонал:", diagonal)



Түсіндіру: Матрицаның [i][i] индекстеріндегі элементтері негізгі диагонал болып табылады.





---



20. Тізімнің қайталанбайтын элементтерін табу



Сұрақ: Берілген тізімнен тек қайталанбайтын элементтерді шығарыңыз.

Код:



nums = list(map(int, input("Сандар тізімін енгізіңіз (бос орын арқылы): ").split()))

unique_nums = [x for x in nums if nums.count(x) == 1]

print("Қайталанбайтын элементтер:", unique_nums)



Түсіндіру: nums.count(x) == 1 шарты арқылы тек бір рет кездесетін сандарды таңдаймыз.





Ресми байқаулар тізімі
Республикалық байқауларға қатысып жарамды дипломдар алып санатыңызды көтеріңіз!
Осы аптаның ең үздік материалдары
Педагогтардың біліктілігін арттыру курстары
Аттестацияда (ПББ) 100% келетін
тақырыптармен дайындаймыз
Аттестацияда (ПББ) келетін тақырыптар бойынша жасалған тесттермен дайындалып, бізбен бірге тестілеуден оңай өтесіз
Өткен жылы бізбен дайындалған ұстаздар 50/50 жинап рекорд жасады
Толығырақ