Презентация - Одномерные массивы целых чисел на языке python

Нужно больше вариантов? Смотреть похожие
Нажмите для полного просмотра
Одномерные массивы целых чисел на языке python
Распечатать
  • Уникальность: 93%
  • Слайдов: 80
  • Просмотров: 372
  • Скачиваний: 45
  • Размер: 0.51 MB
  • Онлайн: Да
  • Формат: ppt / pptx
В закладки
Оцени!
  Помогли? Поделись!

Слайды и текст этой онлайн презентации

Слайд 1

Одномерные массивы целых чисел на языке python, слайд 1
ОДНОМЕРНЫЕ МАССИВЫ ЦЕЛЫХ ЧИСЕЛ НА ЯЗЫКЕ PYTHON
АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ

Слайд 2

Одномерные массивы целых чисел на языке python, слайд 2
Ключевые слова
массив описание массива заполнение массива вывод массива обработка массива последовательный поиск сортировка

Слайд 3

Одномерные массивы целых чисел на языке python, слайд 3
Массив
Массив – это поименованная совокупность однотипных элементов, упорядоченных по индексам, определяющим положение элемента в массиве.
Размерность массива – это количество индексов, необходимое для однозначного доступа к элементу массива.
Массивы с одним индексом называют одномерными, с двумя – двумерными и т.д.
Мы будем рассматривать одномерные массивы

Слайд 4

Одномерные массивы целых чисел на языке python, слайд 4
Размерность массива
Одномерный массив

Слайд 5

Одномерные массивы целых чисел на языке python, слайд 5
Обращение к элементу массива в языке Python
В языке Python нет такой структуры данных, как «массив»; для хранения группы однотипных объектов используют списки – объекты типа list.
Нумерация элементов массивов в Python всегда начинается с нуля. Для того, чтобы обратиться к элементу массива, записывают имя массива, а после него в квадратных скобках указывают индекс нужного элемента.
i – индексы
1.2.-3.5.7
Значение элементов
A[i] – обращение к элементам
A[0]
A[1]
A[2]
A[4]
A[3]

Слайд 6

Одномерные массивы целых чисел на языке python, слайд 6
Обращение к элементу массива в языке Python
A – имя массива A[0] = 1 (значение элемента массива A с индексом 0 равно 1), A[1] = 2, A[2] = -3, A[3] = 5, A[4] = 7, Индексом может быть не только целое число, но и целое значение переменной или арифметического выражения. Так, в нашем примере A[4 * i – 2] = -3 при i = 1. Индексом может быть даже значение элемента массива. В нашем примере A[A[1]] = -3.
i – индексы
1.2.-3.5.7
Значение элементов
A[i] – обращение к элементам
A[0]
A[1]
A[2]
A[4]
A[3]

Слайд 7

Одномерные массивы целых чисел на языке python, слайд 7
Обращение к элементу массива в языке Python
При обращении к элементу массива с несуществующим индексом происходит серьезная ошибка – выход за границы массива – и программа завершается аварийно. Длина массива (количество элементов массива) определяется с помощью функции len():N = len(A). Иногда размер массива хранят в отдельной переменной: N = 5.

Слайд 8

Одномерные массивы целых чисел на языке python, слайд 8
Способы заполнения массива в языке Python
1 способ. Перечисление значений элементов A = [1, 2, -3, 5, 7] или с помощью записи D = [1] * 5 2 способ. Ввод значений элементов в клавиатуры. Небольшие массивы можно вводить с клавиатуры. Для этого можно использовать цикл с параметром, выполняющий оператор ввода отдельно для каждого элемента массива: for i in range (N): A[i] = int(input())

Слайд 9

Одномерные массивы целых чисел на языке python, слайд 9
Способы заполнения массива в языке Python
2 способ. Чтобы перед вводом значения очередного элемента на экране появлялась подсказка с индексом этого элемента, можно использовать следующий цикл: for i in range (N): print(“A[{}]=”.format(i),end=“”) A[i] = int(input()) В это случае, например, при вводе значения элемента с индексом 2 на экран будет выведено A[2]= и справа от знака «=» будет мигать курсор – приглашение к вводу.

Слайд 10

Одномерные массивы целых чисел на языке python, слайд 10
Способы заполнения массива в языке Python
3 способ. Заполнение массива случайными числами. Для работы со случайными числами сначала нужно подключить функцию randint() модуля random(), генерирующую целое число в заданном диапазоне: from random import randint Далее задаем цикл с параметром: for i in range (N): A[i] = randint(10,110) Массив из N элементов будет заполнен случайными числами, принадлежащих отрезку от [10, 110].

Слайд 11

