Файл: Алгоритм и его свойства Простейшие программы Вычисления Ветвления Символьные строки Циклические алгоритмы Массивы (списки) Поиск в массиве Алгоритм и его свойства Что такое алгоритм.pptx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 30.11.2023

Просмотров: 271

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Алгоритм и его свойства

Простейшие программы

Вычисления

Ветвления

Символьные строки

Циклические алгоритмы

Массивы (списки)

Поиск в массиве

Алгоритм и его свойства

Что такое алгоритм?

Свойства алгоритма

Введение в язык Python

Черепашья графика

TURTLE

Координатное поле окна для рисования

Задания для рисования

Как организовать цикл (36 повторений)?

Координатное поле

Простейшие программы

Простейшая программа

Вывод на экран

Задания

Сложение чисел

Сумма: псевдокод

Переменные

Имена переменных

Типы переменных

Зачем нужен тип переменной?

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

Ввод с подсказкой

Изменение значений переменной

Вывод данных

Вывод данных через format

Сложение чисел: простое решение

Сложение чисел: полное решение

Задания

Задания

Вычисления

Арифметическое выражения

Деление

Остаток от деления

Операторы // и %

Сокращенная запись операций

Ввод двух значений в одной строке

Задания

Задания

Случайные числа

Случайные числа на компьютере

Линейный конгруэнтный генератор

Задачи

Задачи

Ветвления

Условный оператор

Условный оператор: неполная форма

Условный оператор

Знаки отношений

Вложенные условные операторы

Каскадное ветвление

Каскадное ветвление

Задачи (без функций min и max!)

Задачи

Задачи

Сложные условия

Сложные условия

Сложные условия

Задачи

Задачи

Задачи

Символьные строки

Символьные строки

Символьные строки

Символьные строки

Срезы

Срезы строк

Операции со строками

Операции со строками

Задачи

Задачи

Задачи

Циклические алгоритмы

Что такое цикл?

Повторения в программе

Блок-схема цикла

Как организовать цикл?

Цикл с условием

Цикл с условием

Задачи

Задачи

Задачи

Алгоритм Евклида

Алгоритм Евклида

Задачи

Задачи

Обработка строк в цикле

Проверка символов

Задачи

Задачи

Цикл с переменной

Цикл с переменной

Цикл с переменной: другой шаг

Задачи

Задачи

Массивы (списки)

Что такое массив?

Что такое массив?

Массивы в Python: списки

Заполнение массива

Заполнение случайными числами

Вывод массива на экран

Задачи

Задачи

Перебор элементов

Что выведет программа?

Подсчёт нужных элементов

Перебор элементов

Как работает цикл?

Среднее арифметическое

Задачи

Задачи

Поиск в массиве

Поиск в массиве

Поиск в массиве

Поиск в массиве

Задачи

Задачи

Задачи

Максимальный элемент

Максимальный элемент

Задачи (без функции max)

Задачи

Конец фильма


A

x

summa

4

3

6

8

1

0

4

10

18

Среднее арифметическое


count = 0

summa = 0

for x in A:

if x % 10 == 5:

count += 1

summa += x

print ( summa/count )

среднее арифметическое

или так:

B = [ x for x in A ]

if x % 10 == 5]

print ( sum(B)/len(B) )

отбираем нужные

Как определить, что оканчивается на 5?

?

Задача. Найти среднее арифметическое элементов массива, которые оканчиваются на цифру 5.

Задачи


«3»: Введите массив из 5 элементов с клавиатуры и найдите среднее арифметическое его значений.

Пример:

Массив:

1 2 3 4 5

Среднее арифметическое 3.000

«4»: Заполните массив из 10 элементов случайными числами в интервале [0,100] и подсчитайте отдельно среднее значение всех элементов, которые <50, и среднее значение всех элементов, которые ≥50.

Пример:

Массив:

3 2 52 4 60 50 1 2 60 58 6

Ср. арифм. элементов < 50: 3.000

Ср. арифм. элементов >=50: 56.000

Задачи


«5»: Введите размер массива N и заполните массив из N элементов числами Фибоначчи. Первые два числа Фибоначчи равны 1, а каждое следующее равно сумме двух предыдущих.

Пример:

Введите размер массива:

6

Числа Фибоначчи:

1 1 2 3 5 8

Поиск в массиве

Поиск в массиве


Найти элемент, равный X:

i = 0

while A[i] != X:

i += 1

print ( "A[", i, "]=", X, sep = "" )

Что плохо?

?

i = 0

while i < N and A[i] != X:

i += 1

if i < N:

print ( "A[", i, "]=", X, sep = "" )

else:

