Файл: Методические указания по подготовке к практическим занятиям и по организации самостоятельной работы (для всех форм обучения).pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 11.12.2023
Просмотров: 67
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ
РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное бюджетное образовательное учреждение высшего образования
«ТЮМЕНСКИЙ ИНДУСТРИАЛЬНЫЙ УНИВЕРСИТЕТ»
Филиал ТИУ в г. Сургуте
Кафедра естественно-научных и гуманитарных дисциплин
Математика и Python для анализа данных
Методические указания по подготовке к практическим занятиям и по организации самостоятельной работы (для всех форм обучения)
Составитель
Л.К. Иляшенко,
кандидат педагогических наук, доцент кафедры
Сургут
ТИУ
2022
ДОКУМЕНТ
ПОДПИСАН
ЭЛЕКТРОННОЙ
ПОДПИСЬЮ
Сертификат
: 6FA44C50384686A8E7BD5E27735179BC
Владелец
:
Ефремова
Вероника
Васильевна
Действителен
: с
14.06.2022 до
07.09.2023
Математика и Python для анализа данных.Методические указания по подготовке к практическим занятиям и по организации самостоятельной работы (для всех форм обучения).
Аннотация
Методические указания по дисциплине «Математика и Python для анализа данных» предназначены для всех форм обучения. Представлено краткое содержание практических занятий, задания, которые позволяют закрепить полученные знания.
МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ
На практических занятиях обучающиеся изучают методику и выполняют типовые задания. В процессе подготовки к практическим занятиям обучающиеся могут прибегать к консультациям преподавателя.
Самостоятельная работа обучающихся заключается в получении заданий (тем) у преподавателя для индивидуального освоения дисциплины. Преподаватель на занятии дает рекомендации необходимые для освоения материала.
Самостоятельная работа способствует закреплению навыков работы с учебной и научной литературой, осмыслению и закреплению теоретического материала.
Самостоятельная работа выполняется во внеаудиторное (аудиторное) время по заданию и при методическом руководстве преподавателя, но без его непосредственного участия (при частичном непосредственном участии преподавателя, оставляющем ведущую роль в контроле за работой студентов).
В процессе изучения дисциплины «Математика и Python для анализа данных» обучающимися основными видами самостоятельной работы являются:
- подготовка к аудиторным занятиям (лекциям, и практическим занятиям) и выполнение соответствующих заданий;
- самостоятельная работа над отдельными темами учебной дисциплины в соответствии с учебно-тематическим планом;
- подготовка к коллоквиуму;
- подготовка к зачету.
Вопросы для самостоятельного изучения
Раздел 1. Введение.
Знакомство с Python
1. Предел и производная. Геометрический смысл производной.
Раздел 2. Библиотеки Python и линейная алгебра
1. Решение оптимизационных задач в SciPy.
2. Системы линейных уравнений.
3. Матричные операции. Ранг и определитель
Раздел 3. Оптимизация и матричные разложения
1. Касательная плоскость и линейное приближение.
2. Оптимизация негладких функций.
3. Метод имитации отжига.
4. Генетические алгоритмы и дифференциальная эволюция. Нелдер-Мид.
5. Приближение матрицей меньшего ранга.
Раздел 4. Случайность
1. Оценка распределения по выборке.
2. Важные характеристики распределений.
3. Центральная предельная теорема. Доверительные интервалы.
ПРКТИЧЕСКИЕ РАБОТЫ
Практическая работа №1
Введение в язык программирования Python
Цель работы: познакомиться со средой разработки Python. Изучить основные типы данных, команды ввода и вывода данных.
Python – это объектно-ориентированный, интерпретируемый, переносимый язык сверхвысокого уровня. Программирование на Python позволяет получать быстро и качественно необходимые программные модули.
В комплекте вместе с интерпретатором Python идет IDLE (интегрированная среда разработки). По своей сути она подобна интерпретатору, запущенному в интерактивном режиме с расширенным набором возможностей (подсветка синтаксиса, просмотр объектов, отладка и т.п.).
Для запуска IDLE в Windows необходимо перейти в папку Python в меню “Пуск” и найти там ярлык с именем “IDLE (Python 3.X XX-bit)”.
Для запуска редактора программы (кода) следует выполнить команду File->New File или сочетание клавиш Ctrl+N.
Любая Python-программа состоит из последовательности допустимых символов, записанных в определенном порядке и по определенным правилам.
Программа включает в себя:
• комментарии;
• команды;
• знаки пунктуации;
• идентификаторы;
• ключевые слова.
Комментарии в Python обозначаются предваряющим их символом # и продолжаются до конца строки (т.е. в Python все комментарии являются однострочными), при этом не допускается использование перед символом # кавычек:
Знаки пунктуации. В алфавит Python входит достаточное количество знаков пунктуации, которые используются для различных целей. Например, знаки "+" или " *" могут использоваться для сложения и умножения, а знак запятой "," - для разделения параметров функций.
Идентификаторы. Идентификаторы в Python это имена используемые для обозначения переменной, функции, класса, модуля или другого объекта.
Ключевые слова. Некоторые слова имеют в Python специальное назначение и представляют собой управляющие конструкции языка.
Ключевые слова в Python:
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif',
'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not',
'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
Типы данных
1. None (неопределенное значение переменной)
2. Логические переменные (Boolean Type)
3. Числа (Numeric Type)
- int – целое число
- float – число с плавающей точкой
- complex – комплексное число
4. Списки (Sequence Type)
- list – список
- tuple – кортеж
- range – диапазон
5. Строки (Text Sequence Type )
- str
Ввод и вывод данных
Ввод данных осуществляется при помощи команды input (список ввода): a = input() print(a)
В скобках функции можно указать сообщение - комментарий к вводимым данным: a = input ("Введите количество: ")
Команда input() по умолчанию воспринимает входные данные как строку символов.
Поэтому, чтобы ввести целочисленное значение, следует указать тип данных int(): a = int
(input())
Для ввода вещественных чисел применяется команда a=float(input())
Вывод данных осуществляется при помощи команды print (список вывода): a = 1 b = 2 print(a) print(a + b) print('сумма = ', a + b)
Существует возможность записи команд в одну строку, разделяя их через ;.
Однако не следует часто использовать такой способ, это снижает удобочитаемость: a = 1; b = 2; print(a) print (a + b) print ('сумма = ', a + b)
Для команды print может задаваться так называемый сепаратор — разделитель между элементами вывода: x=2 y=5 print ( x, "+", y, "=", x+y, sep = " " )
Результат отобразится с пробелами между элементами: 2 + 5 = 7
Простые арифметические операции над числами x + y
Сложение x - y
Вычитание
x * y
Умножение x / y
Деление
Пример программы на Python
Результат выполнения программы с применением простых арифметических операций
Для форматированного вывода используется format:
Строковый метод format() возвращает отформатированную версию строки, заменяя идентификаторы в фигурных скобках {}. Идентификаторы могут быть позиционными, числовыми индексами, ключами словарей, именами переменных.
Синтаксис команды format: поле замены := "{" [имя поля] ["!" преобразование] [":" спецификация] "}" имя поля
:= arg_name ("." имя атрибута | "[" индекс "]")* преобразование := "r" (внутреннее представление) | "s" (человеческое представление) спецификация := см. ниже
Аргументов в format() может быть больше, чем идентификаторов в строке. В таком случае оставшиеся игнорируются.
Идентификаторы могут быть либо индексами аргументов, либо ключами:
Умножение x / y
Деление
Пример программы на Python
Результат выполнения программы с применением простых арифметических операций
Для форматированного вывода используется format:
Строковый метод format() возвращает отформатированную версию строки, заменяя идентификаторы в фигурных скобках {}. Идентификаторы могут быть позиционными, числовыми индексами, ключами словарей, именами переменных.
Синтаксис команды format: поле замены := "{" [имя поля] ["!" преобразование] [":" спецификация] "}" имя поля
:= arg_name ("." имя атрибута | "[" индекс "]")* преобразование := "r" (внутреннее представление) | "s" (человеческое представление) спецификация := см. ниже
Аргументов в format() может быть больше, чем идентификаторов в строке. В таком случае оставшиеся игнорируются.
Идентификаторы могут быть либо индексами аргументов, либо ключами:
В результате выведется число 11, а перед ним два пробела, так как указано использовать для вывода четыре знакоместа.
Или с несколькими аргументами:
В итоге каждое из значений выводится из расчета 4 знакоместа.
Спецификация формата:
спецификация
:= [[fill]align][sign][#][0][width][,][.precision][type] заполнитель
:= символ кроме '{' или '}' выравнивание
:= "<" | ">" | "=" | "^" знак
:= "+" | "-" | " " ширина
:= integer точность
:= integer тип
:= "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" |
"X" | "%"
Тип
Значение
'd',
'i',
'u'
Десятичное число 'o'
Число в восьмеричной системе счисления 'x'
Число в шестнадцатеричной системе счисления (буквы в нижнем регистре)
'X'
Число в шестнадцатеричной системе счисления (буквы в верхнем регистре)
'e'
Число с плавающей точкой с экспонентой (экспонента в нижнем регистре)
'E'
Число с плавающей точкой с экспонентой (экспонента в верхнем регистре)
'f', 'F'
Число с плавающей точкой (обычный формат)
'g'
Число с плавающей точкой. с экспонентой (экспонента в нижнем регистре), если она меньше, чем -4 или точности, иначе обычный формат 'G'
Число с плавающей точкой. с экспонентой (экспонента в верхнем регистре), если она меньше, чем -4 или точности, иначе обычный формат 'c'
Символ (строка из одного символа или число - код символа)
's'
Строка '%'
Число умножается на 100, отображается число с плавающей точкой, а за ним знак %
Для форматирования вещественных чисел с плавающей точкой используется следующая команда: print('{0:.2f}'.format(вещественное число))
В результате выведется число с двумя знаками после запятой.
Пример:
Напишите программу, которая запрашивала бы у пользователя:
-
ФИО ("Ваши фамилия, имя, отчество?")
- возраст ("Сколько Вам лет?")
- место жительства ("Где вы живете?")
После этого выводила бы три строки:
"Ваше имя"
"Ваш возраст"
"Вы живете в"
Решение:
Задания для самостоятельной работы
1)
Установите Python https://www.python.org/ftp/python/3.8.5/python-3.8.5.exe
2)
Напишите программу, которая запрашивала бы у пользователя:
Имя, Фамилия, Возраст, Место жительства
- фамилия, имя ( "Ваши фамилия, имя?")
- возраст ("Сколько Вам лет?")
- место жительства ("Где вы живете?")
После этого выводила бы три строки:
"Ваши фамилия, имя"
"Ваш возраст"
"Вы живете в"
Практическая работа №2
Структура ветвление в Python
Цель работы: познакомиться со структурой ветвление (if, if-else, if-elif-else).
Научиться работать с числами и строками используя данную структуру.
Условный оператор ветвления if, if-else, if-elif-else
Оператор ветвления if позволяет выполнить определенный набор инструкций в зависимости от некоторого условия. Возможны следующие варианты использования.
1. Конструкция if
Синтаксис оператора if выглядит так:
if логическое выражение: команда_1 команда_2 команда_n
После оператора if записывается логическое выражение.
Логическое выражение — конструкция языка программирования
, результатом вычисления которой является «истина» или «ложь».
Если это выражение истинно, то выполняются инструкции, определяемые данным оператором. Выражение является истинным, если его результатом является число не равное
нулю, непустой объект, либо логическое True. После выражения нужно поставить двоеточие “:”.
ВАЖНО: блок кода, который необходимо выполнить, в случае истинности выражения, отделяется четырьмя пробелами слева!
Программа запрашивает у пользователя два числа, затем сравнивает их и если числа равны, то есть логическое выражение A==B истинно, то выводится соответствующее сообщение.
Пример программы на Python
Результат выполнения программы с использованием условного оператора if
2. Конструкция if – else
Бывают случаи, когда необходимо предусмотреть альтернативный вариант выполнения программы. Т.е. при истинном условии нужно выполнить один набор инструкций, при ложном – другой. Для этого используется конструкция if – else.
Синтаксис оператора if – else выглядит так:
if логическое выражение: команда_1 команда_2 команда_n
else: команда_1 команда_2 команда_n
Программа запрашивает у пользователя два числа, затем сравнивает их и если числа равны, то есть логическое выражение A==B истинно, то выводится соответствующее сообщение. В противном случае выводится сообщение, что числа не равны.
ВАЖНО: блок кода, который необходимо выполнить, в случае истинности выражения, отделяется четырьмя пробелами слева!
Программа запрашивает у пользователя два числа, затем сравнивает их и если числа равны, то есть логическое выражение A==B истинно, то выводится соответствующее сообщение.
Пример программы на Python
Результат выполнения программы с использованием условного оператора if
2. Конструкция if – else
Бывают случаи, когда необходимо предусмотреть альтернативный вариант выполнения программы. Т.е. при истинном условии нужно выполнить один набор инструкций, при ложном – другой. Для этого используется конструкция if – else.
Синтаксис оператора if – else выглядит так:
if логическое выражение: команда_1 команда_2 команда_n
else: команда_1 команда_2 команда_n
Программа запрашивает у пользователя два числа, затем сравнивает их и если числа равны, то есть логическое выражение A==B истинно, то выводится соответствующее сообщение. В противном случае выводится сообщение, что числа не равны.
Пример программы на Python
Результат выполнения программы с использованием условного оператора if-else
3. Конструкция if – elif – else
Для реализации выбора из нескольких альтернатив можно использовать конструкцию if – elif – else. Синтаксис оператора if – elif – else выглядит так:
if логическое выражение_1: команда_1 команда_2 команда_n
elif логическое выражение_2: команда_1 команда_2 команда_n
elif логическое выражение_3: команда_1 команда_2 команда_n
else: команда_1 команда_2 команда_n
Программа запрашивает число у пользователя и сравнивает его с нулём a<0. Если оно меньше нуля, то выводится сообщение об этом. Если первое логическое выражение не истинно, то программа переходит ко второму - a==0. Если оно истинно, то программа выведет сообщение, что число равно нулю, в противном случае, если оба вышеуказанных логических выражения оказались ложными, то программа выведет сообщение, что введённое число больше нуля.
Пример программы на Python
Результат выполнения программы с использованием условного оператора if-elif-else
Пример
Задание:
Дано 3 числа. Найти минимальное среди них и вывести на экран.
Решение:
Для простоты построим блок-схему задачи.
Командами a=input('') b=input('') c=input('') введём три числа, присвоив значения переменным a, b, c.
Условной конструкцией if-else проверим на истинность логическое выражение a
Командой print() выводим минимальное значение.
Пример программы
Результат выполнения программы
Задания для самостоятельной работы
Даны три целых числа. Выбрать из них те, которые принадлежат интервалу [1,3].
Практическая работа №3
Работа с циклами в Python
Цель работы: познакомиться с циклическими конструкциями
В Python существуют два типа цикличных выражений:
•
Цикл while
•
Цикл for
1. Цикл while в Python
Инструкция while в Python повторяет указанный блок кода до тех пор, пока указанное в цикле логическое выражение будет оставаться истинным.
Синтаксис цикла while:
while логическое выражение: команда 1 команда 2
команда n
После ключевого слова while указывается условное выражение, и пока это выражение возвращает значение True, будет выполняться блок инструкций, который идет далее.
Все инструкции, которые относятся к циклу while, располагаются на последующих строках и должны иметь отступ от начала строки (4 пробела).
Пример программы на Python
Результат выполнения программы с использованием циклического оператора while
2. Цикл for в Python
Цикл for в Python обладает способностью перебирать элементы любого комплексного типа данных (например, строки или списка). Синтаксис цикла for: for int in range(): команда 1 команда 2 команда n
Переменной int присваивается значение первого элемента функции range(), после чего выполняются команды. Затем переменной int присваивается следующее по порядку значение и так далее до тех пор, пока не будут перебраны все элементы функции range().
Функция range() является универсальной функцией Python для создания списков (list) содержащих арифметическую прогрессию. Чаще всего она используется в циклах for. range (старт, стоп, шаг) - так выглядит стандартный вызов функции range() в Python. По умолчанию старт равняется нулю, шаг единице.
Пример:
1. Найти сумму n элементов следующего ряда чисел: 1 -0.5 0.25 -0.125 ... n. Количество элементов (n) вводится с клавиатуры. Вывести на экран каждый член ряда и его сумму.
Решить задачу используя циклическую конструкцию for.
Решение:
В данном случае ряд чисел состоит из элементов, где каждый следующий меньше предыдущего в два раза по модулю и имеет обратный знак. Значит, чтобы получить следующий элемент, надо предыдущий разделить на -2. Какой-либо переменной надо присвоить значение первого элемента ряда (в данном случае это 1). Далее в цикле добавлять ее значение к переменной, в которой накапливается сумма, после чего присваивать ей значение следующего элемента ряда, разделив текущее значение на -2. Цикл должен выполняться n раз.
После ключевого слова while указывается условное выражение, и пока это выражение возвращает значение True, будет выполняться блок инструкций, который идет далее.
Все инструкции, которые относятся к циклу while, располагаются на последующих строках и должны иметь отступ от начала строки (4 пробела).
Пример программы на Python
Результат выполнения программы с использованием циклического оператора while
2. Цикл for в Python
Цикл for в Python обладает способностью перебирать элементы любого комплексного типа данных (например, строки или списка). Синтаксис цикла for: for int in range(): команда 1 команда 2 команда n
Переменной int присваивается значение первого элемента функции range(), после чего выполняются команды. Затем переменной int присваивается следующее по порядку значение и так далее до тех пор, пока не будут перебраны все элементы функции range().
Функция range() является универсальной функцией Python для создания списков (list) содержащих арифметическую прогрессию. Чаще всего она используется в циклах for. range (старт, стоп, шаг) - так выглядит стандартный вызов функции range() в Python. По умолчанию старт равняется нулю, шаг единице.
Пример:
1. Найти сумму n элементов следующего ряда чисел: 1 -0.5 0.25 -0.125 ... n. Количество элементов (n) вводится с клавиатуры. Вывести на экран каждый член ряда и его сумму.
Решить задачу используя циклическую конструкцию for.
Решение:
В данном случае ряд чисел состоит из элементов, где каждый следующий меньше предыдущего в два раза по модулю и имеет обратный знак. Значит, чтобы получить следующий элемент, надо предыдущий разделить на -2. Какой-либо переменной надо присвоить значение первого элемента ряда (в данном случае это 1). Далее в цикле добавлять ее значение к переменной, в которой накапливается сумма, после чего присваивать ей значение следующего элемента ряда, разделив текущее значение на -2. Цикл должен выполняться n раз.