Одномерные массивы целых чисел на языке python, слайд 11
Способы заполнения массива в языке Python
4 способ. Задание значений элементов массива по формуле: Пример 1 for i in range (N): A[i] = i Заполнит массив целыми числами от 0 до N-1 Пример 2 for i in range (N): A[i] = i**2 Заполняет элементы массива числами, равными квадратам их индексов.

Слайд 12

Одномерные массивы целых чисел на языке python, слайд 12
Вывод массива на языке Python
1 способ. Вывести список как один объект: print(A)
[45,.21,.56,.43,.83,.56,.69,.34,.28,.15]
2 способ. Вывести по одному, используя цикл: for i in range (len(A)): print(A[i], end = “ ”) Параметр end определяет, что после вывода каждого элемента добавляется пробел, а не символ перехода на новую строку.
45.21.56.43.83.56.69.34.28.15

Слайд 13

Одномерные массивы целых чисел на языке python, слайд 13
Вывод массива на языке Python
3 способ. Вывести в столбик: for i in range (len(A)): print(A[i])
A[1]=4
A[2]=1
A[3]=6
A[4]=3
A[5]=8
A[6]=5
A[7]=9
A[8]=4
A[9]=8
A[10]=7
4 способ. Вывести с комментарием: for i in range (N): print(‘A[‘,i,’]=‘,A[i])

Слайд 14

Одномерные массивы целых чисел на языке python, слайд 14
Вывод массива на языке Python
На основании рассмотренных примеров напишем программу, в которой осуществляется: заполнение целочисленного массива A, состоящего из 10 элементов, случайными числами, значения которых изменяются в диапазоне от 0 до 99; вывод массива A на экран:

Слайд 15

Одномерные массивы целых чисел на языке python, слайд 15
Проверка домашнего задания
№ 68 ТР. На блок-схеме представлен алгоритм ввода массива из 10 целых чисел с помощью цикла с предусловием. Запишите соответствующую программу на зыке Pyrthon
N=10 A=[0]*N i=1 while i<=10: print('a[',i,']') A[i]=int(input()) i+=1
Нет
Да

Слайд 16

Одномерные массивы целых чисел на языке python, слайд 16
Проверка домашнего задания
№ 69 ТР. На блок-схеме представлен алгоритм ввода массива из 10 целых чисел с помощью цикла с параметром. Запишите соответствующую программу на языке Python
N=10 A=[0]*10 for i in range(10): A[i]=int(input()) print('a[',i,'] = ',A[i])

Слайд 17

Одномерные массивы целых чисел на языке python, слайд 17
Проверка домашнего задания
№ 69 ТР. На блок-схеме представлен алгоритм ввода массива из 10 целых чисел с помощью цикла с постусловием. Запишите соответствующую программу на зыках программирования
N=10 A=[0]*10 i=1 while True: print('a[',i,']') A[i]=int(input()) i+=1 if i>10: break
Нет
Да

Слайд 18

Одномерные массивы целых чисел на языке python, слайд 18
Вычисление суммы элементов массива
Пример. В некотором населенном пункте N домов. Известно, сколько людей проживает в каждом из домов. Составим алгоритм подсчета количества жителей населенного пункта.
Исходные данные (количество жильцов) представим в виде одномерного массива А, содержащего N элементов: A [0] - количество жильцов дома 1, A [1] – количество жильцов дома 2, A [N-1] – количество жильцов дома N.

Слайд 19

Одномерные массивы целых чисел на языке python, слайд 19
Вычисление суммы элементов массива
Начало
Конец

Слайд 20

Одномерные массивы целых чисел на языке python, слайд 20
Вычисление суммы элементов массива
Суммирование элементов массива осуществляется за счёт поочерёдного добавления слагаемых:
Определяется ячейка памяти (переменная s), в которой будет последовательно накапливаться результат суммирования
Переменной s присваивается начальное значение 0 - число, не влияющее на результат сложения
Для каждого элемента массива из переменной s считывается её текущее значение и складывается со значением элемента массива; полученный результат присваивается переменной s.

Слайд 21

Одномерные массивы целых чисел на языке python, слайд 21
Вычисление суммы элементов массива
N раз текущее значение переменной s складывается со значением текущего массива A [i] ; полученный результат присваивается переменной s.

Слайд 22

Одномерные массивы целых чисел на языке python, слайд 22
Вычисление суммы элементов массива на Python
s = 0.s = 0
s =s + A[0].s = 0 + A[0]
s =s + A[1].s = 0 + A[0]+ A[1]
s =s + A[2].s = 0 + A[0]+ A[1]+ A[2]
….…
s =s + A[N-1].s = 0+A[0]+A[1]+A[2]+…+A[n-1]
Основной фрагмент программы: s=0 for i in range (N): s += A[i]

Слайд 23

