WWW.DISS.SELUK.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА
(Авторефераты, диссертации, методички, учебные программы, монографии)

 

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ

ВОЛОГОДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

КАФЕДРА «УПРАВЛЯЮЩИЕ И ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ»

ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ

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

Методические указания по курсовому проектированию

Факультет электроэнергетический

Направление 230100 «Информатика и вычислительная техника»

Вологда 2010 УДК 681.3.06 Объектно-ориентированное программирование: методические указания по курсовому проектированию. Вологда: ВоГТУ, 2010. – 22 с.

В методических указаниях приведены примеры заданий на курсовое проектирование по дисциплине «Объектно-ориентированное программирование»

для студентов направления 230100 Информатика и вычислительная техника».

Также в них излагаются общие сведение о разработке программного обеспечения и использования объектно-ориентированного подхода для этих целей.

Утверждено редакционно-издательским советом ВоГТУ Составитель: А.В. Машкин, канд. техн. наук, доцент кафедры УВС ВоГТУ Рецензент: А.А. Суконщиков, канд. техн. наук, доцент кафедры АВТ ВоГТУ

ВВЕДЕНИЕ

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

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





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

В методических указаниях приведены рекомендации по разработке программного обеспечения при помощи технологии объектно-ориентированного программирования (ООП), которое выполняется студентами в рамках работы над курсовыми проектами по дисциплине «Объектно-ориентированное программирование». Для разработки программного обеспечения предлагается использовать пакет Microsoft Visual Studio 2005 и один из объектноориентированных языков этого пакета – Visual C#.

1. ТЕХНИЧЕСКОЕ ЗАДАНИЕ

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

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

2. Программа визуализации табличных данных.

3. HTML-редактор с подсветкой тегов.

4. Редактор электронных таблиц.

5. Программа графического оформления текстовых объявлений.





6. Электронный учебник.

7. FTP-клиент.

8. FTP-сервер.

9. Программа для минимизации логических функций с использованием карт Карно.

10. Программа для минимизации логических функций с диаграмм Вейча.

11. Текстовый редактор.

12. Графический редактор.

13. Отладчик для микропроцессора КР580ВМ.

14. Программа для решения систем обыкновенных дифференциальных уравнений.

15. Программа для моделирования работы склада продукции.

16. Программа для моделирования работы библиотеки.

17. Программа для моделирования работы регистратуры поликлиники.

18. Программа для моделирования работы отдела кадров.

19. Программа для моделирования работы железнодорожных касс.

20. Программа для работы с матрицами.

21. Электронный словарь.

22. Графическая игра.

23. Программа для автоматизации составления расписания занятий.

Предпочтение отдается реальной тематике, определяемой интересами студента и согласуемой с преподавателем.

2. МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО РАЗРАБОТКЕ

ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

2.1. Общие сведения о разработке программного обеспечения Разработку программного обеспечения желательно вести поэтапно. При этом последовательность выполнения этапов может выглядеть следующим образом:

1. Этап постановки и формулирования задачи.

2. Этап проектирования.

3. Этап кодирования.

4. Этап отладки и тестирования.

5. Этап эксплуатации и сопровождения.

В рамках первого этапа следует:

1) произвести изучение предметной области и осуществить сбор материала в проблемно-ориентированном контексте;

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

3) сформулировать требования к представлению исходных данных и выходных результатов;

4) определить структуры входных и выходных данных;

5) сформулировать ограничения и допущения на исходные и выходные В рамках второго этапа следует:

1) сформировать объектно-ориентированную модель задачи;

2) осуществить выбор метод реализации решения задачи;

3) разработать алгоритм реализации задачи.

В рамках третьего этапа следует:

1) произвести уточнение структуры входных и выходных данных и определение формата их представления в объектно-ориентированной 2) произвести программирование решения задачи;

3) произвести комментирование текста программы и составления предварительного описания программы;

В рамках четвертого этапа следует:

1) составить тесты для проверки правильности работы программы;

2) произвести обнаружение, локализацию и устранение ошибок в программе, выявленных с помощью тестов;

3) скорректировать код программы и ее описание.

В рамках пятого этапа следует:

1) настроить программу на конкретные условия использования;

2) обучить пользователей работать с программой;

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

4) произвести модификацию программы с целью устранения выявленных ошибок.

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

Если тематика курсового проекта связана с разработкой системы управления базой данных (СУБД), то на этапе формулирования и постановки задачи студенту следует обосновать выбор модели базы данных (иерархическая, реляционная, сетевая, объектная и т. д.). Так же на этом этапе студенту следует произвести выбор архитектуры СУБД (локальная, файл-серверная, клиентсерверная, распределенная, Интернет-архитектура).

При разработке программного обеспечения, осуществляющего обмен информацией между приложениями Windows, следует произвести анализ технологий, предназначенных для этих целей – DDE (Dynamic Data Exchange, динамический обмен данными), OLE (Object Linking and Embedding, связывание и внедрение объектов), DLL (Dynamic Linking Library, динамически подключаемые библиотеки), COM (Component Object Model, многокомпонентная модель объектов), DCOM (Distributed COM, распределенных приложений COM), CORBA (Common Object Request Broker Architecture, общая архитектура брокеров объектных запросов).

