4.49M
Category: programmingprogramming

+ЛекПит1-2

1.

Дисциплина: Программирование
на языке Python
Лекция 1-1. Введение в программирование.
Старший преподаватель кафедры ИБ
Жумабаева Асель Сагнаевна

2.

Язык программирования – это язык для записи
алгоритмов и программ, близкий к естественному,
исполнителем которых является компьютер
Языки
Естественные
(исторически созданные
языки национальной речи,
имеющие письменную и
устную формы);
Формальные
(искусственно созданные
языки, имеющие только
письменную форму).
Алгоритм — это упорядоченный набор действий, который необходимо
выполнить для решения поставленной задачи.
Программа – это алгоритм, записанный на языке программирования.

3.

Как и люди, компьютеры «говорят» на разных языках,
только языки эти — компьютерные.
Компьютерный язык служит для того, чтобы
переговариваться с компьютером, используя команды,
понятные и компьютеру, и человеку.
Некоторые языки программирования названы в честь
людей (например, Ада и Паскаль),
другие названия являются простыми акронимами, то
есть аббревиатурой (к примеру, BASIC — от англ.
Beginner’s All-purpose Symbolic Instruction Code,
универсальный код символических инструкций для
начинающих), и уж совсем немногие языки названы в
честь телевизионных шоу — как Python.

4.

О да, язык программирования Python
(произносится «Пайтон», с ударением на
первый слог, хотя имейте в виду, что в России
многие называют язык просто «питон»)
получил свое имя благодаря
телешоу «Летающий цирк Монти Пайтона»,
так что змея питон здесь вовсе ни при чем

5.

Python – язык программирования высокого уровня,
предназначенный для самого широкого круга задач.
С его помощью можно обрабатывать различные
данные, создавать изображения, работать с базами
данных, разрабатывать Web-сайты.
Разработка языка Python была начата в конце 1980-х
годов сотрудником голландского института CWI
Гвидо ван Россумом. Опубликован исходный текст в
феврале 1991 года.

6.

Термины
Транслятор – программа, которая переводит программу,
написанную на одном языке, в эквивалентную ей программу,
написанную на другом языке.
Компилятор – транслятор с языка высокого уровня на машинный
язык или язык ассемблера.
Интерпретатор – программа, которая принимает исходную
программу и выполняет ее, не создавая про-граммы на другом
языке.
Ассемблер – транслятор с языка Ассемблера на машинный язык.
6

7.

Определение и назначение транслятора
Транслятор – это программа, которая переводит входную
программу на исходном (входном) языке в эквивалентную
ей выходную программу на результирующем (выходном)
языке.
текст входной
программы
текст входной
программы
ОШИБКА
Транслятор
текст
результирующей
программы
(на любом языке)
сообщение
об ошибке

8.

Виды
трансляторов
Компилятор
Интерпретатор
Транспиляторы
8

9.

Определение и назначение компилятора
Компилятор – это транслятор, который осуществляет
перевод исходной программы в эквивалентную ей
объектную программу на языке машинных команд или на
языке ассемблера.
текст входной
программы
Компилятор
текст
результирующей
программы
(на языке машинных
кодов или на
ассемблера)
языке
«объектная программа» или «объектный модуль».
программный модуль, являющийся результатом компиляции исходного
модуля, представляющий собой последовательность машинных команд,
готовый к объединению с другими объектными модулями.

10.

10

11.

Всякий компилятор является транслятором,
но не всякий транслятор является компилятором.
Файл, в который записана результирующая программа,
обычно называется «объектным файлом».
Даже в том случае, когда результирующая программа
порождается на языке машинных команд,
между объектной программой (объектным файлом)
и исполняемой программой (исполняемым файлом)
есть существенная разница.
11

12.

Определение и назначение интерпретатора
Интерпретатор – это программа, которая воспринимает
входную программу на исходном языке и сразу выполняет
ее.
текст входной
программы
Интерпретатор
текст
результирующей
программы
Существует 2 типа интерпретаторов:
•Простой интерпретатор. Он берет одну инструкцию, транслирует и сразу
выполняет ее, а затем берет следующую инструкцию.
•Интерпретатор компилирующего типа. Это система из компилятора и
интерпретатора. Компилятор переводит исходный код программы в
промежуточное представление (байт-код), а интерпретатор (виртуальная
машина) выполняет этот байт-код.
Пример Cpython – интерпретатор компилирующего типа (благодаря этому
достигается большее быстродействие выполнения программ).

