Си++

МИНИСТЕРСТВО  ОБРАЗОВАНИЯ И НАУКИ КЫРГЫЗСКОЙ РЕСПУБЛИКИ

Ошский Технологический  Университет им.               академика Адышева М.М.

Факультет Кибернетики и  Информационных Технологий

Кафедра ПОВТАС

 

На тему:        Обучающая программа по С++

 

 

         Подготовил:                                Куреганов Сергей

         Приняла:                               _________________

 

                                                 

 

 

                                                 г. Ош – 2012

 

 

                                                     Оглавление

  1. Введение
  2. Краткое описание теоретической части
  3. Постановка задачи
  4. Метод решения задачи
  5. Практическая часть
  6. Заключение
  7. Список используемых источников

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                                                  Введение

Си++ (англ. C++) —  компилируемый строго типизированный язык программирования общего назначения. Поддерживает разные парадигмы программирования: процедурную, обобщённую, функциональную; наибольшее внимание уделено поддержке объектно-ориентированного программирования.

Разработка языка началась в 1979 году. Целью создания C++ было дополнение C возможностями, удобными для масштабной разработки ПО, с сохранением гибкости, скорости и портабельности C. Вместе с тем создатели C++ стремились сохранить совместимость с C: синтаксис первого основан на синтаксисе последнего, и большинство программ на C будут работать и как C++. Изначально новый язык назывался “C с классами”, но затем имя было изменено на C++ — это должно было подчеркнуть как его происходжение от C, так и его превосходство над последним.

Первый выпуск C++ для коммерческого  использования состоялся в 1985 году, вместе с публикацией книги “The C++ Programming Language”, которая на долгое время стала его неофициальным стандартом. В 1989 году вышла вторая версия языка в сопровождении книги “The Annotated C++ Reference Manual”.

В 1990-х годах  язык стал одним из наиболее широко используемых языков программирования общего назначения. Первым официальным стандартом языка стал ISO/IEC 14882:1998, более известный как C++98. В 2003 году была принята его дополненная версия, C++03, а в 2005 году был опубликован “Library Technical Report 1” (сокращенно TR1) — документ, описывающий расширения стандартной библиотеки. TR1 не является стандартом, но большинство актуальных компиляторов C++ поддерживает его. Наконец, в 2011 году был принят текущий стандарт, C++11.

Нововведениями C++ в сравнении с C являются:

  • поддержка объектно-ориентированного программирования через классы. C++ предоставляет все четыре возможности ООП — абстракцию, инкапсуляцию, наследование (в том числе и множественное) и полиморфизм.
  • поддержка обобщённого программирования через шаблоны функций и классов;
  • стандартная библиотека C++ состоит из стандартной библиотеки C (с некоторыми модификациями) и библиотеки шаблонов (Standard Template Library, STL), которая предоставляет обширный набор обобщенных контейнеров и алгоритмов;
  • дополнительные типы данных;
  • обработка исключений;
  • виртуальные функции;
  • пространства имён;
  • встраиваемые (inline) функции;
  • перегрузка (overloading) операторов;
  • перегрузка имён функций;
  • ссылки и операторы управления свободно распределяемой памятью.

Элементы синтаксиса:


Комментарий до конца строки

//

Комментарии, которые  не могут быть вложенными

/* ... */

Регистрозависимость

да

Регулярное выражение идентификатора переменной

[_a-zA-Z][_a-zA-Z0-9]*

Регулярное  выражение идентификатора функции

[_a-zA-Z][_a-zA-Z0-9]*

Присваивание  значения переменной

varname = value

Объявление  переменной

type varname

Объявление  переменной с присваиванием значения

type varname = value

Группировка выражений

( ... )

Блок

{ ... }

Равенство

a == b

Неравенство

a != b

Тождественное равенство

*a == *b (a и b - указатели)

Тождественное неравенство

*a != *b (a и b - указатели)

Сравнение

< > <= >=

Определение функции

returntype functionName (argtype1 argname1, ..., argtypeN argnameN)

Вызов функции

functionName(arg1, ..., argN)

Вызов функции  без параметров

functionName()

Последовательность

;

Если - то

if (condition) trueBlock

Если - то - иначе

if (condition) trueBlock else falseBlock

