Тема 4.9. Обработка строковых данных
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

 

Цель этог Учебного пособия является изучение базовых средств программирования для студентов, не имеющих опыта в разработки программ. В пособии излагаются принципы программирования, основные технологии и средства на примере языка высокого уровня C#, а также базовые алгоритмы.

Подход, заложенный при изучении данного раздела предполагает, что весь материал разбит на темы, и каждая тема направлена на создания законченных работающих приложений. Причем изучение «теоретического материала» каждой темы, заканчивается выполнением лабораторного практикума соответствующей темы.

Предполагается, что в примерах пособия и при проведении Лабораторного практикума [2] используются средства разработки Microsoft Visual Studio 2008, включающие в себя бесплатные издания Visual Studio 2008 Express Edition. Это связано с тем, что издания Express Edition является «облегченными, простыми в изучении и использовании инструментальными средствами, ориентированными на любителя, новичка или студента». Для построения и выполнения приложений и Лабораторного практикума можно также воспользоваться полной версией Visual Studio 2008.

 


 

Тема 4.1. Интегрированная среда разработки
VisualStudio .NET и основные понятия

4.1.1. Технология визуального программирования и основные понятия

4.1.2. Главное окно VS и примеры создания проектов

4.1.3. Главное меню VS.NET

4.1.4. Стандартная панель инструментов и окна панелей VS.NET

 

4.1.1. Технология визуального программированияи основные понятия

 

Остановимся, прежде всего, на основных принципах, лежащих в основе современного визуального стиля программирования. На начальных этапах программирования работой программы полностью управлял ее текст. Развитие программирования потребовало диалога с пользователем в ходе выполнения программы. Вначале это был простой диалог, характерный для консольных приложений, когда выполнение программы приостанавливается, и она ждет ответа пользователя, вводимого с консоли. Дальнейшее развитие программирования привело к визуальному стилю, когда программные объекты стали иметь визуальные образы, когда появились графические объекты. Визуальный стиль изменил и стиль диалога с пользователем, позволив строить интерфейс пользователя, основанный на объектах, имеющих визуальный образ. Простейшим и классическим примером является объект класса TextBox, графическим образом которого является текстовое окно, которое может служить как для вывода текстов в окно, так и для ввода текста пользователем. Этот объект обладает мощной функциональностью текстового редактора, позволяя пользователю редактировать вводимый им текст, удаляя, заменяя и вставляя символы в произвольное место текста.

В библиотеке FCL (Framework Class Library, библиотека классов платформы) имеется большое число классов, предназначенных для организации пользовательского интерфейса. Эти интерфейсные классы и соответствующие объекты получили название элементов управления (control). Класс Control из этой библиотеки обеспечивает базовую функциональность всех элементов управления и является родительским классом для всех интерфейсных классов. Класс Form, также является непрямым наследником класса Control и прямым наследником класса ContainerControl. Последний класс определяет базовую функциональность тех элементов управления, которые, как и формы, являются контейнерами, допускающими внутри графического образа размещение образов других элементов управления.

Проектирование пользовательского интерфейса, как правило, ведется не программным путем, хотя и такое возможно, а «руками». В VisualStudio имеется специальная инструментальная панель с элементами управления, которые можно перетаскивать на форму в процессе проектирования, располагать эти элементы в нужном месте формы, менять их размеры, устанавливать их свойства, открываемые в окне свойств. Дизайнер формы транслирует все эти действия в соответствующий программный код.

По сравнению с предыдущими поколениями языков программирования язык программирования высокого уровня – Visual C# (в дальнейшем C#) имеет ряд принципиальных отличий. Это мощная, профессиональная объектно-ориентированная система программирования, позволяющая быстро и эффективно создавать приложения для Microsoft Windows ( MS Windows). Поскольку система является «визуальной», программист может создавать видимую часть приложения MS Windows, не написав ни строчки программного кода. Эта видимая часть является основой интерфейса пользователя «программа – пользователь», с помощью которого осуществляется взаимодействие пользователя с программой. Разработка, как программного кода, так и программного интерфейса осуществляется на принципах объектно-ориентированного подхода, реализованного в Visual Studio . NETприменительно к приложениям, выполняемым под управлением MS Windows с помощью Интегрированной Среды Разработки ( Integrated Development EnvironmentIDE). IDE–это программный комплекс, объединяющий в себе ряд средств, которые предназначены для использования в процессе разработки программного обеспечения. Как правило, IDE включает в себя редактор программного кода, компилятор и (или) интерпретатор программного кода, отладчик, средства для упрощения разработки пользовательского интерфейса и др.

Для таких приложений характерным является существование на экране в любой момент времени множества объектов: форм, окон, кнопок, меню, текстовых и диалоговых окон и т.п. Пользователь имеет определенную (в зависимости от алгоритма решаемой задачи) свободу выбора в части использования этих объектов. Он может сделать щелчок (нажатие и затем отпускание) кнопкой мыши, перетащить объект, ввести данные в окно и т.п. В большинстве случаев не предполагается заранее установленная последовательность действий. Как правило, программист, создавая программу, не должен ограничивать действия пользователя. Он должен разрабатывать программу, которая адекватно реагирует на любое действие пользователя, даже неправильное (в программе непредусмотренных действий не должно быть). Для каждого объекта на экране существует ряд возможных событий. Одни из них производятся пользователем: щелчок или двойной щелчок по кнопке мыши, перетаскивание объекта, нажатие клавиши клавиатуры, ввод текста в окно и т.п. Некоторые события происходят в результате совершения других событий: например, окно открывается или закрывается, элемент управления становится активным (доступным) или теряет активность.

Каждое событие проявляется в определенных действиях (откликах, реакции, поведении) программы. Эти действия можно разделить на две группы.

Первая является следствием свойств объекта. Эти свойства устанавливаются программистом из некоторого стандартного перечня свойств, заданного системой программирования C# и самой системой MS Windows. Примером таких действий является свертывание окна после щелчка по кнопке Свернуть. Изменить поведение объекта в подобных случаях программист не может. Однако во многих случаях имеется определенная возможность вариации отклика объекта на событие (текст, шрифт, цвет, размер, место на экране и др.) путем задания определенных свойств.

Вторая группа действий (отклика) на события полностью определяется программистом. Это обеспечивается возможностью задания процедуры C# для каждого возможного для объекта события. Первоначально каждая такая процедура является пустой, и, следовательно, когда происходит событие, ничего не случается. Теоретически можно создать процедуру для любого события, но на практике программист заполняет кодом процедуры только для тех событий, которые в данной программе представляют интерес.

Таким образом, C#предоставляет пользователю объектно-ориентированную среду программирования, основанную на событиях. Упрощенно говоря, процесс разработки программы в этой среде сводится к выбору набора объектов и их свойств, заданию событий и процедур их обработки, которые в совокупности обеспечивают решение поставленной задачи.

Основными терминами визуального объектно-ориентированного программирования являются объект , свойство, класс, событие, процедура, форма, которые в любой среде визуальной разработки приложений имеют одинаковый смысл.

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

Основной единицей в объектно-ориентированном программировании является программный объект, который объединяет в себе как описывающие его данные (свойства), так и средства обработки этих данных (методы). То есть, программные объекты обладают свойствами, могут использовать методы и реагировать на события.

Форма ( Form )–это объект, представляющий собой окно, на котором размещаются элементы управления, например: Кнопка ( Button); Метка ( Label); Текстовое Поле ( TextBox); Флажок ( CheckBox); Список ( ListBox); Раскрывающийся Список ( ComboBox); Переключатель ( RadioButton) и др.

Среда визуального программирования позволяет увидеть объекты на экране на этапе проектирования приложения, дает возможность настроить объекты, изменяя их расположение, размеры и другие свойства. Форма является контейнером объектов, в то же время форма также является объектом. При размещении объекта на форме основные параметры объекта сохраняются в исполняемом программном коде. При этом объектами также являются программные блоки или фрагменты программного кода, из которых «собирается» проектируемое приложение.

Свойство объекта (Propert i es)– это значение или характеристика, хранимая объектом. В тоже время совокупность свойств объекта определяет его состояние. Например, Текст (Text)или Цвет ( BackColor) формы, способ Выравнивания текста ( Alignment)или Цвет символов ( ForeColor) текстового поля – это свойства. В программе обращение к объекту происходит по имени объекта. Свойства объектов можно задавать в окне Свойства ( Properties)и менять свойства объектов в программном коде.

Класс ( Class )– это совокупность объектов, обладающих общими свойствами и поведением. Например, Button 1 на Форме со всеми своими конкретными свойствами и действием является объектом класса Button. Класс характеризуется такими основополагающими понятиями объектно-ориентированного программирования, как:

· наследование–объект класса обладает всеми свойствами, методами и событиями класса;

· инкапсуляция – сокрытие сложного механизма действия объекта;

· полиморфизм – объекты разных классов могут использовать одноименные методы, работающие по-разному для разных объектов.

 

Коллекция объектов– это набор объектов, объединенных общим именем, причем не обязательно это объекты одного класса. Примером коллекций могут служить встроенные в C# коллекции, в числе которых:

· Forms (Формы) –множество загруженных форм приложения;

· Controls (Элементы управления) –множество всех элементов управления в форме.

 

Пространство имен – это иерархическая библиотека классов, организованная под уникальными именами такими, например, как System. Windows или System. Math. Для доступа к классам и основанным на них объектам, входящим в пространство имен, в начале кода программы может быть помещен оператор using. Каждый проект в VS также содержит корневое пространство имен. Пространство имен в документации по VS называется также библиотеками классов.

Событие–это средство взаимодействия объектов друг с другом. Событие может создаваться пользователем или возникать в результате воздействия других программных объектов. Объекты могут генерировать события и выполнять действия в ответ на заданные события. Примеры событий –Load (Загрузка) формы, Click (Щелчок) мышью по объекту. В качестве реакции на событие вызывается событийная процедура, которая может изменять свойства объекта, вызывать его методы и т.д.

В языке C#, как и во многих других языках программирования, предназначенных для написания приложений для MS Windows, используется событийно-управляемая модель программирования. Фактически это означает, что ни одно приложение не может функционировать само по себе, не взаимодействуя с другими приложениями и с операционной системой. Для примера возьмем самый простой случай, когда команда задана нажатием клавиши на клавиатуре. Она не может непосредственно воздействовать ни на одно из приложений, и MS Windows в данном случае выступает в роли посредника. Восприняв событие, связанное с нажатием клавиши, операционная система (ОС) решает, куда передать обработку этого события. Затем сообщение о нажатии клавиши посылается приложению. Приложение обрабатывает его, анализируя ввод с клавиатуры, и отображает сообщение, например, в активном текстовом поле.

Приложения, созданные с помощью C#, работают потому же принципу. При этом C# выполняет как бы внутреннюю работу. Например, когда в приложении происходит щелчок мышью по кнопке, возникает событие – C# перехватывает соответствующее сообщение MS Windows и вызывает событие Click объекта Button.

Обратите внимание, что в программах, управляемых событиями, нет сплошного программного кода, который выполняется от начала до конца. Это значит, что после запуска программы у пользователя нет и четкого представления о конкретном пути выполнения алгоритма. То есть, можно в любое время щелкнуть по какой-либо кнопке в приложении или выполнить, например, ввод текста в поле, а можно при желании и прекратить обработку. Поэтому приложение вынуждено ждать, пока одно из этих событий не наступит, и только потом выполняет заданный программный код. Таким образом, для начала выполнения программного кода всегда необходимо событие – это одно из важнейших правил создания приложений в среде MS Windows.

Откликом на событие является вызов метода обработки события, который был ранее создан программистом или VS. Смысл такого метода – выполнение запрограммированных действий: изменение свойств объекта, вызов методов, выполнение вычислений по заданному алгоритму с выводом результата в определенные места приложения и т.п. Например, если пользователь нажимает кнопку, то в качестве отклика выполняется некоторая последовательность действий, которая определена методом обработки события в соответствии с заданным алгоритмом.

Кроме методов обработки событий пользователь может создать процедуры пользователя.

Метод обработки события – это законченный программный код, который реализует отдельный алгоритм. Для каждого события можно запрограммировать отклик, т.е. реакцию объекта на произошедшее событие, в результате будет выполнена некоторая последовательность действий – метод обработки события.

Имя метода обработки события состоит из трех частей (включая подчеркивание):

ИмяОбъекта_ИмяСобытия .

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

Функция пользователя – это также законченный программный код, который реализует отдельный алгоритм. Однако, вызов такой функции происходит по имени этой процедуры, а не как результат какого-либо события.

Метод – это функция, которая реализует действия, возможные с объектом. В результатеэтих действий в объекте что-либо меняется.

C# предоставляет пользователю большое количество встроенных функций (методов), готовых к использованию. Эти функции являются неотъемлемой частью библиотеки классов, то есть методов классов Microsoft.NET Framework.

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

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

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

Проект – это разрабатываемое приложение (программа) – набор файлов, в которых хранится информация обо всех компонентах, используемых в данном приложении. Поскольку C#, с одной стороны – это система объектно-ориентированного визуального программирования, так как позволяет программировать алгоритмы на этом языке, а с другой стороны, эта система является средой проектирования, то результатом процессов программирования и проектирования является проект, который объединяет в себе программный код и графический интерфейс. Поэтому, чтобы записать на диск или считать с диска какую – либо программу, необходимо записывать или считывать проект, в котором находится эта программа. Часто оказывается удобно сохранять в отдельном файле форму проекта, что позволяет использовать данную форму в других проектах. После того, как все необходимые элементы внесены в форму и написан весь программный код (программа), приложение считается созданным и при этом будет создан проект данного приложения. Приложение в C# состоит из множества файлов, включая файл проекта с расширением . csbproj. Файл проекта содержит информацию, относящуюся к одной программной задаче – одному приложению.

Проект является также единицей компиляции. Результатом компиляции проекта является сборка. Каждый проект содержит одно или несколько пространств имен. На начальном этапе создания проекта по заданному типу проекта автоматически строится каркас проекта, состоящий из классов, являющихся наследниками классов, входящих в состав библиотеки FCL. Так, если разработчик указывает, что он хочет построить проект типа «WindowsFormsApplication», то в состав каркаса проекта по умолчанию войдет класс Form1 – наследник библиотечного класса Form. Разработчик проекта населит созданную форму элементами управления – объектами соответствующих классов, тем самым расширив возможности класса, построенного по умолчанию.

Каждый проект содержит всю информацию, необходимую для построения сборки. В проект входят все файлы с классами, построенные автоматически в момент создания проекта, и файлы с классами, созданные разработчиком проекта. Помимо этого проект содержит ссылки на пространства имен из библиотеки FCL, содержащие классы, используемые в ходе вычислений. Проект содержит ссылки на все подключаемые к проекту DLL, COM-объекты, другие проекты. В проект входят установки и ресурсы, требуемые для работы. Частью проекта является файл, содержащий описание сборки.

В зависимости от выбранного типа проект может быть выполняемым или невыполняемым. К выполняемым проектам относятся, например, проекты типа Console или Windows. При построении каркаса выполняемого проекта в него включается класс, содержащий статическую процедуру с именем Main(). В результате компиляции такого проекта создается PE-файл (PortableExecutablefile) выполняемый переносимый файл с уточнением exe. Напомним, что PE-файл может выполняться только на компьютерах, где установлен Framework .Net, поскольку это файл с управляемым кодом.

К невыполняемым проектам относятся, например, проекты типа DLL. В результате компиляции такого проекта в сборку войдет файл с уточнением dll. Такие проекты (сборки) непосредственно не могут быть выполнены на компьютере. Они присоединяются к выполняемым сборкам, откуда и вызываются методы классов, размещенных в невыполняемом проекте (DLL).

Этапы реализации проекта – можно разделить на несколько шагов:

· создание графического интерфейса проекта (интерфейса пользователя), который должен обеспечить взаимодействие проекта с пользователем при работе проекта;

· установка значений свойств объектов графического интерфейса;

· создание, редактирование и отладка программного кода проекта;

· сохранение проекта для дальнейшего использования.

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

Каждый проект, создаваемый в VS, помещается в оболочку, называемую Решением – Solution. Решение может содержать несколько проектов, как правило, связанных общей темой. Например, все проекты, рассматриваемые в одной главе книги, можно поместить в одно Решение. Так, например, в Примере 4.1.2-1 Решение будет содержать три проекта – DLL с классами, определяющими содержательную сторону приложения, и два интерфейсных проекта – консольный и Windows.

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

Решения позволяют придать структуру множеству проектов, что особенно полезно, когда проектов много.

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

Пространство имен – это оболочка, содержащая множество классов, объединенных, как правило, общей тематикой или группой разработчиков. Собственные имена классов внутри пространства имен должны быть уникальны. В разных пространствах могут существовать классы с одинаковыми именами. Полное или уточненное имя класса состоит из уникального имени пространства имен и собственного имени класса. В пространстве имен могут находиться как классы, так и пространства имен.

Пространства имен позволяют задать древовидную структуру на множестве классов большого проекта. Они облегчают независимую разработку проекта большим коллективом разработчиков, каждая группа которого работает в своем пространстве имен.

Пространства имен придают структуру библиотеке FCL, содержащей большое число различных пространств имен, объединяющих классы определенной тематики. Центральным пространством имен библиотеки FCL является пространство System, содержащее другие пространства и классы, имеющие широкое употребление в различных проектах.

Итак, обратите внимание на то, что:

Класс – это центральное понятие объектно-ориентированного программирования и языка C#. Разработчик проектов на C# использует стандартные классы из библиотеки FCL и создает собственные классы. У класса две различные роли:

1. Класс – это модуль – архитектурная единица построения проекта по модульному принципу. Справиться со сложностью большого проекта можно только путем деления его на модули, - сравнительно небольшие единицы, допускающие независимую разработку и последующее объединение в большую систему.

2. Класс – это тип данных. Тип данных – это семантическая единица, описывающая свойства и поведение множества объектов, называемых экземплярами класса. Синтаксически класс представляет описание данных, называемых полями класса, описание методов класса и описание событий класса. Для класса, рассматриваемого как тип данных, поля определяют состояние объектов, методы – поведение объектов. События – это некоторые специальные состояния, в которых может находиться объект, и которые могут обрабатываться внешними по отношению к классу обработчиками события. Так, например, объект класса Person может иметь событие «День рождения» и каждый из обработчиков этого события может принести объекту свои поздравления по этому случаю.

 

Как правило, класс C# играет обе роли. Но язык C# позволяет определять классы, играющие только роль модуля. Это так называемые статические классы, для которых невозможно создавать объекты. В ходе выполнения программной системы создается единственный экземпляр класса, обеспечивающий доступ к полям и методам этогомодуля.

Хороший стиль программирования требует, чтобы каждый класс сохранялся в отдельном файле, имя которого совпадало бы с именем класса. Это требование стиля, которое на практике может и не выдерживаться. В наших примерах будем стараться выдерживать этот стиль.

Определив класс, разработчик получает возможность динамически создавать объекты класса. Для программистов, начинающих работать в объектном стиле, типичной ошибкой является путаница понятий объекта и класса. Нужно с самого начала уяснить разницу. Класс, создаваемый разработчиком, представляет статическое описание множества объектов. Объект – это динамическое понятие, он создается в ходе выполнения программной системы, реально существует в памяти компьютера и обычно исчезает по завершении выполнения проекта. Программист может создать программную систему, включающую два - три класса, но в ходе работы такой системы могут динамически появляться сотни объектов, взаимодействующих друг с другом сложным образом.

 

4.1.2. Главное окно VS и примеры создания проектов

 