13.

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

14.

Основные принципы синтаксиса языка Python
1. Конец строки является концом
инструкции (";" не требуется).
2. Вложенные инструкции объединяются в блоки по
величине отступов. Отступ может быть любым, главное,
чтобы в пределах одного вложенного блока отступ был
одинаков.
3. Вложенные инструкции в Python записываются в
соответствии с одним и тем же шаблоном, когда основная
инструкция завершается двоеточием, вслед за которым
располагается вложенный блок кода, обычно с отступом
под строкой основной инструкции.

15.

Особенности языка
1. Кроссплатформенный, потому что Python работает почти на всех
известных операционных системах, включая: Linux, Window,
FreeBSD, Macintosh, Solaris и т.д.
2. Интерактивный, потому что позволяет в режиме реального
времени взаимодействовать с интерпретатором.
3. Интерпретируемый, потому что не требует компиляций для
выполнения кода

16.

Плюсы Python
Хорошо подходит для новичков.
Простой синтаксис: код легко писать, читать
и поддерживать.
Большая стандартная библиотека и много
дополнительных библиотек.
Поддерживает объектно-ориентированное
программирование.
Кроссплатформенность и поддержка почти всех
современных систем.

17.

Минусы Python
Низкая скорость.
Плохо подходит для разработки мобильных
приложений.
Из-за динамической типизации выше
вероятность ошибки при запуске, нужно больше
тестов.
Не подходит для работы с памятью на низком
уровне.

18.

Философия Python в оригинале
Although practicality beats purity;
Errors should never pass silently;
Unless explicitly silenced;
Beautiful is better than ugly;
In the face of ambiguity, refuse the temptation to
guess;
There should be one — and preferably only one —
obvious way to do it;
Explicit is better than implicit;
Although that way may not be obvious at first
unless you're Dutch;
Simple is better than complex;
Now is better than never;
Complex is better than complicated;
Although never is often better than *right* now;
Flat is better than nested;
If the implementation is hard to explain, it's a bad
idea;
Sparse is better than dense;
Readability counts;
Special cases aren't special enough
to break the rules;
If the implementation is easy to explain, it may be
a good idea;
Namespaces are one honking great idea — let's do
more of those!

19.

Философия Python с переводом
Красивое лучше, чем уродливое;
Явное лучше, чем неявное;
Простое лучше, чем сложное;
Сложное лучше, чем запутанное;
Встретив двусмысленность, отбрось искушение
угадать;
Должен существовать один — и, желательно,
только один — очевидный способ сделать это;
Плоское лучше, чем вложенное;
Хотя он поначалу может быть и не очевиден, если
вы не голландец;
Разреженное лучше, чем плотное;
Сейчас лучше, чем никогда;
Читаемость имеет значение;
Хотя никогда зачастую лучше, чем прямо сейчас;
Особые случаи не настолько особые, Если реализацию сложно объяснить — идея
чтобы нарушать правила;
плоха;
При этом практичность важнее
безупречности;
Если реализацию легко объяснить — идея,
возможно, хороша;
Ошибки никогда не должны
замалчиваться;
Пространства имён — отличная вещь! Давайте
будем делать их больше!
Если не замалчиваются явно;

20.

Установка среды

21.

Отметьте необходимые опций установки

22.

Выберете место установки

23.

После успешной установки вас ждет следующее сообщение.

24.

Дисциплина: Программирование
на языке Python
Лекция 1-2. Алфавит языка. Типы переменных.
Старший преподаватель кафедры ИБ
Жумабаева Асель Сагнаевна

25.

