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

Основы алгоритмизации и программирования на языке Python

Покупка
Артикул: 797255.01.99
Доступ онлайн
2 000 ₽
В корзину
Рассматриваются вопросы алгоритмизации и программирования. Дается описание современного языка программирования Python в объеме, необходимом для иллюстрации основных понятий программирования. Рассматриваются базовые структуры алгоритмов, типовые алгоритмы работы с массивами, основные приемы программирования. Предназначен для изучения основ алгоритмизации и начального знакомства с программированием на языке Python студентами 1-го курса всех направлений подготовки, а также для самостоятельного изучения.
Андреева, О. В. Основы алгоритмизации и программирования на языке Python : учебник / О. В. Андреева, О. И. Ремизова. - Москва : Издательский Дом НИТУ «МИСиС», 2022. - 149 с. - ISBN 978-5-907560-22-2. - Текст : электронный. - URL: https://znanium.com/catalog/product/1914825 (дата обращения: 22.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Москва 2022

М ИНИС ТЕРС ТВО НАУКИ И ВЫСШ ЕГО О Б РА З О ВА Н И Я РФ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ОБРАЗОВАНИЯ
«НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ «МИСиС»

ИНСТИТУТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ И КОМПЬЮТЕРНЫХ НАУК

Кафедра инженерной кибернетики

О.В. Андреева 
О.И. Ремизова

ОСНОВЫ АЛГОРИТМИЗАЦИИ 
И ПРОГРАММИРОВАНИЯ 
НА ЯЗЫКЕ PYTHON

Учебник

Рекомендовано редакционно-издательским 
советом университета

№ 4701

УДК 004.43 
 
А65

Р е ц е н з е н т ы : 
канд. техн. наук, доц. С.В. Никифоров (РГГУ);  
канд. техн. наук, доц. С.В. Солодов

Андреева, Ольга Владимировна.
А65  
Основы алгоритмизации и программирования на языке Python : учебник / О.В. Андреева, О.И. Ремизова. – Москва : Издательский Дом НИТУ «МИСиС», 2022. – 149 с.
ISBN 978-5-907560-22-2

Рассматриваются вопросы алгоритмизации и программирования. Дается описание современного языка программирования Python в объеме, необходимом для иллюстрации основных понятий 
программирования. Рассматриваются базовые структуры алгоритмов, типовые алгоритмы работы с массивами, основные приемы 
программирования.
Предназначен для изучения основ алгоритмизации и начального знакомства с программированием на языке Python студентами 
1-го курса всех направлений подготовки, а также для самостоятельного изучения.

УДК 004.43

 Андреева О.В., 
Ремизова О.И., 2022
ISBN 978-5-907560-22-2
 НИТУ «МИСиС», 2022

ОГЛАВЛЕНИЕ

Предисловие .................................................................. 5

Введение ........................................................................ 7

Глава 1. Основы алгоритмизации и программирования ....... 8
1.1. Понятие алгоритма ............................................... 8
1.1.1. Понятие о структурном подходе к разработке 
алгоритмов .............................................................. 8
1.1.2. Метод пошаговой детализации ........................ 11
1.2. Основные понятия программирования ................... 12
1.3. Основы языка Python .......................................... 16
1.3.1. Переменные. Типы данных ............................. 16
1.3.2. Константы (литералы) ................................... 18
1.3.3. Математические операторы. Выражения .......... 19
1.3.4. Логические операторы. Выражения ................. 21
1.3.5. Основные операторы Python ........................... 22
1.3.6. Ввод-вывод данных ....................................... 28
1.3.7. Построение программного кода ....................... 35
1.4. Этапы решения задач ........................................... 36
1.5. Среда разработки ................................................ 39
1.5.1. Создание нового проекта ................................ 42
1.5.2. Сохранение проекта ....................................... 43
1.5.3. Открытие существующего проекта ................... 43

Глава 2. Разработка программ циклической структуры .... 45
2.1. Циклы по счетчику ............................................. 45
2.2. Циклы по условию .............................................. 52
2.3. Вложенные циклы. Вычисление рядов ................... 54
Вопросы для самопроверки ......................................... 57
Задания для самостоятельного выполнения ................... 58

