2
Пример задачи
Задача. Ввести два числа и вычислить их сумму.
# ввести два числа
# вычислить их сумму
# вывести сумму на экран
?
Выполнится?
Псевдокод – алгоритм на
русском языке с элементами
языка программирования.
!
Компьютер не может исполнить псевдокод!
3.
3
Зачем нужны переменные?
# ввести два числа
Где запомнить?
# вычислить их сумму
# вывести сумму на экран
Переменная — это ячейка в оперативной памяти,
которая имеет имя, тип и значение. Значение
переменной может изменяться во время выполнения
программы.
a
b
c
ячейки памяти
4.
4
Имена переменных
Идентификатор — это имя программы или переменной.
a
Python. Линейные программы. Разбор задач. Часть 1
b
c
заглавные и строчные
буквы различаются
МОЖНО использовать
• латинские буквы (A-Z, a-z)
• цифры
!
Имя не может начинаться с цифры!
• знак подчеркивания _
Какие имена правильные?
AXby Rс»)
c
6.
7.
7
Ввод с клавиатуры
Цель – изменить исходные данные, не меняя программу.
5
a = input()
!
1. Программа ждет, пока пользователь введет
значение и нажмет Enter.
2. Введенное значение записывается в
переменную a.
8.
8
Ввод с клавиатуры
a = input()
b = input()
ввести строку с клавиатуры
и связать с переменной a
Протокол:
21
33
2133
с = a + b
print ( c )
!
?
Почему?
Результат функции input – строка символов!
преобразовать в
целое число
a = int( input() )
b = int( input() )
9.
9
Ввод с подсказкой
Введите число: 26
a = input( «Введите число: » )
?
подсказка
Что не так?
a = int( input(«Введите число: «) )
?
Что будет?
преобразовать
в целое число
Введите число: Qu-Qu
ValueError: invalid literal for int() with base 10: ‘QuQu’
10.
10
Ввод вещественных чисел
print( «Введите число:» )
x = float
float (input())
или так:
x = float
float (input(«Введите число:»))
11.
11
Программа сложения чисел
?
a = int ( input() )
b = int ( input() )
c=a+b
print ( c )
ожидание:
Введите два числа:
5
7
5+7=12
?
Как улучшить диалог?
реальность:
5
7
12
Что плохо?
12.
12
Вывод данных с текстом
значение a
значение b
значение с
Python. Линейный алгоритм
5+7=12
текст
print(a, «+», b, «=», c)
ожидание:
5+7=12
реальность:
5 + 7 = 12
это пробелы не заказывали!
print(a, «+», b, «=», c, sep=»» )
separator
пустой
13.
13
Программа сложения чисел
print ( «Введите два числа: » )
a = int ( input() )
b = int ( input() )
c=a+b
print ( a, «+», b, «=», c, sep=»» )
?
Как переделать для 3-х чисел?
14.
14
Ввод двух чисел в одной строке
a, b = map ( int, input().split() )
21 33 input()
ввести строку с клавиатуры
21 33 input().split()
целые
применить
разделить строку на
части по пробелам
21 33 map ( int, input().split() )
эту
операцию
к каждой части
a, b = map ( int, input().split() )
15.
15
Задачи
«A»: Ввести три числа, найти их сумму.
Пример:
Введите три числа:
4
5
7
4+5+7=16
«B»: Ввести три числа, найти их сумму и
произведение.
Пример:
Введите три числа:
4
5
7
4+5+7=16
4*5*7=140
16.
16
Задачи
«C»: Ввести три числа, найти их сумму, произведение
и среднее арифметическое.
Пример:
Введите три числа:
4 5 7
4+5+7=16
4*5*7=140
(4+5+7)/3=5.333333
Источник: ppt-online.org
Презентация, доклад по информатике на тему Задачи на линейные алгоритмы в языке программирования Питон
Слайд 1Язык программирования PYTHON
Задачи на линейные алгоритмы
Слайд 2Найти сумму двух чисел
a = int ( input() )
b = int
( input() )
c = a + b
print ( c )
Учитель информатики МБОУ «Школа 39 «Центр физико-математического образования» города Рязани Коконова Е.В.
Слайд 32. Найти длину окружности
Учитель информатики МБОУ «Школа 39 «Центр физико-математического образования»
города Рязани Коконова Е.В.
Слайд 4n = int ( input() )
m = 7*n*n+2/3*n-3.7*(n+5)
print ( m )
Учитель
информатики МБОУ «Школа 39 «Центр физико-математического образования» города Рязани Коконова Е.В.
Слайд 5Учитель информатики МБОУ «Школа 39 «Центр физико-математического образования» города Рязани Коконова
Слайд 65. Найти количество секунд в заданном числе минут
Учитель информатики МБОУ «Школа
39 «Центр физико-математического образования» города Рязани Коконова Е.В.
m = int ( input(‘m=‘) )
c = 60*m
print ( “c=“, c, sep=(‘ ‘) )
Слайд 7 1. Найти количество миллиметров в заданном числе метров.
Решить самостоятельно:
2.
3.
Д.з. Творческая работа.
Составить
и решить две свои аналогичные задачи на отдельном листе.
Похожие презентации
Что такое shareslide.ru?
Это сайт презентаций, где можно хранить и обмениваться своими презентациями, докладами, проектами, шаблонами в формате PowerPoint с другими пользователями. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами.
Источник: shareslide.ru
Введение в линейное программирование на Python
Наездники сильнее лучников, которые, в свою очередь, сильнее мечников. В следующей таблице приведена информация о силе и стоимости каждого юнита:
Итак, у вас есть 1200 еды, 800 дерева и 600 золота. Как с помощью этих ресурсов максимизировать силу армии?
Можно просто найти юнит с наилучшим соотношением силы/стоимости, приобрести их как можно больше, а затем повторить процесс с оставшимися двумя. Но подход “угадай и проверь” может даже не быть оптимальным.
Теперь представьте, что у вас миллионы юнитов и ресурсов. Предыдущая стратегия, скорее всего, не приведет к наилучшему варианту. Для решения этой задачи возможно применение алгоритма машинного обучения (например, генетический алгоритм), но, как и в первом случае, нет гарантии на оптимальный результат.
К счастью, существует метод, который решит эту задачу наилучшим образом, — линейное программирование (или линейная оптимизация), входящее в область исследования операций. Сегодня мы будем использовать этот метод для определения лучшего количества мечников, лучников и наездников с целью создания армии с максимально возможной силой.
1. Решатели (солверы)
Для линейного программирования в Python существуют разные библиотеки — многоцелевая SciPY, удобная для новичков PuLP, всеохватывающая Pyomo и многие другие.
Сегодня мы воспользуемся инструментом Google OR-Tools, который поставляется c несколькими готовыми решателями и имеет наибольшее количество звезд на GitHub. Вы можете запустить код из этого руководства, используя блокнот Google Colab.
Если установка не прошла, перезапустите ядро и попробуйте снова: иногда случаются неполадки.
!python -m pip install —upgrade —user -q ortools
Все эти библиотеки имеют скрытое преимущество: они выступают в роли интерфейсов, чтобы использовать одну модель с разными решателями. Такие солверы, как Gurobi, Cplex и SCIP, имеют собственные API, но модели, которые они создают, привязаны к конкретному решателю.
OR-Tools позволяет использовать абстрактный путь моделирования задачи. Затем мы можем выбрать один или несколько решателей для поиска оптимального варианта. Таким образом, созданную модель можно использовать многократно!
Google OR-Tools имеет собственный решатель линейного программирования под названием GLOP (Google Linear Optimization Package). Это проект с открытым исходным кодом, созданный командой Google по исследованию операций и написанный на С++.
Также доступен SCIP — некоммерческий решатель, созданный в 2005 году и получающий обновления и поддержку по сей день. Как вариант, можно использовать коммерческие версии типа Gurobi и Cplex. Однако вам придется установить их поверх OR-Tools и получить соответствующую лицензию (что может стоить дорого). Для начала попробуем GLOP.
# Импортируем оболочку OR-Tools для линейного программирования
from ortools.linear_solver import pywraplp
# Создаем решатель с помощью бэкенда GLOP
solver = pywraplp.Solver(‘Maximize army power’, pywraplp.Solver.GLOP_LINEAR_PROGRAMMING)