Бесконечный цикл

while (true) loopBody

Цикл с предусловием

while (condition) loopBody

Цикл с постусловием

do loopBody while (!condition)

Цикл for - next для  диапазона целых чисел с инкрементом  на 1

for (int i = first; i <= last ; i++)

Цикл for - next для  диапазона целых чисел с декрементом  на 1

for (int i = last; i >= first; i--)


                              Краткое описание теоретической части

Microsoft Visual Studio — линейка продуктов компании Майкрософт, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств. Данные продукты позволяют разрабатывать как консольныеприложения, так и приложения с графическим интерфейсом, в том числе с поддержкой технологии Windows Forms, а также веб-сайты, веб-приложения, веб-службы как в родном, так и в управляемом кодах для всех платформ, поддерживаемых Microsoft Windows, Windows Mobile, Windows CE, .NET Framework, .NET Compact Framework и Microsoft Silverlight.

Visual Studio включает в  себя редактор исходного кода с поддержкой технологии IntelliSense и возможностью простейшего рефакторинга кода. Встроенный отладчик может работать как отладчик уровня исходного кода, так и как отладчик машинного уровня. Остальные встраиваемые инструменты включают в себя редактор форм для упрощения создания графического интерфейса приложения, веб-редактор, дизайнер классов и дизайнер схемы базы данных. Visual Studio позволяет создавать и подключать сторонние дополнения (плагины) для расширения функциональности практически на каждом уровне, включая добавление поддержки систем контроля версий исходного кода (как например, Subversion и Visual SourceSafe), добавление новых наборов инструментов (например, для редактирования и визуального проектирования кода на предметно-ориентированных языках программированияили инструментов для прочих аспектов цикла разработки программного обеспечения(например, клиент Team Explorer для работы с Team Foundation Server).

Компоненты


Visual Studio включает  один или несколько компонентов из следующих:

  • Visual Basic .NET, а до его появления — Visual Basic
  • Visual C++
  • Visual C#
  • Visual F# (включён начиная с Visual Studio 2010)

Многие варианты поставки также включают:

  • Microsoft SQL Server либо Microsoft SQL Server Express

В прошлом, в  состав Visual Studio также входили продукты:

  • Visual InterDev
  • Visual J++
  • Visual J#
  • Visual FoxPro
  • Visual Source Safe — файл-серверная система управления версиями

 

                                                

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

Создание обучающей  программы, включающей в себя весь набор  лекций и лабораторных работ по предмету «Программирование на языке С++», а так же оформление графического интерфейса при помощи технологии Windows Forms. По желанию студента возможно включение дополнительного ПО: компиляторы и библиотека .NET Framework.

 

                                      Метод решения задачи

Для осуществления поставленной задачи воспользуюсь продукцией Microsoft Visual Studio 2012, включающую интегрированную среду разработки программного обеспечения. В данной сборке имеются две подходящие мне среды Visual C++ и Visual C#. Я буду использовать Visual C#, поскольку считаю её более подходящей для разработки приложений, использующих компоненты Windows Forms, да и, по правде говоря,      с Visual C++ я немного не разобрался, и, так сказать, не дружу.

Так как я ещё новичок, воспользуюсь самым наверное простым способом решения моих задач, а именно включением и отключением компонентов по нажатии на ссылку (linkLabel) или на кнопку (Button).

                               

                                          Практическая часть

Для начала создаём проект, для создания приложений с пользовательским интерфейсом Windows Forms. Задаём ему имя и сохраняем в нужную нам папку. Перед нами открывается форма проекта. В правой части экрана внизу в свойствах задаём нужные нам параметры: значок, текс, ширина и высота,  рисунок заднего фона, который мы заранее создали в Photoshop, и др.

 

В исходном коде это выглядит так:

// Form1

            //

            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);

            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;

            this.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("$this.BackgroundImage")));

            this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;

            this.ClientSize = new System.Drawing.Size(1069, 649);

            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;

            this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));

            this.MaximizeBox = false;

            this.Name = "Form1";

            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;

            this.Text = "C++";

 

