Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методпособие_2_семестр

.pdf
Скачиваний:
12
Добавлен:
02.06.2015
Размер:
703.61 Кб
Скачать

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

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«ВЯТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»

Н.М. КОЗЬМИНЫХ

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

Часть 2

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

080500 «Бизнес информатика» и

230700 «Прикладная информатика»,

всех профилей подготовки всех форм обучения

Киров 2013

Рекомендовано к изданию методическим советом Факультета экономики и менеджмента ГОУ ВПО «ВятГУ»

Допущено редакционно-издательской комиссией методического совета ГОУ ВПО «ВятГУ» в качестве учебно-методического пособия для проведения лабораторных работ для студентов направления подготовки 080500 «Бизнес информатика» и 230700 «Прикладная информатика», всех профилей подготовки всех форм обучения

Рецензенты:

Козьминых, Н.М.

Программирование: учебно-методического пособия для проведения лабораторных работ для студентов направления подготовки 080500«Бизнес-информатика» , 230700 «Прикладная информатика» всех профилей подготовки, всех форм обучения / Н.М.

Козьминых. – Киров: ПРИП ГОУ ВПО «ВятГУ», 2013.- 26 с.

В издании излагаются методические рекомендации к выполнению лабораторных работ по дисциплине «Программирование».

УДК 004(07) К593

© ГОУ ВПО «ВятГУ», 2013

2

Оглавление

 

Перечень лабораторных работ на первый семестр ....................................................................................................................

4

Перечень рекомендуемой литературы .......................................................................................................................................

5

Лабораторная работа №7. Построение графика функции..........................................................................................................

7

Теоретический материал работы............................................................................................................................................

7

Результат работы ..................................................................................................................................................................

12

Лабораторная работа №8. Игра «Собери больше фигур»........................................................................................................

14

Добавление новой формы к проекту....................................................................................................................................

14

Добавление класса к проекту................................................................................................................................................

15

Результат работы ..................................................................................................................................................................

15

Лабораторная работа №9. Работа с одномерными и двумерными массивами........................................................................

23

Лабораторная работа №10. Массивы и коллекции ..................................................................................................................

24

Лабораторная работа №11. Работа с коллекциями ..................................................................................................................

25

Лабораторная работа №12. Работа со строками.......................................................................................................................

27

3

Перечень лабораторных работ на первый семестр

Перечень лабораторных работ

Наименование работы

Ко

№ недели

Дата

Раздел из

п/п

Л.р.

 

лич

 

 

конспекта

 

 

 

ест

 

 

лекций

 

 

 

во

 

 

 

 

 

 

час

 

 

 

 

 

 

ов

 

 

 

I семестр

1

7

Построение графика

2

1

 

 

10.02 - 16.02

 

 

 

функции

 

 

 

 

 

 

3

8

Игра «Собери больше

4

2

- 3

 

17.02 - 02.03

 

 

 

фигур»

 

 

 

 

 

 

4

9

Работа с одномерными и

8

4

- 7

 

03.03 - 30.03

 

 

 

двумерными массивами

 

 

 

 

 

 

5

Первая

контрольная точка: аттестационная неделя

 

 

6

10

Массивы и коллекции

8

8

- 11

 

31.03 - 27.04

 

7

11

Работа с коллекциями

8

12 - 15

28.04 - 25.05

 

8

Вторая контрольная точка: аттестационная неделя

 

 

9

12

Работа со строками

4

16 - 17

26.05 - 08.06

 

10

Защита работ

2

18

 

 

 

11

Третья контрольная точка: экзамен

 

 

 

 

 

 

ИТОГО

 

36

18

 

 

 

4

Перечень рекомендуемой литературы

а) Основная:

1.Акулов О.А. Информатика: базовый курс.- М.: Омега, 2004. – 552 с.

2.Бен-Ари М. Языки программирования. Практический сравнительный анализ:

Пер.с англ. – М.: Мир, 2000. -366 с.

3.Вирт Н. Алгоритмы и структуры данных: Пер. с англ. - М.: Мир, 1989, - 360 с.

4.Дейтел Х.М., Дейтел П.Дж.. Как программировать на Си++. М.:ЗАО БИНОМ, 2000, 1024 с.

5.Завгородний В.И. Комплексная защита информации в компьютерных системах.

– М.: ЛОГОС. - 2001. - 264 с.

6.Информатика. Базовый курс. Под ред. Симоновича С.В. – СПб.: Питер, 2005. 640 с.

7.Кнут Д. Искусство программирования для ЭВМ. т.3. Сортировка и поиск: Пер. с

англ., - М.: Мир, 2001, 832 с.

8.Кормен Т., Лейзерон Ч., Ривест Р. Алгоритмы: построение и анализ. М.:

