8-сынып информатика
олимпиадасына арналған Python тілінде дайындық
сұрақтары және олардың шешім жолдары.
Бұл сұрақтар Python
негіздерін және қарапайым алгоритмдік ойлауды
қамтиды.
1. Қарапайым санды тексеру
Сұрақ: Пайдаланушыдан сан сұрап, оның
қарапайым сан екенін тексеретін бағдарлама жазыңыз.
Шешімі:
сан = int(input("Санды енгізіңіз:
"))
жай = True
if
сан >
1:
for i in
range(2, сан):
if
сан % i ==
0:
жай = False
break
if
жай:
print("Жай сан")
else:
print("Жай сан емес")
Түсіндіру: Цикл санды 2-ден бастап бөлінгіштеріне тексереді.
---
2. Сандар тізімінен ең кіші санды
табу
Сұрақ: Берілген тізімдегі ең кіші санды
табыңыз.
Шешімі:
тізім = [3, 7, 2, 5, 9]
ең_кіші = min(тізім)
print("Ең кіші сан:", ең_кіші)
Түсіндіру: min() функциясы тізімнен ең кіші
мәнді табады.
---
3. Фибоначчи тізбегін шығару
Сұрақ: Пайдаланушы енгізген мәнге дейін
Фибоначчи тізбегін шығарыңыз.
Шешімі:
шек = int(input("Шекті енгізіңіз:
"))
a, b = 0,
1
while a
< шек:
print(a, end="
")
a, b = b, a +
b
Түсіндіру: while
циклі шекке дейінгі сандарды шығарады.
---
4.
Санның цифрларының көбейтіндісін табу
Сұрақ: Берілген санның барлық цифрларының көбейтіндісін табыңыз.
Шешімі:
сан =
int(input("Санды енгізіңіз: "))
көбейтінді = 1
for
цифр in
str(сан):
көбейтінді *=
int(цифр)
print("Цифрлардың көбейтіндісі:", көбейтінді)
Түсіндіру: Әр цифрды көбейту арқылы көбейтінді есептеледі.
---
5.
Палиндромды
тексеру
Сұрақ: Берілген сөздің палиндром екенін тексеріңіз.
Шешімі:
сөз =
input("Сөзді енгізіңіз: ")
if
сөз ==
сөз[::-1]:
print("Палиндром")
else:
print("Палиндром емес")
Түсіндіру: [::-1]
әдісі сөзді кері бағытта тексереді.
---
6.
Екі сандардың ең кіші ортақ еселігін (ЕКОЕ) табу
Сұрақ: Екі санның ең кіші ортақ еселігін табатын бағдарлама жазыңыз.
Шешімі:
import
math
сан1 =
int(input("Бірінші санды енгізіңіз: "))
сан2 =
int(input("Екінші санды енгізіңіз: "))
еко = (сан1 * сан2) // math.gcd(сан1,
сан2)
print("ЕКОЕ:", еко)
Түсіндіру: ЕКОЕ формуласы арқылы
есептеледі.
---
7. Сандар тізіміндегі жұп және тақ сандарды
санау
Сұрақ: Тізімдегі жұп және тақ сандардың
санын табыңыз.
Шешімі:
тізім = [1, 2, 3, 4, 5, 6, 7, 8]
жұп = 0
тақ = 0
for сан in тізім:
if
сан % 2 ==
0:
жұп += 1
else:
тақ += 1
print("Жұп сандар саны:", жұп)
print("Тақ сандар саны:", тақ)
---
8. Берілген санның кубын табу
Сұрақ: Пайдаланушы енгізген санның кубын
есептеңіз.
Шешімі:
сан = int(input("Санды енгізіңіз:
"))
куб = сан ** 3
print("Кубы:", куб)
---
9. Екі тізімді біріктіру
Сұрақ: Екі тізімді біріктіріп, жаңа тізімге
сақтау.
Шешімі:
тізім1 = [1, 2, 3]
тізім2 = [4, 5, 6]
біріккен = тізім1 + тізім2
print("Біріккен тізім:",
біріккен)
---
10. Берілген сандардың ең үлкен ортақ
бөлгішін табу
Сұрақ: Екі санның ең үлкен ортақ бөлгішін
табыңыз.
Шешімі:
import math
сан1 = int(input("Бірінші санды енгізіңіз:
"))
сан2 = int(input("Екінші санды енгізіңіз:
"))
еуоб = math.gcd(сан1, сан2)
print("ЕҮОБ:", еуоб)
---
11. Символдардың санын санау
Сұрақ: Берілген сөзде әр символдың санын
есептеу.
Шешімі:
сөз = input("Сөзді енгізіңіз: ")
санақ = {}
for символ in сөз:
санақ[символ] = санақ.get(символ, 0) +
1
print("Символдардың саны:",
санақ)
---
12. Факториал есептеу
Сұрақ: Берілген санның факториалын
есептеңіз.
Шешімі:
сан = int(input("Санды енгізіңіз:
"))
факториал = 1
for i in
range(1, сан + 1):
факториал *= i
print("Факториал:", факториал)
---
13. Екі санның арасындағы барлық сандарды
шығару
Сұрақ: Екі санның арасындағы барлық
сандарды шығарыңыз.
Шешімі:
сан1 = int(input("Бірінші санды енгізіңіз:
"))
сан2 = int(input("Екінші санды енгізіңіз:
"))
for i in
range(сан1, сан2 + 1):
print(i, end="
")
---
14.
Тізімдегі қайталанатын элементтерді табу
Сұрақ: Тізімдегі қайталанатын элементтерді көрсетіңіз.
Шешімі:
тізім = [1, 2, 3, 4, 2, 5,
3]
қайталанатындар = set([x for x
in тізім if тізім.count(x) >
1])
print("Қайталанатын элементтер:", қайталанатындар)
---
15.
Енгізілген
сөздің ұзындығын анықтау
Сұрақ: Пайдаланушы енгізген сөздің ұзындығын шығарыңыз.
Шешімі:
сөз =
input("Сөзді енгізіңіз: ")
ұзындық =
len(сөз)
print("Ұзындығы:", ұзындық)
---
16.
Өспелі тізімді жасау
Сұрақ: 1-ден 10-ға дейінгі өспелі тізім жасаңыз.
Шешімі:
тізім = list(range(1,
11))
print("Өспелі тізім:", тізім)
---
17.
Мәндерді кему ретімен сұрыптау
Сұрақ: Тізімді кему ретімен сұрыптаңыз.
Шешімі:
тізім = [3, 8, 1, 6,
7]
тізім.sort(reverse=True)
print("Кему ретімен:", тізім)
---
18.
Шектен асқан сандарды шығару
Сұрақ: Тізімнен тек шектен асқан сандарды шығарыңыз.
Шешімі:
тізім = [4, 7, 1, 9,
3]
шек = 5
шектен_асқан = [x for x in
тізім if x >
шек]
print("Шектен асқан сандар:",
шектен_асқан)