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

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

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

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

Добавлен: 30.11.2023

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

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

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

СОДЕРЖАНИЕ

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

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

Вычисления

Ветвления

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

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

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

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

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

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

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

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

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

TURTLE

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

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

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

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

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

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

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

Задания

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

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

Переменные

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

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

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

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

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

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

Вывод данных

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

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

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

Задания

Задания

Вычисления

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

Деление

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

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

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

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

Задания

Задания

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

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

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

Задачи

Задачи

Ветвления

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

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

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

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

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

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

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

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

Задачи

Задачи

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

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

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

Задачи

Задачи

Задачи

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

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

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

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

Срезы

Срезы строк

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

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

Задачи

Задачи

Задачи

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

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

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

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

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

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

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

Задачи

Задачи

Задачи

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

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

Задачи

Задачи

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

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

Задачи

Задачи

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

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

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

Задачи

Задачи

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

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

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

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

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

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

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

Задачи

Задачи

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

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

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

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

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

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

Задачи

Задачи

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

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

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

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

Задачи

Задачи

Задачи

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

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

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

Задачи

Конец фильма


Деление


Классическое деление:

a = 9; b = 6

x = 3 / 4 # = 0.75

x = a / b # = 1.5

x = -3 / 4 # = -0.75

x = -a / b # = -1.5

Целочисленное деление (округление «вниз»!):

a = 9; b = 6

x = 3 // 4 # = 0

x = a // b # = 1

x = -3 // 4 # = -1

x = -a // b # = -2

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


% – остаток от деления

d = 85

b = d // 10 # 8

a = d % 10 # 5

d = a % b # 5

d = b % a # 3

a = 15

b = 19

d = a // b # 0

a = a % b # 15

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


a = 1234

d = a % 10; print( d )

a = a // 10 # 123

d = a % 10; print( d )

a = a // 10 # 12

d = a % 10; print( d )

a = a // 10 # 1

d = a % 10; print( d )

a = a // 10 # 0

4

3

2

1

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


a += b # a = a + b

a -= b # a = a - b

a *= b # a = a * b

a /= b # a = a / b

a //= b # a = a // b

a %= b # a = a % b

a += 1

увеличение на 1

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


a, b = map ( int, input().split() )

input()

ввести строку с клавиатуры

21 33

input().split()

21

33

разделить строку на части по пробелам

map ( int, input().split() )

21

33

целые

применить

эту операцию

к каждой части

a, b = map ( int, input().split() )

Задания


«3»: Ввести три числа: цену пирожка (два числа: рубли, потом – копейки) и количество пирожков. Найти сумму, которую нужно заплатить (рубли и копейки)

Пример:

Стоимость пирожка:

12 50

Сколько пирожков:

5

К оплате: 62 руб. 50 коп.

«4»: Ввести число, обозначающее количество секунд. Вывести то же самое время в часах, минутах и секундах.

Пример:

Число секунд:

8325

2 ч. 18 мин. 45 с

Задания


«5»: Занятия в школе начинаются в 8-30. Урок длится 45 минут, перерывы между уроками – 10 минут. Ввести номер урока и вывести время его окончания.

Пример:

Введите номер урока:

6

13-50

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


Случайно…
  • встретить друга на улице
  • разбить тарелку
  • найти 10 рублей
  • выиграть в лотерею

Случайный выбор:
  • жеребьевка на соревнованиях
  • выигравшие номера в лотерее

Как получить случайность?

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


Электронный генератор
  • нужно специальное устройство
  • нельзя воспроизвести результаты

318458191041

564321

209938992481

458191

938992
  • малый период (последовательность повторяется через 106 чисел)

Метод середины квадрата (Дж. фон Нейман)

в квадрате

Псевдослучайные числа

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

зерно

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


X = (a*X+b) % c | интервал от 0 до c-1

X = (X+3) % 10 | интервал от 0 до 9

X = 0

зерно

 3

 6

 9

 2

 5

 8

 0

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

8

 1

 4

 7

Важен правильный выбор параметров a, b и с!