Если тема курсового проекта связана с созданием многоуровневого приложения, то студенту следует рассмотреть возможность использования одной из следующих технологий программирования – MIDAS (Multitier Distributed Application Services Suite, набор служб поддержки распределенных многоуровневых приложений), MTS (Microsoft Transaction Server, сервер транзакции), ADO (ActiveX Data Objects). Так же следует проанализировать и выбрать один из протоколов передачи данных между сервером и программой-клиентом – TCP/IP(Transmission Control Protocol/Internet Protocol, протокол управления передачей/межсетевой протокол), HTTP(HyperText Transfer Protocol, протокол передачи гипертекста), DCOM.

При разработке программного обеспечения, предназначенного для функционирования в Интернете, помимо протоколов передачи информации TCP/IP, HTTP, следует также рассмотреть протоколы FTP, SMPT, POP, UDP.

Разработка приложений в Microsoft Visual Studio 2.2.

Среда разработки Microsoft Visual Studio (Visual Studio.NET) предоставляет мощные и удобные средства написания, корректировки, компиляции, отладки и запуска приложений, использующих.NET-совместимые языки. Корпорация Microsoft включила в платформу средства разработки для четырех языков: Visual C#, Visual J#, Visual Basic и Visual C++. Платформа.NET является открытой средой. Это означает, что компиляторы для нее могут поставляться и сторонними разработчиками. К настоящему времени разработаны десятки компиляторов для.NET, например, Ada, Perl, Delphi, Lisp и др. Все.NETсовместимые языки должны отвечать требованиям CLS (Common Language Specification – общеязыковая спецификация), в которой описывается набор общих для всех них характеристик. Это позволяет использовать для разработки приложения несколько языков программирования и вести полноценную межъязыковую отладку. Все программы, созданные в Visual Studio.NET, независимо от языка программирования, на котором они написаны, используют одни и те же базовые классы библиотеки.NET.

Приложение в процессе разработки называется проектом. Проект включает в себя все необходимое для создания приложения: файлы, папки, ссылки и прочие ресурсы. Среда Visual Studio.NET позволяет создавать проекты различных типов, таких как:

1) Windows-приложение использует элементы интерфейс ОС Windows, включая формы, кнопки, флажки и т.п.;

2) консольное приложение;

3) библиотеки классов. Они объединяют в себе классы, которые предназначены для использования в других приложениях;

4) Web-приложение. Это приложение доступ к которому осуществляется через браузер и которое по запросу формирует web-страницу и отправляет ее клиенту по сети;

5) Web-сервис. Это компонент, методы которого могут вызываться через Интернет.

Несколько проектов можно объединить в решение (solution), что облегчает их совместную разработку. Скомпилированная программа будет выполняться ОС Windows, только если будет установлена исполняющая среда.NET (dotnetfx.exe). Этот пакет поставляется совместно с Visual Studio и его можно установить в любой версии ОС Windows, начиная с Windows’98. Исполняемая среда контролирует исполнение программ (управляемый код), сглаживая некоторые ошибки, наличие которых в обычных программах могло бы вызвать крах всего приложения. Единственным языком, с помощью которого можно создавать и управляемый код, и обычные приложения для Windows (неуправляемый код), является язык Visual C++. Несмотря на присутствие в его названии слова Visual при разработке программ он не позволяет использовать визуальные компоненты, что замедляет процесс разработки прикладных программ. Остальные три языка, входящие в состав пакета, при разработке программ позволяют использовать готовые визуальные компоненты.

После запуска Visual Studio на экране возникает окно, стартовая страница (Start page) которого содержит список недавно использовавшихся проектов (Recent Projects). Щелчок левой кнопкой мыши по названию одного из проектов в этом списке приведет к его открытию. Также открыть проект можно при помощи меню, выбрав команду File Open Project/Solution. Для создания нового проекта следует выбрать в меню пункт File New Project. При создании нового проекта появится окно New Project, изображенное на рис. 2.1.

В древовидном списке слева Project Types (типы проектов) можно выбрать проекты для четырех основных языков программирования, представленных в Visual Studio. При выборе одного из видов проекта в правом списке Templates (Шаблоны) открывается перечень шаблонов, которые могут быть использованы мастером для создания проекта с минимальной функциональностью. Ниже списков в поле Name (Имя) следует ввести имя проекта. В каталоге, который следует указать в комбинированном списке Location (Расположение), будет создан еще один каталог с именем проекта, в котором и расположатся все его файлы. Интегрированная среда Visual Studio оперирует таким понятием как рабочее пространство – Solution (буквально «решение»). Рабочее пространство может быть пустым, но может и содержать несколько проектов.

