Назар аударыңыз. Бұл материалды сайт қолданушысы жариялаған. Егер материал сіздің авторлық құқығыңызды бұзса, осында жазыңыз. Біз ең жылдам уақытта материалды сайттан өшіреміз
Жақын арада сайт әкімшілігі сізбен хабарласады
Бонусты жинап картаңызға (kaspi Gold, Halyk bank) шығарып аласыз
10-сынып информатика олимпиадасына дайындық
Дипломдар мен сертификаттарды алып үлгеріңіз!
Материалдың толық нұсқасын
жүктеп алып көруге болады
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 шарты арқылы тек бір рет кездесетін сандарды таңдаймыз.