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

Введение в программирование на языке Visual C#

Покупка
Основная коллекция
Артикул: 433050.06.01
Доступ онлайн
от 456 ₽
В корзину
Книга является руководством по программированию на языке Visual C# для начинающих. В ней содержится описание такого традиционного материала, как работа линейных, разветвляющихся и циклических структур, обработка одномерных и двумерных массивов. Кроме того, рассмотрены методы работы с символами и строками, файлами, даны основные понятия работы с классами. Обсуждаются типы данных, используемые в Visual C#, большое внимание уделено методам ввода и вывода данных, сделан обзор основных элементов управления среды программирования. Имеются примеры консольных приложений, однако большинство программ написаны как Windows-приложения. В конце каждой главы имеется набор контрольных вопросов и упражнений, задач для самостоятельного решения. В книге содержится свыше 230 листингов программ, набор которых на компьютере приведет к эффективному усвоению теоретического материала, поможет выполнить практические или лабораторные работы в среде программирования. В приложениях содержится лабораторный практикум, состоящий из 22 работ, а также приведено описание 18 заставок к проектам, выполненных на основе использования интерфейса GDI+.
272
420
Гуриков, С. Р. Введение в программирование на языке Visual C# : учебное пособие / С.Р. Гуриков. — Москва : ФОРУМ : ИНФРА-М, 2020. — 447 с. — (Высшее образование: Бакалавриат). - ISBN 978-5-00091-458-8. - Текст : электронный. - URL: https://znanium.com/catalog/product/1092167 (дата обращения: 28.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
С.Р. Гуриков
ВВЕДЕНИЕ 
В ПРОГРАММИРОВАНИЕ 
НА ЯЗЫКЕ VISUAL C#
УЧЕБНОЕ ПОСОБИЕ
Рекомендовано в качестве учебного пособия 
для студентов образовательных учреждений высшего образования, 
обучающихся по направлению подготовки 11.03.02
«Инфокоммуникационные технологии и системы связи»
(квалификация (степень) «бакалавр»)
Москва                                        2020
ИНФРА-М


УДК 004.2
ББК 32.973-018
 
Г95
Р е ц е н з е н т ы:
кандидат технических наук, доцент, заведующий кафедрой «Вычислительная математика и программирование», декан Общетехнического факультета (ОТФ–2) Московского 
технического университета связи и информатики В.Н. Шакин;
кандидат технических наук, доцент, начальник аналитического сектора ФГНУ «Г
осметодцентр» Ю.А. Сытняк
Гуриков С.Р.
Г95 
 
Введение в программирование на языке Visual C# : учебное пособие / С.Р. Гуриков. — Москва : ФОРУМ : ИНФРА-М, 2020. — 447 с. — (Высшее образование: Бакалавриат).
ISBN 978-5-00091-458-8 (ФОРУМ)
ISBN 978-5-16-013100-9 (ИНФРА-М, print)
ISBN 978-5-16-105882-4 (ИНФРА-М, online)
Книга является руководством по программированию на языке Visual C# для начинающих. В ней содержится описание такого традиционного материала, как работа линейных, разветвляющихся и циклических структур, обработка одномерных и двумерных 
массивов. Кроме того, рассмотрены методы работы с символами и строками, файлами, 
даны основные понятия работы с классами. Обсуждаются типы данных, используемые 
в Visual C#, большое внимание уделено методам ввода и вывода данных, сделан обзор основных элементов управления среды программирования. Имеются примеры консольных 
приложений, однако большинство программ написаны как Windows-приложения.
В конце каждой главы имеется набор контрольных вопросов и упражнений, задач для 
самостоятельного решения. 
В книге содержится свыше 230 листингов программ, набор которых на компьютере приведет к эффективному усвоению теоретического материала, поможет выполнить практические 
или лабораторные работы в среде программирования. В приложениях содержится лабораторный практикум, состоящий из 22 работ, а также приведено описание 18 заставок к проектам, 
выполненных на основе использования интерфейса GDI+.
УДК 004.2
ББК 32.973-018
ISBN 978-5-00091-458-8 (ФОРУМ)
ISBN 978-5-16-013100-9 (ИНФРА-М, print)
ISBN 978-5-16-105882-4 (ИНФРА-М, online)
© Гуриков С.Р., 2013
© ФОРУМ, 2013