Одномерные массивы целых чисел на языке python, слайд 23
Вычисление суммы элементов массива на Python
s=0 for i in range(N): s=s+A[i] print(‘s = ‘,s)
Вычисление суммы элементов массива
Вывод результата

Слайд 24

Одномерные массивы целых чисел на языке python, слайд 24
Вычисление суммы элементов массива
N=10 a=[0]*N from random import randint s=0 for i in range(N): a[i]=randint(50,200) print(a[i],'') s=s+a[i] print('s = ',s)
Второй способ оформления: Используем операторные скобки и всё (ввод, вывод, обработку) делаем в одном цикле.

Слайд 25

Одномерные массивы целых чисел на языке python, слайд 25
Вопросы и задания
1. Объясните разницу между понятиями «индекс элемента массива» и «значение элемента массива».
2. Может ли массив одновременно содержать целые и вещественные значения?
3. Для чего предназначены массивы?
4. Для чего необходимо описание массива?

Слайд 26

Одномерные массивы целых чисел на языке python, слайд 26
Вопросы и задания
5. Запишите в следующем формате: A[<индекс>]=<значение элемента массива> Значения элементов массивов, сформированных следующим образом: а) for i in range (7): A[i]=1
i.0.1.2.3.4.5.6
A[i].1.1.1.1.1.1.1

Слайд 27

Одномерные массивы целых чисел на языке python, слайд 27
Вопросы и задания
б) for i in range (7): A[i]=i
i.0.1.2.3.4.5.6
A[i].0.1.2.3.4.5.6
в) for i in range (7): A[i]=i*i-4
i.0.1.2.3.4.5.6
A[i].-4.-3.0.5.12.21.32

Слайд 28

Одномерные массивы целых чисел на языке python, слайд 28
Вопросы и задания
г) A[3,4,-1,5,0,10,-12]
i.0.1.2.3.4.5.6
A[i].3.4.-1.5.0.10.-12
д) for i in range (8): if i%2==0: A[i]=i/2 else: A[i]=0
i.0.1.2.3.4.5.6
A[i].0.0.1.0.2.0.3

Слайд 29

Одномерные массивы целых чисел на языке python, слайд 29
Напишем программы
а) for i in range (7): A[i]=1
N=7 A=[0]*N for i in range (7): A[i]=1 for i in range (7): print('A[',i,'] = ',A[i])
б) for i in range (7): A[i]=i
N=7 A=[0]*N for i in range (7): A[i]=i for i in range (7): print('A[',i,'] = ',A[i])

Слайд 30

Одномерные массивы целых чисел на языке python, слайд 30
Напишем программы
г) A[3,4,-1,5,0,10,-12]
A=[3,4,-1,5,0,10,-12] for i in range (7): print('A[',i,'] = ',A[i])
в) for i in range (7): A[i]=i*i-4
N=7 A=[0]*N for i in range (7): A[i]=i*i-4 for i in range (7): print('A[',i,'] = ',A[i])

Слайд 31

Одномерные массивы целых чисел на языке python, слайд 31
Напишем программы
д) for i in range (8): if i%2==0: A[i]=i/2 else: A[i]=0
N=7 A=[0]*N for i in range (7): if i%2 == 0: A[i]=i/2 else: A[i]=0 for i in range (7): print('A[',i,'] = ',A[i])

Слайд 32

Одномерные массивы целых чисел на языке python, слайд 32
Вопросы и задания
6. Что вы можете сказать о массиве сформированным следующим образом?
а) for i in range (10): A[i]=random.randint(-50,50) б) for i in range (20): A[i]=i в) for i in range (0,5): A[i]=2*i-1
а) массив а, состоящих из 10 элементов, значениями которых являются случайные целые числа, принадлежащие отрезку [–50; 50]
б) массив а, состоящих из 20 элементов, значениями которых являются целые числа, совпадающие с индексами элементов;
в) массив а, состоящих из 5 целочисленных элементов, значения которых вычисляются по заданной формуле.

Слайд 33

Одномерные массивы целых чисел на языке python, слайд 33
Вопросы и задания
7. Чему равна сумма элементов массива A[0] и A[5] сформированным следующим образом?
Алгоритмический язык.Пример выходных данных
нц для i от 0 до 9 A[i]:= i*i-5 кц.for i in range (10): A[i]= i*i-5
i.0.1.2.3.4.5.6.7.8.9
A[i].-5.-4.-1.4.11.20.31.44.59.76
A[0] + A[5] = -5 + 20 = 15

Слайд 34

Одномерные массивы целых чисел на языке python, слайд 34
Напишем программу
N=10 A=[0]*N s=0 for i in range (10): A[i]=i*i-5 for i in range (10): print('A[',i,'] = ',A[i]) for i in range(N): s=A[0]+A[5] print('s = ',s)

Слайд 35