Для запуска VS из главного меню MS Windows необходимо выполнить следующие действия:

1. Нажать кнопку Пуск ( Start), расположенную в нижней части экрана.

2. В открывшемся главном меню MS Windows необходимо выбрать команду Программы.

Появится меню данной команды.

3. ВыбратьвменюкомандуMicrosoftVisualStudio.

На экране появитсяГлавное окно VS с панелью Начальная страница ( StartPage).

 

В этом окне можно выделить несколько основных панелей: окно Стандартная панель инструментов (Standart Toolbars), окно Начальная страница ( StartPage), окно Обозреватель решений ( SolutionExplorer), окно Панель элементов ( Toolbox) и др.

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

Окно Начальная страница ( StartPage) позволяет открывать использовавшиеся недавно проекты, осуществляет поиск примеров, содержит различные ссылки на сайты, которые могут помочь при работе с VS.

В окне Обозреватель решений ( SolutionExplorer) отображаются файлы текущего решения.

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

К средствам, призванным облегчить разработку приложений, относится также окно Панель элементов (Toolbox), отображающее элементы управления, используемые в проектах C#.

Для создания нового проекта используется диалоговое окно Создание проекта
(NewProject)
(рис. 4.1.2-1).

Для его открытия необходимо выполнить одно из следующихдействий:     

· выбрать ссылку Создать: проект... ( Create: Project...)в окне Начальная страница ( StartPage);

· выполнить команду Создать проект… ( NewProject…)из элемента главного меню Файл ( File);

· нажать кнопкуСоздать проект ( NewProject), расположенную на стандартной панели инструментов.

 

Рис. 4.1.2-1. Диалоговое окно Создание проекта ( NewProject)

 

В C# можно создавать различные приложения. Кратко охарактеризуем три основных шаблона проектов:

· Приложениес WindowsForms ( Windows Forms Application). Предназначен для создания традиционного Windows-приложения и приложения "клиент-сервер", пользовательскийинтерфейс для которых проектируется с помощью форм MSWindows. Для формыможно задавать определенные характеристики и располагать на ней различныеэлементы управления.

· Консольное приложение ( ConsoleApplication). Создает приложения, которые, какправило, не поддерживают пользовательские графические интерфейсы, и представляет собой отдельный исполняемый файл.

· Библиотека классов ( DLL).

 

Рассмотрим на примере 4.1.2 -1основные шагисозданияразличных проектов.

 

Пример 4.1.2-1.Построить Решение, содержащее три проекта – проект DLL (библиотеку классов), консольный проект и Windows-проект.

 




Постановка задачи

В системе типов языка C# есть несколько типов, задающих различные подмножества арифметического типа данных – int, double и другие. Для значения x любого из этих типов хорошо бы уметь вычислять математические функции – sin(x), ln(x)и другие. Встраивать вычисление этих функций в каждый из классов, задающих соответствующий арифметический подтип, кажется неразумным. Поэтому в библиотеку FCL включен класс Math, методы которого позволяют вычислять по заданному аргументу нужную математическую функцию. Класс Math является примером статического класса, играющего единственную роль – роль модуля. У этого класса нет собственных данных, если не считать двух математических констант – e и pi, а его методы являются сервисами, которые он предоставляет другим классам.

Построим аналог класса Math и поместим этот класс в DLL, что позволит повторно использовать его, присоединяя при необходимости к различным проектам. В нашем примере не будем моделировать все сервисы класса Math. Ограничимся вычислением одной функции sin(x). Эту функцию, как и другие математические функции, можно вычислить, используя разложение в ряд Тэйлора:

 

(1)

 

Итак, необходимо построить библиотеку классов DLL, содержащую класс, являющийся аналогом класса Math из библиотеки FCL. Затем необходимо построить консольный проект, позволяющий провести тестирование корректности вычислений функций построенного нами класса. И наконец, необходимо построить Windows-проект, интерфейс которого позволит провести некоторые интересные исследования. Все три проекта будут находиться в одном Решении.

 

Создание проектов:

Дата: 2019-11-01, просмотров: 281.