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

Основы алгоритмизации и программирования на Visual C++

Покупка
Основная коллекция
Артикул: 689797.01.01
Доступ онлайн
от 620 ₽
В корзину
В учебном пособии рассмотрены основы алгоритмизации и программирования на языке Visual C++ для разработки Windows-приложений и создания консольных программ. Содержится описание работы линейных, разветвляющихся и циклических структур, принципов обработки одномерных и двумерных массивов, порядка создания DLL-библиотек и модулей, методов работы с файлами. Много внимания уделено принципам создания пользовательского интерфейса с помощью элементов управления. Объяснены приемы программирования тестовых вопросов. Рассмотрены методы вывода информации в базу данных Microsoft Access, текстовый редактор Microsoft Word и табличный процессор Microsoft Excel. В конце каждой главы даны контрольные вопросы и задания, а также задачи для самостоятельного решения. Учебное пособие имеет прикладную направленность и соответствует требованиям федеральных государственных образовательных стандартов высшего образования последнего поколения. Для студентов высших учебных заведений, обучающихся по направлениям подготовки 11.03.02 «Инфокоммуникационные технологии и системы связи», 09.03.01 «Информатика и вычислительная техника». Также будет полезно студентам средних специальных учебных заведений и школьникам, готовящимся к Единому государственному экзамену по дисциплине «Информатика и ИКТ».
23
278
381
Гуриков, С. Р. Основы алгоритмизации и программирования на Visual C++ : учебное пособие / С.Р. Гуриков. — Москва : ИНФРА-М, 2022. — 515 с. — (Высшее образование: Бакалавриат). — DOI 10.12737/1039154. - ISBN 978-5-16-015500-5. - Текст : электронный. - URL: https://znanium.ru/catalog/product/1039154 (дата обращения: 21.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
ОСНОВЫ 

АЛГОРИТМИЗАЦИИ 

И ПРОГРАММИРОВАНИЯ 

НА VISUAL C++

С.Р. ГУРИКОВ

Рекомендовано Межрегиональным учебно-методическим советом профессионального 

образования в качестве учебного пособия для студентов высших учебных заведений, 

обучающихся по направлениям подготовки 11.03.02 «Инфокоммуникационные 

технологии и системы связи», 09.03.01 «Информатика и вычислительная техника», 

10.03.01 «Информационная безопасность», 15.03.04 «Автоматизация технологических 

процессов и производств» (квалификация (степень) «бакалавр») 

(протокол № 10 от 15.12.2021)

Москва
ИНФРА-М

2022

УЧЕБНОЕ ПОСОБИЕ

УДК 004.42(075.8)
ББК 32.973я73
 
Г95

Р е ц е н з е н т ы:
А.И. Волков, кандидат технических наук, доцент, заведующий кафедрой информатики Московского технического университета связи 
и информатики (МТУСИ);
В.В. Аляпкин, кандидат технических наук, начальник отдела спецпроектов ООО «Разработка информационных систем»

ISBN 978-5-16-015500-5 (print)
ISBN 978-5-16-107039-0 (online)
© Гуриков С.Р., 2022

Гуриков С.Р.
Г95 
 
Основы алгоритмизации и программирования на Visual C++ : учебное пособие / С.Р. Гуриков. — Москва : ИНФРА-М, 2022. — 515 с. — 
(Высшее образование: Бакалавриат). — DOI 10.12737/1039154.
ISBN 978-5-16-015500-5 (print)
ISBN 978-5-16-107039-0 (online)
В учебном пособии рассмотрены основы алгоритмизации и программирования на языке Visual C++ для разработки Windows-приложений и создания консольных программ. Содержится описание работы линейных, 
разветвляющихся и циклических структур, принципов обработки одномерных и двумерных массивов, порядка создания DLL-библиотек и модулей, методов работы с файлами. Много внимания уделено принципам создания пользовательского интерфейса с помощью элемен тов управления. 
Объяснены приемы программирования тестовых вопросов. Рассмотрены 
методы вывода информации в базу данных Microsoft Access, текстовый редактор Microsoft Word и табличный процессор Microsoft Excel. 
В конце каждой главы даны контрольные вопросы и задания, а также 
задачи для самостоятельного решения. 
Учебное пособие имеет прикладную направленность и соответствует 
требованиям федеральных государственных образовательных стандартов 
высшего образования последнего поколения.
Для студентов высших учебных заведений, обучающихся по направлениям подготовки 11.03.02 «Инфокоммуникационные технологии 
и си стемы связи», 09.03.01 «Информатика и вычислительная техника». 
Также будет полезно студентам средних специальных учебных заведений и школьникам, готовящимся к Единому государственному экзамену 
по дисциплине «Информатика и ИКТ».
УДК 004.42(075.8)
ББК 32.973я73 

