1 Натуралды сан берілген. Барлық натуралды бөлгіштерді алу



Дата16.04.2024
өлшемі16,35 Kb.
#200905
Байланысты:
лабка4


«Әбілқас Сағынов атындағы Қарағанды Техникалық Университеті»
коммерциялық емес акционерлік қоғамы
Ақпараттық-есептеуіш жүйелер
кафедрасы

Зертханалық жұмыс №4
Пәні:Алгортмдеу және бағдарламалау негіздері
Тақырыбы : Python. Шартты оператор For циклі


18 нұсқа.
1)Натуралды сан берілген. Барлық натуралды бөлгіштерді алу.
сан = int(input("сан енгіз:"))
бөлгіш = [i for i in range(1, сан + 1) if сан % i == 0]
print(f"Натуралды бөлгіштер {сан}: {бөлгіш}")
2)n элементтерден тұратын кездейсоқ сандардың екі өлшемді массиві берілген. Құрылымын өзгертпей, экранға индекстері үшке еселі элементтерді ғана шығару, қалғандарын нөлдендіру.
import random
n = 5 #массивтің размері

#кездейсақ сандардың екі өлшемді массиві


random_array = [[random.randint(1, 10) for _ in range(n)] for _ in range(n)]
print("Бастапқы массив:")
for row in random_array:
print(row)

#үшке еселік болмайтын элементтерді нөлге теңестіреміз


for i in range(len(random_array)):
for j in range(len(random_array[0])):
if (i * len(random_array) + j) % 3 != 0:
random_array[i][j] = 0

print("\nсоңғы массив:")


for row in random_array:
print(row)
3)а1, а2..., аm нақты сандар берілген. а1>0 және а2,..,аn – сандарының арасында қандай да біреу де болса теріс сан бар екендігі белгілі. а1,а2..,аn – бірінші теріс мүшенің алдында тұратын осы қатардың мүшелері болсын (n-алдын ала белгілі). max(a1,a1*a2,...,a1*a2...an) алу.
a1 = 9
n = 3 #теріс сан

if a1 <= 0:


print("Нөлден үлкен сан таңдаңыз.")
else:
b = a1 #ең үлкен мән а1ге тең болуы керек

for _ in range(n):


b *= -1

print(f"Максималды мәні: {b}")


4)n*k екіөлшемді массив. Массивтің ең үлкен элементін табу, оның индексін анықтау.
N = 3
k = 4
array = [[1, 5, 3, 8],
[2, 7, 4, 6],
[9, 10, 12, 11]]

max_element = float('-inf')


max_index = None

for i in range(N):


for j in range(k):
current_element = array[i][j]
if current_element > max_element:
max_element = current_element
max_index = (i, j)

print(f"Ең үлкен элемент: {max_element}")


print(f"Индекс: {max_index}")
5)n*k элементтерден тұратын кездейсоқ сандардың массиві берілген. Элементтерді симметриялы қатарлы түрде орындарын ауыстыру (бірінші элементті сол қатардағы соңғы элементпен және т.с.с.).
import random

n = 3
k = 4


array_size = n * k

random_array = [random.randint(1, 100) for _ in range(array_size)]

b= [random_array[i:i + k] for i in range(0, len(random_array), k)]

result_arr = []


for i in range(n):
result_arr.append(b[i][::-1] if i % 2 != 0 else b[i])

result_array = [item for sublist in result_arr for item in sublist]



print("Бастапқы массив:", random_array)
print("Симметриялы түрде орын ауыстырылған массив:", result_array)

Достарыңызбен бөлісу:




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет