Опубликовано

Представляем “Самоучитель КОМПАС-3D V20”

Самоучитель КОМПАС-3D V20

В нашем издательстве опубликован “Самоучитель КОМПАС-3D V20” Анатолия Герасимова.

Самоучитель позволяет в короткие сроки освоить систему КОМПАС-3D V20. Даны инструкции по оптимальной настройке программы, предложены способы построения геометрических объектов, создания моделей деталей и сборок, оформления конструкторской документации с помощью редактора КОМПАС-График. Рассматриваются создание и редактирование чертежей, в том числе, сборочных чертежей и спецификаций, принципы конструирования и моделирования в КОМПАС-3D, создание сложных объектов. Представлены способы обеспечения точности построения. Изучается проектирование листовых деталей. Особое внимание уделено использованию библиотек, модулей и приложений системы. Подробно рассматривается поверхностное моделирование и методы создания поверхностей. Большое количество примеров и иллюстраций позволит быстро изучить программу и освоить возможности версии 20. На сайте издательства находятся примеры чертежей, эскизы и 3D-модели.

Для широкого круга пользователей

ИДЕЯ — ТРЕХМЕРНАЯ МОДЕЛЬ — КОНСТРУКТОРСКАЯ ДОКУМЕНТАЦИЯ

  • Подробное описание настраиваемого интерфейса
  • Правильная настройка системы КОМПАС-3D
  • Создание, оформление и редактирование чертежей
  • Основы 3D-моделирования в КОМПАС-3D
  • Объектное моделирование
  • Специальные возможности проектирования
  • Эффективное использование модулей, библиотек и приложений системы
  • Поверхностное моделирование и способы создания поверхностей

Герасимов Анатолий Александрович

Герасимов Анатолий Александрович, ведущий инженер-конструктор ОАО «Концерн Океанприбор», автор 10 патентов и изобретений. Имеет многолетний опыт разработки приборов различного назначения. Является сертифицированным преподавателем и автором многочисленных книг по работе в системе КОМПАС-3D.

Книгу можно купить в нашем интернет-магазине.

Оглавление

Введение. Назначение, структура и особенности книги…………………………. 18

Общие сведения о САПР КОМПАС-3D……………………………………………………………………………………. 18

Особенности системы КОМПАС-3D V20………………………………………………………………………………… 19

Требования к аппаратным средствам……………………………………………………………………………………… 20

Состав инсталляционного пакета КОМПАС-3D…………………………………………………………………….. 21

Создание основных документов………………………………………………………………………………………………. 23

Структура книги………………………………………………………………………………………………………………………… 24

Условные обозначения и сокращения, принятые в книге………………………………………………………. 25

От автора……………………………………………………………………………………………………………………………………. 26

Часть I. 2D-конструирование и проектирование……………….. 27

Урок 1. Основы проектирования……………………………………………………………. 29

Основы компьютерной графики……………………………………………………………………………………………….. 29

Система координат КОМПАС-График……………………………………………………………………………………. 29

Единицы измерения……………………………………………………………………………………………………………………. 31

Единая система конструкторской документации…………………………………………………………………… 31

Урок 2. Система КОМПАС-3D V20………………………………………………………… 33

Запуск системы КОМПАС-3D V20…………………………………………………………………………………………… 33

Стартовая страница системы КОМПАС-3D V20……………………………………………………………………. 33

Строка меню Стартовой страницы……………………………………………………………………………………….. 34

Пункт Файл…………………………………………………………………………………………………………………………. 34

Пункт Настройка……………………………………………………………………………………………………………….. 35

Пункт Приложения…………………………………………………………………………………………………………….. 37

Пункт Справка……………………………………………………………………………………………………………………. 37

Окно Открыть…………………………………………………………………………………………………………………… 38

Раздел Создать…………………………………………………………………………………………………………………. 39

Окно с советами…………………………………………………………………………………………………………………………. 39

Справка………………………………………………………………………………………………………………………………………. 39

Новые возможности текущей версии……………………………………………………………………………………….. 40

Учебное пособие Азбука КОМПАС-График…………………………………………………………………………… 40

Учебное пособие Азбука КОМПАС-3D…………………………………………………………………………………… 41

Приемы работы в КОМПАС-График……………………………………………………………………………………….. 42

Приемы работы КОМПАС-3D………………………………………………………………………………………………….. 42

Спецификация: вопросы и ответы……………………………………………………………………………………………. 42

КОМПАС в Интернете……………………………………………………………………………………………………………….. 42

Настройка интерфейса……………………………………………………………………………………………………………… 43

Поиск по командам……………………………………………………………………………………………………………………. 43

Урок 3. Интерфейс системы КОМПАС-График……………………………………… 44

Строка Главного меню………………………………………………………………………………………………………………. 45

Инструментальная область………………………………………………………………………………………………………. 49

Панель Системная……………………………………………………………………………………………………………… 50

Панель инструментов Черчение……………………………………………………………………………………………….. 50

Панель инструментов Геометрия…………………………………………………………………………………….. 50

Панель инструментов Правка…………………………………………………………………………………………… 51

Панель инструментов Размеры…………………………………………………………………………………………. 52

Панель инструментов Обозначения………………………………………………………………………………….. 52

Панель инструментов Ограничения………………………………………………………………………………….. 52

Панель инструментов Диагностика…………………………………………………………………………………. 54

Панель инструментов Виды………………………………………………………………………………………………. 54

Панель инструментов Вставки и макроэлементы………………………………………………………….. 54

Панель инструментов Управление……………………………………………………………………………………. 54

Панель Стандартные изделия………………………………………………………………………………………………….. 55

Панель Быстрого доступа……………………………………………………………………………………………………….. 55

Группа Привязки………………………………………………………………………………………………………………… 56

Группа кнопок параметрического режима……………………………………………………………………… 56

Кнопка Сетка…………………………………………………………………………………………………………………….. 56

Кнопка СК 0 (Локальная система координат)………………………………………………………………… 57

Кнопка Ортогональное черчение………………………………………………………………………………………. 57

Кнопка Округление…………………………………………………………………………………………………………….. 57

Шаг перемещения курсора………………………………………………………………………………………………… 57

Кнопка Увеличить масштаб рамкой……………………………………………………………………………….. 57

Текущий масштаб………………………………………………………………………………………………………………. 58

Текущее состояние…………………………………………………………………………………………………………….. 58

Перестроить………………………………………………………………………………………………………………………. 58

Копировать свойства……………………………………………………………………………………………………….. 58

Панель управления……………………………………………………………………………………………………………… 58

Дерево чертежа…………………………………………………………………………………………………………………………. 59

Кнопка Отображение панелей…………………………………………………………………………………………………. 59

Фрагменты………………………………………………………………………………………………………………………………….. 59

Урок 4. Настройки параметров и интерфейса системы КОМПАС-3D V20 61

Настройка параметров системы КОМПАС из Строки Главного меню………………………………… 61

Общие настройки системы на вкладке Система…………………………………………………………….. 62

Окно системы……………………………………………………………………………………………………………………………… 67

Вкладки документов………………………………………………………………………………………………………….. 67

Создание новых окон…………………………………………………………………………………………………………. 68

Настройка Инструментальной области…………………………………………………………………………………. 69

Изменение вертикального размера…………………………………………………………………………………… 69

Изменение горизонтального размера……………………………………………………………………………….. 70

Изменение положения команды/панели…………………………………………………………………………… 70

Перенос панелей в графическую область………………………………………………………………………… 70

Настройка интерфейса……………………………………………………………………………………………………………… 71

Добавление команды…………………………………………………………………………………………………………. 72

Удаление команды…………………………………………………………………………………………………………….. 73

Создание пользовательской панели…………………………………………………………………………………. 73

Изменение списка набора инструментальных панелей…………………………………………………. 73

Создание пользовательского набора……………………………………………………………………………….. 74

Добавление имеющейся панели в набор………………………………………………………………………….. 75

Настройка Панели управления………………………………………………………………………………………………….. 75

Настройка интерфейса……………………………………………………………………………………………………………… 76

Урок 5. Геометрические объекты КОМПАС-График (начало)……………….. 80

Состав геометрических объектов в КОМПАС-График…………………………………………………………… 80

Команда Отрезок………………………………………………………………………………………………………………………. 80

Способы ввода числовых параметров объектов…………………………………………………………………….. 82

Построение отрезка вводом параметров в предопределенном порядке……………………….. 83

Ввод значений параметров в поля……………………………………………………………………………………. 84

Ввод выражений…………………………………………………………………………………………………………………. 84

Передача параметров между командами………………………………………………………………………… 85

Герметический калькулятор……………………………………………………………………………………………… 86

Команды группы Отрезок………………………………………………………………………………………………………… 86

Команда Параллельный отрезок………………………………………………………………………………………. 86

Команда Перпендикулярный отрезок………………………………………………………………………………. 87

Команды группы Окружность…………………………………………………………………………………………………. 88

Команда Окружность……………………………………………………………………………………………………….. 88

Команда Окружность по трем точкам…………………………………………………………………………… 89

Команда Автолиния…………………………………………………………………………………………………………………… 90

Способы построения первого отрезка……………………………………………………………………………… 91

Способы построения последующих отрезков…………………………………………………………………. 92

Способы построения первой дуги…………………………………………………………………………………….. 92

Способы построения последующих дуг………………………………………………………………………….. 93

Команда Запомнить состояние……………………………………………………………………………………………….. 94

Урок 6. Геометрические объекты КОМПАС-График (продолжение)……… 95

Команды группы Прямоугольник……………………………………………………………………………………………… 95

Прямоугольник по двум точкам (по двум вершинам)……………………………………………………… 95

Прямоугольник по центру и вершине……………………………………………………………………………….. 97

Многоугольник по вписанной окружности……………………………………………………………………… 97

Команды группы Дуга……………………………………………………………………………………………………………….. 98

Построение дуги по двум точкам……………………………………………………………………………………… 98

Построение дуги по двум точкам……………………………………………………………………………………. 100

Построение дуги по трем точкам……………………………………………………………………………………. 100

Построение дуги по двум точкам и углу раствора……………………………………………………….. 101

Построение дуги, касательной к кривой………………………………………………………………………… 101

Команды группы Эллипс…………………………………………………………………………………………………………. 102

Эллипс………………………………………………………………………………………………………………………………. 103

Эллипс по диагонали габаритного прямоугольника……………………………………………………. 104

Эллипс по центру и вершине габаритного прямоугольника……………………………………….. 104

Эллипс по центру, середине стороны и вершине описанного параллелограмма……… 104

Эллипс по трем вершинам параллелограмма……………………………………………………………….. 105

Команды группы Вспомогательная прямая………………………………………………………………………….. 105

Построение прямой через две точки………………………………………………………………………………. 106

Построение параллельной прямой…………………………………………………………………………………. 106

Построение биссектрисы угла………………………………………………………………………………………… 107

Команды группы Точка…………………………………………………………………………………………………………… 107

Построение точки…………………………………………………………………………………………………………….. 108

Построение точки по кривой…………………………………………………………………………………………… 108

Построение точки на заданном расстоянии………………………………………………………………….. 109

Команды группы Сплайн по точкам……………………………………………………………………………………… 109

Построение сплайна по точкам………………………………………………………………………………………. 110

Кривая Безье…………………………………………………………………………………………………………………….. 111

Построение ломаной кривой…………………………………………………………………………………………… 111

Команды группы Фаска………………………………………………………………………………………………………….. 112

Построение фасок на многоугольниках…………………………………………………………………………. 112

Команды группы Скругление………………………………………………………………………………………………….. 113

Создание условного пересечения усекаемых объектов……………………………………………….. 113

Урок 7. Создание сложных объектов……………………………………………………. 114

Команда Собрать контур………………………………………………………………………………………………………. 114

Команда Эквидистанта…………………………………………………………………………………………………………. 115

Команда Мультилиния……………………………………………………………………………………………………………. 116

Команды группы Штриховка………………………………………………………………………………………………… 119

Команда Штриховка………………………………………………………………………………………………………………. 119

Команда Заливка……………………………………………………………………………………………………………………… 120

Дополнительные способы задания границ штриховок и заливок………………………………………. 121

Построение ломаной……………………………………………………………………………………………………….. 122

Сборка контура………………………………………………………………………………………………………………… 122

Команда Объект по образцу………………………………………………………………………………………………….. 122

Команда Коническая кривая…………………………………………………………………………………………………… 123

Урок 8. Способы обеспечения точности построения…………………………….. 125

Клавиатурные привязки………………………………………………………………………………………………………….. 125

Изменение формы курсора……………………………………………………………………………………………………… 127

Глобальные привязки………………………………………………………………………………………………………………. 127

Локальные привязки………………………………………………………………………………………………………………… 130

Геометрический калькулятор…………………………………………………………………………………………………. 131

Установка курсора в начало координат……………………………………………………………………………….. 133

Координатная сетка………………………………………………………………………………………………………………… 134

Урок 9. Выделение объектов чертежа…………………………………………………… 137

Способы выделения объектов на чертеже…………………………………………………………………………….. 137

Выделение объектов мышью………………………………………………………………………………………………….. 137

Контекстное меню…………………………………………………………………………………………………………………… 138

Контекстная панель………………………………………………………………………………………………………………… 138

Выделение объектов с помощью команд………………………………………………………………………………. 139

Команда Прежний список………………………………………………………………………………………………. 139

Команда Выделить рамкой…………………………………………………………………………………………….. 139

Команда Выделить секущей рамкой……………………………………………………………………………… 140

Команда Выделить секущей ломаной……………………………………………………………………………. 140

Команда Выделить объекты слоя указанием……………………………………………………………….. 140

Команда Выделить по свойствам………………………………………………………………………………….. 140

Команда Инвертировать выделение……………………………………………………………………………… 142

Команда Выделить все……………………………………………………………………………………………………. 142

Команда Копировать свойства…………………………………………………………………………………………….. 142

Перебор объектов…………………………………………………………………………………………………………………….. 142

Урок 10. Редактирование объектов чертежа…………………………………………. 144

Редактирование объектов с помощью мыши………………………………………………………………………… 144

Перемещение объектов мышью………………………………………………………………………………………. 144

Копирование объектов мышью………………………………………………………………………………………. 145

Редактирование объектов с помощью характерных точек………………………………………………….. 145

Команды изменения масштаба изображения……………………………………………………………………….. 147

Явное задание масштаба отображения…………………………………………………………………………. 147

Изменение масштаба отображения рамкой…………………………………………………………………… 147

Плавное изменение масштаба………………………………………………………………………………………… 148

Сдвиг изображения………………………………………………………………………………………………………….. 148

Переход к предыдущему или последующему масштабу отображения……………………… 149

Обновление изображения………………………………………………………………………………………………… 149

Управление отображением документа в окне………………………………………………………………………. 149

Команды панели инструментов Правка………………………………………………………………………………… 149

Команды кнопки Удаление частей объекта…………………………………………………………………………. 150

Команда Усечь кривую…………………………………………………………………………………………………….. 150

Команда Усечь кривую двумя точками………………………………………………………………………….. 151

Команды кнопки Удлинить до ближайшего объекта…………………………………………………………. 151

Команда Удлинить до ближайшего объекта……………………………………………………………….. 151

Команда Выровнять по границе…………………………………………………………………………………….. 152

Удаление и удлинение группы объектов……………………………………………………………………….. 152

Команды группы Разбить кривую…………………………………………………………………………………………. 152

Команда Разбить кривую на две части…………………………………………………………………………. 152

Команда Разбить кривую на N частей………………………………………………………………………….. 153

Урок 11. Основные приемы редактирования……………………………………….. 154

Команды группы Переместить по координатам………………………………………………………………… 154

Команда Переместить по координатам………………………………………………………………………. 154

Команда Сдвиг по углу и расстоянию……………………………………………………………………………. 156

Команда Повернуть………………………………………………………………………………………………………………… 156

Команда Масштабирование………………………………………………………………………………………………….. 158

Команда Зеркально отразить………………………………………………………………………………………………… 159

Запоминание параметров для команд Сдвиг, Поворот и Симметрия……………………………….. 160

Команды группы Копия………………………………………………………………………………………………………….. 161

Команда Копия указанием………………………………………………………………………………………………. 161

Команда Копия по кривой………………………………………………………………………………………………. 162

Команда Копия по окружности…………………………………………………………………………………….. 164

Команда Копия по сетке…………………………………………………………………………………………………. 165

Команда Копия по концентрической сетке…………………………………………………………………… 168

Команды группы Деформация перемещением………………………………………………………………………. 170

Команда Деформация перемещением…………………………………………………………………………….. 171

Команда Деформация поворотом………………………………………………………………………………….. 172

Команда Деформация масштабированием…………………………………………………………………… 172

Команда Преобразовать в сплайн…………………………………………………………………………………………. 173

Команда Очистить область………………………………………………………………………………………………….. 174

Урок 12. Построение размеров……………………………………………………………… 175

Понятие о взаимозаменяемости……………………………………………………………………………………………… 175

Основные типы размеров………………………………………………………………………………………………………… 175

Команда Линейный размер……………………………………………………………………………………………………… 177

Приемы работы с размерами………………………………………………………………………………………………….. 180

Диалоговое окно КЛАСС ДОПУСКА……………………………………………………………………………… 180

Секция Дополнительные параметры……………………………………………………………………………… 181

Редактирование размерной надписи……………………………………………………………………………… 183

Таблица для ввода надписей………………………………………………………………………………………….. 184

Дополнительная панель параметров……………………………………………………………………………… 185

Ввод текста……………………………………………………………………………………………………………………….. 186

Редактирование размеров……………………………………………………………………………………………….. 189

Команды группы Линейный размер……………………………………………………………………………………….. 189

Линейный размер от общей базы……………………………………………………………………………………. 189

Линейный цепной размер………………………………………………………………………………………………… 190

Линейный размер от отрезка до точки…………………………………………………………………………… 191

Линейный размер с общей размерной линией………………………………………………………………. 191

Линейный размер с обрывом…………………………………………………………………………………………… 192

Диаметральный размер…………………………………………………………………………………………………………… 193

Команды группы Радиальный размер……………………………………………………………………………………. 194

Радиальный размер с изломом……………………………………………………………………………………….. 196

Команды группы Угловой размер………………………………………………………………………………………….. 196

Простой угловой размер………………………………………………………………………………………………….. 196

Угловой размер от общей базы………………………………………………………………………………………. 198

Цепной угловой размер……………………………………………………………………………………………………. 199

Угловой размер с обрывом……………………………………………………………………………………………… 200

Команда Выровнять размерные линии………………………………………………………………………………….. 200

Команда Размер дуги окружности………………………………………………………………………………………… 201

Команда Авторазмер………………………………………………………………………………………………………………. 203

Урок 13. Ввод текста и технологических обозначений…………………………. 204

Команда Надпись…………………………………………………………………………………………………………………….. 204

Команда Шероховатость………………………………………………………………………………………………………. 207

Команда База…………………………………………………………………………………………………………………………… 210

Команда Допуск формы………………………………………………………………………………………………………….. 211

Формирование таблицы допуска……………………………………………………………………………………. 211

Редактирование объектов оформления………………………………………………………………………….. 212

Добавление ответвления…………………………………………………………………………………………………. 213

Команда Волнистая линия………………………………………………………………………………………………………. 213

Команда Линия-выноска…………………………………………………………………………………………………………. 214

Операции с ответвлениями линии-выноски…………………………………………………………………… 216

Команда Автоосевая………………………………………………………………………………………………………………. 216

Создание осевой линии……………………………………………………………………………………………………. 216

Создание обозначений центра для нескольких объектов…………………………………………….. 217

Группа команд Обозначение центра……………………………………………………………………………………… 217

Круговая сетка центров………………………………………………………………………………………………….. 218

Линейная сетка центров…………………………………………………………………………………………………. 220

Команда Таблица…………………………………………………………………………………………………………………….. 221

Урок 14. Создание и оформление чертежа…………………………………………….. 223

Структура Дерева чертежа……………………………………………………………………………………………………. 223

Обозначения в Дереве чертежа……………………………………………………………………………………………… 224

Структура Дерева чертежа Вал редуктора…………………………………………………………………………… 225

Состояние Видов……………………………………………………………………………………………………………………… 226

Поиск объектов чертежа…………………………………………………………………………………………………………. 227

Порядок создания простого вида…………………………………………………………………………………………… 228

Масштаб вида………………………………………………………………………………………………………………………….. 230

Команда Разрыв вида……………………………………………………………………………………………………………… 230

Управление видимостью участков линии разрыва………………………………………………………. 231

Автоматическое создание разрыва в ассоциативном виде………………………………………….. 231

Слои чертежа…………………………………………………………………………………………………………………………… 232

Ввод знака неуказанной шероховатости………………………………………………………………………………. 234

Ввод технических требований чертежа………………………………………………………………………………… 235

Заполнение основной надписи……………………………………………………………………………………………….. 236

Библиотека Материалы и Сортаменты……………………………………………………………………………….. 239

Настройка параметров первого листа…………………………………………………………………………………… 241

Урок 15. Создание сборочного чертежа и спецификации……………………… 244

Разработка сборочного чертежа Редуктор………………………………………………………………………….. 244

Техническое задание……………………………………………………………………………………………………….. 244

Первый этап. Требования к прибору……………………………………………………………………………… 244

Второй этап. Компоновка прибора………………………………………………………………………………… 245

Третий этап. Разработка основного вида редуктора……………………………………………………. 245

Четвертый этап. Окончательное оформление чертежа………………………………………………… 246

Команда Линия разреза/сечения…………………………………………………………………………………………….. 247

Изменение положения вершин при редактировании…………………………………………………….. 249

Команда Обозначение позиций……………………………………………………………………………………….. 249

Команда Выровнять полки выносок………………………………………………………………………………. 250

Создание спецификации сборочного чертежа……………………………………………………………………… 251

Режим Спецификация………………………………………………………………………………………………………. 251

Строка меню в режиме создания спецификации…………………………………………………………… 252

