Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Алгоритмы и структуры данных в Python. Лабораторный практикум

Покупка
Новинка
Основная коллекция
Артикул: 860701.01.99
Доступ онлайн
216 ₽
В корзину
Учебное пособие содержит перечень и краткую теоретическую справку по основным темам лабораторных работ курса «Алгоритмы и структура данных в Python: лабораторный практикум» для направления подготовки 01.03.05 «Статистика». В пособии представлены задания для лабораторных работ, варианты заданий для самостоятельной работы студентов всех форм обучения. Пособие может использоваться и для иных направлений и специальностей
Шкодина, Т. А. Алгоритмы и структуры данных в Python. Лабораторный практикум : учебное пособие / Т. А. Шкодина. - Ростов-на-Дону : Издательско-полиграфический комплекс РГЭУ (РИНХ), 2022. - 80 с. - ISBN 978-5-7972-3037-3. - Текст : электронный. - URL: https://znanium.ru/catalog/product/2213221 (дата обращения: 04.06.2025). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ 
РОССИЙСКОЙ ФЕДЕРАЦИИ 
 
РОСТОВСКИЙ ГОСУДАРСТВЕННЫЙ 
ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ (РИНХ) 
 
КАФЕДРА ИНФОРМАЦИОННЫХ СИСТЕМ  
И ПРИКЛАДНОЙ ИНФОРМАТИКИ 
 
 
 
 
 
 
Т.А. Шкодина 
 
 
 
 
 
АЛГОРИТМЫ И СТРУКТУРЫ ДАННЫХ В PYTHON. 
ЛАБОРАТОРНЫЙ ПРАКТИКУМ 
 
 
 
УЧЕБНОЕ ПОСОБИЕ 
 
 
 
 
 
 
 
 
Ростов-на-Дону 
Издательско-полиграфический комплекс РГЭУ (РИНХ) 
2022 


УДК 004 (075) 
ББК 32.973.2 
Ш 67 
 
Шкодина, Т.А. 
Ш 67 
Алгоритмы и структуры данных в Python. Лабораторный практикум : учебное пособие. – Ростов-на-Дону : Издательско-полиграфический комплекс РГЭУ (РИНХ), 2022. – 
80 с. 
ISBN 978-5-7972-3037-3 
 
 
Учебное пособие содержит перечень и краткую теоретическую справку по основным темам лабораторных работ курса «Алгоритмы и структура данных в Python: лабораторный практикум» 
для направления подготовки 01.03.05 «Статистика». В пособии 
представлены задания для лабораторных работ, варианты заданий 
для самостоятельной работы студентов всех форм обучения.  
Пособие может использоваться и для иных направлений и 
специальностей. 
УДК 004 (075) 
ББК 32.973.2 
 
Рецензенты: 
Рутта Н.А., к.э.н., заведующая кафедрой экономики и управления Южно-Российского гуманитарного института 
Ефимова Е.В., к.э.н., заведующая кафедрой Информационных технологий и защиты информации РГЭУ (РИНХ) 
 
Утверждено в качестве учебного пособия учебно-методическим советом 
Ростовского государственного экономического университета (РИНХ) 
 
 
ISBN 978-5-7972-3037-3  
 
 
© Шкодина Т.А. 2022 
© Ростовский государственный экономический 
университет (РИНХ), 2022 


СОДЕРЖАНИЕ 
Лабораторная работа 1. Введение в алгоритмы......................... 5 
Задания для самостоятельного выполнения ................................ 10 
Лабораторная работа 2. Линейные структуры данных .......... 12 
Задания для самостоятельного выполнения ................................ 22 
Лабораторная работа 3. Алгоритмы обработки данных 
линейной структуры. Сортировка. Поиск ................................. 25 
Задания для самостоятельного выполнения ................................ 31 
Лабораторная работа 4. Нелинейные структуры данных ...... 33 
Задания для самостоятельного выполнения ................................ 40 
Лабораторная работа 5. Алгоритмы на графах. 
Представления графов. Алгоритмы поиска в глубину 
и ширину. Кратчайшие пути в графе .......................................... 43 
Задания для самостоятельного выполнения ................................ 47 
Лабораторная работа 6. Комбинаторные алгоритмы .............. 50 
Задания для самостоятельного выполнения ................................ 51 
Лабораторная работа 7. Основные алгоритмы обработки 
данных. Рекурсивные алгоритмы ................................................ 53 
Задания для самостоятельного выполнения ................................ 54 
Лабораторная работа 8. Хеширование ........................................ 56 
Задания для самостоятельного выполнения ................................ 58 
Лабораторная работа 9. Хеширование. Принцип 
хеширования. Алгоритмы на строках. Хеш-таблица. 
Криптографическое преобразование. Шифрование ................ 59 
Задания для самостоятельного выполнения ................................ 63 
Лабораторная работа 10. Динамическое  
программирование .......................................................................... 64 
Задания для самостоятельного выполнения ................................ 68 
Состав и структура индивидуального задания ......................... 69 


Список рекомендованных и использованных  
источников ........................................................................................ 76 
Приложения ...................................................................................... 77 
Приложение А (информационное). Форма титульного листа 
для индивидуального задания........................................................ 77 
Приложение Б (информационное). Форма титульного листа 
для отчета  по лабораторным работам .......................................... 78 
Приложение В (информационное). Структура отчета 
к лабораторным работам ................................................................ 79 