ОГЛАВЛЕНИЕ
Введение...............................................................................................................................................7
1. Теоретические основы алгоритмизации и программирования .........................................10
1.1
Алгоритм. Свойства алгоритма. Способы описания алгоритма ....................................10 
1.2
Назначение функциональных блоков ...............................................................................11 
1.3
Основные этапы решения задач на ЭВМ .........................................................................11 
1.4
Введение в объектно-ориентированное программирование ..........................................12 
1.5
Алфавит языка Visual C#....................................................................................................16 
1.6
Идентификаторы и общие правила их написания...........................................................16 
1.7
Оператор присваивания......................................................................................................16 
1.8
Типы данных .......................................................................................................................17 
1.9
Запись математических функций......................................................................................25 
1.10 Операции отношения..........................................................................................................26 
2. Введение в Visual C#..................................................................................................................28
2.1
Организация проекта в Visual C#......................................................................................28 
2.2
Процесс создания проекта..................................................................................................31 
2.3
Методы ввода и вывода данных........................................................................................33 
2.4
Использование проверки корректности ввода данных ...................................................39 
2.5
Обработка исключений ......................................................................................................40 
2.6
Обработка последовательностей данных .........................................................................43 
2.7
Окончательная настройка приложения ............................................................................44 
2.8
Организация взаимодействия форм ..................................................................................44 
2.9
Работа с компонентами ......................................................................................................45 
3. Линейный алгоритм..................................................................................................................74
3.1
Упражнения к главе............................................................................................................74 
3.2
Примеры решения задач.....................................................................................................76 
4. Разветвляющийся алгоритм....................................................................................................82
4.1
Простой условный оператор..............................................................................................82 
4.2
Сокращенный условный оператор ....................................................................................83 
4.3
Составной условный оператор ..........................................................................................83 
4.4
Многозначные ветвления...................................................................................................85 
4.5
Алгоритмы поиска максимального и минимального элементов ...................................87 
4.6
Упражнения к главе............................................................................................................91 
4.7
Примеры решения задач.....................................................................................................95 
5. Оператор выбора switch............................................................................................................99
5.1
Упражнения к главе..........................................................................................................101 
5.2
Примеры решения задач...................................................................................................103 
6. Циклический алгоритм ..........................................................................................................106
3


6.1
Оператор цикла for............................................................................................................106 
6.2
Оператор цикла do…while ...............................................................................................128 
6.3
Оператор цикла while .......................................................................................................141 
7. Работа с одномерными массивами .......................................................................................157
7.1
Базовые алгоритмы обработки одномерных массивов .................................................163 
7.2
Упорядочивание одномерных массивов.........................................................................175 
7.3
Примеры решения задач...................................................................................................185 
8. Работа с двумерными массивами .........................................................................................194
8.1
Основные свойства матриц..............................................................................................197 
8.2
Базовые алгоритмы обработки двумерных массивов....................................................198 
8.3
Примеры решения задач...................................................................................................211 
9. Создание классов. Работа с методами..................................................................................223
9.1
Создание методов .............................................................................................................224 
9.2
Передача параметров: по ссылке или по значению.......................................................226 
9.3
Передача массива в качестве параметров.......................................................................230 
9.4
Примеры решения задач...................................................................................................231 
10. Работа с символами и строками............................................................................................239
10.1 Методы работы с символами...........................................................................................239 
10.2 Методы работы со строками............................................................................................240 
10.3 Базовые алгоритмы обработки строк..............................................................................244 
10.4 Примеры решения задач...................................................................................................251 
11. Работа с файлами.....................................................................................................................257
11.1 Процессы и потоки ...........................................................................................................257 
11.2 Запись информации в текстовый файл ...........................................................................259 
11.3 Чтение информации из текстового файла ......................................................................260 
11.4 Работа с файлами и каталогами.......................................................................................261 
11.5 Примеры решения задач...................................................................................................266 
Приложение 1. Примеры выполнения лабораторных работ ................................................272
Лабораторная работа №1 «Запись арифметических выражений» ........................................272 
Лабораторная работа №2 «Многозначные ветвления в программах. Использование
проверки корректности ввода данных и элемента управления ErrorProvider»....................279 
Лабораторная работа №3 «Использование элементов управления RadioButton, ListBox, 
Timer, GroupBox в программах. Использование обработчика событий
для нескольких компонентов»..................................................................................................289 
Лабораторная работа №4 «Программирование алгоритмов разветвляющихся структур
с использованием поиска максимального и минимального значений»................................295 
4