Затем мы выбираем в панели компонентов компонент button и создаём 5 кнопок главного меню будущей программы. Назовём их button1, button2 и т.д. Также выбираем компонент groupBox – это так называемый контейнер в котором будут наши ссылки. В дальнейшем для отображения той или иной ссылки нам необязательно будет обращаться к ней на прямую, а достаточно будет работать с данным контейнером. Создаём столько же сколько и кнопок, то бишь 5, и условно закрепим каждый контейнер за своей кнопкой. Кнопки расположим справа сверху вниз, а контейнеры в центре, накладывая друг на друга.

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

// button1

            //

            this.button1.Cursor = System.Windows.Forms.Cursors.Hand;

            this.button1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Millimeter, ((byte)(204)));

            this.button1.Location = new System.Drawing.Point(12, 108);

            this.button1.Name = "button1";

            this.button1.Size = new System.Drawing.Size(225, 47);

            this.button1.TabIndex = 0;

            this.button1.Text = "Лекции";

            this.button1.UseVisualStyleBackColor = false;

            this.button1.Click += new System.EventHandler(this.button1_Click);

            //

            // button2

            //

            this.button2.Cursor = System.Windows.Forms.Cursors.Hand;

            this.button2.Font = new System.Drawing.Font("Microsoft Sans Serif", 15.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));

            this.button2.Location = new System.Drawing.Point(12, 184);

            this.button2.Name = "button2";

            this.button2.Size = new System.Drawing.Size(225, 61);

            this.button2.TabIndex = 1;

            this.button2.Text = "Лабораторные \r\n работы";

            this.button2.UseVisualStyleBackColor = false;

            this.button2.Click += new System.EventHandler(this.button2_Click);

            // button3

            //

            this.button3.Cursor = System.Windows.Forms.Cursors.Hand;

            this.button3.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Millimeter, ((byte)(204)));

            this.button3.Location = new System.Drawing.Point(12, 275);

            this.button3.Name = "button3";

            this.button3.Size = new System.Drawing.Size(225, 47);

            this.button3.TabIndex = 2;

            this.button3.Text = "Тесты";

            this.button3.UseVisualStyleBackColor = false;

            this.button3.Click += new System.EventHandler(this.button3_Click);

            //

            // button4

            //

            this.button4.Cursor = System.Windows.Forms.Cursors.Hand;

            this.button4.Font = new System.Drawing.Font("Microsoft Sans Serif", 15.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));

            this.button4.Location = new System.Drawing.Point(12, 353);

            this.button4.Name = "button4";

            this.button4.Size = new System.Drawing.Size(225, 64);

            this.button4.TabIndex = 3;

            this.button4.Text = "Дополнительное\r\nПО";

            this.button4.UseVisualStyleBackColor = false;

            this.button4.Click += new System.EventHandler(this.button4_Click);

            //

            // button5

            //

            this.button5.Cursor = System.Windows.Forms.Cursors.Hand;

            this.button5.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Millimeter, ((byte)(204)));

            this.button5.Location = new System.Drawing.Point(12, 451);

            this.button5.Name = "button5";

            this.button5.Size = new System.Drawing.Size(225, 47);

            this.button5.TabIndex = 4;

            this.button5.Text = "Главная";

            this.button5.UseVisualStyleBackColor = false;

            this.button5.Click += new System.EventHandler(this.button5_Click);

            //

            // groupBox1

            //

            this.groupBox1.BackColor = System.Drawing.Color.Transparent;

            this.groupBox1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;

            this.groupBox1.Controls.Add(this.label1);

            this.groupBox1.Font = new System.Drawing.Font("Microsoft Sans Serif", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));

            this.groupBox1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(64)))));

            this.groupBox1.Location = new System.Drawing.Point(313, 92);

            this.groupBox1.Name = "groupBox1";

            this.groupBox1.Size = new System.Drawing.Size(700, 396);

            this.groupBox1.TabIndex = 4;

            this.groupBox1.TabStop = false;

            this.groupBox1.Text = "Добро пожаловать";

            //

            // groupBox2

            //

            this.groupBox2.BackColor = System.Drawing.Color.Transparent;

            this.groupBox2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;

            this.groupBox2.Controls.Add(this.linkLabel26);

            this.groupBox2.Controls.Add(this.linkLabel25);

            this.groupBox2.Controls.Add(this.linkLabel24);

            this.groupBox2.Controls.Add(this.linkLabel23);

            this.groupBox2.Controls.Add(this.linkLabel22);

            this.groupBox2.Controls.Add(this.linkLabel21);

            this.groupBox2.Controls.Add(this.linkLabel20);

            this.groupBox2.Controls.Add(this.linkLabel19);

            this.groupBox2.Controls.Add(this.linkLabel18);

            this.groupBox2.Controls.Add(this.linkLabel17);

            this.groupBox2.Controls.Add(this.linkLabel16);

            this.groupBox2.Controls.Add(this.linkLabel15);

            this.groupBox2.Controls.Add(this.linkLabel14);

            this.groupBox2.Controls.Add(this.linkLabel13);

            this.groupBox2.Controls.Add(this.linkLabel12);

            this.groupBox2.Controls.Add(this.linkLabel11);

            this.groupBox2.Enabled = false;

            this.groupBox2.Font = new System.Drawing.Font("Microsoft Sans Serif", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));

            this.groupBox2.Location = new System.Drawing.Point(313, 92);

            this.groupBox2.Name = "groupBox2";

            this.groupBox2.Size = new System.Drawing.Size(700, 397);

            this.groupBox2.TabIndex = 5;

            this.groupBox2.TabStop = false;

            this.groupBox2.Text = "Лекции";

            this.groupBox2.Visible = false;

            //

            // groupBox3

            //

            this.groupBox3.BackColor = System.Drawing.Color.Transparent;

            this.groupBox3.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;

            this.groupBox3.Controls.Add(this.linkLabel10);

            this.groupBox3.Controls.Add(this.linkLabel9);

            this.groupBox3.Controls.Add(this.linkLabel8);

            this.groupBox3.Controls.Add(this.linkLabel7);

            this.groupBox3.Controls.Add(this.linkLabel6);

            this.groupBox3.Controls.Add(this.linkLabel5);

            this.groupBox3.Controls.Add(this.linkLabel4);

            this.groupBox3.Controls.Add(this.linkLabel3);

            this.groupBox3.Controls.Add(this.linkLabel2);

            this.groupBox3.Controls.Add(this.linkLabel1);

            this.groupBox3.Enabled = false;

            this.groupBox3.Font = new System.Drawing.Font("Microsoft Sans Serif", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));

            this.groupBox3.Location = new System.Drawing.Point(313, 92);

            this.groupBox3.Name = "groupBox3";

            this.groupBox3.Size = new System.Drawing.Size(700, 396);

            this.groupBox3.TabIndex = 6;

            this.groupBox3.TabStop = false;

            this.groupBox3.Text = "Лабораторные работы";

            this.groupBox3.Visible = false;

            //

            // groupBox4

            //

            this.groupBox4.BackColor = System.Drawing.Color.Transparent;

            this.groupBox4.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;

            this.groupBox4.Controls.Add(this.linkLabel29);

            this.groupBox4.Controls.Add(this.linkLabel28);

            this.groupBox4.Controls.Add(this.linkLabel27);

            this.groupBox4.Enabled = false;

            this.groupBox4.Font = new System.Drawing.Font("Microsoft Sans Serif", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));

            this.groupBox4.Location = new System.Drawing.Point(313, 92);

            this.groupBox4.Name = "groupBox4";

            this.groupBox4.Size = new System.Drawing.Size(700, 396);

            this.groupBox4.TabIndex = 7;

            this.groupBox4.TabStop = false;

            this.groupBox4.Text = "Дополнительное ПО";

            this.groupBox4.Visible = false;

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