Введение

В условиях глобальных информационных процессов, решения 
социально-экономических проблем особую важность приобретает 
информатизация образования. Сегодня почти все учебные заведения обладают новейшим компьютерным оборудованием, подключенным к интернету.
Однако мало иметь современный персо нальный компьютер, следует также позаботиться и об установке программного обеспечения. 
Лицензионные программы стоят немалых денег, а они не всегда 
есть у учебных заведений. Поэтому компания Microsoft разработала ряд программ лицензирования программных продуктов специально для учебных заведений, например, Microsoft Academic Open 
License — для высших учебных заведений и учебных заведений 
среднего и среднего специального образования, а также Microsoft 
School Agreement — для начальных, средних и высших учебных заведений.
Рынок программного обеспечения сегодня крайне изменчив 
и нестабилен, но находится в непрерывном развитии, правда, 
многие технологии обучения, в частности программированию, 
безвозвратно устарели. Ярким примером этого является обучение 
в средах Turbo Pascal, PascalABC и QBasic. Эти программы активно 
используются в настоящее время в школьных курсах, но не соответствуют уровню развития современных сред разработки.
С точки зрения преподавания основ программирования и алгоритмизации в учебных заведениях отличным решением может 
стать изучение языка Visual C++, который входит в состав среды 
программирования Microsoft Visual Studio. Описывать актуальность Visual C++ можно долго, сейчас же стоит формально отметить, что с его помощью можно разрабатывать универсальные приложения Windows, межплатформенные библиотеки для Android, 
iOS и Windows, а также управляемые приложения, работающие 
на платформе .NET Framework.
Проведенный анализ имеющийся на рынке книгопечатной продукции показал, что, несмотря на наличие большого объема литературы по разработке приложений на языке программирования 
Visual C++, ее содержание редко отвечает совместной практической 
работе преподавателя и студента в конкретном учебном заведении 
и на конкретном занятии. Использование различных самоучителей, 
руководств для профессио нальной работы в среде программи
рования действительно возможно в учебном процессе, но только 
при соответствующей их детальной переработке педагогом.
Кроме того, следует отметить, что материал существующих изданий не отвечает формированию компетенций будущего специалиста согласно учебным планам инфокоммуникационных направлений таких технических специальностей, как «Информационная 
безопасность», «Информатика и вычислительная техника», «Фундаментальная информатика и информационные технологии» и др. 
Рабочие программы дисциплин, связанных с обучением программированию, подразумевают совершенно иной алгоритм знакомства 
с языком, чем тот, который будет описан, например, в самоучителе 
по языку программирования.
Таким образом, главная цель настоящего издания — обеспечить 
прочное и сознательное освоение основ алгоритмизации и программирования, формирование практических умений (профессиональных, учебных, интеллектуальных), необходимых студенту, который приступил к изучению основ алгоритмизации и программирования.
Учебный материал каждой главы имеет свои цели, в соответствии с которыми можно овладеть определенным набором компетенций по программированию на языке Visual C++. Безусловно, 
на изучение отдельной темы может понадобиться несколько 
большее время, чем то, которое отводится на стандартное занятие.
Апробация материала учебного пособия в Московском техническом университете связи и информатики (МТУСИ) показала, 
что студенты, не имеющие подготовки в области программирования, не только успешно осваивают представленные в пособии 
программы, но и вносят в них свои, порой очень интересные, изменения, направленные на улучшение их работы.
Кратко проанализируем основное содержание учебного пособия.
В главе 1 изложены теоретические основы алгоритмизации 
и программирования, а непосредственно к программированию студент может приступить при чтении главы 2. В ней описаны разные 
способы ввода и вывода данных, приведены примеры организации 
взаимодействия нескольких форм, многодокументного интерфейса, 
что актуально при выполнении студентами лабораторных и практических работ, если они организованы преподавателем так, что 
представляют собой единый проект. Здесь же показаны примеры 
создания тестовых вопросов с различными (основными) компонентами среды программирования. Четкое понимание работы каждого 
компонента — залог успешного программирования приложений.