Лабораторная работа №5 «Использование элементов управления MenuStrip, 
OpenFileDialog, SaveFileDialog, FontDialog, ToolStrip, StatusStrip. 
Разработка текстового редактора» ..........................................................................................302 
Лабораторная работа №6 «Табулирование функций» ...........................................................305 
Лабораторная работа №7 «Использование элементов управления CheckedListBox, 
CheckBox, ComboBox, RadioButton, ListBox. Разработка тестовой программы»................310 
Лабораторная работа №8 «Программирование алгоритмов регулярных циклических
структур» ....................................................................................................................................314 
Лабораторная работа №9 «Табулирование функции с использованием циклов
с неизвестным количеством повторений»...............................................................................322 
Лабораторная работа №10 «Программирование алгоритмов итеративных циклических
структур» ....................................................................................................................................333 
Лабораторная работа №11 «Комплексное применение элементов управления»................348 
Лабораторная работа №12 «Классические способы обработки одномерных массивов»...353 
Лабораторная работа №13 Программирование алгоритмов формирования и обработки
одномерных массивов» .............................................................................................................359 
Лабораторная работа №14 «Классические способы обработки двумерных массивов» .....366 
Лабораторная работа №15 «Программирование алгоритмов формирования и обработки
двумерных массивов»................................................................................................................372 
Лабораторная работа №16 «Организация многодокументного интерфейса» .....................381 
Лабораторная работа №17 «Разработка графического редактора» ......................................385 
Лабораторная работа №18 «Работа с методами»....................................................................394 
Лабораторная работа №19 «Классические способы обработки строк» ...............................402 
Лабораторная работа №20 «Обработка строковых данных».................................................406 
Лабораторная работа №21 «Работа с текстовыми файлами»................................................412 
Лабораторная работа №22 «Работа с файлами и каталогами»..............................................417 
Приложение 2. Создание заставок к проектам ........................................................................420
Заставка 1. Создание текста и изображения на форме графическими методами................423 
Заставка 2. Вывод центрированного текста, закрашенного с помощью градиентной
заливки. Форма окаймлена овалом, покрытым изображениями...........................................424 
Заставка 3. Вывод текста на графическую поверхность и выравнивание его по центру. ..426 
Заставка 4. Создание сплэш-форм............................................................................................427 
Заставка 5. Проявление и исчезновение формы. ....................................................................428 
Заставка 6. Ввод пароля с заданным числом попыток...........................................................430 
Заставка 7. Постепенное развертывание формы.....................................................................431 
Заставка 8. Работа с объектом Bitmap......................................................................................432 
5


Заставка 9. Повернутая надпись...............................................................................................433 
Заставка 10. Создание нестандартной формы.........................................................................434 
Заставка 11. Создание нестандартной формы (форма с окружностями)..............................436 
Заставка 12. Поворот изображения и его зеркальное отображение.....................................437 
Заставка 13. Рисование с помощью мыши. .............................................................................438 
Заставка 14. Вывод бегущей строки.........................................................................................439 
Заставка 15. Форма произвольной конфигурации..................................................................440 
Заставка 16. Вывод векторного изображения. ........................................................................441 
Заставка 17. Использование текстового окна для ввода пароля. Использование элемента
управления ErrorProvider...........................................................................................................443 
Заставка 18. Вывод текста из файла в область, нарисованную на форме. ...........................444 
Список литературы .......................................................................................................................446
6


