Программирование на языке Python. Алгоритм и его свойства

Содержание

Слайд 2

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

Алгоритм — это точное описание порядка действий, которые должен выполнить

Что такое алгоритм? Алгоритм — это точное описание порядка действий, которые должен
исполнитель для решения задачи за конечное время.

Исполнитель – это устройство или одушёвленное существо (человек), способное понять и выполнить команды, составляющие алгоритм.

Формальные исполнители: не понимают (и не могут понять) смысл команд.

Слайд 3

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

Дискретность — алгоритм состоит из отдельных команд, каждая из которых выполняется

Свойства алгоритма Дискретность — алгоритм состоит из отдельных команд, каждая из которых
за конечное время.
Детерминированность (определённость) — при каждом запуске алгоритма с одними и теми же исходными данными получается один и тот же результат.
Понятность — алгоритм содержит только команды, входящие в систему команд исполнителя.
Конечность (результативность) — для корректного набора данных алгоритм должен завершаться через конечное время.
Корректность — для допустимых исходных данных алгоритм должен приводить к правильному результату.
Массовость — алгоритм можно использовать для разных исходных данных.

Слайд 4

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

# Это пустая программа

комментарии после # не обрабатываются

# coding: utf-8
# Это

Простейшая программа # Это пустая программа комментарии после # не обрабатываются #
пустая программа

кодировка utf-8 по умолчанию)

"""
Это тоже комментарий
"""

Слайд 5

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

print ( "2+2=?" )
print ( "Ответ: 4" )

Протокол:
2+2=?

Вывод на экран print ( "2+2=?" ) print ( "Ответ: 4" )
Ответ: 4

автоматический переход на новую строку

print ( '2+2=?' )
print ( 'Ответ: 4' )

Слайд 6

Задание.

Вывести на экран рисунок из букв
Ж
ЖЖЖ
ЖЖЖЖЖ
ЖЖЖЖЖЖЖ
HH

Задание. Вывести на экран рисунок из букв Ж ЖЖЖ ЖЖЖЖЖ ЖЖЖЖЖЖЖ HH HH ZZZZZ
HH
ZZZZZ

Слайд 7

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

Задача. Ввести с клавиатуры два числа и найти их сумму.

Протокол:
Введите

Сложение чисел Задача. Ввести с клавиатуры два числа и найти их сумму.
два целых числа
25
30
25+30=55

компьютер

пользователь

компьютер считает сам!

Слайд 8

Переменные

Переменная – это величина, имеющая имя, тип и значение. Значение переменной можно

Переменные Переменная – это величина, имеющая имя, тип и значение. Значение переменной
изменять во время работы программы.

a

Значение

Имя

Слайд 9

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

МОЖНО использовать
латинские буквы (A-Z, a-z)
русские буквы (не рекомендуется!)
цифры
знак подчеркивания _

заглавные и

Имена переменных МОЖНО использовать латинские буквы (A-Z, a-z) русские буквы (не рекомендуется!)
строчные буквы различаются

НЕЛЬЗЯ использовать
скобки
знаки +, =, !, ? и др.

имя не может начинаться с цифры

Какие имена правильные?
AXby R&B 4Wheel Вася “PesBarbos” TU154 [QuQu] _ABBA A+B

Слайд 10

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

a = 4
print ( type(a) )


целое число (integer)

a =

Типы переменных a = 4 print ( type(a) ) целое число (integer)
4.5
print ( type(a) )


вещественное число

a = "Вася"
print ( type(a) )


символьная строка

a = True
print ( type(a) )


логическая

Слайд 11

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

Тип определяет:
область допустимых значений
допустимые операции
объём памяти
формат хранения данных

Зачем нужен тип переменной? Тип определяет: область допустимых значений допустимые операции объём памяти формат хранения данных

Слайд 12

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

a = 5

оператор присваивания

5

Оператор – это команда языка

Как записать значение в переменную? a = 5 оператор присваивания 5 Оператор
программирования (инструкция).
Оператор присваивания – это команда для присваивания нового значения переменной.

a

a = 7

7

Слайд 13

Ввод значения с клавиатуры

5

a

Ввод значения с клавиатуры 5 a

Слайд 14

Ввод значения с клавиатуры

a = input()

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

Ввод значения с клавиатуры a = input() ввести строку с клавиатуры и
переменной a

b = input()

с = a + b

print ( c )

Протокол:
21
33
2133

a = int( input() )

b = int( input() )

преобразовать в целое число

Слайд 15

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

a = input ( "Введите число: " )