В главах 3—6 подробно рассмотрены операторы, относящиеся 
к линейному, разветвляющемуся и циклическому алгоритмам программирования.
В главе 7 изложено программирование на основе подпро грамм — функций языка программирования Visual C++. Материал 
главы особенно актуален при  изучении особенностей алгоритмизации и программирования.
Чтобы учащийся уяснил смысл прикладного программирования, 
а не только выполнял стандартные учебные задачи с операторами 
языка, была подготовлена глава 8, в которой объяснен принцип создания библиотек, содержащих пользовательские функции и способы их подключения к основному проекту. Также интерес может 
вызвать создание многофайловых приложений (модулей), которые 
можно связывать с другими проектами.
В главах 9 и 10 описана работа с одномерными и двумерными 
массивами, рассматриваются классические с точки зрения алгоритмизации способы их обработки, причем акцент сделан на методах обработки динамических массивов. Кроме того, обсуждаются 
приемы создания динамических библиотек при работе с массивами и, что не менее актуально, запись информации в базу данных 
Microsoft Access, текстовый редактор Microsoft Word и табличный 
процессор Microsoft Excel.
Глава 11 содержит основные принципы работы с файлами.
Учебное пособие содержит более 200 листингов программ 
и свыше 250 рисунков, которые дают наглядное представление 
о результатах работы и ходе создания приложений.
Следует отметить, что материал, изложенный в книге, соответствует требованиям к результатам освоения программы бакалавриата технических специальностей инфокоммуникационной 
направленности и обеспечивает реализацию отдельных групп универсальных и общепрофессио нальных компетенций: например, 
«способность осваивать методики использования программных 
средств для решения практических задач», «способность применять 
компьютерные методы, современное программное обеспечение 
для решения задач профессио нальной деятельности» [5]. 
Согласно компетенциям, полученным в результате освоения 
основ алгоритмизации и программирования на языке Visual C++, 
изложенных в учебном пособии, студент будет:
знать
 
• основные понятия алгоритмизации и программирования;
 
• средства программирования на основе использования подпрограмм с использованием языка высокого уровня;

• определение, свойства и средства формализации алгоритмов;
 
• основные управляющие структуры и способы описания алгоритмов с использованием различных нотаций;
 
• основные методы разработки алгоритмов, особенности их реализации;
уметь
 
• решать задачи, используя различные методы разработки алгоритмов и выбирая наиболее подходящие алгоритмы и средства 
их реализации в зависимости от постановки задачи;
 
• создавать программы в консольном режиме и режиме программирования Windows-приложений;
 
• разрабатывать программы средней сложности на языке программирования высокого уровня с использованием основных 
управляющих конструкций и стандартных типов данных;
 
• реализовывать библиотеки подпрограмм и подключать 
их к новым проектам;
 
• записывать информацию в базу данных Microsoft Access, 
текстовый редактор Microsoft Word и табличный процессор 
Microsoft Excel;
 
• работать с файлами: создавать, записывать и извлекать информацию из них, используя программные методы;
владеть
 
• навыками разработки и анализа алгоритмов решения типовых 
задач;
 
• приемами разработки тестовых программ;
 
• методами и инструментальными средствами разработки 
программ средней сложности на языке программирования высокого уровня, их тестирования и отладки;
 
• навыками самостоятельного решения задач с помощью компьютера. 
Книга будет полезна преимущественно студентам вузов, обучающимся по направлениям подготовки 11.03.02 «Инфокоммуникационные технологии и системы связи», 09.03.01 «Информатика 
и вычислительная техника», 10.03.01 «Информационная безопасность», 15.03.04 «Автоматизация технологических процессов и производств» и др.
Преподаватели могут оценить пособие с точки зрения методики 
обучения студентов. Многие программы специально подготовлены 
таким образом, чтобы учащиеся имели возможность доработать 
или оптимизировать их код, что поможет педагогу создать творческую атмосферу на занятиях. В каждой главе имеются примеры решения задач, контрольные вопросы, позволяющие оценить уровень 

подготовки студента. В книгу умышленно не включались описание 
среды программирования, излишние подробности использования 
тех или иных функций языка, создание больших приложений, которые не могут быть рассмотрены в рамках «классического» занятия.
Учебное пособие не претендует на функцио нальную полноту 
или абсолютную оригинальность приведенных методов, алгоритмов 
и программ. Автор преследовал иную цель: не отпугнуть студентов 
с невысоким уровнем базовой подготовки от основ изучения языка 
программирования, а помочь им путем доступного изложения теоретических и практических основ алгоритмизации.
Материал предлагаемой книги был подготовлен автором, 
имеющим многолетний опыт преподавания курса алгоритмизации 
и программирования школьникам, студентам среднего и высшего 
профессио нального образования, написания книг по программированию в различных средах.

Глава 1. 
ТЕОРЕТИЧЕСКИЕ ОСНОВЫ 
АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ

Прежде всего следует отметить, что первая глава учебного пособия носит ознакомительный характер, так как в ней представлены теоретические основы алгоритмизации и программирования. 
Подготовленный читатель может ее пропустить, а начинающему 
стоит внимательно изучить. В тексте главы будут приведены примеры различных функций (термин «функция» в данной ситуации 
может быть непонятен читателю), результаты их работы, однако 
изложенное может не объясняться в деталях, а будет рассмотрено 
в дальнейшем.
Таким образом, сразу стоит оговорить, что многое станет понятнее и доступнее, как только читатель начнет работать со средой 
программирования Microsoft Visual Studio, напишет свои первые 
программы, пользуясь материалом второй главы. Именно тогда 
можно более осознанно перечитать материал первой главы и сделать соответствующие выводы.