Инструментальная панель в режиме создания спецификации…………………………………….. 254

Создание спецификации, не связанной с чертежом……………………………………………………………… 255

Редактирование текстовой части……………………………………………………………………………………. 259

Вставка и удаление резервных строк…………………………………………………………………………….. 260

Создание раздела спецификации в файле сборочного чертежа…………………………………………. 261

Создание спецификации, связанной с чертежом…………………………………………………………………… 263

Формирование спецификации на основе данных из сборочного чертежа…………………. 263

Просмотр объектов спецификации…………………………………………………………………………………. 265

Создание спецификации по документу………………………………………………………………………….. 266

Настройка спецификации……………………………………………………………………………………………………….. 266

Сохранение спецификации в формате Excel…………………………………………………………………………. 267

Урок 16. Печать документа………………………………………………………………….. 269

Печать из Главного окна программы……………………………………………………………………………………… 269

Режим предварительного просмотра…………………………………………………………………………………….. 269

Интерфейс окна предварительного просмотра…………………………………………………………………….. 271

Настройка предварительного просмотра……………………………………………………………………………… 273

Панель Параметры просмотра……………………………………………………………………………………………… 275

Ручная установка масштаба листа………………………………………………………………………………………… 276

Автоподгонка масштаба листов…………………………………………………………………………………………….. 276

Размещение листов документов на поле вывода………………………………………………………………….. 277

Печать документов………………………………………………………………………………………………………………….. 277

Урок 17. Настройка параметров системы в режиме Чертеж………………… 278

Настройка параметров на вкладке Система………………………………………………………………………… 278

Настройка параметров печати……………………………………………………………………………………….. 278

Настройка параметров Графического редактора……………………………………………………….. 280

Настройка параметров на вкладке Новые документы………………………………………………………… 288

Настройка обозначений для машиностроения…………………………………………………………………….. 300

Настройка параметров чертежа на вкладке Текущий чертеж…………………………………………… 304

Часть II. Твердотельное моделирование…………………………….. 309

Урок 18. Режим Деталь………………………………………………………………………… 311

Интерфейс системы в режиме Деталь……………………………………………………………………………………. 311

Строка Главного меню……………………………………………………………………………………………………………… 312

Инструментальная область…………………………………………………………………………………………………….. 314

Панель Системная…………………………………………………………………………………………………………… 315

Панель управления………………………………………………………………………………………………………………….. 319

Дерево модели………………………………………………………………………………………………………………………….. 319

Отображение Дерева модели…………………………………………………………………………………………… 320

Панель Параметры…………………………………………………………………………………………………………………. 321

Урок 19. Способы построения моделей………………………………………………… 322

Системы координат…………………………………………………………………………………………………………………. 322

Построение модели………………………………………………………………………………………………………………….. 324

Система координат для 3D-моделей……………………………………………………………………………………… 324

Объекты модели……………………………………………………………………………………………………………………….. 325

Ориентация модели…………………………………………………………………………………………………………………. 326

Управление ориентацией в графической области………………………………………………………… 326

Выбор стандартной ориентации……………………………………………………………………………………. 326

Панель Параметры: Ориентация вида………………………………………………………………………….. 327

Типы отображения моделей……………………………………………………………………………………………………. 328

Основные требования к эскизам…………………………………………………………………………………………….. 328

Режим Эскиз……………………………………………………………………………………………………………………………… 329

Построение элемента выдавливания……………………………………………………………………………………… 330

Построение плоской модели…………………………………………………………………………………………… 334

Построение модели операцией вращения……………………………………………………………………………… 336

Построение модели методом перемещения Эскиза по траектории…………………………………….. 338

Построение модели методом перемещения по сечениям……………………………………………………… 341

Приемы работы при построении моделей…………………………………………………………………………….. 345

Новое в операциях выдавливания………………………………………………………………………………….. 347

Группа кнопок Вырезать выдавливанием…………………………………………………………………………….. 348

Команда Сечение……………………………………………………………………………………………………………………… 350

Отсечение поверхностью………………………………………………………………………………………………… 351

Отсечение по эскизу…………………………………………………………………………………………………………. 351

Команда Разрезать…………………………………………………………………………………………………………………. 352

Режим сечения модели…………………………………………………………………………………………………………….. 354

Режимы работы с моделью……………………………………………………………………………………………………… 355

Урок 20. Применение вспомогательной геометрии в режиме 3D…………… 357

Команды группы Ось………………………………………………………………………………………………………………. 357

Ось через две точки………………………………………………………………………………………………………….. 358

Ось на пересечении двух плоскостей…………………………………………………………………………….. 358

Ось конической поверхности………………………………………………………………………………………….. 359

Ось через ребро………………………………………………………………………………………………………………… 359

Ось через точку по направлению……………………………………………………………………………………. 359

Группа команд построения плоскостей………………………………………………………………………………… 360

Смещенная плоскость……………………………………………………………………………………………………… 361

Плоскость через три точки………………………………………………………………………………………………. 361

Нормальная плоскость……………………………………………………………………………………………………. 362

Касательная плоскость……………………………………………………………………………………………………. 364

Плоскость под углом……………………………………………………………………………………………………….. 365

Плоскость через ребро и точку……………………………………………………………………………………….. 366

Плоскость через плоскую кривую………………………………………………………………………………….. 366

Плоскость через точку параллельно другой плоскости………………………………………………. 366

Плоскость через точку перпендикулярно ребру…………………………………………………………… 367

Плоскость, касательная к грани в точке………………………………………………………………………… 367

Плоскость через ребро параллельно/перпендикулярно ребру……………………………………. 367

Плоскость через ребро параллельно/перпендикулярно грани……………………………………. 368

Средняя плоскость…………………………………………………………………………………………………………… 368

Построение вектора…………………………………………………………………………………………………………………. 369

Вектор через две точки……………………………………………………………………………………………………. 370

Вектор по углу в плоскости СК………………………………………………………………………………………. 370

Вектор по оси СК……………………………………………………………………………………………………………… 371

Вектор по координатам…………………………………………………………………………………………………… 371

Вектор по двум углам сферической СК…………………………………………………………………………. 371

Вектор по ребру или плоской кривой…………………………………………………………………………….. 372

Вектор по оси конуса или перпендикулярно плоскости………………………………………………. 372

Вектор, перпендикулярный грани в указанной точке…………………………………………………… 372

Базисный вектор в точке кривой…………………………………………………………………………………….. 372

Вектор, перпендикулярный плоскости экрана……………………………………………………………… 372

Группа команд Точка по координатам…………………………………………………………………………………. 373

Точка по координатам…………………………………………………………………………………………………….. 373

Точка переносом………………………………………………………………………………………………………………. 374

Построение точки на пересечении объектов…………………………………………………………………. 375

Построение точки на кривой…………………………………………………………………………………………… 375

Построение точки на поверхности…………………………………………………………………………………. 376

Построение точки в центре объекта……………………………………………………………………………….. 377

Построение проекции точки на поверхность………………………………………………………………… 377

Группа команд Контрольная точка………………………………………………………………………………………. 378

Команда Контрольная точка…………………………………………………………………………………………. 378

Команда Присоединительная точка……………………………………………………………………………… 379

Использование функционала команды Точка……………………………………………………………………….. 380

Команда Локальная система координат………………………………………………………………………………. 380

Урок 21. Редактирование элементов тел……………………………………………….. 383

Команда Фаска………………………………………………………………………………………………………………………… 383

Команда Скругление………………………………………………………………………………………………………………… 384

Скругления с переменным радиусом……………………………………………………………………………… 385

Остановка скругления……………………………………………………………………………………………………… 386

Команда Полное скругление……………………………………………………………………………………………………. 387

Команда Ребро жесткости……………………………………………………………………………………………………. 388

Команда Уклон…………………………………………………………………………………………………………………………. 390

Команда Оболочка…………………………………………………………………………………………………………………… 390

Команда Изменить положение………………………………………………………………………………………………. 392

Команда Масштабировать……………………………………………………………………………………………………. 393

Команда Придать толщину……………………………………………………………………………………………………. 394

Группа команд Отверстие простое……………………………………………………………………………………… 394

Дополнительные параметры…………………………………………………………………………………………… 397

Команда Булева операция………………………………………………………………………………………………………. 398

Команда Добавить деталь-заготовку…………………………………………………………………………………… 399

Создание массивов элементов………………………………………………………………………………………………… 401

Команда Массив по сетке………………………………………………………………………………………………. 402

Команда Массив по концентрической сетке………………………………………………………………… 404

Команда Массив вдоль кривой……………………………………………………………………………………….. 405

Команда Массив по точкам……………………………………………………………………………………………. 406

Команда Массив по таблице………………………………………………………………………………………….. 407

Команда Зеркальный массив…………………………………………………………………………………………… 408

Урок 22. Пространственные кривые…………………………………………………….. 409

Команды группы Отрезок по координатам…………………………………………………………………………. 409

Команда Отрезок по координатам……………………………………………………………………………….. 409

Команда Отрезок по длине и углу в плоскости…………………………………………………………….. 410

Группа команд Дуга по трем точкам……………………………………………………………………………………. 411

Команда Дуга по трем точкам……………………………………………………………………………………….. 411

Команда Дуга по центру и радиусу………………………………………………………………………………… 411

Команда Дуга по двум точкам с направлением…………………………………………………………….. 413

Команда Дуга с касанием к кривой…………………………………………………………………………………. 413

Команда Ломаная……………………………………………………………………………………………………………………. 413

Группа команд Сплайн……………………………………………………………………………………………………………. 414

Команда Сплайн по точкам……………………………………………………………………………………………………. 414

Сопряжение сплайна с объектами………………………………………………………………………………….. 415

Режимы построения сплайна………………………………………………………………………………………….. 416

Команда Сплайн по полюсам………………………………………………………………………………………………….. 416

Команда Сплайн по объектам……………………………………………………………………………………………….. 417

Команда Скругление кривых…………………………………………………………………………………………………… 418

Команда Соединение кривых………………………………………………………………………………………………….. 418

Команда Усечение кривой………………………………………………………………………………………………………. 419

Команда Эквидистанта кривой…………………………………………………………………………………………….. 420

Команда Контур……………………………………………………………………………………………………………………… 422

Команда Спираль цилиндрическая………………………………………………………………………………………… 422

Урок 23. Приемы работы в моделях……………………………………………………… 426

Выбор объектов……………………………………………………………………………………………………………………….. 426

Выбор объектов с помощью команд………………………………………………………………………………. 426

Выделение модели рамкой……………………………………………………………………………………………… 427

Выделение и указание объектов…………………………………………………………………………………….. 428

Выбор объектов в графической области……………………………………………………………………….. 428

Фильтры объектов……………………………………………………………………………………………………………………. 429

Дерево модели………………………………………………………………………………………………………………………….. 430

Отображение истории построения в Дереве модели…………………………………………………….. 430

Приемы работы с объектами в Дереве модели………………………………………………………………. 431

Структурное представление Дерева модели…………………………………………………………………. 433

Настройка свойств модели……………………………………………………………………………………………………… 434

Настройка свойств модели из Дерева модели……………………………………………………………….. 435

Диагностика модели………………………………………………………………………………………………………………… 438

Информация об объекте…………………………………………………………………………………………………… 439

Измерения…………………………………………………………………………………………………………………………………. 440

Расстояние и угол…………………………………………………………………………………………………………….. 440

Длина ребра……………………………………………………………………………………………………………………… 441

Площадь……………………………………………………………………………………………………………………………. 441

Взаимное отклонение двух поверхностей……………………………………………………………………… 441

МЦХ модели……………………………………………………………………………………………………………………… 442

Создание объекта измерений………………………………………………………………………………………….. 443

Создание текстур…………………………………………………………………………………………………………………….. 443

Настройка текстур…………………………………………………………………………………………………………… 443

Текстурирование объектов……………………………………………………………………………………………… 444

Требования к пользовательскому изображению…………………………………………………………… 444

Создание текстуры…………………………………………………………………………………………………………… 445

Урок 24. Ассоциативные виды…………………………………………………………….. 448

Создание стандартных видов на чертеже…………………………………………………………………………….. 449

Создание произвольного вида………………………………………………………………………………………………… 452

Проекционный вид…………………………………………………………………………………………………………………… 453

Создание разреза/сечения………………………………………………………………………………………………………. 453

Создание местного разреза…………………………………………………………………………………………………….. 455

Создание вида по стрелке……………………………………………………………………………………………………….. 456

Создание местного вида………………………………………………………………………………………………………….. 457

Создание выносного элемента……………………………………………………………………………………………….. 458

Состояние видов и управление ими……………………………………………………………………………………….. 458

Настройка ассоциативных видов…………………………………………………………………………………………… 460

Урок 25. Режим Сборка (3D)…………………………………………………………………. 462

Интерфейс системы в режиме Сборка……………………………………………………………………………………. 462

Строка Главного меню в режиме Сборка……………………………………………………………………….. 462

Инструментальная область……………………………………………………………………………………………. 462

Инструментальная панель Сборка…………………………………………………………………………………. 464

Инструментальная панель Управление………………………………………………………………………….. 466

Инструментальная панель Твердотельное моделирование…………………………………………. 466

Компоненты сборки…………………………………………………………………………………………………………………. 467

Способы создания модели сборки…………………………………………………………………………………………. 468

Создание сборки “снизу вверх”………………………………………………………………………………………. 469

Создание подсборки Ось с колесами……………………………………………………………………………… 469

Создание подсборки Плата со стойкой………………………………………………………………………… 475

Создание массива в сборке……………………………………………………………………………………………… 477

Создание компонента “на месте”……………………………………………………………………………………. 477

Создание сборки Редуктор…………………………………………………………………………………………………….. 479

Создание сборки “сверху вниз”………………………………………………………………………………………………. 480

Редактирование компонентов…………………………………………………………………………………………………. 481

Сложность работы с большими сборками…………………………………………………………………………….. 481

Преобразование объектов Сборки…………………………………………………………………………………………. 482

Выбор типа загрузки компонента…………………………………………………………………………………… 482

Выбор типа загрузки Сборки………………………………………………………………………………………….. 484

Преобразование деталей…………………………………………………………………………………………………. 485

Команда Объединить в подсборку…………………………………………………………………………………. 486

Редактирование компонентов…………………………………………………………………………………………. 486

Режим упрощенного отображения модели……………………………………………………………………. 487

Создание чертежа компонента из модели сборки………………………………………………………………… 487

Создание чертежа модели сборки………………………………………………………………………………………….. 487

Режим изоляции……………………………………………………………………………………………………………………….. 488

Панель Состав изделия…………………………………………………………………………………………………………… 488

Панель Группы компонентов………………………………………………………………………………………………….. 489

Удаление истории построения модели………………………………………………………………………………….. 490

Урок 26. Специальные возможности проектирования 3D-моделей………. 491

Создание массивов в сборке…………………………………………………………………………………………………… 491

Команда Зеркальное отражение компонентов…………………………………………………………………….. 491

Геометрический массив…………………………………………………………………………………………………………… 492

Массив операций…………………………………………………………………………………………………………………….. 493

Массив произвольных объектов…………………………………………………………………………………………….. 493

Команда Массив по образцу…………………………………………………………………………………………………… 493

Массив отверстий с резьбой и осью………………………………………………………………………………………. 494

Разрушение массива………………………………………………………………………………………………………………… 495

Многотельное моделирование……………………………………………………………………………………………….. 495

Трехмерный макроэлемент…………………………………………………………………………………………………….. 497

Создание трехмерного макроэлемента………………………………………………………………………….. 497

Объединение объектов в макроэлемент…………………………………………………………………………. 498

Редактирование макроэлемента…………………………………………………………………………………….. 498

Разрушение макроэлемента……………………………………………………………………………………………. 498

Проверка пересечений компонентов……………………………………………………………………………………… 498

Разнесение компонентов сборки…………………………………………………………………………………………….. 500

Создание исполнений……………………………………………………………………………………………………………… 501

Создание исполнений в Дереве исполнений Модели……………………………………………………. 501

Создание исполнения в Менеджере документа……………………………………………………………. 503

Удаление исполнения………………………………………………………………………………………………………. 504

Режим пересчета размеров модели………………………………………………………………………………………… 504

Системные пересчеты……………………………………………………………………………………………………… 504

Управление пересчетом…………………………………………………………………………………………………… 505

Режим пересчета размеров……………………………………………………………………………………………… 506

Создание пользовательского пересчета………………………………………………………………………… 507

Пересчет размеров в сборке……………………………………………………………………………………………. 507

Макеты компонентов………………………………………………………………………………………………………………. 508

Замена компонента макетом…………………………………………………………………………………………… 508

Операции с макетами………………………………………………………………………………………………………. 509

Компоновочная геометрия……………………………………………………………………………………………………… 509

Создание компоновочной геометрии “на месте”…………………………………………………………… 509

Преобразование объектов в компоновочную геометрию…………………………………………….. 510

Преобразование компонента в компоновочную геометрию………………………………………… 510

Технологическая сборка…………………………………………………………………………………………………………. 510

Вставка импортного компонента в сборку……………………………………………………………………………. 510

Вставка компонента в сборку из Проводника………………………………………………………………………. 510

Урок 27. Настройка параметров системы для режимов Эскиз и Сборка… 512

Настройка параметров Редактора моделей…………………………………………………………………………. 512

Настройка параметров на вкладке Новые документы………………………………………………………… 519

Настройка параметров пункта Деталь………………………………………………………………………….. 519

Настройка параметров пункта Сборка…………………………………………………………………………. 524

Урок 28. Ввод 3D-обозначений……………………………………………………………… 525

Панель инструментов Размеры………………………………………………………………………………………………. 525

Команда Линейный размер……………………………………………………………………………………………… 526

Команда Угловой размер………………………………………………………………………………………………… 529

Команда Диаметральный размер…………………………………………………………………………………… 530

Команда Радиальный размер………………………………………………………………………………………….. 532

Размер дуги окружности………………………………………………………………………………………………….. 533

Производные размеры……………………………………………………………………………………………………… 533

Редактирование производного размера…………………………………………………………………………. 534

Режим отображения размера операции…………………………………………………………………………. 535

Панель инструментов Обозначения………………………………………………………………………………………… 535

Команда Шероховатость………………………………………………………………………………………………. 535

Команда База…………………………………………………………………………………………………………………… 537

Команда Допуск формы…………………………………………………………………………………………………… 538

Редактирование объектов оформления………………………………………………………………………….. 539

Добавление ответвления…………………………………………………………………………………………………. 539

Команда Линия-выноска………………………………………………………………………………………………….. 539

Команда Обозначение позиций……………………………………………………………………………………….. 541

Команда Условное обозначение резьбы…………………………………………………………………………. 542

Группа команд Знак клеймения……………………………………………………………………………………….. 544

Команда Осевая линия…………………………………………………………………………………………………….. 544

Настройка параметров элементов оформления……………………………………………………………………. 544

Подготовка электронной модели изделия……………………………………………………………………………… 546

Урок 29. Библиотеки и приложения системы……………………………………….. 548

Команда Конфигуратор…………………………………………………………………………………………………………. 548

Добавление в конфигурацию приложений и библиотек………………………………………………………. 550

Отключение библиотеки…………………………………………………………………………………………………………. 551

Приложение Сервисные инструменты………………………………………………………………………………….. 552

Приложение Проверка документа…………………………………………………………………………………………. 553

Библиотека конструктивных элементов………………………………………………………………………………… 554

Приложение Рецензент документов КОМПАС-3D……………………………………………………………….. 556

Библиотека Материалы и Сортаменты для КОМПАС……………………………………………………….. 557

Библиотека Стандартные Изделия……………………………………………………………………………………….. 560

Вставка элемента из Библиотеки в режиме Чертеж…………………………………………………………… 564

Вставка стандартного изделия……………………………………………………………………………………….. 564

Вставка конструктивного элемента……………………………………………………………………………….. 567

Вставка крепежного соединения…………………………………………………………………………………….. 568

Вставка элемента из Библиотеки в режиме 3D…………………………………………………………………….. 569

Вставка стандартного изделия……………………………………………………………………………………….. 569

Вставка конструктивного элемента……………………………………………………………………………….. 574

Библиотеки системы для работы в режиме 3D……………………………………………………………………… 576

Часть III. Листовое моделирование……………………………………… 579

Урок 30. Режим Листовая деталь…………………………………………………………. 581

Основные параметры листовой детали…………………………………………………………………………………. 581

Панель инструментов Элементы листового тела………………………………………………………………… 581

Переменные листового тела……………………………………………………………………………………………………. 584

Настройка параметров листового тела…………………………………………………………………………………. 584

Построение листовой детали на основе замкнутого эскиза………………………………………………… 586

Построение листовой детали на основе разомкнутого эскиза……………………………………………. 587

Команда Пластина………………………………………………………………………………………………………………….. 590

Команды группы Сгиб…………………………………………………………………………………………………………….. 590

Команда Сгиб…………………………………………………………………………………………………………………… 590

Общие параметры сгибов……………………………………………………………………………………………………….. 594

Ширина сгиба…………………………………………………………………………………………………………………… 594

Размещение сгиба…………………………………………………………………………………………………………….. 594

Направление отсчета и способы задания угла…………………………………………………………….. 594

Длина продолжения сгиба………………………………………………………………………………………………. 594

Команда Сгиб по линии…………………………………………………………………………………………………………… 595

Команда Сгиб по эскизу………………………………………………………………………………………………………….. 596

Команда Подсечка…………………………………………………………………………………………………………………… 597

Освобождение сгиба………………………………………………………………………………………………………… 598

Освобождение угла………………………………………………………………………………………………………….. 600

Команда Развернуть……………………………………………………………………………………………………………….. 600

Настройка параметров развертки………………………………………………………………………………….. 601

Группа команд Разогнуть………………………………………………………………………………………………………. 602

Команда Замыкание углов………………………………………………………………………………………………………. 603

