Алгоритмизация и программирование на языке Visual C#
Покупка
Новинка
Основная коллекция
Тематика:
Программирование и алгоритмизация
Издательство:
НИЦ ИНФРА-М
Автор:
Гуриков Сергей Ростиславович
Год издания: 2025
Кол-во страниц: 556
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
Профессиональное образование
ISBN: 978-5-16-018538-5
ISBN-онлайн: 978-5-16-111530-5
Артикул: 803528.01.01
В учебном пособии рассмотрены основы алгоритмизации и программирования на языке Visual C# для разработки Windows-приложений. Содержится описание работы линейных, разветвляющихся и циклических структур, принципов обработки одномерных и двумерных массивов, порядка создания DLL-библиотек, методов работы с символами и строками, записи информации в файлы потоковым способом. Много внимания уделено принципам создания пользовательского интерфейса с помощью элементов управления. Объяснены приемы программирования тестовых вопросов. Рассмотрены методы вывода информации в базу данных Microsoft Access, текстовый редактор Microsoft Word, текстовый редактор Блокнот и табличный процессор Microsoft Excel.
Соответствует требованиям федеральных государственных образовательных стандартов высшего образования последнего поколения.
Для студентов высших учебных заведений, обучающихся по направлениям подготовки «Фундаментальная информатика и информационные технологии», «Прикладная информатика», «Информационная безопасность». Также будет полезно студентам, получающим среднее профессио нальное образование по специальностям «Информационные системы и программирование», «Программирование в компьютерных системах».
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 02.03.02: Фундаментальная информатика и информационные технологии
- 02.03.03: Механика и математическое моделирование
- 03.03.02: Прикладная математика и информатика
- 03.03.03: Механика и математическое моделирование
- 09.03.01: Информатика и вычислительная техника
- 09.03.03: Прикладная информатика
- 10.03.01: Информационная безопасность
- 38.03.05: Бизнес-информатика
- ВО - Магистратура
- 38.04.05: Бизнес-информатика
- ВО - Специалитет
- 09.05.01: Применение и эксплуатация автоматизированных систем специального назначения
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
С.Р. ГУРИКОВ АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ VISUAL C# УЧЕБНОЕ ПОСОБИЕ Москва ИНФРА-М 2025
УДК 004.43(075.8) ББК 32.973.2я73 Г95 Р е ц е н з е н т ы: Бабанова И.А., кандидат педагогических наук, преподаватель Теат - рального художественно-технического колледжа г. Москвы; Саркисова И.О., кандидат технических наук, доцент, доцент кафедры информационных систем Московского государственного технологического университета «СТАНКИН» Гуриков С.Р . Г95 Алгоритмизация и программирование на языке Visual C# : учебное пособие / С.Р. Гуриков. — Москва : ИНФРА-М, 2025. — 556 с. — (Высшее образование). — DOI 10.12737/2021358. ISBN 978-5-16-018538-5 (print) ISBN 978-5-16-111530-5 (online) В учебном пособии рассмотрены основы алгоритмизации и программирования на языке Visual C# для разработки Windows-приложений. Содержится описание работы линейных, разветвляющихся и циклических структур, принципов обработки одномерных и двумерных массивов, порядка создания DLL-библиотек, методов работы с символами и строками, записи информации в файлы потоковым способом. Много внимания уделено принципам создания пользовательского интерфейса с помощью элемен тов управления. Объяснены приемы программирования тестовых вопросов. Рассмотрены методы вывода информации в базу данных Microsoft Access, текстовый редактор Microsoft Word, текстовый редактор Блокнот и табличный процессор Microsoft Excel. Соответствует требованиям федеральных государственных образовательных стандартов высшего образования последнего поколения. Для студентов высших учебных заведений, обучающихся по направлениям подготовки «Фундаментальная информатика и информационные технологии», «Прикладная информатика», «Информационная безопасность». Также будет полезно студентам, получающим среднее профессиональное образование по специальностям «Информационные системы и программирование», «Программирование в компьютерных системах». УДК 004.43(075.8) ББК 32.973.2я73 Данная книга доступна в цветном исполнении в электронно-библиотечной системе Znanium ISBN 978-5-16-018538-5 (print) ISBN 978-5-16-111530-5 (online) © Гуриков С.Р., 2025
Введение В условиях глобальных информационных процессов, решения социально-экономических проблем особую важность приобретает информатизация образования. Сегодня почти все учебные заведения обладают новейшим компьютерным оборудованием, подключенным к интернету. Однако мало иметь современный персо нальный компьютер, следует также позаботиться об установке программного обеспечения, рынок которого в настоящее время крайне изменчив и нестабилен, но находится в непрерывном развитии (правда, многие технологии обучения, в частности программированию, безвозвратно устарели). Ярким примером этого является обучение в средах Turbo Pascal, PascalABC, Basic. Эти программы, активно использующиеся в настоящее время в школьном курсе информатики, не соответствуют уровню развития современных сред разработки. С точки зрения преподавания основ программирования и алгоритмизации в учебных заведениях отличным решением может стать изучение языка Visual C#, который входит в состав среды программирования Microsoft Visual Studio. Ее бесплатная версия доступна для образовательных учреждений и самостоятельных разработчиков. Описывать актуальность Visual C# можно долго, сейчас же стоит формально отметить, что с его помощью можно разрабатывать настольные приложения Windows, веб-приложения, игровые программы, решения для бизнеса и т.д. Анализ имеющейся на рынке книгопечатной продукции показал, что, несмотря на наличие большого объема литературы по разработке приложений на языке программирования Visual C#, ее содержание редко отвечает совместной практической работе преподавателя и студента в конкретном учебном заведении и на конкретном занятии. Использование различных самоучителей, руководств для профессио нальной работы в среде программирования действительно возможно в учебном процессе, но только при соответствующей их детальной переработке педагогом. В библиографический список данного издания включен ряд книг [1, 2, 6, 7], чтение которых может способствовать лучшему усвоению языка программирования Visual C# и, в частности, расширит познания в области работы с элементами управления в среде программирования. 3
Кроме того, следует отметить, что материал многих существующих изданий не отвечает формированию компетенций будущего специалиста согласно учебным планам инфокоммуникационных направлений таких технических специальностей, как «Информационная безопасность», «Прикладная информатика», «Фундаментальная информатика и информационные технологии» и др. Рабочие программы дисциплин, связанных с обучением программированию, подразумевают совершенно иной алгоритм знакомства с языком, чем тот, который будет описан, например, в самоучителе по языку программирования. Таким образом, главная цель настоящего издания — обеспечить прочное и сознательное освоение основ алгоритмизации и программирования, формирование практических умений (профессио нальных, учебных, интеллектуальных), необходимых студенту, который приступил к изучению основ алгоритмизации и программирования. Учебный материал каждой главы имеет свои цели, в соответствии с которыми можно овладеть определенным набором компетенций по программированию на языке Visual C#. Безусловно, на изучение отдельной темы может понадобиться несколько большее время, чем то, которое отводится на стандартное занятие. Апробация материала учебного пособия в Московском техническом университете связи и информатики (МТУСИ) показала, что студенты, не имеющие подготовки в области программирования, не только успешно осваивают представленные в пособии программы, но и вносят в них свои, порой очень интересные, изменения, направленные на улучшение их работы. Кратко проанализируем основное содержание учебного пособия. В главе 1 изложены теоретические основы алгоритмизации и программирования, а непосредственно к программированию студент может приступить при чтении главы 2. В ней описаны разные способы ввода и вывода данных, приведены примеры организации взаимодействия нескольких форм, окончательной настройки приложения, что актуально при выполнении студентами лабораторных и практических работ, если они организованы преподавателем так, что представляют собой единый проект. Следует отметить, что практически все примеры программ, приведенные в учебном пособии, написаны на основе подпрограмм-методов (в терминологии языка Visual C#), по это му в главе 3 изложены основные вопросы, связанные с программированием классов и размещением в них методов, а также описана методика создания динамических библиотек, которые будут подключаться к программным проектам. 4
Чтобы учащийся уяснил смысл прикладного программирования, а не только выполнял стандартные учебные задачи с операторами языка, была подготовлена глава 4, в которой объяснен принцип работы с различными (основными) компонентами среды программирования (приведено описание 14 элемен тов управления). Четкое понимание работы каждого компонента — залог успешного программирования приложений. Здесь же показаны примеры создания тестовой программы на основе использования подпрограмм, содержащихся в DLL-библиотеке. В главах 5–8 подробно рассмотрены операторы, относящиеся к линейному, разветвляющемуся и циклическому алгоритмам. Материал главы особенно актуален при изучении особенностей алгоритмизации и программирования. В главах 9 и 10 описана работа с одномерными и двумерными массивами, рассматриваются классические с точки зрения алгоритмизации способы их обработки. Кроме того, обсуждаются приемы создания динамических библиотек при работе с массивами и, что не менее актуально, — запись одномерных и двумерных массивов в базу данных Microsoft Access, текстовый редактор Microsoft Word и табличный процессор Microsoft Excel. Изложены принципы записи информации в PDF-докумен ты и редактор Блокнот. В главе 9 продолжается описание процесса разработки тестовой программы с записью результатов в прикладные программы офисной направленности. Глава 11 содержит основные принципы работы с символами и строками. В пособии нет отдельной главы, посвященной работе с файлами. Тем не менее главы 8–10 содержат решения задач, комментарии, объясняющие принцип потокового способа записи информации. Учебное пособие содержит около 300 листингов программ и свыше 250 рисунков, которые дают наглядное представление о результатах работы и ходе создания приложений. Следует отметить, что материал учебного пособия соответствует требованиям к результатам освоения учебной программы технических специальностей инфокоммуникационной направленности и обеспечивает реализацию отдельных групп универсальных и общепрофессио нальных компетенций, например «способность осваивать методики использования программных средств для решения практических задач», «способность применять компьютерные методы, современное программное обеспечение для решения задач профессио нальной деятельности». 5
В результате освоения основ алгоритмизации и программирования на языке Visual C#, изложенных в учебном пособии, студент должен: знать • основные понятия алгоритмизации и программирования; • средства программирования на основе использования подпрограмм с использованием языка высокого уровня; • определение, свойства и средства формализации алгоритмов; • основные управляющие структуры и способы описания алгоритмов с использованием различных нотаций; • основные методы разработки алгоритмов, особенности их реализации; • приемы программирования на основе создания подпрограмм; уметь • решать задачи, используя различные методы разработки алгоритмов и выбирая наиболее подходящие алгоритмы и средства их реализации в зависимости от постановки задачи; • создавать программы в консольном режиме и режиме программирования Windows-приложений; • разрабатывать программы средней сложности на языке программирования высокого уровня с использованием основных управляющих конструкций и стандартных типов данных; • реализовывать библиотеки подпрограмм и подключать их к новым проектам; • записывать информацию в базу данных Microsoft Access, текстовый редактор Microsoft Word, табличный процессор Microsoft Excel, создавать PDF-документы; владеть • навыками разработки и анализа алгоритмов решения типовых задач; • приемами разработки тестовых программ; • методами и инструментальными средствами разработки программ средней сложности на языке программирования высокого уровня, их тестирования и отладки; • навыками самостоятельного решения задач с помощью компьютера. Материал, изложенный в учебном пособии, будет особенно полезен студентам вузов, обучающимся по направлениям подготовки 02.03.02 «Фундаментальная информатика и информационные технологии», 09.03.03 «Прикладная информатика», 10.05.02 «Информационная безопасность телекоммуникационных систем». 6
Преподаватели могут оценить учебное пособие с точки зрения методики преподавания. Многие программы специально подготовлены таким образом, чтобы учащиеся имели возможность доработать или оптимизировать их код, что поможет педагогу создать творческую атмосферу на занятиях. Используя материал, изложенный в книге, педагог может организовать интересную работу по написанию курсовой работы (если она предусмотрена учебным планом), в ходе которой студент будет разрабатывать тестовое приложение по выданной ему теме, а его результаты записывать во внешние приложения, строить диаграмму правильных/неправильных ответов и т.д. Учебное пособие нельзя рассматривать как полное или продвинутое руководство по программированию на языке Visual C#. В частности, отсутствует материал по объектно-ориентированному программированию. Также следует отметить, что читателям, имеющим повышенный уровень программирования на каком-либо языке, код некоторых программ, возможно, покажется не совсем элегантным, эффективным и чистым. Для автора в приоритете было изложение принципов алгоритмизации, но читателю рекомендовано познакомиться с приемами написания чистого кода, прочитав ряд книг Р. Мартина, в частности «Чистый код: создание, анализ и рефакторинг»1. Безусловно, возможна радикальная переработка отдельных листингов и интерфейсов программ, приведенных в книге, разумеется, с согласия педагога-руководителя. Следует отметить, что в пособие умышленно не включались описание среды программирования, излишние подробности использования тех или иных функций языка, создание больших приложений, которые не могут быть рассмотрены в рамках «классического» занятия. Автор преследовал иную цель: не отпугнуть студентов с низким уровнем базовой подготовки от основ изучения языка программирования, а помочь им путем доступного изложения теоретических и практических основ алгоритмизации. Материал предлагаемого учебного пособия был подготовлен автором, имеющим многолетний опыт преподавания курса алгоритмизации и программирования школьникам, студентам среднего и высшего профессио нального образования, написания книг по программированию в различных средах. 1 Мартин Р. Чистый код: создание, анализ и рефакторинг. СПБ.: Питер, 2013. 7
Глава 1. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ Прежде всего, следует отметить, что данная глава носит ознакомительный характер, так как в ней представлены теоретические основы алгоритмизации и программирования. Подготовленный читатель может ее пропустить, а начинающему стоит внимательно ее изучить. В тексте главы будут приведены примеры кодов программ с разными операторами, служебными словами языка программирования, однако изложенное может не объясняться в деталях, а будет рассмотрено в дальнейшем. Таким образом, сразу стоит оговорить, что многое станет понятнее и доступнее, как только читатель начнет работать со средой программирования Microsoft Visual Studio, напишет свои первые программы, пользуясь материалом главы 2. Именно тогда можно более осознанно перечитать материал главы 1 и сделать соответствующие выводы. 1.1. АЛГОРИТМ. СВОЙСТВА АЛГОРИТМА. СПОСОБЫ ОПИСАНИЯ АЛГОРИТМА Алгоритм — это точное и простое описание последовательности действий при решении данной задачи. Алгоритм содержит несколько шагов, которые должны выполняться в определенной последовательности. Каждый шаг алгоритма может состоять из одной или нескольких простых операций. Стоит заметить, что ежедневно мы используем различные алгоритмы: инструкции, правила, рецепты и т.д. Обычно мы это делаем не задумываясь. Например, открывая дверь ключом, никто не размышляет над тем, в какой последовательности выполнять действия. Однако для того чтобы научить кого-нибудь открывать дверь, придется четко указать и сами действия, и порядок их выполнения, например: 1) достать ключ; 2) вставить ключ в замочную скважину; 3) повернуть ключ два раза против часовой стрелки; 4) вынуть ключ. 8
Положим, мы поменяли местами второе и третье действия. Можно воспользоваться и этим алгоритмом, но дверь не откроется, т.е. алгоритм станет невыполнимым. Для алгоритма важен не только набор действий, но и то, в каком порядке они выполняются. Понятие алгоритма в информатике является фундаментальным так же, как понятия точки, прямой и плоскости в геометрии, вещества в химии, пространства и времени в физике и т.д. Свойства алгоритма: • дискретность (прерывность, раздельность) — алгоритм должен представлять процесс решения задачи как последовательное выполнение простых шагов (этапов); • определенность — каждый шаг алгоритма должен быть четким и однозначным. Выполнение алгоритма носит механический характер и не требует дополнительных сведений о решаемой задаче; • результативность — алгоритм должен приводить к решению задачи за конечное число шагов; • массовость — алгоритм решения разрабатывается в общем виде, т.е. он должен быть применим для решения некоторого класса задач, различающихся лишь исходными данными. Способы описания алгоритмов: 1) словесный; 2) графический; 3) табличный; 4) формульный. 1. Словесный способ каждый из нас использует ежедневно, пересказывая собеседнику, например, различные инструкции, правила, кулинарные рецепты, т.е. какую-то последовательность, приводящую к конечному результату. 2. Графический способ представления алгоритмов является более компактным и наглядным по сравнению со словесным — часто для лучшего понимания той или иной ситуации нам проще начертить какую-то схему, план, согласно которому следует действовать. В программировании данный способ предпочтительнее других, поскольку позволяет с помощью последовательности функцио нальных блоков, каждый из которых соответствует выполнению одного или нескольких действий, представить ход решения той или иной задачи. Такое представление алгоритма называется структурной схемой алгоритма, или блок-схемой. 3. Табличный способ используется, например, в бухгалтерии при составлении ежегодных отчетов, сводок и т.д. 9
4. Формульный способ находит применение при решении задач в математике, физике и т.д. Например, при решении квадратного уравнения ищут его дискриминант, а затем в зависимости от полученного результата находят корни уравнения по известным всем формулам. 1.2. НАЗНАЧЕНИЕ ФУНКЦИОНАЛЬНЫХ БЛОКОВ На условные обозначения в схемах алгоритмов распространяется ГОСТ 19.701—90 «ЕСПД. Схемы алгоритмов, программ данных и систем. Условные обозначения и правила выполнения». При составлении блок-схем (алгоритмов) мы будем использовать в основном символы, представленные в табл. 1.1. Таблица 1.1 Описание символов Терминатор Символ отображает выход во внешнюю среду и вход из внешней среды (начало или конец схемы программы, внешнее использование и источник или пункт назначения данных) Процесс Символ отображает функцию обработки данных любого вида (выполнение конкретной операции или группы операций , приводящее к изменению значения, формы или размещения информации, или к определению, по которому из нескольких направлений потока следует двигаться) Данные Символ отображает данные, носитель которых не определен Решение Символ отображает решение или функцию переключательного типа, имеющую один вход и ряд альтернативных выходов, один и только один из которых может быть активизирован после вычисления условий , определенных внутри этого символа. Соответствующие результаты вычисления могут быть записаны по соседству с линиями, отображающими эти пути 10