Информатика и программирование : основы алгоритмизации и программирования
Покупка
Тематика:
Программирование и алгоритмизация
Издательство:
Издательский Дом НИТУ «МИСиС»
Автор:
Андреева Ольга Владимировна
Год издания: 2014
Кол-во страниц: 236
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-87623-779-8
Артикул: 752991.01.99
Рассматриваются вопросы программирования на базе платформы Microsoft .NET Framework. Дается описание современного языка объектно-ориентированного программирования C# в объеме, необходимом для иллюстрации основных понятий объектно-ориентированного программирования. Рассматриваются базовые структуры алгоритмов, типовые алгоритмы работы с массивами, основные приемы программирования, базирующиеся на объектном подходе. Предназначен для изучения основ алгоритмизации и начального знакомства с объектно-ориентированным программированием на языке C# студентами 1-го курса всех направлений, а также для самостоятельного изучения.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.03: Прикладная информатика
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
МИНИСТЕРСТВО ОБРА ЗОВАНИЯ И НАУКИ РФ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ «МИСиС» № 2100 Кафедра инженерной кибернетики О.В. Андреева Информатика и программирование Основы алгоритмизации и программирования Лабораторный практикум Допущено УМО по образованию в области прикладной математики и управления качеством в качестве учебного пособия для студентов высших учебных заведений, обучающихся по направлению 231300 – Прикладная математика Москва 2014
УДК 004.3 А65 Р е ц е н з е н т ы: д-р техн. наук, проф. Н.Н. Воронин (МИИТ); канд. техн. наук, доц. С.В. Никифоров (РГГУ) Андреева О.В. А65 Информатика и программирование : основы алгоритмизации и программирования : лаб. практикум / О.В. Андреева. – М. : Изд. Дом МИСиС, 2014. – 236 с. ISBN 978-5-87623-779-8 Рассматриваются вопросы программирования на базе платформы Microsoft .NET Framework. Дается описание современного языка объектно-ориентированного программирования C# в объеме, необходимом для иллюстрации основных понятий объектно-ориентированного программирования. Рассматриваются базовые структуры алгоритмов, типовые алгоритмы работы с массивами, основные приемы программирования, базирующиеся на объектном подходе. Предназначен для изучения основ алгоритмизации и начального знакомства с объектно-ориентированным программированием на языке C# студентами 1-го курса всех направлений, а также для самостоятельного изучения. УДК 004.3 ISBN 978-5-87623-779-8 О.В. Андреева, 2014
ОГЛАВЛЕНИЕ Предисловие ..............................................................................................5 Введение ....................................................................................................7 1. Основы алгоритмизации и программирования ...........................8 Понятие алгоритма ................................................................................... 8 Понятие о структурном подходе к разработке алгоритмов ............ 8 Метод пошаговой детализации .........................................................11 Основные понятия программирования ............................................... 12 Основы языка C# .................................................................................... 15 Переменные. Типы данных............................................................... 15 Литералы ............................................................................................. 16 Операторы объявления. Инициализация переменных .................. 17 Математические операторы. Выражения ........................................ 18 Приведение и преобразование типов в С# ...................................... 18 Логические операторы. Выражения ................................................ 20 Основные операторы C# ................................................................... 21 Ввод–вывод данных ........................................................................... 29 Этапы решения задач ............................................................................. 32 Среда разработки .................................................................................... 35 Создание нового проекта .................................................................. 35 Сохранение проекта ........................................................................... 36 Открытие существующего проекта ................................................. 36 Использование интегрированной среды разработки Visual C# ........ 37 Платформа Microsoft .NET Framework ................................................ 42 Лабораторная работа 1. Организация циклов ......................................44 Лабораторная работа 2. Организация разветвлений. Разветвления в цикле ......................................................................................................60 Лабораторная работа 3. Массивы. Типовые алгоритмы обработки массивов ..................................................................................................72 Лабораторная работа 4. Матрицы. Типовые алгоритмы обработки матриц ...................................................................................98 2. Основы объектно-ориентированного подхода ..........................122 Основные понятия ООП ...................................................................... 122 Классы и объекты ................................................................................. 124 Лабораторная работа 5. Методы .........................................................127 Лабораторная работа 6. Структуры ....................................................161 Лабораторная работа 7. Классы ...........................................................179
Лабораторная работа 8. Работа с текстовыми строками ...................191 Лабораторная работа 9. Файлы данных ..............................................199 Лабораторная работа 10. Разработка приложений с графическим интерфейсом пользователя. Экранные формы ...................................206 Библиографический список .................................................................233 Приложение 1. Таблицы встроенных типов ......................................... 234 Приложение 2. Региональные стандарты.............................................. 235
ПРЕДИСЛОВИЕ Современное развитие общества предполагает широкое использование компьютерных технологий в различных сферах деятельности. Умение использовать разнообразные возможности, предоставляемые компьютером, обеспечивают конкурентоспособность специалиста. Настоящий практикум предназначен для приобретения компетенций в области алгоритмизации задач и разработки приложений на базе объектно-ориентированного подхода (ООП) с использованием современного языка C#, включенного в среду разработки .NET Framework, являющуюся средством очень быстрой разработки приложений. Приобретаемые при изучении навыки являются необходимым этапом для дальнейшего овладения возможностями, предоставляемыми платформой .NET Framework, в полном объеме. В практикуме рассматривается комплекс вопросов, связанных с решением задач на компьютере, включая формализацию постановки, алгоритмизацию, современные методы разработки, отладки и тестирования программ, выбор структуры данных и пр. В теоретическом введении к лабораторным работам выделены и систематизированы типовые алгоритмы, в том числе для обработки текстов и решения других задач «невычислительного» характера. Практикум содержит большое количество примеров, облегчающих восприятие и освоение материала, и заданий для самостоятельного выполнения различной степени сложности, что позволит оценивать уровень освоения указанных умений и навыков как минимальный, средний или повышенный. При этом следует отметить, что в рамках настоящего практикума не ставилась цель знакомства со всеми возможностями, предоставляемыми языком C#, а рассматривается лишь ограниченное подмножество средств, необходимых для решения предлагаемых задач в рамках изучаемого курса. Дополнительные сведения можно почерпнуть в библиотеке MSDN, которая является основным источником информации для разработчиков, использующих инструментальные средства, продукты и технологии Microsoft. Студент может использовать справочную систему на русском языке, доступную по ссылке: http://msdn.microsoft.com/ru-ru/library/default.aspx. Практикум состоит из двух разделов, содержит введение, десять лабораторных работ и два приложения.
Раздел 1 в основном посвящен вопросам алгоритмизации и изучению базовых приемов программирования. Здесь дается представление об алгоритмическом методе, используемом при решении задач на компьютере, и современных подходах к разработке алгоритмов и программ; рассматриваются основные аспекты и этапы решения задач на компьютере, излагаются приемы и методы разработки и проверки правильности программ. Также дается краткое описание основных понятий языка C#, начальные сведения об использовании интегрированной среды разработки Visual C# и технологии .NET Framework. Раздел 2 знакомит с основными понятиями ООП (метод, класс, событие и др.), а также некоторыми дополнительными возможностями языка (работой с текстовыми строками, файлами данных, графическим интерфейсом пользователя). Каждая работа содержит теоретическое введение, в котором приводятся типовые алгоритмы и приемы решения задач соответствующего класса, проиллюстрированные примерами программ, задачи для самостоятельного выполнения, а также контрольные вопросы, которые могут использоваться как для самопроверки, так и для контроля преподавателем. Каждая работа содержит задания трех уровней: ● задание I уровня требует решения простых задач, которые сводятся к типовым алгоритмам, изложенным во введении к работе, и по существу представляют собой упражнения, направленные на приобретение навыков использования этих средств; ● задание II уровня содержит более сложные задачи, требующие использования типовых алгоритмов в сочетании; ● задание III уровня содержит, как правило, задачи, близкие к реальным, требуют самостоятельной модификации типовых алгоритмов, а также некоторого творческого подхода, и рекомендуются для выполнения более подготовленным студентам. Наличие заданий трех уровней позволяет в значительной степени индивидуализировать выполнение практикума. Практикум согласован с программой курса «Информатика и программирование» (для студентов института ИТАСУ), а также программами модулей «ИТ и основы алгоритмизации» и «Объектно-ориентированное программирование» дисциплины «Информатика» (для студентов остальных направлений).
ВВЕДЕНИЕ Язык C# (произносится Си шарп) – современный язык объектно-ориентированного программирования, предназначенный для разработки программ и систем программ на базе платформы Microsoft .NET Framework. Этот язык ориентирован на создание обычных автономных приложений. Важнейшим компонентом платформы .NET Framework является обширная библиотека классов, существенно облегчающая разработку программ. Объектно-ориентированное программирование по сравнению с традиционными алгоритмическими языками существенно расширяет возможности и облегчает разработку сложных программных систем в большой степени благодаря наличию упомянутой выше библиотеке классов, при использовании которой отпадает необходимость в написании кодов многих типовых алгоритмов. Однако при решении научно-технических задач алгоритмическая составляющая является весьма существенной. В разделе 1 настоящего практикума вопросам алгоритмизации и изучению базовых приемов программирования уделяется значительное внимание. В разделе 2 рассматриваются и используются и объектные свойства языка, на наглядных примерах демонстрируются предоставляемые ими новые возможности.
1. ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ Понятие алгоритма Алгоритмом называется четкое описание последовательности действий, которые необходимо выполнить для решения задачи. Практически решение любой задачи требует получения результата по заданным исходным данным. То есть можно сказать, что алгоритм описывает последовательный процесс преобразования исходных данных в результат. Разработать алгоритм решения задачи означает разбить задачу на последовательно выполняемые шаги (этапы), причем результаты выполнения предыдущих этапов могут использоваться при выполнении последующих. При этом должны быть четко указаны как содержание каждого этапа, так и порядок выполнения этапов. Отдельный этап (шаг) алгоритма представляет собой либо другую, более простую задачу, алгоритм решения которой разработан ранее, либо должен быть достаточно простым и понятным без объяснений. Четко сформулированная последовательность правил, описывающих этот процесс, и является алгоритмом. Понятие о структурном подходе к разработке алгоритмов Основные структуры алгоритмов – это ограниченный набор блоков и стандартных способов их соединения для выполнения типичных последовательностей действий. Приводимые ниже структуры рекомендуются при использовании так называемого структурного подхода к разработке алгоритмов и программ. Структурный подход предполагает использование только нескольких основных структур, комбинация которых дает все многообразие алгоритмов и программ. К основным структурам относятся: 1 . С л е д о в а н и е (рис. 1) – последовательное размещение блоков и групп блоков. В программе реализуется последовательным размещением операторов. 2 . Ц и к л. Применяется при необходимости выполнить какие-либо вычисления несколько раз до выполнения некоторого условия. Тело цикла – та последовательность действий, которая выполняется многократно (в цикле). Начальные присваивания – задание начальных значе
ний тем переменным, которые используются в теле цикла Особенность цикла в том, что эта структура может реализоваться в двух вариантах. В первом случае цикл всегда выполняется хотя бы один раз, так как первая проверка условия выхода из цикла происходит после того, как тело цикла выполнено (рис. 2, а). Во втором случае проверка условия выхода из цикла производится до выполнения тела цикла, и если при первой проверке условие выполняется, то тело цикла не выполняется ни разу (рис. 2, б). 3 . Р а з в е т в л е н и е (рис. 3). Применяется, когда в зависимости от условия нужно выполнить либо одно, либо другое действие. Действие 1 или Действие 2 может в свою очередь содержать несколько этапов. 4 . О б х о д (рис. 4). Частный случай разветвления, когда одна ветвь не содержит никаких действий. Рис. 1. Типовая структура Следование а б Рис. 2. Типовая структура Цикл
5 . М н о ж е с т в е н н ы й в ы б о р (рис. 5). Является обобщением разветвления, когда в зависимости от значения переменной (I) выполняется одно из нескольких действий: при I = 1 выполняется действие S1, при I = 2 выполняется действие S2 и т.д. Особенностью всех приведенных структур является то, что они имеют один вход и один выход, и их можно соединять друг с другом в любой последовательности. В частности, каждая структура может содержать любую другую структуру в качестве одного из блоков. Рис. 3. Типовая структура Разветвление Рис. 4. Типовая структура Обход