Задача 36

Дан одномерный массив числовых значений, насчитывающий N элементов. Вставить группу из M новых элементов, начиная с позиции K

Решение:

import random
import math

N = 11
M = 3
K = 5

def init_random_list(list_size):
    list = []
    while list_size > 0:
        list.append(random.randint(1, 100))
        list_size = list_size - 1

    return list


lst = init_random_list(N)
print("Исходный массив:        ", lst)

lst[K:K+M] = init_random_list(M)

print("Модифицированный массив:", lst)

Задача 35

Дан одномерный массив числовых значений, насчитывающий N элементов. Поменять местами группу из M элементов, начинающихся с позиции K с группой из M элементов, начинающихся с позиции P.

Решение:

import random
import math

N = 11
M = 3
K = 7
P = 1

def init_random_list(list_size):
    list = []
    while list_size > 0:
        list.append(random.randint(1, 100))
        list_size = list_size - 1

    return list


lst = init_random_list(N)
print("Исходный массив:", lst)

lst[K:K+M], lst[P:P+M] = lst[P:P+M], lst[K:K+M]

print("Модифицированный массив:", lst)

Задача 34

Дан одномерный массив числовых значений, насчитывающий N элементов. Поменять местами первую и вторую половины массива.

Решение:

import random
import math
def init_random_list(list_size):
    list = []
    while list_size > 0:
        list.append(random.randint(1, 100))
        list_size = list_size - 1

    return list

lst = init_random_list(7)
print("Исходный массив:", lst)
centre = math.ceil(len(lst) / 2)
lst = lst[centre:] + lst[:centre]

print("Модифицированный массив:", lst)

Задача 33

Дан одномерный массив числовых значений, насчитывающий N элементов. Выполнить перемещение элементов массива по кругу вправо, т. е. A[1] → A[2]; A[2] → A[3]; ... A[n] → A[1]
Решение:

import random
def init_random_list(list_size):
    list = []
    while list_size > 0:
        list.append(random.randint(1, 100))
        list_size = list_size - 1

    return list

lst = init_random_list(8)
print("Исходный массив:", lst)

val = lst[len(lst) - 1]
for i in range(len(lst)):
    val, lst[i],  = lst[i], val

print("Модифицированный массив:", lst)

Задача 32

Дан одномерный массив числовых значений, насчитывающий N элементов. Поменять местами элементы, стоящие на чётных и нечётных местах: A[1] ↔ A[2]; A[3] ↔ A[4] ...

Решение:

import random
def init_random_list(list_size):
    list = []
    while list_size > 0:
        list.append(random.randint(1, 100))
        list_size = list_size - 1

    return list

lst = init_random_list(9)
print("Исходный массив:", lst)

for i in range(len(lst) - 1):
    if i % 2 == 0:
        lst[i], lst[i+1] = lst[i+1], lst[i]

print("Модифицированный массив:", lst)

Задача 31

Нарисуйте полную блок-схему алгоритма сортировки массива «методом пузырька»
Решение:

import random
def init_random_list(list_size):
    list = []
    while list_size > 0:
        list.append(random.randint(1, 100))
        list_size = list_size - 1

    return list

lst = init_random_list(5)
print("Исходный массив:", lst)

i = 0
while i < len(lst): i = i + 1 for j in range(len(lst) - i): if lst[j] > lst[j+1]:
            lst[j], lst[j+1] = lst[j+1], lst[j]

print("Отсортированный массив:", lst)

Задача 30

Составьте блок-схему поиска максимального элемента в одномерном массиве

Решение:

import math
import random
Masiv = 2+2
print("pyton")

Задача 29

Известен ГОД. Определить, будет ли этот год високосным, и к какому веку этот год относится
Решение:

import random
import math
A = random.randint(0,2020)
print(A)
if A%4 == 0:
    print("Весокосный")
else:
    print("Невесокосный")
B = A//100
vek = B+1
print("Век-",vek)


Решение

Задача 28

Составить алгоритм и программу для реализации логических операций «И» и «ИЛИ» для двух переменных
Решение:

A = True 
B = False
if A & B or A != B :
    print("it works")


Решение

Задача 27

Дано вещественное число A. Вычислить f(A), если f(x) = 0 при x ≤ 0; f(x) = x2 − x при 0 < x < 1, в противном случае f(x) = x2 − sin(πx2)

Решение:

import random
import math
X = random.randint(1.0,5.0)
if X<= 0:
    f = 0
    print("f("+str(X)+")="+str(f))
if 0<X<1:
    f = X**2-X
    print ("f("+str(X)+")="+str(f))
else:
    f = X**2-math.sin(math.pi**2)
    print("f("+str(X)+")="+str(f))


Решение