Обычно рабочее пространство создается вместе с проектом и помещается в один каталог. Имя рабочего пространства задается в поле Solution Name, для его изменения необходимо, чтобы был отмечен флаг Create directory for solution (создать каталог для рабочего пространства). При указании имени рабочего пространства, отличного от имени проекта, в каталоге, имя которого записано в поле Location, сначала будет создан подкаталог для рабочего пространства, а в нем подкаталог для проекта. Информация о рабочем пространстве помещается в файл с расширением *.sln, а информация о проекте – в файл с расширением *.vcproj.

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

Сообщения поступают в общую очередь, откуда распределяются по очередям сообщений. Каждое приложение содержит цикл обработки очереди сообщений, в котором выбирается сообщение из очереди и вызывается подпрограмма, предназначенная для его обработки. Таким образом, Windowsприложение состоит из главной программы, обеспечивающей инициализацию и завершение приложения, цикла обработки сообщений и набора обработчиков событий. Более подробную информацию о функционировании Windowsприложений можно найти в [1, 2], а справочную информацию о функциях Windows API (Application Program Interface – программный интерфейс приложения) в [3].

Среда Visual Studio содержит удобные средства разработки Windowsприложений, выполняющие вместо программиста рутинную работу – создание шаблонов приложений и форм, заготовок обработчиков событий, организацию цикла обработки сообщений и т.д. При создании нового проекта Visual C# и выбора шаблона Windows Application среда Visual Studio сформирует готовый шаблон Windows-приложения. В этом шаблоне имеется вкладка заготовки формы Form1.cs[Design], которая располагается в основной части экрана.

Форма представляет собой окно и предназначено для размещения компонентов (элементов управления) – меню, текста, кнопок, списков, изображений и т.д.

Среда создает не только заготовку формы, но и шаблон текста приложения. Перейти к нему можно, щелкнув в окне Solution Explorer (ViewSolution Explorer) правой кнопкой мыши на файле Form1.cs и выбрав в контекстном меню команду View Code. При этом откроется вкладка с кодом формы, листинг которого имеет примерно следующий вид:

Листинг 2.1 Шаблон Windows-приложения using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

namespace WindowsApplication public partial class Form1 : Form Приложение начинается с директив использования пространств имен библиотеки.NET. Для пустой формы, не содержащей ни одного компонента, необходимыми являются только две директивы:

using System;

using System.Windows.Forms;

Остальные директивы добавлены средой на «вырост». Все классы библиотеки.NET, а также все классы, который создает программист в среде.NET, имеют одного общего предка – класс Object и организованы в единую иерархическую структуру. Внутри нее классы логически сгруппированы в так называемые пространства имен, которые служат для упорядочивания имен классов и предотвращения конфликтов имен: в разных пространствах имена могут совпадать. Пространства имен могут быть и вложенными. Любая программа, создаваемая в.NET, использует пространство имен System. В нем определены классы, которые обеспечивают базовую функциональность, например, поддерживают выполнение математических операций, управление памятью и ввод-вывод. Пространство имен System.Windows.Forms содержит элементы графического интерфейса пользователя, такие как формы, кнопки и т.д. Также в листинге программы содержится описание части класса Form1, порождаемого от класса Form:

public partial class Form1 : Form Для улучшения читабельности программ, начиная с версии Visual Studio 2005 (второй версии языка Visual C#), введена возможность разбивать описание типа на части и хранить их в разных физических файлах, создавая так называемые частичные типы (partial types). Это может потребоваться при описании классов, содержащих большой объем исходных текстов, или, что более актуально, для отделения части кода, сгенерированной средствами среды, от написанной программистом вручную. Кроме того, такая возможность облегчает отладку программы, позволяя отделить отлаженные части класса от новых. Для описания отдельной части класса используется модификатор partial. Он может применяться к классам, структурам и интерфейсам, например:

public partial class A public partial class A После совместной компиляции этих двух частей получается такой же код, как если бы класс был описан обычным образом. Все части одного и того же частичного типа должны компилироваться одновременно, иными словами добавление новой части к уже скомпилированной не допускается.

Модификатор partial не является ключевым словом и должен стоять непосредственно перед одним из ключевых слов class, struct или interface в каждой из частей. Все части определения одного класса должны быть описаны в одном и том же пространстве имен. Если модификтор partial указывается для типа, описание которого состоит только из одной части, то это не является ошибкой.

Поскольку, как следует из листинга 2.1, класс Form1 описан как частичный тип, то для получения полного исходного описания этого класса, находясь на вкладке Form1.Designer.cs, либо Form1.cs* (рис. 2.2), следует выбрать из левого раскрывающегося списка либо пункт components, либо Dispose (bool disposing), либо InitializeComponent(). При выборе одного из этих пунктов откроется текст, представленный в листинге 2.2 (комментарии из него удалены) Листинг 2.2. Шаблон Windows-приложения (продолжение) namespace WindowsApplication partial class Form private System.ComponentModel.IContainer protected override void Dispose(bool disposing) #region Windows Form Designer generated code private void InitializeComponent() System.ComponentModel.Container();

System.Windows.Forms.AutoScaleMode.Font;

Рис. 2.2. Окно, используемое для доступа к различным частям класса Класс Form1 наследует от своего предка множество элементов, а в нем самом, как видно из листинга 2.2, описано новое закрытое поле components – контейнер для хранения компонентов, которые можно добавить в класс формы.

Поскольку во вновь созданной форме компонентов не имеется, то значение этого поля равно null. Конструктор формы вызывает закрытый метод InitializeComponent, автоматически формируемый средой (код этого метода скрыт между директивами препроцессора #region и #endregion).

Этот метод обновляется средой при добавлении элементов управления на форму, а также при изменении свойств формы и свойств содержащихся на ней элементов управления. Например, если изменить цвет фона формы с помощью окна свойств (Properties), в методе появится примерно такая строка:

this.BackColor=System.Drawing.SystemColors.ControlDarkDark;

Метод освобождения ресурсов Dispose вызывается автоматически при закрытии формы. Если в режиме отладки произвести пошаговый запуск программы (Debug Step Over или нажав клавишу F10), то появится еще одна вкладка Program.cs, которая содержит текст, представленный в листинге 2.3.

Листинг 2.3. Шаблон Windows-приложения (продолжение) using System;

using System.Collections.Generic;

using System.Windows.Forms;

namespace WindowsApplication static class Program Application.EnableVisualStyles();

Application.SetCompatibleTextRenderingDefault(false);

Application.Run(new Form1());

Точка входа в приложение, метод Main, содержит вызов трех статических методов класса Application. Последний из них – метод Run, запускает цикл обработки сообщений и выводит на экран форму, новый экземпляр которой передается ему в качестве параметра.

Процесс создания Windows-приложения состоит из двух основных этапов:

1) визуальное проектирование, т.е. задание внешнего облика приложения;

2) определения поведения приложения путем написания процедур обработки событий.

2.3. Основные понятия объектно-ориентированного программирования В языках C++, Visual C#, Object Pascal имеется четкое разграничение между понятиями объекта и класса. Класс – это тип данных, а объект – конкретно существующий в памяти экземпляр данного класса. Классы имеют поля, свойства (напоминающие поля, но имеющие дополнительные описатели, определяющие механизмы записи и считывания данных, что позволяет повысить строгость внутренней структуры декларирования класса) и методы (подпрограммы, которые обрабатывают поля и свойства класса). Поля, свойства и методы класса называются членами класса.

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

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

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

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

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

[атрибуты] [спецификаторы] class имя_класса [: предки] {тело_класса (список членов класса)} Обязательным при описании класса являются только ключевое слово class, а также имя и тело класса. Имя класса задается программистом по общим правилам C#. Тело класса – это список описаний его элементов. Список может быть и пустым, если класс не содержит ни одного элемента. Таким образом, простейшее описание класса может выглядеть следующем образом:

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

Спецификаторы 2-6 (табл. 3.1) называются спецификаторами доступа.

Они определяют, откуда можно непосредственно обращаться к данному классу.

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

7 abstract

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

MyClass FirstObject=new MyClass ();

MyClass SecondObject=new MyClass ();

За оператором new следует имя конструктора, который представляет из себя специальный метод, предназначенный для инициализации объекта (задание первоначальных значений его полям и свойствам). В языках C++ и C# имя конструктора совпадает с именем класса (в другом популярном объектноориентированном языке программирования Object Pascal типичным именем конструктора является Create). Класс может иметь несколько конструкторов с разными параметрами для различных видов инициализации. Если программист не указал ни одного конструктора или какие-то поля объекта не были проинициализированы, то полям значимых типов в этом случае присваивается нулевое значение, полям ссылочных типов значение – null. Конструктор, вызываемый без параметров, называется конструктором по умолчанию. Если один из конструкторов выполняет какие-либо действия, а другой должен делать то же самое плюс еще что-нибудь, то удобно вызвать первый конструктор из второго. Для этого используется ключевое слово this:

Листинг 2.4 Описание класса MyClass class MyClass // this a вызовет выполнение конструктора Конструкция, находящаяся после двоеточия, называется инициализатором, т.е. тем кодом, который исполняется до начала выполнения тела конструктора. Конструктор любого класса, если явно не указан инциализатор, автоматически вызывает конструктор своего предка. Этот вызов можно выполнить и явным образом с помощью ключевого слова base, обозначающего конструктор базового класса, например:

public MyClass (int a): base() // конструктор Конструктор базового класса обычно вызывается явным образом в тех случаях, когда ему требуется передать параметры.

Поля объекта аналогичны полям записи. Это данные уникальные для каждого экземпляра класса, созданного в программе. В описании класса MyClass (листинг 2.4) содержатся два поля i и y. В отличие от полей методы у всех объектов одного класса общие. Методы – это функции, описанные внутри класса и предназначенные для выполнения операций над его полями. От обычных функций нестатические методы отличаются тем, что им при вызове автоматически передается скрытый параметр this, представляющий указатель на тот объект, который их вызвал. В явном виде параметр this применяется для того, чтобы возвратить из метода ссылку на вызвавший его объект, а также для идентификации поля в том случае, если его имя совпадает с именем параметра метода.