ВВЕДЕНИЕ
В условиях глобальных информационных процессов, решения социальноэкономических проблем актуализируется важность информатизации образования.
Повышение качества, эффективности и результативности образовательного
процесса осуществляется путем внедрения современных педагогических и информационных технологий обучения, увеличения объемов обрабатываемой
учебной информации за счет широкого практического использования компьютеров, локальных и глобальных компьютерных сетей, насыщения учебного заведения техническими и программными средствами.
Дальнейшее развитие информатизации требует не только компьютерной грамотности, но и информационной культуры личности, основанной на понимании
закономерностей развития информационного общества. При этом в первую очередь должно измениться понимание сути информатизации и информатики.
В связи с этим надо отметить, что компьютер стал массовым средством профессиональной деятельности, причем не только в инженерной и естественнонаучной области, но и в гуманитарной сфере, бизнесе, экономике, образовании,
системе коммуникаций. Наряду с профессиональной компетентностью основными качествами, обеспечивающими конкурентоспособность на рынке труда,
стали мобильность, способность к адаптации, критическое мышление, ориентация в информационном пространстве, умение работать с информацией, коммуникабельность, компьютерная грамотность. Большинство из указанных качеств
формируется в процессе изучения курса информатики в учебных заведениях, что
приводит к значительному повышению ее роли.
Новое понимание задач информатики, а также ее первостепенная роль в системе образования, безусловно, должны найти свое адекватное отражение в программах, методиках и учебных планах перспективной системы профессионального образования.
Материал предлагаемого учебного пособия был подготовлен автором на основе многолетнего опыта преподавания курса алгоритмизации и программирования школьникам и студентам, разработки электронных учебников и чтения
лекций по дисциплине «Информатика».
Проведенный анализ учебной литературы показал, что несмотря на наличие
книг по разработке приложений на языке программирования Visual C#, их содержание редко отвечает совместной практической работе преподавателя и студента в конкретном учебном заведении и на конкретном занятии. Использование
различных самоучителей, руководств для профессиональной работы в среде
программирования действительно возможно в учебном процессе, но только при
соответствующей их детальной переработке.
Вчерашний школьник, а сегодня студент не готов с первых дней обучения осваивать программирование на основе создания собственных функций и процедур языка программирования, однако такой подход часто предлагается с первых
страниц иных изданий.
Слабая мотивация, сложность решаемых задач (часто сразу из области численных методов), отсутствие навыков в среде программирования порою формируют стойкое неприятие к основам алгоритмизации и программирования.
7


Главная цель создания пособия — обеспечить прочное и сознательное освоение основ алгоритмизации и программирования, формирование практических
умений — профессиональных, учебных, интеллектуальных, необходимых будущему специалисту. Помимо приобретения чисто практических умений, ценных с точки зрения освоения компьютерной грамотности, студенты получают
наглядное представление о возможностях, предоставляемых компьютером человеку, вырабатывают такие профессионально значимые качества, как самостоятельность, ответственность, точность, творческая инициатива при решении поставленных задач.
Пособие построено так, что непосредственно к программированию студент
приступает с самого начала — первая программа описывается во втором разделе
(в первом разделе приводятся теоретические основы алгоритмизации и программирования).
Во втором разделе описаны различные способы ввода и вывода данных, приводятся примеры организации взаимодействия нескольких форм, что актуально при
выполнении студентами лабораторных работ, подробно описана окончательная настройка приложения, а также рассказано о том, как осуществлять проверку корректности ввода данных, разрабатывать главное и контекстное меню. Здесь же
приводятся примеры работы с различными (основными) компонентами среды программирования. Четкое понимание работы каждого компонента — залог успешного программирования приложений.
В третьем, четвертом, пятом и шестом разделах подробно рассматриваются операторы, относящиеся к трем «китам» программирования — линейному,
разветвляющемуся и циклическому алгоритмам.
В седьмом и восьмом разделах объясняется работа с одномерными и двумерными массивами, рассматриваются «классические» способы их обработки.
В девятом разделе речь пойдет о создании классов и работе с методами.
В десятом разделе изложены основы обработки символьной и строковой информации, рассматриваются «классические» приемы обработки строк.
В одиннадцатом разделе приведено описание работы с файлами и директориями.
Приложение 1 содержит практикум по выполнению лабораторных работ,
часть из которых (с вариантами) может выполняться студентами в домашних
условиях, другие (без вариантов) — использоваться в стенах учебного заведения
при проведении практических занятий.
В приложении 2 даны описания 18 заставок к проектам, которые помогут
разнообразить проведение лабораторного практикума, по сути это еще один раздел пособия, посвященный основам работы с графикой.
Учебное пособие содержит свыше 230 листингов программ, а также более
260 рисунков, которые дают наглядное представление о результатах работы и
ходе создания приложений.
Материал, изложенный в пособии, особенно будет полезен студентам, обучающимся на технических специальностях техникумов, колледжей, вузов в учебных
планах которых предусмотрены дисциплины «Информатика», «Основы алгоритмизации и программирования», «Визуальное программирование», «Программирование на языке высокого уровня» и т.д. Апробация учебного пособия показала, что
8