Одномерные массивы целых чисел на языке python, слайд 35
Вопросы и задания
8. Известны значения элементов одномерного целочисленного массива A, состоящего из 5 элементов:
i.0.1.2.3.4
A[i].4.1.-5.7.2
Чему равно значение A[A[4]]?
A[4] = 2, A[2] = -5

Слайд 36

Одномерные массивы целых чисел на языке python, слайд 36
Вопросы и задания
9. Чему равно среднее арифметическое элементов массива A[3] и A[4], сформированного следующим образом?
Алгоритмический язык.Пример выходных данных
нц для i от 0 до 9 если mod(i,2)=0 то A[i]:=i/2 иначе A[i]:=(i+1)/2 все кц.for i in range (10): if i%2==0: A[i]= i*i-5 else: A[i]=(i+1)/2

Слайд 37

Одномерные массивы целых чисел на языке python, слайд 37
Вопросы и задания
N=10 A=[0]*N for i in range (10): if i%2==0: A[i]=i/2 else: A[i]=(i+1)/2 for i in range (10): print('A[',i,'] = ',A[i]) for i in range(N): s=A[3]+A[4] sr=s/2 print('sr = ',sr)

Слайд 38

Одномерные массивы целых чисел на языке python, слайд 38
Вопросы и задания
10. Найдите сумму значений элементов массива A[1] и A[4], сформированного следующим образом
for i in range (6): A[i]= i*(i+1)
i.0.1.2.3.4.5
A[i].0.2.6.12.20.30
Напишем программу
A[1] + A[4] = 2 + 20 = 22
N=6 A=[0]*N for i in range (6): A[i]=i*(i+1) for i in range (6): print('A[',i,'] = ',A[i]) for i in range(N): s=A[1]+A[4] print('s = ',s)

Слайд 39

Одномерные массивы целых чисел на языке python, слайд 39
Вопросы и задания
11. Массив задан следующим образом: B[2,1,2,3,5,11]. Найдите значение выражения B[5]*B[4]-B[2]-B[3]*B[1].

Слайд 40

Одномерные массивы целых чисел на языке python, слайд 40
Вопросы и задания
12. Массив A из десяти элементов сформирован следующим образом:
Алгоритмический язык.Пример выходных данных
нц для i от 0 до 9 A[i]:=i*i кц.for i in range (10): A[i]= i*i
К данному массиву был применён следующий алгоритм:
Алгоритмический язык.Пример выходных данных
b:=A[9] нц для i от 0 до 8 A[9-i]:=A[8-i] кц A[0]:=b.b=a[9] for i in range (9): A[9-i]=A[8-i] A[0]=b
Чему равно значение седьмого элемента образованного массива?

Слайд 41

Одномерные массивы целых чисел на языке python, слайд 41
Напишем программу
Сформированный массив
i.0.1.2.3.4.5.6.7.8.9
A[i].0.1.4.9.16.25.36.49.64.81
Обработанный массив
i.0.1.2.3.4.5.6.7.8.9
A[i].81.0.1.4.9.16.25.36.49.64
N=10 A=[0]*N for i in range (10): A[i]=i*i b=A[9] for i in range(9): A[9-i]=A[8-i] A[0]=b for i in range (10): print('A[',i,'] = ',A[i]) print(A[7])

Слайд 42

Одномерные массивы целых чисел на языке python, слайд 42
Вопросы и задания
13. Массив A из десяти элементов сформирован следующим образом:
Алгоритмический язык.Пример выходных данных
нц для i от 0 до 9 A[i]:=11-i кц.for i in range (10): A[i]= 11-i
К данному массиву был применён следующий алгоритм:
Алгоритмический язык.Пример выходных данных
нц для i от 0 до 8 A[i+1]:=A[i] кц.for i in range (9): A[i+1]=A[i]
Чему равно среднее арифметическое значений элемента образованного массива?

Слайд 43

Одномерные массивы целых чисел на языке python, слайд 43
Напишем программу
Сформированный массив
i.0.1.2.3.4.5.6.7.8.9
A[i].11.10.9.8.7.6.5.4.3.2
Обработанный массив
i.0.1.2.3.4.5.6.7.8.9
A[i].11.11.11.11.11.11.11.11.11.11
N=10 A=[0]*N s=0 for i in range(10): A[i]=11-i for i in range(9): A[i+1]=A[i] print('A[',i,'] = ',A[i]) for i in range(9): s+=A[i] sr=s/10 print('sr = ',sr)

Слайд 44

Одномерные массивы целых чисел на языке python, слайд 44
Вопросы и задания
14. Определите, что будет выведено в результате выполнения следующей программы:
а) A = [1,7,3,6,0,10] s=0 for i in range (6): s=s+A[i] sr=s/6 print(‘sr = ‘,sr)
i.0.1.2.3.4.5
s.1.8.11.17.17.27
sr.-.-.-.-.-.4.5
sr = 4.5