Любому объекту, как указателю на экземпляр класса, может быть присвоен адрес (указатель) на любой экземпляр любого из его дочерних типов. Это дает возможность в классе-потомке перекрывать методы, описанные и реализованные в классе-предке. Для реализации принципа полиморфизма и перекрытия виртуальных методов в классах-потомках используется ключевое слово override. Перекрывать можно только виртуальные методы, которые описываются с помощью ключевого слова virtual. Слово «vittual» в переводе с английского означает «фактический». Объявление метода виртуальным означает, что все ссылки на этот метод будут разрешаться по факту его вызова, т.е. не на стадии компиляции, а во время выполнения программы. Этот механизм называется поздним связыванием. Пример перекрытия виртуального метода приведен в листинге 2.5:

Листинг 2.5 Пример переопределения виртуального метода class MyClass class MyChildClass:MyClass virtual public void MyMethod () MyClass MyObject;

if (select = =0) MyObject=new MyClass() else MyObject=new MyChildClass();

// если значение переменной select=0, то полям // a и y объекта MyObject будут присвоены значения // 2 и 12.09, иначе 45 и 9.01, т.е. в первом случае // вызывается метод MyMetod класса MyClass, во втором // метод MyMetod класса MyChildClass MyObject.MyMethod;

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

Для того чтобы обратиться к свойствам компонент формы из другого класса, можно при объявлении этого класса описать поле (или свойство), имеющее тот же тип данных, что и создаваемая форма (фактически применить механизм вложения или включения). Вложение классов, когда один класс включает в себя поля, являющиеся классами, служит альтернативной механизму наследования при проектировании. Более подробные сведения о теоретических основах объектно-ориентированного программирования содержаться в [4-6].

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

При создании класса, то есть нового типа данных, следует хорошо продумать его интерфейс – средства работы с классом, доступные использующим его программистам. Интерфейс хорошо спроектированного класса должен быть интуитивно ясен, непротиворечив и обозрим. Как правило, он должен включать в себя только методы и свойства. Поля данных должны быть скрытыми. Это даст возможность впоследствии изменить реализацию класса без изменения в его интерфейсе, а также регулировать доступ к полям класса с помощью предоставляемых пользователю методов. Не нужно расширять интерфейс класса без необходимости, «на всякий случай», поскольку увеличение количества методов будет вести к трудности понимания класса другим программистом, который возможно будет использовать его в своей работе. В идеале интерфейс должен быть полным, т.е. предоставлять возможность выполнить любые разумные действия с классом, и минимальным – без дублирования и пересечения возможностей методов.

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

3. ТРЕБОВАНИЯ К ОФОРМЛЕНИЮ ПРОГРАММНОГО

ОБЕСПЕЧЕНИЯ

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

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

Для счетчиков коротких циклов, напротив, лучше обойтись однобуквенными именами типа i, j или k.

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

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

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

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

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

// Комментарий, описывающий, что происходит Для разделения описания классов, функций и других логически законченных фрагментов следует пользоваться пустыми строками или комментариями вида:

//------------------------------------------------------------ Вложенные блоки должны иметь отступ в 3-4 символа, причем блоки одного уровня вложенности должны быть выровнены по вертикали.

В соответствии с ГОСТ 19.101-77 разработанная программа должна сопровождаться документами – «Текст программы» и «Описание программы». К документу «Описание программы» ГОСТ 19.402-78 устанавливает следующие требования:

1. Структуру и оформление документа устанавливают в соответствии с ГОСТ 19.105-78.

Составление информационной части (аннотации и содержания) является обязательным.

2. Описание программы должно содержать следующие разделы:

- функциональное назначение;

- описание логической структуры;

- используемые технические средства;

В зависимости от особенности программы допускается вводить дополнительные разделы или объединять отдельные разделы.

3. В разделе “Общие сведения” должны быть указаны: обозначение и наименование программы, программное обеспечение, необходимое для функционирования программы; языки программирования, на которых написана программа.

4. В разделе “Функциональное назначение” должны быть указаны классы решаемых задач и (или) назначения программы и сведения о функциональных ограничениях на применение.

5. В разделе “Описание логической структуры” должны быть указаны:

- алгоритм программы;

- используемые методы;

- структура программы с описанием функций составленных частей и - связи программы с другими программами.

Описание логической структуры программы выполняют с учётом текста программы на исходном языке.

6. В разделе “Использование технического средства” должны быть указаны типы электронных вычислительных машин и устройств, которые используются при работе программы.

7. В разделе “Входные данные” должны быть указаны: характер, организация и предварительная подготовка входных данных; формат и описание входных данных.

8. В разделе “Выходные данные“ должны быть указаны: характер и организация выходных данных; формат и описание выходных данных.

