Proc51. Для решения этой задачи с использованием функции IncTime(H, M, S, T), опишем процедуру IncTime, которая будет увеличивать время на заданное количество секунд.
Proc52. Для решения этой задачи с использованием функции IsLeapYear(Y), опишем функцию IsLeapYear, которая будет проверять, является ли заданный год високосным.
def IncTime(H, M, S, T):Теперь можно вызвать процедуру IncTime, передав значения часов H, минут M, секунд S и количество секунд T:
S += T
M += S // 60
S %= 60
H += M // 60
M %= 60
H %= 24
return H, M, S
H, M, S = IncTime(H, M, S, T)Теперь переменные H, M и S содержат новые значения часов, минут и секунд соответственно.
Proc52. Для решения этой задачи с использованием функции IsLeapYear(Y), опишем функцию IsLeapYear, которая будет проверять, является ли заданный год високосным.
def IsLeapYear(Y):Теперь можно вызвать функцию IsLeapYear для каждого из пяти заданных значений года Y:
if Y % 4 == 0 and (Y % 100 != 0 or Y % 400 == 0):
return True
else:
return False
leap_year1 = IsLeapYear(Y1)Теперь переменные leap_year1, leap_year2, ..., leap_year5 содержат значения True, если соответствующий год является високосным, и False в противном случае.
leap_year2 = IsLeapYear(Y2)
...
leap_year5 = IsLeapYear(Y5)
Proc53:
def IsLeapYear(Y):Proc54:
if Y % 4 == 0 and (Y % 100 != 0 or Y % 400 == 0):
return True
else:
return False
def MonthDays(M, Y):
if M < 1 or M > 12 or Y <= 0:
# Обработка ошибки или возврат значения по умолчанию
return -1
else:
if M in [1, 3, 5, 7, 8, 10, 12]:
return 31
elif M in [4, 6, 9, 11]:
return 30
elif M == 2:
if IsLeapYear(Y):
return 29
else:
return 28
else:
# Обработка ошибки или возврат значения по умолчанию
return -1
def PrevDate(D, M, Y):Proc55:
if D < 1 or D > 31 or M < 1 or M > 12 or Y <= 0:
# Обработка ошибки или завершение процедуры
return
else:
D -= 1
if D < 1:
M -= 1
if M < 1:
M = 12
Y -= 1
D = MonthDays(M, Y)
return D, M, Y
def NextDate(D, M, Y):Примечание: В этих примерах предполагается, что функция IsLeapYear корректно реализована.
if D < 1 or D > 31 or M < 1 or M > 12 or Y <= 0:
# Обработка ошибки или завершение процедуры
return
else:
D += 1
if D > MonthDays(M, Y):
D = 1
M += 1
if M > 12:
M = 1
Y += 1
return D, M, Y
Proc56:
import mathProc57:
def Leng(xA, yA, xB, yB):
return math.sqrt((xA - xB)**2 + (yA - yB)**2)
def Perim(xA, yA, xB, yB, xC, yC):Proc58:
AB = Leng(xA, yA, xB, yB)
BC = Leng(xB, yB, xC, yC)
CA = Leng(xC, yC, xA, yA)
return AB + BC + CA
def Area(xA, yA, xB, yB, xC, yC):Примечание: В этих примерах предполагается, что значения координат точек A, B, C, D корректно передаются в функции Leng, Perim и Area.
AB = Leng(xA, yA, xB, yB)
BC = Leng(xB, yB, xC, yC)
CA = Leng(xC, yC, xA, yA)
p = Perim(xA, yA, xB, yB, xC, yC) / 2
return math.sqrt(p * (p - AB) * (p - BC) * (p - CA))
Proc59:
def Dist(xP, yP, xA, yA, xB, yB):Proc60:
S_PAB = Area(xP, yP, xA, yA, xB, yB)
AB = Leng(xA, yA, xB, yB)
D = 2 * S_PAB / AB
return D
# Пример использования функции Dist
Dist_AB = Dist(xP, yP, xA, yA, xB, yB)
Dist_AC = Dist(xP, yP, xA, yA, xC, yC)
Dist_BC = Dist(xP, yP, xB, yB, xC, yC)
def Heights(xA, yA, xB, yB, xC, yC):
hA = Dist(xA, yA, xB, yB, xC, yC)
hB = Dist(xB, yB, xA, yA, xC, yC)
hC = Dist(xC, yC, xA, yA, xB, yB)
return hA, hB, hC
# Пример использования процедуры Heights
hA_ABC, hB_ABC, hC_ABC = Heights(xA, yA, xB, yB, xC, yC)
hA_ABD, hB_ABD, hD_ABD = Heights(xA, yA, xB, yB, xD, yD)
hA_ACD, hC_ACD, hD_ACD = Heights(xA, yA, xC, yC, xD, yD)
👍2
Которые из этих блок решения вам понравилась ?
Anonymous Poll
43%
# begin
43%
# integer
43%
# boolean
57%
# If
57%
# case
43%
# while
57%
# for
43%
# proc
🔥2
Array1.
N = int(input("Введите целое число N: "))
array = [0] * N
num = 1
for i in range(N):
array[i] = num
num += 2
print("Сформированный массив:", array)
Array2. N = int(input("Введите целое число N: "))
array = [0] * N
num = 1
for i in range(N):
array[i] = num
num *= 2
print("Сформированный массив:", array)
Array3. N = int(input("Введите целое число N: "))
A = int(input("Введите первый член прогрессии A: "))
D = int(input("Введите разность прогрессии D: "))
array = [0] * N
current = A
for i in range(N):
array[i] = current
current += D
print("Сформированный массив:", array)👍1
Array4.
N = int(input("Введите целое число N (>1): "))
A = int(input("Введите первый член геометрической прогрессии A: "))
D = int(input("Введите знаменатель геометрической прогрессии D: "))
progression = [A] # Создаем пустой массив с первым элементом A
for i in range(1, N):
progression.append(progression[i-1] * D) # Добавляем следующий элемент в массив, умножая предыдущий на D
print("Массив размера N, содержащий N первых членов геометрической прогрессии:")
print(progression)
Array5. N = int(input("Введите целое число N (>2): "))
fibonacci = [1, 1] # Создаем массив с первыми двумя элементами
for i in range(2, N):
fibonacci.append(fibonacci[i-2] + fibonacci[i-1]) # Добавляем следующий элемент в массив, равный сумме двух предыдущих
print("Целочисленный массив размера N, содержащий N первых элементов последовательности чисел Фибоначчи:")
print(fibonacci)
Array6. N = int(input("Введите целое число N (>2): "))
A = int(input("Введите первый элемент A: "))
B = int(input("Введите второй элемент B: "))
sequence = [A, B] # Создаем массив с первыми двумя элементами
for i in range(2, N):
sequence.append(sum(sequence)) # Добавляем следующий элемент в массив, равный сумме всех предыдущих
print("Целочисленный массив размера N, первый элемент которого равен A, второй равен B, а каждый последующий элемент равен сумме всех предыдущих:")
print(sequence)👍1
Array 7.
def reverse_array(arr):Результат выполнения кода будет:
for i in range(len(arr)-1, -1, -1):
print(arr[i])
# Пример использования
array = [1, 2, 3, 4, 5]
reverse_array(array)
5Array 8.
4
3
2
1
def print_odd_numbers(arr):Результат выполнения кода будет:
count = 0
for i in range(len(arr)):
if arr[i] % 2 != 0:
print(arr[i])
count += 1
print("Количество нечетных чисел:", count)
# Пример использования
array = [1, 2, 3, 4, 5]
print_odd_numbers(array)
1Array 9.
3
5
Количество нечетных чисел: 3
def print_even_numbers(arr):Результат выполнения кода будет:
count = 0
for i in range(len(arr)-1, -1, -1):
if arr[i] % 2 == 0:
print(arr[i])
count += 1
print("Количество четных чисел:", count)
# Пример использования
array = [1, 2, 3, 4, 5]
print_even_numbers(array)
4
2
Количество четных чисел: 2
Array10.
def print_even_odd(arr):Результат выполнения программы будет:
even_nums = [num for i, num in enumerate(arr) if i % 2 == 0 and num % 2 == 0]
odd_nums = [num for i, num in enumerate(arr[::-1]) if i % 2 == 0 and num % 2 != 0]
result = even_nums + odd_nums[::-1]
for num in result:
print(num, end=' ')
# Пример использования
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print_even_odd(arr)
2 4 6 8 10 9 7 5 3 1Array11.
def print_elements(arr, k):Результат выполнения программы будет:
result = [arr[i-1] for i in range(k, len(arr)+1, k)]
print(*result)
# Пример использования
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
k = 3
print_elements(arr, k)
3 6 9Array12.
def print_even_elements(arr):Результат выполнения программы будет:
result = [arr[i] for i in range(1, len(arr), 2)]
print(*result)
# Пример использования
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print_even_elements(arr)
2 4 6 8 10
Array10. Вот другое решение задачи:
def print_even_odd(arr):Результат выполнения программы будет:
even_nums = []
odd_nums = []
for num in arr:
if num % 2 == 0:
even_nums.append(num)
else:
odd_nums.append(num)
even_nums.sort()
odd_nums.sort(reverse=True)
result = even_nums + odd_nums
for num in result:
print(num, end=' ')
# Пример использования
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print_even_odd(arr)
2 4 6 8 10 9 7 5 3 1Array11. Вот другое решение задачи:
def print_elements(arr, k):Результат выполнения программы будет:
result = []
for i in range(k-1, len(arr), k):
result.append(arr[i])
print(*result)
# Пример использования
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
k = 3
print_elements(arr, k)
3 6 9Array12. Вот другое решение задачи:
def print_even_elements(arr):Результат выполнения программы будет:
result = []
for i in range(1, len(arr), 2):
result.append(arr[i])
print(*result)
# Пример использования
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print_even_elements(arr)
2 4 6 8 10Оба решения являются рабочими и дают одинаковый результат. Вы можете выбрать то решение, которое вам больше нравится или лучше соответствует вашим потребностям.
❤1
Array13.
N = len(A)Array14.
for i in range(N-1, 0, -2):
print(A[i])
N = len(A)
for i in range(1, N, 2):
print(A[i])
for i in range(0, N, 2):
print(A[i])
Array15.
def print_array_elements(array):Результат выполнения данного кода будет:
n = len(array)
# Вывод элементов с нечетными индексами в порядке возрастания
for i in range(0, n, 2):
print(array[i], end=' ')
# Вывод элементов с четными индексами в порядке убывания
for i in range(n-1, 0, -2):
print(array[i], end=' ')
# Пример использования функции
A = [1, 2, 3, 4, 5, 6]
print_array_elements(A)
1 3 5 6 4 2Array16.
def print_array_elements(array):Результат выполнения данного кода будет:
n = len(array)
# Вывод элементов массива в нужном порядке
for i in range(n):
if i % 2 == 0:
print(array[i // 2], end=' ')
else:
print(array[n - (i // 2) - 1], end=' ')
# Пример использования функции
A = [1, 2, 3, 4, 5, 6]
print_array_elements(A)
1 6 2 5 3 4
Array 17
def print_array_elements(array):Вывод:
start = 0
end = len(array) - 1
while start <= end:
print(array[start], end=' ')
if start != end:
print(array[end], end=' ')
start += 1
end -= 1
# Пример использования
A = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print_array_elements(A)
1 10 2 9 3 8 4 7 5 6
Array18:
def find_element(A):Array19:
for i in range(len(A)):
if A[i] < A[9]:
return A[i]
return 0
# Пример использования
A = [5, 8, 3, 10, 7, 2, 6, 9, 4, 1]
result = find_element(A)
print(result)
def find_index(A):Array20:
for i in range(len(A)-1, 0, -1):
if A[0] < A[i] < A[9]:
return i
return 0
# Пример использования
A = [5, 8, 3, 10, 7, 2, 6, 9, 4, 1]
result = find_index(A)
print(result)
def sum_elements(A, K, L):
total = 0
for i in range(K-1, L):
total += A[i]
return total
# Пример использования
A = [5, 8, 3, 10, 7, 2, 6, 9, 4, 1]
K = 3
L = 7
result = sum_elements(A, K, L)
print(result)
👍2❤1
Array21:
def find_average(arr, K, L):Array22:
sub_array = arr[K-1:L]
average = sum(sub_array) / len(sub_array)
return average
# Пример использования функции
array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
K = 2
L = 6
result = find_average(array, K, L)
print("Среднее арифметическое элементов массива с номерами от", K, "до", L, "включительно:", result)
def find_sum(arr, K, L):
sub_array = arr[:K-1] + arr[L:]
total_sum = sum(sub_array)
return total_sum
# Пример использования функции
array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
K = 2
L = 6
result = find_sum(array, K, L)
print("Сумма всех элементов массива, кроме элементов с номерами от", K, "до", L, "включительно:", result)
👍1
Array23:
def find_average_except_range(arr, K, L):Array24:
sub_array = arr[:K-1] + arr[L:]
average = sum(sub_array) / len(sub_array)
return average
# Пример использования функции
array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
K = 2
L = 6
result = find_average_except_range(array, K, L)
print("Среднее арифметическое всех элементов массива, кроме элементов с номерами от", K, "до", L, "включительно:", result)
def check_arithmetic_progression(arr):Array25:
diff = arr[1] - arr[0]
for i in range(2, len(arr)):
if arr[i] - arr[i-1] != diff:
return 0
return diff
# Пример использования функции
array = [1, 3, 5, 7, 9]
result = check_arithmetic_progression(array)
if result != 0:
print("Элементы массива образуют арифметическую прогрессию с разностью:", result)
else:
print("Элементы массива не образуют арифметическую прогрессию")
def check_geometric_progression(arr):Array26:
ratio = arr[1] / arr[0]
for i in range(2, len(arr)):
if arr[i] / arr[i-1] != ratio:
return 0
return ratio
# Пример использования функции
array = [2, 6, 18, 54, 162]
result = check_geometric_progression(array)
if result != 0:
print("Элементы массива образуют геометрическую прогрессию со знаменателем:", result)
else:
print("Элементы массива не образуют геометрическую прогрессию")
def check_alternating_numbers(arr):
for i in range(len(arr)):
if i % 2 == 0 and arr[i] % 2 == 0:
return i
elif i % 2 == 1 and arr[i] % 2 == 1:
return i
return 0
# Пример использования функции
array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
result = check_alternating_numbers(array)
if result != 0:
print("Числа в массиве не чередуются, первый нарушающий элемент находится на позиции:", result)
else:
print("Числа в массиве чередуются")
👍1
Array27:
def check_alternating(arr):Array28:
for i in range(len(arr)-1):
if arr[i] * arr[i+1] > 0:
return i+1
return 0
# Пример использования:
array = [1, -2, 3, -4, 5, -6]
result = check_alternating(array)
print(result) # Вывод: 0
array = [1, -2, 3, 4, 5, -6]
result = check_alternating(array)
print(result) # Вывод: 4
def find_min_even(arr):Array29:
min_val = float('inf')
for i in range(1, len(arr), 2):
if arr[i] < min_val:
min_val = arr[i]
return min_val
# Пример использования:
array = [5, 2, 9, 1, 7, 4]
result = find_min_even(array)
print(result) # Вывод: 2
def find_max_odd(arr):Array30:
max_val = float('-inf')
for i in range(0, len(arr), 2):
if arr[i] > max_val:
max_val = arr[i]
return max_val
# Пример использования:
array = [5, 2, 9, 1, 7, 4]
result = find_max_odd(array)
print(result) # Вывод: 9
def find_greater_than_right(arr):Array31:
indices = [i for i in range(len(arr)-1) if arr[i] > arr[i+1]]
return indices, len(indices)
# Пример использования:
array = [1, 3, 2, 5, 4, 7, 6]
indices, count = find_greater_than_right(array)
print(indices) # Вывод: [1, 3, 5]
print(count) # Вывод: 3
def find_greater_than_left(arr):
indices = [i for i in range(1, len(arr)) if arr[i] > arr[i-1]]
return indices[::-1], len(indices)
# Пример использования:
array = [1, 3, 2, 5, 4, 7, 6]
indices, count = find_greater_than_left(array)
print(indices) # Вывод: [6, 4, 2]
print(count) # Вывод: 3
Array32:
def find_local_minimum(arr):Array33:
for i in range(1, len(arr)-1):
if arr[i] < arr[i-1] and arr[i] < arr[i+1]:
return i
return -1
# Пример использования:
array = [5, 2, 9, 1, 7, 4]
result = find_local_minimum(array)
print(result) # Вывод: 3
def find_local_maximum(arr):Array34:
for i in range(1, len(arr)-1):
if arr[i] > arr[i-1] and arr[i] > arr[i+1]:
return i
return -1
# Пример использования:
array = [5, 2, 9, 1, 7, 4]
result = find_local_maximum(array)
print(result) # Вывод: 2
def find_max_local_minimum(arr):
max_val = float('-inf')
for i in range(1, len(arr)-1):
if arr[i] < arr[i-1] and arr[i] < arr[i+1]:
if arr[i] > max_val:
max_val = arr[i]
return max_val
# Пример использования:
array = [5, 2, 9, 1, 7, 4]
result = find_max_local_minimum(array)
print(result) # Вывод: 4
Array32:
arr = [5, 2, 9, 1, 7, 4]Array33:
for i in range(len(arr)):
if i == 0 and arr[i] < arr[i+1]:
print(i)
break
elif i == len(arr)-1 and arr[i] < arr[i-1]:
print(i)
break
elif arr[i] < arr[i-1] and arr[i] < arr[i+1]:
print(i)
break
else:
print(-1)
arr = [5, 2, 9, 1, 7, 4]Array34:
for i in range(len(arr)):
if i == 0 and arr[i] > arr[i+1]:
print(i)
break
elif i == len(arr)-1 and arr[i] > arr[i-1]:
print(i)
break
elif arr[i] > arr[i-1] and arr[i] > arr[i+1]:
print(i)
break
else:
print(-1)
arr = [5, 2, 9, 1, 7, 4]Надеюсь, это решение поможет вам решить задачи.
max_val = float('-inf')
for i in range(len(arr)):
if i == 0 or i == len(arr)-1:
continue
if arr[i] < arr[i-1] and arr[i] < arr[i+1]:
if arr[i] > max_val:
max_val = arr[i]
print(max_val)
Array35:
def find_min_local_max(arr):Array36:
min_local_max = float('inf')
for i in range(1, len(arr)-1):
if arr[i] > arr[i-1] and arr[i] > arr[i+1]:
min_local_max = min(min_local_max, arr[i])
return min_local_max
# Пример использования:
arr = [5, 2, 9, 1, 7, 4]
min_local_max = find_min_local_max(arr)
print(min_local_max)
def find_max_not_min_max(arr):Array37:
max_not_min_max = float('-inf')
for i in range(len(arr)):
if i == 0 or i == len(arr)-1:
continue
if arr[i] != max(arr[i-1], arr[i], arr[i+1]):
max_not_min_max = max(max_not_min_max, arr[i])
return max_not_min_max
# Пример использования:
arr = [5, 2, 9, 1, 7, 4]
max_not_min_max = find_max_not_min_max(arr)
print(max_not_min_max)
def count_increasing_sections(arr):
count = 0
increasing = False
for i in range(1, len(arr)):
if arr[i] > arr[i-1]:
if not increasing:
count += 1
increasing = True
else:
increasing = False
return count
# Пример использования:
arr = [5, 2, 9, 1, 7, 4]
count = count_increasing_sections(arr)
print(count)