Урок 1. Математическое программирование на языке Python. Целочисленная арифметика

Федеральное агентство железнодорожного транспорта Филиал федерального государственного бюджетного образовательного учреждения высшего профессионального образования «Сибирский государственный университет путей сообщения» в г.Новоалтайске

Автор: преподаватель информатики и схемотехники Чебан Олег Олегович
Дата создания: 2016, г. Новоалтайск
Урок 1. Математическое программирование на языке Python. Целочисленная арифметика.
Цели урока: приобрести опыт написания и отладки простейших программ на языке Python.
Тип урока: лекция, получение новых знаний.
Оборудование:
Язык программирования Python (официальный сайт python.org).
Среда разработки Geany (официальный сайт geany.org).
Python (по-русски «питон») - язык программирования. Разработан группой программистов во главе Гвидо ван Россумом в 1991 году. Python распространяется по лицензии, признанной Open Source (открытый исходный код). Одной из целей создателей языка Python является применимость в образовательных целях.
Дистрибутивы для различных операционных систем (MS Windows, MacOS) можно загрузить с официального сайта. В операционных системах Linux Python, как правило, уже установлен. Проверить можно по команде python в терминале (см. Рис. 1).
Рис. 1. Результат проверки.
Тройной символ >>> является приглашением Python для выполнения команд, в качестве эксперимента мы выполнили команду вывода данных print, текст заключили в двойные кавычки. С новой строки результат в виде строки «Привет, Мир!».
Пример 1. Вычислить площадь круга S=Pi*r*r, при R=3. Результат:

Программа работает! Но, что если радиус изменится? Придется переписывать, перекомпиллировать программу (компиллировать перевод текста программы в двоичный код). Обратите внимание на расширение файла текста программы - *.py, в MS Windows будет *.pyw

Пример 2. Вычислить площадь круга S=Pi*r*r.
Условие. Радиус R неизвестен.
Программа.
# - это комментарий
#!/usr/bin/env python
# -*- coding: utf-8 -*-

pi=3.14 # инициализируем число Пи
r=input("Введите радиус круга: ") # запросим радиус у пользователя
s=pi*r*r # вычислим площадь круга
print "Площадь круга: ",s # выведем результат

Результат:
Введите радиус круга: 3
Площадь круга: 28.26

В языке Python очень богатая библиотека математических функций и констант, в т.ч. число Пи и показательная функция. Однако, для того чтобы использовать стандартные математические функции необходимо подключить математическую библиотеку. Итак, усовершенствуем программу.

Пример 3. Вычислить площадь круга S=Pi*r*r.
Условие.
Радиус R неизвестен.
Используйте модуль Math.
Программа.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import math # подключаем математическую библиотеку
r=input("Введите радиус круга:")
s=math.pi*pow(r,2) # функция pow(r,2) возведет R в квадрат
print "Площадь круга: ", s

Результат:
Введите радиус круга: 3
Площадь круга: 28.2743..

На заметку! Комментирование текста программы прививает хороший стиль программирования и отличает профессионального программиста от дилетанта.
Таблица 1. Математические функции и константы модуля Math.

Функция или константа
Описание

acos(z)
арккосинус z

asin(z)
арксинус z


atan(z)
арктангенс z


atan2(y,x)
atan(y/x)

ceil(x)
наименьшее целое, большее или равное x

cos(z)
косинус z

cosh(x)
гиперболический косинус x

e
константа e

exp(z)

экспонента (то есть, e**z)


fabs(x)
абсолютное значение x

floor(x)
наибольшее целое, меньшее или равное x

fmod(x,y)
остаток от деления x на y

frexp(x)

возвращает мантиссу и порядок x как пару (m, i), где m - число с плавающей точкой, а i - целое, такое, что x = m * 2.**i. Если 0, возвращает (0,0), иначе 0.5 <= abs(m) < 1.0

hypot(x,y)
sqrt(x*x + y*y)

ldexp(m,i)
m * (2**i)

log(z)
натуральный логарифм z

log10(z)
десятичный логарифм z

modf(x)

возвращает пару (y,q) - целую и дробную часть x. Обе части имеют знак исходного числа

pi
константа пи

pow(x,y)
x**y

sin(z)
синус z

sinh(z)
гиперболический синус z

sqrt(z)
корень квадратный от z

tan(z)
тангенс z

tanh(z)
гиперболический тангенс z

x // y
Получение целой части от деления

x % y
Остаток от деления


Большие и средние программы состоят из модулей (двоичных файлов) и процедур, У нас хоть и маленькая программа, но мы, как профессиональные программисты, выделим вычисление площади круга в отдельную процедуру.

Пример 4. Вычислить площадь круга S=Pi*r*r.
Условие.
Радиус R неизвестен.
Используйте модуль Math.
Вычисление площади круга вынесите в отдельную процедуру.
Программа.

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import math
def func_s(r): s=math.pi*pow(r,2); return s; # процедура func_s(аргумент)
r=input("Введите радиус круга: ")
s=func_s(r) # обращение к процедуре, передача параметра r
print "Площадь круга: ", s

Результат:
Введите радиус круга: 3
Площадь круга: 28.2743..

Самостоятельно.
Напишите программу для вычисления длины окружности (L=2*Pi*r).
Проверьте на нескольких значениях тождество sin2x+cos2x=1.

Пример 5. Ввести с клавиатуры трехзначное целое число. Если есть одинаковые цифры, то вывести TRUE, иначе FALSE.

Программа.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
def func_l(x):
# целое от деления на 100, т.е. 1-ая цифра числа
a=x // 100;
# целое от деления на 10 - первые 2 цифры, остаток на 10 даст последнюю цифру
b=x // 10 % 10;
# остаток на 10 даст последнюю цифру трехзначного числа
c=x % 10;
print a, b, c;
log = (a==b) or (a==c) or (b==c); # a=b ИЛИ a=c ИЛИ b=c
return log;

x=input("Введите трехзначное целое число: ")
log=func_l(x) # вызываем функцию и передаем в качестве параметра трехзначное число
print log

На заметку! Соблюдайте правила отступа для всех операторов «внутри» процедуры.

Результат:
Введите трехзначное целое число: 355
TRUE
..
Введите трехзначное целое число: 234
FALSE

Самостоятельно.

Запросить с клавиатуры четырехзначное число. Если число симметрично (например, 1221, или 5005), то вывести TRUE, иначе FALSE.
Ввести с клавиатуры время в секундах. Результат: часы, минуты, секунды.
HYPER15Основной шрифт абзаца

Приложенные файлы

  • doc python01
    Чебан О. О.
    Размер файла: 99 kB Загрузок: 7