11-сынып оқушыларына арналған информатика олимпиада тапсырмалары
1. Берілген санның
цифрларының қосындысы
Шарт:
Берілген санының
барлық цифрларының қосындысын табыңыз.
Шешімі (Python):
def digit_sum(n):
return sum(int(digit) for digit in str(n))
n = int(input("Санды енгізіңіз:
"))
print("Цифрлар қосындысы:",
digit_sum(n))
---
2. Үшбұрыш ауданы (Герон формуласы)
Шарт:
Үшбұрыштың
қабырғалары берілген. Үшбұрыштың ауданын Герон формуласымен
табыңыз.
Шешімі (Python):
import math
def triangle_area(a, b, c):
s = (a + b + c) / 2
return math.sqrt(s * (s - a) * (s - b) * (s -
c))
a, b, c = map(float, input("Үшбұрыш қабырғаларын
енгізіңіз (a, b, c): ").split())
print("Үшбұрыш ауданы:",
triangle_area(a, b, c))
---
3. Берілген аралықтағы жай
сандардың қосындысы
Шарт:
Берілген
аралығындағы барлық жай сандардың қосындысын табыңыз.
Шешімі (Python):
def is_prime(n):
if n < 2:
return False
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True
L, R = map(int, input("L және R мәндерін енгізіңіз:
").split())
prime_sum = sum(x for x in range(L, R + 1) if
is_prime(x))
print("Жай сандар қосындысы:",
prime_sum)
---
4. Циклдық ауысым
Шарт:
Берілген массив
элементтерін оңға қарай қадамға жылжытыңыз.
Шешімі (Python):
def rotate_array(arr, k):
k %= len(arr)
return arr[-k:] + arr[:-k]
arr = list(map(int, input("Массив элементтерін
енгізіңіз: ").split()))
k = int(input("
4. Берілген санның
цифрларының қосындысы
Шарт:
Берілген санының
барлық цифрларының қосындысын табыңыз.
Шешімі (Python):
def digit_sum(n):
return sum(int(digit) for digit in str(n))
n = int(input("Санды енгізіңіз:
"))
print("Цифрлар қосындысы:",
digit_sum(n))
---
5. Үшбұрыш ауданы (Герон формуласы)
Шарт:
Үшбұрыштың
қабырғалары берілген. Үшбұрыштың ауданын Герон формуласымен
табыңыз.
Шешімі (Python):
import math
def triangle_area(a, b, c):
s = (a + b + c) / 2
return math.sqrt(s * (s - a) * (s - b) * (s -
c))
a, b, c = map(float, input("Үшбұрыш қабырғаларын
енгізіңіз (a, b, c): ").split())
print("Үшбұрыш ауданы:",
triangle_area(a, b, c))
---
6. Берілген аралықтағы жай
сандардың қосындысы
Шарт:
Берілген
аралығындағы барлық жай сандардың қосындысын табыңыз.
Шешімі (Python):
def is_prime(n):
if n < 2:
return False
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True
L, R = map(int, input("L және R мәндерін енгізіңіз:
").split())
prime_sum = sum(x for x in range(L, R + 1) if
is_prime(x))
print("Жай сандар қосындысы:",
prime_sum)
---
7 Циклдық ауысым
Шарт:
Берілген массив
элементтерін оңға қарай қадамға жылжытыңыз.
Шешімі (Python):
def rotate_array(arr, k):
k %= len(arr)
return arr[-k:] + arr[:-k]
arr = list(map(int, input("Массив элементтерін
енгізіңіз: ").split()))
k = int(input("Жылжыту қадам саны: "))
print("Жылжытылған массив:",
rotate_array(arr, k))
---
8. Теңдікке арналған массив жұптарын табу
Шарт:
Берілген массивтен
индекстерін табыңыз, мұндағы және
.
Шешімі (Python):
def find_equal_pairs(arr):
pairs = []
seen = {}
for i, num in enumerate(arr):
if num in seen:
pairs.append((seen[num], i))
seen[num] = i
return pairs
arr = list(map(int, input("Массив элементтерін
енгізіңіз: ").split()))
print("Жұптар:",
find_equal_pairs(arr))
---
9. Ең жиі кездесетін сан
Шарт:
Берілген массивте
ең жиі кездесетін санды табыңыз. Егер бірнешеу болса, ең кішісін
қайтарыңыз.
Шешімі
(Python):
from collections import
Counter
def most_frequent(arr):
counter = Counter(arr)
max_freq = max(counter.values())
candidates = [key for key, value in counter.items() if
value == max_freq]
return min(candidates)
arr = list(map(int, input("Массив элементтерін
енгізіңіз: ").split()))
print("Ең жиі кездесетін сан:",
most_frequent(arr))
---
10. Сандарды екілік жүйеге ауыстыру
Шарт:
Берілген санын
екілік жүйеге ауыстырып, нәтижені
шығарыңыз.
Шешімі (Python):
n = int(input("Санды енгізіңіз:
"))
print("Екілік жүйедегі мәні:",
bin(n)[2:])
---
11. Көпмүшенің мәнін есептеу
Шарт:
Берілген
көпмүше: . мәні үшін көпмүшенің мәнін
табыңыз.
Шешімі (Python):
def polynomial_value(coefficients, x):
result = 0
for power, coeff in
enumerate(reversed(coefficients)):
result += coeff * (x ** power)
return result
coefficients = list(map(int, input("Коэффициенттерді
енгізіңіз: ").split()))
x = int(input("x мәнін енгізіңіз:
"))
print("Көпмүшенің мәні:",
polynomial_value(coefficients, x))
---
12. Ең ұзын бірдей сандардың тізбегі
Шарт:
Массивтегі ең ұзын
бірдей элементтер тізбегін табыңыз.
Шешімі (Python):
def longest_equal_sequence(arr):
max_count = count = 1
max_num = arr[0]
for i in range(1, len(arr)):
if arr[i] == arr[i - 1]:
count += 1
if count > max_count:
max_count = count
max_num = arr[i]
else:
count = 1
return max_num, max_count
arr = list(map(int, input("Массив элементтерін
енгізіңіз: ").split()))
num, length = longest_equal_sequence(arr)
print(f"Ең ұзын тізбек саны:
{num}, ұзындығы: {length}")
---