подсказка

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

26

a =

Ввод с подсказкой a = input ( "Введите число: " ) подсказка
int( input("Введите число: ") )

Слайд 16

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

a = 5
b = a + 2
a = (a +

Изменение значений переменной a = 5 b = a + 2 a
2)*(b – 3)
b = b + 1

a

5

b

=5+2

7

28

=(5+2)*(7-3)

=7+1

8

Слайд 17

Вывод данных

print ( a )

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

print ( "Ответ: ", a )

значение и

Вывод данных print ( a ) значение переменной print ( "Ответ: ",
текст

print ( "Ответ: ", a+b )

вычисление выражения

print ( a, "+", b, "=", c )

2 + 3 = 5

через пробелы

print ( a, "+", b, "=", c, sep = "" )

2+3=5

sep = ""

убрать разделители

Слайд 18

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

print ( a, "+", b, "=", c, sep =

Вывод данных через format print ( a, "+", b, "=", c, sep
"" )

2+3=5

print ( "{}+{}={}".format(a, b, c ) )

Слайд 19

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

a = int ( input() )
b = int (

Сложение чисел: простое решение a = int ( input() ) b =
input() )
c = a + b
print ( c )

Слайд 20

print ( "Введите два числа: " )
a = int ( input() )
b

print ( "Введите два числа: " ) a = int ( input()
= int ( input() )
c = a + b
print ( a, "+", b, "=", c, sep="" )

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

Протокол:
Введите два целых числа
25
30
25+30=55

компьютер

пользователь

подсказка

Слайд 21

Задания

Ввести три числа, найти их сумму, произведение и среднее арифметическое.

Задания Ввести три числа, найти их сумму, произведение и среднее арифметическое.

Слайд 22

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

a = (c + b**5*3 - 1) / 2 * d

Приоритет

Арифметическое выражения a = (c + b**5*3 - 1) / 2 *
(старшинство):
скобки
возведение в степень **
умножение и деление
сложение и вычитание

1

2

3

4

5

6

перенос на следующую строку

a = (c + b*5*3
- 1) / 2 * d

перенос внутри скобок разрешён

Слайд 23

Деление

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

a = 9; b = 6
x = 3 / 4 #

Деление Классическое деление: a = 9; b = 6 x = 3
= 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

Слайд 24

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

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

d = 85
b = d //

Остаток от деления % – остаток от деления d = 85 b
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

Слайд 25

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

a = 1234
d = a % 10; print( d

Операторы // и % a = 1234 d = a % 10;
)
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

Слайд 26

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

a += b # a = a + b
a

Сокращенная запись операций a += b # a = a + b
-= 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

Слайд 27

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

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

Ввод двух значений в одной строке a, b = map ( int,
)

input()

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

21 33

input().split()

21

33

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

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

21

33

целые

применить

эту операцию

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

Слайд 28

Задания

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

Задания «3»: Ввести три числа: цену пирожка (два числа: рубли, потом –
и количество пирожков. Найти сумму, которую нужно заплатить (рубли и копейки)
Пример:
Стоимость пирожка:
12 50
Сколько пирожков:
5
К оплате: 62 руб. 50 коп.
«4»: Ввести число, обозначающее количество секунд. Вывести то же самое время в часах, минутах и секундах.
Пример:
Число секунд:
8325
2 ч. 18 мин. 45 с

Слайд 29

Задания

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

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

Слайд 30

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

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

Случайный выбор:
жеребьевка на

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

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

Слайд 31

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

Электронный генератор

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

318458191041

564321

209938992481

458191

938992

малый период (последовательность повторяется

Случайные числа на компьютере Электронный генератор нужно специальное устройство нельзя воспроизвести результаты
через 106 чисел)

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

в квадрате

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

зерно

Слайд 32

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

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

Линейный конгруэнтный генератор 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

Компилятор GCC:
a = 1103515245
b = 12345
c = 231

Слайд 33

Генератор случайных чисел

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

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

Генератор случайных чисел Генератор на [0,1): X = random.random() # псевдосл. число
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)

Слайд 34

Генератор случайных чисел

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

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

Генератор случайных чисел Генератор на [0,1): X = random() # псевдослучайное число
random() # это уже другое число!

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

X = randint(10,60) # псевдослучайное число
Y = randint(10,60) # это уже другое число!

from random import *

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

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

Слайд 35

Задачи

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

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

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

Имя файла: Программирование-на-языке-Python.-Алгоритм-и-его-свойства.pptx
Количество просмотров: 42
Количество скачиваний: 0