Слайд 45

Одномерные массивы целых чисел на языке python, слайд 45
Вопросы и задания
б) A = [0]*7 for i in range (7): A[i]=i*3 k=0 for i in range(7): if A[i] > 10: k+=1 print(‘k= ‘,k)
i.0.1.2.3.4.5.6
k.0.0.0.0.1.2.3
k = 3

Слайд 46

Одномерные массивы целых чисел на языке python, слайд 46
Вопросы и задания
в) A=[-1,7,-3,-6,0,1,2] m=0 n=0 k=0 for i in range(7): if A[i]>0: m+=1 if A[i] < 0: n+=1 if A[i]==0: k+=1 print('m = ',m,'n = ',n,'k = ',k)
i.0.1.2.3.4.5.6
m..1....2.3
n.1..2.3...
k.....1..
m = 3, n = 3, k = 1

Слайд 47

Одномерные массивы целых чисел на языке python, слайд 47
Вопросы и задания
г) A=[-1,7,-3,-6,0,1,2] d = 0 m = A[0] for i in range(1,5): if m < A[i]: d = 1 m = A[i] print(‘d = ',d)
i..1.2.3.4.5
d.0...1.1.
m.0...-3.-6.
d = 1

Слайд 48

Одномерные массивы целых чисел на языке python, слайд 48
Вопросы и задания
№ 7 Учебник. Напишите программу, которая вычисляет среднюю температуру воздуха за неделю с точностью до двух знаков после запятой. Исходные данные вводятся с клавиатуры.
Пример входных данных.Пример выходных данных
Введите температуру Понедельник 12 Вторник 10 Среда 16 Четверг 18 Пятница 17 Суббота 16 Воскресенье 14.Средняя температура за неделю: 14,71

Слайд 49

Одномерные массивы целых чисел на языке python, слайд 49
Напишем программу
Dat = [0]*7 s=0 print('Введите температуру:') Dat[0] = int(input('Понедельник ')) Dat[1] = int(input('Вторник ')) Dat[2] = int(input('Среда ')) Dat[3] = int(input('Четверг ')) Dat[4] = int(input('Пятница ')) Dat[5] = int(input('Суббота ')) Dat[6] = int(input('Воскресенье ')) for k in range(7): s+=Dat[k] sr=s/7 print('Средняя температура за неделю: ','{:.2f}'.format(sr))

Слайд 50

Одномерные массивы целых чисел на языке python, слайд 50
Последовательный поиск в массиве
Типовые задачи поиска
Нахождение наибольшего (наименьшего) элемента массива
Нахождение элемента массива, значение которого равно заданному значению

Слайд 51

Одномерные массивы целых чисел на языке python, слайд 51
Последовательный поиск в массиве
Для решения таких задач в программе необходимо организовать последовательный просмотр элементов массива и сравнение значения очередного просматриваемого элемента с неким образцом.
Рассмотрим подробно решение задач первого типа: нахождение наибольшего (наименьшего) элемента.
Представим себе одномерный массив в виде стопки карточек, на каждой из которых написано число.

Слайд 52

Одномерные массивы целых чисел на языке python, слайд 52
Нахождение наибольшего элемента в стопке карточек с записанными числами:
1) возьмем верхнюю карточку, записать на доске (запомнить) число как наибольшее.
2) Возьмем следующую карточку; сравним числа, записанные на карточке и на доске; если число на карточке больше, то сотрем число, записанное на доске, и запишем там то же число, что и на карточке; если же новое число не больше, то на доске оставим имеющуюся запись; уберем карточку в сторону
3) Повторить действия, описанные в пункте 2 для всех оставшихся карточек.
!
При организации поиска наибольшего элемента массива правильнее искать его индекс.

Слайд 53

Одномерные массивы целых чисел на языке python, слайд 53
Последовательный поиск в массиве
В программировании при обосновании корректности циклических алгоритмов используется понятие инварианта цикла.
Инвариант цикла – логическое выражение (условие), зависящее от переменных, изменяющихся в теле цикла и после каждого перехода тела цикла.
Условие, «записанное на доске число – самое большое из всех просмотренных до сих пор» является инвариантом цикла для рассмотренного алгоритма.
Так как доступ к значению элемента массива осуществляется по его индексу, при организации поиска наибольшего элемента в одномерном массиве можно искать его индекс.

Слайд 54

Одномерные массивы целых чисел на языке python, слайд 54
Последовательный поиск в массиве
Обозначим искомый индекс imax. Тогда описанный выше алгоритм поиска наибольшего элемента в массиве A на языке Python можно записать следующим образом

Слайд 55

