Линейные программы на питоне задачи

Содержание

Программирование на языке Python (§ 54 - § 61)

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
Задачи на линейные алгоритмы

Язык программирования PYTHON Задачи на линейные алгоритмы

Слайд 2Найти сумму двух чисел
a = int ( input() )
b = int

( input() )
c = a + b
print ( c )

Читайте также:
Программа настройки logitech extreme 3d pro

Учитель информатики МБОУ «Школа 39 «Центр физико-математического образования» города Рязани Коконова Е.В.

Найти сумму двух чиселa = int ( input() )b = int ( input() )c = a +

Слайд 32. Найти длину окружности
Учитель информатики МБОУ «Школа 39 «Центр физико-математического образования»

города Рязани Коконова Е.В.

2. Найти длину окружностиУчитель информатики МБОУ

Слайд 4n = int ( input() )
m = 7*n*n+2/3*n-3.7*(n+5)
print ( m )
Учитель

информатики МБОУ «Школа 39 «Центр физико-математического образования» города Рязани Коконова Е.В.

n = int ( input() )m = 7*n*n+2/3*n-3.7*(n+5)print ( m )Учитель информатики МБОУ

Слайд 5Учитель информатики МБОУ «Школа 39 «Центр физико-математического образования» города Рязани Коконова

Учитель информатики МБОУ

Слайд 65. Найти количество секунд в заданном числе минут
Учитель информатики МБОУ «Школа

39 «Центр физико-математического образования» города Рязани Коконова Е.В.

m = int ( input(‘m=‘) )
c = 60*m
print ( “c=“, c, sep=(‘ ‘) )

5. Найти количество секунд в заданном числе минутУчитель информатики МБОУ

Слайд 7 1. Найти количество миллиметров в заданном числе метров.
Решить самостоятельно:
2.
3.
Д.з. Творческая работа.
Составить

и решить две свои аналогичные задачи на отдельном листе.

1. Найти количество миллиметров в заданном числе метров. Решить самостоятельно:2.3.Д.з. Творческая работа.Составить и решить две свои

Похожие презентации

Что такое shareslide.ru?

Это сайт презентаций, где можно хранить и обмениваться своими презентациями, докладами, проектами, шаблонами в формате PowerPoint с другими пользователями. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами.

Источник: shareslide.ru

Введение в линейное программирование на Python

Введение в линейное программирование на Python

Наездники сильнее лучников, которые, в свою очередь, сильнее мечников. В следующей таблице приведена информация о силе и стоимости каждого юнита:

Итак, у вас есть 1200 еды, 800 дерева и 600 золота. Как с помощью этих ресурсов максимизировать силу армии?

Можно просто найти юнит с наилучшим соотношением силы/стоимости, приобрести их как можно больше, а затем повторить процесс с оставшимися двумя. Но подход “угадай и проверь” может даже не быть оптимальным.

Теперь представьте, что у вас миллионы юнитов и ресурсов. Предыдущая стратегия, скорее всего, не приведет к наилучшему варианту. Для решения этой задачи возможно применение алгоритма машинного обучения (например, генетический алгоритм), но, как и в первом случае, нет гарантии на оптимальный результат.

Читайте также:
Программа astraia при скрининге какая норма

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

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)

2. Переменные

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru