Программирование на языке Python. Решение задач на компьютере

1.

1
Программирование
на языке Python
Решение задач
на компьютере
К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru

2.

Алгоритмы и программирование, язык Python, 10 класс
2
Этапы решения задач на компьютере
1. Постановка задачи: что дано, что найти
2. Формализация: строится модель, которая
включает только существенные данные
3. Построение алгоритма: как с помощью модели
получить результат
4. Составление программы
5. Тестирование и отладка программы
6. Выполнение расчётов
7. Анализ результатов
К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru

3.

Алгоритмы и программирование, язык Python, 10 класс
3
Системы программирования
Машинные коды:
B82301052500
ассемблер
Язык ассемблера:
MOV AX,0123h
ADD AX,25h
1 команда языка =
1 машинная команда
• язык машинно-ориентированный AX:= 12316
(язык низкого уровня)
AX:= AX + 2516
• все возможности процессора
• программы эффективные
• программы непереносимы
• программировать сложно
Системы программирования – это программные
средства для создания и отладки новых программ.
К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru

4.

Алгоритмы и программирование, язык Python, 10 класс
4
Языки высокого уровня
Фортран (FORmula TRANslator), 1957 г.
Около 9000 языков программирование (2024 г.)
• языки общего назначения: Java, C, C++, C#,
Visual Basic, Delphi
• для программирования интернет-сайтов: PHP,
JavaScript, Perl, ASP, Python
• для задач искусственного интеллекта: Лисп, Пролог,
Python
• для обучения программированию: Бейсик, Паскаль,
Лого, Python
Транслятор – это программа, которая переводит текст
программ на языке высокого уровня в код, который
может выполнить компьютер.
К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru

5.

Алгоритмы и программирование, язык Python, 10 класс
5
Трансляторы
Интерпретатор: анализирует текст программы по
частям, сразу выполняет обработанную команду.
программы переносимы
удобно отлаживать
для выполнения нужен интерпретатор
программы выполняются медленно
могут оставаться синтаксические ошибки
К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru

6.

Алгоритмы и программирование, язык Python, 10 класс
6
Трансляторы
Компилятор: переводит всю программу в машинный код,
строит исполняемый файл.
для выполнения не нужен транслятор
программы работают быстро
при изменении нужно заново транслировать всю
программу
программа работает только в одной ОС
! Программы непереносимы!
К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru

7.

Алгоритмы и программирование, язык Python, 10 класс
7
Трансляция в псевдокод
Цель: одна программа для разных ОС.
public class Main {
public static void main(String[] args) {
System.out.println(“Привет, мир!");
}
}
текст программы
(Java)
псевдокод
транслятор в
псевдокод
виртуальная
машина
интерпретатор
псевдокода
проверка синтаксических
ошибок при трансляции
работают везде, где есть
виртуальная машина
медленнее, чем
«родные» программы
Java, Perl, PHP, Python
C#, J#, VB.NET, Delphi.NET IL = Intermediate Language
К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru

8.

Алгоритмы и программирование, язык Python, 10 класс
8
Состав системы программирования
• транслятор
• компоновщик — программа, которая собирает разные
части создаваемой программы и функции из
стандартных библиотек в исполняемый файл
исходные файлы
qq.c
объектные файлы
qq.o
исполняемый
файл
qq1.c
qq1.o
qq.exe
трансляция
стандартные
функции
К.Ю. Поляков, Е.А. Ерёмин, 2025
компоновка
(сборка)
http://kpolyakov.spb.ru

9.

Алгоритмы и программирование, язык Python, 10 класс
9
Состав системы программирования
• отладчик – программа для поиска ошибок в других
программах:
▫ пошаговый режим
▫ выполнить до курсора
▫ точки останова
▫ просмотр и изменение значений переменных
• профилировщик — программа, позволяющая оценить
время работы каждой процедуры и функции
К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru

10.

Алгоритмы и программирование, язык Python, 10 класс
10
Библиотеки подпрограмм
• в составе систем программирования
исходные файлы
объектный файл
(библиотека)
math.c
math.o
подключение
при сборке
трансляция
• динамически подключаемые библиотеки
qq.exe
CreateWindow
user32.dll
К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru

11.

Алгоритмы и программирование, язык Python, 10 класс
11
Что такое API?
API = Application Programming Interface, интерфейс
прикладного программирования.
• описание структур данных
• порядок вызова подпрограмм
Windows API, POSIX
API сервисов:
(www.google.ru)
Википедия (ru.wikipedia.org)
(yandex.ru)
ВКонтакте (vk.com)
К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru

12.

Алгоритмы и программирование, язык Python, 10 класс
12
Интегрированные среды разработки
IDE = Integrated Development Environment
текстовый редактор
транслятор
компоновщик
отладчик
профилировщик
К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru

13.

Алгоритмы и программирование, язык Python, 10 класс
13
Интегрированные среды разработки
Microsoft Visual Studio (C, C++, C#, VB.NET)
Eclipse (Java, C++, PHP)
IntelliJ IDEA (Java, Kotlin, Scala)
PyCharm (Python)
Code::Blocks (C++)
NetBeans (Java, PHP)
Xcode (Swift, Objective-C, Python, Java, Ruby)
К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru

14.

Алгоритмы и программирование, язык Python, 10 класс
14
Среды быстрой разработки приложений
RAD = Rapid Application Development
построение интерфейса с помощью мыши
К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
English     Русский Правила