Одномерные массивы целых чисел на языке python, слайд 55
Последовательный поиск в массиве
Рассмотрим работу этого алгоритма для массива
A = [100, 120, 130, 80, 70]
imax.i.A[i] > A[imax]
0.1.120 > 100 (Да)
1.2.130 > 120 (Да)
2.3.80 > 130 (Нет)
2.4.70 > 13 (Нет)
Наибольший элемент: 130
Если в массиве есть несколько элементов, значения которых равны максимальному значению, то данная программа найдет первый из них (первое вхождение). Подумайте, чтобы в ней находился последний из максимальных элементов. Как следует преобразовать программу, чтобы с ее помощью можно было найти минимальный элемент массива?

Слайд 56

Одномерные массивы целых чисел на языке python, слайд 56
Последовательный поиск в массиве
Результатом решения задачи второй типа (элемента массива, значение которого равно заданному значению) может быть:
k – индекс элемента массива такой, что A[k] = x, где x – заданное число; сообщение о том, что искомого элемента в массиве не обнаружено.
10.50.1.3.50.14.21.50.10.21
Здесь: трём равен 4-й элемент; десяти равны 1-й и 9-й элементы; нет элемента, равного 12.

Слайд 57

Одномерные массивы целых чисел на языке python, слайд 57
Последовательный поиск в массиве

Слайд 58

Одномерные массивы целых чисел на языке python, слайд 58
Последовательный поиск в массиве
В этой программе последовательно просматриваются все элементы массива. Номер найденного элемента сохраняется в переменной k (nx); начальное значение, присваиваемое этой переменной, заведомо не совпадает ни с одним из значений индексов элементов массива. Если значение k (nx) не изменилось в ходе выполнения цикла и осталось равным 0 (-1), то это означает, что в массиве нет элемента равного x.

Слайд 59

Одномерные массивы целых чисел на языке python, слайд 59
Последовательный поиск в массиве
Во многих случаях требуется найти первый из элементов, имеющих соответствующее значение, и дальнейший просмотр массива прекратить
Для этой цели можно использовать следующий фрагмент программы:
nx = -1 for i in range(N): if A[i] == x: nx = i break if nx >=0: print(“A[{}]={}”.format(nx,x)) else: print(‘Элемент не найден’)

Слайд 60

Одномерные массивы целых чисел на языке python, слайд 60
Последовательный поиск в массиве
Используя цикл с параметром, мы начали последовательный перебор элементов массива и завершим его досрочно, как только будет найдено требуемое значение. В таком случае для выхода из цикла используется оператор break.
Выполнение алгоритма будет завершено (прервано) в одном из двух случаев: в массиве найден первый из элементов, равный заданному; все элементы массива просмотрены.

Слайд 61

Одномерные массивы целых чисел на языке python, слайд 61
Последовательный поиск в массиве
Запишите полный текст программы и выполните ее на компьютере.
N=10 A=[0]*N from random import randint for i in range(N): A[i]= randint(0,99) print ('A[',i,'] = ',A[i]) x = int(input(‘x = ‘)) nx = -1 for i in range(0,N): if A[i] == x: nx = i break if nx >=10: print('A[{}]={}',format(nx,x)) else: print('Элемент не найден',nx)

Слайд 62

Одномерные массивы целых чисел на языке python, слайд 62
Последовательный поиск в массиве
Зачастую требуется определить количество элементов, удовлетворяющих некоторому условию. В этом случае вводится переменная, значение которой увеличивается на единицу каждый раз, когда найден нужный элемент.
Определите, количество каких элементов подсчитывается с помощью следующего фрагмента программы.
k = 0 for i in range(10): if A[i] > 50: k = k + 1; print(‘k = ’,k)

Слайд 63

Одномерные массивы целых чисел на языке python, слайд 63
Последовательный поиск в массиве
Если требуется определить сумму значений элементов, удовлетворяющих некоторому условию, то вводят переменную, к значению которой прибавляют значение найденного элемента массива.
Определите, какому условию удовлетворяют элементы массива, значения которых суммируются с помощью следующего фрагмента программы
s = 0 for i in range(10): if A[i] > 50 and A[i] < 60: s += A[i] print(‘s = ’,s)

Слайд 64

Одномерные массивы целых чисел на языке python, слайд 64
Последовательный поиск в массиве
Запишите полные тексты двух последних программ и выполните их на компьютере.
A = [1,55,50,120,50,17,4,-50,80,50] s = 0 for i in range (10): if (A[i]>50) and (A[i]<60): s+=A[i] print('s = ',s)

Слайд 65

Одномерные массивы целых чисел на языке python, слайд 65
Вопросы и задания
17. Проанализируйте представленный в форме блок-схемы алгоритм и укажите результат его выполнения при заданном входном потоке данных: -5, 3, 1, -4, -3, 2, 5, -1, -7, 4.

