Thon Условные



бет32/38
Дата23.02.2020
өлшемі2,05 Mb.
#58878
1   ...   28   29   30   31   32   33   34   35   ...   38
Байланысты:
8-3 python

§ 22. Алгоритмы обработки массивов

Ключевые слова:

сумма элементов массива максимальный элемент подсчёт элементов

Сумма элементов массива

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



Для того чтобы накапливать сумму, нужно ввести пере-менную, назовём её summa.

Какое начальное значение нужно записать в переменную summa?

В программе есть переменные summa и x. Запишите оператор, с помощью которого можно добавить значение x к значению summa.

Для решения задачи нужно выполнить перебор элементов массива в цикле. На каждом шаге цикла к значению summa до-бавляется значение очередного элемента массива.

Будем считать, что массив уже заполнен. Тогда сумму его элементов можно найти так:

summa = 0

for i in range(N):

summa += A[i] print(summa)

Покажем, как работает этот алгоритм для массива A:

0 1 2 3 4

5 2 8 3 1


A

Рис. 3.9.



89 http://kpolyakov.spb.ru

05.04.2019 Информатика, 8 класс К.Ю. Поляков, Е.А. Еремин

Выполним трассировку («ручную прокрутку») программы. За-пишем в таблице выполняемые команды (операторы) и измене-ние всех переменных ам массив A при этом не меняется):

1 2 3 4 5 6 7 8 9

10 11

Фоном выделены команды, которые выполняются автома-тически в цикле по переменной: в строке 2 переменной i при-сваивается начальное значение, а в строках 4, 6, 8 и 10 после очередного выполнения цикла значение этой переменной уве-личивается на единицу.



Поскольку массив A не изменяется, сложить все его элемен-ты удобно с помощью такого цикла:

summa = 0 for x in A:

summa += x print( summa )

Заметим, что при этом не нужно хранить размер массива в пе-ременной.

В языке Python есть встроенная функция sum, которая сразу



считает сумму элементов массива, так что задача решается в одну строку:

print( sum(A) )

Для массива на Рис. 3.9 выполните ручную прокрутку программы и определите, какое значение будет выведено:

90 http://kpolyakov.spb.ru


Оператор

i

summa

summa = 0




0

i = 0

0




summa += A[0]




5

i += 1

1




summa += A[1]




7

i += 1

2




summa += A[2]




15

i += 1

3




summa += A[3]




18

i += 1

4




summa += A[4]




19

05.04.2019 Информатика, 8 класс К.Ю. Поляков, Е.А. Еремин



summa = 0 for x in A:

if x % 2 == 0:

summa += x print( summa )

Измените условие отбора в программе из предыдущего задания, так чтобы при обработке массива на Рис. 3.9 в переменной summa получилось число 13.

Напишите фрагмент программы, с помощью которых можно найти в переменной p

а) произведение всех элементов массива;

б) произведение положительных элементов массива. Подумайте, какое должно быть начальное значение переменной p и как она должна изменяться на каждом шаге цикла.


Достарыңызбен бөлісу:
1   ...   28   29   30   31   32   33   34   35   ...   38




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

    Басты бет