Человеческое общество по мере своего развития этапы овладения веществом, затем энергией и, наконец, информацией. В первобытно-общинном, рабовладельческом и феодальном обществах (в основе существования которых лежало ремесло) деятельность общества в целом и каждого человека в отдельности была направлена, в первую очередь, на овладение веществом.
На заре цивилизации (десятки тысяч лет до н. э.) люди научились изготавливать орудия труда и охоты (каменный топор, стрелы и так далее), в античности появились первые механизмы (рычаг и др.) и средства передвижения (колесницы, корабли), в средние века были изобретены первые сложные орудия труда и механизмы (ткацкий станок, часы).
Овладение энергией находилось в этот период на начальной ступени, в качестве источников энергии использовались Солнце, вода, огонь, ветер и мускульная сила человека.
Задание 1: Найти произведение элементов массива с чётными номерами
def input_Mas():
'''
Данная функция позволяет заполнить одномерный массив длинной n с клавиатуры.
Возвращает заполненный массив.
'''
while True:
try:
n = int(input('Введите количество элементов в массиве: '))
if n > 0: break
else: print('Количество элементов должно быть целым положительным числом.')
except ValueError:
print('Количество элементов должно быть целым положительным числом.')
a =[0]*n
i = 0
while i < len(a):
try:
a[i] = float(input('Введите %d элемент списка ' % (i+1)))
i+=1
except ValueError:
print('Вы ввели некорректное значение. Вводите целое число.')
return a
def multi_Mas(a):
y = 1
for i in range(0,len(a),2):
y *= a[i]
return y
'''
Основной код программы
'''
print('-= Данная программа вычисляет произведение всех элементов массива с чётными индексами =-')
print()
mas = input_Mas()
print(mas)
print(f'Произведение элементов с чётными индексами: {multi_Mas(mas)}')
Задание 2: Найти сумму элементов массива, расположенных между первым и последним нулевыми элементами
def input_Mas():
'''
Данная функция позволяет заполнить одномерный массив длинной n с клавиатуры.
Возвращает заполненный массив.
'''
while True:
try:
n = int(input('Введите количество элементов в массиве: '))
if n > 0: break
else: print('Количество элементов должно быть целым положительным числом.')
except ValueError:
print('Количество элементов должно быть целым положительным числом.')
a =[0]*n
i = 0
while i < len(a):
try:
a[i] = float(input('Введите %d элемент списка ' % (i+1)))
i+=1
except ValueError:
print('Вы ввели некорректное значение. Вводите целое число.')
return a
def getIndexOfElement(a, e, first=True):
'''
Данная функция возвращает индекс первого (при first = True) или последнего (при first = False) элемента со значением e
'''
index = -1
if first == True:
i = 0
while i < len(a) and index == -1:
if a[i] == e:
index = i
i+=1
if first == False:
i = len(a)-1
while i >= 0 and index == -1:
if a[i] == e:
index = i
i+=-1
if index >= 0:
return index
else: raise ValueError
'''
Основной код программы
'''
print('-= Данная программа вычисляет сумму всех элементов массива, стоящих между первым и последним элементами определённого значения =-')
print()
mas = input_Mas() # заполняем массив
print(mas)
while True:
try:
elem = float(input('Значение элемента, между которыми нужно посчитать сумму: '))
break
except ValueError:
print('Значение элемента должно быть числом.')
try:
print(f'Сумма между первым и последним {elem} равна: {sum(x for x in mas[getIndexOfElement(mas,elem)+1:getIndexOfElement(mas,elem,False)])}')
except:
print(f'Элемента {elem} в массиве {mas} не существует.')