print ( "Не нашли!" )

Что если такого нет?

?

i < N

Поиск в массиве


nX = -1

for i in range ( N ):

if A[i] == X:

nX = i

break

if nX >= 0:

print ( "A[", nX, "]=", X, sep = "" )

else:

print ( "Не нашли!" )

Вариант с досрочным выходом:

break

досрочный выход из цикла

номер найденного элемента

Поиск в массиве


for i in range ( N ):

if A[i] == X:

print ( "A[", i, "]=", X, sep = "" )

break

else:

print ( "Не нашли!" )

Варианты в стиле Python:

если не было досрочного выхода из цикла

if X in A:

nX = A.index(X)


print ( "A[", nX, "]=", X, sep = "" )

else:

print ( "Не нашли!" )

Задачи


«3»: Заполните массив из 10 элементов случайными числами в диапазоне [100,200]. Найдите первое число в массиве, у которого последняя цифра – 2. Если такого числа нет, вывести ответ «Не нашли».

Пример:

Массив:

131 180 117 170 162 111 109 155 159 137

Нашли: A[4]=162

Пример:

Массив:

131 180 117 170 163 111 109 155 159 137

Не нашли.

Задачи


«4»: Заполните массив из 10 элементов случайными числами в интервале [0,5]. Введите число X и найдите все значения, равные X.

Пример:

Массив:

1 2 3 1 2 4 2 5 1 3

Что ищем:

2

A[2]=2

A[5]=2

Пример:

Массив:

1 2 3 1 2 4 2 5 1 3

Что ищем:

6

Не нашли.

Задачи


«5»: Заполните массив из 10 элементов случайными числами в интервале [0,5]. Найдите пару одинаковых элементов, стоящих рядом.

Пример:

Массив:

1 2 3 3 4 1 5 1 3 2

A[2]=A[3]=3

Пример:

Массив:

1 2 3 4 2 1 5 1 2 3

Нет.

Максимальный элемент


Задача: найти в массиве максимальный элемент.

Алгоритм:

Решение:
  • считаем, что первый элемент – максимальный
  • просмотреть остальные элементы массива: если очередной элемент > M, то записать A[i] в M
  • вывести значение M

Максимальный элемент


M = A[0]

for i in range(1,N):

if A[i] > M:

M = A[i]

print ( M )

M = A[0]

for x in A:

if x > M:

M = x

Как найти его номер?

?

Варианты в стиле Python:

M = max ( A )

Если range(N)?

?

M = A[0]; nMax = 0

for i in range(1,N):

if A[i] > M:

M = A[i]

nMax = i

print ( "A[", nMax, "]=", M, sep = "" )

nMax = 0

nMax = i

Что можно улучшить?

?

По номеру элемента можно найти значение!

!

nMax = 0

for i in range(1,N):

if A[i] > A[nMax]:

nMax = i

print ( "A[", nMax, "]=", A[nMax], sep = "" )

A[nMax]

A[nMax]

M = max(A)

nMax = A.index(M)

print ( "A[", nMax, "]=", M, sep = "" )

Вариант в стиле Python:

номер заданного элемента (первого из…)

«3»: Заполнить массив из 10 элементов случайными числами в интервале [10,100] и найти минимальный и элемент массива и его номер.



Пример:

Массив:

39 52 84 77 45 32 19 38 49 85

Минимальный элемент: A[6]=19



«4»: Заполнить массив из 10 элементов случайными числами в интервале [10,100] и найти минимальный и максимальный элементы массива и их номера.

Пример:

Массив:

39 52 84 77 45 32 19 38 49 85

Минимальный элемент: A[6]=19

Максимальный элемент: A[9]=85

«5»: Заполнить массив из 10 элементов случайными числами в интервале [10,100] и найти минимальный и максимальный элементы из чётных элементов массива.

Пример:

Массив:

39 52 84 77 45 32 19 38 49 85

Минимальный чётный: 32

Максимальный чётный: 84

Задачи (без функции max)


«6»: Ввести с клавиатуры массив из 5 элементов и найти два максимальных элемента массива и их номера.

Пример:

Массив:

5 5 3 4 1

Максимальный элемент: A[1]=5

Второй максимум: A[2]=5

Задачи


«6»: Введите массив с клавиатуры и найдите (за один проход) количество элементов, имеющих максимальное значение.

Пример:

Массив:

3 4 5 5 3 4 5

Максимальное значение 5

Количество элементов 3

Конец фильма


ПОЛЯКОВ Константин Юрьевич

д.т.н., учитель информатики

ГБОУ СОШ № 163, г. Санкт-Петербург

kpolyakov@mail.ru