!

Компилятор GCC:

a = 1103515245

b = 12345

c = 231

Генератор на [0,1):

X = random.random() # псевдосл. число

Y = random.random() # уже другое число!

Целые числа на отрезке [a,b]:

X = random.randint(1,6) # псевдосл. число

Y = random.randint(1,6) # уже другое число!

import random

англ. random – случайный

Генератор на [a, b] (вещественные числа):

X = random.uniform(1.2, 3.5)

Y = random.uniform(1.2, 3.5)

Генератор на [0,1):

X = random() # псевдослучайное число

Y = random() # это уже другое число!

Целые числа на отрезке [a,b]:

X = randint(10,60) # псевдослучайное число

Y = randint(10,60) # это уже другое число!

from random import *

англ. random – случайный

подключить все!

Задачи


«3»: Игральный кубик бросается три раза (выпадает три случайных значения). Сколько очков в среднем выпало?

Пример:_Выпало_очков:_5_3_1_(5+3+1)/3=3_«4»'>Пример:

Выпало очков:

5 3 1

(5+3+1)/3=3

«4»: Игральный кубик бросается три раза (выпадает три случайных значения). Из этих чисел составляется целое число, программа должна найти его квадрат.

Пример:

Выпало очков:

1 2 3

Число 123

Его квадрат 15129

Задачи


«5»: Получить случайное трёхзначное число и вывести через запятую его отдельные цифры.

Пример:

Получено число 123

сотни: 1

десятки: 2

единицы: 3

Ветвления

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


Задача: изменить порядок действий в зависимости от выполнения некоторого условия.

M = a

a > b?

M = b

да

нет

вывод M

полная форма ветвления

Если a = b?

?

if a > b:

M = a

else:

M = b

отступы

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


M = b

b > a?

да

нет

вывод M

M = a

неполная форма ветвления

M = a

if b > a:

M = b

M = max(a, b)

Решение в стиле Python:

M = a if a > b else b

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


if a < b:

с = a

a = b

b = c

Что делает?

?

4

6

?

4

6

4

a

b

3

2

1

Можно ли обойтись

без переменной c?

?

c

a, b = b, a

Решение в стиле Python:

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


>

<

>=

<=

==

!=

больше, меньше

больше или равно

меньше или равно

равно

не равно

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


if a > b:

print("Андрей старше")

else:

if a == b:

print("Одного возраста")

else:

print("Борис старше")

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

Зачем нужен?

?

Задача: в переменных a и b записаны возрасты Андрея и Бориса. Кто из них старше?

Сколько вариантов?

?

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


if a > b:

print("Андрей старше")

elif a == b:

print("Одного возраста")

else:

print("Борис старше")

elif = else if

!

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


cost = 1500

if cost < 1000:

print ( "Скидок нет." )

elif cost < 2000:

print ( "Скидка 2%." )


elif cost < 5000:

print ( "Скидка 5%." )

else:

print ( "Скидка 10%." )

Что выведет?

?

первое сработавшее условие

Скидка 2%.

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


«3»: Ввести два целых числа, найти наибольшее и наименьшее из них.

Пример:

Введите два целых числа:

1 5

Наибольшее число 5

Наименьшее число 1

«4»: Ввести четыре целых числа, найти наибольшее из них.

Пример:

Введите четыре целых числа:

1 5 4 3

Наибольшее число 5

Задачи


'5': Ввести пять чисел и найти наибольшее из них.

Пример:

Введите пять чисел:

4 15 9 56 4

Наибольшее число 56

Задачи


«6»: Ввести последовательно возраст Антона, Бориса и Виктора. Определить, кто из них старше.

Пример:

Возраст Антона: 15

Возраст Бориса: 17

Возраст Виктора: 16

Ответ: Борис старше всех.

Пример:

Возраст Антона: 17

Возраст Бориса: 17

Возраст Виктора: 16

Ответ: Антон и Борис старше Виктора.

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


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

if :

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

else:

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

and

v >= 25 and v <= 40

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

«И»: одновременное выполнение всех условий!