Глава 3. Организация разветвлений. Разветвления  
в цикле ........................................................................ 63
3.1. Организация разветвлений. Условный оператор.  
If-блок...................................................................... 63
3.2. Составление программ для обработки потока  
данных ..................................................................... 67
Вопросы для самопроверки ......................................... 69
Задания для самостоятельного выполнения ................... 70

ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ PYTHON

Глава 4. Структурированные типы данных. Типовые 
алгоритмы обработки и их реализация ............................. 73
4.1. Списки .............................................................. 73
4.1.1. Одномерные массивы ..................................... 75
4.1.2. Алгоритмы обработки одномерных массивов ..... 78
4.1.3. Матрицы. Типовые алгоритмы обработки  
матриц .................................................................. 96
4.2. Словари ............................................................111
4.3. Множества ........................................................116
4.4. Кортежи ...........................................................118
Вопросы для самопроверки ........................................118
Задания для самостоятельного выполнения ..................119

Глава 5. Функции .......................................................129
Вопросы для самопроверки ........................................136
Задания для самостоятельного выполнения ..................137

Заключение ................................................................142

Библиографический список ...........................................143

Приложение. Основные операторы ................................144

ПРЕДИСЛОВИЕ

Современное развитие общества предполагает широкое использование компьютерных технологий в различных сферах 
деятельности.
Умение использовать разнообразные возможности, предоставляемые компьютером, обеспечивают конкурентоспособность специалиста.
Настоящий учебник предназначен для приобретения компетенций в области алгоритмизации задач и разработки приложений с использованием современного языка Python 3.7, 
включенного в среду разработки .NET FrameWork, являющуюся средством быстрой разработки приложений. Приобретаемые 
при изучении этого пособия навыки являются необходимыми 
для дальнейшего овладения возможностями, предоставляемыми языком, в полном объеме.
В учебнике рассматривается комплекс вопросов, связанных 
с решением задач на компьютере, включая формализацию постановки, алгоритмизацию, современные методы разработки, 
отладки и тестирования программ, выбор структуры данных 
и пр. В каждой главе выделены и систематизированы типовые 
алгоритмы для решения соответствующих задач, в том числе 
для обработки текстов и решения других задач «невычислительного» характера.
Учебник содержит большое количество примеров, облегчающих восприятие и освоение материала, и заданий различной 
степени сложности для самостоятельного выполнения, что позволит оценивать уровень освоения указанных умений и навыков как минимальный, средний или повышенный.
При этом следует отметить, что в рамках настоящего учебника авторы не ставили цели знакомства со всеми возможностями, предоставляемыми языком Python, а рассматривали лишь 
ограниченное подмножество средств, необходимых для решения предлагаемых задач в рамках изучаемого курса. Дополнительные сведения можно почерпнуть в официальном пособии от 
Python Software Foundation, которое является одним из основных источников информации для разработчиков, использующих 
Python, оно доступно по ссылке https://www.python.org/psf/

ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ PYTHON

Учебник содержит введение, пять глав и приложение.
Глава 1 в основном посвящена теоретическим вопросам алгоритмизации и знакомству с базовыми приемами программирования. Здесь дается представление об алгоритмическом 
методе, используемом при решении задач на компьютере, и современных подходах к разработке алгоритмов и программ; рассматриваются основные аспекты и этапы решения задач на компьютере, излагаются приемы и методы разработки и проверки 
правильности программ. Также дается краткое описание основных понятий языка Python, начальные сведения об использовании интегрированной среды разработки Python 3.7 и технологии .NET Framework.
Главы 2–5 посвящены приобретению практических навыков. В каждой главе приводятся типовые алгоритмы и приемы 
решения задач соответствующего класса, проиллюстрированные примерами программ, а также контрольные вопросы, которые могут использоваться как для самопроверки, так и для контроля преподавателем.
В учебник включены задания для самостоятельного выполнения трех уровней сложности:
• задания I уровня требуют решения простых задач, которые сводятся к типовым алгоритмам и по существу представляют собой упражнения, направленные на приобретение навыков использования этих средств;
• задания II уровня содержат более сложные задачи, требующие использования типовых алгоритмов в сочетании;
• задания III уровня содержат, как правило, задачи, близкие к реальным, которые требуют самостоятельной модификации типовых алгоритмов, а также некоторого творческого подхода, и рекомендуются для выполнения более подготовленным 
студентам.
Наличие заданий трех уровней позволяет в значительной 
степени индивидуализировать процесс обучения.
Учебник согласован с программой курса «Алгоритмизация 
и программирование» (для студентов института ИТКН), а также программами дисциплины «Информатика» (для студентов 
остальных направлений).

