Оглавление | 3
|
Предисловие | 7
|
1. Об алгоритмах и программах | 8
|
2. Об используемых языках и обозначениях | 9
|
Глава 1. Система Microsoft Visual Studio Community 2022 | 10
|
1. Запуск Visual Studio и создание Windows-приложения на Visual Basic | 12
|
1.1. Конструирование графического интерфейса пользователя | 17
|
1.2. Порядок по табуляции и кнопки по умолчанию | 19
|
1.3. Создание программного кода | 20
|
2. Создание Windows-приложения на Visual C# | 24
|
2.1. Создание программного кода | 24
|
3. Понятие об объектно-ориентированном программировании | 27
|
Приложение 1. О системе помощи IntelliSense | 36
|
Глава 2. Формы | 38
|
1. Свойства формы | 38
|
1.1. Установка свойств формы во время разработки | 39
|
2. События и методы формы | 41
|
2.1. Чтение и установка свойств формы в коде обработчиков событий | 42
|
Приложение 2. Некоторые свойства, события и методы форм | 48
|
Глава 3. Элементы управления | 50
|
1. Обзор элементов управления | 50
|
1.1. Надписи и кнопки | 51
|
1.2. Флажки и переключатели | 56
|
1.3. Текстовые поля | 62
|
Приложение 3. Элементы управления WindowsForms и некоторые часто используемые члены класса Control | 77
|
Глава 4. Переменные, операции и выражения | 82
|
1. Константы, перечисления и структуры | 82
|
2. Значимые и ссылочные типы данных | 86
|
3. Основные типы данных | 90
|
3.1. Простейшие числовые и нечисловые типы | 90
|
3.2. Объявление и инициализация переменных | 91
|
4. Числовые массивы | 92
|
5. Строки | 95
|
6. Арифметические операции и операции присваивания | 96
|
7. Операции сравнения и логические операции | 98
|
8. Операции со строками | 100
|
9. Операции приведения типов | 102
|
Приложение 4. Графические операции | 105
|
1. Экранная система координат | 105
|
2. Основные графические инструменты | 105
|
3. Класс Graphics | 106
|
4. Листинг GDIObjects на Visual Basic | 108
|
5. Листинг GDIObjects на C# | 110
|
Глава 5. Ветвление и циклы | 112
|
1. Алгебра логики | 112
|
2. Условные операторы и переключатели | 115
|
2.1. Простой выбор (неполная форма ветвления) | 115
|
2.2. Выбор из двух вариантов (полная форма ветвления) | 115
|
2.3. Выбор из множества вариантов | 116
|
2.4. Переключатель | 117
|
2.5. Вложенные операции ветвления | 118
|
3. Булевы операции и переключатель в коде | 118
|
3.1. Проект «Логические операции | 119
|
3.2. Проект «Рисуем фигуры» | 121
|
4. Циклы с условиями | 124
|
5. Циклы со счётчиком | 125
|
6. Досрочный выход из циклов и переход к следующему повторению | 126
|
7. Вложенные циклы и бесконечные циклы | 127
|
7.1. Проект «Угадай число» | 128
|
7.2. Проект «Шифрование ИЛИ» | 131
|
Приложение 5. Модификаторы доступа, отладка кода и обработка исключений | 138
|
1. Модификаторы доступа | 138
|
2. Отладка кода | 139
|
3. Обработка исключений | 141
|
Глава 6. Процедуры и функции | 143
|
1. Процедуры и функции без параметров | 143
|
2. Процедуры и функции с параметрами | 144
|
2.1. Проект «Двоичный калькулятор» | 145
|
2.2. Проект «Рисуем плоскую линию» | 152
|
2.3. Проект «Скорость сортировки» | 161
|
Приложение 6. Рефакторинг кода | 168
|
1. Простейшие «запахи» плохого кода | 168
|
Глава 7. Начальная | 170
|
1. Исходная задача и первая итерация | 170
|
1.1. Классы, поддерживающие логику калькулятора | 171
|
1.2. Интерфейс пользователя | 172
|
1.3. Реализация абстрактного класса «Пациент» | 174
|
1.4. Реализация классов «Пациент Мужчина» и «Пациент Женщина» | 175
|
1.5. Реализация калькулятора | 176
|
2. Вторая итерация | 180
|
2.1. Анализ требований и общая картина решения | 180
|
2.2. Модификация классов «Пациент» | 181
|
2.3. Классы «История Пациента» и «Наблюдение» | 184
|
2.4. Дополнительные классы | 186
|
2.5. Модификация интерфейса пользователя | 188
|
3. Пример третьей итерации | 200
|
3.1. Базовые классы проекта | 200
|
3.2. Классы пользовательского интерфейса | 206
|
Дополнение (для тех, кто побаивается арифметики и логики) | 217
|
1. Позиционные системы счисления | 217
|
1.1. Десятичная и двоичная системы счисления | 217
|
1.2. Арифметические операции в двоичной системе счисления | 219
|
1.3. Восьмеричная и шестнадцатеричная системы счисления | 220
|
2. Представление чисел в компьютере | 222
|
2.1. Положительные целые числа | 222
|
2.2. Целые числа со знаком | 222
|
2.3. Ошибкипереполнения | 224
|
2.4. Перевод десятичной дроби в двоичную и шестнадцатеричную систему счисления | 226
|
2.5. Запись чисел в экспоненциальной («научной») форме | 227
|
2.6. Стандарт IEEE 754-2008 | 228
|
2.7. Ошибки округления в арифметике чисел с плавающей точкой | 229
|
2.8. Числа с фиксированной точкой | 230
|
3. Логические выражения и коммутационные схемы | 231
|
3.1. Алгебра высказываний | 231
|
3.2. Коммутационные схемы логических выражений | 234
|
4. Моделирование полусумматора и полного сумматора | 237
|
4.1. Классы и объекты, интерфейс и инкапсуляция, методы и свойства классов | 237
|
4.2. Код полусумматора и полного сумматора на Visual Basic | 238
|
4.3. Код полусумматора и полного сумматора на Visual C# | 242
|
4.4. Приложение Windows Forms для тестирования полного сумматора | 244
|
5. Моделирование многоразрядного сумматора | 247
|
5.1. Код на Visual Basic | 248
|
5.2. Код на Visual C# | 249
|
5.3. Приложение для тестирования многоразрядного сумматора | 253
|
Настоящее пособие ориентировано на начальное обучение программированию в самой современной системе быстрой разработки программных решений Microsoft Visual Studio 2022, имеющей дружественную для пользователя интегрированную среду разработки (IDE) с мощной системой интеллектуальной подсказки и автоматического донабора кода (IntelliSense).
Курс не предусматривает какой-либо начальной подготовки в области программирования. Для его реализации из всей линейки продуктов Microsoft Visual Studio 2022 выбрана система Microsoft Visual Studio Community. Последнее продиктовано тем, что Community является свободно распространяемой лицензионной версией Microsoft Visual Studio. Поэтому любой школьник, студент или иное заинтересованное лицо может легально загрузить её из Интернета с сайтов Microsoft .
Главная задача, которую ставил автор, состоит в освобождении обучающегося от комплекса боязни программного кода, часто возникающего при наличии предшествующего негативного опыта обучения. Поэтому курс основан на примерах построения небольших Windows-приложений (иногда — консольных приложений), по принципу «слоёного пирога», — в ходе построения проектов необходимые и ещё незнакомые структуры программного кода включаются в изложение при первой необходимости, а их более детальное рассмотрение откладывается на последующие главы.