Группа команд Вырез в листовом теле…………………………………………………………………………………. 604

Группа команд Скругление……………………………………………………………………………………………………… 606

Команда Ребро усиления…………………………………………………………………………………………………………. 606

Группа команд Открытая штамповка…………………………………………………………………………………. 608

Команда Открытая штамповка……………………………………………………………………………………………. 609

Команда Закрытая штамповка……………………………………………………………………………………………… 610

Команда Жалюзи……………………………………………………………………………………………………………………… 611

Команда Буртик………………………………………………………………………………………………………………………. 613

Массив элементов листового тела…………………………………………………………………………………………. 616

Команда Обечайка…………………………………………………………………………………………………………………… 617

Сгибание/разгибание обечайки……………………………………………………………………………………… 619

Развертка обечайки………………………………………………………………………………………………………….. 620

Команда Линейчатая обечайка……………………………………………………………………………………………… 620

Команда Отбортовка…………………………………………………………………………………………………………….. 621

Команда Штамповка телом………………………………………………………………………………………………….. 621

Команда Преобразование в листовое тело………………………………………………………………………….. 623

Часть IV. Поверхностное моделирование………………………….. 625

Урок 31. Способы создания поверхностей……………………………………………. 627

Основные операции создания поверхностей………………………………………………………………………… 627

Панель инструментов Поверхности………………………………………………………………………………………. 628

Команда Поверхность выдавливания……………………………………………………………………………………. 629

Команда Поверхность вращения……………………………………………………………………………………………. 630

Команда Поверхность по траектории…………………………………………………………………………………. 631

Команда Поверхность по сечениям……………………………………………………………………………………….. 632

Команда Поверхность по сети кривых…………………………………………………………………………………. 633

Команда Поверхность по сети точек……………………………………………………………………………………. 635

Команда Поверхность по пласту точек……………………………………………………………………………….. 636

Команда Линейчатая поверхность……………………………………………………………………………………….. 638

Команда Поверхность конического сечения………………………………………………………………………….. 639

Команда Заплатка…………………………………………………………………………………………………………………… 642

Команда Эквидистанта поверхности…………………………………………………………………………………… 642

Команда Поверхность соединения…………………………………………………………………………………………. 643

Команда Усечение поверхности…………………………………………………………………………………………….. 645

Команда Продление поверхности………………………………………………………………………………………….. 646

Команда Сшивка поверхностей…………………………………………………………………………………………….. 646

Команда Удалить грани…………………………………………………………………………………………………………. 646

Команда Придать толщину……………………………………………………………………………………………………. 647

Команда Разбиение поверхности…………………………………………………………………………………………… 648

Режим Сплайновая форма……………………………………………………………………………………………………….. 649

Импортированные поверхности…………………………………………………………………………………………….. 649

Приложение. Описание электронного архива………………………………………. 651

Список литературы………………………………………………………………………………. 652

Предметный указатель…………………………………………………………………………. 653

Опубликовано

Вышло второе издание книги “Разработка приложений на Swift и SwiftUI с нуля.”

Разработка приложений на Swift и SwiftUI с нуля. 2-е издание

Вышла в свет книга Александра Казанского “Разработка приложений на Swift и SwiftUI с нуля. 2-е издание“.

Рассмотрены принципы протокольно-ориентированного и функционального программирования на языке Swift 5.5 для операционных систем macOS, iOS и iPadOS. Подробно описана среда разработки Xcode 13.1 и SwiftUI. Приведены приемы проектирования и разработки программ для macOS с использованием фреймворка Cocoa, мобильных приложений с помощью фреймворка Cocoa Touch, описаны принципы создания проектов с интерфейсом Storyboard. Главы содержат упражнения с решениями и примеры кода для начинающих программистов. Во втором издании описано создание проектов в редакторе Interface Builder и подробно рассмотрены новые возможности Swift 5.5.

Для программистов

Вы узнаете, как:

  • программировать на языке Swift;
  • создавать приложения в среде разработки Xcode;
  • использовать технологию SwiftUI;
  • создавать проекты с помощью Storyboard и Interface Builder;
  • разрабатывать приложения для iOS с применением фреймворка Cocoa Touch.

Казанский Александр АнатольевичКазанский Александр Анатольевич, кандидат технических наук, доцент. Более 30 лет работает преподавателем, читает лекции по программированию на C#, VB и других языках. Автор 7 книг, посвященных программированию, дискретной математике, а также использованию macOS и приложений Apple.

Книгу можно купить в нашем интернет-магазине.

Введение………………………………………………………………………………………………….. 8

Часть I. Программирование на Swift 5.5………………………………… 13

Глава 1. Среда разработки Xcode 13.1. Первые приложения на Swift 5.5 и SwiftUI            14

1.1. macOS Big Sur, Xcode 13 и Swift 5.5…………………………………………………………………………………… 14

1.2. Консольные приложения Playground для iOS…………………………………………………………………… 18

1.3. Консольные приложения Playground для macOS…………………………………………………………….. 26

1.4. Консольные приложения в режиме project с шаблоном Command Line Tool……………….. 27

1.5. Написание кода на REPL Swift………………………………………………………………………………………….. 32

1.6. Программирование на Swift 5.5 в режиме online………………………………………………………………. 34

1.7. Программирование на языке С++ в среде Xcode……………………………………………………………… 35

1.8. Создание проекта (project) для iOS c интерфейсом SwiftUI…………………………………………….. 39

1.9. Разработка на SwiftUI приложения для банковских операций………………………………………. 44

Глава 2. Основы программирования на языке Swift………………………………. 49

2.1. Переменные и константы……………………………………………………………………………………………………. 49

2.2. Стандартные числовые функции………………………………………………………………………………………. 55

2.3. Арифметические операции и операции сравнения………………………………………………………….. 58

2.4. Построение арифметических выражений и преобразование числовых данных………….. 61

2.5. Упражнения на рассмотренный материал……………………………………………………………………….. 64

2.6. Логические операции………………………………………………………………………………………………………….. 64

2.7. Упражнения на рассмотренный материал……………………………………………………………………….. 65

Упражнение № 1…………………………………………………………………………………………………………… 65

Упражнение № 2…………………………………………………………………………………………………………… 66

Упражнение № 3…………………………………………………………………………………………………………… 66

2.8. Создание собственных пользовательских операций………………………………………………………. 66

2.9. Работа с символьными константами и переменными String и Character………………………. 68

2.10. Опциональные (Optional) типы данных и nil…………………………………………………………………. 71

Глава 3. Функции языка Swift и их возможности…………………………………… 74

3.1. Функции, не имеющие параметров и возвращаемого значения……………………………………… 75

3.2. Функции без параметров и с одним возвращаемым значением……………………………………… 76

3.3. Функции c несколькими входными параметрами и одним возвращаемым значением…. 77

3.4. Локальные параметры функции………………………………………………………………………………………… 78

3.5. Метки и имена параметров функции…………………………………………………………………………………. 79

3.6. Функции c несколькими входными параметрами и несколькими возвращаемыми значениями    81

3.7. Функции с переменным числом параметров (Variadic function)…………………………………….. 82

3.8. Параметры типа in-out (входные-выходные)……………………………………………………………………. 82

3.9. Упражнения на рассмотренный материал……………………………………………………………………….. 83

Упражнение № 1…………………………………………………………………………………………………………… 83

Упражнение № 2…………………………………………………………………………………………………………… 83

Упражнение № 3…………………………………………………………………………………………………………… 84

Упражнение № 4…………………………………………………………………………………………………………… 84

3.10. Способы работы с параметрами in-out, не приводящие к побочным эффектам…………. 84

3.11. Перегрузка функций………………………………………………………………………………………………………….. 86

3.12. Вложенные функции…………………………………………………………………………………………………………. 87

3.13. Функции, возвращающие другие функции……………………………………………………………………… 88

3.14. Замыкания (Closures)………………………………………………………………………………………………………… 90

3.15. Замыкающие выражения (Closure expressions)……………………………………………………………….. 93

3.16. Захват значений замыкания из контекста и запрет их изменений……………………………….. 95

3.17. Использование переменной в качестве функции……………………………………………………………. 96

3.18. Каррирование функций (Currying functions)…………………………………………………………………… 96

3.19. Универсальные функции (Generic functions)…………………………………………………………………… 98

Глава 4. Управление потоком (Control Flow). Перечисления………………… 101

4.1. Условный оператор if……………………………………………………………………………………………………….. 101

4.2. Конструкция условного оператора if…else…………………………………………………………………….. 103

4.3. Упражнения на рассмотренный материал……………………………………………………………………… 105

Упражнение № 1………………………………………………………………………………………………………… 105

Упражнение № 2………………………………………………………………………………………………………… 105

Упражнение № 3………………………………………………………………………………………………………… 105

Упражнение № 4………………………………………………………………………………………………………… 105

Упражнение № 5………………………………………………………………………………………………………… 105

4.4. Условный оператор switch……………………………………………………………………………………………….. 105

4.5. Упражнение на рассмотренный материал……………………………………………………………………… 108

4.6. Циклы…………………………………………………………………………………………………………………………………. 108

4.6.1. Циклы for _ in……………………………………………………………………………………………………. 109

4.6.2. Циклы forEach………………………………………………………………………………………………….. 112

4.6.3. Циклы while………………………………………………………………………………………………………. 114

4.6.4. Циклы repeat…while…………………………………………………………………………………………. 115

4.7. Кортежи (Tuples)……………………………………………………………………………………………………………….. 116

4.8. Перечисления (Enumeration)……………………………………………………………………………………………. 118

4.9. Диапазоны (Range)……………………………………………………………………………………………………………. 122

Глава 5. Коллекции……………………………………………………………………………… 125

5.1. Одномерные массивы……………………………………………………………………………………………………….. 125

5.2. Сортировка одномерных массивов…………………………………………………………………………………. 128

5.3. Двумерные массивы………………………………………………………………………………………………………….. 129

5.4. Словари (Dictionaries)……………………………………………………………………………………………………….. 134

5.5. Множества (Sets)……………………………………………………………………………………………………………….. 138

Глава 6. Классы и структуры……………………………………………………………….. 144

6.1. Синтаксис и семантика классов и структур…………………………………………………………………… 146

6.2. Сохраняемые и ленивые сохраняемые свойства……………………………………………………………. 148

6.3. Вычисляемые свойства…………………………………………………………………………………………………….. 149

6.4. Наблюдатели свойств………………………………………………………………………………………………………. 151

6.5. Инициализаторы……………………………………………………………………………………………………………….. 153

6.6. Методы класса………………………………………………………………………………………………………………….. 156

6.7. Сабскрипты (Subscripts)……………………………………………………………………………………………………. 160

6.8. Наследование (Inheritance)………………………………………………………………………………………………. 164

6.9. Создание класса для решения матричной задачи…………………………………………………………. 173

6.10. Структуры (Structs)…………………………………………………………………………………………………………. 177

6.11. Мутирующие методы структур…………………………………………………………………………………….. 181

6.12. Расширения (Extensions)…………………………………………………………………………………………………. 183

6.13. Контроль доступа…………………………………………………………………………………………………………… 185

6.14. Типы значений и ссылочные типы………………………………………………………………………………… 186

6.15. Автоматический подсчет ссылок (ARC)……………………………………………………………………….. 190

6.16. Сильные, слабые и не учитываемые (Unowned) ссылки……………………………………………… 191

6.17. Метод Copy-On-Write (COW)…………………………………………………………………………………………. 194

Глава 7. Функциональное программирование на Swift………………………… 197

7.1. Простые математические функции………………………………………………………………………………….. 203

7.2. Функции высшего порядка……………………………………………………………………………………………….. 206

7.3. Рекурсии…………………………………………………………………………………………………………………………….. 207

7.4. Упражнения на рассмотренный материал……………………………………………………………………… 215

Упражнение № 1………………………………………………………………………………………………………… 215

Упражнение № 2………………………………………………………………………………………………………… 215

7.5. Функциональные программы, использующие вместо циклов рекурсии……………………… 216

Пример 7.5.1. Поиск простых чисел…………………………………………………………………………. 216

Пример 7.5.2. Разложение положительного целого числа
на простые множители………………………………………………………………………………………………. 217

Пример 7.5.3. Построение таблиц…………………………………………………………………………….. 217

Пример 7.5.4. Преобразование типа массива………………………………………………………….. 218

7.6. Библиотечные функции для работы с одномерными массивами…………………………………. 219

7.6.1. Метод map()………………………………………………………………………………………………………. 220

7.6.2. Метод reduce()………………………………………………………………………………………………….. 220

7.6.3. Метод filter()…………………………………………………………………………………………………….. 221

7.6.4. Метод reversed()……………………………………………………………………………………………….. 222

7.6.5. Метод enumerated()………………………………………………………………………………………….. 222

7.6.6. Метод zip()………………………………………………………………………………………………………… 222

7.6.7. Метод contains()……………………………………………………………………………………………….. 223

7.7. Упражнения на рассмотренный материал……………………………………………………………………… 223

Упражнение № 1………………………………………………………………………………………………………… 223

Упражнение № 2………………………………………………………………………………………………………… 223

Упражнение № 3………………………………………………………………………………………………………… 223

7.8. Функциональные программы для вычисления векторных операций…………………………… 223

7.8.1. Векторные операции……………………………………………………………………………………….. 224

7.8.2. Примеры функциональных программ для работы с векторами………………….. 224

Сумма векторов……………………………………………………………………………………………….. 224

Умножение вектора на скаляр………………………………………………………………………… 225

Скалярное произведение векторов…………………………………………………………………. 226

Длина вектора………………………………………………………………………………………………….. 226

7.9. Упражнения на рассмотренный материал……………………………………………………………………… 226

Упражнение № 1………………………………………………………………………………………………………… 226

Упражнение № 2………………………………………………………………………………………………………… 226

Упражнение № 3………………………………………………………………………………………………………… 227

Упражнение № 4………………………………………………………………………………………………………… 227

7.10. Использование методов функционального программирования при решении задач с массивами             227

7.11. Упражнения на рассмотренный материал…………………………………………………………………… 230

Упражнение № 1………………………………………………………………………………………………………… 230

Упражнение № 2………………………………………………………………………………………………………… 230

Упражнение № 3………………………………………………………………………………………………………… 230

7.12. Использование функционального программирования для работы
со сложными типами данных………………………………………………………………………………………… 231

Глава 8. Протокольно-ориентированное программирование на Swift…… 233

8.1. Протоколы стандартной библиотеки Swift…………………………………………………………………….. 234

8.2. Требования, которые можно задавать в протоколе………………………………………………………. 237

8.3. Объявление свойств в протоколе…………………………………………………………………………………….. 238

8.4. Объявление методов в протоколе……………………………………………………………………………………. 242

8.5. Наследование протоколов……………………………………………………………………………………………….. 243

8.6. Композиция протоколов…………………………………………………………………………………………………… 244

8.7. Делегирование (Delegation)………………………………………………………………………………………………. 245

8.8. Протокол как тип………………………………………………………………………………………………………………. 247

8.9. Расширение протокола…………………………………………………………………………………………………….. 248

8.10. Полиморфизм, основанный на протоколе…………………………………………………………………….. 249

8.11. Использование в протоколах ассоциированных типов………………………………………………. 251

8.12. Разработка приложения с использованием протоколов……………………………………………… 253

Глава 9. Новые методы в версии Swift 5.5. Параллелизм………………………. 263

9.1. Асинхронные функции async/await…………………………………………………………………………………. 265

9.2. Акторы……………………………………………………………………………………………………………………………….. 271

9.3. Изменение протокола Codable………………………………………………………………………………………… 277

9.4. Преобразование типов и ключевое слово lazy……………………………………………………………….. 278

9.5. Асинхронное связывание свойств let (async binding let)………………………………………………… 278

Часть II. Технологии разработки приложений
в среде Xсode 11.2 и 13.1………………………………………………………………… 283

Глава 10. Создание проектов в редакторе Interface Builder
на основе интерфейса Storyboard…………………………………………………………. 284

10.1. Краткая историческая справка……………………………………………………………………………………… 284

10.2. Интерфейс Xcode 13.1…………………………………………………………………………………………………….. 285

10.3. Навигатор проекта Xcode 13.1………………………………………………………………………………………. 290

10.4. Создание проекта для iOS с использованием Interface Builder…………………………………… 291

10.5. Создание проекта для iOS без написания кода……………………………………………………………. 298

10.6. Создание проекта обработки матрицы для iOS…………………………………………………………… 302

10.7. Создание игры для iOS: бросание игральной кости…………………………………………………….. 305

10.8. Создание проекта обработки матрицы для macOS…………………………………………………….. 307

10.9. Создание проекта определения цифр числа для macOS…………………………………………….. 308

10.10. Создание проекта приведения матрицы к верхней треугольной для macOS………….. 310

10.11. Создание проекта для macOS без написания кода……………………………………………………. 314

Глава 11. Технология SwiftUI……………………………………………………………….. 316

11.1. Обновление системы macOS и Xcode……………………………………………………………………………. 317

11.2. Ключевые понятия SwiftUI…………………………………………………………………………………………….. 320

11.3. Начало работы с использованием интерфейса SwiftUI………………………………………………. 322

11.4. Создание представлений строк (Row View). Добавление в проект новых файлов……. 338

11.5. Создание интерактивных приложений SwiftUI……………………………………………………………. 345

11.6. Использование формы, содержащей представления, кнопку и слайдер……………………. 353

11.7. Ввод данных с холста или из симулятора……………………………………………………………………. 354

11.8. Настройка изображений для проекта SwiftUI……………………………………………………………… 357

11.9. Переключение между изображениями с помощью элемента Toggle…………………………. 360

11.10. Использование вертикальных стеков при создании проектов для iOS,
содержащих изображения и текст……………………………………………………………………………….. 362

11.11. Использование в SwiftUI стеков VStack, HStack и ZStack………………………………………….. 365

11.12. Проект с использованием географической карты (MapView), изображения и текста 368

11.13. Использование структуры ForEach для создания представлений…………………………… 375

11.14. Cкроллинг представлений……………………………………………………………………………………………. 378

11.15. Добавление и удаление представлений с помощью модификатора transition(). Библиотека модификаторов   380

11.16. Интерактивный переход между представлениями…………………………………………………….. 383

11.17. Создание пользовательских модальных представлений………………………………………….. 384

11.18. Графические средства SwiftUI…………………………………………………………………………………….. 386

11.19. Создание проекта SwiftUI для реализации анимации………………………………………………. 389

11.20. Использование на SwiftUI декларативных функций…………………………………………………. 393

Приложение. Решения упражнений и ответы……………………………………….. 400

Упражнения 2.5………………………………………………………………………………………………………………………… 400

Упражнения 2.7………………………………………………………………………………………………………………………… 401

Упражнения 3.9………………………………………………………………………………………………………………………… 401

Упражнения 4.3………………………………………………………………………………………………………………………… 403

Упражнение 4.5………………………………………………………………………………………………………………………… 406

Упражнения 7.4………………………………………………………………………………………………………………………… 407

Упражнения 7.7………………………………………………………………………………………………………………………… 409

Упражнения 7.9………………………………………………………………………………………………………………………… 410

Упражнения 7.11……………………………………………………………………………………………………………………… 412

Предметный указатель…………………………………………………………………………. 413

 

 

Опубликовано

Опубликована книга “Создание сайта, его SEO-продвижение и монетизация. Самоучитель”

Создание сайта, его SEO-продвижение и монетизация. Самоучитель

В нашем издательстве вышла книга Владимира Молочкоыв “Создание сайта, его SEO-продвижение и монетизация. Самоучитель“.

Подробно рассмотрено создание сайта с использованием CMS WordPress: выбор хостинга, подключение домена, установка шаблонов и плагинов. Рассказано о наполнении сайта контентом, о поисковой (SEO) оптимизации, подключении аналитических сервисов Яндекса и Google. Даны советы по бесплатному и коммерческому продвижению сайта в социальных сетях «ВКонтакте», «Одноклассники», Instagram, Facebook, Twitter а также в Telegram. Описано создание подписок и почтовых рассылок для посетителей сайта. Приводятся практические рекомендации по монетизации, рассматриваются инструменты для получения дохода с помощью сайта или личного блога.

Для начинающих веб-мастеров и разработчиков

Шаг за шагом к успешному сайту

  • Cоздание сайтов c использованием WordPress
  • Самостоятельный запуск блога или многостраничника
  • Оформление сайта и наполнение его контентом
  • Полезные плагины
  • Аудит работы сайта
  • Инструменты Google и Яндекса для веб-мастера
  • Создание рассылок и подписок
  • Продвижение сайта в социальных сетях
  • Эффективные способы монетизации

Молочков Владимир ПетровичВладимир Петрович Молочков — кандидат педагогических наук, преподаватель высшей квалификационной категории Политехнического колледжа Новгородского госуниверситета им. Ярослава Мудрого. Автор 18 книг по компьютерной тематике и более 200 статей в СМИ.

Книгу можно купить в нашем интернет-магазине.

Оглавление

Предисловие…………………………………………………………………………………………… 11

История WordPress……………………………………………………………………………………………………………………… 12

Когда WоrdPress погубит HTML?…………………………………………………………………………………………….. 13

От издательства…………………………………………………………………………………………………………………………. 13

Часть I. Создание сайта в WordPress
и размещение его на хостинге……………………………………………….. 15

Глава 1. Установка WordPress на хостинг……………………………………………… 16

Основные понятия, связанные с WordPress………………………………………………………………………………. 16

Плюсы WordPress……………………………………………………………………………………………………………….. 16

Тема WordPress…………………………………………………………………………………………………………………… 16

Плагин…………………………………………………………………………………………………………………………………. 17

Хостинг……………………………………………………………………………………………………………………………….. 17

Виртуальный хостинг………………………………………………………………………………………………………… 17

Хостинг WordPress……………………………………………………………………………………………………………… 17

Домен…………………………………………………………………………………………………………………………………… 17

Как на практике разместить сайт на хостинге в Сети?………………………………………………………….. 18

