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

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

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

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

Добавлен: 30.11.2023

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

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

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

СОДЕРЖАНИЕ

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

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

Вычисления

Ветвления

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

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

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

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

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

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

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

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

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

TURTLE

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

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

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

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

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

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

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

Задания

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

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

Переменные

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

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

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

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

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

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

Вывод данных

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

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

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

Задания

Задания

Вычисления

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

Деление

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

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

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

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

Задания

Задания

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

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

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

Задачи

Задачи

Ветвления

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

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

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

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

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

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

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

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

Задачи

Задачи

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

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

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

Задачи

Задачи

Задачи

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

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

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

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

Срезы

Срезы строк

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

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

Задачи

Задачи

Задачи

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

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

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

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

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

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

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

Задачи

Задачи

Задачи

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

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

Задачи

Задачи

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

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

Задачи

Задачи

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

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

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

Задачи

Задачи

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

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

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

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

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

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

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

Задачи

Задачи

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

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

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

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

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

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

Задачи

Задачи

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

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

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

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

Задачи

Задачи

Задачи

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

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

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

Задачи

Конец фильма

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


Задача: набор сотрудников в возрасте 25-40 лет (включительно).

if :

print("не подходит")

else:

print("подходит")

v < 25 or v > 40

сложное условие

or

«ИЛИ»: выполнение хотя бы одного из двух условий!

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


if not(a < b):

print("Cтарт!")

not

Приоритет :
  • отношения (<, >, <=, >=, ==, !=)
  • not («НЕ»)
  • and («И»)
  • or («ИЛИ»)

«НЕ»: если выполняется обратное условие

if a >= b:

print("Cтарт!")

Как без «НЕ»?

?

Задачи


«3»: Напишите программу, которая получает три числа - рост трёх спортсменов, и выводит сообщение «По росту.», если они стоят по возрастанию роста, или сообщение «Не по росту!», если они стоят не по росту.

Пример:

Введите рост трёх спортсменов:

165 170 172

По росту.

Пример:

Введите рост трёх спортсменов:

175 170 172

Не по росту!

Задачи


«4»: Напишите программу, которая получает номер месяца и выводит соответствующее ему время года или сообщение об ошибке.

Пример:

Введите номер месяца:

5

Весна.

Пример:

Введите номер месяца:

15

Неверный номер месяца.

Задачи


«5»: Напишите программу, которая получает возраст человека (целое число, не превышающее 120) и выводит этот возраст со словом «год», «года» или «лет». Например, «21 год», «22 года», «25 лет».

Пример:

Введите возраст: 18

Вам 18 лет.

Пример:

Введите возраст: 21

Вам 21 год.

Пример:

Введите возраст: 22

Вам 22 года.

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

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


Начальное значение:

Сложение:

s = "Привет!"

Строка – это

последовательность

символов!

!

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

print ( s )

Умножение:

s = "АУ"

s5 = s*5

АУАУАУАУАУ

Что получим?

?

s5 = s + s + s + s + s

s1 = "Привет"

s2 = "Вася"

s = s1 + ", " + s2 + "!"

"Привет, Вася!"

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


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

Длина строки:

n = len ( s )

print ( s[5] )

0

1

2

3

4

5

6

П

р

и

в

е

т

!

s[0]

s[1]

s[2]

s[3]

s[4]

s[5]

s[6]


print ( s[-2] )

s[len(s)-2]

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


Ввод с клавиатуры:

s = input ( "Введите имя: " )

Изменение строки:

s[4] = "a"

Строка – это неизменяемый объект!

!

... но можно составить новую строку:

s1 = s + "a"

Изменение строки запрещено!

s = "информатика"

print(s[-2]+s[3]+s[-4])

составить «кот»

Срезы


s = "0123456789"

s1 = s[3:8] # "34567"

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

разрезы

0

1

2

3

4

5

6

7

8

9

Срезы строк


s = "0123456789"

s1 = s[:8] # "01234567"

от начала строки

s = "0123456789"

s1 = s[3:] # "3456789"

до конца строки

s1 = s[::-1] # "9876543210"

реверс строки

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


Срезы с отрицательными индексами:

s = "0123456789"

s1 = s[:-2] # "01234567"

len(s)-2

s = "0123456789"

s1 = s[-6:-2] # "4567"

len(s)-2

len(s)-6

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


Вставка:

s = "0123456789"

s1 = s[:3] + "ABC" + s[3:]

Удаление:

s = "0123456789"

s1 = s[:3] + s[9:] # "0129"

"012"

"9"

"012ABC3456789"

Задачи


