Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
задания_lab_VB-net.doc
Скачиваний:
1
Добавлен:
09.11.2019
Размер:
139.78 Кб
Скачать

Завдання 7

Рахувати функцію завдання 1 функцією одного аргументу –

У=k1 * (x-k2)2+k3*(x-k2)*sin(x-k2) + k4*(sin(x-k2))2 .

На довільному інтервалі, який може задати оператор, обчислити 10 значень цієї функції. Відобразити ці 10 крапок (аргумент і значення функції) за допомогою елемента управління MsFlexgrid. Намалювати графік функції по цих 10 – ти крапок за допомогою елемента управління MsChart. Наприклад

With Chart

.chartType = VtChChartType2dLine

.ColumnCount = 1

.RowCount = 10

Dim i%

.Column = 1

For i=1 To 10

.Row = i

.Data =i * i

Next

End With

Питання

Які параметри MsChart визначають горизонтальну та вертикальну координату графіка.

Які параметри MsChart визначають кількість графіків

Завдання 8

Доповнити лабораторну роботу 5 функціями збереження і витягання наборів даних, задаючих одну таблицю завдання 3, у файлі. Вибір файлу для читання і запису здійснювати за допомогою відповідних вбудованих елементів VB. Використайте дві можливості (два варіанта маніпулювання файлами) файл послідовного, та довільного доступу. Передбачити можливість збереження декількох наборів даних в одному файлі і відповідно можливість перегляду і вибору необхідного набору з файлу. Застосувати елемент управління типу Controls - «витягнути наступний набір даних», наприклад.

Питання.

Поясніть різницю між використаними технологіями доступу до даних.

Поясніть параметри дозволів та блокування використані вами.

Завдання 9

Використовуючи елемент управління Line і графічний метод Print, повторити зовнішній вигляд таблиці завдання 4 на формі, призначеній для друку. Передбачити можливість виводу цієї форми на друк. Використовувати для написів різні типи і розміри шрифтів.

Завдання 10

В цьому завданні, також як і в завданні 7, необхідно побудувати графік функції з таблиці варіантів функцій. Тепер для вирішення задачі необхідно використовувати графічні методи – вбудовані (VB-6) і методи системної бібліотеки (VB NET).

Рахувати функцію завдання 1 функцією одного аргументу –

У=k1 * (x-k2)2+k3*(x-k2)*sin(x-k2) + k4*(sin(x-k2))2 .

Для цієї функції реалізувати програму, яка будує графік функції і відображає цей графік на відповідній формі. Бажано реалізувати цю програму на формі завдання 7, в тому випадку, якщо програма реалізується як програма для VB-6.. Графік будується як ламана лінія. Обов'язковою вимогою до програме є наступне. Інтервал, на якому будується функція, і точність представлення графічних даних (крок дискретності при побудові функції відрізками прямих) повинен задаватися довільно оператором і є початковими даними при роботі програми.

Завдання виконати в двох варіантах для VB-6 і VB NET. В першому випадку для масштабування використовувати графічні методи VB6 (метод SCALE і LINE). В другому випадку використовувати методи GDI+ і масштабування реалізувати самостійно.

Нижче, наведений як приклад фрагмент коду для GDI+ який дозволяє намалювати графік функції х=у2 на фіксованому інтервалі.

Приклад. Цей фрагмент може бути скопійований в тіло форми на якій розміщені PictureBox1 і Button1.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim x, у As Single

ymin = 999999.0

ymax = -9999999.0

For x = xmin To xmax Step stepx

у = f(x)

If у > ymax Then ymax = у

If у < ymin Then ymin = у

Next

Dim а As Graphics

а = PictureBox1.CreateGraphics

For x = xmin To xmax Step stepx

а.DrawLine(New Pen(Color.Coral), mx(x), my(f(x)), mx(x + stepx), my(f(x + stepx)))

Next

End Sub

Dim xmin As Single = -1

Dim xmax As Single = +1

Dim ymin, ymax As Single

Dim stepx As Single = 0.1

Function mx(ByVal x As Single) As Single

mx = ((x - xmin) / (xmax - xmin)) * PictureBox1.Width

End Function

Function my(ByVal у As Single) As Single

Return PictureBox1.Height - ((у - ymin) / (ymax - ymin)) * PictureBox1.Height

End Function

Function f(ByVal x As Single) As Single

Return x ^ 2

End Function

Збережена графіка

Dim bitmap As New Bitmap("Grapes.jpg")

e.Graphics.DrawImage(bitmap, 60, 10)

Dim myBitmap As New Bitmap("Spiral.png")

Dim expansionRectangle As New Rectangle(135, 10 _

myBitmap.Width, myBitmap.Height)

Dim compressionRectangle As New Rectangle(300, 10 _

myBitmap.Width / 2, myBitmap.Height / 2)

myGraphics.DrawImage(myBitmap, 10, 10)

myGraphics.DrawImage(myBitmap, expansionRectangle)

myGraphics.DrawImage(myBitmap, compressionRectangle)

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