ВВЕДЕНИЕ

Язык программирования Python – один из наиболее популярных и быстро развивающихся языков программирования 
в мире (третий по популярности в 2019 г., согласно данным 
GitHub). Он применяется для решения самых разных задач, 
включая веб-программирование и анализ данных. Кроме того, 
это один из подходящих языков для реализации машинного 
обучения.
Python – простой язык, но его возможности велики. Изучив 
его, вы получите в свое распоряжение эффективный инструмент 
для исследования, обнаружения и даже визуализации данных.
Python является простым в изучении и при этом мощным 
языком программирования. Он содержит эффективные структуры данных высокого уровня и простой, но эффективный подход 
к объектно-ориентированному программированию. Элегантный 
синтаксис и динамический ввод Python, а также интерпретируемый характер делают его идеальным языком для сценариев 
и быстрого развития приложений во многих областях на большинстве платформ.
Объектно-ориентированное программирование по сравнению с традиционными алгоритмическими языками существенно расширяет возможности и облегчает разработку сложных 
программных систем в значительной степени благодаря наличию большого количества библиотек, при использовании которых отпадает необходимость в написании кодов многих типовых алгоритмов.
Однако при решении научно-технических задач алгоритмическая составляющая является весьма существенной. В настоящем учебнике вопросам алгоритмизации и изучению базовых 
приемов программирования уделяется значительное внимание. 
Также рассматриваются и используются и некоторые объектные свойства языка, на наглядных примерах демонстрируются 
предоставляемые ими новые возможности.

ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ PYTHON

ГЛАВА 1. Основы алгоритмизации 

и программирования

1.1. Понятие алгоритма

Алгоритмом называется четкое описание последовательности действий, которые необходимо выполнить для решения задачи. Практически решение любой задачи требует получения 
результата по заданным исходным данным. То есть можно сказать, что алгоритм описывает последовательный процесс преобразования исходных данных в результат.
Разработать алгоритм решения задачи означает разбить задачу на последовательно выполняемые шаги (этапы), причем 
результаты выполнения предыдущих этапов могут использоваться при выполнении последующих. При этом должны быть 
четко указаны как содержание каждого этапа, так и порядок 
выполнения этапов. Отдельный этап (шаг) алгоритма представляет собой либо другую, более простую задачу, алгоритм 
решения которой разработан ранее, либо должен быть достаточно простым и понятным без объяснений.
Четко сформулированная последовательность правил, описывающих этот процесс, и является алгоритмом.

1.1.1. Понятие о структурном подходе 

к разработке алгоритмов

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

Глава 1. Основы алгоритмизации и программирования

Рис. 1.1. Типовая структура Следование

2. Цикл. Применяется при необходимости выполнить какие-либо вычисления несколько раз до выполнения некоторого 
условия. Тело цикла – та последовательность действий, которая выполняется многократно (в цикле). Начальные присваивания – задание начальных значений тем переменным, которые 
используются в теле цикла. Особенность цикла в том, что эта 
структура может реализоваться в двух вариантах. В первом 
случае цикл всегда выполняется хотя бы один раз, так как первая проверка условия выхода из цикла происходит после того, 
как тело цикла выполнено (рис. 1.2, а). Во втором случае проверка условия выхода из цикла производится до выполнения 
тела цикла, и если при первой проверке условие выполняется, 
то тело цикла не выполняется ни разу (рис. 1.2, б).
3. Разветвление (рис. 1.3) применяется, когда в зависимости от условия нужно выполнить либо одно, либо другое действие. Действие 1 или Действие 2 может в свою очередь содержать несколько этапов.

ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ PYTHON

 
а 
б 

Рис. 1.2. Типовая структура Цикл: а – цикл с постусловием; 
б – цикл с предусловием

Рис. 1.3. Типовая структура Разветвление

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