МЦНМО, 2000. 960 с.

9.Крячков А.В. и др. Программирование на С и С++: Практикум: Учеб. Пособие для студ. Вузов / Под ред. В.К.Томшина. – М.: Радио и связь. – 344с.

10.Лорин Г. Сортировка и системы сортировки. - Издательство «Наука». 1983. – 384с.

11.Могилев А.В. Информатика: учебное пособие/ Могилев А.В., Пак Н.И., Хеннер Е.К. – М.: Academa, 1999.- 816с.

12.Подбельский В.В., Фомин С.С.. Программирование на языке Си. М.:ФиС, 1998, 600 с.

13.Подбельский В.В. Язык Си++: Учеб.пособие. -М.:Финансы и статистика, 1999. - 560 с.

14.Романец Ю.В. Защита информации в компьютерных системах и сетях. – М.: Радио и связь. - 2001. – 376 с.

15.Савельев А.Я. Основы информатики: учебник. – М.: Издательство МГТУ им.

Н.Э.Баумана, 2001. -328 с.

16.Сван Т. Программирование для Windows в Borland C++ / пер. с англ. В Тимофеева. – М.: БИНОМ, 1996. – 480 с.

17.Топп У., Форд У.. Структуры данных в Си++. М.:ЗАО БИНОМ, 1999, 816 с.

б) Дополнительная 18. У.Сэвитч. С++ в примерах. – М.: ЭКОМ. – 734с.

в) Методическая

19.Нестерова Л.А. Информатика и программирование. Конспект лекций. Часть 1 и 2. - Киров. – 2003.

20.Нестерова Л.А. Информатика и программирование. Методические указания к лабораторным работам. Часть 1. - Киров. - 2003.

г) ГОСТы 21. ЕСКД. Схемы алгоритмов, программ, данных и систем. Условные обозначения

5

и правила выполнения. ГОСТ 19.701-90 (ИСО 5807-85).

22.СТП ВятГУ 101-2004.

23.СТП ВятГУ 102-2004.

6

Лабораторная работа №7. Построение графика функции

Цель работы: создать приложение с графическим интерфейсом для построения

графика функции.

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

результате чего студент получает две оценки: за приложение и за изученный материал.

Задание: создать приложение построения графика функции

ρ= acos2

bsin2

=0,05,для b:10 b 100,

заданного

в

полярных

a= 40,0

,

координатах.

 

 

 

 

 

Требование к работе:

1. Предусмотреть кнопки «Нарисовать» и «Выход».

Требование к отчету:

1.Титульный лист: номер и название лабораторной работы.

2.Текст задания.

3.Форма в процессе проектирования и выполнения.

4.Структура приложения.

5.Таблица свойств объектов.

6.Список идентификаторов.

7.Программные коды.

Теоретический материал работы

1. Построение графика

Существует четыре способа задания функции:

 

в явной форме

у = F(x) ;

 

в неявной форме F(x,y) = 0 ;

 

параметрическая

х = f1( t), y = f2( t);

в полярных координатах ρ= ρ (φ), φ (φ1, φ 2). Полярные координаты ρ и φ связаны с декартовой системой координат следующими соотношениями х = ρCosφ, y = ρSinφ.

7

Если функция задана явно у = F(x) , то для построения можно воспользоваться циклом, в котором осуществляется вычисление значения функции для значений х,

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

2. Рисование фигур

Для рисования объектов в Windows Forms приложениях язык С++ содержит очень богатый набор методов. Пространство имен Drawing содержит множество объектов,

которые облегчают программисту работу с графикой. Специально для .NET

платформы разработчики Microsoft разработали GDI+ библиотеку, значительно повысив возможности GDI (Graphic Device Interface). GDI+ включает возможности рисования простейших объектов (линии, эллипсы...), рисование различных объектов

2D графики, отображение файлов различных графических форматов (bmp, jpeg, gif, wmf, ico, tiff, ...) и многое другое.

.Net позволяет рисовать линии, прямоугольники и другие фигуры в координатной системе. Кроме того, можно выбирать различные координатные системы, но по умолчанию начало координат находится в верхнем левом углу, где ось Х направлена вправо, а ось У вниз. Единицей измерения является пиксель (pixel).

Для рисования графических элементов используется класса Graphics. Для класса

Graphics существуют следующие методы рисования:

DrawArc

Рисует дугу, которая является частью эллипса, заданного парой координат, шириной и

высотой.

 

 

 

DrawBezier

Рисует сплайны Безье, которые заданы точками структуры Point.

 

 

DrawBeziers

Рисует сплайны Безье, которые соединяют массив структур Point.

 

 

8

DrawClosedCurve

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

 

структур Point.

 

 

DrawCurve

Рисует кардинальные сплайны (это кривая, которая плавно проходит через набор точек),

 

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

 

 

