Param6. Описать процедуру Smooth2(A, N), выполняющую сглаживание вещественного массива A размера N следующим образом: элемент \(A_1\) не изменяется, элемент \(A_K\) (K = 2, ..., N ) заменяется на полусумму исходных элементов \(A_{K-1}\) и \(A_K\). Массив A является входным и выходным параметром. С помощью этой процедуры выполнить пятикратное сглаживание данного массива A размера N, выводя результаты каждого сглаживания.
Решение на Python 3:
import random
import statistics
def Smooth2(Arr):
n = len(Arr)
B = []
B.append(A[0])
for i in range(n-1):
x = Arr[i:i+2]
B.append(statistics.mean(x))
#print(x)
return B
def Smooth22(arr):
n = len(arr)
prev_old = arr[0]
for i in range(n-1):
prev_new = prev_old
prev_old = arr[i+1]
arr[i+1] = (prev_new+arr[i+1])/2
N = random.randrange(1,10)
A = [random.randrange(10) for e in range(N)]
B = A
print("Original A:", A)
for i in range(5):
A = Smooth2(A)
print("Smoothed A:", A)
print("Original B:", B)
for i in range(5):
Smooth22(B)
print("Smoothed B:", B)