3. Языки программирования
• Машинно-ориентированные (низкого уровня) каждая команда соответствует одной команде
процессора (Ассемблер)
• Языки высокого уровня – приближены к
естественному (английскому) языку, легче
воспринимаются человеком, не зависят от
конкретного компьютера
• для обучения: Бейсик, Паскаль, Python
• профессиональные: С++, Python, Паскаль
• для задач робототехники и искусственного
интеллекта: Пролог, ЛИСП, С++, Python
• для Интернета: HTML, CSS, JavaScript, Java,
Python, PHP, ASP
3
4. Язык Python
1991 – разработан Гвидо ван Россумом
• объектно-ориентированный язык
• успешно применяться в Google
4
5. Программа
Программа – это
• алгоритм, записанный на каком-либо языке
программирования
• набор команд для компьютера
Команда – это описание действий, которые
должен выполнить компьютер.
• откуда взять исходные данные?
• что нужно с ними сделать?
Переменная – изменяющаяся величина,
имеющая имя (ячейка памяти).
Функция – вспомогательный алгоритм для
выполнения вычислений (вычисление
квадратного корня, sin).
5
7. Все программы строятся по Алгоритму
Алгоритм – это четко определенный план
действий для исполнителя.
Свойства алгоритма
• дискретность: состоит из отдельных шагов
(команд)
• понятность: должен включать только команды,
известные исполнителю (входящие в СКИ)
• определенность: при одинаковых исходных
данных всегда выдает один и тот же результат
• конечность: заканчивается за конечное число
шагов
• массовость: может применяться многократно при
различных исходных данных
• корректность: дает верное решение при любых
допустимых исходных данных
7
9. Переменные
Язык Python чувствителен к регистру. Переменная
Z и z – разные переменные. Python, в отличие от
многих языков, не требует описания переменных.
Типы переменных:
• int
{ целая }
{ вещественная }
• float
{ список, аналог массивов}
• list
{ символьная строка }
• str
• bool
{ логическая }
Объявление переменных (выделение памяти):
int(“88”) результат 88
str(88) результат “88”
float(88) результат 88.00
9
10. Имена программы, констант, переменных
Имена могут включать
• латинские буквы (A-Z)
заглавные и строчные буквы не различаются
• цифры
имя не может начинаться с цифры
• знак подчеркивания _
Имена НЕ могут включать
• русские буквы
• пробелы
• скобки, знаки +, =, !, ? и др.
Какие имена правильные??
AXby
R&B
4Wheel
Вася
“PesBarbos”
TU154
[QuQu]
_ABBA
A+B
10
11. 11
Как изменить значение переменной?
Оператор – это команда языка программирования
высокого уровня.
Оператор присваивания служит для изменения
значения переменной.
Пример:
a=5
b=a+2
a=b*4
print(a)
a
5
?
5
b
?
7
5+2
a
28
5
7*4
12. 12
Оператор присваивания
<имя переменной> = <выражение>;
Арифметическое выражение может включать
• имена переменных
• знаки арифметических операций:
+ *
/
//
%
**
умножение
деление
• вызовы функций
• круглые скобки ( )
деление
нацело
остаток от
деления
Возведение
в степень
13. Какие операторы неправильные?
имя переменной должно
быть слева от знака =
a :=
10 =
y =
b =
x =
a =
5
x
7,8
2.5
2*(a + y)
b + x
целая и дробная часть
отделяются точкой
13
14. Порядок выполнения операций
• вычисление выражений в скобках
• умножение, деление, //, % слева направо
• сложение и вычитание слева направо
2 3 5 4 1
7 8 6 9
Z = (5*a*c+3*(c-d))/a*(b-c)/ b
a 2 + 5c 2 − d ( a + b)
x=
(c + d )(d − 2a )
5ac + 3(c − d )
z=
(b − c)
ab
2 6 3 4 7 5 1
12 8 11 10 9
X =(a*a+5*c*c-d*(a+b))/((c+d)*(d-2*a))
14
15. 15
Оператор ввода
a=input( )
{ ввод значения переменной a}
a=input(“Введите число”)
c = a + 2
print ( ‘c=“, c )
Протокол:
компьютер
Введите число
25
пользователь
c=27
16. Оператор вывода
print ( a ) { вывод значения переменной a}
print (' Hello!‘) { вывод текста}
print ( ‘Otvet: ', c ) { вывод текста и
значения переменной c}
print ( a+b ) { вывод суммы чисел }
16
17. Сложение двух чисел
Задача. Ввести два целых числа и вывести на
экран их сумму.
Простейшее решение:
a=input()
b=input()
c = a + b
print ( c )
17
18. Форматирование вывода
import math
x=math.pi
print ('Pi=',"%.50f" % (x))
18
вызов
библиотеки
в дробной
части
Результат выполнения программы:
Pi=3.141592653589793115997963468544185
16159057617187500
19. Задания
«4»: Ввести три числа, найти их сумму и
произведение.
Пример:
Введите три числа:
4 5 7
4+5+7=16
4*5*7=140
«5»: Ввести три числа, найти их сумму,
произведение и среднее арифметическое.
Пример:
Введите три числа:
4 5 7
4+5+7=16
4*5*7=140
(4+5+7)/3=5.33
19
21. Разветвляющиеся алгоритмы
Задача. Ввести два целых числа и вывести на экран
наибольшее из них.
Идея решения: надо вывести на экран первое число,
если оно больше второго, или второе, если оно больше
первого.
Особенность: действия исполнителя зависят от
некоторых условий (если … иначе …).
Алгоритмы, в которых последовательность шагов
Алгоритмы, в которых последовательность шагов
зависит от выполнения некоторых условий, называются
зависит от выполнения некоторых условий, называются
разветвляющимися.
разветвляющимися.
21
24. Условный оператор
if <условие> :
{что делать, если условие верно}
else :
{что делать, если условие неверно}
Особенности:
• вторая часть (else …) может отсутствовать
(неполная форма)
24
26. Вариант 2. Программа
print(‘input 2 number‘)
a=input()
b=input()
неполная
форма
max = a
условного
if b > a :
оператора
max = b
print (‘Max number', max)
26
27. Задания
«4»: Ввести три числа и найти наибольшее из них.
Пример:
Введите три числа:
4 15 9
Наибольшее число 15
«5»: Ввести пять чисел и найти наибольшее из них.
Пример:
Введите пять чисел:
4
15
9
56
4
Наибольшее число 56
27
29. Сложные условия
Задача. Фирма набирает сотрудников от 25 до 40 лет
включительно. Ввести возраст человека и
определить, подходит ли он фирме (вывести ответ
«подходит» или «не подходит»).
Особенность: надо проверить, выполняются ли два
условия одновременно.
?
Можно ли решить известными методами?
29
31. Вариант 1. Программа
x=input('Введите возраст')
x=int(x)
if x >= 25 :
if x <= 40 :
print ('Подходит')
else :
print ('Не подходит')
else :
print ('Не подходит')
31
34. 34
Сложные условия
Сложное условие – это условие, состоящее из
нескольких простых условий (отношений), связанных
с помощью логических операций:
• not – НЕ (отрицание, инверсия)
• and – И (логическое умножение, конъюнкция,
одновременное выполнение условий)
• or – ИЛИ (логическое сложение, дизъюнкция,
выполнение хотя бы одного из условий)
• xor – исключающее ИЛИ (выполнение только
одного из двух условий, но не обоих)
Простые условия (отношения)
<
<=
>
>=
==
равно
не равно
!=
35. Сложные условия
Порядок выполнения (приоритет = старшинство)
• выражения в скобках
• not
• and
• or, xor
• <, <=, >, >=, ==, !=
Особенность – каждое из простых условий
обязательно заключать в скобки.
Пример
4
1
6
2
5
3
if not (a > b) or (c <> d) and (b <> a) :
35
36. 36
Задания
«4»: Ввести номер месяца и вывести название
времени года.
Пример:
Введите номер месяца:
4
весна
«5»: Ввести возраст человека (от 1 до 150 лет) и
вывести его вместе с последующим словом
«год», «года» или «лет».
Пример:
Введите возраст:
24
Вам 24 года
Введите возраст:
57
Вам 57 лет
38. Циклы
Цикл – это многократное выполнение одинаковой
последовательности действий.
• цикл с известным числом шагов
• цикл с неизвестным числом шагов (цикл с
условием)
Задача. Вывести на экран квадраты и кубы целых
чисел от 1 до 8 (от a до b).
Особенность: одинаковые действия выполняются 8
раз.
?
Можно ли решить известными методами?
38
40. Алгоритм (с блоком «цикл»)
начало
i = 1,8
i2 = i * i
i3 = i2 * i
i, i2, i3
блок «цикл»
конец
тело цикла
40
41. 41
Программа
for i in range(1, 9):
i2 = i*i
i3 = i2*i
print(i, i2, i3)
конечное значение
переменная
цикла
42. 42
Цикл с переменной
Увеличение переменной на 1:
for <переменная> in <конечное значение> :
{тело цикла}
Чему равно значение переменной а?
a=1
for i in range(3): a= a+1
a= 4
43. Как изменить шаг?
Идея: Надо вывести всего 7 чисел, переменная i
изменяется от 1 до 15. Начальное значение a равно 1, с
каждым шагом цикла i увеличивается на 2.
Решение:
a = 1
for i in range(1, 15, 2) :
a = a+i
print(a)
43
44. Задания
«4»: Ввести a и b и вывести квадраты и кубы чисел
от a до b.
Пример:
Введите границы интервала:
4 6
4 16 64
5 25 125
6 36 216
«5»: Вывести квадраты и кубы 10 чисел следующей
последовательности: 2, 4, 6, 8, 10, …
Пример:
1
1
1
2
4
8
4
16
64
44
46. Цикл с неизвестным числом шагов
Пример: Отпилить полено от бревна. Сколько раз надо
сделать движения пилой?
Задача: Ввести целое число (<2000000) и определить
число цифр в нем.
Идея решения: Отсекаем последовательно последнюю
цифру, увеличиваем счетчик.
n
count
123
0
12
1
1
2
0
3
Проблема: Неизвестно, сколько шагов надо сделать.
Решение: Надо остановиться, когда n = 0, т.е. надо делать
«пока n <> 0».
46
48. Программа
n=input('Введите целое число')
n = int(n)
выполнять
s=n
«пока n <> 0»
count = 0
while n != 0 :
count = count + 1
n= n // 10
print('В числе ', s, ' нашли ', count, '
цифр')
48
49. Цикл с условием
while <условие> :
{тело цикла}
Особенности:
• можно использовать сложные условия:
while (a<b) and (b<c) :
{тело цикла}
49
50. Цикл с условием
Особенности:
• условие пересчитывается каждый раз при входе в
цикл
• если условие на входе в цикл ложно, цикл не
выполняется ни разу
a = 4 b = 6
while a > b :
a = a – b
• если условие никогда не станет ложным,
программа зацикливается
a = 4 b = 6
while a < b :
d := a + b
50
51. Замена for на while и наоборот
for i in range(1, 10):
{тело цикла}
I = 1
while i <= 10 :
{тело цикла}
i := i + 1
Замена цикла for на while возможна всегда.
Замена while на for возможна только тогда, когда
можно заранее рассчитать число шагов цикла.
51
52. Задания
«4»: Ввести целое число и найти сумму его цифр.
Пример:
Введите целое число:
1234
Сумма цифр числа 1234 равна 10.
«5»: Ввести целое число и определить, верно ли,
что в его записи есть две одинаковые цифры.
Пример:
Введите целое число: Введите целое число:
1234
1224
Нет.
Да.
52
54. Функции
Функция – это вспомогательный алгоритм
(подпрограмма), результатом работы которого
является некоторое значение.
Примеры:
x ,
• вычисление sin x cos x
,
• расчет значений по сложным формулам
• ответ на вопрос (простое число или нет?)
Зачем?
• для выполнения одинаковых расчетов в различных
местах программы
• для создания общедоступных библиотек функций
54
55. 55
Функции
Задача: составить функцию, которая вычисляет
наибольшее из двух значений, и привести пример
ее использования формальные параметры
формальные параметры
Функция:
def Max(a,b):
if a > b :
max = a
else :
max = b
return max
a=input()
b=input()
print(Max(a,b))
это результат
функции
56. 56
Функции
Особенности:
• заголовок начинается словом def
def Max ():
• можно использовать параметры-переменные
def Max (a, b):
• в конце функции присутствует инструкция return. она
передает то или иное значение в основную ветку
программы
• функции располагаются ВЫШЕ основной программы
57. Функции
Особенности:
• Глобальные переменные объявляются вне функций и
могут быть прочитаны без каких либо объявлений. Но
если необходимо изменить значение глобальной
переменной из функции, то вам необходимо объявить ее
в начале функции ключевым словом «global»
def Myfyn () :
global number
number = 3
return number
number = 5
print (Myfyn())
57
58. 58
Задания
«4»: Составить функцию, которая определяет сумму всех
чисел от 1 до N и привести пример ее использования.
Пример:
Введите число:
100
сумма = 5050
«5»: Составить функцию, которая определяет, сколько зерен
попросил положить на N-ую клетку изобретатель шахмат
(на 1-ую – 1 зерно, на 2-ую – 2 зерна, на 3-ю – 4
зерна, …)
Пример:
Введите номер клетки:
28
На 28-ой клетке 134217728 зерен.