DrawEllipse

Формирует эллипс, определенный ограничивающим прямоугольником, заданным с

помощью пары координат, ширины и высоты.

 

 

 

DrawImage

Рисует заданный объект Image в заданном месте, используя исходный размер.

 

 

DrawLine

Проводит линию, соединяющую две точки, определенные парами координат.

 

 

DrawLines

Формирует набор сегментов линии, которые соединяют массив структур Point.

 

 

DrawPie

Рисует сектор, определенный эллипсом, который задан парой координат, шириной,

высотой и двумя радиальными линиями.

 

DrawPolygon

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

 

 

DrawRectangle

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

 

 

DrawRectangles

Рисует набор прямоугольников, определяемых структурой Rectangle.

 

 

DrawString

Создает текстовую строку в заданном месте с указанными объектами Brush и Font.

 

 

FillClosedCurve

Закрашивает замкнутые кардинальные сплайны, точки которых определены как массив

 

структур Point.

 

 

FillEllipse

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

 

помощью пары координат, ширины и высоты.

 

 

FillPie

Закрашивает сектор, определенный эллипсом, который задан парой координат, шириной,

 

высотой и двумя радиальными линиями

 

 

FillPolygon

Закрашивает многоугольник, определяемый массивом структур Point.

 

 

FillRectangle

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

 

 

FillRectangles

Закрашивает набор прямоугольников, определяемых структурой Rectangle.

 

 

В качестве инструмента рисования используется перо (Pen), которое имеет следующие свойства: цвет (например, Color::Blue – голубой цвет), толщина, стиль

(System :: Drawing :: Drawing2D :: DashStyle).

Стиль:

DashStyle::Dash

Прерывистая линия

DashStyle::DashDot

Линия – точка

DashStyle::DashDotDot

Линия – точка – точка

DashStyle::DashDot

Линия точками

DashStyle::Solid

Сплошная линия

Замкнутые фигуры можно закрашивать: однородным цветом (SolidBrush), штриховкой (HatchBrush), текстурой (TextureBrush), линейным градиентом

(LinearGradientBrush) и траекторный градиент (PathGradientBrush).

Примеры

Линии, прямоугольники, эллипсы

Graphics g = this.CreateGraphics();// Создает графический объект и

// связываем его с формой

g.Clear(Color.White) ; // цвет фона задаем белым

// Рисуем линию определенного стиля

Pen pen1 = new Pen(Color.Blue, 3.0f); // создаем перо синего цвета и толщиной 3пик pen1.DashStyle = System.Drawing.Drawing2D.DashStyle.Dash; // задаем стиль пера g.DrawLine(pen1, 20,120, 100,60); // рисуем линию

// Рисуем закрашенный красный квадрат

9

SolidBrush sb1 = new SolidBrush(Color.Red); // задаем заливку g.FillRectangle(sb1, 60, 30, 40, 40); // рисуем закрашенный квадрат

//Рисуем закрашенный прямоугольник и его окантовку

SolidBrush sb2 = new SolidBrush(Color.Yellow); Pen pen2 = new Pen(Color.Aqua, 2.0f);

pen2.DashStyle = System.Drawing.Drawing2D.DashStyle.Dot; g.FillRectangle(sb2, 90,40, 60,45); g.DrawRectangle(pen2, 90,40, 60,45);

//Рисуем закрашенный эллипс

System.Drawing.Drawing2D.HatchBrush hb1 = new System.Drawing.Drawing2D.HatchBrush(System.Drawing.Drawing2D.HatchStyle.DiagonalCross, Color.Black, Color.Green);

g.FillEllipse(hb1, 30,100, 65,50);

// Рисуем наклонный эллипс

Pen pen3 = new Pen(Color.Fuchsia, 2.0f);

pen3.DashStyle = System.Drawing.Drawing2D.DashStyle.DashDotDot; g.ResetTransform();

g.RotateTransform(45); g.DrawEllipse(pen3, 70, -10, 100, 50);

Кардинальные сплайны (Cardinal Spline)

Graphics g = this.CreateGraphics(); g.Clear(Color.White);

Point point1 = new Point(0,100); Point point2 = new Point(50,80); Point point3 = new Point(100,20); Point point4 = new Point(150,80); Point point5 = new Point(200,100);

Point[] curvePoints = {point1,point2,point3,point4,point5}; Pen pen = new Pen(System.Drawing.Color.Aquamarine, 2f); g.DrawCurve(pen, curvePoints);

foreach (Point point in curvePoints)

g.FillRectangle(Brushes.Red, new Rectangle(point, new Size(5,5)));

Анимированная надпись

На рисунке 1.1 представлена форма в процессе проектирования, на рисунке 1.2 –

форма в процессе выполнения.

10