Федеральное агентство железнодорожного транспортаФилиал федерального государственного бюджетного образовательного учреждения высшего профессионального образования«Сибирский государственный университет путей сообщения» в г.Новоалтайске
Автор: преподаватель информатики и схемотехники Чебан Олег Олегович
Дата создания: 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.
Ввести с клавиатуры время в секундах. Результат: часы, минуты, секунды.
15
Автор: преподаватель информатики и схемотехники Чебан Олег Олегович
Дата создания: 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.
Ввести с клавиатуры время в секундах. Результат: часы, минуты, секунды.
15