ЛАБОРАТОРНАЯ РАБОТА 1. 
ВВЕДЕНИЕ В АЛГОРИТМЫ 
Цель: составить программы на языке программирования  
Python линейных, ветвящихся и циклических алгоритмов 
Общие сведения 
Алгоритм – последовательность команд, предназначенная 
исполнителю, в результате выполнения которой он должен решить 
поставленную задачу. 
Виды алгоритмов: линейный алгоритм, разветвляющийся алгоритм, циклический алгоритм. 
Лексема – последовательность допустимых символов языка 
программирования.  
Набор лексем – текст на языке программирования, который 
понятен компилятору языка. 
Исходный код – текст программы на языке программирования. Исходный код записывается в текстовом файле с расширением .py. 
Комментарий – строка в программе, которой предшествует 
символ #. Комментарии нужны для объяснения программного 
кода, а также для отладки программы. Комментарии не относятся 
к тексту программы, во время её выполнения будут пропущены 
компилятором. 
Интерактивный режим – режим, при котором введенные инструкции с клавиатуры будут немедленно выполнены, 
а результат выведен на экран. Интерактивный режим не используется для составления полноценных программ. 
Интегрированная среда разработки программ (IDLE, Integrated Development and Learning Environment) – среда для составления полноценных программ, которая включает в себя редактор 
кода, средства работы с компилятором и отладчиком, интеграцию с системами управления версиями и другие возможности.  
 
Типы данных в python: 
int – целочисленный тип данных; 


float – вещественный тип данных; 
str – строковый тип данных; 
bool – логический тип данных (True/False) 
Функции ввода и вывода языка программирования python: 
print() – вывод данных на экран; 
input() – ввод данных с клавиатуры; 
 
Математические операторы Python 
Оператор 
Описание 
x+y 
Сложение 
x-y 
Вычитание  
x*y 
Произведение 
x/y 
Деление 
x//y 
Целочисленное деление 
x%y 
Остаток от целочисленного деления 
x**y 
Возведение в степень 
-x 
Смена знака числа 
 
При использовании встроенных функций необходимо импортировать математический модуль import math. Обычно модули 
прописываются вначале кода. 
 
Встроенные математические функции в Python 
Функция 
Описание 
Пример 
pow(x,y) 
Степень y числа x 
math.pow(4,2) 
abs(x) 
Модуль числа x 
math.abs(-100) 
sin(x) 
Синус числа x 
math.sin(45) 
cos(x) 
Косинус числа x 
math.cos(30) 
sqrt(x) 
Квадратный корень числа 
math.sqrt(121) 
log(x,y) 
Логарифм числа x по основанию y 
math.log(625,5) 
round(x,y) 
Округление числа x до 
цифры y 
math.round(5.3456,2) 
 
 
 


Операторы сравнения Python 
Оператор 
Описание 
Пример 
== 
Проверяет, одинаково ли значение операндов, условие является истинным, если 
одинаково 
a==b 
!= 
Проверяет, одинаково ли значение операндов, условие является истинным, если 
не одинаково 
a!=b 
> 
проверяет значение левого операнда, 
если оно больше, чем правый, то условие 
является истинным 
a>b 
< 
проверяет значение левого операнда, 
если оно меньше, чем правый, то условие 
является истинным 
a<b 
>= 
проверяет значение левого операнда, 
если оно больше (или равно), чем правый, то условие является истинным 
a>=b 
<= 
проверяет значение левого операнда, 
если оно меньше (или равно), чем правый, то условие является истинным 
a<=b 
 
Условные операторы и циклы 
Конструкция 
Описание 
Синтаксис 
if-else 
Условный оператор ветвления if 
позволяет 
выполнять 
разные 
блоки команд в зависимости от 
истинности или ложности некоторого условия. Под ключевым 
словом else размещается блок 
команд, выполняемых при ложном условии. 
 
 
if выражение: 
    команды 
else: 
    команды 
 
if-elif-else 
Применим для реализации выбора из нескольких альтернатив. 
if выражение1: 
    команды 
elif выражение2: 


Конструкция 
Описание 
Синтаксис 
    команды 
elif выражение3: 
    команды 
else: 
    команды 
while-breakcontinue 
Оператор цикла while выполняет 
указанный набор инструкций до 
тех пор, пока условие цикла истинно. После while указывается 
некоторое условие (истинное 
или ложное). После этого снова 
проверяется условие. Если оно 
истинно, снова выполняются команды из while-блока и так далее. Процесс продолжается до 
тех пор, пока условие при проверке не окажется ложным. Если 
условие ложное, то выполняются 
команды после ключевого слова 
else. На этом выполнение оператора цикла завершается. Оператор break предназначен для досрочного прерывания работы 
цикла while. Оператор continue 
запускает цикл заново, при этом 
код, расположенный после данного оператора, не выполняется 
while условие: 
     команды 
    ……… 
    continue 
    ……… 
    break 
    ……… 
else: 
    команды  
 
for 
Оператор for выполняет указанный набор инструкций заданное 
количество раз, которое определяется количеством элементов в 
наборе. Оператор цикла for 
удобно 
использовать, 
когда 
необходимо 
перебирать 
эле 
 
 
 
 
 
 
 


Доступ онлайн
216 ₽
В корзину