Слайд 66

Одномерные массивы целых чисел на языке python, слайд 66
Напишем программу
Запишите соответствующую программу на языке программирования Python.
A=[-5,3,1,-4,-3,2,5,-1,-7,4] y=0 z=0 for i in range(10): if A[i]>0: z+=A[i] else: y+=A[i] print('y = ',y,'','z = ',z)

Слайд 67

Одномерные массивы целых чисел на языке python, слайд 67
Вопросы и задания
18. Установите соответствие между записанными на языке Python фрагмент программ обработки одномерного массива и результатами их работы.
а) y = 0 for i in range(10): if A[i] == 0: y += 1
д) m = a[0] for i in range(1,10): if A[i] > m: m = A[i]
б) s = 0 for i in range(15): if A[i] % 2 == 0: s += a[i]
е) z = 1 for i in range(10): if A[i] != 0: z *= A[i]
в) n = 0 for i in range(1,10): if A[i] < a[n]: n = i
1. Произведение ненулевых элементов массива
2. Значение наибольшего элемента массива
3. Сумма всех элементов массива с четными номерами
г) k = 0 for i in range(100): if A[i] % 5 == 0: k += 1
4. Номер (индекс) минимального элемента массива
5. Количество всех элементов массива, значение которых кратно 5
6. Количество ненулевых элементов массива

Слайд 68

Одномерные массивы целых чисел на языке python, слайд 68
Вопросы и задания
19. В массиве Dat хранятся данные измерений среднесуточной температуры за неделю в градусах (Dat [1] – данные за понедельник, Dat[2] – данные за вторник и т.д.). Определите, что будет выведено в результате работы программы, записанной на алгоритмическом языке. Запишите эту программу на языке Python.
алг нач целтаб Dat [1..7] цел m, k Dat [1] =12; Dat [2] = 14; Dat [3] =13; Dat [4] = 15; Dat [5] =15; Dat [6] = 12; Dat [7] =16 m := 0 нц для k от 1 до 7 если Dat[k] > 14 то m := m + 1 все кц вывод m кон
Dat = [12,14,13,15,15,12,16] m=0 for k in range(7): if Dat[k]>14: m+=1 print(m)

Слайд 69

Одномерные массивы целых чисел на языке python, слайд 69
Вопросы и задания
№ 18 доп. главы. Дан массив из десяти целых чисел. Напишите программу подсчета количества элементов этого массива, имеющих максимальное значение
Зададим массив вводом с клавиатуры
N = 10 A = [0]*N for i in range (N): A[i]=int(input()) print('A [',i,']= ',A[i]) imax=A[0] for i in range (1,N): if A[i] > imax: imax=A[i] print('Максимальный элемент = ', imax) cnt = 0 for i in range(N): if A[i]==imax: cnt+=1 print('Количество максимальных элементов = ', cnt)

Слайд 70

Одномерные массивы целых чисел на языке python, слайд 70
Вопросы и задания
№ 18 доп. главы. Дан массив из десяти целых чисел. Напишите программу подсчета количества элементов этого массива, имеющих максимальное значение
Зададим массив с помощью рандомных чисел
N = 10 A = [0]*10 from random import randint for i in range(N): A[i] = randint(0,99) print('A[',i,'] = ',A[i]) imax=A[0] for i in range (1,N): if A[i] > imax: imax=A[i] print('Максимальный элемент = ', imax) cnt = 0 for i in range(N): if A[i]==imax: cnt+=1 print('Количество максимальных элементов = ', cnt)

Слайд 71

Одномерные массивы целых чисел на языке python, слайд 71
Вопросы и задания
№ 8 Учебник (№ 19 доп. главы). В классе 20 учеников писали диктант по русскому языку. Напишите программу, подсчитывающую количество двоек, троек, четверок и пятерок, полученных за диктант.
N=20 A=[0]*N from random import randint cnt2=0 cnt3=0 cnt4=0 cnt5=0 for i in range(N): A[i]=randint(2,5) print('a [ ',i,'] = ',A[i]) if A[i]==2: cnt2+=1 elif A[i]==3: cnt3+=1 elif A[i]==4: cnt4+=1 elif A[i]==5: cnt5+=1 print('Количество двоек ',cnt2) print('Количество двоек ',cnt3) print('Количество двоек ',cnt4) print('Количество двоек ',cnt5)

Слайд 72