Знакомство с консолью (панелью администратора)……………………………………………………………… 21

Базовые настройки WordPress после установки……………………………………………………………………… 23

Общие………………………………………………………………………………………………………………………………….. 23

Написание…………………………………………………………………………………………………………………………… 24

Чтение………………………………………………………………………………………………………………………………….. 24

Обсуждение………………………………………………………………………………………………………………………… 25

Медиафайлы………………………………………………………………………………………………………………………. 26

Постоянные ссылки……………………………………………………………………………………………………………. 26

Приватность (настройка конфиденциальности)……………………………………………………………… 27

Специальные настройки WordPress………………………………………………………………………………………….. 29

Заменяем кириллицу латиницей (организуем транслит)……………………………………………….. 29

Плагин Cyr to Lat enhanced………………………………………………………………………………………. 29

Плагин Rus-To-Lat……………………………………………………………………………………………………… 30

Делаем ссылки короткими: плагин Bring Back the Get Shortlink Button……………………….. 30

Протокол SSH…………………………………………………………………………………………………………………….. 31

Глава 2. Выбор и установка темы WordPress для сайта…………………………. 32

Способ 1. Установка темы через поиск……………………………………………………………………………………. 32

Способ 2. Устанавливаем тему из ZIP-архива………………………………………………………………………… 33

На что обратить внимание при выборе темы WordPress?………………………………………………………. 34

Никто не любит медленные веб-сайты…………………………………………………………………………….. 34

Валидность шаблона…………………………………………………………………………………………………………. 35

Валидатор validator.w3.org……………………………………………………………………………………… 36

Валидатор jigsaw.w3.org/css-validator……………………………………………………………………. 36

Адаптивность шаблона……………………………………………………………………………………………………… 37

Убираем из шаблона рекламную фразу «Сайт работает на WordPress» или аналогичную. 38

Используем редактор тем………………………………………………………………………………………………….. 38

Вывод копирайта (указателя ваших авторских прав)……………………………………………………. 39

Используем плагин Remove «Powered by WordPress»…………………………………………………….. 40

Редактируем нижний колонтитул с помощью плагина Remove Footer Credit……………… 41

Редактируем PHP-код в WordPress с помощью плагина Code Snippets…………………………. 42

Законно ли убирать копирайты WordPress из подвала?…………………………………………………. 43

Проверка темы плагином Theme Authenticity Checker……………………………………………………………. 44

Организуем скачивание архивов с сайта по паролю……………………………………………………………… 46

Кнопки соцсетей для сайта WordPress……………………………………………………………………………………… 50

Глава 3. Практический пример создания сайта на WordPress………………… 52

Важные настройки WP после установки сайта на хостинг…………………………………………………… 53

Общие настройки……………………………………………………………………………………………………………….. 53

Постоянные ссылки……………………………………………………………………………………………………………. 53

Латинизация ссылок: плагин Cyr to Lat enhanced…………………………………………………………… 54

Установка темы для сайта………………………………………………………………………………………………………… 54

Основное……………………………………………………………………………………………………………………………… 55

Макет…………………………………………………………………………………………………………………………………… 55

Цвета……………………………………………………………………………………………………………………………………. 55

Разное………………………………………………………………………………………………………………………………….. 57

Настройка виджетов………………………………………………………………………………………………………………….. 57

Создание страниц сайта……………………………………………………………………………………………………………. 59

Настройка меню: плагин Простая сортировка страниц……………………………………………………… 61

Установка формы Контакты: плагин Contact Form by BestWebSoft……………………………………. 61

Создание рубрик (категорий)……………………………………………………………………………………………………. 62

Сокращение длины интернет-адресов записей………………………………………………………………………. 64

Удаление лишних записей, присутствующих в теме по умолчанию……………………………………. 65

Удаление лишних тем, присутствующих в консоли……………………………………………………………….. 65

Создание гиперссылок………………………………………………………………………………………………………………. 66

Создание ссылки на файл…………………………………………………………………………………………………………. 66

Установка на сайт счетчика……………………………………………………………………………………………………… 68

Вставка на сайт баннера…………………………………………………………………………………………………………… 71

Соглашение об обработке персональных данных…………………………………………………………………. 72

Создание шапки сайта………………………………………………………………………………………………………………. 76

Редактируем файл robots.txt……………………………………………………………………………………………………… 78

Создание карты сайта: плагин XML Sitemaps…………………………………………………………………………. 80

Создание страницы с картой сайта: плагин WP DS Blog Map………………………………………………. 81

Добавляем на сайт кнопки соцсетей: плагин Яндекс Поделиться………………………………………… 82

Создаем свой граватар……………………………………………………………………………………………………………… 83

Глава 4. Оформление вида сайта и наполнение его контентом………………. 86

Фавикон………………………………………………………………………………………………………………………………………. 86

Логотип……………………………………………………………………………………………………………………………………….. 88

Установка фона сайта……………………………………………………………………………………………………………….. 90

Получение сертификата безопасности SSL…………………………………………………………………………….. 91

Чем отличается бесплатный SSL-сертификат от платного?………………………………………….. 91

Пример установки сертификата на хостинге TimeWEB…………………………………………………. 91

Пример установки сертификата на хостинге SprintHost………………………………………………… 96

Шаг 1. Установка SSL………………………………………………………………………………………………. 96

Шаг 2. Замена протокола HTTP на HTTPS…………………………………………………………….. 97

Шаг 3. Перенаправление на HTTPS………………………………………………………………………… 98

Шаг 4. Для очень больших сайтов…………………………………………………………………………… 99

Установка меню «Хлебные крошки»: плагин Flexy Breadcrumb…………………………………………. 101

Создание эффекта «лайтбокс» для изображения: плагин Simple Lightbox…………………………. 105

Создание кнопки………………………………………………………………………………………………………………………. 108

Создаем кнопку «Наверх»: плагин WPFront Scroll Top……………………………………………………….. 109

Ссылка на сайте на номер телефона, Skype и отправку СМС…………………………………………….. 110

Список основных мероприятий по обслуживанию веб-проекта…………………………………………. 111

Глава 5. Полезные плагины и приемы работы с сайтом………………………. 112

Защита текста на сайте от копирования: плагин WP-CopyProtect……………………………………… 112

Защита изображений на сайте: плагин водяного знака Image Watermark…………………………. 113

Делаем оглавление: плагин Table of Contents Plus………………………………………………………………. 116

Защита сайта от взлома: плагин Limit Login Attempts………………………………………………………….. 117

Исключаем спам на своем сайте: плагин Akismet Spam Protection……………………………………… 118

Публикуем на сайте видео………………………………………………………………………………………………………. 121

Вариант 1: берем видео с YouTube………………………………………………………………………………… 121

Способ 1: используем блок HTML………………………………………………………………………… 121

Способ 2: используем блок YouTube……………………………………………………………………. 123

Вариант 2: выкладываем на сайт свое видео………………………………………………………………… 124

Публикуем на сайте звуковые файлы…………………………………………………………………………………….. 125

Способ 1: используем блок Аудио…………………………………………………………………………………. 125

Способ 2: используем виджеты………………………………………………………………………………………. 125

Публикуем на сайте неуникальный контент…………………………………………………………………………. 126

Создаем на сайте опрос: плагин WP-Polls…………………………………………………………………………….. 127

Шаг 1: выводим опрос на страницу……………………………………………………………………………….. 127

Шаг 2: помещаем опрос в сайдбар…………………………………………………………………………………. 129

Создание галереи: плагин Slider, Gallery, and Carousel by MetaSlider………………………………. 130

Добавление смайликов……………………………………………………………………………………………………………. 133

Организуем скачивание с сайта предназначенных для этого материалов………………………… 134

Оценка звездочками рейтинга статьи: плагин Rate My Post………………………………………………… 136

Режим заглушки на сайте WordPress: плагин WP Maintenance Mode…………………………………. 137

Часть II. Анализ работы и продвижение сайта………………… 139

Глава 6. Организуем продвижение сайта……………………………………………… 140

Подготовка к созданию семантического ядра сайта……………………………………………………………. 141

Установка программы «Магадан»…………………………………………………………………………………. 141

Сбор ключевых фраз в «Магадане»……………………………………………………………………………….. 144

Работа с экспортным файлом в таблицах Google…………………………………………………………. 147

Кластеризация ключевых фраз………………………………………………………………………………………. 148

Создание контент-плана…………………………………………………………………………………………………………. 153

Советы по SEO-оптимизации сайта WordPress……………………………………………………………………… 157

Глава 7. Как написать SEO-статью?…………………………………………………….. 160

Настройка SEO-плагина Yoast SEO……………………………………………………………………………………….. 160

Проверяем SEO-заголовок……………………………………………………………………………………………….. 165

Проверяем метаописание………………………………………………………………………………………………… 165

Пишем SEO-статью для сайта………………………………………………………………………………………………… 165

Требования к SEO-тексту………………………………………………………………………………………………… 165

Пример написания SEO-статьи……………………………………………………………………………………….. 166

Уникальность текста на сайте………………………………………………………………………………………………… 171

Проверка релевантности страниц………………………………………………………………………………………….. 174

Перелинковка…………………………………………………………………………………………………………………………… 176

Правильность HTML-кода……………………………………………………………………………………………………… 177

Советы по попаданию сайта в топ выдачи поисковых систем……………………………………………. 178

Показатели раскрученности сайта: PR, ТИЦ и ИКС……………………………………………………………. 178

Глава 8. Сервисы Яндекса для веб-мастера………………………………………….. 180

О сервисе Яндекс.Вебмастер………………………………………………………………………………………………….. 180

Шаг 1: подключаем сайт к Яндекс.Вебмастеру……………………………………………………………. 181

Шаг 2: добавляем в Яндекс.Вебмастер карту сайта (Sitemap)……………………………………. 184

Работаем с Яндекс.Метрикой…………………………………………………………………………………………………. 185

Установка на сайт поисковой формы от Яндекса………………………………………………………………… 188

Плагин «турбо-страницы» для WordPress……………………………………………………………………………… 193

Привязка Яндекс.Метрики к Яндекс.Вебмастеру…………………………………………………………………. 198

Ускорение индексирования сайта вручную………………………………………………………………………….. 200

Добавление на сайт географической карты с Яндекса………………………………………………………… 202

Глава 9. Сервисы Google для веб-мастера…………………………………………….. 205

Добавление сайта в Google Search Console………………………………………………………………………….. 205

Шаг 1: подтверждаем право владения сайтом……………………………………………………………… 205

Шаг 2: отправляем в Google Search Console файл Sitemap………………………………………….. 207

Подключение Google Аналитики……………………………………………………………………………………………. 209

Шаг 1: создание аккаунта……………………………………………………………………………………………….. 209

Шаг 2: настройка ресурса………………………………………………………………………………………………. 210

Шаг 3: информация о компании……………………………………………………………………………………… 211

Шаг 4: настройка потока данных…………………………………………………………………………………… 212

Шаг 5: проверка работы Google Аналитики………………………………………………………………….. 214

Подключение поиска от Google………………………………………………………………………………………………. 214

Ускорение загрузки мобильных страниц сайта: плагин AMP……………………………………………… 217

Ускорение индексации Google вручную………………………………………………………………………………… 219

Добавление на сайт географической карты от Google…………………………………………………………. 220

Проверка кроссбраузерности сайта………………………………………………………………………………………. 223

Проверка оптимизации сайта для мобильных устройств……………………………………………………. 223

Адаптивность сайта…………………………………………………………………………………………………………. 223

Скорость сайта…………………………………………………………………………………………………………………. 224

Глава 10. Анализ работы сайта…………………………………………………………….. 225

Посещаемость сайта……………………………………………………………………………………………………………….. 225

Аналитический сервис Яндекс.Метрика……………………………………………………………………………….. 225

Аналитический сервис Google Аналитика…………………………………………………………………………….. 226

Как узнать целевую аудиторию по Яндекс.Метрике?…………………………………………………………. 228

Веб-визор от Яндекс.Метрики………………………………………………………………………………………………… 230

Карты Яндекс.Метрики…………………………………………………………………………………………………………… 232

Отчет о посещаемости сайта в реальном времени на Google Аналитике…………………………… 234

Как узнать целевую аудиторию в Google Аналитике?…………………………………………………………. 235

Анализ поведения пользователя на сайте в Google Аналитике…………………………………………… 236

Проверка и оптимизация скорости загрузки сайта………………………………………………………………. 237

Ускорение загрузки сайта: плагин WP-Optimize…………………………………………………………………… 238

Оптимизация графики: плагин WebP Express………………………………………………………………………… 242

Адаптивность сайта………………………………………………………………………………………………………………… 244

Анализ сайта по сервису be1.ru……………………………………………………………………………………………… 246

Глава 11. Создание рассылок и подписок…………………………………………….. 249

Создание на хостинге доменной почты…………………………………………………………………………………. 249

Работа с сервисом SendPulse…………………………………………………………………………………………………… 253

Регистрация в сервисе SendPulse…………………………………………………………………………………….. 253

Создание формы подписки на рассылку……………………………………………………………………….. 253

Создание рассылки писем……………………………………………………………………………………………….. 260

Создание Push-рассылки…………………………………………………………………………………………………. 265

Часть III. Продвижение сайта через соцсети……………………. 273

Глава 12. Продвижение сайта на YouTube……………………………………………. 274

Создаем канал………………………………………………………………………………………………………………………….. 274

Оформляем вид канала……………………………………………………………………………………………………………. 274

Выполняем настройку канала………………………………………………………………………………………………… 278

Прямая трансляция на YouTube…………………………………………………………………………………………….. 282

Загрузка видео на YouTube…………………………………………………………………………………………………….. 283

Редактирование загруженного видео…………………………………………………………………………………….. 286

Команда Обрезать…………………………………………………………………………………………………………… 287

Другие операции………………………………………………………………………………………………………………. 288

Удаление своего видео…………………………………………………………………………………………………….. 288

Анализ каналов конкурентов………………………………………………………………………………………………….. 289

Анализ своего канала……………………………………………………………………………………………………………… 294

Информер YouTube на вашем сайте………………………………………………………………………………………. 295

Делаем интродукцию для видео…………………………………………………………………………………………….. 298

Глава 13. Видеоредактор Camtasia Studio……………………………………………… 303

Первое знакомство с программой…………………………………………………………………………………………… 303

Пример записи видеоурока…………………………………………………………………………………………………….. 306

Сохранение готового фильма…………………………………………………………………………………………………. 309

Полезные приемы работы и команды……………………………………………………………………………………. 311

Разделение аудио и видео……………………………………………………………………………………………….. 311

Объединение двух видео в одно……………………………………………………………………………………… 312

Вырезание фрагмента видео…………………………………………………………………………………………… 312

Добавление надписи в видео…………………………………………………………………………………………… 313

Масштабирование…………………………………………………………………………………………………………… 313

Добавление к видео своего водяного знака…………………………………………………………………… 313

Сохранение видео для его последующей загрузки на YouTube………………………………………….. 314

Рисование экранных примитивов…………………………………………………………………………………………… 315

Глава 14. Соцсети ВКонтакте и Instagram……………………………………………. 317

Продвижение сайта через сообщество ВКонтакте………………………………………………………………. 317

Создание сообщества ВКонтакте…………………………………………………………………………………… 317

Наполнение и продвижение сообщества……………………………………………………………………….. 323

Хештеги ВКонтакте…………………………………………………………………………………………………………. 324

Пример написания поста о новой статье на сайте……………………………………………………….. 325

Способы «раскрутки» сообщества…………………………………………………………………………………. 327

Делаем информер для сайта о своем сообществе ВКонтакте……………………………………… 328

Платное продвижение сообщества через рекламу……………………………………………………….. 330

Рассылки подписчикам ВКонтакте через приложение Senler……………………………………… 333

Продвижение сайта через Instagram……………………………………………………………………………………… 340

Добавление фото или видео в Instagram с компьютера……………………………………………….. 341

Загрузка фото………………………………………………………………………………………………………….. 341

Загрузка видео………………………………………………………………………………………………………… 343

Требования к видеофайлам в Instagram…………………………………………………………………………. 345

Как и что публиковать?…………………………………………………………………………………………………… 345

Продвижение в Instagram………………………………………………………………………………………………… 345

Виджет Instagram у вас на сайте……………………………………………………………………………………. 349

Глава 15. Соцсети Facebook и Twitter…………………………………………………… 353

Продвижение сайта через Facebook………………………………………………………………………………………. 353

Создание и настройка личного профиля на Facebook…………………………………………………. 353

Создание и настройка страницы……………………………………………………………………………………. 355

Создание и настройка группы………………………………………………………………………………………… 357

Что публиковать на Facebook?……………………………………………………………………………………….. 360

Создание публикации на Facebook………………………………………………………………………………… 360

Публикация в профиле……………………………………………………………………………………………. 360

Редактирование публикации, размещенной на Facebook…………………………………… 361

Публикация на странице………………………………………………………………………………………… 363

Публикация в группе………………………………………………………………………………………………. 364

Продвижение страницы и группы…………………………………………………………………………………… 365

Работа с Twitter………………………………………………………………………………………………………………………… 367

Создание постов на Twitter……………………………………………………………………………………………… 369

Ставим виджет Twitter на свой сайт……………………………………………………………………………….. 369

Глава 16. Соцсети Одноклассники и Мой мир и мессенджер Telegram… 373

Социальная сеть Одноклассники…………………………………………………………………………………………… 373

Создание группы……………………………………………………………………………………………………………… 374

Создание публикаций (постов) в группе………………………………………………………………………… 377

Продвижение группы……………………………………………………………………………………………………….. 379

Виджет вашей группы в Одноклассниках……………………………………………………………………… 380

Монетизация в Одноклассниках…………………………………………………………………………………….. 381

Донаты…………………………………………………………………………………………………………………….. 381

Платный контент…………………………………………………………………………………………………….. 384

Платный доступ………………………………………………………………………………………………………. 384

Социальная сеть Мой мир………………………………………………………………………………………………………. 385

Настройка профиля…………………………………………………………………………………………………………. 385

Создание группы……………………………………………………………………………………………………………… 387

Создание публикации……………………………………………………………………………………………………… 389

Мессенджер Telegram……………………………………………………………………………………………………………… 389

Создание и настройка профиля………………………………………………………………………………………. 389

Создание канала в Telegram……………………………………………………………………………………………. 391

Публикация постов………………………………………………………………………………………………………….. 392

Глава 17. Приемы продвижения сайта в различных соцсетях………………. 394

Настройка социальных метатегов…………………………………………………………………………………………. 394

Создание социального замка………………………………………………………………………………………………….. 394

Создание на сайте кнопок перехода на ваш аккаунт (или вашу группу) в соцсети………….. 400

Сервис SMM Planner………………………………………………………………………………………………………………… 403

Автопостинг в соцсети через сервис SMM Planer…………………………………………………………………. 408

Бесплатный автопостинг ВКонтакте: плагин VK Poster Group…………………………………………… 411

Для справки: накрутка в соцсетях………………………………………………………………………………………….. 418

Создание аккаунта в TikTok для бота vtope bot……………………………………………………………. 422

Глава 18. Монетизация сайта на рекламе от Contema, teasernet
и Admitad……………………………………………………………………………………………… 427

Контекстная реклама от сервиса Contema.ru……………………………………………………………………….. 427

Тизерная реклама от сервиса teasernet………………………………………………………………………………….. 432

Партнерский маркетинг на рекламе от Admitad…………………………………………………………………… 439

Партнерская ссылка deeplink…………………………………………………………………………………………………. 445

Глава 19. Сервисы AdSense, Glopart, BestChange и др…………………………… 449

Партнерская программа AdSense от компании Google………………………………………………………… 449

Создание аккаунта AdSense……………………………………………………………………………………………. 449

Размещение объявлений AdSense……………………………………………………………………………………. 450

Связываем аккаунт AdSense с сайтом WordPress: плагин Site Kit……………………………….. 457

Возможные проблемы……………………………………………………………………………………………………… 461

Сервис Glopart………………………………………………………………………………………………………………………….. 462

Шаг 1: создаем на сайте страницу товара или услуги…………………………………………………. 462

Шаг 2: подключаем сервис для приема оплаты на сайте…………………………………………….. 463

Страница с предложением рекламодателям…………………………………………………………………………. 470

По поводу открытых ссылок для рекламодателя…………………………………………………………. 471

Сервис BestChange…………………………………………………………………………………………………………………… 472

Сервис Miralinks……………………………………………………………………………………………………………………….. 474

Глава 20. Платное продвижение сайта в поисковиках…………………………. 478

Сервис Miralinks……………………………………………………………………………………………………………………….. 478

Сервис WebEffector…………………………………………………………………………………………………………………. 483

Глава 21. Полезные советы и сервисы………………………………………………….. 489

Бесплатные картинки и видео для сайта……………………………………………………………………………….. 489

Создание фавикона………………………………………………………………………………………………………………….. 490

Плагин Mammoth .docx converter……………………………………………………………………………………………. 490

Бесплатные значки для сайта…………………………………………………………………………………………………. 493

Скриншоты страниц вашего сайта………………………………………………………………………………………… 493

Определители цвета………………………………………………………………………………………………………………… 495

ColorZilla……………………………………………………………………………………………………………………………. 495

Colors Lite………………………………………………………………………………………………………………………….. 497

Quick HTML Color Picker…………………………………………………………………………………………………. 497

Подбор сочетаний цветов на сайте………………………………………………………………………………………… 498

WhatFont — определитель шрифта……………………………………………………………………………………….. 499

Работа со шрифтами……………………………………………………………………………………………………………….. 499

Использование мастера надписи……………………………………………………………………………………………. 500

Логотип для сайта……………………………………………………………………………………………………………………. 503

Обложка книги…………………………………………………………………………………………………………………………. 504

Загрузка в WordPress PDF-файлов………………………………………………………………………………………….. 506

Предметный указатель…………………………………………………………………………. 509

 