1.1. АЛГОРИТМ. СВОЙСТВА АЛГОРИТМА. 
СПОСОБЫ ОПИСАНИЯ АЛГОРИТМА

Алгоритм — это точное и простое описание последовательности 
действий при решении данной задачи. Алгоритм содержит несколько шагов, которые должны выполняться в определенной последовательности. Каждый шаг алгоритма может состоять из одной 
или нескольких простых операций.
Стоит заметить, что ежедневно мы используем различные алгоритмы: инструкции, правила, рецепты и т.д. Обыч но мы это делаем не задумываясь. Например, открывая дверь ключом, никто 
не размышляет над тем, в какой последовательности выполнять 
действия. Однако чтобы кого-нибудь научить открывать дверь, 
придется четко указать и сами действия, и порядок их выполнения, 
например:
1) достать ключ;
2) вставить ключ в замочную скважину;
3) повернуть ключ два раза против часовой стрелки;
4) вынуть ключ.

Положим, мы поменяли местами второе и третье действия. 
Можно воспользоваться и этим алгоритмом, но дверь не откроется, 
т.е. алгоритм станет невыполнимым.
Для алгоритма важен не только набор действий, но и то, в каком 
порядке они выполняются. Понятие алгоритма в информатике 
является фундаментальным так же, как понятия точки, прямой 
и плоскости в геометрии, вещества в химии, пространства и времени в физике и т.д.
Свойства алгоритма:
 
• дискретность (прерывность, раздельность) — алгоритм должен 
представлять процесс решения задачи как последовательное выполнение простых шагов (этапов);
 
• определенность — каждый шаг алгоритма должен быть четким 
и однозначным. Выполнение алгоритма носит механический характер и не требует дополнительных сведений о решаемой задаче;
 
• результативность — алгоритм должен приводить к решению 
задачи за конечное число шагов;
 
• массовость — алгоритм решения разрабатывается в общем виде, 
т.е. он должен быть применим для решения некоторого класса 
задач, различающихся лишь исходными данными.
Способы описания алгоритмов: 1) словесный; 2) графический; 
3)  табличный; 4) формульный.
1. Словесный способ каждый из нас использует ежедневно, пересказывая собеседнику, например, различные инструкции, правила, 
кулинарные рецепты, т.е. какую-то последовательность, приводящую к конечному результату.
2. Графический способ представления алгоритмов является 
более компактным и наглядным по сравнению со словесным — 
часто для лучшего понимания той или иной ситуации нам проще 
начертить какую-то схему, план, согласно которому следует действовать. В программировании данный способ предпочтительнее 
других, поскольку позволяет с помощью последовательности 
функцио нальных блоков, каждый из которых соответствует выполнению одного или нескольких действий, представить ход решения 
той или иной задачи. Такое представление алгоритма называется 
структурной схемой алгоритма, или блок-схемой. 
3. Табличный способ используется, например, в бухгалтерии 
при составлении ежегодных отчетов, сводок и т.д.
4. Формульный способ находит применение при решении задач 
в математике, физике и т.д. Например, при решении квадратного 

уравнения  ищут его дискриминант, а затем в зависимости от полученного результата находят корни уравнения по известным всем 
формулам.

1.2. НАЗНАЧЕНИЕ ФУНКЦИО НАЛЬНЫХ БЛОКОВ

На условные обозначения в схемах алгоритмов распространяется ГОСТ 19.701—90 «ЕСПД. Схемы алгоритмов, программ 
данных и систем. Условные обозначения и правила выполнения». 
При составлении блок-схем мы будем использовать в основном 
символы, представленные в табл. 1.1.

Таблица 1.1

Условные обозначения в схемах алгоритмов

Терминатор 
Символ отображает выход 
во внешнюю среду и вход 
из внешней  среды (начало 
или конец схемы программы, 
внешнее использование 
и источник или пункт назначения данных)

Процесс
Символ отображает функцию обработки данных любого вида (выполнение конкретной операции 
или группы операций , приводящее 
к изменению значения, формы 
или размещения информации, 
или к определению, по которому 
из нескольких направлений  потока 
следует двигаться)

Данные
Символ отображает данные, 
носитель которых не определен

Решение 
Символ отображает решение 
или функцию переключательного 
типа, имеющую один вход и ряд альтернативных выходов, один и только 
один из которых может быть активизирован после вычисления условий , 
определенных внутри этого символа. 
Соответствующие результаты вычисления могут быть записаны по соседству с линиями, отображающими эти 
пути

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