9. Допускается содержание разделов иллюстрировать пояснительными примерами и таблицами, схемами и графиками.

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

К документу «Текст программы» ГОСТ 19.401-78 устанавливает следующие требования:

1. Структуру и оформление документа устанавливают в соответствии с ГОСТ 19.105-78. Составление информационной части (аннотации и содержания) являются не обязательными. Для текста программы на исходном языке при наличии аннотации в неё включают краткое описание функций программы.

2. Основная часть документа должна состоять из текстов одного или нескольких разделов, которым даны наименования.

Допускается вводить наименование также и для совокупности разделов.

3. Каждый из этих разделов реализуется одним из типов символической записи, например:

- символическая запись на исходном языке;

- символическая запись на промежуточных языках;

- символическое представление машинных кодов.

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

Точно так же, как и к этапам разработки программ, перечисленным в разделе 2.1, к требованиям, предъявляемым этими ГОСТ, следует подходить разумно и соотносить их с современными реалиями написания программного обеспечения.

1. Пирогов, В. Ю. Ассемблер для Windows/ В. Ю. Пирогов. – 3-е изд. – СПб.: БХВ-Петербург, 2005. – 864 с., ил.

2. Пирогов, В. Ю. Ассемблер на примерах/ В. Ю. Пирогов. – СПб.: БХВПетербург, 2005. – 416 с., ил.

3. Верма, Р. Д. Справочник по функциям Win32 API/ Р. Д. Верма. – 2-е изд.- М.: Горячая линия-Телеком, 2005. – 551 с., ил.

4. Павловская, Т. А. C#. Программирование на языке высокого уровня:

учебник для вузов/ Т. А. Павловская. – СПб.: Питер, 2009. – 432 с., ил.

5. Павловская, Т. А. С/С++. Программирование на языке высокого уровня/ Т. А. Павловская. –СПб.: Питер, 2002. – 464 с., ил.

6. Дарахвелидзе, П. Г. Программирование в Delphi 7/ П. Г. Дарахвелидзе, Е.П. Марков. – СПб.: БХВ-Петербург, 2003. – 784 с., ил.

Подписано в печать 10.11.2010. Усл. печ. л. 1,5 Тираж экз.

Отпечатано: РИО ВоГТУ, г. Вологда, ул. Ленина,

 
Похожие работы:

«1 План издания учебной, учебно-методической литературы на 2010 г. № Автор, авторский Название работы Вид издания (моно- Читательский адрес Объем Тираж, Предполагаемый Обеспеченность Срок сдачи Прип/п коллектив графия, учебное по- (номер спец., индекс уч. экз. гриф литературой в издающее мечасобие, учебно- и название дисциплины изд., л подразделе- ние методическое посо- по учебному плану) ние (для учебных изданий) бие) (квартал) 1 2 3 4 5 6 7 8 9 10 Политехнический институт 1 Ершов Ю.А.,...»

«Министерство образования и науки Украины Севастопольский национальный технический университет МЕТОДИЧЕСКИЕ УКАЗАНИЯ к выполнению курсового проекта Проектирование и эксплуатация судовых ДВС по дисциплине Судовые ДВС и их эксплуатация для студентов всех форм обучения специальности 7.100.302 – Эксплуатация судовых энергетических установок Севастополь 2 Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com) УДК 629. Проектирование и эксплуатация судовых...»

«Государственный комитет РС4СР по л л а м науки • и дысшей школы Архангельский ордена^Трудового Красного Знамени лесотехнический институт ии. В.В.КуИбыаеаа • ЭКОНОМИКА ЭНЕРГЕТИКИ Методические указания к выполнение практических занятий Архангельск 1991 Ркосмотреиы и рекомендована к изданию методической комиссией факультета промышленной энергетики А р х а н г е л ь с к о г о ордена Трудового Красного Знамени лесотехнического института ии. В.В.Куйбышева Составитель А.З.Ш1АСТИНИН. д о ц., к а н д...»

«ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНОЛОГИЧЕСКИЙ ИНСТИТУТ (ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ) УТВЕРЖДАЮ проректор СПбГТИ (ТУ) по учебной работе, д.х.н., профессор Масленников И.Г. 200 г. УЧЕБНО-МЕТОДИЧЕСКИЙ КОМПЛЕКС РЕСУРСОСБЕРЕЖЕНИЕ В ХИМИЧЕСКОЙ ТЕХНОЛОГИИ, НЕФТИХИМИИ И БИОТЕХНОЛОГИИ образовательной профессиональной программы (ОПП) 240803 – Рациональное использование материальных и...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Санкт-Петербургский государственный экономический университет Высшая экономическая школа МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ по пропаганде и популяризации энергосбережения в регионах Санкт-Петербург 2014 Настоящие методические рекомендации разработаны в соответствии с учебной программой повышения квалификации Актуальные и проблемные вопросы...»