Опубликовано

Вышла книга “Взлом. Приемы, трюки и секреты хакеров. Версия 2.0”

Взлом. Приемы, трюки и секреты хакеров. Версия 2.0

В нашем издательстве опубликован пятый сборник из серии “Библиотека журнала “Хакер”:  “Взлом. Приемы, трюки и секреты хакеров. Версия 2.0“.

В сборнике избранных статей из журнала «Хакер» описана технология инжекта шелл-кода в память KeePass с обходом антивирусов, атака ShadowCoerce на Active Directory, разобраны проблемы heap allocation и эксплуатация хипа уязвимого SOAP-сервера на Linux. Рассказыва-ется о способах взлома протекторов Themida, Obsidium, .NET Reactor, Java-приложений с по-мощью dirtyJOE, программ fat binary для macOS с поддержкой нескольких архитектур. Даны примеры обхода Raw Security и написания DDoS-утилиты для Windows, взлома компьютер-ной игры и написания для нее трейнера на языке C++. Описаны приемы тестирования прото-колов динамической маршрутизации OSPF и EIGRP, а также протокола DTP. Подробно рас-смотрена уязвимость Log4Shell и приведены примеры ее эксплуатации.

Для читателей, интересующихся информационной безопасностью

Вы узнаете:

• как обходить антивирусы;
• как работает новейшая атака на Active Directory;
• как работать фаззером и искать «дыры» в софте;
• как использовать проблемы heap allocation и эксплуатировать хип уязвимого SOAP-сервера на Linux;
• как взламывать популярные протекторы: Themida, Obsidium, .NET Reactor;
• как взламывать защищенные программы для macOS;
• как тестировать безопасность сетевых протоколов;
• как написать DDoS-утилиту для Windows;
• как вскрыть компьютерную игру и написать трейнер для нее;
• как устроена и используется на практике нашумевшая уязвимость

Эта книга посвящена взлому и защите от него. В книге собраны самые лучшие, самые интересные статьи из легендарного журнала «Хакер», описывающие практические приемы хакерства и защиты информационных систем. Авторы представленных в сборнике материалов — истинные профессионалы, неутомимые исследователи, опытнейшие эксперты в сфере информационной безопасности и поиска уязвимостей.

Авторы

Авторы

snovvcrash, AYSerkov, MBK, Necreas1ng, yuriy.nelkmen, neeko, Вячеслав Москвин, Марсель Шагиев, Мария Нефёдова, Иван aLLy Комиссаров

«Хакер» — легендарный журнал об информационной безопасности, издающийся с 1999 года. На протяжении 20 лет на страницах «Хакера» публикуются интересные статьи об операционных системах, программах, сетях, гаджетах и компьютерном «железе». На сайте «Хакера» ежедневно появляются знаковые новости из мира компьютерных технологий, мануалы по кодингу и взлому, гайды по новым эксплойтам, подборки хакерского софта и обзоры веб-сервисов. Среди авторов журнала —  авторитетные эксперты по кибербезопасности и IT-специалисты.

Книгу можно купить в нашем интернет-магазине.

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

Вызов мастеру ключей. Инжектим шелл-код в память KeePass,
обойдя антивирус. 10

Предыстория. 10

Потушить AV.. 11

Получить сессию C2. 13

Перепаять инструмент. 14

Классическая инъекция шелл-кода. 14

Введение в D/Invoke. 20

DynamicAPIInvoke без D/Invoke. 21

DynamicAPIInvoke с помощью D/Invoke. 27

Зачем системные вызовы?. 33

GetSyscallStub с помощью D/Invoke. 35

Модификация KeeThief 42

Подготовка. 42

Апгрейд функции ReadProcessMemory. 43

Время для теста! 46

Выводы. 47

ShadowCoerce. Как работает новая атака на Active Directory. 48

PetitPotam и PrinterBug. 48

Что такое VSS. 49

Стенд. 49

Как работает ShadowCoerce. 50

Эксплуатация. 53

Выводы. 56

Круче кучи! Разбираем в подробностях проблемы heap allocation. 58

Основы GDB. 58

Структура чанков. 59

Арена. 60

Флаги. 61

Bins 61

Тестовая программа. 63

Практика. 63

Fast bin Dup. 69

Что еще почитать про кучу. 73

WinAFL на практике. Учимся работать фаззером
и искать дыры в софте. 74

Требования к функции. 75

Компиляция WinAFL. 75

Поиск подходящей цели для фаззинга. 76

Поиск функции для фаззинга внутри программы. 77

Аргументы WinAFL, подводные камни. 84

Прокачка WinAFL — добавляем словарь. 85

Особенности WinAFL. 86

Побочные эффекты. 86

 

Дебаг-режим. 86

Эмуляция работы WinAFL. 86

Стабильность. 87

Набор входных файлов. 87

Отучаем программу ругаться. 87

Неядерный реактор. Взламываем протектор .NET Reactor. 88

Фемида дремлет. Как работает обход защиты Themida. 95

Сны Фемиды. Ломаем виртуальную машину Themida. 102

Грязный Джо. Взламываем Java-приложения с помощью dirtyJOE. 110

Obsidium fatality. Обходим триальную защиту популярного протектора. 122

В итоге. 129

 

Липосакция для fat binary. Ломаем программу для macOS
с поддержкой нескольких архитектур. 130

Немного теории. 130

Intel 132

ARM   134

Патчим плагин. 136

Разборки на куче. Эксплуатируем хип уязвимого SOAP-сервера
на Linux. 138

Реверс-инжиниринг. 139

handleCommand. 139

parseArray. 144

executeCommand. 148

deleteNote. 150

editNote. 151

newNote. 152

show.. 154

Итоги реверса. 154

Анализируем примитивы. 154

UAF (show после delete) 154

Heap overflow.. 155

Неочевидный UAF и tcachebins 156

Собираем эксплоит. 159

Запускаем эксплоит. 160

Выводы. 160

Routing nightmare. Как пентестить протоколы динамической
маршрутизации OSPF и EIGRP. 164

Проблематика, импакт и вооружение. 164

Протокол OSPF. 164

Протокол EIGRP. 166

Импакт. 167

Вооружение с FRRouting. 168

Настройка FRRouting. 168

Виртуальная лаборатория. 169

Инъекция маршрутов и перехват трафика в домене OSPF. 171

Инъекция маршрутов и переполнение таблицы маршрутизации в домене EIGRP. 173

Меры предотвращения атак на домены маршрутизации. 176

Выводы. 177

Разруливаем DTP. Как взломать протокол DTP
и совершить побег в другую сеть VLAN.. 178

Как это работает. 178

Уязвимость. 180

Виртуальная лаборатория. 181

Кастомная эксплуатация уязвимости ++без использования++ Yersinia. 182

Эксплуатация. 185

Побег в другую сеть VLAN.. 187

Защита. 189

Вывод. 189

DDoS с усилением. Обходим Raw Security
и пишем DDoS-утилиту для Windows 190

Ищем уязвимые серверы. 193

Разработка. 194

Функция выбора интерфейса, из которого будут поступать пакеты. 195

Функции формирования UDP-пакета. 196

Формирование пакета. 200

Отправка пакета. 200

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

Чит своими руками. Вскрываем компьютерную игру
и пишем трейнер на C++. 202

Выбор игры. 202

Поиск значений. 202

Что такое статический адрес. 205

Поиск показателей здоровья. 206

Поиск статического адреса для индикатора здоровья. 210

Поиск значения числа патронов. 213

Поиск статического адреса для ammo. 213

Проверка полученного статического адреса. 218

Проверка для HP. 218

Проверка для ammo. 219

Как будет выглядеть наш указатель в C++. 220

Написание трейнера. 220

Injector 221

DLL. 222

Модуль обратных вызовов. 229

Модуль работы с памятью.. 229

Проверка работоспособности. 232

Выводы. 232

Log4HELL! Разбираем Log4Shell во всех подробностях. 233

Log4Shell 233

Патчи для патчей. 234

Майнеры, DDoS и вымогатели. 235

Защита. 237

Списки уязвимых. 237

Как работает уязвимость. 238

Как нашли уязвимость. 238

Стенд. 240

build.gradle. 240

src/main/java/logger/Test.java. 240

build.gradle. 241

Детали уязвимости. 242

RCE через Log4j 250

Эксплуатация Log4j в Spring Boot RCE на Java версии выше 8u19. 251

Не RCE единым. 253

Манипуляции с пейлоадом и обходы WAF. 256

Патчи и их обходы. 259

Выводы. 264

«Хакер»: безопасность, разработка, DevOps 265

Предметный указатель. 269

Опубликовано

Представляем новую книгу: “В стране смельчаков. Татарская сказка”

В стране смельчаков. Татарская сказка

Это сказка о юноше, которому пришлось стать смелым, чтобы спасти целый город и свою любимую. Известный татарский писатель Ахмет Файзи сочинил ее на основе татарских сказок и легенд. Данир совсем не хотел становиться воином, ему больше нравилось слушать пение птиц, играть на дудочке и любоваться лебедями. И однажды его отец, славный охотник Азат Мерген решил, что пора Даниру становиться настоящим батыром, и отправил сына в далекое и опасное путешествие.

Книгу можно купить в нашем интернет-магазине.

 

Об авторе

Ахмет Файзи

Ахмет Файзи  — известный татарский писатель, лауреат Государственной премии им. Г. Тукая — написал эту сказку на основе татарских народных сказаний и  легенд.

О художнике

Гульнара-Фаляхова

Гульнара Фаляхова  представляет молодое поколение художников Башкирии. Ее работы, пронизанные духом тюркской культуры, украшают российские и зарубежные галереи.

Опубликовано

Представляем мастер-класс Евгении Тучкевич: Adobe Illustrator CC 2022!

Adobe Illustrator CC 2022. Мастер-класс Евгении Тучкевич

В нашем издательстве вышла книга “Adobe Illustrator CC 2022. Мастер-класс Евгении Тучкевич“.

В основу книги положена эффективная методика обучения дизайнеров, опробованная в учебных аудиториях. Последовательно в виде уроков рассмотрены основные инструменты, технологии и приемы построения для различных проектов в программе Adobe Illustrator на примере версии CС 2022. Особое внимание уделено созданию графики и техникам рисования в программе. Рассмотрены вопросы подготовки графики для Web или печати, в том числе прозрачных объектов. Описаны многочисленные способы трансформации объектов, использование графических стилей, кистей, узорных заливок, символов, эффектов и  многое другое. Учебные файлы, созданные специально для курса, размещены на сайте издательства.

Для широкого круга пользователей

НОВОЕ ИЗДАНИЕ ПОПУЛЯРНОЙ КНИГИ ТЕПЕРЬ В ЦВЕТЕ!

Книга будет полезна:

  • начинающим пользователям как понятное, пошаговое руководство для быстрого изучения программы;
  • дизайнерам как набор готовых решений;
  • преподавателям как сборник превосходных методических материалов;
  • профессиональным пользователям как справочник по работе в программе.

Книгу можно купить в нашем интернет-магазине.

Содержание

ПРЕДИСЛОВИЕ 11
Введение. ОСНОВЫ КОМПЬЮТЕРНОЙ ГРАФИКИ 13
Типы компьютерной графики 14
Характеристики растрового изображения, или
Что нужно знать, создавая и сохраняя файл 15
Пиксел 15
Разрешение изображения 16
Сглаживание (anti-alias) 16
Цветовые модели 17
Модель RGB 17
Модель CMYK 19
Модель HSB 20
Как выбрать цвет в Illustrator? 20
Диалоговое окно Color Picker (Подборщик цвета) … 20
Палитра Color (Цвет) 21
Палитра Swatches (Образцы) 22Урок 1. ИНТЕРФЕЙС ПРОГРАММЫ 23
Интерфейс 24
Работа с быстрыми («горячими») клавишами 26
Палитры 26
Функциональные клавиши 27
Перестройка палитр 27
Выбор и скрытие палитры 29
Панель инструментов 29
Определение инструмента 31
Выбор инструмента 31
Режимы отображения 32
Способы изменения масштаба просмотра 32
Дополнительные средства изменения масштаба 34
Быстрое перемещение по изображению 35
Работа с несколькими монтажными областями
в одном документе 35
Artboard (Монтажная область) 35
Режимы просмотра графических объектов 35Урок 2. ПОСТРОЕНИЕ ПРИМИТИВОВ. ВЫРАВНИВАНИЕ. ГРУППИРОВКА 37
Построение примитивов 38
Инструменты Rectangle (Прямоугольник),
Rounded Rectangle (Скругленный прямоугольник),
Ellipse (Эллипс) 38
Инструмент Polygon (Полигон) 40
Инструмент Star (Звезда) 41
Группа инструментов незамкнутых линий 42
Выделение объектов 44
Инструменты выделения объектов 45
Команды главного меню Select (Выделение) 46
Команды подменю Select | Same
(Выделение | Подобно) 47
Присвоение цвета объектам 48
Атрибуты объектов 48
Изменение цвета атрибутов 49
Проект «Улитка» 49
Порядок следования объектов 51
Проект «Забавные животные». 51
Обводка объекта. Палитра Stroke (Обводка) 53
Создание обводок с переменной шириной 54
Сохранение профилей ширины 55
Группировка объектов 56
Работа с элементами группы 56
Выравнивание объектов.
Палитра Align (Выравнивание) 57Урок 3. ЦВЕТ И РАСКРАШИВАНИЕ 61
Цветовая модель документа 62
Заливка и обводка объектов 62
Палитра Swatches (Образцы) 63
Сохранение образца в палитре 64
Библиотеки образцов 65
Типы образцов 66
Градиент 68
Палитра Gradient (Градиент) 68
Кнопка Edit Gradient (Редактировать градиент). Инструмент Gradient (Градиент) 71
Цветовые группы 76
Создание и редактирование цветовой группы 76Урок 4. ВСПОМОГАТЕЛЬНЫЕ ЭЛЕМЕНТЫ ИНТЕРФЕЙСА 79
О вспомогательных элементах интерфейса 80
Краткий обзор монтажной области 80
Границы и габариты выделенного объекта 81
Rulers (Линейки) 81
Grid (Сетка) 82
Guides (Направляющие) 83
Smart Guides (Умные направляющие) 84
Проект «Создание упаковки» 85Урок 5. ТРАНСФОРМАЦИЯ ОБЪЕКТОВ 89
Преобразование объекта инструментом Selection
(Выделение) 90
Перемещение объектов 91
Команда Move (Перемещение) 91
Перемещение при помощи палитр Properties
(Свойства) и Transform (Трансформация) 92
Масштабирование объектов 93
Команда Scale (Масштабирование) 93
Масштабирование при помощи палитр
Properties (Свойства), Transform (Трансформация)… 94 Инструмент Scale (Масштабирование) 94
Поворот объектов 94
Команда Rotate (Поворот) 94
Поворот при помощи палитр
Properties (Свойства), Transform (Трансформация)… 95 Инструмент Rotate (Поворот) 95
Отражение объектов 96
Команда Reflect (Отражение) 96
Отражение при помощи палитр Properties
(Свойства),Transform (Трансформация) 96
Инструмент Reflect (Отражение) 97
Наклон объектов 98
Команда Shear (Наклон) 98
Инструмент Shear (Наклон) 98
Применение нескольких преобразований
одновременно 99
Команда Transform Each
(Трансформировать каждый) 99
Инструмент Free Transform
(Свободная трансформация) 100
Повтор трансформации 102
Проект «Дом vs замок» 103
Инструмент Puppet Warp
(Марионеточная деформация) 105
Проект «Осьминожка» 106Урок 6. ЭФФЕКТЫ ТРАНСФОРМАЦИИ 107
Эффекты искажения и трансформации 108
Эффект Free Distort (Свободная деформация) 108
Эффект Pucker & Bloat (Втягивание и раздутие) 109
Эффект Roughen (Огрубление) 110
Эффект Tweak (Трепать) 111
Эффект Twist (Скручивание) 112
Эффект Zig Zag (Зигзаг) 112
Эффект Transform (Трансформировать) 113
Проект «Цветы в вазе» 114
Проект «Визитка» 116Урок 7. СОЗДАНИЕ СЛОЖНЫХ ФОРМ ИЗ ПРОСТЫХ 119
Палитра Pathfinder (Обработка контуров) 120
Проект «Пиктограмма» 122
Голова 123
Тело 124
Инструмент Shaper (Мастер фигур) 127
Инструмент Shape Builder (Создание форм) 128
Проект «Рыбка» 128

Урок 8. РАБОТА С КРИВЫМИ БЕЗЬЕ 131
Создание прямолинейных контуров пером 132
Создание криволинейных сегментов пером 133
Основные элементы кривых 134
Типы опорных точек 136
Редактирование контуров 136
Инструменты для работы с контурами 136
Создание угловых точек в процессе
построения кривых 138
Упражнение «Цветок» 139
Упражнение «Сердце за две опорные точки» 140
Создание векторного объекта по контуру
растрового изображения 141
Использование операций редактирования
опорных точек 142
Операции с опорными точками 143
Выравнивание опорных точек 143
Преобразование обводок в составные контуры 144
Создание дополнительного контура с отступом 145
Удаление мусора командой Clean Up (Вычистить) 146
Разрезание объектов и контуров 146
Соединение двух открытых контуров 147
Задания для самостоятельной работы 148

Урок 9. ГРАДИЕНТНАЯ СЕТКА 149
Что такое градиентная сетка? 150
Способы создания сеточного объекта 151
Создание сеточного объекта при помощи инструмента Mesh (Сетка) 151
Использование команды Create Gradient Mesh
(Создать градиентную сетку) 152
Киборг из градиентной сетки 153

Урок 10. РИСОВАНИЕ ПО СИЛУЭТУ 157
Техники рисования в программе 158
Стандартная техника 158
Рисование по силуэту 159
Проект «Гриб» 161
Создание силуэта по эскизу 161
Рисование деталей внутри силуэта 162
Работа с цветом 163
Детали в иллюстрации 164
Задний план 164

Урок 11. БЫСТРАЯ ЗАЛИВКА 167
Рисование с использованием Live Paint
(Быстрая заливка) 168
Создание группы быстрой заливки. 168
Ограничения возможностей быстрой заливки 169
Редактирование группы быстрой заливки 169
Раскрашивание с помощью инструмента
Live Paint Bucket (Ведро быстрой заливки) 170
Замыкание зазоров 171
Разбор или отмена группы с быстрой заливкой 171
Проект «Витраж» 171

Урок 12. ТРАССИРОВКА ИЗОБРАЖЕНИЙ 175
Инструмент Image Trace (Трассировка изображения) 176
Примеры использования 177
Наборы предустановленных параметров 179
Настройка других параметров инструмента
Image Trace (Быстрая трассировка) 181

Урок 13. ИНФОГРАФИКА. ПОСТРОЕНИЕ В ПЕРСПЕКТИВЕ 185

Инфографика 186
Базовые принципы перспективного рисования 187
Perspective Grid (Сетка перспективы) 189
Построение объектов в перспективе 191
Добавление объектов в перспективу 193
Добавление текста и символов в перспективу 193
Проект «Вертолетная площадка» 193

Урок 14. РАБОТА С ТЕКСТОМ 197
Создание текста 198
Способы создания текста 199
Палитры форматирования текста 201
Инструмент Area Type (Текст в области) 204
Текст по контуру 208
Преобразование текста в кривые 209
Специальные символы. Палитра Glyphs (Глифы) 210
Наследование текста. 210
Стили символов и абзацев 211
Инструмент Touch Type Tool (Изменение текста) 212
Типы шрифтов 212
Команды меню Type (Текст) 214

Урок 15. СЛОИ. МАСКИ ОТСЕЧЕНИЯ 215
Палитра Layers (Слои) 216
Преимущества работы со слоями 216
Основные функции палитры Layers (Слои) 217
Clipping Mask (Маска отсечения) 220
Векторная маска отсечения 220
Текстовая маска отсечения 221
Создание обтравочного контура 223

Урок 16. СТИЛИ И ЭФФЕКТЫ 225
Атрибуты оформления 226
Палитра Appearance (Оформление) 226
Палитра Layers (Слои) 229
Палитра Graphic Styles (Графические стили) 231
Проект «Road» (Дорога) 231
Работа с эффектами. Меню Effect (Эффект) 233
Об эффектах 233
Эффекты 3D (Classic) (объемное изображение) 234
Эффекты 3D and Materials
(объемное изображение и материалы) 238
Сводка по эффектам 241

Урок 17. ИМПОРТ И ЭКСПОРТ 243
Импорт в Adobe Illustrator 244
Импорт текста 244
Импорт векторных изображений 244
Импорт растровых изображений 246
Экспорт из Adobe Illustrator 250
Использование нескольких монтажных областей
при различных размерах вывода 252

Урок 18. УЗОРНАЯ ЗАЛИВКА 253
Особенности работы с узорами 254
Изменение стандартных узоров 255
Создание заказного узора 256
Создание узора «кирпичная кладка» 257
Библиотеки узоров 258

Урок 19. КИСТИ 261
Кисти 262
Типы кистей 262
Палитра Вrushes (Кисти) 263
Растровые изображения в кистях 264
Параметры кистей 264
Проект «Дикая яблоня» 275
Рисование яблони 275
Яблоня в цвету 276

Урок 20. СИМВОЛЫ 281
Палитра Symbols (Символы) 282
Создание символа 282
Замена образца символа 283
Отмена связи с символом 283
Инструменты работы с символами 283
Создание наборов символов 284
Перемещение символов в наборе 285
Уплотнение и разброс символов в наборе 285
Изменение размера символов в наборе 285
Поворот символов 285
Изменение цвета 286
Изменение прозрачности 286
Присвоение стиля 287
Быстрое редактирование символа в палитре 287
Библиотеки символов 288