«3»: Ввести с клавиатуры пароль (символьную строку), если его длина меньше, чем 6 символов, вывести сообщение «Слишком короткий пароль!», иначе вывести сообщение «ОК».

Пример:

Введите пароль:

12345

Слишком короткий пароль!

Пример:

Введите пароль:

123456789

ОК.

Задачи


«4»: Ввести с клавиатуры пароль (символьную строку). Если его длина меньше, чем 6 символов, вывести сообщение «Слишком короткий пароль!». Если пароль начинается с букв «qwerty» вывести сообщение «Ненадёжный пароль!». Если ошибок не было, вывести сообщение «ОК».

Пример:

Введите пароль:

qwerty12345

Ненадёжный пароль!

Пример:

Введите пароль:

asdUTY7sakh

ОК.

Задачи


«5»: Ввести с клавиатуры имя файла. Если расширение имени файла – htm, html или php, выдать сообщение «Это веб-страница!», иначе выдать сообщение «Что-то другое.»

Пример:

Введите имя файла:

C:\DOC\Сайт\index.html

Это веб-страница!

Пример:

Введите имя файла:

C:\Документы\Приказ.doc

Что-то другое.

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

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


Цикл – это многократное выполнение одинаковых действий.

Два вида циклов:
    • цикл с известным числом шагов (сделать 10 раз)
    • цикл с неизвестным числом шагов (делать, пока не надоест)

Задача. Вывести на экран 10 раз слово «Привет».


Можно ли решить известными методами?

?

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


print("Привет")

print("Привет")

...

print("Привет")

Что плохо?

?

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


начало

конец

да

нет

тело цикла

сделали 10 раз?

print("Привет!")

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


счётчик = 0

пока счётчик < 10:

print("Привет")

увеличить счётчик на 1

счётчик = 10

пока счётчик > 0:

print("Привет")

уменьшить счётчик на 1

k = 0

while k < 10:

print ( "Привет" )

k += 1

k = 10

while k > 0:

print ( "Привет" )

k -= 1

Как по-другому?

?

a = 4; b = 6

while a < b: a += 1

2 раза

a = 6

a = 4; b = 6

while a < b: a += b

1 раз

a = 10

a = 4; b = 6

while a > b: a += 1

0 раз

a = 4

a = 4; b = 6

while a < b: b = a - b

1 раз

b = -2

a = 4; b = 6

while a < b: a -= 1

зацикливание

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


Задача. Определить количество цифр в десятичной записи целого положительного числа, записанного в переменную n.

счётчик = 0

пока n > 0:

отсечь последнюю цифру n

увеличить счётчик на 1

n

счётчик

1234

0

123

1

12

2

1

3

0

4

Как отсечь последнюю цифру?

?

n = n // 10

Как увеличить счётчик на 1?

?

счётчик = счётчик + 1

счётчик += 1

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


count = 0

while :

n = n // 10

count += 1

тело цикла

начальное значение счётчика

n > 0

условие продолжения

заголовок цикла

Цикл с предусловием – проверка на входе в цикл!

!

Задачи


«3»: Ввести с клавиатуры количество повторений и вывести столько же раз какое-нибудь сообщение.

Пример:

Сколько раз:

5

Привет!

Привет!

Привет!

Привет!

Привет!

Задачи


«4»: Ввести с клавиатуры натуральное число и определить, сколько раз в его записи встречается цифра 1.

Пример:_Введите_число:_51211_3_«5»'>Пример:

Введите число:

51211

3

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

Пример:

Введите число:

1234

Cумма цифр 10

Задачи


«6»: Ввести натуральное число и определить, верно ли, что в его записи есть две одинаковые цифры, стоящие рядом.

Пример:

Введите натуральное число:

12342

Нет.

Пример:

Введите натуральное число:

12245

Да.

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


Алгоритм Евклида. Чтобы найти НОД двух натуральных чисел, нужно вычитать из большего числа меньшее до тех пор, пока они не станут равны. Это число и есть НОД исходных чисел.

НОД(14,21) = НОД(14,7) = НОД(7, 7) = 7

пока a != b:

если a > b:

a -= b # a = a - b

иначе:

b -= a # b = b - a

while a != b:

if a > b:

a -= b

else:

b -= a

НОД(1998,2) =

НОД(1996,2) = … = НОД(2, 2) = 2

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


Модифицированный алгоритм Евклида. Заменять большее число на остаток от деления большего на меньшее до тех пор, пока меньшее не станет равно нулю. Другое (ненулевое) число и есть НОД чисел.

НОД(1998,2) = НОД(0,2) = 2