«База нормативной документации: www.complexdoc.ru МИНИСТЕРСТВО ЭНЕРГЕТИКИ И ЭЛЕКТРИФИКАЦИИ СССР МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО ОПРЕДЕЛЕНИЮ СМЕТНОЙ СТОИМОСТИ РЕМОНТА ПРОИЗВОДСТВЕННЫХ ЗДАНИЙ И СООРУЖЕНИЙ ЭНЕРГОПРЕДПРИЯТИЙ МУ 34-70-III-85 СЛУЖБА ПЕРЕДОВОГО ОПЫТА ПО СОЮЗТЕХЭНЕРГО Москва 1986 МУ 34-70-III-85 МЕТОДИЧЕСКИЕ УКАЗАНИЯ Взамен Временных ПО ОПРЕДЕЛЕНИЮ СМЕТНОЙ методических указаний по СТОИМОСТИ РЕМОНТА составлению сметной ПРОИЗВОДСТВЕННЫХ документации на...»

«БЕЛОРУССКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ Н.Б. Карницкий Б.М. Руденков В.А. Чиж МЕТОДИЧЕСКОЕ ПОСОБИЕ к курсовому проекту Теплогенерирующие установки для студентов дневного и заочного отделений специальности 70.04.02 Теплогазоснабжение, вентиляция и охрана воздушного бассейна специализации 70.04.02.01 Системы теплогазоснабжения и вентиляции Минск 2005 УДК 621.181.001.24 (675.8) ББК 31.38я7 К-24 Рецензенты: зав. кафедрой Промышленная теплоэнергетика и теплотехника, кандидат технических...»

«База нормативной документации: www.complexdoc.ru МИНИСТЕРСТВО ЭНЕРГЕТИКИ И ЭЛЕКТРИФИКАЦИИ СССР МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО РАЗРАБОТКЕ НОРМ РАСХОДА МАТЕРИАЛОВ НА РЕМОНТНО-ЭКСПЛУАТАЦИОННЫЕ НУЖДЫ В ЭНЕРГЕТИКЕ МУ 34-00-094-85 СЛУЖБА ПЕРЕДОВОГО ОПЫТА И ИНФОРМАЦИИ СОЮЗТЕХЭНЕРГО Москва 1985 РАЗРАБОТАНО Производственной единицей по нормированию и экономическим методам управления в электроэнергетике Экономтехэнерго ИСПОЛНИТЕЛИ А.А. РЫБАК, А.М. ШЕФТЕЛЬ, А.В. ЕРМАКОВ С О Г Л А С О В А Н О с НИИПиН...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ СЕВЕРСКИЙ ТЕХНОЛОГИЧЕСКИЙ ИНСТИТУТ Федерального государственного бюджетного образовательного учреждения высшего профессионального образования Национальный исследовательский ядерный университет МИФИ М.Д.Носков ДОБЫЧА УРАНА МЕТОДОМ СКВАЖИННОГО ПОДЗЕМНОГО ВЫЩЕЛАЧИВАНИЯ Учебное пособие Северск 2010 УДК 622.775 ББК 65.9(2)304.11 Н 844 Носков М.Д. Добыча урана методом скважинного подземного выщелачивания: учебное пособие/ М.Д.Носков. Северск: Изд-во СТИ НИЯУ МИФИ,...»

«Костюнина Галина Михайловна д.экон.н., профессор Кафедра международных экономических отношений и внешнеэкономических связей, профессор Окончила МГИМО МИД СССР с отличием по специальности экономист-международник со знанием иностранного языка. Читаемые курсы 1. Международные экономические отношения на факультетах Международных отношений, Политологии, Международном институте энергетической политики и дипломатии (Магистратура-второе высшее образование); 2. Международное инвестирование на факультете...»

«Федеральное агентство по образованию Государственное образовательное учреждение высшего профессионального образования Ульяновский государственный технический университет ЭЛЕКТРОМАТЕРИАЛЫ Методические указания для студентов специальностей 14021165 и 14060465 Составитель Л. С. Бондаренко Ульяновск 2005 УДК 621.365(076) ББК 31.23 я7 Э45 Рецензент доктор технических наук профессор кафедры Электропривод и АПУ энергетического факультета Ульяновского государственного технического университета В. Н....»

«Министерство образования и науки Украины Севастопольский национальный технический университет МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО ПЛАВАТЕЛЬНОЙ ПРАКТИКЕ СТУДЕНТОВ 4 КУРСА б а к а л а в р ы направления 6.1003 Судовождение и энергетика судов специальности 7.100302 Эксплуатация судовых энергетических установок Севастополь 2006 Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com) Методические указания по плавательной практике студентов четвертого курса: бакалавры...»