Алфавит и словарь языка
Основой языка программирования является алфавит — набор допустимых
символов, которые можно использовать для записи программы:
латинские прописные и строчные буквы (А, В, С, ..., X, Y, Z, а, b, с, ..., х, у, z);
русские прописные и строчные буквы (можно использовать, но это является
очень плохим стилем);
арабские цифры (0, 1, 2, ..., 7, 8, 9); специальные символы (знак подчёркивания;
знаки препинания; круглые, квадратные скобки; знаки арифметических операций,
# - знак комментарий и др.).
В качестве неделимых элементов (составных символов) рассматриваются
следующие последовательности символов:
>= и <= (знаки ≥ и ≤);
«!», =, ≠
""" или ' ' ' и ''‘ или # – утроенные кавычки или апострофы (начало и конец
комментария)

26.

— имя некоторого объекта в программе,
являющееся
его
уникальным
признаком,
позволяющим отличать его от других объектов.
обязательно есть у каждой переменной,
функции, объекта и т.п.;
не ограничен по длине;
чувствителен к регистру (то есть А и а — это
разные имена переменных или функций).

27.

только символы латинского языка (от "A" до "Z")
подчеркивание "_"
цифры от "0" до "9"
идентификатор не может начинаться с цифры
должен быть НЕ ключевым словом

28.

Служебные слова – это единые смысловые элементы с фиксированным
значением.
Имена=идентификаторы
Прописные и строчные буквы в именах различаются, например,
f и F – две разные переменные.
Длина имени может быть любой. Для удобства мы будем
использовать имена, передающие смысл объект, состоящие не более,
чем из 15 символов.
Для обозначения переменных, программ и других объектов
используются имена (идентификаторы) - любые отличные от
служебных слов последовательности букв, цифр и символа
подчёркивания, начинающиеся с буквы или символа подчёркивания
НЕЛЬЗЯ использовать в имени:
• скобки
• знаки +, =, !, ? и др.

29.

Служебные слова

30.

Переменная — это простейшая именованная
структура данных, в которой может быть
сохранён
промежуточный
или
конечный
результат работы программы.
Чтобы создать переменную, нужно присвоить
некоторому идентификатору значение при
помощи оператора присваивания — знака "=".
Пример:

31.

a = 10
b = 3.1415926
c = “Hello”
d – [1, 2, 3]
e = true
переменная a хранит значение типа int (целое число),
переменная b — типа float (число с плавающей точкой,
т.е. вещественное число),
переменная c — типа str (строка),
переменная d — типа list (список, в данном случае из
трех целых чисел),
переменная e — типа bool (логический тип, где переменная может быть истиной (true) или ложью (false)).

32.

Никакого специального объявления переменных не
требуется,
первое
присваивание
переменной
значения и является ее объявлением. Идентификатор
в Python является "ссылкой" на хранимые в памяти
данные.
Python — язык с динамической типизацией: каждая
переменная в каждый момент времени имеет
определенный тип, но этот тип может меняться по
ходу выполнения программы, достаточно просто
присвоить ей новое значение другого типа.
Определить, какой тип имеет переменная, можно с
помощью команды type().

33.

34.

Типы данных
В вещественном числе целая часть от дробной отделяется точкой, при
этом перед точкой и после неё должно быть, по крайней мере, по
одной цифре.
Пробелы внутри числа недопустимы.
Тип переменной определяется в тот момент, когда ей
присваивается новое значение.

35.

Программы на языке Python чаще всего выполняются
интерпретатором, который читает очередную команду и сразу её
выполняет, не переводя всю программу в машинный код
конкретного процессора.
Можно работать в двух режимах:
через командную строку (в интерактивном режиме), когда каждая
введённая команда сразу выполняется;
в программном режиме, когда программа сначала записывается в
файл (обычно имеющий расширение .ру)
Для запуска программы выбираем в меню Пуск ПрограммыPython 3.7.1 -IDLE. В результате откроется окно PythonShell, в
>>>
котором символы
означают приглашение ввести
команду. После ввода строки нажимаем клавишу Enter.
На следующей строке сразу отобразиться результат, а
далее приглашение для ввода новой команды.

36.

Изучение языков программирования принято начинать с программы,
выводящей надпись: «Привет, мир!»
Надпись на Python:
В начале строки (левее команды print ()) не должно быть пробелов!!!
Таково требование языка Python!!!!!

37.

Для создания файла с программой в меню File
выбираем пункт NewFile.
В открывшемся окне набираем код Программы , а
затем сохраняем его под именем test.py, выбрав пункт
меню File-SaveAs.
Запустить программу на выполнение можно, выбрав
пункт меню Run-RunModule или нажав клавишу F5.
Существуют ресурсы для запуска и отладки программ
на Pythononline.
Например:
http://pythontutor.com/visualize.html#mode=edit
http://rextester.com/l/python3_online_compiler
https://www.jdoodle.com/python3-programming-online
https://ideone.com/

38.

39.

Алгоритмизация и программирование, язык Python
39
Компьютерный практикум
«1»: Вывести на экран текст «лесенкой»
Вася
пошел
гулять
«2»: Вывести на экран рисунок из букв
Ж
ЖЖЖ
ЖЖЖЖЖ
ЖЖЖЖЖЖЖ
HH HH
ZZZZZ
«3» Вычислите через командную строку :
1.
7 35 6 + 11 23 13
3 415 2
К.Ю. Поляков, 2015
0.7499999999999999
(0.0004184399466434458)
http://kpolyakov.spb.ru

40.

Алгоритмизация и программирование, язык Python
40
Компьютерный практикум
7.
К.Ю. Поляков, 2015
http://kpolyakov.spb.ru

41.

Оператор присваивания
Общий вид оператора:
<имя переменной>=<значение
или вычисляемое выражение>
Примеры:
a = 25
b = "Привет"
c = 1.4 + 5.7 * a
d=a<c
e=“мир”+b
f=x*(a+c)/3

42.

Нельзя указывать в правой части выражения
переменные, которые не были заранее
созданы (определены).
Так для переменных c и d все входящие
переменные были заданы выше.
Следующая строка ошибочна
f = x * (a + c) / 3
так как переменная x из правой части ранее
не была создана.

43.

В Python разрешено множественное присваивание.
Запись а = b = 0
равносильна паре операторов
b=0иа=0
a,b=5,3 ИЛИ a=5 и b=3

44.

Выражения и операции
Выражение – это конструкция, возвращающая значение некоторого типа.
Простыми выражениями являются переменные и константы.
Сложные выражения строятся из простых с помощью операций, функций и
скобок. Данные, к которым применяются операции, называются операндами.
Используется линейная форма записи выражений (в одну строку).
Арифметические операции
Операция
Сложение
Вычитание
Умножение
Деление
Целочисленное деление
Остаток от деления
Возведение в степень
Обозначение
+
*
/
//
%
**
Пример
3 + 4 = 7
7 - 2 = 5
2 * 2 = 4
8 / 2 = 4
9 // 2 = 4
9 % 2 = 1
2 ** 3 = 8

45.

Основные
операции
с
целыми
вещественными (float) числами:
(int)
A + B — сумма;
A - B — разность;
A * B — произведение;
A / B — частное, (результатом этого действия
является вещественное число, даже если A нацело
делится на B);
A % B — взятие остатка от деления A на B;
A // B — взятие целой части от деления A на B
A ** B — возведение в степень.
и

46.

Выражения и операции
Логические выражения могут содержать величины или
выражения, которые сравниваются между собой с помощью
операций сравнения.
Логическое выражение может принимать лишь два значения:
«истина» или «ложь».
Операции сравнения
Операция
равно
Символы
==
Пример
x == 0
не равно
!=
x != 0
больше
>
x > 0
меньше
<
x < 0
больше или равно
>=
x >= 0
меньше или равно
<=
x <= 0

47.

48.

Приоритеты операций в Python совпадают
приоритетом операций в математике, а именно:
с
1) Выполняются возведения в степень справа налево,
то есть 3 ** 3 ** 3 это 3 ** (3 ** 3).
2) Выполняются унарные минусы (отрицания).
3) Выполняются умножения и деления слева направо.
Операции
умножения
и
деления
имеют
одинаковый приоритет.
4) Выполняются сложения и вычитания слева направо.
Операции
сложения
и
вычитания
имеют
одинаковый приоритет.
5) Для изменения порядка
использовать скобки.
действий
нужно

49.

Выражения и операции
Приоритет выполнения операций:
1) операции в скобках;
2) возведение в степень;
3) умножение и деление (в том числе // и %);
4) сложение и вычитание.
Операции одинакового приоритета выполняются в порядке записи слева
направо.
Если выражение слишком длинное и не помещается в одной строке,
необходимо заключить всё выражение в скобки (перенос внутри скобок
разрешён).
Например:
( a b) h
2
2
at
v
2
1 2 3
(a+b)*h/2
4 2 1 3
v+a*t**2/2
English     Русский Rules