Урок 21. РАБОТА С ПРОЗРАЧНОСТЬЮ 290
О прозрачности 291
Палитра Transparency (Прозрачность) 292
Создание прозрачности 294
Подготовка к печати объектов с прозрачностью 294
Сведения об обработке прозрачности 294
Команда Flatten Transparency
(Сведение прозрачности) 295
Пример 1. Векторные объекты с режимами смешивания 296
Пример 2. Векторные объекты на растровом изображении 298
Пример 3. «Тени на плетени» 302

Урок 22. ПОДГОТОВКА ГРАФИКИ ДЛЯ WEB 305
История развития Web-дизайна 306
Растровые форматы файлов для Web 309
Формат SVG (Scalable Vector Graphics) 310
CSS в Adobe Illustrator 312
Палитра CSS Properties
(Свойства каскадных таблиц стилей) 312
Экспорт частей макета для различных устройств 315
Пиксельная плотность 315
Палитра Asset Export (Экспорт ресурсов) 316
Команда Save for Web 318

Тучкевич Евгения Ивановна, сертифицированный инструктор (Adobe Certified Instructor) по продуктам Adobe Photoshop СС и Adobe Illustrator СС, имеющая многолетний опыт подготовки профессиональных дизайнеров по программам магистратуры и краткосрочного обучения по компьютерному дизайну. Руководитель специальности «Компьютерный дизайн» в Высшей инженерной школе ИДО СПбПУ, Член Союза Дизайнеров России, директор МОНЦ «Autodesk-Политехник». Профессионал в области дизайна и рекламы, имеющая опыт рекламной работы со многими компаниями и журналами, автор курса «Advertising promotions: development & implementation», автор курсов по продуктам «Adobe». Автор бестселлеров серии «Adobe Photoshop. Мастер-класс Евгении Тучкевич» и «Самоучитель Adobe Illustrator CS5/CS6/СС/CC2018».

Опубликовано

Наши сказки – в каталоге “100 лучших книг”!

100 лучших новых книг для детей и подростков

Дорогие друзья, мы рады сообщить, что наши книги “Девочка Бусинка с берегов Охотского моря. Эвенкийская сказка” Галины Емельяновой с иллюстрациями Карины Соловьевой и “Хранитель горшочка с золотом. Ирландские сказки о лепреконах” Байбры Маккарти вошли в каталог “100 лучших новых книг для детей и подростков” за 2022 год Центральной московской библиотеки им. Гайдара. Поздравляем авторов и иллюстраторов этих замечательных книг!

Опубликовано

Представляем книгу “Qt 6. Разработка оконных приложений на C++”

Qt 6. Разработка оконных приложений на C++

В нашем издательстве опубликована книга Николая Прохоренка “Qt 6. Разработка оконных приложений на C++“.

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

  • Управление окном приложения
  • Обработка сигналов и событий
  • Размещение компонентов внутри окна
  • Основные компоненты
  • Списки и таблицы
  • Работа с графикой и изображениями
  • Графическая сцена
  • Диалоговые окна
  • SDI- и MDI-приложения
  • Редактор Qt Creator

От автора

Qt — это популярная библиотека, позволяющая создавать приложения с графическим интерфейсом на языке C++. Она очень проста в использовании и идеально подходит для разработки приложений практически любой сложности. Библиотека является кросс-платформенной, поэтому мы можем создавать оконные приложения под Windows, Linux и Mac, а также мобильные приложения под Android и iOS.

В этой книге мы рассмотрим процесс создания оконных приложений применитель- но к операционной системе Windows. Для сборки приложений будем пользоваться компилятором MinGW, а для набора кода — редактором Qt Creator, входящим в состав библиотеки Qt.

Для полного понимания материала книги от читателя потребуется знание языка C++.

Чтобы уменьшить размер книги, основная часть кода примеров вынесена в отдельные проекты, которые расположены в электронном архиве. Электронный архив можно загрузить с сервера издательства «БХВ-Петербург» по ссылке https://zip.bhv.ru/9785977511803.zip или со страницы книги на сайте www.bhv.ru (см. приложение).

Желаю приятного изучения и надеюсь, что книга поможет вам реализовать как самые простые, так и самые сложные приложения.

Книгу можно купить в нашем интернет-магазине.

Введение………………………………………………………………………………………………….. 9

Глава 1. Первые шаги……………………………………………………………………………. 11

1.1. Создание структуры каталогов…………………………………………………………………………………………. 12

1.2. Добавление пути в переменную PATH………………………………………………………………………………. 12

1.3. Работа с командной строкой……………………………………………………………………………………………… 14

1.4. Установка Qt 6…………………………………………………………………………………………………………………….. 14

1.5. Настройка редактора Qt Creator……………………………………………………………………………………….. 23

1.6. Первая программа на Qt…………………………………………………………………………………………………….. 27

1.7. Структура программы………………………………………………………………………………………………………… 32

1.8. Запуск приложения двойным щелчком на значке файла………………………………………………… 35

1.9. ООП-стиль создания окна…………………………………………………………………………………………………… 36

1.10. Создание проекта с формой…………………………………………………………………………………………….. 39

1.11. Доступ к документации……………………………………………………………………………………………………. 45

Глава 2. Работа с символами и строками……………………………………………….. 47

2.1. Псевдонимы для элементарных типов………………………………………………………………………………. 47

2.2. Класс QChar: символ в кодировке Unicode………………………………………………………………………. 48

2.2.1. Создание объекта…………………………………………………………………………………………………….. 48

2.2.2. Изменение регистра символа…………………………………………………………………………………… 50

2.2.3. Проверка типа содержимого символа……………………………………………………………………. 51

2.3. Класс QString: строка в кодировке Unicode……………………………………………………………………… 53

2.3.1. Создание объекта…………………………………………………………………………………………………….. 53

2.3.2. Преобразование объекта в другой тип данных…………………………………………………….. 54

2.3.3. Получение и изменение размера строки………………………………………………………………… 55

2.3.4. Доступ к отдельным символам……………………………………………………………………………….. 58

2.3.5. Перебор символов строки………………………………………………………………………………………… 59

2.3.6. Итераторы…………………………………………………………………………………………………………………. 60

2.3.7. Конкатенация строк…………………………………………………………………………………………………. 62

2.3.8. Добавление и вставка символов……………………………………………………………………………… 63

2.3.9. Удаление символов………………………………………………………………………………………………….. 64

2.3.10. Изменение регистра символов………………………………………………………………………………. 68

2.3.11. Получение фрагмента строки……………………………………………………………………………….. 69

2.3.12. Поиск в строке………………………………………………………………………………………………………… 70

2.3.13. Замена в строке………………………………………………………………………………………………………. 73

2.3.14. Сравнение строк…………………………………………………………………………………………………….. 75

2.3.15. Преобразование строки в число……………………………………………………………………………. 77

2.3.16. Преобразование числа в строку……………………………………………………………………………. 79

2.3.17. Форматирование строки………………………………………………………………………………………… 80

2.3.18. Разделение строки на подстроки по разделителю………………………………………………. 81

2.4. Класс QStringList: список строк………………………………………………………………………………………… 83

2.4.1. Создание объекта…………………………………………………………………………………………………….. 83

2.4.2. Вставка элементов……………………………………………………………………………………………………. 84

2.4.3. Определение и изменение количества элементов………………………………………………….. 87

2.4.4. Удаление элементов…………………………………………………………………………………………………. 88

2.4.5. Доступ к элементам………………………………………………………………………………………………….. 91

2.4.6. Итераторы…………………………………………………………………………………………………………………. 93

2.4.7. Перебор элементов…………………………………………………………………………………………………… 95

2.4.8. Сортировка списка…………………………………………………………………………………………………… 95

2.4.9. Получение фрагмента списка………………………………………………………………………………….. 95

2.4.10. Поиск элементов…………………………………………………………………………………………………….. 96

2.4.11. Замена элементов…………………………………………………………………………………………………… 98

2.4.12. Фильтрация списка………………………………………………………………………………………………… 99

2.4.13. Преобразование списка в строку………………………………………………………………………… 100

Глава 3. Управление окном приложения……………………………………………… 101

3.1. Создание и отображение окна…………………………………………………………………………………………. 101

3.2. Указание типа окна…………………………………………………………………………………………………………… 103

3.3. Изменение и получение размеров окна…………………………………………………………………………… 105

3.4. Местоположение окна на экране…………………………………………………………………………………….. 109

3.4.1. Получение информации о размере экрана…………………………………………………………… 110

3.5. Указание координат и размеров……………………………………………………………………………………… 113

3.5.1. Класс QPoint: координаты точки…………………………………………………………………………. 113

3.5.2. Класс QSize: размеры прямоугольной области…………………………………………………… 115

3.5.3. Класс QRect: координаты и размеры прямоугольной области………………………….. 118

3.6. Разворачивание и сворачивание окна…………………………………………………………………………….. 125

3.7. Управление прозрачностью окна……………………………………………………………………………………. 127

3.8. Модальные окна……………………………………………………………………………………………………………….. 128

3.9. Смена значка в заголовке окна………………………………………………………………………………………… 130

3.10. Изменение цвета фона окна……………………………………………………………………………………………. 132

3.11. Использование изображения в качестве фона……………………………………………………………… 134

3.12. Создание окна произвольной формы……………………………………………………………………………. 136

3.13. Всплывающие подсказки……………………………………………………………………………………………….. 137

3.14. Закрытие окна из программы………………………………………………………………………………………… 139

Глава 4. Обработка сигналов и событий………………………………………………. 141

4.1. Назначение обработчиков сигналов………………………………………………………………………………. 141

4.2. Блокировка и удаление обработчика……………………………………………………………………………… 147

4.3. Генерация сигнала из программы…………………………………………………………………………………… 151

4.4. Использование таймеров………………………………………………………………………………………………….. 153

4.5. Класс QTimer: таймер……………………………………………………………………………………………………….. 156

4.6. Перехват всех событий…………………………………………………………………………………………………….. 160

4.7. События окна…………………………………………………………………………………………………………………….. 164

4.7.1. Изменение состояния окна…………………………………………………………………………………….. 164

4.7.2. Изменение положения окна и его размеров…………………………………………………………. 167

4.7.3. Перерисовка окна или его части…………………………………………………………………………… 169

4.7.4. Предотвращение закрытия окна…………………………………………………………………………… 170

4.8. События клавиатуры………………………………………………………………………………………………………… 171

4.8.1. Установка фокуса ввода………………………………………………………………………………………… 172

4.8.2. Назначение клавиш быстрого доступа………………………………………………………………… 177

4.8.3. Нажатие и отпускание клавиши клавиатуры……………………………………………………… 181

4.9. События мыши………………………………………………………………………………………………………………….. 183

4.9.1. Нажатие и отпускание кнопки мыши…………………………………………………………………… 183

4.9.2. Перемещение указателя…………………………………………………………………………………………. 185

4.9.3. Наведение и выведение указателя………………………………………………………………………… 186

4.9.4. Прокрутка колесика мыши……………………………………………………………………………………. 186

4.9.5. Изменение внешнего вида указателя мыши…………………………………………………………. 187

4.10. Технология drag & drop………………………………………………………………………………………………….. 190

4.10.1. Запуск перетаскивания………………………………………………………………………………………… 190

4.10.2. Класс QMimeData…………………………………………………………………………………………………. 192

4.10.3. Обработка сброса………………………………………………………………………………………………… 195

4.11. Работа с буфером обмена………………………………………………………………………………………………. 198

Глава 5. Размещение нескольких компонентов в окне…………………………. 199

5.1. Абсолютное позиционирование………………………………………………………………………………………. 199

5.2. Горизонтальное и вертикальное выравнивание…………………………………………………………….. 200

5.3. Выравнивание по сетке…………………………………………………………………………………………………….. 204

5.4. Выравнивание компонентов формы………………………………………………………………………………… 206

5.5. Классы QStackedLayout и QStackedWidget…………………………………………………………………….. 209

5.6. Класс QSizePolicy……………………………………………………………………………………………………………… 210

5.7. Объединение компонентов в группу……………………………………………………………………………….. 212

5.8. Панель с рамкой………………………………………………………………………………………………………………… 214

5.9. Панель с вкладками………………………………………………………………………………………………………….. 216

5.10. Компонент «аккордеон»…………………………………………………………………………………………………. 221

5.11. Панели с изменяемым размером……………………………………………………………………………………. 224

5.12. Область с полосами прокрутки……………………………………………………………………………………… 226

Глава 6. Основные компоненты…………………………………………………………… 229

6.1. Надпись……………………………………………………………………………………………………………………………… 229

6.2. Командная кнопка…………………………………………………………………………………………………………….. 234

6.3. Переключатель………………………………………………………………………………………………………………….. 237

6.4. Флажок………………………………………………………………………………………………………………………………. 238

6.5. Однострочное текстовое поле…………………………………………………………………………………………. 239

6.5.1. Основные методы и сигналы…………………………………………………………………………………. 239

6.5.2. Ввод данных по маске……………………………………………………………………………………………. 245

6.5.3. Контроль ввода………………………………………………………………………………………………………. 246

6.6. Многострочное текстовое поле……………………………………………………………………………………….. 247

6.6.1. Основные методы и сигналы…………………………………………………………………………………. 247

6.6.2. Изменение настроек поля………………………………………………………………………………………. 251

6.6.3. Изменение характеристик текста и фона……………………………………………………………… 254

6.6.4. Класс QTextDocument…………………………………………………………………………………………….. 256

6.6.5. Класс QTextCursor………………………………………………………………………………………………….. 260

6.7. Текстовый браузер……………………………………………………………………………………………………………. 265

6.8. Поля для ввода целых и вещественных чисел………………………………………………………………… 267

6.9. Поля для ввода даты и времени……………………………………………………………………………………….. 270

6.10. Календарь……………………………………………………………………………………………………………………….. 273

6.11. Электронный индикатор………………………………………………………………………………………………… 276

6.12. Индикатор процесса……………………………………………………………………………………………………….. 277

6.13. Шкала с ползунком…………………………………………………………………………………………………………. 279

6.14. Класс QDial……………………………………………………………………………………………………………………… 281

6.15. Полоса прокрутки…………………………………………………………………………………………………………… 282

Глава 7. Списки и таблицы………………………………………………………………….. 283

7.1. Раскрывающийся список………………………………………………………………………………………………….. 283

7.1.1. Добавление, изменение и удаление элементов……………………………………………………. 283

7.1.2. Изменение настроек……………………………………………………………………………………………….. 285

7.1.3. Поиск элемента внутри списка……………………………………………………………………………… 287

7.1.4. Сигналы…………………………………………………………………………………………………………………… 288

7.2. Список для выбора шрифта……………………………………………………………………………………………… 288

7.3. Роли элементов………………………………………………………………………………………………………………….. 289

7.4. Модели………………………………………………………………………………………………………………………………. 290

7.4.1. Доступ к данным внутри модели………………………………………………………………………….. 290

7.4.2. Класс QStringListModel…………………………………………………………………………………………. 292

7.4.3. Класс QStandardItemModel……………………………………………………………………………………. 293

7.4.4. Класс QStandardItem……………………………………………………………………………………………… 297

7.5. Представления…………………………………………………………………………………………………………………… 302

7.5.1. Класс QAbstractItemView……………………………………………………………………………………….. 302

7.5.2. Простой список………………………………………………………………………………………………………. 307

7.5.3. Таблица…………………………………………………………………………………………………………………… 309

7.5.4. Иерархический список…………………………………………………………………………………………… 312

7.5.5. Управление заголовками строк и столбцов…………………………………………………………. 315

7.6. Управление выделением элементов………………………………………………………………………………… 319

7.7. Промежуточные модели…………………………………………………………………………………………………… 322

Глава 8. Работа с графикой………………………………………………………………….. 325

8.1. Вспомогательные классы…………………………………………………………………………………………………. 325

8.1.1. Класс QColor: цвет…………………………………………………………………………………………………. 326

8.1.2. Класс QPen: перо……………………………………………………………………………………………………. 332

8.1.3. Класс QBrush: кисть……………………………………………………………………………………………….. 333

8.1.4. Класс QLine: линия………………………………………………………………………………………………… 334

8.1.5. Класс QPolygon: многоугольник…………………………………………………………………………… 335

8.1.6. Класс QFont: шрифт………………………………………………………………………………………………. 337

8.2. Класс QPainter………………………………………………………………………………………………………………….. 340

8.2.1. Рисование линий и фигур………………………………………………………………………………………. 341

8.2.2. Вывод текста…………………………………………………………………………………………………………… 344

8.2.3. Вывод изображения……………………………………………………………………………………………….. 346

8.2.4. Преобразование систем координат………………………………………………………………………. 348

8.2.5. Сохранение команд рисования в файл…………………………………………………………………. 349

8.3. Работа с изображениями………………………………………………………………………………………………….. 350

8.3.1. Класс QPixmap……………………………………………………………………………………………………….. 350

8.3.2. Класс QBitmap………………………………………………………………………………………………………… 354

8.3.3. Класс QImage………………………………………………………………………………………………………….. 355

8.3.4. Класс QIcon…………………………………………………………………………………………………………….. 360

Глава 9. Графическая сцена…………………………………………………………………. 363

9.1. Класс QGraphicsScene: сцена………………………………………………………………………………………….. 363

9.1.1. Настройка параметров сцены………………………………………………………………………………. 364

9.1.2. Добавление и удаление графических объектов…………………………………………………… 365

9.1.3. Добавление компонентов на сцену………………………………………………………………………. 366

9.1.4. Поиск объектов……………………………………………………………………………………………………….. 367

9.1.5. Управление фокусом ввода…………………………………………………………………………………… 368

9.1.6. Управление выделением объектов……………………………………………………………………….. 369

9.1.7. Прочие методы и сигналы……………………………………………………………………………………… 370

9.2. Класс QGraphicsView: представление…………………………………………………………………………….. 371

9.2.1. Настройка параметров представления………………………………………………………………… 372

9.2.2. Преобразования между координатами представления и сцены………………………… 373

9.2.3. Поиск объектов……………………………………………………………………………………………………….. 374

9.2.4. Трансформация систем координат……………………………………………………………………….. 375

9.2.5. Прочие методы……………………………………………………………………………………………………….. 375

9.3. Класс QGraphicsItem: базовый класс для графических объектов………………………………… 376

9.3.1. Настройка параметров объекта……………………………………………………………………………. 377

9.3.2. Трансформация объекта………………………………………………………………………………………… 381

9.3.3. Прочие методы……………………………………………………………………………………………………….. 381

9.4. Графические объекты……………………………………………………………………………………………………….. 382

9.4.1. Линия……………………………………………………………………………………………………………………….. 383

9.4.2. Класс QAbstractGraphicsShapeItem………………………………………………………………………. 383

9.4.3. Прямоугольник……………………………………………………………………………………………………….. 384

9.4.4. Многоугольник……………………………………………………………………………………………………….. 384

9.4.5. Эллипс…………………………………………………………………………………………………………………….. 384

9.4.6. Изображение…………………………………………………………………………………………………………… 385

9.4.7. Простой текст…………………………………………………………………………………………………………. 386

9.4.8. Форматированный текст……………………………………………………………………………………….. 387

9.5. Группировка объектов……………………………………………………………………………………………………… 389

9.6. Эффекты…………………………………………………………………………………………………………………………….. 389

9.6.1. Класс QGraphicsEffect……………………………………………………………………………………………. 390

9.6.2. Тень………………………………………………………………………………………………………………………….. 390

9.6.3. Размытие…………………………………………………………………………………………………………………. 392

9.6.4. Изменение цвета……………………………………………………………………………………………………… 392

9.6.5. Изменение прозрачности……………………………………………………………………………………….. 393

9.7. Обработка событий………………………………………………………………………………………………………….. 394

9.7.1. События клавиатуры……………………………………………………………………………………………… 394

9.7.2. События мыши……………………………………………………………………………………………………….. 395

9.7.3. Обработка перетаскивания и сброса……………………………………………………………………. 399

9.7.4. Фильтрация событий……………………………………………………………………………………………… 401

9.7.5. Обработка изменения состояния объекта……………………………………………………………. 401

Глава 10. Диалоговые окна………………………………………………………………….. 405

10.1. Пользовательские диалоговые окна……………………………………………………………………………… 405

10.2. Класс QDialogButtonBox………………………………………………………………………………………………… 408

10.3. Класс QMessageBox………………………………………………………………………………………………………… 411

10.3.1. Основные методы и сигналы……………………………………………………………………………… 413

10.3.2. Окно для вывода обычного сообщения…………………………………………………………….. 415

10.3.3. Окно запроса подтверждения……………………………………………………………………………. 415

10.3.4. Окно для вывода предупреждающего сообщения…………………………………………… 416

10.3.5. Окно для вывода критического сообщения………………………………………………………. 417

10.3.6. Окно «О программе»…………………………………………………………………………………………… 418

10.3.7. Окно «About Qt»………………………………………………………………………………………………….. 418

10.4. Класс QInputDialog………………………………………………………………………………………………………… 418

10.4.1. Основные методы и сигналы……………………………………………………………………………… 419

10.4.2. Окна для ввода строки……………………………………………………………………………………….. 422

10.4.3. Окно для ввода целого числа…………………………………………………………………………….. 423

10.4.4. Окно для ввода вещественного числа……………………………………………………………….. 424

10.4.5. Окно для выбора пункта из списка……………………………………………………………………. 425

10.5. Класс QFileDialog…………………………………………………………………………………………………………… 426

10.5.1. Основные методы и сигналы……………………………………………………………………………… 426

10.5.2. Окно для выбора каталога…………………………………………………………………………………. 429

10.5.3. Окно для открытия файла………………………………………………………………………………….. 430

10.5.4. Окно для сохранения файла………………………………………………………………………………. 431

10.6. Окно для выбора цвета…………………………………………………………………………………………………… 432

10.7. Окно для выбора шрифта……………………………………………………………………………………………….. 433

10.8. Окно для вывода сообщения об ошибке……………………………………………………………………….. 434

10.9. Окно с индикатором хода процесса……………………………………………………………………………… 435

10.10. Создание многостраничного мастера………………………………………………………………………… 437