«Министерство образования Российской Федерации Дальневосточный государственный технический университет им. В.В. Куйбышева НАСОСЫ И ТЯГОДУТЬЕВЫЕ МАШИНЫ ТЕПЛОВЫХ ЭЛЕКТРОСТАНЦИЙ Учебное пособие Владивосток 2002 BOOKS.PROEKTANT.ORG БИБЛИОТЕКА ЭЛЕКТРОННЫХ КОПИЙ КНИГ для проектировщиков УДК 621.184.85 и технических специалистов С47 Слесаренко В.В. Насосы и тягодутьевые машины тепловых электростанций: Учебное пособие. - Владивосток: Издательство ДВГТУ, 2002. - с. Учебное пособие предназначено для...»

«Ю. С. БЕЛЯКОВ ОБЩАЯ ЭНЕРГЕТИКА (конспект лекций) Петрозаводск 2011 0 Федеральное агентство по образованию Государственное образовательное учреждение высшего профессионального образования ПЕТРОЗАВОДСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Ю.С. Беляков ОБЩАЯ ЭНЕРЕТИКА (конспект лекций) Петрозаводск Издательство ПетрГУ 2011 1 УДК 620.9 ББК 31я73 Рецензенты: Печатается по решению редакционно-издательского совета Петрозаводского государственного университета. Беляков Ю.С. Основы энергетики (конспект...»

«Федеральное агентство по образованию АМУРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ГОУВПО АмГУ УТВЕРЖДАЮ Зав. кафедрой Энергетики Н.В. Савина _2007г. НАЛАДКА И ЭКСПЛУАТАЦИЯ УСТРОЙСТВ РЕЛЕЙНОЙ ЗАЩИТЫ И АВТОМАТИКИ УЧЕБНО-МЕТОДИЧЕСКИЙ КОМПЛЕКС ПО ДИСЦИПЛИНЕ для специальности 140203 – Релейная защита и автоматизация электроэнергетических систем. Составитель: доц. А.Г. Ротачева Благовещенск 2007 г. Печатается по решению редакционно-издательского совета энергетического факультета Амурского государственного...»

«Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Ивановский государственный энергетический университет имени В.И. Ленина Кафедра теоретических основ теплотехники ИССЛЕДОВАНИЕ ТЕПЛООТДАЧИ ПРИ ВЫНУЖДЕННОМ ДВИЖЕНИИ ВОЗДУХА В ТРУБЕ МЕТОДОМ ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ Методические указания к выполнению лабораторной работы Иваново 2014 Составители: В.В. БУХМИРОВ Д.В. РАКУТИНА Редактор Т.Е....»

«Бюллетень новых поступлений за декабрь 2010 Образование. Педагогическая наука 1. Система патриотического воспитания студентов университета : ЧЗ2 1 пособие по организации воспитательной работы в вузе / О. М. ЧЗ4 2 Дорошко [и др.]. – Гродно : Ламарк, 2010. - 351 с. 74.580.051.33 Радиоэлектроника 2. Дипломное проектирование : методические указания для АБ1 58 студентов специальности 1-40 01 02 Информационные ЧЗ1 5 системы и технологии (по направлениям) дневной и заочной форм обучения / К. С....»

«Министерство образования и науки Российской Федерации Северного Арктического федерального университета МАРКИРОВКА ЖЕЛЕЗОУГЛЕРОДИСТЫХ, АЛЮМИНИЕВЫХ, МЕДНЫХ И МАГНИЕВЫХ СПЛАВОВ Методические указания к выполнению лабораторной работы АРХАНГЕЛЬСК 2012 Рассмотрены и рекомендованы к изданию учебно-методической комиссией института энергетики и транспорта САФУ Составители: В.М.АЛЕКСАНДРОВ, доц., канд. техн. наук, В.Н.ПОТЕХИН, доц., канд. техн. наук, А.В.ПРОХОРОВ, ассистент Рецензент В.Д.ЛЕБЕДЕВ, доц.,...»

«Федеральное агентство по образованию АМУРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ГОУВП АмГУ УТВЕРЖДАЮ Зав. кафедрой АППиЭ _ А. Н. Рыбалев _ 2007 г ИНФОРМАЦИОННО-ИЗМЕРИТЕЛЬНАЯ ТЕХНИКА И ЭЛЕКТРОНИКА Для специальностей: 140204 – электрические станции; 140205 – электроэнергетические системы и сети; 140211 – электроснабжение; 140203 – релейная защита и автоматизация энергетических систем Составитель: старший преподаватель Истомин А.С. Благовещенск 2007 г. Печатается по решению редакционно-издательского...»

«Информация о методических документах, разработанных на кафедре электроснабжения для образовательного процесса по ООП Электроэнергетика 140200.62 1. Учебно-методическое обеспечение для самостоятельной работы студентов: Электроэнергетика: методические указания к расчетно-графической работе для студентов специальности 140211.65 и направлений 140200.62, 1400400.62 / Юго-Зап. гос. ун-т; сост.: О.М. Ларин, В.В. Дидковский Курск, 2012. 15 с.: ил. 1, табл. 6, прилож. 5. Библиогр.: с.10. Электрические...»






 
© 2013 www.diss.seluk.ru - «Бесплатная электронная библиотека - Авторефераты, Диссертации, Монографии, Методички, учебные программы»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.