Declare Sub FloodFill Lib "GDI32" Alias "FloodFill" _

(ByVal hDC As Long, ByVal X As Long, ByVal Y As _

Long, ByVal crColor As Long) As Long

' Place the following code in the form.

Private Sub Form_Click ()

ScaleMode = vbPixels ' Windows draws in pixels.

ForeColor = vbBlack ' Set draw line to black.

Line (100, 50)-(300, 50) ' Draw a triangle.

Line -(200, 200)

Line -(100, 50)

FillStyle = vbFSSolid  ' Set FillStyle to solid.

FillColor = RGB(128, 128, 255)   ' Set FillColor.

' Call Windows API to fill.

FloodFill hDC, 200, 100, ForeColor

End Sub

Завдання 11

Графік (завдання 10) зберегти у вигляді файлу. Побудувати зображення, що складається з прямокутних фрагментів – кожний фрагмент відображає графік функції на різних інтервалах. Використовувати це зображення як заставки для завдання (демонструвати на довільній формі). Розміри зображень повинні бути невеликими, що повинне гарантувати їх зберігання на одній дискеті з програмами. Передбачити можливість в програмі масштабної зміни графіка без повторного обчислення значення функції. Для завантаження файлів в run-time використовувати файл ресурсів.

Завдання 12

Декілька зображень, відповідних графікам функції (завдання 10), спільно з пояснюючими повідомленнями (інтервал аргументу) відобразити в об'єкті ListView. Розміри зображень повинні бути невеликими, що повинне гарантувати їх зберігання на одній дискеті з програмами. Передбачити можливість представлення інформації ListView в різних режимах (Таблиця, великі і малі ікони).

Завдання 13

Реалізувати побудову графіка (завдання 10) за допомогою об'єкту. Форму (або будь-який інший елемент управління) на якій будується графік, інтервал і крок зміни аргументу визначити за допомогою властивостей об'єкту. (Клас повинен мати об'єктні властивості.) Пов'язати з об'єктом подію, яка виникає у момент обчислення мінімальних і максимальних координат по вертикальній осі У. Использовать відповідну процедуру події в програмі для повернення цих двох значень в програму використовуючу об'єкт.

Завдання 13 а.

Виконати завдання 4. Обчислення інкапсулювати в спеціальному класі. Всі підпрограми і функції зробити методами класу. Для деяких параметрів (по вибору студента) реалізувати передачу значень за допомогою властивостей класу.

Завдання 13 би.

В додатку «варіанти таблиць» приведені таблиці, кожна з яких відповідає одному варіанту завдання. Зірочки в таблицях поміщені в поля, значення яких необхідно обчислити програмно.

Необхідно відобразити образ таблиці в Word.(або за допомогою таблиць або за допомогою елементів управління). В клієнтському додатку необхідно реалізувати обчислення, задані таблицею. Відобразити результат в Word. Клієнтський додаток виконати для VB6(VBA) і NET

Приклад для таблиць VB6. Повинні бути дозволений посилання для Word.

Dim pword As Word.Application

Set pword = GetObject(, "word.Application")

Dim mytabl As Table

Set mydoc = pword.Documents.Open("D:\DISP\plan-date\grafik PROEKT_1.doc")

Set mytabl = pword.ActiveDocument.Tables(2)

Dim mydate As Date

Dim mstr As String, mstr2 As String

Dim sim As Integer

mstr = mytabl.Cell(Row:=3, Column:=5).Range

l = Len(mstr)

For i = 0 To l - 1

sim = Asc(Right(mstr, l - i))

Select Case sim

Case 46 To 57

mstr2 = mstr2 & Chr(sim)

Case Else

End Select

Next

Приклад для NET

Dim pword As Word.Application

pword = GetObject(, "word.Application")

Dim mytabl As Word.Table

Dim mydoc As Word.Document

'mydoc = pword.Documents.Open("D:\DISP\plan-date\grafik PROEKT_1.doc")

mydoc = pword.ActiveDocument

mytabl = pword.ActiveDocument.Tables.Item(2)

Dim mydate As Date

Dim mstr As String, mstr2 As String

Dim sim, l, i As Integer

Dim mstrr As Word.Range

mstrr = mytabl.Cell(3, 5).Range

mstr = mstrr.Text

MsgBox(mstr)

l = Len(mstr)

For i = 0 To l - 1

sim = Asc(Microsoft.VisualBasic.Right(mstr, l - i))

Select Case sim

Case 46 To 57

mstr2 = mstr2 & Chr(sim)

Case Else

End Select

Next

Завдання 14

Реалізувати використовування об'єкту завдання 13 за допомогою класу інтерфейсу.

Завдання 15

Реалізувати об'єкт завдання 13 за допомогою додатку серверу. Побудувати програму клієнт, використовуючу цей сервер.

Завдання 15

Виконати елемент управління, що реалізовує функції об'єкту із завдання 13. Елемент повинен мати три властивості – інтервал (два числа) і крок зміни аргументу. Забезпечити збереження значень властивостей між сеансами проектування. Для елемента управління підготувати станицю властивостей.