студенты, не имеющие подготовки в области программирования, не только успешно осваивают представленные в пособии приложения, но и вносят в них свои,
очень интересные изменения, направленные на улучшение их работы.
Преподаватели могут оценить учебное пособие с точки зрения методики преподавания. Многие листинги программ специально написаны таким образом,
чтобы учащиеся имели возможность доработать или оптимизировать их код, что
поможет педагогу создать творческую атмосферу на занятиях. К каждому из
разделов приведены примеры решения задач, упражнения, задачи для самостоятельного решения, контрольные вопросы, позволяющие оценить уровень подготовки студента. Описание лабораторных работ с вариантами заданий поможет
организовать и провести занятия по соответствующим темам. Для каждой работы приведены примеры ее выполнения, задания для самостоятельной подготовки, объясняется, какой объем работы студент должен выполнить в лаборатории,
приводятся содержание отчета по конкретной лабораторной работе, контрольные вопросы.
Получить бесплатный инструментарий для работы с языком программирования Visual C#, можно загрузив различные версии среды Microsoft Visual Studio с
сайта компании Microsoft по адресу www.microsoft.com/ru-ru. 
В пособие умышленно не включалось описание среды программирования,
излишние подробности использования тех или иных функций языка, создание
больших приложений, которые не могут быть рассмотрены в рамках «классического» занятия.
Следует отметить, что учебное пособие не может претендовать на функциональную полноту или на полную оригинальность приведенных методов, алгоритмов и программ. Автор преследовал иную цель: не отпугнуть студента с низким уровнем базовой подготовки от основ изучения языка программирования, а
помочь ему путем доступного изложения теоретических и практических основ
алгоритмизации.
9


1. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ АЛГОРИТМИЗАЦИИ
И ПРОГРАММИРОВАНИЯ
1.1. Алгоритм. Свойства алгоритма. Способы описания алгоритма
Если мы хотим написать программу на каком-нибудь языке программирования, то сначала мы должны составить алгоритм решения задачи.
Алгоритм — это точное и простое описание последовательности действий
для решения данной задачи. Алгоритм содержит несколько шагов, которые
должны выполняться в определенной последовательности. Каждый шаг алгоритма может состоять из одной или нескольких простых операций.
Каждый из нас ежедневно использует различные алгоритмы: инструкции,
правила, рецепты и т.д. Обычно мы это делаем не задумываясь. Например, открывая дверь ключом, никто не размышляет над тем, в какой последовательности выполнять действия. Однако чтобы кого-нибудь научить открывать дверь,
придется четко указать и сами действия, и порядок их выполнения. Например:
1. Достать ключ.
2. Вставить ключ в замочную скважину.
3. Повернуть ключ два раза против часовой стрелки.
4. Вынуть ключ.
Представим, что мы поменяли местами второе и третье действия. Мы сможем выполнить и этот алгоритм, но дверь не откроется, т.е. алгоритм станет невыполнимым.
Для алгоритма важен не только набор действий, но и то, в каком порядке они
выполняются. Понятие алгоритма в информатике является фундаментальным.
Таким же, какими являются понятия точки, прямой и плоскости в геометрии,
вещества в химии, пространства и времени в физике и т.д.
Свойства алгоритма:
x
Дискретность (прерывность, раздельность) — алгоритм должен представлять процесс решения задачи как последовательное выполнение простых шагов (этапов).
x
Определенность — каждый шаг алгоритма должен быть четким и однозначным. Выполнение алгоритма носит механический характер и не требует никаких дополнительных сведений о решаемой задаче.
x
Результативность — алгоритм должен приводить к решению задачи за
конечное число шагов.
x
Массовость — алгоритм решения разрабатывается в общем виде, т.е. он
должен быть применим для решения некоторого класса задач, различающихся лишь исходными данными.
Способы описания алгоритмов:
x словесный;
x графический;
x табличный;
x формульный.
10


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