System.Diagnostics.Process.Start(@"resources\Тест.exe");

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

Настало время добавить в каждый контейнер ссылки, которые  будут делать определённые действие. Например, большинство из них будут открывать лекции и лабораторные работы. Для начала необходимо написать все эти лекции и лабораторные в Microsoft World, при чём лишь одну тему в каждом файле – 16лекций и 10 лабораторных (26 файлов) с именами lk1 – lk16 (лекции) и lb1 - lb10 (лабы) с расширением rtf. Поместить всей файлы в папку под названием resources. Затем в панели инструментов выбираем инструмент LinkLabel и вставляем в контейнер например с лекциями. Путём копирования достигаем нужного нам количества ссылок в данном контейнере. В свойствах мы задаём им текс, а так же его шрифт и цвет.

 

 

Затем для отображения  текста вообще внутри, именно внутри нашей  программы, нам необходимо какое-то текстовое поле. Воспользуемся мы инструментом RichTexBox. Никаких таких параметров нам необходимости настраивать нет, за исключением, разве что возможность редактирования текста и мы его просто отключим, поскольку вначале нам данное поле не нужно. Данный компонент мы помещаем в центре поверх остального.

После этого в исходном коде каждой ссылке мы прописываем функцию, которая будет открывать ранее созданные нами rtf файлы в данном окне, но при этом всей файлы должны находиться в директории программы, в казанной нами папке (resources). Например для ссылки на Лекцию 1 это будет выглядеть так:

private void linkLabel11_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)

        {

            this.groupBox2.Visible = false;

            this.richTextBox1.Visible = true;

            this.richTextBox1.Enabled = true;

            this.richTextBox1.LoadFile("resources/lk1.rtf");

        }

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

Открыв контейнер с лабораторными  работами, мы выполняем знакомые нам  действия (как с лекциями) и тут: создание и распространение методом копирование ссылок на файлы с лабораторными работами. Чего не нужно делать в этот раз, так это создание текстового поля (RichTextBox), мы можем воспользоваться созданным ранее.

Исходный код будет выглядеть так же. Вот пример для первой лабораторной.

private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)

        {

            this.groupBox3.Visible = false;

            this.richTextBox1.Visible = true;

            this.richTextBox1.Enabled = true;

            this.richTextBox1.LoadFile("resources/lb1.rtf");

        }

В меню Дополнительное ПО будут всего 3 ссылки, которые аналогично кнопки Тесты будут открывать другие приложения (программы). Только на сей  раз это буду программы и компиляторы Dev-C++,  Turbo C++ 3.0 и Microsoft .NET Framework 4.5. Создаём 3 ссылки (LinkLabel).

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

private void linkLabel27_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)

        {

            System.Diagnostics.Process.Start(@"installs\devcpp-4.9.9.2_setup.exe"); 

        }

 

 private void linkLabel28_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)

        {

            System.Diagnostics.Process.Start(@"installs\TC_3\INSTALL.exe");

           

        }

 

 private void linkLabel29_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)

        {

            System.Diagnostics.Process.Start(@"installs\Microsoft .NET Framework 4.5 Final.exe");

        

        }

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

 

 

Теперь осталось добавить маленькие штрихи. Выбираем элемент Label и в тексте прописываем автора программы, то бишь меня. Вы можете увидеть данную надпись на рисунке выше в самом низу программы.

Также можно внести некоторые корректировки  в настройках будущей программы. Для этого нужно дважды щёлкнуть мышью на компонент Properties справа от программы Visual Studio.

Появиться данное окно.

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

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

namespace Обучающая

{

    partial class Form1

    {

        /// <summary>

        /// Требуется переменная конструктора.

        /// </summary>

        private System.ComponentModel.IContainer components = null;

 

        /// <summary>

        /// Освободить все используемые ресурсы.

        /// </summary>

        /// <param name="disposing">истинно, если управляемый ресурс должен быть удален; иначе ложно.</param>

        protected override void Dispose(bool disposing)

        {

            if (disposing && (components != null))

            {

                components.Dispose();

            }

            base.Dispose(disposing);

        }

 

        #region Код, автоматически созданный конструктором форм Windows

 

        /// <summary>

        /// Обязательный метод для поддержки конструктора - не изменяйте

        /// содержимое данного метода при помощи редактора кода.

        /// </summary>

        private void InitializeComponent()

        {

            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));

            this.button1 = new System.Windows.Forms.Button();

            this.button2 = new System.Windows.Forms.Button();

            this.button4 = new System.Windows.Forms.Button();

            this.groupBox1 = new System.Windows.Forms.GroupBox();

            this.label1 = new System.Windows.Forms.Label();

            this.groupBox2 = new System.Windows.Forms.GroupBox();

            this.linkLabel26 = new System.Windows.Forms.LinkLabel();

            this.linkLabel25 = new System.Windows.Forms.LinkLabel();

            this.linkLabel24 = new System.Windows.Forms.LinkLabel();