10.10.1. Класс QWizard…………………………………………………………………………………………………… 437

10.10.2. Класс QWizardPage………………………………………………………………………………………….. 442

Глава 11. Создание SDI- и MDI-приложений………………………………………… 447

11.1. Создание главного окна приложения……………………………………………………………………………. 447

11.2. Меню………………………………………………………………………………………………………………………………… 454

11.2.1. Класс QMenuBar…………………………………………………………………………………………………. 454

11.2.2. Класс QMenu……………………………………………………………………………………………………….. 455

11.2.3. Контекстное меню………………………………………………………………………………………………. 459

11.2.4. Класс QAction……………………………………………………………………………………………………… 460

11.2.5. Объединение переключателей в группу…………………………………………………………… 464

11.3. Панели инструментов…………………………………………………………………………………………………….. 466

11.3.1. Класс QToolBar…………………………………………………………………………………………………… 466

11.3.2. Класс QToolButton……………………………………………………………………………………………… 469

11.4. Прикрепляемые панели………………………………………………………………………………………………….. 470

11.5. Управление строкой состояния……………………………………………………………………………………… 472

11.6. MDI-приложения…………………………………………………………………………………………………………….. 474

11.6.1. Класс QMdiArea………………………………………………………………………………………………….. 474

11.6.2. Класс QMdiSubWindow………………………………………………………………………………………. 478

11.7. Добавление значка приложения в область уведомлений……………………………………………. 479

Заключение………………………………………………………………………………………….. 483

Приложение. Описание электронного архива………………………………………. 485

Предметный указатель…………………………………………………………………………. 487

Опубликовано

Python с нуля до анализа данных!

Python — это просто. Пошаговое руководство по программированию и анализу данных

Представляем книгу “Python — это просто. Пошаговое руководство по программированию и анализу данных“.

Рассмотрены основы синтаксиса языка Python на примере дистрибутива Anaconda. Показаны приложения IPython, Spyder IDE, Jupyter Notebook. Описан синтаксис переменных, функций, циклов. Подробно изучаются структуры данных в Python: строки, списки, кортежи, множества и словари. Объясняется понятие классов и их применение в объектно-ориентированном программировании. Описаны возможности библиотеки обработки изображений Pillow, библиотеки Tkinter для создания приложений с графическим интерфейсом. Отдельный раздел посвящен обработке ошибок и исключений в программах. Рассматриваются библиотеки NumPy и Pandas, приводятся практические примеры их использования для анализа и обработки данных. Описана библиотека Matplotlib и ее возможности в сфере визуализации данных.

По ходу изучения материала книги всегда держите перед собой открытую среду Jupyter Notebook, т. к. это позволит вам сразу же практиковаться в написании кода и получить уверенное представление об основах языка. Ничто так не стимулирует обучение, как живой результат на собственном компьютере. Все примеры кода, использованные в этой книге, я загрузил в свой репозиторий на GitHub для вашего ознакомления: https://github.com/nilabhnishchhal/Python-Made-Easy.

Эта книга исповедует активный подход к обучению и вдохновляет читателя исследовать и экспериментировать, а не просто впитывать теорию.

• Исследуйте возможности Python с использованием дистрибутива Anaconda
• Узнайте, как установить и использовать Python на своем компьютере
• Создавайте свои переменные, объекты и изучите их синтаксис
• Изучите встроенные типы объектов Python, такие как строки, списки, кортежи, множества и словари
• Научитесь вызывать встроенные функции, а также писать свои собственные
• Организуйте свой код и другие объекты в более крупные компоненты с помощью модулей
• Исследуйте классы — инструмент объектно-ориентированного программирования
• Пишите сложный код, научитесь обрабатывать ошибки и исключения
• Узнайте о массивах NumPy и операциях с ними
• Изучите анализ данных с помощью Pandas
• Погрузитесь в захватывающий мир визуализации с использованием Matplotlib
• Научитесь создавать приложения Python с графическим интерфейсом

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

Книгу можно купить в нашем интернет-магазине.

Предисловие…………………………………………………………………………………………… 19

О книге………………………………………………………………………………………………………………………………………… 19

Как получить максимум от этой книги…………………………………………………………………………………….. 19

Структура книги………………………………………………………………………………………………………………………… 20

Об авторе……………………………………………………………………………………………….. 23

Благодарности……………………………………………………………………………………….. 27

Глава 1. Введение в Data Science и основы программирования………………. 29

1.1. Введение в Data Science……………………………………………………………………………………………………… 29

1.1.1. Зачем нам Data Science?……………………………………………………………………………………………….. 30

1.1.2. История Data Science…………………………………………………………………………………………………….. 31

1.1.2.1. Данные в древности…………………………………………………………………………………………….. 31

1.1.2.2. Появление статистики…………………………………………………………………………………………. 32

1.1.2.3. Зарождение современного хранения данных……………………………………………………. 32

1.1.2.4. Появление больших центров обработки данных……………………………………………… 33

1.1.2.5. Появление Интернета………………………………………………………………………………………….. 33

1.1.3. Настоящее и будущее Data Science…………………………………………………………………………….. 34

1.1.4. Чем занимается специалист по Data Science?…………………………………………………………….. 35

1.1.5. Как это делается?………………………………………………………………………………………………………….. 35

1.1.6. Предпосылки для Data Science…………………………………………………………………………………….. 35

1.1.7. Профессии в области Data Science………………………………………………………………………………. 36

1.2. От Data Science к программированию………………………………………………………………………………. 37

1.3. Основы компьютерного программирования…………………………………………………………………….. 38

1.3.1. Что такое программирование?…………………………………………………………………………………….. 38

1.3.2. Компьютерный алгоритм……………………………………………………………………………………………… 39

1.3.2.1. Последовательные операторы……………………………………………………………………………. 40

1.3.2.2. Условные операторы…………………………………………………………………………………………… 41

1.3.2.3. Цикл или итерации………………………………………………………………………………………………. 41

1.3.3. Блок-схемы…………………………………………………………………………………………………………………….. 41

1.3.4. Что такое язык программирования?……………………………………………………………………………. 42

1.3.5. Что такое исходный код?……………………………………………………………………………………………… 44

1.3.6. Как запустить исходный код?……………………………………………………………………………………… 45

1.3.7. Компилятор……………………………………………………………………………………………………………………. 45

1.3.8. Интерпретатор………………………………………………………………………………………………………………. 46

1.3.8.1. Сравнение компилятора и интерпретатора………………………………………………………. 47

1.3.9. Что такое интегрированная среда разработки (IDE)?……………………………………………….. 47

1.3.10. Spyder IDE……………………………………………………………………………………………………………………. 48

1.4. Резюме………………………………………………………………………………………………………………………………….. 49

1.5. Упражнения…………………………………………………………………………………………………………………………. 49

1.5.1. Ответьте на вопросы…………………………………………………………………………………………………….. 49

1.5.2. Правда или ложь…………………………………………………………………………………………………………… 49

1.5.3. Практические задания………………………………………………………………………………………………….. 50

1.5.4. Изучите самостоятельно………………………………………………………………………………………………. 50

Глава 2. Введение в Python…………………………………………………………………….. 51

2.1. Что такое Python?……………………………………………………………………………………………………………….. 51

2.1.1. Почему именно Python?………………………………………………………………………………………………… 51

2.1.2. Появление Python………………………………………………………………………………………………………….. 52

2.1.3. Python и другие языки программирования…………………………………………………………………. 53

2.1.4. Философия Python…………………………………………………………………………………………………………. 55

2.2. Преимущества Python по сравнению с другими языками……………………………………………….. 55

2.2.1. Простота………………………………………………………………………………………………………………………… 55

2.2.2. Легкость в изучении………………………………………………………………………………………………………. 55

2.2.3. Свободный и открытый исходный код……………………………………………………………………….. 55

2.2.4. Высокоуровневость………………………………………………………………………………………………………. 56

2.2.5. Портативность………………………………………………………………………………………………………………. 56

2.2.6. Интерпретируемость…………………………………………………………………………………………………….. 56

2.2.7. Интерпретаторы Python……………………………………………………………………………………………….. 56

2.2.7.1. IPython………………………………………………………………………………………………………………….. 57

2.2.7.2. CPython…………………………………………………………………………………………………………………. 57

2.2.7.3. IronPython…………………………………………………………………………………………………………….. 58

2.2.7.4. Jython…………………………………………………………………………………………………………………….. 58

2.2.7.5. PyPy……………………………………………………………………………………………………………………….. 58

2.2.7.6. PythonNet………………………………………………………………………………………………………………. 59

2.2.7.7. Stackless Python……………………………………………………………………………………………………. 59

2.2.8. Объектная ориентированность……………………………………………………………………………………. 59

2.2.9. Расширяемость………………………………………………………………………………………………………………. 60

2.2.10. Встраиваемость…………………………………………………………………………………………………………… 60

2.2.11. Внушительные библиотеки………………………………………………………………………………………… 60

2.2.12. Python для начинающих…………………………………………………………………………………………….. 61

2.3. Версии Python……………………………………………………………………………………………………………………… 62

2.3.1. Python 2………………………………………………………………………………………………………………………….. 62

2.3.2. Python 2.7……………………………………………………………………………………………………………………….. 62

2.3.3. Python 3………………………………………………………………………………………………………………………….. 62

2.3.4. Ключевые отличия версий……………………………………………………………………………………………. 63

2.4. Как установить и использовать Python…………………………………………………………………………….. 63

2.4.1. Дистрибутив Anaconda………………………………………………………………………………………………… 63

2.4.2. Почему именно Anaconda?…………………………………………………………………………………………… 64

2.4.3. Установка Anaconda в Windows………………………………………………………………………………….. 64

2.4.4. Установка Anaconda в MacOS…………………………………………………………………………………….. 68

2.5. Запуск Python через командную строку…………………………………………………………………………… 71

2.6. Приложения Anaconda……………………………………………………………………………………………………….. 73

2.7. Консоль IPython Qt……………………………………………………………………………………………………………… 73

2.8. Spyder IDE……………………………………………………………………………………………………………………………. 75

2.8.1. Компоненты Spyder IDE……………………………………………………………………………………………….. 76

2.8.1.1. Редактор текста……………………………………………………………………………………………………. 76

2.8.1.2. IPython консоль……………………………………………………………………………………………………. 77

2.8.1.3. Обозреватель переменных………………………………………………………………………………….. 77

2.8.1.4. Справка…………………………………………………………………………………………………………………. 79

2.9. Jupyter Notebook………………………………………………………………………………………………………………….. 80

2.9.1. Приложение Jupyter Notebook……………………………………………………………………………………… 80

2.9.2. Основные возможности веб-приложения……………………………………………………………………. 80

2.9.3. Документы Notebook…………………………………………………………………………………………………….. 80

2.9.4. Запуск сервера Notebook……………………………………………………………………………………………… 81

2.9.5. Создание нового документа Notebook………………………………………………………………………… 82

2.9.6. Открытие документа Notebook……………………………………………………………………………………. 82

2.9.7. Интерфейс документа Notebook………………………………………………………………………………….. 82

2.9.8. Структура документа Notebook………………………………………………………………………………….. 83

2.9.9. Ячейки кода…………………………………………………………………………………………………………………… 83

2.9.10. Ячейки Markdown……………………………………………………………………………………………………….. 83

2.9.11. Неформатированные ячейки……………………………………………………………………………………… 84

2.9.12. Рабочий процесс…………………………………………………………………………………………………………. 84

2.9.13. Горячие клавиши………………………………………………………………………………………………………… 84

2.9.14. Построение графиков………………………………………………………………………………………………….. 85

2.9.15. Совместимость с браузерами…………………………………………………………………………………….. 85

2.10. Что лучше использовать?…………………………………………………………………………………………………. 85

2.11. Резюме………………………………………………………………………………………………………………………………… 86

2.12. Упражнения……………………………………………………………………………………………………………………….. 87

2.12.1. Ответьте на вопросы…………………………………………………………………………………………………… 87

2.12.2. Правда или ложь…………………………………………………………………………………………………………. 87

2.12.3. Изучите самостоятельно…………………………………………………………………………………………….. 88

Глава 3. Основы Python…………………………………………………………………………. 89

3.1. Запуск Python………………………………………………………………………………………………………………………. 89

3.1.1. Использование Spyder IDE…………………………………………………………………………………………… 89

3.1.2. Использование Jupyter Notebook…………………………………………………………………………………. 91

3.2. Начнем с «Hello World!»……………………………………………………………………………………………………… 92

3.3. Использование Python как калькулятора…………………………………………………………………………. 93

3.3.1. Числа………………………………………………………………………………………………………………………………. 93

3.3.2. Строки……………………………………………………………………………………………………………………………. 94

3.3.2.1. Конкатенация и повторение……………………………………………………………………………….. 95

3.3.2.2. Индексирование…………………………………………………………………………………………………… 95

3.3.2.3. Срезы…………………………………………………………………………………………………………………….. 96

3.4. Синтаксис кода Python……………………………………………………………………………………………………….. 97

3.4.1. Выражения…………………………………………………………………………………………………………………….. 97

3.4.1.1. Окончание выражений………………………………………………………………………………………… 98

3.4.2. Переменные и присваивание значений……………………………………………………………………….. 99

3.4.3. Имена переменных и ключевые слова………………………………………………………………………… 99

3.4.4. Выполнение выражений…………………………………………………………………………………………….. 100

3.5. Первые шаги в программировании………………………………………………………………………………….. 101

3.5.1. Подробнее о функции print()………………………………………………………………………………………. 102

3.5.2. Форматированный вывод…………………………………………………………………………………………… 104

3.5.3. Простейшая геометрия и print()…………………………………………………………………………………. 104

3.6. Поиск ошибок……………………………………………………………………………………………………………………. 105

3.6.1. Синтаксические ошибки…………………………………………………………………………………………….. 105

3.6.2. Ошибки времени выполнения…………………………………………………………………………………….. 106

3.6.3. Семантические ошибки………………………………………………………………………………………………. 106

3.6.4. Когда никакие средства не помогают……………………………………………………………………….. 107

3.7. Резюме………………………………………………………………………………………………………………………………… 108

3.8. Упражнения……………………………………………………………………………………………………………………….. 108

3.8.1. Ответьте на вопросы…………………………………………………………………………………………………… 108

3.8.2. Правда или ложь…………………………………………………………………………………………………………. 108

3.8.3. Практические задания………………………………………………………………………………………………… 109

3.8.4. Изучите самостоятельно…………………………………………………………………………………………….. 110

Глава 4. Объекты и операторы в Python………………………………………………. 111

4.1. Переменные……………………………………………………………………………………………………………………….. 111

4.1.1. Оператор присваивания……………………………………………………………………………………………… 112

4.1.2. Имена переменных……………………………………………………………………………………………………… 112

4.2. Структура программы……………………………………………………………………………………………………… 112

4.3. Объекты……………………………………………………………………………………………………………………………… 113

4.3.1. Классификация объектов……………………………………………………………………………………………. 113

4.3.2. Преимущества встроенных типов……………………………………………………………………………… 114

4.3.3. Идентификаторы, значения и типы объектов…………………………………………………………… 116

4.3.4. Изменяемые и неизменяемые объекты………………………………………………………………………. 117

4.4. Стандартная иерархия типов………………………………………………………………………………………….. 117

4.4.1. Встроенные константы………………………………………………………………………………………………. 118

4.4.2. Числовые типы…………………………………………………………………………………………………………….. 118

4.4.3. Последовательности…………………………………………………………………………………………………… 119

4.4.3.1. Неизменяемые последовательности………………………………………………………………… 119

4.4.3.2. Изменяемые последовательности…………………………………………………………………….. 121

4.4.4. Множества…………………………………………………………………………………………………………………… 121

4.4.5. Сопоставления…………………………………………………………………………………………………………….. 122

4.4.6. Вызываемые типы……………………………………………………………………………………………………….. 122

4.4.7. Модули………………………………………………………………………………………………………………………… 123

4.5. Операции с объектами в Python………………………………………………………………………………………. 124

4.6. Операторы…………………………………………………………………………………………………………………………. 124

4.6.1. Арифметические операторы………………………………………………………………………………………. 125

4.6.2. Операторы присваивания…………………………………………………………………………………………… 126

4.6.3. Операторы сравнения…………………………………………………………………………………………………. 127

4.6.4. Логические операторы……………………………………………………………………………………………….. 128

4.6.5. Операторы идентификации и вхождения………………………………………………………………….. 128

4.7. Отступы……………………………………………………………………………………………………………………………… 129

4.8. Комментарии в Python……………………………………………………………………………………………………… 130

4.9. Порядок выполнения………………………………………………………………………………………………………… 130

4.9.1. Изменение порядка выполнения………………………………………………………………………………… 131

4.9.2. Ассоциативность…………………………………………………………………………………………………………. 131

4.9.3. Площадь прямоугольника………………………………………………………………………………………….. 132

4.10. Динамическая типизация……………………………………………………………………………………………….. 132

4.11. Строгая типизация………………………………………………………………………………………………………….. 133

4.12. Логическая и физическая строка…………………………………………………………………………………… 133

4.13. Резюме……………………………………………………………………………………………………………………………… 134

4.14. Упражнения…………………………………………………………………………………………………………………….. 134

4.14.1. Ответьте на вопросы…………………………………………………………………………………………………. 134

4.14.2. Правда или ложь……………………………………………………………………………………………………….. 135

4.14.3. Практические задания………………………………………………………………………………………………. 135

4.14.4. Изучите самостоятельно………………………………………………………………………………………….. 136

 

Глава 5. Операторы управления потоком…………………………………………….. 137

5.1. Управление потоком…………………………………………………………………………………………………………. 137

5.2. Операторы if……………………………………………………………………………………………………………………… 137

5.2.1. Простой оператор if……………………………………………………………………………………………………. 137

5.2.2. Оператор if-else…………………………………………………………………………………………………………… 139

5.2.3. Оператор if–elif–else…………………………………………………………………………………………………… 140

5.3. Оператор цикла for…………………………………………………………………………………………………………… 142

5.3.1. Цикл for с блоком else…………………………………………………………………………………………………. 143

5.4. Функция range()…………………………………………………………………………………………………………………. 144

5.5. Цикл while………………………………………………………………………………………………………………………….. 145

5.6. Операторы break и continue…………………………………………………………………………………………….. 146

5.6.1. Оператор break……………………………………………………………………………………………………………. 146

5.6.2. Оператор continue………………………………………………………………………………………………………. 148

5.7. Оператор pass……………………………………………………………………………………………………………………. 149

5.8. Резюме………………………………………………………………………………………………………………………………… 150

5.9. Упражнения……………………………………………………………………………………………………………………….. 150

5.9.1. Ответьте на вопросы…………………………………………………………………………………………………… 150

5.9.2. Правда или ложь…………………………………………………………………………………………………………. 151

5.9.3. Практические задания………………………………………………………………………………………………… 152

Глава 6. Функции………………………………………………………………………………… 153

6.1. Определение функций………………………………………………………………………………………………………. 153

6.2. Типы функций……………………………………………………………………………………………………………………. 153

6.3. Встроенные функции………………………………………………………………………………………………………… 154

6.3.1. Описание некоторых встроенных функций………………………………………………………………. 154

6.4. Пользовательские функции………………………………………………………………………………………………. 156

6.4.1. Зачем создавать функции?…………………………………………………………………………………………. 156

6.4.2. Создание и вызов функций…………………………………………………………………………………………. 157

6.4.3. Входные параметры и аргументы…………………………………………………………………………….. 158

6.4.3.1. Параметры………………………………………………………………………………………………………….. 159

6.4.3.2. Аргументы………………………………………………………………………………………………………….. 160

6.4.3.3. Количество аргументов…………………………………………………………………………………….. 161

6.4.4. Возврат значений из функций……………………………………………………………………………………. 162

6.5. Варианты передачи аргументов……………………………………………………………………………………… 164

6.5.1. Аргументы со значением по умолчанию………………………………………………………………….. 164

6.5.2. Произвольное число аргументов (*args)…………………………………………………………………… 164

6.5.3. Именованные аргументы……………………………………………………………………………………………. 165

6.5.4. Произвольное число именованных аргументов (**kwargs)……………………………………. 166

6.6. Генераторы……………………………………………………………………………………………………………………….. 167

6.6.1. Определение генератора……………………………………………………………………………………………. 167

6.6.2. Пояснение к примеру………………………………………………………………………………………………….. 168

6.7. Резюме………………………………………………………………………………………………………………………………… 168

6.8. Упражнения……………………………………………………………………………………………………………………….. 169

6.8.1. Ответьте на вопросы…………………………………………………………………………………………………… 169

6.8.2. Правда или ложь…………………………………………………………………………………………………………. 169

6.8.3. Практические задания………………………………………………………………………………………………… 169

6.8.4. Изучите самостоятельно…………………………………………………………………………………………….. 170

Глава 7. ПРОЕКТ 1: Рисунки из символов с помощью циклов и функций 171

7.1. Рисунки с помощью символа * (звездочка)…………………………………………………………………….. 171

7.1.1. Прямоугольный треугольник……………………………………………………………………………………… 171

7.1.2. Перевернутый прямоугольный треугольник…………………………………………………………….. 172

7.1.3. Равносторонний треугольник…………………………………………………………………………………….. 174

7.1.4. Прямоугольный треугольник вверх ногами……………………………………………………………… 175

7.1.5. Стрелка вправо……………………………………………………………………………………………………………. 175

7.1.6. Практические задания………………………………………………………………………………………………… 176

7.2. Рисунки с помощью цифр…………………………………………………………………………………………………. 177

7.2.1. Прямоугольный треугольник……………………………………………………………………………………… 177

7.2.2. Прямоугольный треугольник 2………………………………………………………………………………….. 177

7.2.3. Прямоугольный треугольник вверх ногами……………………………………………………………… 178

7.2.4. Треугольник из обратных чисел………………………………………………………………………………… 179