Одномерные массивы целых чисел на языке python, слайд 72
Вопросы и задания
№ 9 Учебник (№ 20 доп. главы). Объявлен набор в школьную баскетбольную команду. Известен рост каждого из N учеников, желающих попасть в эту команду. Составьте алгоритм подсчета количества претендентов, имеющих шанс попасть в команду, если рост игрока команды должен быть не менее 170 см. Запишите программу на языке Python. Считайте рост претендента в команду случайным числом из диапазона от 150 до 200 см, а число претендентов N = 50.
N = 50 A = [0]*N cnt=0 from random import randint for i in range(N): A[i] = randint(150,201) print('A[',i,'] = ',A[i]) if A[i] >= 170: cnt+=1 print('Количество претендентов ',cnt)

Слайд 73

Одномерные массивы целых чисел на языке python, слайд 73
Вопросы и задания
№ 10 Учебник (№ 21 доп. главы). В целочисленных массивах A и B содержатся длины катетов десяти прямоугольных треугольников (A [i] – длина первого катета, B [i] – длина второго катета i – го треугольника). Найдите треугольник с наибольшей площадью. Выведите его номер, длины катетов и площадь. Предусмотрите случай, когда таких треугольников несколько.

Слайд 74

Одномерные массивы целых чисел на языке python, слайд 74
Сортировка массива
Под сортировкой (упорядочением) массива понимают перераспределение значений его элементов в некотором определенном порядке. Порядок, при котором в массиве первый элемент имеет самое маленькое значение, а значение каждого следующего элемента меньше значения предыдущего элемента, называют неубывающим. Порядок, при котором в массиве первый элемент имеет самое большое значение, а значение каждого следующего элемента больше значения предыдущего элемента, называют невозрастающим. Цель сортировки – облегчить последующий поиск элементов: искать нужный элемент в упорядоченном массиве легче. Рассмотрим один из возможных алгоритмов сортировки массивов – сортировку выбором.

Слайд 75

Одномерные массивы целых чисел на языке python, слайд 75

Сортировка массива
Сортировка элементов массива по невозрастанию выбором осуществляется следующим образом:
1. В массиве выбирается максимальный элемент
2. Максимальный и первый элемент меняются местами (первый элемент считается отсортированным)
3. В неотсортированной части массива снова выбирается максимальный элемент; он меняется местами с первым неотсортированным элементом массива
Действия пункта 3 повторяются с неотсортированными элементами массива, пока не останется один неотсортированный элемент (минимальный)

Слайд 76

Одномерные массивы целых чисел на языке python, слайд 76
Сортировка массива
Рассмотрим процесс сортировки выбором на примере массива A = [0, 1, 9, 2, 4, 3, 6, 5]
Индекс.1.2.3.4.5.6.7.8
Значение.0.1.9.2.4.3.6.5
Шаги.1........
2........
3........
4........
5........
6........
7........
Итог:........

Слайд 77

Одномерные массивы целых чисел на языке python, слайд 77
Сортировка массива
Приведем фрагмент программы, реализующий описанный алгоритм:
for i in range (n-1): imax = i for j in range (i + 1, n): if A[j] > A[imax]: imax = j A[i], A[imax] = A[imax], A[i]
Здесь мы использовали один цикл внутри другого. Такая инструкция называется вложенным циклом.

Слайд 78

Одномерные массивы целых чисел на языке python, слайд 78
Сортировка массива
Запишите полный текст программы и выполните ее на компьютере для рассмотренного в примере массива A
N=10 A=[0]*N print('Исходный массив') for i in range(N): A[i]=int(input()) for i in range(N): print('A[',i,'] = ',A[i]) for i in range(N-1): imax=i for j in range(i+1,N): if A[j] > A[imax]: imax=j x=A[i] A[i]=A[imax] A[imax]=x print('Отсортированный по убыванию массив ') for i in range(N): print('A[',i,'] = ',A[i])

Слайд 79

Одномерные массивы целых чисел на языке python, слайд 79
Вопросы и задания
№ 11 Учебник (№ 22 доп. главы). Занесите информацию о десяти странах мира в массивы NAME (название страны), K (численность населения), S (площадь страны). Напишите программу, выводящую названия стран в порядке возрастания плотности их населения.

Слайд 80

Одномерные массивы целых чисел на языке python, слайд 80
Самое главное
Массив - это поименованная совокупность однотипных элементов, упорядоченных по индексам, определяющим положение элементов в массиве. В языках программирования массивы используются для реализации таких структур данных, как последовательности и таблицы.
Заполнять массив можно либо вводя значение каждого элемента с клавиатуры, либо присваивая элементам некоторые значения. При заполнении массива и его выводе на экран используется цикл с параметром. Решение разнообразных задач, связанных с обработкой массивов, базируется на таких типовых задачах, как: суммирование элементов массива; поиск элемента с заданными свойствами; сортировка массива.
^ Наверх
X
Благодарим за оценку!

Мы будем признательны, если Вы так же поделитесь этой презентацией со своими друзьями и подписчиками.