            this.linkLabel23 = new System.Windows.Forms.LinkLabel();

            this.linkLabel22 = new System.Windows.Forms.LinkLabel();

            this.linkLabel21 = new System.Windows.Forms.LinkLabel();

            this.linkLabel20 = new System.Windows.Forms.LinkLabel();

            this.linkLabel19 = new System.Windows.Forms.LinkLabel();

            this.linkLabel18 = new System.Windows.Forms.LinkLabel();

            this.linkLabel17 = new System.Windows.Forms.LinkLabel();

            this.linkLabel16 = new System.Windows.Forms.LinkLabel();

            this.linkLabel15 = new System.Windows.Forms.LinkLabel();

            this.linkLabel14 = new System.Windows.Forms.LinkLabel();

            this.linkLabel13 = new System.Windows.Forms.LinkLabel();

            this.linkLabel12 = new System.Windows.Forms.LinkLabel();

            this.linkLabel11 = new System.Windows.Forms.LinkLabel();

            this.groupBox3 = new System.Windows.Forms.GroupBox();

            this.linkLabel10 = new System.Windows.Forms.LinkLabel();

            this.linkLabel9 = new System.Windows.Forms.LinkLabel();

            this.linkLabel8 = new System.Windows.Forms.LinkLabel();

            this.linkLabel7 = new System.Windows.Forms.LinkLabel();

            this.linkLabel6 = new System.Windows.Forms.LinkLabel();

            this.linkLabel5 = new System.Windows.Forms.LinkLabel();

            this.linkLabel4 = new System.Windows.Forms.LinkLabel();

            this.linkLabel3 = new System.Windows.Forms.LinkLabel();

            this.linkLabel2 = new System.Windows.Forms.LinkLabel();

            this.linkLabel1 = new System.Windows.Forms.LinkLabel();

            this.groupBox4 = new System.Windows.Forms.GroupBox();

            this.linkLabel29 = new System.Windows.Forms.LinkLabel();

            this.linkLabel28 = new System.Windows.Forms.LinkLabel();

            this.linkLabel27 = new System.Windows.Forms.LinkLabel();

            this.richTextBox1 = new System.Windows.Forms.RichTextBox();

            this.button5 = new System.Windows.Forms.Button();

            this.label2 = new System.Windows.Forms.Label();

            this.button3 = new System.Windows.Forms.Button();

            this.groupBox1.SuspendLayout();

            this.groupBox2.SuspendLayout();

            this.groupBox3.SuspendLayout();

            this.groupBox4.SuspendLayout();

            this.SuspendLayout();

            //

            // button1

            //

            this.button1.Cursor = System.Windows.Forms.Cursors.Hand;

            this.button1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Millimeter, ((byte)(204)));

            this.button1.Location = new System.Drawing.Point(12, 108);

            this.button1.Name = "button1";

            this.button1.Size = new System.Drawing.Size(225, 47);

            this.button1.TabIndex = 0;

            this.button1.Text = "Лекции";

            this.button1.UseVisualStyleBackColor = false;

            this.button1.Click += new System.EventHandler(this.button1_Click);

            //

            // button2

            //

            this.button2.Cursor = System.Windows.Forms.Cursors.Hand;

            this.button2.Font = new System.Drawing.Font("Microsoft Sans Serif", 15.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));

            this.button2.Location = new System.Drawing.Point(12, 184);

            this.button2.Name = "button2";

            this.button2.Size = new System.Drawing.Size(225, 61);

            this.button2.TabIndex = 1;

            this.button2.Text = "Лабораторные \r\n работы";

            this.button2.UseVisualStyleBackColor = false;

            this.button2.Click += new System.EventHandler(this.button2_Click);

            //

            // button4

            //

            this.button4.Cursor = System.Windows.Forms.Cursors.Hand;

            this.button4.Font = new System.Drawing.Font("Microsoft Sans Serif", 15.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));

            this.button4.Location = new System.Drawing.Point(12, 353);

            this.button4.Name = "button4";

            this.button4.Size = new System.Drawing.Size(225, 64);

            this.button4.TabIndex = 3;

            this.button4.Text = "Дополнительное\r\nПО";

            this.button4.UseVisualStyleBackColor = false;

            this.button4.Click += new System.EventHandler(this.button4_Click);