7.2.5. Треугольник из квадратов обратных чисел……………………………………………………………… 179

7.2.6. Ромб……………………………………………………………………………………………………………………………… 179

7.2.7. Ромб с другим направлением чисел………………………………………………………………………….. 181

7.2.8. Стрелка влево……………………………………………………………………………………………………………… 182

7.2.9. Практические задания………………………………………………………………………………………………… 183

7.3. Резюме………………………………………………………………………………………………………………………………… 184

Глава 8. Структуры данных и последовательности……………………………… 185

8.1. Строки………………………………………………………………………………………………………………………………… 185

8.1.1. Строковые операции…………………………………………………………………………………………………… 186

8.1.2. Форматирование…………………………………………………………………………………………………………. 187

8.1.3. Методы split() и join()…………………………………………………………………………………………………. 188

8.2. Списки………………………………………………………………………………………………………………………………… 189

8.2.1. Индексы и срезы………………………………………………………………………………………………………….. 191

8.2.2. Методы списков………………………………………………………………………………………………………….. 192

8.2.3. Списковые включения………………………………………………………………………………………………… 193

8.2.4. Оператор del………………………………………………………………………………………………………………… 194

8.3. Кортежи……………………………………………………………………………………………………………………………… 195

8.3.1. Методы кортежей……………………………………………………………………………………………………….. 196

8.4. Множества…………………………………………………………………………………………………………………………. 196

8.4.1. Операции над множествами………………………………………………………………………………………. 197

8.4.2. Методы множеств……………………………………………………………………………………………………….. 198

8.5. Словари……………………………………………………………………………………………………………………………… 199

8.5.1. Методы словарей………………………………………………………………………………………………………… 200

8.6. Перебор последовательностей в цикле…………………………………………………………………………… 201

8.7. Резюме………………………………………………………………………………………………………………………………… 202

8.8. Упражнения……………………………………………………………………………………………………………………….. 202

8.8.1. Ответьте на вопросы…………………………………………………………………………………………………… 202

8.8.2. Правда или ложь…………………………………………………………………………………………………………. 203

8.8.3. Практические задания………………………………………………………………………………………………… 203

8.8.4. Изучите самостоятельно…………………………………………………………………………………………….. 204

Глава 9. Ввод-вывод данных и работа с файлами………………………………… 205

9.1. Ввод данных……………………………………………………………………………………………………………………… 205

9.2. Форматированный вывод данных…………………………………………………………………………………… 207

9.2.1. Форматированные строки………………………………………………………………………………………….. 207

9.2.2. Строковый метод format()…………………………………………………………………………………………… 208

9.2.3. Форматирование строк вручную………………………………………………………………………………. 210

9.2.4. Функции str() и repr()…………………………………………………………………………………………………… 211

9.2.5. Старое форматирование строки………………………………………………………………………………… 212

9.3. Чтение и запись файлов……………………………………………………………………………………………………. 212

9.3.1. Методы файловых объектов………………………………………………………………………………………. 213

9.3.2. Создание файла и запись в него………………………………………………………………………………… 214

9.3.3. Открытие файла и чтение его содержимого……………………………………………………………… 215

9.3.4. Построчное чтение……………………………………………………………………………………………………… 215

9.3.5. Чтение и запись нетекстовых файлов………………………………………………………………………… 216

9.4. Резюме………………………………………………………………………………………………………………………………… 216

9.5. Упражнения……………………………………………………………………………………………………………………….. 216

9.5.1. Ответьте на вопросы…………………………………………………………………………………………………… 216

9.5.2. Правда или ложь…………………………………………………………………………………………………………. 217

9.5.3. Практические задания………………………………………………………………………………………………… 217

9.5.4. Изучите самостоятельно…………………………………………………………………………………………….. 218

Глава 10. ПРОЕКТ 2: Автоматизация обработки множества изображений 219

10.1. Изменение типа файла (расширения)……………………………………………………………………………. 221

10.2. Изменение размеров фотографий………………………………………………………………………………….. 223

10.3. Преобразование изображений в черно-белые……………………………………………………………… 223

10.4. Поворот изображений…………………………………………………………………………………………………….. 224

10.5. Изменение разрешения изображения……………………………………………………………………………. 225

10.6. Резюме……………………………………………………………………………………………………………………………… 226

10.7. Изучите самостоятельно………………………………………………………………………………………………… 226

Глава 11. Классы………………………………………………………………………………….. 227

11.1. Основные понятия…………………………………………………………………………………………………………… 227

11.1.1. Введение в объектно-ориентированное программирование………………………………… 227

11.1.2. Введение в понятие класса………………………………………………………………………………………. 229

11.2. Объект класса………………………………………………………………………………………………………………….. 229

11.2.1. Метод __init__………………………………………………………………………………………………………….. 230

11.3. Объекты экземпляров……………………………………………………………………………………………………… 231

11.3.1. Создание экземпляров класса………………………………………………………………………………….. 231

11.3.2. Как это работает………………………………………………………………………………………………………. 232

11.3.3. Пример использования экземпляров класса…………………………………………………………… 232

11.4. Объекты методов…………………………………………………………………………………………………………….. 234

11.5. Наследование………………………………………………………………………………………………………………….. 235

11.6. Множественное наследование………………………………………………………………………………………. 236

11.6.1. Переопределение методов……………………………………………………………………………………….. 239

11.7. Полиморфизм…………………………………………………………………………………………………………………… 241

11.8. Абстракция и инкапсуляция…………………………………………………………………………………………… 241

11.9. Как контролировать доступ…………………………………………………………………………………………… 242

11.9.1. Приватные переменные……………………………………………………………………………………………. 242

11.10. Резюме……………………………………………………………………………………………………………………………. 243

11.11. Упражнения…………………………………………………………………………………………………………………… 243

11.11.1. Ответьте на вопросы………………………………………………………………………………………………. 243

11.11.2. Правда или ложь…………………………………………………………………………………………………….. 243

11.11.3. Практические задания……………………………………………………………………………………………. 244

11.11.4. Изучите самостоятельно………………………………………………………………………………………… 245

Глава 12. Ошибки и обработка исключений………………………………………… 247

12.1. Ошибки и исключения…………………………………………………………………………………………………….. 247

12.1.1. Синтаксические ошибки…………………………………………………………………………………………… 247

12.1.2. Исключения……………………………………………………………………………………………………………….. 248

12.2. Вызов исключений………………………………………………………………………………………………………….. 249

12.2.1. Оператор raise…………………………………………………………………………………………………………… 249

12.2.2. Исключение AssertionError………………………………………………………………………………………. 250

12.3. Обработка исключений………………………………………………………………………………………………….. 251

12.3.1. Операторы try и except……………………………………………………………………………………………… 251

12.3.2. Блок else…………………………………………………………………………………………………………………….. 252

12.4. Завершающий блок………………………………………………………………………………………………………… 253

12.5. Резюме……………………………………………………………………………………………………………………………… 255

12.6. Упражнения…………………………………………………………………………………………………………………….. 255

12.6.1. Ответьте на вопросы…………………………………………………………………………………………………. 255

12.6.2. Правда или ложь……………………………………………………………………………………………………….. 255

12.6.3. Практические задания………………………………………………………………………………………………. 256

Глава 13. Модули и пакеты………………………………………………………………….. 257

13.1. Модули…………………………………………………………………………………………………………………………….. 257

13.1.1. Определение модуля…………………………………………………………………………………………………. 257

13.1.2. Подробнее о модулях……………………………………………………………………………………………….. 259

13.2. Импорт модулей……………………………………………………………………………………………………………… 259

13.2.1. Импорт модулей из других модулей……………………………………………………………………….. 259

13.2.2. Импорт имен из модуля напрямую………………………………………………………………………….. 260

13.2.3. Импорт всех имен из модуля……………………………………………………………………………………. 260

13.2.4. Импорт модуля под другим именем………………………………………………………………………… 260

13.3. Стандартные модули……………………………………………………………………………………………………… 261

13.4. Функция dir()……………………………………………………………………………………………………………………. 262

13.5. Пакеты……………………………………………………………………………………………………………………………… 263

13.5.1. Пример пакета sound……………………………………………………………………………………………….. 263

13.5.2. Вызов пакета для дальнейшего использования……………………………………………………… 265

13.5.3. Популярные пакеты в Python…………………………………………………………………………………… 266

13.5.3.1. Сбор данных…………………………………………………………………………………………………….. 266

13.5.3.2. Обработка данных и моделирование…………………………………………………………….. 266

13.5.3.3. Визуализация данных……………………………………………………………………………………… 268

13.6. Резюме……………………………………………………………………………………………………………………………… 269

13.7. Упражнения…………………………………………………………………………………………………………………….. 269

13.7.1. Ответьте на вопросы…………………………………………………………………………………………………. 269

13.7.2. Правда или ложь……………………………………………………………………………………………………….. 269

13.7.3. Изучите самостоятельно………………………………………………………………………………………….. 270

Глава 14. ПРОЕКТ 3: Конвертер валют с графическим интерфейсом…… 271

14.1. Введение в Tkinter…………………………………………………………………………………………………………… 271

14.2. Основные шаги в Tkinter…………………………………………………………………………………………………. 273

14.3. Окно интерфейса конвертера валют……………………………………………………………………………… 274

14.3.1. Использование метода pack()…………………………………………………………………………………… 275

14.3.2. Использование метода grid()……………………………………………………………………………………. 276

14.4. Код для конвертации валют…………………………………………………………………………………………… 277

14.5. Итоговое приложение…………………………………………………………………………………………………….. 279

14.6. Резюме……………………………………………………………………………………………………………………………… 282

14.7. Изучите самостоятельно………………………………………………………………………………………………… 282

Глава 15. Библиотека NumPy……………………………………………………………….. 283

15.1. Введение в NumPy…………………………………………………………………………………………………………… 283

15.1.1. Установка NumPy……………………………………………………………………………………………………… 284

15.1.2. Импорт NumPy………………………………………………………………………………………………………….. 284

15.1.3. Разница между списком Python и массивом NumPy………………………………………………. 284

15.1.4. Зачем нам NumPy?……………………………………………………………………………………………………. 285

15.2. Массив NumPy………………………………………………………………………………………………………………… 286

15.2.1. Размерность массива………………………………………………………………………………………………… 286

15.2.2. Другие атрибуты массива………………………………………………………………………………………… 287

15.3. Создание массива…………………………………………………………………………………………………………… 287

15.3.1. Массивы из нулей, единиц и случайных чисел……………………………………………………… 289

15.3.2. Массив из диапазона значений……………………………………………………………………………….. 290

15.3.3. Указание типа данных массива………………………………………………………………………………. 291

15.3.4. Вывод массивов………………………………………………………………………………………………………… 291

15.4. Сортировка, добавление и удаление элементов массива…………………………………………… 292

15.4.1. Сортировка………………………………………………………………………………………………………………… 292

15.4.2. Сложение (конкатенация)………………………………………………………………………………………… 292

15.4.3. Удаление……………………………………………………………………………………………………………………. 293

15.5. Форма и размер массива………………………………………………………………………………………………… 293

15.6. Изменение формы……………………………………………………………………………………………………………. 294

15.7. Добавление оси……………………………………………………………………………………………………………….. 295

15.8. Индексирование и срезы………………………………………………………………………………………………… 296

15.9. Создание массива из существующих данных……………………………………………………………… 298

15.10. Копии и представления массивов……………………………………………………………………………….. 299

15.10.1. Присваивание без копии…………………………………………………………………………………………. 300

15.10.2. Представление или неглубокая копия…………………………………………………………………… 300

15.10.3. Глубокая копия……………………………………………………………………………………………………….. 301

15.11. Массивы NumPy в реальной жизни…………………………………………………………………………….. 301

15.11.1. Электронные таблицы Excel………………………………………………………………………………….. 302

15.11.2. Аудиофайлы и временные ряды…………………………………………………………………………….. 302

15.11.3. Изображения……………………………………………………………………………………………………………. 303

15.12. Резюме……………………………………………………………………………………………………………………………. 304

Глава 16. Операции в NumPy……………………………………………………………….. 305

16.1. Основные операции над массивами……………………………………………………………………………… 305

16.1.1. Универсальные функции………………………………………………………………………………………….. 307

16.2. Транслирование……………………………………………………………………………………………………………… 308

16.3. Функции агрегирования…………………………………………………………………………………………………. 308

16.4. Двумерные массивы……………………………………………………………………………………………………….. 309

16.5. Уникальные элементы массива……………………………………………………………………………………… 311

16.6. Транспонирование и изменение формы матрицы………………………………………………………… 313

16.7. Обратный порядок элементов массива…………………………………………………………………………. 314

16.8. Сжатие многомерного массива в одномерный…………………………………………………………….. 316

16.9. Работа с математическими формулами………………………………………………………………………… 317

16.10. Сохранение массива в файл и чтение из файла…………………………………………………………. 318

16.11. Резюме……………………………………………………………………………………………………………………………. 319

Глава 17. Библиотека Pandas……………………………………………………………….. 321

17.1. Введение в Pandas…………………………………………………………………………………………………………… 321

17.1.1. Зачем нам Pandas?……………………………………………………………………………………………………. 321

17.1.2. Установка и импорт Pandas……………………………………………………………………………………… 322

17.1.3. Обработка данных в Pandas…………………………………………………………………………………….. 323

17.2. Тип данных DataFrame…………………………………………………………………………………………………… 323

17.2.1. Создание DataFrame…………………………………………………………………………………………………. 323

17.2.2. Индексы в DataFrame……………………………………………………………………………………………….. 324

17.2.3. Series в DataFrame…………………………………………………………………………………………………….. 324

17.3. Столбцы DataFrame……………………………………………………………………………………………………….. 325

17.3.1. Добавление столбца…………………………………………………………………………………………………. 325

17.3.2. Удаление столбца…………………………………………………………………………………………………….. 326

17.3.3. Изменение значений в столбце………………………………………………………………………………… 326

17.4. Строки DataFrame…………………………………………………………………………………………………………… 326

17.4.1. Выбор строки…………………………………………………………………………………………………………….. 326

17.4.2. Срез строки (выбор нескольких строк)……………………………………………………………………. 327

17.5. Операции с DataFrame……………………………………………………………………………………………………. 327

17.6. Чтение данных из файла………………………………………………………………………………………………… 328

17.6.1. Пояснение к данным из примера……………………………………………………………………………… 329

17.7. Запись данных в файл…………………………………………………………………………………………………….. 330

17.8. Проверка DataFrame………………………………………………………………………………………………………. 330

17.8.1. Атрибут dtypes…………………………………………………………………………………………………………… 330

17.8.2. Метод info()……………………………………………………………………………………………………………….. 331

17.8.3. Метод head()……………………………………………………………………………………………………………… 332

17.8.4. Метод tail()………………………………………………………………………………………………………………… 332

17.9. Выбор части DataFrame…………………………………………………………………………………………………. 333

17.9.1. Выбор столбцов………………………………………………………………………………………………………… 333

17.9.2. Выбор строк (фильтрация)……………………………………………………………………………………….. 334

17.9.3. Выбор строк и столбцов…………………………………………………………………………………………… 335

17.10. Резюме……………………………………………………………………………………………………………………………. 337

Глава 18. Pandas в действии…………………………………………………………………. 339

18.1. Добавление столбца……………………………………………………………………………………………………….. 339

18.2. Удаление столбцов…………………………………………………………………………………………………………. 340

18.3. Переименование столбцов……………………………………………………………………………………………… 340

18.4. Сводная статистика………………………………………………………………………………………………………… 341

18.5. Группировка по категориям…………………………………………………………………………………………… 342

18.6. Сортировка строк……………………………………………………………………………………………………………. 345

18.7. Объединение данных из нескольких таблиц………………………………………………………………… 345

18.7.1. Объединение объектов……………………………………………………………………………………………… 346

18.7.2. Объединение с использованием общего идентификатора…………………………………….. 347

18.8. Резюме……………………………………………………………………………………………………………………………… 350

Глава 19. Визуализация в Python………………………………………………………….. 351

19.1. Визуализация данных…………………………………………………………………………………………………….. 351

19.1.1. Важность визуализации данных……………………………………………………………………………… 351

19.1.2. Основы визуализации……………………………………………………………………………………………….. 351

19.1.3. Простой линейный график в Pandas………………………………………………………………………… 352

19.1.4. Базовая диаграмма рассеяния…………………………………………………………………………………. 354

19.1.5. Другие виды графиков………………………………………………………………………………………………. 355

19.1.6. Диаграмма размаха………………………………………………………………………………………………….. 357

19.1.7. Несколько графиков………………………………………………………………………………………………….. 358

19.1.8. Сохранение графика…………………………………………………………………………………………………. 358

19.2. Библиотеки для визуализации данных…………………………………………………………………………. 359

19.2.1. Matplotlib……………………………………………………………………………………………………………………. 359

19.2.2. Seaborn……………………………………………………………………………………………………………………….. 360

19.2.3. ggplot…………………………………………………………………………………………………………………………… 361

19.2.4. Bokeh………………………………………………………………………………………………………………………….. 362

19.2.5. Folium…………………………………………………………………………………………………………………………. 362

19.2.6. Gleam………………………………………………………………………………………………………………………….. 363

19.3. Резюме……………………………………………………………………………………………………………………………… 364

Глава 20. Визуализация с помощью Matplotlib Pyplot…………………………… 365

20.1. Введение и историческая справка…………………………………………………………………………………. 365

20.2. Основные объкты Matplotlib………………………………………………………………………………………….. 366

20.2.1. Иерархия объектов Matplotlib………………………………………………………………………………….. 368

20.2.2. Типы входных данных для графиков………………………………………………………………………. 369

20.3. Элементы рисунка………………………………………………………………………………………………………….. 369

20.3.1. Рисунок (Figure)………………………………………………………………………………………………………… 370

20.3.2. Графики (Axes)…………………………………………………………………………………………………………… 371

20.3.3. Оси (Axis)……………………………………………………………………………………………………………………. 371

20.3.4. Объекты Artist……………………………………………………………………………………………………………. 371

20.4. Два способа использования Matplotlib…………………………………………………………………………. 371

20.4.1. Объектно-ориентированный интерфейс…………………………………………………………………. 371

20.4.2. Интерфейс Pyplot………………………………………………………………………………………………………. 372

20.4.3. Так какой же способ лучше?……………………………………………………………………………………. 373

20.5. Построение схожих графиков с помощью функций…………………………………………………….. 373

20.6. Модуль Pyplot…………………………………………………………………………………………………………………. 375

20.7. Функция plot()………………………………………………………………………………………………………………….. 376

20.7.1. Построение индексированных данных…………………………………………………………………… 377

20.7.2. Построение нескольких наборов данных……………………………………………………………….. 377

20.7.3. Форматирование стиля…………………………………………………………………………………………….. 377

20.8. Параметры функции plot()……………………………………………………………………………………………… 379

20.8.1. Параметры х, у…………………………………………………………………………………………………………… 379

20.8.2. Строка формата (fmt)………………………………………………………………………………………………… 379

20.8.2.1. Маркеры…………………………………………………………………………………………………………… 379

20.8.2.2. Стили линий……………………………………………………………………………………………………… 380

20.8.2.3. Цвета…………………………………………………………………………………………………………………. 380

20.8.3. Данные (data)…………………………………………………………………………………………………………….. 380

20.9. Возвращаемый объект plot()………………………………………………………………………………………….. 381

20.10. Именованные аргументы (**kwargs)…………………………………………………………………………… 381

20.11. Построение графиков по меткам…………………………………………………………………………………. 382

20.12. Построение графиков с категориальными переменными………………………………………….. 383

20.13. Изменение свойств линии…………………………………………………………………………………………….. 383

20.14. Работа с несколькими рисунками и графиками…………………………………………………………. 384

20.15. Вставка текста на график…………………………………………………………………………………………….. 386

20.16. Использование математических выражений в тексте……………………………………………….. 387

20.16.1. Аннотирование текста……………………………………………………………………………………………. 387

20.17. Логарифмические и другие нелинейные оси………………………………………………………………. 388

20.18. Резюме……………………………………………………………………………………………………………………………. 390

Глава 21. Визуализация с помощью объектно-ориентированного интерфейса в Matplotlib         391

21.1. Сравнение объектно-ориентированного API и Pyplot API………………………………………….. 391

21.2. Данные для работы………………………………………………………………………………………………………… 392

21.3. Построение графика по умолчанию……………………………………………………………………………… 392

21.4. Управление стилями……………………………………………………………………………………………………….. 393

21.5. Разные настройки графика…………………………………………………………………………………………….. 394

21.6. Добавление элементов на график………………………………………………………………………………….. 397

21.7. Форматирование текста на графике……………………………………………………………………………… 398

21.7.1. Базовые команды для работы с текстом…………………………………………………………………. 399

21.8. Сохранение графика в файл…………………………………………………………………………………………… 401

21.9. Примеры графиков………………………………………………………………………………………………………….. 402

21.9.1. Гистограмма……………………………………………………………………………………………………………… 402

21.9.2. Кривые и ломаные линии…………………………………………………………………………………………. 403

21.9.3. Трехмерные графики………………………………………………………………………………………………… 404

21.9.4. Круговая диаграмма…………………………………………………………………………………………………. 405

21.9.5. Пример построения нескольких графиков………………………………………………………………. 407

21.10. Резюме……………………………………………………………………………………………………………………………. 407

Ответы на вопросы «Правда или ложь»……………………………………………….. 409

Библиография………………………………………………………………………………………. 411

Опубликовано

Приглашаем на Книжный Фестиваль! (c 3 по 6 июня)

Книжный фестиваль Красная площадь 3 – 6 июня 2022

С 3 по 6 июня в Москве на Красной площади пройдет 8-й книжный фестиваль. Приглашаем вас посетить наш стенд в секторе детской литературы. Мы привезем на фестиваль наши лучшие сказки, а также самые новые и популярные книги для детей, которые вы сможете приобрести по очень выгодным ценам. Вход свободный!