Ф Е Д Е Р АЛ Ь Н О Е АГ Е Н Т С Т В О П О О Б Р АЗО В АН И Ю Р Ф В О Р О Н Е Ж С К И Й Г О С У Д АР С Т В Е Н Н Ы Й У Н ...
6 downloads
631 Views
625KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
Ф Е Д Е Р АЛ Ь Н О Е АГ Е Н Т С Т В О П О О Б Р АЗО В АН И Ю Р Ф В О Р О Н Е Ж С К И Й Г О С У Д АР С Т В Е Н Н Ы Й У Н И В Е Р С И Т Е Т
В .А. И щенко, Е .К . Н агина
VISUAL BASIC П Р АК Т И К А ЧАС Т Ь 2 У ЧЕ Б Н О -М Е Т О Д И ЧЕ С К О Е П О С О Б И Е
Д л я бакал ав р ов н ап р ав л е н ий 080500 (521500) – М е н е дж м е н т 080100 (521600) – Экон ом ика
В О РО Н Е Ж 2005
2 У т верж д ен о н а у чн о-м ет од ическим совет ом экон ом ического ф а ку л ь т ет а П ротокол № 7 от 22 сен т ября 2005 г.
У чебн о-м етод ическое пособие под готовл ен о н а ка ф ед ре ин ф орм а цион н ых т ехн ол огий и м а т ем а т ических м ет од ов в экон ом ике экон ом ического ф а ку л ь т ет а Ворон еж ского госу д а рст вен н ого у н иверсит ет а . Р еком ен д у ет ся д л я ба ка л а вров н а пра вл ен ий 080500 (521500) “М ен ед ж м ен т ” и 080100 (521600) “Э кон ом ика ” 1 ку рса д н евн ого и вечерн его от д ел ен ий.
3 У чебн о-м етод ическое пособие пред ст а вл яет собой пра кт ическое ру ковод ст во к провед ен ию л а бора торн ых ра бот по д исципл ин е “И н ф орм а тика ” (ра зд ел “Язык програ м м ирова н ие Visual Basic”) и пред н а зн а чен о д л я ст у д ен тов 1-го ку рса н а пра вл ен ий 080500 (521500) “М ен ед ж м ен т ” и 080100 (5216000) “Э кон ом ика ”. Зад а н ия, пред ст а вл ен н ые в у чебн ом ет од ическом пособии, позвол ят за крепит ь т еоретические зн а н ия по осн ова м програ м м ирова н ия н а языке Visual Basic, а т а кж е пол у чит ь н а выки в ра зра бот ке проект ов с пом ощь ю д а н н ого языка програ м м ирова н ия. П ол у чен н ые н а выки в програ м м ирова н ии н а языке Visual Basic м огу т быт ь прим ен ен ы ст у д ен т а м и н а ста рших ку рса х при изу чен ии д исципл ин ы “Язык програ м м ирова н ия VBA”. В у чебн о-м етод ическое пособие вкл ючен ы за д а н ия д л я выпол н ен ия л а бора торн ых ра бот ка к с описа н ием поряд ка их выпол н ен ия, т а к и за д а н ия д л я са м остоят ел ь н ого выпол н ен ия, чт о позвол ит ст у д ен т а м проявит ь ин д ивид у а л ь н ый под ход к ра зра бот ке проект ов. М ет од ические у ка за н ия сод ерж а т поста н овки ка к общеизвест н ых, т а к и оригин а л ь н ыхза д а н ий, ра зра бот а н н ых а втора м и.
4 Задание1. РазработкаVB – приложения “П риветс твиес ту дента” Р а зра бота т ь проект “П риветст вие ст у д ен т а ”, сод ерж а щий ф орм у , в кот орой вывод ит ся сообщен ие (приветст вие) при а кт ивиза ции програ м м н ого код а . П ор ядокв ы п ол н е н ия задан ия 1. Запу ст ит ь прил ож ен ие Visual Basic и созд а т ь н овый проект (ком а н д ы File (Ф ай л ) / New Project (Н овы й проект) / Standard EXE). 2. Выпол н ит ь у пра ж н ен ие по изм ен ен ию ра зм еров чистой ф орм ы, появившейся в цен тре экра н а . Д л я вы по лн ен и я у праж н ен и я и спо льзо ват ь у к азат ел ь мы ши , предвари т ел ьн о по мест и в его в правы йн и ж н и йу го л о к н а Ф о рмы (Form). Э т а ф орм а в д а л ь н ейшем бу д ет испол ь зова т ь ся д л я созд а н ия пол ь зова т ел ь ского ин т ерф ейса програ м м ы. 3. Р а зра бота т ь пол ь зова т ел ь ский ин т ерф ейс, ра спол ож ив н а ф орм е с пом ощь ю пан ели элемен т о в у правл ен и я, сл ед у ющие объект ы у пра вл ен ия: Label (М ет ка ); TextBox (т екстовое пол е); CommandButton (ком а н д н а я кн опка ). 4. Выпол н ит ь у пра ж н ен ия по изм ен ен ию ра зм ера и м естора спол ож ен ия созд а н н ыхн а ф орм е объект ов у пра вл ен ия. 5. В окн е Properties (Сво йст ва) д л я ка ж д ого объект а у пра вл ен ия у ст а н овит ь свойст ва , привед ен н ые в т а бл . 1. Т а бл ица 1 О бъект ы, свойст ва и событ ия эл ем ен тов у пра вл ен ия О бъект у правления
О бознач ениеобъектау правления по у м олч анию
И м я объекта у правления (Name)
Ф орм а
Form1
П ривет ст вие
М ет ка
Label1
П о у м ол ча н ию
П ол е
Text1
П о у м ол ча н ию
К н опка 1
CommandButton1
К н опка Н а ча ть
С вой с тва объектау правления Caption – П ривет ст вие Caption – П ривет ст вие Text – Empty (пу ст о) Caption – Н а ча т ь
6. Записа т ь програ м м н ый код д л я объект а у пра вл ен ия К нопкаН ач ать , пом ест ив в событие Click () сл ед у ющие опера торы: Private Sub К нопкаН ач ать _Click() Text1.Text = "В ас приветс тву ет с ту дент И ванов!" End Sub 7. Запу ст ит ь програ м м у в сред е Visual Basic, щел кн у в н а па н ел и ин ст ру м ен т ов н а кн опке Start (П у с к);
5 8. П роверит ь пра вил ь н ост ь ра бот ы програ м м ы, щел кн у в н а кн опке Н ач ать ; 9. С охра н ит ь в своей па пке ф орм у и проект соот вет ст вен н о под им ен а м и М оеприветс твие. frm и М оеприветс твие. Vbp. 10. Р езу л ь т а т ом ра бот ы прил ож ен ия явл яется ф орм а , привед ен н а я н иж е:
11. Выпол н ит ь са м остоят ел ь н о сл ед у ющие у пра ж н ен ия: • д л я ф орм ы “М ое привет ст вие” и объект ов у пра вл ен ия TextBox и Label за д а т ь д опол н ит ел ь н ые свойст ва : Ø Alignment – выра вн ива ет сод ерж им ое окн а сл ева , спра ва , по цен тру ; Ø BackColor – за д а ет цвет ф он а ; Ø BorderStyle – за д а ет стил ь обра м л ен ия; Ø ForColor – за д а ет цвет шриф т а ; Ø Font – у ста н а вл ива ет па ра м етры шриф та . • Запол н ит ь т а бл .2, у ка за в в н ей, ка ким объект а м м ож н о н а зн а чит ь привед ен н ые в т а бл ице свойст ва . Т а бл ица 2 С войст ва объект ов у пра вл ен ия О бъекты у правления С вой с тва Т екс товое К ом андная Ф орм а М етка поле кнопка Name Caption Text Alignment Bacolor BorderStyle ForColor Font
6 12. Р а зра бота т ь н овый проект , в котором в ф орм е бу д ет вывод ит ь ся привет ст вие ст у д ен т а экон ом ического ф а ку л ь т ет а ВГ У . П рим ен ит ь к объект а м у пра вл ен ия и ф орм е ра зл ичн ые свойст ва .
Задание2. РазработкаVB – приложения “П оис к ф игу ры ” Р а зра бота т ь проект “П оиск ф игу ры”, сод ерж а щий ф орм у , н а кот орой т ребу ет ся н а йт и ф игу ру пу т ем перем ещен ия по ф орм е у ка за т ел я м ыши. Э т а пы поиск ф игу ры д ол ж н ы сопровож д а т ь ся соот вет ст ву ющим и сообщен иям и в ст роке состоян ия. Ф игу ра н е бу д ет вид н а н а ф орм е д о тех пор, пока у ка за т ел ь м ыши н е попа д ет н а н ее. П ор ядокв ы п ол н е н ия задан ия 1. Р а зра бота т ь проект “П оиск ф игу ры” и за д а т ь сл ед у ющие свойст ва ф орм е: • у ст а н овит ь ра зм еры ф орм ы: Height (Высот а ) = 5000 и Width (Ш ирин а ) = 5000; • в свойст ве BorderStyle (Т ип ра м ки) у ст а н овит ь зн а чен ие 1 – Fixed Single (Т он ка я ф иксирова н н а я). 2. Д оба вить н а ф орм у ф игу ру с пом ощь ю объект а Shape (Ф игу ра ) и за д а т ь ем у сл ед у ющие свойст ва : • ра зм еры ф игу ры: Height (Высота ) = 135 и Width (Ш ирин а ) = 135; • т ип ра м ки: BorderStyle (Т ип ра м ки) у ст а н овит ь зн а чен ие 0 – Transparent (П розра чн а я); • д л я свойст ва FillColor (Ц вет за пол н ен ия) у ст а н овит ь зн а чен ие К ра сн ый; • д л я свойст ва FillStyle (Т ип за пол н ен ия) у ст а н овит ь зн а чен ие у ст а н овит ь зн а чен ие 1 - Transparent (П розра чн а я). 3. Вывести н а ф орм у С троку С ос тояния, в кот орой бу д ет ра зм еща т ь ся т екст , ком м ен т иру ющий резу л ь та т поиска ф игу ры: • щел кн у т ь пра вой кл а вишей м ыши н а па н ел и ком пон ен тов и в кон т екст н ом м ен ю выбра т ь пу н кт Components (К ом пон ен т ы) / у ст а н овит ь ф л а ж ок в пу н кт е MS Windows Common Controls 5.0 (SP2) / П рим енить ; • в па н ел и ком пон ен тов выбра т ь зн а чок StatusBar (С трока состоян ия) и н а рисова т ь ст року сост оян ия в л юбом м ест е ф орм ы; • у ст а н овит ь д л я прост ой строки состоян ия сл ед у ющие свойства : ü Д л я свойст ва Style (С т ил ь ) за д а т ь зн а чен ие 1- sbrSimple (П рост а я); ü С войст во SimplrText (П ростой т екст ). 4. Ввест и програ м м н ый код д л я процед у ры Form_Load():
7 Private Sub Form_Load() Randomize Timer ‘С л у ча йн ым обра зом ра спол а га ет ф игу ру н а ф орм е Shape1.Top = Int (Rnd* (Form1.ScaleHeight – Shape1. Height)) Shape1.Left = Int (Rnd* (Form1.ScaleWidth – Shape1. Width )) ‘С войст ва м Top и Left присва ива ются сл у ча йн ые зн а чен ия, чтобы ф игу ра сл у ча йн ым обра зом ра спол а га л а сь н а ф орм е. ‘С войст ва ScaleHeight (вн у т рен н яя ширин а ) и ScaleWidth (вн у т рен н яя высота ) позвол яют ф игу ре н е попа д а т ь в сл у ж ебн ые обл а сти окн а End Sub 5. Записа т ь програ м м н ый код д л я событ ия MouseMove (Д виж ен ие м ыши), при котором бу д ет м ен ят ь ся строка сост оян ия: Private Sub Form_MouseMove (Button As Integer, Shift As Integer, X As Single, Y As Single) X1 = ABS(X – (Shape1.Left + Shape1.Width /2)) Y1 = ABS(X – (Shape1.Top + Shape1.Height /2)) ‘X1 и Y1 О пред ел яет ра сстоян ие от у ка за т ел я м ыши д о серед ин ы ф игу ры от л евого верхн его у гл а ф орм ы Z = X1 If X1 < Y1 then Z = Y1 ‘Выбира ет из д ву х ра сст оян ий бол ь шее. Select Case Z ‘О пред ел яет зон у , в кот ору ю попа д а ет зн а чен ие перем ен н ой Z Case Is > 2000 StatusBar1.SimpleText = “Х олодно” Case Is > 500 StatusBar1.SimpleText = “Т епло” Case Is > 67 StatusBare1.SimpleText = “Г орим !” Shape1.FillStyle = vbFSsolid ‘Д ел а ет скрыт ый объект вид им ым , есл и у ка за т ел ь м ыши н а вед ен н а объект End Select End Sub 6. Запу ст ит ь проект н а выпол н ен ие и проверить пра вил ь н ост ь ра боты програ м м ы. 7. С охра н ит ь в своей па пке ф орм у и проект соот вет ст вен н о под им ен а м и М оя ф игу ра. frm и М оя ф игу ра. Vbp. 8. Р езу л ь т а т ом ра бот ы прил ож ен ия явл яется ф орм а , привед ен н а я н иж е.
8
Задание3. Р азработкаVB – приложения “О пределениевозрас та” Р а зра бота т ь проект, сод ерж а щий ф орм у , в кот орой в за висим ости от возра ст а сотру д н ика и его ст а ж а ра бот ы выд а ют ся соот вет ст ву ющие сообщен ия. П ор ядокв ы п ол н е н ия задан ия 1. Запу ст ит ь прил ож ен ие Visual Basic и созд а т ь н овый проект “О пред ел ен ие возра ст а ”. 2. Р а зра бота т ь пол ь зова т ел ь ский ин т ерф ейс, ра спол ож ив н а ф орм е с пом ощь ю пан ели элемен т о в у правл ен и я, сл ед у ющие объект ы у пра вл ен ия: д ве м ет ки (Label1, Label2); т ри т екст овых пол я (TextBox1, TextBox2, TextBox3); три ком а н д н ые кн опки (CommandButton1, CommandButton2, CommandButton3). 3. В окн е Properties (Сво йст ва) д л я ка ж д ого объект а у пра вл ен ия у ст а н овит ь свойст ва , привед ен н ые в т а бл . 3, и за пол н ить гра ф у “О бра бат ыва ем ое событие”. 4. И зм ен ит ь цвет кн опок н а ф орм е, пред ва рител ь н о у ст а н овив в окн е Properties (Сво йст ва) д л я свойст ва Style зн а чен ие 1, а за тем с пом ощь ю свойст ва BackColor у ста н овит ь н у ж н ый цвет д л я ком а н д н ых кн опок. 5. Ф орм е и объект а м , ра спол ож ен н ым н а н ей, за д а т ь ра зл ичн ые д опол н ит ел ь н ые свойст ва (а н а л огичн о та бл .2). 6. Ввест и и проа н а л изирова т ь програ м м н ый код д л я объект а у пра вл ен ия К нопкаН ач ать : Private Sub К нопкаН ач ать _Click() If В озрас т.Text > 58 Or (В озрас т.Text > 55 And С таж.Text > 15) Then С ообщение.Text = "В аш возрас т вы зы вает у важение"
9 Else С ообщение.Text = "В ы ещем олоды !" End If End Sub 7. Записа т ь програ м м н ый код д л я объект ов у пра вл ен ия К нопкаО ч ис тить и К нопкаВ ы х од. 8. Р а зра бота т ь свой ва риа н т програ м м н ого код а д л я объект а у пра вл ен ия К нопкаН ач ать , созд а в ра зл ичн ые ва риа н ты сообщен ий в за висим ост и от возра ста и ст а ж а ра боты сот ру д н ика . Т а бл ица 3 О бъект ы, свойст ва и событ ия эл ем ен тов у пра вл ен ия
О бъект у правления
О бознач ение объекта у правления по у м олч анию
Ф орм а
Form1
О пред ел ен ие возра ст а
М ет ка 1
Label1
П о у м ол ча н ию
М ет ка 2
Label2
П о у м ол ча н ию
Text1
Возра ст
Text2
С та ж
Text3
С ообщен ие
Т екст овое пол е1 Т екст овое пол е2 Т екст овое пол е3 К ом а н д н а я К н опка 1 К ом а н д н а я К н опка 2 К ом а н д н а я К н опка 3
И м я объекта у правления (Name)
CommandButto К н опка Н а ча ть n1 CommandButto К н опка О чист ит ь n2 CommandButto К н опка Выход n3
С вой с тваобъекта у правления
О брабаты ваем ое с обы тие
Caption – О пред ел ен ие возра ст а Caption – Ввест и возра ст Caption – Ввест и ста ж ра бот ы Text – Empty (пу ст о) Text – Empty (пу ст о) Text – Empty (пу ст о) Caption – Н а ча т ь Caption – О чист ит ь Caption – Выход
9. Запу ст ит ь програ м м у н а выпол н ен ие, а при н а л ичии ошибок в програ м м е – испра вит ь их. 10. С охра н ит ь в своей па пке ф орм у и проект соот вет ст вен н о под им ен а м и О пределениевозрас та. frm и О пределениевозрас та. Vbp. 11. Р езу л ь т а т ом ра бот ы прил ож ен ия явл яется ф орм а , привед ен н а я н иж е.
10
Задание4. Р азработкаVB – приложения “Р ис у нок наф орм е” Зад а н ие позвол яет позн а ком ит ь ся с прием а м и ра зм ещен ия рису н ка в экра н н ой ф орм е, испол ь зу я ф у н кцию LoadPicture (Загру зка рису н ка ). Ф у н кция LoadPicture присва ива ет рису н ок объект а м Image, Picture ил и экра н н ой ф орм е. С ин т а ксис ф у н кции: Object . Picture = LoadPicture ( filename ) И м я экра н н ой ф орм ы (объект а Image ил и Picture)
И м я свойст ва
И м я ф а йл а
О бъект Picture (Р ис у нок) - отобра ж а ет рису н ок т а к, ка к он н а рисова н , н е ра ст ягива я и н е сж им а я его по ра зм ера м объект а . Ч тобы приспособит ь объект Picture по ра зм еру к выд а ва ем ом у рису н ку , прим ен яет ся с вой с тво AutoSize (Автом атич ес кий разм ер), кот орое м ож ет прин им а т ь д ва зн а чен ия: • False - ост а вл яет ра зм ер объект а т ем ж е, что за д а н при пом ещен ии объект а в ф орм у . • True - а вт ом а тически приспоса бл ива ет объект по ра зм еру к выд а ва ем ом у рису н ку . О бъект Image (И зображение) - рису ет объект н а ф орм е и н а зн а ча ет ф а йл его свойству Picture. И зм ен ит ь ра зм ер рису н ка м ож н о с вой с твом Stretch (Рас тяжение), которое м ож ет прин им а т ь д ва зн а чен ия: • False - по у м ол ча н ию; • True - рису н ок бу д ет сж им а т ь ся ил и ра сширят ь ся в за висим ост и от ра зм ера объект а .
11 П ор ядокв ы п ол н е н ия задан ия 1. Запу ст ит ь прил ож ен ие Visual Basic и созд а т ь н овый проект “Р ису н ок н а ф орм е”. 2. Р а зра бота т ь пол ь зова т ел ь ский ин т ерф ейс, ра спол ож ив н а ф орм е с пом ощь ю пан ели элемен т о в у правл ен и я, сл ед у ющие объект ы у пра вл ен ия: Г ра ф ическое окн о (PictureBox), текст овое пол е(TextBox), три ком а н д н ые кн опки (CommandButton1, CommandButton2, CommandButton3), д ве м ет ки (Label1, Label2). 3. Выпол н ит ь у пра ж н ен ия по изм ен ен ию ра зм ера и м естора спол ож ен ия созд а н н ыхн а ф орм е объект ов у пра вл ен ия. 4. Зад а т ь свойст ва объект а м у пра вл ен ия, испол ь зу я окн о Properties (Сво йст ва). С войства объект ов привед ен ы в т а бл . 4. Т а бл ица 4 О бъект ы, свойст ва и событ ия эл ем ен тов у пра вл ен ия
О бъект у правления
Ф орм а
О бознач ениеобъектау правления по у м олч анию Form1
И м я объекта у правления (Name) Р ису н окН а Ф орм е
К ом а н д CommandB н а я К н оutton1 пка 1
К н опка П росм от р
К ом а н д CommandB н а я К н оutton2 пка 2
К н опка О т м ен а
С вой с тва объекта у правления
О брабаты ваем ое с обы тие
Caption – Р ису н ок н а Ф орм е
Н ет
П роверяет коррект н ост ь Caption - ввод им ых д а н н ых в окн о И м яР ису н ка , вывод ит риП росм от р су н ок в окн о рису н ка Click – очища ет пол я д л я ввод а н овых д а н н ых и пеCaptionред а ет ф оку с объект у -пол е О т м ен а И м яР ису н ка
К ом а н д н а я К н опка 3 Т екст овое П ол е Г ра ф ическое О кно
CommandB utton3
К н опка К он ец
Text1
И м яР ису н ка
Н ет
Н ет
PictureBox
Р ису н ок
Н ет
Н ет
М ет ка 1
Label1
П о у м ол ча н ию
М ет ка 2
Label2
П о у м ол ча н ию
Caption К он ец
Caption – Р ису н ок Caption – Введ и им я рису н ка
- Click – Выход из програ м мы
Н ет Н ет
5. Ф орм е и объект а м , ра спол ож ен н ым н а н ей, за д а т ь д опол н ит ел ь н ые свойст ва (а н а л огичн о т а бл .2).
12 6. Записа т ь програ м м н ый код д л я ком а н д н ой кн опки К нопкаП рос м отр, пом естив в событие Click () опера т оры: Private Sub К нопкаП рос м отр_Click() Р ис у нок . Picture = LoadPicture (И м яРис у нка. Text) End Sub 7. Записа т ь програ м м н ый код д л я ком а н д н ой кн опки К нопкаО тм ена, пом ест ив в событие Click() опера т оры: Private Sub К нопкаО тм ена_Click() Р ис у нок . Picture = LoadPicture() И м яР ис у нка. Text = " " И м яР ис у нка. SetFocus 8. Записа т ь програ м м н ый код д л я ком а н д н ой кн опки К нопкаВ ы х од. 9. Запу ст ит ь проект н а выпол н ен ие, просм отрет ь резу л ь т а т ра боты и, есл и н еобход им о, испра вит ь ошибки. 10. С охра н ит ь в своей па пке ф орм у под им ен ем Р ису нок наф орм е.frm и проект Р ис у нок наф орм е.vbp. 11. Р езу л ь т а т ом ра боты прил ож ен ия явл яет ся ф орм а , пред ст а вл ен н а я н иж е.
12. С а м остоятел ь н о, испол ь зу я в ф у н кции Load Picture объект ы Image и Picture, выясн ить возм ож н ост и и отл ичия эт их объект ов у пра вл ен ия.
13 Задание5. РазработкаVB – приложения “П росм отр картинок” Р а зра бота т ь проект “П росм отрка ртин ок”, сод ерж а щий ф орм у , в кот орой м ож н о просм а т рива т ь ка рт ин ки, хра н ящиеся н а гибких, ж ест ких, сет евых д иска х ил и CD-ROM. В програ м м е бу д ет испол ь зова т ь ся гра ф ический объект , кот орый м ож ет ра бота т ь с шест ь ю гра ф ическим и ф орм а т а м и: битовый (.bmp - ф а йл ы), м ет а ф а йл ы Windows (.wmf - ф а йл ы), пикт огра м м ы (.ico – ф а йл ы), ку рсоры (.cur – ф а йл ы), ф орм а т JPEG (.jpg – ф а йл ы) и ф орм а т GIF (.gif – ф а йл ы). П ор ядокв ы п ол н е н ия задан ия 1. Запу ст ит ь прил ож ен ие Visual Basic и созд а т ь н овый проект “П росм отрка рт ин ок”. 2. Выпол н ит ь ком а н д ы Tools (И нс тру м енты ) / вкладка Editor (Р едактор) / с нять ф лажок Require Declaration (О бъявление требу ем ы х перем енны х ) / OK; 3. С пом ощь ю пан ели эл емен т о в у правлен и я ра спол ож ит ь н а ф орм е сл ед у ющие объекты у пра вл ен ия: список д исковод ов (DriveListBox), список д ирект орий (DirListBox), список ф а йл ов (FileListBox). 4. В окн е Properties (Сво йст ва) у ст а н овит ь свойст ва д л я созд а н н ых объект ов, у ка за н н ых в т а бл . 5. Т а бл ица 5 О бъект ы, свойст ва и событ ия эл ем ен тов у пра вл ен ия О бъект у правления 1
О бознач ениеобъекта у правления по у м олч анию 2
Ф орм а
Form1
С писок д исковод ов
FileListBox
И зобра ж ен ие С писок д ирект орий С писок ф а йл ов
И мя объекта у правления (Name) 3 Р ису н окн а Ф орм е File
С вой с тваобъекта у правления
У с тановка
4
5
П о у м ол ча н ию Pattern – перечисл яет д опу ст им ые гра ф ические ф орм а т ы Stretch – изм ен ен ие ра зм ера рису н ка Border Style – за д а ет ст ил ь ра м ки
Н ет *.bmp, *.wmf, *.ico True 1 – Fixed Single (С т ил ь ра м ки – т он ка я л ин ия)
ImageBox
Image1
DriveListBox
Drive1
П о у м ол ча н ию
Н ет
DirListBox
Dir1
П о у м ол ча н ию
Н ет
14 5. Ф орм е и объект а м , ра спол ож ен н ым н а н ей, за д а т ь д опол н ит ел ь н ые свойст ва (а н а л огичн о т а бл .2). 6. С озд а т ь в процед у ре событ ия Drive1_Change програ м м н ый код д л я объект а “С писок д ра йверов”: Private Sub Drive1_Change() Dir1.Path = Drive1.Drive End Sub 7. А н а л огичн о д оба вит ь програ м м н ый код к процед у ра м событ ия: • Dir1_Change: Private Sub Dir1_Change() File1.Path = Dir1.Path ‘С вязы вает с пис ок ф ай лов с о с пис ком директорий End Sub • File1_Click: Private Sub File1_Click() SelectedFile = File1.Path & "\" & File1.FileName Image1.Picture = LoadPicture (SelectedFile) End Sub 8. П росм отрет ь резу л ь т а т выпол н ен ия програ м м ы. П ри обн а ру ж ен ии ошибок – испра вить их. 9. В своей па пке сохра н ит ь ф орм у под им ен ем П рос м отр картинок.frm и проект под им ен ем П рос м отр картинок.vbp. 10.Р езу л ь т а т ом ра боты прил ож ен ия явл яется ф орм а , привед ен н а я н иж е.
11. С а м остоятел ь н о изм ен ит ь ра зра бота н н у ю ф орм у , д оба вив в н ее н овый объект у пра вл ен ия кнопкаК онец, и за писа т ь д л я н ее програ м м н ый код .
15 Задание6. РазработкаVB – приложения “У дач а” П рогра м м а им ит иру ет игровой а вт ом а т : есл и при сл у ча йн ом выпа д ен ии из трех чисел , хот я бы од н о сод ерж ит циф ру 7, т о н а экра н е появл яет ся ка ртин ка . П ор ядокв ы п ол н е н ия задан ия 1. Запу ст ит ь прил ож ен ие Visual Basic и созд а т ь н овый проект . 2. Р а зра бота т ь пол ь зова т ел ь ский ин терф ейс, ра спол ож ив н а ф орм е с пом ощь ю пан ели эл емен т о в у правл ен и я, сл ед у ющие объект ы у пра вл ен ия: т ри ком а н д н ые кн опки (CommandButton1, CommandButton2, CommandButton3), четыре м ет ки (Label1, Label2, Label3, Label4), окн о изобра ж ен ия (Image). М ет ки Label1, Label2 и Label3 бу д у т испол ь зова т ь ся д л я за пол н ен ия сл у ча йн ым и числ а м и, а Label4 – д л я н а зва н ия игры. О кн о изобра ж ен ия (Image) бу д ет испол ь зова т ь ся д л я вывод а ка рт ин ки – резу л ь т а т а выпол н ен ия програ м м ы. Ри су н о к мо ж н о вы брат ь среди Windows – м е т аф ай л о в , к о т о ры е и меют ф о рмат .wmf и со держ ат граф и ческ и е о бъек т ы , масшт аби ру емы е без и ск аж ен и й; 3. Выпол н ит ь у пра ж н ен ия по изм ен ен ию ра зм ера и м естора спол ож ен ия созд а н н ыхн а ф орм е объектов у пра вл ен ия. 4. С пом ощь ю о к н а Properties (Сво йст ва) за д а т ь свойст ва объект а м у пра вл ен ия, описа н н ые в т а бл . 6. Д л я объект а Image м огу т быт ь испол ь зова н ы сл ед у ющие свойст ва : • Stretch (В ы тягивание) – д л я у ст а н овки т очн ого ра зм ера рису н ка ; • Picture (Р ис у нок) – д л я у ка за н ия им ен и гра ф ического ф а йл а ; • Visible (В идим ос ть ) – д л я опред ел ен ия состоян ия рису н ка в н а ча л е ра бот ы програ м м ы; • чтобы сд ел а т ь рису н ок н евид им ым в м ом ен т за пу ска програ м м ы, н а д о изм ен ит ь сво йст во Visible (Ви ди мо ст ь) н а зн а чен ие False (Л ожь ). 5. О бъект а м , ра спол ож ен н ым н а ф орм е, за д а т ь д опол н ит ел ь н ые свойст ва (а н а л огичн о т а бл .2). 6. Записа т ь програ м м н ый код д л я объект а у пра вл ен ия К нопкаК онец. 7. Ввест и програ м м н ый код д л я объект а у пра вл ен ия кнопкаВ ращать , пом естив в событие Click () сл ед у ющие опера т оры: Private Sub К нопкаВ ращать _Click() Р ис у нокУ дач а.Visible = False 'с кры ть рис у нок Label1.Caption = Int (Rnd * 10) 'показать ч ис ла Label2.Caption = Int (Rnd * 10) Label3.Caption = Int (Rnd * 10)
16 'Е с ли лю боеч ис ло =7, показать рис у нок и дать с игнал If (Label1.Caption =7) Or (Label2.Caption=7) Or (Label3.Caption=7) Then Р ису нокУ дач а.Visible = True Beep End If End Sub 8. Запу ск проект и програ м м у в сред е Visual Basic и проверит ь пра вил ь н ост ь ра боты програ м м ы. П ри обн а ру ж ен ии ошибок в код а х програ м м ы – испра вит ь их. 9. С охра н ит ь в своей па пке ф орм у под им ен ем У дач а. frm и проект под им ен ем У дач а. vbp. Т а бл ица 6 О бъект ы, свойст ва и событ ия эл ем ен тов у пра вл ен ия О бъект у правления Ф орм а К ом а н д н а я К н опка 1 К ом а н д н а я К н опка 2 М ет ка 1, М ет ка 2, М ет ка 3
М ет ка 4
И зобра ж ен ие
О бознач еИ мя ниеобъекта О бъекта у правления у правления по у м олч а(Name) нию Form1 У д а ча Command1
К н опка К он ец
Command2
К н опка Вра ща т ь
Label1, Label2, Label3
Label4
Image1
П о у м ол ча н ию
П о у м ол ча н ию
Р ису н окУ д а ча
С вой с тваобъектау правления Н ет Caption - К он ец Caption- Вра ща т ь Border Style Alignment Font Capion - У д а ча Font ForeColor Picture Stretch Visible
У с тановка
1- Fixed Single 2 - Center TimesNewRoman, Bord, 20 (Emply) Arial, Bord,18 DarkPurle (&H008000808) C:\Vb6SBS\coins.wmf True False
10.Р езу л ь т а т ра бот ы прил ож ен ия пред ст а вл ен в ф орм е, привед ен н ой н иж е.
17
11. С а м остоятел ь н о ра зра бот а т ь проект , с пом ощь ю которого реа л изу ет ся сл ед у ющий а л горит м : вывест и н а ф орм у ка рт ин ку , есл и при сл у ча йн ом выпа д ен ии трех чисел ихпроизвед ен ие н е бол ее 159. 12. С а м остоятел ь н о ра зра бот а т ь проект , с пом ощь ю которого реа л изу ет ся сл ед у ющий а л горит м : вывест и н а ф орм у ка рт ин ку , есл и при сл у ча йн ом выпа д ен ии трех чисел ихсу м м а превосход ит числ о 84.
Задание7. Р азработкаVB – приложения “У правлениеш риф там и” Ш риф ты испол ь зу ют ся д л я изм ен ен ия вн ешн его вид а объект а ил и ф орм ы. Ба зовый шриф т опред ел яет, явл яют ся л и л ит ера л ы печа тн ым и, ру кописн ым и ил и им еют ф игу рн ый вид . Ш риф ты опред ел яют ся свойст ва м и объект ов. С войст ва объект ов м ож н о у ст а н а вл ива т ь ка к в пан ел и ди ало га Properties (Сво йст ва), т а к и м ен ят ь в програ м м е. С у щест ву ют сл ед у ющие свойст ва , опред ел яющие вн ешн ий вид Ш риф т а : • Name – им я ба зы шриф т а ; • Bold – пол у ж ирн ый; • Italic – ку рсив; • Underline – под черкива н ие; • Size – ра зм ершриф т а ; • StrikeThrough – перечеркива н ие; • Weight – тол щин а бу квы.
18 Н а прим ер, д л я изм ен ен ия ба зового шриф т а в програ м м е м ож н о присвоит ь свойст во Name объект а Font и за д а ть свойст ву опред ел ен н ое зн а чен ие: FontDemo.Font.Name = “Times New Roman”, гд е FontDemo – им я объект а у пра вл ен ия; Font – пока зыва ет , изм ен яет ся од н о изсвойст в шриф т а ; Name – опред ел яет свойст во, кот орое изм ен яется. М ож н о в програ м м е испол ь зова ть и д ру гу ю за пись д л я ха ра кт ерист ики шриф та : FontDemo.FontItalice = True С л ед у ет пом н ит ь , чт о: • Т а кие свойст ва шриф тов, ка к Bold, Italic, Underline, Strike Through м огу т прин им а т ь д ва зн а чен ия: True и False. Н а прим ер: С ообщен ие.FontBold = True П ол е.Font.Size = 18 • С войст во Multiline (зн а чен ие True) позвол яет вывод ит ь в текст овое пол е м н огострочн ый т екст. П ор ядокв ы п ол н е н ия задан ия 1. Запу ст ит ь прил ож ен ие Visual Basic и созд а т ь н овый проект “У пра вл ен ие шриф та м и”. 2. Р а зра бота т ь пол ь зова т ел ь ский ин терф ейс, ра спол ож ив н а ф орм е с пом ощь ю пан ели эл емен т о в у правл ен и я сл ед у ющие объект ы у пра вл ен ия: т екстовое пол е д л я вывод а сообщен ия (TextBox), сем ь ком а н д н ых кн опок (CommandButton1, CommandButton2, CommandButton3, CommandButton4, CommandButton5, CommandButton6, CommandButton7). К ом а н д н ые кн опки Н овы й ш риф т, П олу жирны й , К у рс ив, П одч еркивание и Р азм ер ш риф та позвол яют изм ен ит ь вн ешн ий вид т екст а , вывод им ого в т екст овом окн е. К н опка О тм енаот м ен яет выпол н ен н ое д ейст вие и восст а н а вл ива ет исход н ые свойст ва т ест а в т екст овом окн е. К н опка В ы х од выпол н яет окон ча н ие програ м м ы. 3. Зад а т ь свойст ва объект а м у пра вл ен ия, испол ь зу я окн о Properties (Сво йст ва). С войства объект ов привед ен ы в т а бл . 7. Запол н ит ь в т а бл ице гра ф у “О бра ба тыва ем ое событие”. 4. Ф орм е и объект а м , ра спол ож ен н ым н а н ей, за д а т ь д опол н ит ел ь н ые свойст ва (а н а л огичн о т а бл .2).
19 Т а бл ица 7 О бъект ы, свойст ва и событ ия эл ем ен тов у пра вл ен ия
О бъект у правления
О бознач ениеобъекта у правления по у м олч анию
И м я объекта у правления (Name) У пра вл ен ие шриф т а м и
Ф орм а
Form1
К ом а н д н а я К н опка 1 К ом а н д н а я К н опка 2 К ом а н д н а я К н опка 3 К ом а н д н а я К н опка 4 К ом а н д н а я К н опка 5 К ом а н д н а я К н опка 6 К ом а н д н а я К н опка 7 Т екст овое П оле
CommandBut ton1 CommandBut ton2 CommandBut ton3 CommandBut ton4 CommandBut ton5 CommandBut ton6 CommandBut ton7
К н опка Н овыйШ риф т К н опка П ол у ж ирн ый
TextBox
С ообщен ие
К н опка К у рсив К н опка П од черкива н ие К н опка Р а зм ерШ риф т а К н опка О т м ен а К н опка Выход
С вой с тваобъектау правления
О брабаты ваем ое с обы тие
Caption – У пра вл ен ие шриф т а м и Caption – Н овый шриф т Caption – П ол у ж ирн ый Caption – К у рсив Caption – П од черкива н ие Caption – Р а зм ершриф т а Caption – О т м ен а Caption – Выход Н ет
5. Ввест и програ м м н ый код д л я объект а у пра вл ен ия К нопкаК у рс ив: Private Sub К нопкаК у рс ив_Click() If С ообщение.Font.Italic = False Then С общение.Font.Italic = True Else С ообщение.Font.Italic = False End If End Sub 6. Ввест и програ м м н ый код д л я объект а у пра вл ен ия К нопкаН овы й Ш риф т: Private Sub Н овы й Ш риф т_Click() If С ообщение. Font.Name = "MT Extra" Then С ообщение.Font.Name = "Ms Sans Serif" Else С ообщение.Font.Name = "MT Extra" End If End Sub
20 7. Ввест и програ м м н ый код д л я объект а у пра вл ен ия К нопкаО тм ена: Private Sub К нопкаО тм ена_Click() С ообщение.Font.Underline = False С ообщение.Font.Bold = False С ообщение.Font.Size = 8 С ообщение.Font.Name = " Ms Sans Serif " С ообщение.Font.Italic = False End Sub 8. Ввест и програ м м н ый код д л я объект а у пра вл ен ия К нопкаП одч еркивание: Private Sub К нопкаП одч еркивание_Click() If С ообщение.Font.Underline = False Then С ообщение.Font.Underline = True Else С ообщение.Font.Underline = False End If End Sub 9. Ввест и програ м м н ый код д л я объект а у пра вл ен ия К нопкаП олу жирны й : Private Sub К нопкаП олу жирны й _Click() If С ообщение.Font.Bold = False Then С ообщение.Font.Bold = True Else С ообщение.Font.Bold = False End If End Sub 10. Ввест и програ м м н ый код д л я объект а у пра вл ен ия К нопкаРазм ер: Private Sub К нопкаР азм ер_Click() If С ообщение.Font.Size = 18 Then С ообщение.Font.Size = 8 Else С ообщение.Font.Size = 18 End If End Sub 11. Р а зра бота т ь програ м м н ый код д л я ком а н д н ой кн опки В ы х од. 12. Запу ст ит ь проект и програ м м у н а выпол н ен ие, просм отреть резу л ь т а т ра боты, испра вит ь ошибки при ихн а л ичии.
21 13. С охра н ит ь ф орм у и проект соот ветст вен н о под им ен а м и У правлениеш риф там и.frm и У правлениеШ риф там и.Vbp. 14. Р езу л ь т а т ра боты прил ож ен ия пред ст а вл ен в ф орм е, привед ен н ой н иж е.
15. Р а зм ест ит ь н а ф орм е д опол н ител ь н ый объект у пра вл ен ия – ком а н д н у ю кн опку кнопкаП ереч еркивание и ра зра бот а т ь д л я н ее програ м м н ый код .
Задание8. РазработкаVB – приложения “П оч товы енаклей ки” Зад а н ие позвол яет позн а ком ит ь ся с прием а м и ра боты с н овым объект ом у пра вл ен ия, кот орый н а зыва ет ся к о н т ейн еро м. П ри н ед ост а т ке м ест а н а ф орм е м ож н о испол ь зова т ь объект ы у пра вл ен ия, н а зыва ем ые кон т ейн ера м и. Э то позвол ит ра зм еща ть н а ф орм е все н еобход им ые объект ы у пра вл ен ия, н о пока зыва т ь тол ь ко т е, которые н еобход им ы в д а н н ый м ом ен т д л я ра боты. С у щест ву ют т ри т ипа кон т ейн еров: • Frame (Р ам ка) – д л я д а н н ого объект а у пра вл ен ия м ож н о за д а т ь свойст во Appearance (Вн ешн ий вид ), кот орое м ож ет прид а ть ра м ке пл оский ил и рел ь еф н ый вид • PictureBox (Г раф ич ес кое окно) – м ож ет испол ь зова т ь ся в ка чест ве кон т ейн ера , ка к и ра м ка . О собен н ост и гра ф ического окн а : ü гра ф ическое окн о н е им еет за гол овка ; ü м ож ет им еть ил и н е им ет ь очерчен н ые гра н ицы; ü м ож ет сод ерж а т ь рису н ок, кот орый бу д ет явл ят ь ся ф он ом д л я д ру гих объект ов у пра вл ен ия в эт ом окн е. • Sheridan Tabbed Dialog (Д иалог с закладкам и).
22 П ор ядокв ы п ол н е н ия задан ия 1. Запу ст ит ь прил ож ен ие Visual Basic и созд а т ь н овый проект “С озд а н ие н а кл еек”. 2. Р а зра бота т ь пол ь зова т ел ь ский ин терф ейс, ра спол ож ив н а ф орм е с пом ощь ю пан ели эл емен т о в у правл ен и я, сл ед у ющие объекты у пра вл ен ия: ра м ка (Frame), пят ь м еток (Label1, Label2, Label3, Label4, Label5), пят ь т екст овых пол ей (TextBox1, TextBox2, TextBox3, TextBox4, TextBox5), д ве ком а н д н ые кн опки (CommandButton1, CommandButton2), гра ф ическое окн о (PictureBox), д ва перекл юча тел я (OptionButton1, OptionButton2). 3. Зад а т ь объект а м у пра вл ен ия свойст ва , у ка за н н ые в т а бл . 8, а т а кж е описа т ь обра ба т ыва ем ое событие д л я ка ж д ого объект а у пра вл ен ия. Т а бл ица 8 О бъект ы, свойст ва и событ ия эл ем ен тов у пра вл ен ия О бъект у правления 1
О бознач ение объектау правления по у м олч анию 2
Ф орм а
Form1
К ом а н д н а я К н опка 1 К ом а н д н а я К н опка 2 Т екст овое П ол е1 Т екст овое П ол е2 Т екст овое П ол е3 Т екст овое П ол е4 Т екст овое П ол е5 М ет ка 1
CommandButton1 CommandButton 2
И м я объекта у правления (Name)
С вой с тваобъектау правления
3
4 Caption – П очт овые н а П очт овые кл ейки н а кл ейки К н опка О чиCaption – О чист ит ь ст ит ь К н опка К он ец
Caption – К он ец
TextBox1
И мя
Н ет
TextBox2
Ф а м ил ия
Н ет
TextBox3
А д рес
Н ет
TextBox4
Г ород
Н ет
TextBox5 Label1
П очт овыйИ н д екс П о у м ол ча н ию
М ет ка 2
Label2
П о у м ол ча н ию
М ет ка 3
Label3
П о у м ол ча н ию
М ет ка 4
Label4
П о у м ол ча н ию
М ет ка 5
Label5
П о у м ол ча н ию
Н ет Caption – И м я Caption – Ф а м ил ия Caption – А д рес Caption – Г ород Caption – П очт овый ин д екс
О брабаты ваем ое с обы тие 5
23 1 Г ра ф ическое О кн о Р а м ка П ерекл юча т ел ь П ерекл юча т ел ь К ом а н д н а я кн опка
2
3
PictureBox
Н а кл ейка
Frame
Frame1
OptionButton1
О бра щен ие1
OptionButton2
О бра щен ие2
CommandButton
CmdPrint
4
П род ол ж ен ие т а бл . 8 5
Н ет Caption – О бра щен ие Caption – Г оспод ин Caption – Г оспож а Caption – Н а печа т а т ь н а кл ейку
4. Зад а т ь ф орм е и объект а м у пра вл ен ия, ра спол ож ен н ым н а н ей, д опол н ит ел ь н ые ра зл ичн ые свойст ва (а н а л огичн о т а бл . 2). 5. В проект е при ра зра бот ке програ м м н ых код ов испол ь зова л ись сл ед у ющие ф у н кции: Ø Cmd - возвра ща ет ча ст ь а ргу м ен тов ком а н д н ой строки, испол ь зу ем ой при за пу ске MS Visual Basic ил и выпол н яем ой програ м м ой, ра зра бот а н н ой с пом ощь VB. В н а шем прим ере – пред ста вл яет ин ф орм а цию об а ргу м ен т а х, возвра ща ем у ю ф у н кцией Command. Ø Str – преобра зу ет числ овое выра ж ен ие в строку . 6. Ввест и програ м м н ый код д л я объект а у пра вл ен ия CommandButton - Н апеч атать наклей ку , пом естив в событ ие Click () сл ед у ющие опера торы: Private Sub cmdPrint_Click() strИ м я$ = И м я.Text strФ ам илия$ = Ф ам илия.Text strАдрес $ = Адрес .Text strГ ород$ = Г ород.Text strП оч товы й И ндекс $ = Format(П оч товы й И ндекс .Text, “000000") If О бращение1.Value Then strО бращение$ = "Г ос подин" If О бращение2.Value Then strО бращение$ = "Г ос пожа" С трока1$ = strО бращение$& " "& strФ ам илия$ &" "&strИ м я$ С трока3$ = strГ ород$ & ", " & strП оч товы й И ндекс $ Н аклей ка.Print С трока1$ Н аклей ка.Print strАдрес $ Н аклей ка.Print С трока3$ End Sub 7. Р а зра бота т ь програ м м н ый код д л я объект а у пра вл ен ия К нопкаВ ы х од.
24 8. Ввест и програ м м н ый код д л я объект а у пра вл ен ия К нопкаО ч ис тить , пом естив в событ ие Click () сл ед у ющие опера т оры: Private Sub К нопкаО ч ис тить _Click() И м я.Text = " " Ф ам илия.Text = " " Адрес .Text = " " Г ород.Text = " " П оч товы й И ндекс .Text = " " Н аклей ка.Cls End Sub 9. М од иф ицирова т ь ра зра бота н н ый ин т ерф ейс, д оба вив в ф орм у д опол н ит ел ь н ый объект у пра вл ен ия, с пом ощь ю кот орого ввест и ин ф орм а цию о ст ран е а д реса та . Вн ест и соот вет ст ву ющие изм ен ен ия в програ м м н ые код ы. 10. С охра н ит ь созд а н н ые ф орм у и проект соот вет ст вен н о под им ен а м и П оч товы енаклей ки.frm и П оч товы енаклей ки.Vbp. 11. Р езу л ь т а т ра боты прил ож ен ия пред ст а вл ен в ф орм е, привед ен н ой н иж е.
25 Задание9. Р азработкаVB – приложения “М едицинс кая карта” Зад а н ие позвол яет за крепит ь н а выки по созд а н ию и обра бот ке текст овыхпол ей. Т ребу ет ся ра зра бота т ь ф орм у , кот ора я пред ста вл яет собой м ед ицин ску ю ка рт у па циен та , впервые обра т ившегося к вра чу . Н а осн ове введ ен н ых д а н н ых о па циен те и сим пт ом а х его за бол ева н ия с пом ощь ю програ м м н ого код а в ф орм е д ол ж н ы быт ь выд а н ы: сим пт ом ы за бол ева н ия, д иа гн оз за бол ева н ия и реком ен д а ции вра ча . Зад а н ие пред пол а га ет проявл ен ие бол ь шей са м остоят ел ь н ости в м од иф ика ции пред л а га ем ого проект а . В д а н н ом за д а н ии м ож н о испол ь зова ть н овые объект ы и их возм ож н ости: Ø Д л я д оба вл ен ия в програ м м н ом код е н овых эл ем ен т ов списка в объект ListBox (О кно с пис ка) м ож н о испол ь зова т ь свойст во List. Его син та ксис: Listname.AddItem ListItem [ , Index], гд е Listname – им я объекта у пра вл ен ия ListBox; AddItem – м етод , испол ь зу ет ся д л я д оба вл ен ия эл ем ен т а списка в объект ы у пра вл ен ия ListBox; Listitem – опред ел ен н ый эл ем ен т, д оба вл яем ый в список; Index – н еобяза т ел ь н ый ком пон ен т, опред ел яющий позицию в списке, в кот ору ю бу д ет пом ещен н овый эл ем ен т (первый эл ем ен т в списке им еет ин д екс 0). Ø С вой с тво ListIndex (И ндекс с пис ка) - у ка зыва ет н а ин д екс выбра н н ого эл ем ен т а ; Ø С вой с тво List (С пис ок) – в пол е этого свойст ва выбира ет ся са м эл ем ен т списка : Ind = С им птом ы .ListIndex Ø С вой с тво Column =1 - позвол яет пред ст а вит ь список в вид е од н ого стол бца ; Ø С вой с тво MultiSelect (М ножес твенны й вы бор) – им еет три зн а чен ия: 0 – н ет, 1 – прост ой, 2 – ра сширен н ый; Ø С вой с тво ScrollBar (П олос апрокру тки): ü None (Н ика ких); ü Horizontal (Г оризон т а л ь н а я); ü Vertical (Вертика л ь н а я); ü Both (О бе); ü MaxLength (М а ксим а л ь н ое числ о ввод им ыхсим вол ов). Ø О бъект у пра вл ен ия MaskEdit (м ас кированноередактирование): Tools (И нс тру м енты ) / Customize Controles (С пециаль ны еобъекты у правления) – позвол яет за д а т ь числ о, т ип и пол ож ен ие сим вол ов в пол е ввод а .
26 Ø С вой с тво Mask (М ас ка) опред ел яет д л я объект а д опу ст им ые сим вол ы при ввод е: ü # - л юбые циф ры 0-9, пробел , +, - ; ü ? – л юба я бу ква A – Z ; ü A – л юбая бу ква ил и циф ра ; ü & - л юбой сим вол ил и пробел ; ü . – точка д есят ичн ой д роби (10.001); ü , - ра зд ел ител ь тысяч (10,000); ü / - ра зд ел ител ь д а т ы (06/10/04); ü : - ра зд ел ит ел ь врем ен и (08:10). П ор ядокв ы п ол н е н ия задан ия 1. Запу ст ит ь прил ож ен ие Visual Basic и созд а т ь н овый проект “М ед ицин ска я ка рт а ”. 2. Р а зра бота т ь пол ь зова т ел ь ский ин терф ейс, ра спол ож ив н а ф орм е с пом ощь ю пан ели эл емен т о в у правл ен и я сл ед у ющие объекты у пра вл ен ия: чет ыре м ет ки (Label1, Label2, Label3, Label4); т ри т екст овые пол я (TextBox1, TextBox2, TextBox3); ра м ка (Frame1), вкл юча юща я в себя сем ь м ет ок (Label5 – Label11) и сем ь т екст овых пол ей (TextBox4 – TextBox10); ра м ка (Frame2), вкл юча юща я в себя пол е со список (ListBox), д л я которого в свойст ве List сл ед у ет ввест и перечен ь сим птом ов за бол ева н ий, (н а прим ер, Г ол овн а я бол ь , К а шел ь , Высока я т ем пера т у ра , Л ом от а в т ел е, Бол ь в су ст а ва х, Н а см орк, И зж ога , Н ет ); ра м ка (Frame3), вкл юча юща я в себя пол е со списком (ComboBox), д л я кот орого в свойст ве List сл ед у ет ввест и зн а чен ия эл ем ен тов списка а л л ерген ов (н а прим ер,С у л ь ф а м ид ы, А спирин , и т.д .); т ри ком а н д н ые кн опки (CommandButton1, CommandButton2, CommandButton3). 3. Зад а т ь объект а м у пра вл ен ия свойст ва , у ка за н н ые в т а бл . 9, а т а кж е описа т ь обра ба т ыва ем ое событие д л я ка ж д ого объект а у пра вл ен ия. Т а бл ица 9 О бъект ы, свойст ва и событ ия эл ем ен тов у пра вл ен ия
1 Ф орм а
О бознач ениеобъектау правления по у м олч анию 2 Form1
3 П о у м ол ча н ию
М ет ка 1
Label1
П о у м ол ча н ию
М ет ка 2
Label2
П о у м ол ча н ию
О бъект у правления
И мя объектау правления (Name)
С вой с тваобъекта у правления
4 Caption – М ед ка рт а Caption – М ед ицин ска я ка рта па циен т а Caption – Д а та прием а у вра ча
О брабаты ваем ое с обы тие 5
27 1
2
3
М ет ка 3
Label3
П о у м ол ча н ию
М ет ка 4
Label4
П о у м ол ча н ию
Т екст овое П ол е1 TextBox1
Д а та
Т екст овое П ол е2 TextBox2 Т екст овое П ол е3 TextBox3
С им пт ом ы1 С ообщен ие
Р а м ка 1
Frame1
П о у м ол ча н ию
М ет ка 5 М ет ка 6 М ет ка 7
Label5 Label6 Label7
П о у м ол ча н ию П о у м ол ча н ию П о у м ол ча н ию
М ет ка 8
Label8
П о у м ол ча н ию
М ет ка 9 М ет ка 10
Label9 Label10
П о у м ол ча н ию П о у м ол ча н ию
М ет ка 11
Label11
П о у м ол ча н ию
Т екст овое П ол е4 Т екст овое П ол е5 Т екст овое П ол е6 Т екст овое П ол е7 Т екст овое П ол е8 Т екст овое П ол е9 Т екст овое П ол е10
TextBox4 TextBox5 TextBox6 TextBox7 TextBox8 TextBox9
П о у м ол ча н ию П о у м ол ча н ию П о у м ол ча н ию П о у м ол ча н ию П о у м ол ча н ию П о у м ол ча н ию
Р а м ка 2
Frame2
С писок
ListBox
Р а м ка 3
Frame3 ComboBo x Command Button1 Command Button2 Command Button3
П ол е со списком К ом а н д н а я кн опка 1 К ом а н д н а я кн опка 2 К ом а н д н а я кн опка 3
TextBox10 П о у м ол ча н ию
П род ол ж ен ие т а бл . 9 4 5 Caption – В резу л ь т а т е осм от ра выявл ен о Caption – Д иа гн оз Н ет Н ет Н ет Caption – С вед ен ия о па циен т е Caption – Ф а м ил ия Caption – И м я Caption – О т чест во Caption – Д а т а рож д ен ия Caption – А д рес Caption – Т ел еф он Caption – С т ра ховой пол ис Н ет Н ет Н ет Н ет Н ет Н ет Н ет
Caption – С им пт ом ы за бол ева н ия: List – Г ол овн а я бол ь , С им пт ом ы К а шел ь и т .д . П о у м ол ча н ию Caption – А л л ерген ы List – С у л ь ф а м ид ы, А л л ерген ы А спирин и т.д . Caption – П ост а вит ь К н опка Д иа гн оз д иа гн оз К н опка О чиCaption – О чист ит ь ст ит ь П о у м ол ча н ию
К н опка Выход
Caption – Выход
4. Зад а т ь ф орм е и объект а м у пра вл ен ия, ра спол ож ен н ым н а н ей, д опол н ит ел ь н ые ра зл ичн ые свойст ва (а н а л огичн о т а бл . 2). 5. Записа т ь програ м м н ый код , выпол н яющий вывод в т екст овое пол е С им птом ы1.Text н а зва н ия сим пт ом ов за бол ева н ия из списка “С им пт ом ы за бол ева н ия”: Private Sub С им птом ы _Click() ind = С им птом ы .ListIndex
28 If С им птом ы 1.Text = "" Then С им птом ы 1.Text = С им птом ы .List(ind) Else С им птом ы 1.Text = С им птом ы 1.Text С им птом ы .List(ind) End If End Sub
+
",
"
+
6. Записа т ь програ м м н ый код д л я объект а полесо с пис ком Аллергены : Private Sub Аллергенты _Change() Form1.Print cboАллергены .Text End Sub 7. Записа т ь програ м м н ый код д л я объект а К нопкаД иагноз, пом ест ив в событ ие Click() сл ед у ющие опера торы: Private Sub К нопкаД иагноз_Click() s = С им птом ы 1.Text If InStr (s, "Г оловная боль ") 0 And InStr (s, "В ы с окая тем перату ра") 0 And InStr (s, "Л ом ота в теле") 0 Then С ообщение.Text = "Г рипп" Else С ообщение.Text = "" End If End Sub 8. Записа т ь програ м м н ый код д л я объект а К нопкаО ч ис тить , пом ест ив в событие Click() сл ед у ющие опера торы: Private Sub К нопкаО ч ис тить _Click() С им птом ы 1.Text = " " С ообщение.Text = " " End Sub 9. Записа т ь програ м м н ый код д л я объект а К нопкаВ ы х од. 10. Запу ст ит ь програ м м у н а выпол н ен ие, просм отрет ь резу л ь т а т ра бот ы и, есл и н еобход им о, испра вит ь ошибки. 11. С охра н ит ь созд а н н ые ф орм у и проект соот вет ст вен н о под им ен а м и М едкарта.frm и М едкарта.Vbp. 12. Р а зра бота т ь програ м м н ый код , описыва ющий ра зл ичн ые д иа гн озы за бол ева н ий.
29 13. И спол ь зу я прием ы созд а н ия н а кл ейки в за д а н ии 8, д оба вит ь в ф орм у н овые объект ы у пра вл ен ия: ком а н д н у ю кн опку “Р еком ен д а ции вра ча ” и гра ф ическое окн о, ку д а вывод ил ись бы свед ен ия о па циен т е, сим пт ом а х за бол ева н ия, д иа гн озе и реком ен д а ции по л ечен ию па циен т а . 14. Р езу л ь т а т ра боты прил ож ен ия пред ст а вл ен в ф орм е, привед ен н ой н иж е.
15. П рим ерпрогра м м н ого код а д л я ком а н д н ой кн опки ”Р еком ен д а ции вра ча ”и выд а чи в гра ф ическое окн о свед ен ий о па циен т е привед ен н иж е. Private Sub К нопкаС правка_Click() StrИ м я$ = И м я.Text StrФ ам илия$ = Ф ам илия.Text StrО тч ес тво$ = О тч ество.Text StrАдрес $ = Адрес .Text strД атаРождения$ = Д атаРождения.Text StrТ елеф он$ = Format(Т елеф он.Text, "000000") StrС трах овой П олис $ = С трах овой П олис .Text StrД атаП рием а$ = Д атаП рием а.Text strС им птом ы 1$ = С им птом ы 1.Text strС ообщение$ = С ообщение.Text strАллергены $ = Аллергены .Text strText1$ = Text1.Text С трока1$ = "П ациент" & " " & StrФ ам илия$ & " " & StrИ м я$ & " " & StrО тч ес тво$
30 С трока2$ = "Адрес " & " : " & StrАдрес $ С трока3$ = "Д атаРождения" & " : " & StrД атаП рием а$ С трока4$ = "Т елеф он" & " : " & StrТ елеф он$ С трока5$ = "В резу ль татеос м отравы явлено" & " : " С трока6$ = "Д иагноз" & " : " & С ообщение.Text Н аклей ка.Print С трока1$ В ы пис ка.Print С трока2$ В ы пис ка.Print "С трах овой П олис "& ":" & StrС трах овой П олис $ В ы пис ка.Print С трока3$ В ы пис ка.Print С трока4$ В ы пис ка.Print С трока5$ В ы пис ка.Print strС им птом ы 1$ В ы пис ка.Print С трока6$ В ы пис ка.Print "Д атаП рием а" & " : " & Д атаП рием а.Text В ы пис ка.Print "Реком ендации врач а" & " : " & Text1.Text В ы пис ка.Print "Н е реком енду ется приним ать " & " : " & Аллергены .Text End Sub 16. П рим ерм од ерн изирова н н ой ф орм ы привед ен н иж е.
17. С охра н ит ь м од ерн изирова н н ые ф орм у и проект соот вет ст вен н о под им ен а м и Н оваяМ едкарта.frm и Н оваяМ едкарта.Vbp.
31 Задание10. РазработкаVB – приложения “П ерес ч ет валю ты ” Т ребу ет ся ра зра бота т ь ф орм у , в кот орой н а осн ова н ии введ ен н ой ин ф орм а ции о вид е ва л юты и ее т еку щем ку рсе, м ож н о был о бы произвест и перевод д ен ег из од н ой ва л ют ы в д ру гу ю по т еку щем у ку рсу . П ри созд а н ии проект а д л я бол ее эф ф ективн ого у пра вл ен ия объект а м и в ф орм е м ож н о испол ь зова ть сл ед у ющие возм ож н ост и: • С войст во Enable=False м ож ет сд ел а т ь объект у пра вл ен ия кнопкаП ерес ч итать н ед ост у пн ой д о т ех пор, пока в соот ветст ву ющихпол ях, н а прим ерР у бл и и К у рс, н е бу д у т введ ен ы д а н н ые; • М ет од .SetFocus – перед а ет ф оку с объект у (у ст а н а вл ива ет ку рсор в объект е); • Ф у н кция Msgbox – испол ь зу ет ся д л я отобра ж ен ия т екст овой ст роки в д иа л оговом окн е; • Ф у н кция IsNumeric – проверяет т ип а ргу м ен т а , есл и он о числ овое, то ф у н кция выд а ет зн а чен ие True; • Ф у н кция преобра зова н ия т ипа CDbl – преобра зу ет пол у чен н ое зн а чен ие д робн ой ча ст и в т ип с пл а ва ющей т очкой; П ор ядокв ы п ол н е н ия задан ия 1. Запу ст ит ь прил ож ен ие Visual Basic и созд а т ь н овый проект “П ересчет ва л ют”. 2. Р а зра бота т ь пол ь зова т ел ь ский ин терф ейс, ра спол ож ив н а ф орм е с пом ощь ю пан ели и н ст ру мен т о в сл ед у ющие объект ы у пра вл ен ия: д ва т екст овые пол я (TextBox1, TextBox2), д ва пол я со списком (ListBox1, ListBox2), м етки (Label1 – Label10), три ком а н д н ые кн опки (CommandButton1, CommandButton2, CommandButton3). 3. Зад а т ь объект а м у пра вл ен ия свойст ва , у ка за н н ые в т а бл . 10. Т а бл ица 10 О бъект ы, свойст ва и событ ия эл ем ен тов у пра вл ен ия О бознач ение объекта О бъект у правления у правления по у м олч анию 1 2 Ф орм а Т екст овое пол е Т екст овое пол е
И м я объекта у правления (Name) 3
Form
П еревод Ва л ют ы
TextBox1
К у рс
TextBox2
С у мма
С вой с тва объекта у правления 4 Caption – П еревод Ва л ют ы
О брабаты ваем ое с обы тие 5
32
1
2
3
К ом а н д н а я кн опка 1
CommadButton1 К н опка П осчит а т ь
К ом а н д н а я кн опка 2
CommadButton2 К н опка Выход
К ом а н д н а я кн опка 3
CommadButton1 К н опка О чист ит ь
М ет ка 1
Label1
П о у м ол ча н ию
М ет ка 2
Label2
П о у м ол ча н ию
М ет ка 3
Label3
П о у м ол ча н ию
М ет ка 4 М ет ка 5
Label4 Label5
П о у м ол ча н ию П о у м ол ча н ию
М ет ка 6
Label6
П о у м ол ча н ию
М ет ка 7 М ет ка 8 М ет ка 9 М ет ка 10 П ол е со списком П ол е со списком
Label7 Label8 Label9 Label10
Ва л ют а И з Ва л ют а В С у мма Из С у мма В
ListBox1
Из
ListBox2
В
П род ол ж ен ие т а бл . 10 5 Click()- проверяет коррект н ост ь д а н н ых. Е сл и д а н н ые н екоррект н ы, т о вывоCaption – д ит сообщен ие П осчит а т ь пол ь зова т ел ю. Выпол н яет вычисл ен ия и вывод ит эт и зн а чен ия в объект ы: С у м м а И з и С у м м а В. Click()-за верша ет Caption – програ м м у и за Выход крыва ет ее осн овн ое окн о. Caption – Click()О чист ит ь возвра ща ет зн а чен ие свойст в изм ен яем ых объект ов в исход н ое сост оян ие Caption – Выберит е ва л ют у , изкот орой хот ит е перевест и Caption – Выберит е ва л ют у , в кот ору ю хот ит е перевест и Caption – К у рс Caption – И з Caption – В Caption – П еревод им а я су м м а 4
33 4. Зад а т ь ф орм е и объект а м у пра вл ен ия, ра спол ож ен н ым н а н ей, д опол н ит ел ь н ые ра зл ичн ые свойст ва (а н а л огичн о т а бл . 2). 5. Записа т ь програ м м н ый код д л я объект а у пра вл ен ия К нопкаО ч ис тить , пом естив в событ ие Click() сл ед у ющие опера т оры: Private Sub К нопкаО ч ис тить _Click() К у рс.Text = " " С у м м а.Text = " " В алю таИ з.Caption = " " В алю таВ .Caption = " " С у м м аИ з.Caption = " " С у м м аВ .Caption = " " П олеИ з.Caption = " " П олеВ .Caption = " " End Sub 6. Записа т ь програ м м н ый код д л я объект а у пра вл ен ия К нопкаВ ы х од, пом ест ив в событие Click() сл ед у ющие опера торы: Private Sub К нопкаВ ы х од_Click() End End Sub 7. Записа т ь програ м м н ый код д л я объекта у пра вл ен ия К нопкаП еч атать , пом ест ив в событие Click() сл ед у ющие опера торы: Private Sub К нопкаП ос ч итать _Click() В алю таИ з.Caption = И з.List(И з.ListIndex) В алю таВ .Caption = В .List(В .ListIndex) С у м м аИ з.Caption = С у м м а.Text П олеИ з.Caption = "И з" П олеВ .Caption = "В " If IsNumeric(С у м м а.Text) = False Then MsgBox "В ведитеправиль но перводим у ю с у м м у " С у м м а.SetFocus Exit Sub End If If IsNumeric(К у рс .Text) = False Then MsgBox "В ведитеправиль но ку рс " К у рс .SetFocus Exit Sub End If If InStr(И з.Text, "Ру блей ") And InStr(В .Text, "Д оллары ") Then С у м м аВ .Caption = CDbl(С у м м а.Text) / CDbl(К у рс .Text) End If If InStr(И з.Text, "Ру блей ") And InStr(В .Text, "Е вро") Then
34 С у м м аВ .Caption = CDbl(С у м м а.Text) / CDbl(К у рс .Text) End If If InStr(И з.Text, "Ру блей ") And InStr(В .Text, "Англий с кие Ф у нты С терлингов") Then С у м м аВ .Caption = CDbl(С у м м а.Text) / CDbl(К у рс .Text) End If If InStr(И з.Text, "Ру блей ") And InStr(В .Text, "Щ ведс киеК роны ") Then С у м м аВ .Caption = CDbl(С у м м а.Text) / CDbl(К у рс .Text) End If If InStr(И з.Text, "Ру блей ") And InStr(В .Text, "Ру бли") Then С у м м аВ .Caption = CDbl(С у м м а.Text) End If If InStr(И з.Text, "Д олларов") And InStr(В .Text, "Ру бли") Then С у м м аВ .Caption = CDbl(С у м м а.Text) * CDbl(К у рс .Text) End If If InStr(И з.Text, "Д олларов") And InStr(В .Text, "Е вро") Then С у м м аВ .Caption = CDbl(С у м м а.Text) / CDbl(К у рс .Text) End If If InStr(И з.Text, "Д олларов") And InStr(В .Text, "Англий с кие Ф у нты С терлингов") Then С у м м аВ .Caption = CDbl(С у м м а.Text) / CDbl(К у рс .Text) End If If InStr(И з.Text, "Д олларов") And InStr(В .Text, "Щ ведс кие К роны ") Then С у м м аВ .Caption = CDbl(С у м м а.Text) / CDbl(К у рс .Text) End If If InStr(И з.Text, "Д олларов") And InStr(В .Text, "Д оллары ") Then С у м м аВ .Caption = CDbl(С у м м а.Text) End If If InStr(И з.Text, "Англий с ких Ф у нтов С терлингов") And InStr(В .Text, "Ру бли") Then С у м м аВ .Caption = CDbl(С у м м а.Text) * CDbl(К у рс .Text) End If If InStr(И з.Text, "Англий с ких Ф у нтов С терлингов") And InStr(В .Text, "Е вро") Then С у м м аВ .Caption = CDbl(С у м м а.Text) * CDbl(К у рс .Text) End If If InStr(И з.Text, "Англий с ких Ф у нтов С терлингов") And InStr(В .Text, "Англий с киеФ у нты С терлингов") Then С у м м аВ .Caption = CDbl(С у м м а.Text) End If If InStr(И з.Text, "Англий с ких Ф у нтов С терлингов") And InStr(В .Text, "Щ ведс киеК роны ") Then
35 С у м м аВ .Caption = CDbl(С у м м а.Text) * CDbl(К у рс .Text) End If If InStr(И з.Text, "Англий с ких Ф у нтов С терлингов") And InStr(В .Text, "Д оллары ") Then С у м м аВ .Caption = CDbl(С у м м а.Text) * CDbl(К у рс .Text) End If If InStr(И з.Text, "Е вро") And InStr(В .Text, "Ру бли") Then С у м м аВ .Caption = CDbl(С у м м а.Text) * CDbl(К у рс .Text) End If If InStr(И з.Text, "Е вро") And InStr(В .Text, "Е вро") Then С у м м аВ .Caption = CDbl(С у м м а.Text) End If If InStr(И з.Text, "Е вро") And InStr(В .Text, "Англий с киеФ у нты С терлингов") Then С у м м аВ .Caption = CDbl(С у м м а.Text) / CDbl(К у рс .Text) End If If InStr(И з.Text, "Е вро") And InStr(В .Text, "Щ ведс кие К роны ") Then С у м м аВ .Caption = CDbl(С у м м а.Text) / CDbl(К у рс .Text) End If If InStr(И з.Text, "Е вро") And InStr(В .Text, "Д оллары ") Then С у м м аВ .Caption = CDbl(С у м м а.Text) * CDbl(К у рс .Text) End If If InStr(И з.Text, "Щ ведс ких К рон") And InStr(В .Text, "Ру бли") Then С у м м аВ .Caption = CDbl(С у м м а.Text) * CDbl(К у рс .Text) End If If InStr(И з.Text, "Щ ведс ких К рон") And InStr(В .Text, "Е вро") Then С у м м аВ .Caption = CDbl(С у м м а.Text) * CDbl(К у рс .Text) End If If InStr(И з.Text, "Щ ведс ких К рон") And InStr(В .Text, "Англий с киеФ у нты С терлингов") Then С у м м аВ .Caption = CDbl(С у м м а.Text) / CDbl(К у рс .Text) End If If InStr(И з.Text, "Щ ведс ких К рон") And InStr(В .Text, "Щ вед с киеК роны ") Then С у м м аВ .Caption = CDbl(С у м м а.Text) End If If InStr(И з.Text, "Щ ведс ких К рон") And InStr(В .Text, "Д олла ры ") Then С у м м аВ .Caption = CDbl(С у м м а.Text) * CDbl(К у рс .Text) End If End Sub
36 8. П роверь т е коррект н ост ь ра боты прил ож ен ия, при н еобход им ости испра вь т е ошибки. 9. С охра н ит ь созд а н н ые ф орм у и проект соот вет ст вен н о под им ен а м и П ереводВ алю ты .frm и переводВ алю ты .Vbp. 10. Р езу л ь т а т ра боты прил ож ен ия пред ст а вл ен в ф орм е, привед ен н ой н иж е.
Задание11. РазработкаVB – приложения “П латежпо с с у де” Ц ел ь ю за д а н ия явл яет ся ра зра бот ка ф орм ы д л я вычисл ен ия ра зм ера еж ем есячн ых пл а т еж ей по ссу д е. В созд а н н у ю ф орм у д ол ж н а ввод ит ь ся ин ф орм а ция о ра зм ере ссу д ы, ее сроке и ра зм ере ст а вки, а за т ем с пом ощь ю специа л изирова н н ого ка л ь ку л ят ора – вычисл ят ь ся еж ем есячн ые пл а т еж и. Ф орм а д ол ж н а сод ерж а т ь резу л ь т а т вычисл ен ий: су м м а еж ем есячн ыхпл а т еж ей. Д л я решен ия за д а чи бу д у т испол ь зова т ь ся объект ы у пра вл ен ия ввод ом , объект ы у пра вл ен ия вывод ом н а экра н и за пу ском програ м м ы вычисл ен ия. П ор ядокв ы п ол н е н ия задан ия 1. Запу ст ит ь прил ож ен ие Visual Basic и созд а т ь н овый проект “П л а т еж по ссу д е”. 2. Р а зра бота т ь пол ь зова т ел ь ский ин терф ейс, ра спол ож ив н а ф орм е с пом ощь ю пан ели эл емен т о в у правл ен и я сл ед у ющие объект ы у пра вл ен ия: четыре м ет ки (Label1 – Label4), чет ыре т екст овых пол я (TextBox1 – TextBox4), три ком а н д н ые кн опки (ComandButton1 – ComandButton3).
37 3. Зад а т ь объект а м у пра вл ен ия свойст ва , у ка за н н ые в т а бл . 11, а т а кж е описа т ь обра батыва ем ое событ ие д л я ка ж д ого объект а у пра вл ен ия. Т а бл ица 11 О бъект ы, свойст ва и событ ия эл ем ен тов у пра вл ен ия О бъект у правления 1
О бознач ениеобъекта у правления по у м олч анию 2
И м я объекта у правления (Name)
С вой с тваобъектау правления
О брабаты ваем ое с обы тие
3
4 Caption – Р а счет по ссу д е Caption – Выпол н ит ь ра счет Caption – О чист ит ь
5
Ф орм а
Form1
Р а счет П оС су д е
К ом а н д н а я кн опка 1
CommandBut ton1
К н опка Р а счет
К ом а н д н а я кн опка 2 К ом а н д н а я кн опка 3 Т екст овое пол е1 Т екст овое пол е2 Т екст овое пол е3 Т екст овое пол е4
CommandBut ton2 CommandBut ton3
К н опка О чист ит ь К н опка Выход
Caption – Выход
TextBox1
Р а зм ерС су д ы
Н ет
TextBox2
С рокВгод а х
Н ет
TextBox3
Г од П роцен т С т а вка
Н ет
TextBox4
М есячн ыйП л а т еж
Н ет
М ет ка 1
Label1
П о у м ол ча н ию
М ет ка 2
Label2
П о у м ол ча н ию
М ет ка 3
Label3
П о у м ол ча н ию
М ет ка 4
Label4
П о у м ол ча н ию
Caption – Ввест и ра зм ер ссу д ы Caption – Ввест и срок ссу д ы в год а х Caption – Р а зм ер год овой процен т н ой ст а вки Caption – С у мма еж ем есячн ого пл а т еж а
4. Зад а т ь ф орм е и объект а м у пра вл ен ия, ра спол ож ен н ым н а н ей, д опол н ит ел ь н ые свойст ва (а н а л огичн о т а бл . 2). 5. Записа т ь програ м м н ый код д л я объект а кнопкаР ас ч ет, пом ест ив в событие Click() сл ед у ющие опера торы:
38 Private Sub К нопкаР ас ч ет_Click() М ес яч наяС тавка= Г одП роцентС тавка.Text / 1200# С рокВ м ес яцах = С рокВ годах .Text * 12 fctr1 = (1 + М ес яч наяС тавка) ^ С рокВ м ес яцах clcpay = Р азм ерС с у ды .Text * (М ес яч наяС тавка* fctr1) / (fctr1 - 1) М ес яч ны й П латеж.Text = Int(clcpay * 100) / 100 End Sub П р ив е де м п оясн е н ия кп р огр ам м н ом укоду: • М ес яч наяС тавка= Г одП роцентС тавка.Text / 1200# - пол у ча ет год ову ю процен т н у ю ст а вку из т екст ового окн а Г од П роцен т С т а вка и преобра зу ет его к м есячн ом у сроку , сохра н яя в перем ен н ой М есячн а яС т а вка ; • С рокВ м ес яцах = С рокВ годах .Text * 12 – пол у ча ет срок ссу д ы в год а х из т екстового окн а С рокВгод а х и преобра зу ет его в м есяцы, сохра н яя в перем ен н ой С рокВм есяца х; • clcpay = Р азм ерС с у ды .Text * (М ес яч наяС тавка* fctr1) / (fctr1 - 1) • М ес яч ны й П латеж.Text = Int(clcpay * 100) / 100 – окру гл яет резу л ь т а т ра счет а и присва ива ет пол у чен н ый резу л ь т а т т екстовом у окн у М ес яч ны й П латеж.Text 6. С а м остоятел ь н о ра зра бот а т ь програ м м н ые код ы д л я объект ов у пра вл ен ия кнопкаО ч ис тить и кнопкаВ ы х од. 7. Запу ст ит ь програ м м у н а выпол н ен ие, просм отрет ь резу л ь т а т ра бот ы и, есл и н еобход им о, испра вит ь ошибки. 8. С охра н ит ь в своей па пке созд а н н ые ф орм у и проект соот вет ст вен н о под им ен а м и П латежпо с с у де.frm и П латежпо с с у де.Vbp. 9. Р езу л ь т а т ра боты прил ож ен ия пред ст а вл ен в ф орм е, привед ен н ой н иж е.
39 Задание12. РазработкаVB – приложения "Рас ч ет велич ины ам ортизации ос новны х ф ондов" Р а зра бота т ь проект д л я ра счет а вел ичин ы а м ортиза ции осн овн ых ф он д ов (зд а н ий, обору д ова н ия). О д н ой из ст а т ей за т ра т, вкл юча ем ых в себестоим ост ь прод у кции (ра бот, у сл у г) и у м ен ь ша ем ых н а л огообл а га ем у ю су м м у при исчисл ен ии н а л ога н а прибыл ь , явл яют ся а м орт иза цион н ые исчисл ен ия. О бъект ом н а числ ен ия а м ортиза ции по осн овн ым сред ст ва м призн а ет ся им у щест во, н а ход ящееся у н а л огопл а т ел ь щика н а пра ве собст вен н ости, испол ь зу ем ое д л я извл ечен ия д оход а , со сроком пол езн ого испол ь зова н ия бол ее 12 м есяцев и первон а ча л ь н ой стоим ост ь ю бол ее 10 тыс. ру б. П ор ядокв ы п ол н е н ия задан ия 1. Запу ст ит ь прил ож ен ие Visual Basic и созд а ть н овый проект “Р а счет а м ортиза ции”. 2. Р а зра бота т ь пол ь зова т ел ь ский ин терф ейс, ра спол ож ив н а ф орм е с пом ощь ю пан ели эл емен т о в у правл ен и я сл ед у ющие объект ы у пра вл ен ия: шест ь м ет ок (Label1 – Label6), шест ь т екст овых пол ей (TextBox1 – TextBox6), ра м ка (Frame), д ва перекл юча т ел я (OptionButton1, OptionButton2), три ком а н д н ые кн опки (CommandButton1, CommandButton2, CommandButton3). 3. Зад а т ь объект а м у пра вл ен ия свойст ва , у ка за н н ые в т а бл . 12, а т а кж е описа т ь обра батыва ем ое событ ие д л я ка ж д ого объект а у пра вл ен ия. 4. Зад а т ь ф орм е и объект а м у пра вл ен ия, ра спол ож ен н ым н а н ей, д опол н ит ел ь н ые ра зл ичн ые свойст ва (а н а л огичн о т а бл . 2). 5. В общей обл а ст и м од у л я ф орм ы (General) ввести код , описыва ющий типы перем ен н ых: • dblП ервичн а яС т оим ост ь , dblО ст а т очн а яС т оим ост ь , dblВел ичин а А м ортиза ции – вещест вен н ые перем ен н ые д войн ой т очн ости с пл а ва ющей за пят ой; • IntВрем яА м ортиза ции, IntП ериод Р а счет а , IntК ра тн ост ь – цел ые перем ен н ые; • blnП ризн а к – л огическое зн а чен ие; • програ м м н ый код привед ен н иж е: Option Explicit Dim dblП ервич наяС тоим ос ть As Double Dim dblО с таточ наяС тоим ос ть As Double Dim dblВ елич инаАм ортизации As Double Dim IntВ рем яАм ортизации As Integer Dim IntП ериодР ас ч етаAs Integer Dim IntК ратнос ть As Integer Dim blnП ризнак As Boolean
40 Т а бл ица 12 О бъект ы, свойст ва и событ ия эл ем ен тов у пра вл ен ия
О бъект у правления 1
О бознач ениеобъектау правления по у м олч анию 2
И мя объекта у правления (Name)
С вой с тваобъектау правления
3
4
Ф орм а
Form1
Р а счет а м орт иза ции
М ет ка 1
Label1
П о у м ол ча н ию
М ет ка 2
Label2
П о у м ол ча н ию
М ет ка 3
Label3
П о у м ол ча н ию
М ет ка 4
Label4
П о у м ол ча н ию
М ет ка 5
Label5
П о у м ол ча н ию
М ет ка 6
Label6
П о у м ол ча н ию
Т екст овое П ол е1 Т екст овое П ол е2 Т екст овое П ол е3 Т екст овое П ол е4 Т екст овое П ол е5 Т екст овое П ол е6 Р а м ка
О брабаты ваем ое с обы тие
5 Initialize(): О чища ет пол я ввод а Caption – Р а сд а н н ых. У ст а н а вл ичет а м орт иза ва ет свойст ву Value ции осн овн ых перекл юча тел я ф он д ов Option1 зн а чен ие True. Autosize – true. Caption – Н а Н ет ча л ь н а я ст оим ост ь Autosize – true. Caption – К оН ет н ечн а я ст оим ост ь Autosize – true. Caption – С рок Н ет экспл у а т а ции Autosize – true. Caption – П еН ет риод ра счета Autosize – true. Caption – ВеН ет л ичин а а м орт иза ции Autosize – true. Caption – К ра т Н ет н ост ь
TextBox1
Text1
Text
Н ет
TextBox2
Text2
Text
Н ет
TextBox3
Text3
Text
Н ет
TextBox4
Text4
Text
Н ет
TextBox5
Text5
Text
Н ет
TextBox6
Text6
Text
Н ет
Frame
П о у м ол ча - Caption – Т ип
Н ет
41 н ию 1 П ерекл юча т ел ь 1 П ерекл юча т ел ь 2 К ом а н д н а я К н опка 1
2 3 OptionButto Option1 n1 OptionButto Option2 n2 CommandB К н опка Выutton1 числ ит ь
К ом а н д н а я К н опка 2
CommandB utton2
К ом а н д н а я К н опка 3
CommandB utton3
а м орт иза ции 4 Caption – С т а н д а рт н а я Caption – К ра т н ый у чет Caption – Вычисл ит ь . Font: Т ип шриф т а – Tahoma. Н а черта н ие – пол у ж ирн ый. Р а зм ер– 2.
К н опка О чм сит ь
Caption – О чист ит ь
К н опка Завершит ь
Caption – Завершит ь Font: Т ип шриф т а – Tahoma. Н а черта н ие – пол у ж ирн ый. Р а зм ер– 12.
6. Вид созд а ва ем ой ф орм ы привед ен н иж е.
П род ол ж ен ие т а бл . 12 5 Н ет Н ет Click(): П роверяет , есть л и д а н н ые д л я ра счета . Е сл и д а н н ых н ет , т о выд а ется сообщен ие пол ь зова т ел ю и выход из процед у ры. П роверяет, бол ь ше л и н а ча л ь н а я ст оим ост ь кон ечн ой. Е сл и н ет , т о выд а ет ся сообщен ие и выход из процед у ры. П роверяет, бол ь ше л и период а м орт иза ции н ом ера т еку щего период а . Е сл и н ет , т о выд а ется сообщен ие и выход из процед у ры. П роверяет, ка кой выбра н м ет од д л я н а числ ен ия а м орт иза ции: л ин ейн ый ил и н ел ин ейн ый и производ ит ра счет согл а сн о выбра н н ого м ет од а . П роверяет , в сл у ча е выбора н ел ин ейн ого м ет од а , н а л ичие кра т н ост и. Click() – у д а л яет т екст из т екст овых пол ей Click() – за верша ет програ м м у и за крыва ет ее осн овн ое окн о.
42
7. Ввест и програ м м н ый код процед у ры обра бот ки событ ия Initialize() объект а Ф орм а, гд е свойст ву Value объект а Option1 (П ерекл юча т ел ь ) присва ива ет ся зн а чен ие True. Private Sub Form1_Initialize() Text1.Text = ”” Text2.Text = ”” Text3.Text = ”” Text4.Text = ”” Text5.Text = ”” Text6.Text = ”” Option1.Value = True End Sub 8. Ввест и програ м м н ый код д л я объект а К нопкаО ч ис тить , пом ест ив в событ ие Click() сл ед у ющие опера торы: Private Sub К нопкаО ч ис тить _Click() Text1.Text = ”” Text2.Text = ”” Text3.Text = ”” Text4.Text = ”” Text5.Text = ”” Text6.Text = ”” End Sub
43 9. С а м остоятел ь н о ввест и програ м м н ый код д л я обра бот ки события Click() объект а К нопкаЗаверш ить , гд е описыва ет ся выход из прил ож ен ия. 10. Д л я обра бот ки событ ия Click() кн опки К нопкаВ ы ч ис лить ввести код , описыва ющий сл ед у ющие д ейст вия: • проверку н а л ичия д а н н ых д л я ра счета в т екст овых пол ях Text1, Text2, Text3, Text4; • преобра зова н ие д а н н ых к числ овом у ф орм а т у с пом ощь ю ф у н кций CDbl и CInt; • проверку коррект н ост и д а н н ых: Ø есл и dblП ервичн а яС т оим ост ь < dblО ст а т очн а яС тоим ост ь , т о выд а т ь соот вет ст ву ющее сообщен ие обошибке с пом ощь ю ф у н кции MsgBox; Ø есл и IntВрем яА м орт иза ции < IntП ериод Р а счета , т о выд а т ь сообщен ие обошибке в сроке а м орт иза ции с пом ощь ю ф у н кции MsgBox; Ø д л я эл ем ен тов Text1 (в 1-ом сл у ча е) и Text3 (во 2-ом сл у ча е) у ст а н овит ь ф оку с. • выбра т ь м етод ра счет а а м ортиза ции: ста н д а ртн ый ил и кра тн ый у чет . В сл у ча е ст а н д а ртн ого у чет а перем ен н ой blnП ризн а к сл ед у ет присвоит ь зн а чен ие True, в прот ивн ом сл у ча е – зн а чен ие False; • свойст ву Text эл ем ен т а Text5 присвоит ь зн а чен ие вычисл ен н ой а м орт иза ции с пом ощь ю ф у н кции CStr. • Д л я ра счета вел ичин ы а м орт иза ции испол ь зова ть сл ед у ющие ф у н кции: Ø SYD(н а ча л ь н а я ст оим ост ь им у щест ва ; ост а т очн а я ст оим ост ь им у щест ва ; врем я экспл у а т а ции; период , за кот орый вычисл яет ся а м орт иза ция). Возвра ща ет зн а чен ие т ипа Double; Ø DDB(н а ча л ь н а я стоим ость а кт ивов; ост а точн а я стоим ост ь а кт ивов; врем я экспл у а т а ции; период , д л я кот орого вычисл яет ся а м ортиза ция; кра тн ост ь ). Возвра ща ет зн а чен ие т ипа Double. DDB – ба л а н совый м етод д войн ого списа н ия; Ø все па ра м етры, кром е па ра м етра "кра тн ост ь " им еют т ип Double. • Н иж е привед ен програ м м н ый код ра зра бота н н ого проект а "Р а счет а м ортиза ции", кот орым Вы м ож ет е воспол ь зова т ь ся д л я са м опроверки в за т ру д н ит ел ь н ыхм ом ен т а х: Private Sub К нопкаВ ы ч ис лить _Click()
44 If Text1.Text = "" Or Text2.Text = "" Or Text3.Text = "" Or Text4.Text = "" Then MsgBox "Н ет данны х для рас ч ета", vbExclamation, "Ам ортизация” Text1.SetFocus Exit Sub End If dblП ервич наяС тоим ос ть = CDbl(Text1.Text) dblО с таточ наяС тоим ос ть = CDbl(Text2.Text) intВ рем яАм ортизации = CInt(Text3.Text) intП ериодР ас ч ета= CInt(Text4.Text) If dblП ервич наяС тоим ос ть < dblО с таточ наяС тоим ос ть Then MsgBox "О Ш И Б К А! О с таток боль ш енач аль ной с тоим ос ти", _ vbExclamation, "Ам ортизация" Text1.SetFocus Exit Sub End If If intВ рем яАм ортизации < intП ериодР ас ч етаThen MsgBox "О ш ибкав с рокеам ортизации!", vbExclamation,_ "Ам ортизация" Text3.SetFocus Exit Sub End If If Option1.Value = True Then blnП ризнак = True Else blnП ризнак = False End If If blnП ризнак = True Then dblВ елич инаАм ортизации = SYD(dblП ервич наяС тоим ос ть , _ dblО с таточ наяС тоим ость , intВ рем яАм ортизации, intП ериодР ас ч ета) Else If Text6.Text = "" Then MsgBox "Н ет данны х для кратнос ти", vbExclamation, "Ам ортизация" Text6.SetFocus Exit Sub End If IntК ратнос ть = CInt(Text6.Text) dblВ елич инаАм ортизации = DDB(dblП ервич наяС тоим ос ть , _ dblО с таточ наяС тоим ос ть , intВ рем яАм ортизации, intП ериодР ас ч ета, IntК ратнос ть ) End If Text5.Text = CStr(dblВ елич инаАм ортизации)
45 End Sub 11. С а м остоятел ь н о ра зра бот а т ь програ м м н ый код д л я объекта у пра вл ен ия кнопкаЗаверш ить . 12. Запу ст ит ь програ м м у н а выпол н ен ие, просм отрет ь резу л ь т а т ра бот ы и, есл и н еобход им о, испра вит ь ошибки. 13. Вид ф орм ы и резу л ь т а т ра боты програ м м ы проект а привед ен н иж е.
14. С охра н ит ь в своей па пке ф орм у и проект соот ветст вен н о под им ен а м и Ам ортизация.frm и Ам ортизация.Vbp.
Задание13. РазработкаVB – приложения “Р ас ч ет ипотеч ны х кредитов” В ба н ке берется ссу д а н а поку пку ква ртиры. Р а зра бота т ь прил ож ен ие с испол ь зова н ием ф орм ы, вычисл яющее: вел ичин у период ических выпл а т, общу ю су м м у выпл а т , общу ю су м м у ком иссион н ых, вел ичин у н а ча л ь н ого взн оса и су м м у кред ит а . В ка чест ве исход н ых д а н н ых испол ь зу ют ся сл ед у ющие вел ичин ы: ст оим ость приобрет а ем ой ква рт иры; вел ичин а первон а ча л ь н ого взн оса , выра ж ен н а я в процен т а х; год ова я ст а вка в процен т а х; срок пога шен ия ссу д ы (в м есяца хил и в кол ичест ве л ет). Д л я ра счета вел ичин ы пост оян н ых период ических выпл а т в библ иот еке VB ест ь специа л ь н а я ф у н кция Pmt(С тавка, К пер, Н з, [Б з, [Т ип]]), гд е С тавка– процен тн а я ст а вка за период ; К пер – кол ичест во период ов выпл а т д л я пога шен ия кред ита ;
46 Н з– су м м а , кот ору ю н у ж н о пога сит ь ; Т ип – призн а к того, когд а производ ится выпл а т а (0 – в кон це период а , 1 – в н а ча л е период а пл а теж а ). П ор ядокв ы п ол н е н ия задан ия 1. Запу ст ит ь прил ож ен ие Visual Basic и созд а ть н овый проект “Р а счет ипот ечн ых кред ит ов”. 2. Р а зра бота т ь пол ь зова т ел ь ский ин терф ейс, ра спол ож ив н а ф орм е с пом ощь ю пан ели элемен т о в у правлен и я сл ед у ющие объекты у пра вл ен ия: • д л я ввод а д а н н ых– т ри Т екст овыхпол я (TextBox1 – TextBox3); • д л я у д обст ва у ст а н овки кол ичест ва период ов выпл а ты – С чет чик (Vscroll); • д л я у ка за н ия т ипа период ов выпл а т – д ва П ерекл юча т ел я (OptionButton1, OptionButton2); • д л я у ка за н ия срока пл а т еж а – д ва Ф л а ж ка (Check1, Check2); • д л я объед ин ен ия эл ем ен тов в отд ел ь н ые гру ппы – д ве Р а м ки (Frame1, Frame2); • д л я ввод а год овой процен т н ой ст а вки – С писок (ListBox); • д л я вывод а ра ссчита н н ых вел ичин – М ет ки (Label1 – Label13); • для у пра вл ен ия ра счетом – К ом а н д н ые кн опки (CommandButton1, CommandButton2, CommandButton3). 3. Зад а т ь объект а м у пра вл ен ия свойст ва , у ка за н н ые в т а бл . 13, а т а кж е описа т ь обра ба т ыва ем ое событие д л я ка ж д ого объект а у пра вл ен ия. 4. Зад а т ь ф орм е и объекта м у пра вл ен ия, ра спол ож ен н ым н а н ей, д опол н ит ел ь н ые ра зл ичн ые свойст ва (а н а л огичн о т а бл . 2). Т а бл ица 13 О бъект ы, свойст ва и событ ия эл ем ен тов у пра вл ен ия О бъект у правления 1
О бознач ения объекта у правления по у м олч анию 2
И м я объекта (name) 3
Ф орм а
Form1
Form1
М ет ка 1
Label
Label1
М ет ка 2
Label2
Label2
С вой с тваобъекта у правления
О брабаты ваем ое с обы тие
4 Caption – И пот ечн ый кред ит BorderStyle-Fixed Dialog Autosize – true Caption – С т оим ост ь им у щест ва Autosize – true Caption – Нал ичн ый взн ос %
5
47 М ет ка 3
Caption – Вел ичин а пл а т еж а
Label3
Label3
2
3
М ет ка 4
Label4
Label4
М ет ка 5
Label5
Label5
М ет ка 1 6 М ет ка 7 М ет ка 8 М ет ка 9
Label6 Label7 Label8 Label9
Label6 Label7 Label8 Label9
4 Caption – П ол н а я су м м а выпл а т Caption – К ом иссион н ые Caption – С т а вка % Н ет Н ет Н ет
М ет ка 10
Label10
Label10
Caption кред ит а
М ет ка 11
Label11
Label11
Н ет
М ет ка 12
Label12
Label12
Caption – С рок пога шен ия ссу д ы
М ет ка 13 Т екст овое пол е 1
Label13
Label13
Н ет
TextBox1
Text2
Т екст овое пол е 2
TextBox2
Text2
Text
Т екст овое пол е 3
TextBox3
Text3
Text
1
–
П род ол ж ен ие т а бл . 13 5
Су мма
Font – TimesNewRoman
К ом а н д н а я кн опка 1
CommandBut ton1
Proschet
Caption – Вычисл ит ь
К ом а н д н а я кн опка 2
CommandButton2
Zavershit
Caption – Завершит ь
К ом а н д н а я кн опка 3
CommandButton3
Clear
Caption – О чист ит ь
Р а м ка 1
Frame1
Frame1
Р а м ка 2
Frame2
Frame2
Caption – И cход н ые д а н н ые д л я кред ита Caption – И н ф орм а -
Click() – вычисл ен ие н еобход им ого ра зм ера кред ит а , вел ичин ы пл а т еж а , ком иссион н ых, пол н ой су м м ы выпл а т и вывод эт их зн а чен ий в объект ы: Label7, Label8, Label9, Label11 Click() – за верша ет програ м м у и за крыва ет ее осн овн ое окн о. Click() – возвра ща ет зн а чен ие свойст в изм ен яем ых объект ов в исход н ое сост оян ие
48 ция по выпл а т а м
1
2
3
П ерекл юча т ел ь 1
Option1
Option1
Caption – М есяц
П ерекл юча т ел ь 2
Option2
Option2
Caption – Г од
Ф л а ж ок1
Check1
Check1
Caption – В н а ча л е
Ф л а ж ок
Check2
Check2
Caption – В кон це
С чет чик1
VScroll1
VScroll1
С писок2
ListBox2
List2
4
Max-1000 Min-1 LargeChange-50
П род ол ж ен ие т а бл . 13 5 Click() – свойст во Caption объекта Label13 изм ен яет ся н а “в год а х” Click() – свойст во Caption объекта Label13 изм ен яет ся н а “в м есяца х” Click() – свойст во Value объекта Check2 м ен яет ся н а 0 Click() – свойст во Value объекта Check1 м ен яет ся н а 0 Change() – свойст ву Text объекта Text1 присва ива ет ся зн а чен ие свойст ва Value объект а Vscroll1
Н ет
5. В общей обл а ст и м од у л я ф орм ы (General) ввести код , описыва ющий т ипы перем ен н ых: Option Explicit Dim К пер, Н з, С тавкаAs Double Dim i As Integer Dim Т ип As Byte 6. Записа т ь програ м м н ый код д л я объектов Check1, Check2 (ф лажок), пом ест ив в событие Click() сл ед у ющие опера т оры: Private Sub Check1_Click() If Check1.Value = 1 Then Check2.Value = 0 If Check1.Value = 0 Then Check2.Value = 1 End Sub Private Sub Check2_Click() If Check2.Value = 1 Then Check1.Value = 0 If Check2.Value = 0 Then Check1.Value = 1 End Sub 7. Записа т ь програ м м н ый код д л я объект а кн опка Clear (О ч ис тить ), пом ест ив в событие Click() сл ед у ющие опера т оры: Private Sub Clear_Click() Text2.Text = 0 : Text3.Text = 0 : Text1.Text = 1
49 List2.ListIndex = -1 Option1.Value = True Check1.Value = 1 Check2.Value = 0 Label7.Caption = 0 Label8.Caption = 0 Label9.Caption = 0 Label11.Caption = 0 End Sub 8. Записа т ь програ м м н ый код д л я объект а Form (Ф орм а), пом естив в событие Click() сл ед у ющие опера т оры: Private Sub Form_Load() For i = 3 To 30 List2.AddItem i Next i Check1.Value = 1 End Sub 9. Записа т ь програ м м н ый код д л я объект а Option1 (П ереклю ч атель 1), пом естив в событие Click() сл ед у ющие опера торы: Private Sub Option1_Click() Label13.Caption = "в м ес яцах " End Sub 10. Записа т ь програ м м н ый код д л я объект а Option2 (П ереклю ч атель 2), пом естив в событие Click() сл ед у ющие опера торы: Private Sub Option2_Click() Label13.Caption = "в годах " End Sub 11. Записа т ь програ м м н ый код д л я объект а кн опка Proschet (В ы ч ис лить ), пом ест ив в событ ие Click() сл ед у ющие опера т оры: Private Sub Proschet_Click() Н з= CDbl(Text2.Text) - CDbl(Text2.Text) * CDbl(Text3.Text) / 100 Label9.Caption = Н з К пер= CDbl(Text1.Text) С тавка= CDbl(List2.Text) \ 100 If Check1.Value = 1 Then Т ип = 1 If Check2.Value = 1 Then Т ип = 0 If option1.Value = True Then Label7.Caption = Int((Pmt(С тавка, К пер, Н з, , Т ип))) * (-1) Label8.Caption = (CDbl((Text1.Text))) * (CDbl((List2.Text)) * 0.01 / 12) * (CDbl(Text2.Text) - CDbl(Text2.Text) * CDbl(Text3.Text) / 100) + (CDbl(Text2.Text) - CDbl(Text2.Text) * CDbl(Text3.Text) / 100)
50 Label11.Caption = (CDbl(Text1.Text)) * (CDbl((List2.Text)) * 0.01 / 12) * (CDbl(Text2.Text) - CDbl(Text2.Text) * CDbl(Text3.Text) / 100) End If If Option2.Value = True Then Label7.Caption = Int((Pmt(С тавка, К пер * 12, Н з, , Т ип))) * (-1) Label8.Caption = (CDbl((Text1.Text))) * (CDbl((List2.Text)) * 0.01) * (CDbl(Text2.Text) - CDbl(Text2.Text) * CDbl(Text3.Text) / 100) + (CDbl(Text2.Text) - CDbl(Text2.Text) * CDbl(Text3.Text) / 100) Label11.Caption = (CDbl(Text1.Text)) * (CDbl((List2.Text)) * 0.01) * (CDbl(Text2.Text) - CDbl(Text2.Text) * CDbl(Text3.Text) / 100) End If End Sub 12. Записа т ь програ м м н ый код д л я объект а VScroll1 (С четчик), пом ест ив в событие Click() сл ед у ющие опера торы: Private Sub VScroll1_Change() Text1.Text = VScroll1.Value End Sub 13. С а м остоятел ь н о за писа т ь програ м м н ый код д л я объект а кн опка Zavershit (Завершит ь ), пом ест ив в событ ие Click() н у ж н ые опера торы. 14. Запу ст ит ь програ м м у н а выпол н ен ие, просм отрет ь резу л ь т а т ра боты и, есл и н еобход им о, испра вит ь ошибки. 15. Вид ф орм ы и резу л ь т а т ра боты програ м м ы проект а привед ен н иж е.
16. С охра н ит ь в своей па пке ф орм у и проект соот вет ст вен н о под им ен а м и И потеч ны й К редит.frm и И потеч ны й К редит.Vbp.
51 Задание14. РазработкаVB – приложения “Анализрезу ль татов экзам енационной с ес с ии” Р а зра бота т ь проект , с пом ощь ю которого н а осн ове резу л ь т а т ов экза м ен а цион н ой сессии м ож н о а н а л изирова т ь у спева ем ост ь гру ппы ст у д ен т ов. Д л я эт ого н у ж н о ра зра бота т ь собствен н ое д иа л оговое окн о, гд е м ож н о осу щест вл ят ь ввод д а н н ых д л я а н а л иза у спева ем ости ст у д ен т ов гру ппы, а т а кж е просм от р резу л ь т а т ов а н а л иза . В програ м м н ом код е д ол ж н а быт ь пред у см от рен а проверка коррект н ости ввод а д а н н ых, вычисл ен ие и вывод м а ксим а л ь н ого и м ин им а л ь н ого зн а чен ий сред н их бал л ов ст у д ен т ов, вывод сред н его ба л л а кон кретн ого ст у д ен та , ра спред ел ен ие сред н их ба л л ов по ф а м ил иям ст у д ен т ов в соот вет ст ву ющих списка х. П ред у см от рет ь реж им а втоза пол н ен ия д л я отл а д ки прил ож ен ия. П ор ядокв ы п ол н е н ия задан ия 1. Запу ст ит ь прил ож ен ие Visual Basic и созд а т ь н овый проект “А н а л из резу л ь т а т ов экза м ен а цион н ой сессии”. 2. Р а зра бота т ь пол ь зова т ел ь ский ин т ерф ейс, ра спол ож ив н а ф орм е с пом ощь ю пан ели элемен т о в у правл ен и я, н еобход им ые д л я реа л иза ции проект а объекты у пра вл ен ия. Д л я выпол н ен ия эт ого за д а н ия н еобход им о пред ва рит ел ь н о изу чит ь и проа н а л изирова т ь привед ен н ый н иж е програ м м н ый код . 3. Возм ож н ый ва риа н т ра зра бот а н н ой ф орм ы пол ь зова т ел я привед ен н иж е.
4. С а м остоятел ь н о сост а вить т а бл ицу “О бъект ы, свойст ва и события эл ем ен тов у пра вл ен ия”, гд е опред ел ит ь свойст ва и событ ия объект ов у пра вл ен ия, ра спол ож ен н ыхн а ф орм е.
52 5. Зад а т ь д опол н ит ел ь н ые свойст ва ф орм е и объект а м у пра вл ен ия, ра спол ож ен н ым н а н ей (а н а л огичн о та бл . 2). 6. И зу чит ь и проа н а л изирова т ь програ м м н ый код прил ож ен ия. В от чет е по л а бора т орн ой ра бот е сф орм у л ирова т ь су т ь выпол н яем ых д ейст вий в ка ж д ой из привед ен н ыхн иж е процед у р. Option Explicit Option Base 1 Dim k, l, m, n, i, j As Integer Dim q2, q23, q3, q34, q4, q45, q5 As Integer Dim sr, sum, max, min As Single Dim a(), c(), v As Variant Dim b(), zzz As Variant Dim sTemplate As String Private Sub К нопкаВ вес тиО ценки_Click() If Т екс тК олич ес твоС ту дентов.Text = "" Or Т екс тК олич ес твоЭ кзам енов.Text = "" Then zzz = MsgBox("Н е введны данны е для рас ч ета",vbOKOnly,"О ш ибка"): Т екс тК олич ес твоС ту дентов.SetFocus: GoTo 30 m = CInt(Т екс тК олич ес твоС ту дентов.Text) n = CInt(Т екс тК олич ес твоЭ кзам енов.Text) ReDim a(m, n) ReDim b(m) ReDim c(m) For i = 1 To m sum = 0 20 c(i) = InputBox("В ведитеф ам илию " & i & " с ту дента") If c(i) > 0 And c(i) < 9 Then zzz = MsgBox("Н еправиль но введены данны е. В озм ожно, В ы ввели оценку вм ес то ф ам илии. П овторите ввод. ", vbOKOnly, "О ш ибкавводаданны х "): GoTo 20 Л ис тО ценки.AddItem c(i) For j = 1 To n 10 a(i, j) = InputBox("В ведите" & j & "-ю оценку с ту дента" & c(i)) If a(i, j) 2 And a(i, j) 3 And a(i, j) 4 And a(i, j) 5 Then zzz = MsgBox("Н еправиль но введены данны е. П овторите ввод. ", vbOKOnly, "О ш ибкавводаданны х "): GoTo 10 Л ис тО ценки.AddItem a(i, j) sum = sum + a(i, j) Next j Л ис тО ценки.AddItem "" sr = sum / n b(i) = sr Л ис тС редБ аллы .AddItem c(i) & " " & b(i)
53 Next i k=1 max = b(1) l=1 min = b(1) For i = 2 To m If b(i) > max Then max = b(i): k = i If b(i) < min Then min = b(i): l = i Next i Т екс тМ инС ред.Text = min Т екс тМ акс С ред.Text = max q2 = 0 q23 = 0 q3 = 0 q34 = 0 q4 = 0 q45 = 0 q5 = 0 For i = 1 To m If b(i) = 2 Then q2 = q2 + 1: Л ис тФ ам илии2.AddItem c(i) Else If b(i) > 2 And b(i) < 3 Then q23 = q23 + Л ис тФ ам илии23.AddItem c(i) Else If b(i) = 3 Then q3 = q3 + 1: Л ис тФ ам илии3.AddItem c(i) Else If b(i) > 3 And b(i) < 4 Then q34 = q34 + Л ис тФ ам илии34.AddItem c(i) Else If b(i) = 4 Then q4 = q4 + 1: Л ис тФ ам илии4.AddItem c(i) Else If b(i) > 4 And b(i) < 5 Then q45 = q45 + Л ис тФ ам илии45.AddItem c(i) Else If b(i) = 5 Then q5 = q5 + 1: Л ис тФ ам илии5.AddItem c(i) Else Next i О ценок2.Text = q2 О ценок23.Text = q23 О ценок3.Text = q3 О ценок3.Text = q34 О ценок4.Text = q4 О ценок45.Text = q45 О ценок5.Text = q5 К нопкаВ ы х од.SetFocus 30 End Sub Private Sub К нопкаВ ы х од_Click() End End Sub
1:
1:
1:
54 Private Sub К нопкаО ч ис тить _Click() Т екс тК олич ес твоС ту дентов.Text = "" Т екс тК олич ес твоЭ кзам енов.Text = "" Т екс тМ инС ред.Text = "" Т екс тМ акс С ред.Text = "" О ценок2.Text = "" О ценок23.Text = "" О ценок3.Text = "" О ценок3.Text = "" О ценок4.Text = "" О ценок45.Text = "" О ценок5.Text = "" Л ис тО ценки.Clear Л ис тС редБ аллы .Clear Л ис тФ ам илии2.Clear Л ис тФ ам илии23.Clear Л ис тФ ам илии3.Clear Л ис тФ ам илии34.Clear Л ис тФ ам илии4.Clear Л ис тФ ам илии45.Clear Л ис тФ ам илии5.Clear End Sub Private Sub К нопкаАвтозаполнение_Click() Т екс тК олич ес твоС ту дентов.Text = "" Т екс тК олич ес твоЭ кзам енов.Text = "" Т екс тМ инС ред.Text = "" Т екс тМ акс С ред.Text = "" О ценок2.Text = "" О ценок23.Text = "" О ценок3.Text = "" О ценок3.Text = "" О ценок4.Text = "" О ценок45.Text = "" О ценок5.Text = "" Л ис тО ценки.Clear Л ис тС редБ аллы .Clear Л ис тФ ам илии2.Clear Л ис тФ ам илии23.Clear Л ис тФ ам илии3.Clear Л ис тФ ам илии34.Clear Л ис тФ ам илии4.Clear Л ис тФ ам илии45.Clear
55 Л ис тФ ам илии5.Clear Т екс тК олич ес твоС ту дентов.Text = "15" Т екс тК олич ес твоЭ кзам енов.Text = "5" m = CInt(Т екс тК олич ес твоС ту дентов.Text) n = CInt(Т екс тК олич ес твоЭ кзам енов.Text) ReDim a(m, n) ReDim b(m) ReDim c(m) c(1) = "И ванов" c(2) = "П етров" c(3) = "С идоров" c(4) = "Б у нин" c(5) = "П латонов" c(6) = "П у ш кин" c(7) = "Л ерм онтов" c(8) = "Д ос тоевс кий " c(9) = "Г орь кий " c(10) = "Ц ветаева" c(11) = "Г оголь " c(12) = "Ах м атова" c(13) = "Я влинс кий " c(14) = "Ж ириновс кий " c(15) = "Ш анды бин" For i = 1 To m sum = 0 Л ис тО ценки.AddItem c(i) For j = 1 To n 50 a(i, j) = Round(Rnd() * 5) If a(i, j) < 2 Or a(i, j) > 5 Then GoTo 50 Л ис тО ценки.AddItem a(i, j) sum = sum + a(i, j) Next j Л ис тО ценки.AddItem "" sr = sum / n b(i) = sr Л ис тС редБ аллы .AddItem c(i) & " " & b(i) Next i k=1 max = b(1) l=1 min = b(1) For i = 2 To m If b(i) > max Then max = b(i): k = i If b(i) < min Then min = b(i): l = i Next i
56 Т екс тМ инС ред.Text = min Т екс тМ акс С ред.Text = max q2 = 0 q23 = 0 q3 = 0 q34 = 0 q4 = 0 q45 = 0 q5 = 0 For i = 1 To m If b(i) = 2 Then q2 = q2 + 1: Л ис тФ If b(i) > 2 And b(i) < Л ис тФ ам илии23.AddItem c(i) Else If b(i) = 3 Then q3 = q3 + 1: Л ис тФ If b(i) > 3 And b(i) < Л ис тФ ам илии34.AddItem c(i) Else If b(i) = 4 Then q4 = q4 + 1: Л ис тФ If b(i) > 4 And b(i) < Л ис тФ ам илии45.AddItem c(i) Else If b(i) = 5 Then q5 = q5 + 1: Л ис тФ Next i О ценок2.Text = q2 О ценок23.Text = q23 О ценок3.Text = q3 О ценок3.Text = q34 О ценок4.Text = q4 О ценок45.Text = q45 О ценок5.Text = q5 К нопкаВ ы х од.SetFocus End Sub
ам илии2.AddItem c(i) Else 3 Then q23 = q23 +
1:
ам илии3.AddItem c(i) Else 4 Then q34 = q34 +
1:
ам илии4.AddItem c(i) Else 5 Then q45 = q45 +
1:
ам илии5.AddItem c(i) Else
Private Sub Т екс тК олич ес твоС ту дентов_KeyPress(KeyAscii As Integer) STemplate="qwertyuiop[]asdfghjkl;'\zxcvbnm,./\`!@#$%^&*()_+Ё !;%:?* ()_+й цу кенгш щзх ъф ы вапролджэ\\яч с м ить бю .Й Ц У К Е Н Г Ш Щ ЗХ Ъ Ф Ы В АП Р О Л Д Ж Э /\Я ЧС М И Т Ь Б Ю .QWERTYUIOP[]ASDFGHJKL;'\ZXC\ VBNM,./" If InStr(1, sTemplate, Chr(KeyAscii)) > 0 Then KeyAscii = 0 If KeyAscii = 13 Then Т екс тК олич ес твоЭ кзам енов.SetFocus End Sub Private Sub Т екс тК олич ес твоЭ кзам енов_KeyPress(KeyAscii As Integer) STemplate="qwertyuiop[]asdfghjkl;'\zxcvbnm,./\`!@#$%^&*()_+Ё !;%:?* ()_+й цу кенгш щзх ъф ы вапролджэ\\яч с м ить бю .Й Ц У К Е Н Г Ш Щ ЗХ Ъ Ф Ы
57 В АП Р О Л Д Ж Э /\Я ЧС М И Т Ь Б Ю .QWERTYUIOP[]ASDFGHJKL;'\ZXC\ VBNM,./" If InStr(1, sTemplate, Chr(KeyAscii)) > 0 Then KeyAscii = 0 If KeyAscii = 13 Then К нопкаВ вес тиО ценки.SetFocus End Sub 7. П роверит ь коррект н ост ь ра боты прил ож ен ия, испол ь зу я реж им а втоза пол н ен ия. П ри н еобход им ост и испра вит ь ошибки. 8. С охра н ит ь в своей па пке ф орм у и проект соот вет ст вен н о под им ен а м и Э кзам ены .frm и Э кзам ены .Vbp. 9. Р езу л ь т а т ом выпол н ен ия прил ож ен ия д ол ж н а ст а т ь ф орм а , пред ст а вл ен н а я н иж е.
Задание15. РазработкаVB – приложения “П реобразование дву м ерного м ас с ива(м атрицы ) в одном ерны й м ас с ив (пос ледователь нос ть )” Р а ссм от рим н ескол ь ко програ м м по обра бот ке од н ом ерн ых и д ву м ерн ых м а ссивов с испол ь зова н ием ф орм д л я ввод а исход н ых и вывод а преобра зова н н ыхм а ссивов. Д а н д ву м ерн ый м а ссив числ овых зн а чен ий A(M,N). С ф орм ирова т ь од н ом ерн ый м а ссив, эл ем ен т а м и кот орого явл яют ся су м м ы эл ем ен тов ка ж д ой строки исход н ого м а ссива . С ф орм ирова н н ый м а ссив вывести н а ф орм у в эл ем ен т у пра вл ен ия - список. Д л я ввод а эл ем ен т ов исход н ого м а ссива и вывод а сф орм ирова н н ого м а ссива испол ь зова т ь эл ем ен ты у пра вл ен ия Visual Basic.
58 П ор ядокв ы п ол н е н ия задан ия 1. Запу ст ит ь прил ож ен ие Visual Basic и созд а т ь н овый проект “Р а бот а с д ву м ерн ым м а ссивом ”. 2. Р а зра бота т ь пол ь зова т ел ь ский ин т ерф ейс, ра спол ож ив н а ф орм е с пом ощь ю пан ели эл емен т о в у правлен и я н еобход им ые д л я реа л иза ции проект а объект ы у пра вл ен ия. 3. Возм ож н ый ва риа н т ра зра бот а н н ой ф орм ы пол ь зова т ел я привед ен н иж е.
4. Зад а т ь ф орм е и объект а м у пра вл ен ия, ра спол ож ен н ым н а н ей, свойст ва , у ка за н н ые в та бл . 14, и проа н а л изирова т ь обра ба т ыва ем ое событие д л я ка ж д ого объект а у пра вл ен ия. Т а бл ица 14 О бъект ы, свойст ва , события эл ем ен т ов у пра вл ен ия О бъект у правления 1 Ф орм а
О бознач ения объекта И м я объекта С вой с тваобъеку правления (name) тау правления по у м олч анию 2 3 4 Caption – Р а бот а с П о у м ол ча Form1 д ву м ерн ым м а сн ию сивом
О брабаты ваем ое с обы тие 5 Н ет
59 1
2
3
К ом а н д н а я кн опка 1
CommandBut ton1
К н опка Зад а т ь
К ом а н д н а я кн опка 2
CommandBut ton2
К н опка Д оба вит ь
К ом а н д н а я кн опка 3
CommandBut ton3
К н опка П росчет
К ом а н д н а я кн опка 4
CommandBut ton4
К н опка Выход
К ом а н д н а я кн опка 5
CommandBut ton5
К н опка О чист ит ь
Т екст овое пол е 1
TextBox1
Text1
П род ол ж ен ие т а бл . 14 5 Click() – проверяет , явл яет ся л и м а т рица д л я ввод а исход н ых зн а чен ий ква д ра т н ой. Е сл и м а т рица н е ква д ра т н а я, т о вывод ит ся окн о соCaption – Зад а т ь общен ия с соот вет ст вен н ым т екст ом . Е сл и м а т рица ква д ра т н а я, т о переобъявл яет ся ра зм ер д ин а м ического м а ссива . Click() – орга н изу ет вл ож ен н ый цикл д л я ввод а эл ем ен т ов Caption – Д оба - м а т рицы с пом ощь ю окн а ввод а InputBox вит ь и д оба вл яет очеред н ой эл ем ен т в м а ссив. Click() – ф орм иру ет од н ом ерн ый м а ссив Sum(M), д оба вл яет Caption – П росчет эл ем ен т ы сф орм ирова н н ого м а ссива к списку н а ф орм е. Click() – за верша ет выпол н ен ие прил ож ен ия и выгру ж а ет Caption – Выход из па м ят и т еку щу ю ф орм у . Click() – очища ет Caption – О чисит ь список в ф орм е. Change() – присва ива ет зн а чен ие свойст ва Text перем ен н ой M в ф орм а т е цел ого числ ового зн а чен ия с пом ощь ю ф у н кции Cint. Text – пу ст о С обыт ие KeyPress() – проверяет, явл яет ся л и введ ен н ый сим вол в пол е Text1 л юбым д ру гим сим вол ом (т .е. н ед опу ст им ым ), кром е циф р от 0 д о 9. 4
60 1 С писок
Т екст овое пол е 2
М ет ка
2 ListBox
TextBox2
Label
Р а м ка 1
Frame1
Р а м ка 2
Frame2
3 List1
Text2
П о у м ол ча н ию П о у м ол ча н ию П о у м ол ча н ию
4 List – пу ст о
Text – пу ст о
П род ол ж ен ие т а бл . 14 5 Change() – присва ива ет зн а чен ие свойст ва Text перем ен н ой N в ф орм а т е цел ого числ ового зн а чен ия с пом ощь ю ф у н кции Cint. С обыт ие KeyPress() – проверяет, явл яет ся л и введ ен н ый сим вол в пол е Text2 л юбым д ру гим сим вол ом (т .е. н ед опу ст им ым ), кром е циф р от 0 д о 9.
Caption – Зад а т ь ра зм ерн ост ь Caption – Зад а т ь вру чн у ю Caption – Р езу л ь та т
5. Зад а т ь д опол н ит ел ь н ые свойст ва ф орм е и объект а м у пра вл ен ия, ра спол ож ен н ым н а н ей (а н а л огичн о та бл . 2). 6. В общей обл а ст и м од у л я ф орм ы (General) ввести код , описыва ющий т ипы перем ен н ых: Option Explicit ' Ввест и элемен т ы дву мерн о го масси ва, по счи т ат ь су мму эл емен т о в к аж до йст ро к и , со ст ави т ь о дн о мерн ы ймасси в и з эт и х су мм и вы вест и его н а эк ран . Option Base 1 Dim a() As Integer Dim SUM() As Integer Dim M, N, i, j As Integer Dim sTemplate As String Dim zzz As Variant 7. Записа т ь програ м м н ый код д л я объект а К нопкаВ ы ч ис лить , пом ест ив в событие Click() сл ед у ющие опера торы: 'П ро счет Private Sub К нопкаВ ы ч ис лить _Click() ReDim SUM(M) ' Резу л ьт и ру ющ и ймасси в For i = 1 To M
61 SUM(i) = 0 For j = 1 To N SUM(i) = SUM(i) + a(i, j) Next j, i 'Вы во д масси ва н а эк ран For i = 1 To M List1.AddItem SUM(i) Next i End Sub 8. Записа т ь програ м м н ый код д л я объект а К нопкаВ ы х од, пом ест ив в событие Click() сл ед у ющие опера т оры: Private Sub К нопкаВ ы х од_Click() End End Sub 9. Записа т ь програ м м н ый код д л я объект а К нопкаЗадать , пом ест ив в событие Click() сл ед у ющие опера т оры: ' Задан и е масси ва Private Sub К нопкаЗадать _Click() If Text1.Text = "" Or Text2.Text = "" Then GoTo 10 If CInt(Text1.Text) CInt(Text2.Text) Then zzz = MsgBox("М ас с ив должен бы ть квадратны м ", vbOKOnly, "О ш ибка") If zzz=vbOkOnly Then GoTo 10 ReDim a(M, N) 10 End Sub 10. Записа т ь програ м м н ый код д л я объект а К нопкаД обавить , пом ест ив в событ ие Click() сл ед у ющие опера торы: ' Д о бавл яем эл емен т ы Private Sub К нопкаД обавить _Click() For i = 1 To M For j = 1 To N a(i, j) = InputBox("введитеэлем ент " & i & " с троки " & j & " с толбца", "В водэлем ента", "0") Next j Next i End Sub
62 11. Записа т ь програ м м н ый код д л я объект а К нопкаО ч ис тить , пом ест ив в событ ие Click() сл ед у ющие опера торы: Private Sub К нопкаО ч ис тить _Click() List1.Clear End Sub 12. Записа т ь програ м м н ый код д л я процед у р, од н а из кот орых описыва ет событие Change() д л я объект а у пра вл ен ия Text1, а вт ора я – проверяет коррект н ост ь ввод им ыхчисл овыхд а н н ых в текст овое пол е: Private Sub Text1_Change() M = CInt(Text1.Text) End Sub Private Sub Text1_KeyPress(KeyAscii As Integer) sTemplate = "qwertyuiop[]asdfghjkl;'zxcvbnm,/QWERTYUIOP{}ASDFGHJKL: ZXCVBNM?=\_+|`~!@#$%^&*()й цу кенгш щзх ъф ы вапролджэяч с м ить бю Й Ц У К Е Н Г Ш Щ ЗХ Ъ Ф Ы В АП Р О Л Д Ж Э Я ЧС М И Т Ь Б Ю ,№ * " If InStr(1, sTemplate, Chr(KeyAscii)) > 0 Then KeyAscii = 0 End Sub 13. Записа т ь програ м м н ый код д л я процед у ры, описыва ющей событие Change() д л я объект а у пра вл ен ия Text2, и осу щест вл яющей проверку коррект н ости ввод им ыхчисл овыхд а н н ых в т екст овое пол е: Private Sub Text2_Change() N = CInt(Text2.Text) End Sub Private Sub Text2_KeyPress(KeyAscii As Integer) sTemplate = "qwertyuiop[]asdfghjkl;',.zxcvbnm,/QWERTYUIOP{}ASDFGHJKL :ZXCVBNM?=\_+|`~!@#$%^&*()й цу кенгш щзх ъф ы вапролджэяч с м ить бю Й Ц У К Е Н Г Ш Щ ЗХ Ъ Ф Ы В АП Р О Л Д Ж Э Я ЧС М И Т Ь Б Ю ,№ * " If InStr(1, sTemplate, Chr(KeyAscii)) > 0 Then KeyAscii = 0 End Sub 14. П роверит ь коррект н ост ь ра бот ы прил ож ен ия и, при н еобход им ост и , испра вит ь ошибки.
63 15. С охра н ит ь в своей па пке ф орм у и проект соот вет ст вен н о под им ен а м и Р абота с дву м ерны м м ас с ивом .frm и Р абота с дву м ерны м м ас с ивом .Vbp. 16. Зад а н ие д л я са м остоят ел ь н ой ра бот ы. Н а осн ове проект а , реа л изова н н ого в за д а н ии 15, созд а т ь н овый проект д л я решен ия сл ед у ющей за д а чи: Д а н а ква д ра т н а я м а т рица A(M,M). С ост а вит ь програ м м у ф орм ирова н ия посл ед ова т ел ь н ости B(M) по сл ед у ющем у а л горит м у : Ø Вычисл ит ь произвед ен ие эл ем ен тов гл а вн ой д иа гон а л и. Ø Р а зд ел ит ь ка ж д ый эл ем ен т гл а вн ой д иа гон а л и н а эт о произвед ен ие. Ø С ф орм ирова т ь посл ед ова тел ь н ост ь B(M) из преобра зова н н ых эл ем ен тов гл а вн ой д иа гон а л и. Ø Д оба вит ь эл ем ен т ы сф орм ирова н н ого м а ссива к списку н а ф орм е.
Задание 16. Разработка VB – приложения “П оис к повторяю щегос я элем ентав одном ерном м ас с ивеA(M)” Д а н од н ом ерн ый м а ссив A(M). С ост а вит ь програ м м у проверки н а н а л ичие хот я бы од н ого повторяющегося эл ем ен т а в эт ом м а ссиве. П осл е проверки выд а т ь в ф орм е соот вет ст ву ющее сообщен ие. Д л я ввод а ра зм ера исход н ого м а ссива и вывод а соот вет ству ющего сообщен ия испол ь зова т ь эл ем ен т ы у пра вл ен ия Visual Basic. П ор ядокв ы п ол н е н ия задан ия 1. Запу ст ит ь прил ож ен ие Visual Basic и созд а т ь н овый проект “Р а бот а с од н ом ерн ым м а ссивом ”. 2. Р а зра бота т ь пол ь зова т ел ь ский ин т ерф ейс, ра спол ож ив н а ф орм е с пом ощь ю пан ели эл емен т о в у правлен и я н еобход им ые д л я реа л иза ции проект а объект ы у пра вл ен ия. 3. Возм ож н ый ва риа н т ра зра бот а н н ой ф орм ы пол ь зова т ел я привед ен н иж е, гд е пред у см от рен а возм ож н ость ввод а эл ем ен тов исход н ого м а ссива черезст а н д а рт н ое окн о ввод а ин ф орм а ции InputBox. 4. С а м остоятел ь н о сост а вить т а бл ицу “О бъект ы, свойст ва и события эл ем ен тов у пра вл ен ия”, гд е опред ел ит ь свойст ва и события объект ов, ра спол ож ен н ыхн а ф орм е а н а л огичн о пред ыд у щим за д а н ия. 5. Зад а т ь д опол н ит ел ь н ые свойст ва ф орм е и объект а м у пра вл ен ия, ра спол ож ен н ым н а н ей (а н а л огичн о та бл . 2).
64
6. В общей обл а ст и м од у л я ф орм ы (General) ввести код , описыва ющий т ипы перем ен н ых: Option Explicit ' Зад а т ь од н ом ерн ый м а ссив и проверить , все л и эл ем ен т ы од ин а ковые Option Base 1 Dim a() As Integer Dim M, i, j, flag As Integer Dim sTemplate As String 7. Записа т ь програ м м н ый код д л я объект а кн опка Command2 (П росчет ), пом естив в событие Click() сл ед у ющие опера торы: 'Про счет Private Sub Command2_Click() For i = 1 To M - 1 For j = i + 1 To M If a(i) = a(j) Then flag = 1: GoTo 30 Next j Next i 30 If flag = 0 Then Label1.Caption = "В с еэлем енты разны е" Else Label1.Caption = "Е с ть одинаковы еэлем енты " End Sub 8. Записа т ь програ м м н ый код д л я объекта кн опка Command3 (Выход ), пом ест ив в событие Click() сл ед у ющие опера т оры:
65 Private Sub Command3_Click() End End Sub 9. Записа т ь програ м м н ый код д л я объект а кн опка Command4 (Задать ), пом ест ив в событие Click() сл ед у ющие опера т оры: ' Задан и е масси ва Private Sub Command4_Click() If Text1.Text = "" Then GoTo 10 ReDim a(M) 10 End Sub 10. Записа т ь програ м м н ый код д л я объект а кн опка Command5 (Д оба вить ), пом ест ив в событие Click() сл ед у ющие опера торы: ' Д оба вл яем эл ем ен ты Private Sub Command5_Click() For i = 1 To M a(i) = InputBox("введите" & i & " элем ент", "В водэлем ента", "0") Next i End Sub 11. О бъясн ит ь су т ь процед у ры, за писа н н ой н иж е. Private Sub Form_Load() flag = 0 End Sub 12. Записа т ь програ м м н ый код д л я процед у р, од н а из кот орых описыва ет событие Change() д л я объект а у пра вл ен ия Text1, а вт ора я – проверяет коррект н ост ь ввод им ыхчисл овыхд а н н ых в текст овое пол е: Private Sub Text1_Change() M = CInt(Text1.Text) End Sub Private Sub Text1_KeyPress(KeyAscii As Integer) sTemplate = "qwertyuiop[]asdfghjkl;'zxcvbnm,/QWERTYUIOP{}ASDFGHJKL:Z XCVBNM?=\_+|`~!@#$%^&*()й цу кенгш щзх ъф ы вапролджэяч с м ить бю Й Ц У К Е Н Г Ш Щ ЗХ Ъ Ф Ы В АП Р О Л Д Ж Э Я ЧС М И Т Ь Б Ю ,№ * " If InStr(1, sTemplate, Chr(KeyAscii)) > 0 Then KeyAscii = 0 End Sub
66 13. П роверит ь коррект н ост ь ра бот ы прил ож ен ия и, при н еобход им ост и, испра вит ь ошибки. 14. С охра н ит ь в своей па пке ф орм у и проект соот вет ст вен н о под им ен а м и Р абота с одном ерны м м ас с ивом .frm и Работа с одном ерны м м ас с ивом .Vbp. 15. Зад а н ия д л я са м остоят ел ь н ой ра бот ы М од ерн изирова т ь проект д л я реа л иза ции за д а чи, ра ссм отрен н ой в за д а н ии 17, сл ед у ющим обра зом : Ø Д оба вить кн опку К нопкаО ч ис тить с програ м м н ым код ом очист ки м ет ки Label1 и перем ен н ой flag. Ø Д оба вить програ м м н ый код , который выд а ет сообщен ие при сра вн ен ии эл ем ен тов “Все эл ем ен ты од ин а ковые”в т ом сл у ча е, когд а в посл ед ова т ел ь н ост и A(M) все эл ем ен ты совпа д а ют .
Задание17. РазработкаVB – приложения “П реобразованиеэлем ентов одном ерного м ас с иваA(M)” Д а н од н ом ерн ый м а ссив A(M). С ост а вит ь програ м м у за м ен ы ка ж д ого эл ем ен т а исход н ого м а ссива А (M), кром е первого и посл ед н его, н а су м м у ока йм л яющих. П реобра зова н н у ю посл ед ова тел ь н ость выд а т ь в список н а ф орм е. Д л я ввод а ра зм ера исход н ого м а ссива и вывод а соот ветст ву ющего сообщен ия испол ь зова т ь эл ем ен ты у пра вл ен ия Visual Basic. П ор ядокв ы п ол н е н ия задан ия 1. Запу ст ит ь прил ож ен ие Visual Basic и созд а т ь н овый проект “П реобра зова н ие од н ом ерн ого м а ссива ”. 2. Р а зра бота т ь пол ь зова т ел ь ский ин т ерф ейс, ра спол ож ив н а ф орм е с пом ощь ю пан ели эл емен т о в у правлен и я н еобход им ые д л я реа л иза ции проект а объект ы у пра вл ен ия. 3. Возм ож н ый ва риа н т ра зра бот а н н ой ф орм ы пол ь зова т ел я привед ен н иж е. 4. Д л я опред ел ен ия свойст в эл ем ен т ов у пра вл ен ия и обра ба т ыва ем ых событий сост а вит ь та бл ицу “О бъект ы, свойст ва и событ ия эл ем ен тов у пра вл ен ия”, а н а л огичн о пред ыд у щим за д а н иям . 5. Зад а т ь д опол н ит ел ь н ые свойст ва ф орм е и объект а м у пра вл ен ия, ра спол ож ен н ым н а н ей (а н а л огичн о та бл . 2). 6. В общей обл а ст и м од у л я ф орм ы (General) ввест и код , описыва ющий типы перем ен н ых:
67 Option Explicit ' Зад а т ь од н ом ерн ый м а ссив и за м ен ит ь эл ем ен т ы н а су м м у ока йм л яющих Option Base 1 Dim a() As Integer Dim M, i, s, r As Integer Dim sTemplate As String
7. Записа т ь програ м м н ый код д л я объект а кн опка Command2 (П рос ч ет), пом естив в событие Click() сл ед у ющие опера торы: 'П ро счет Private Sub Command2_Click() s = a(1) For i = 2 To M - 1 r = a(i) a(i) = s + a(i + 1) s=r Next i ' Вывод м а ссива н а экра н For i = 1 To M List1.AddItem a(i) Next i End Sub 8. Записа т ь програ м м н ый код д л я объект а кн опка Command3 (В ы х од), пом ест ив в событие Click() сл ед у ющие опера т оры: Private Sub Command3_Click() End End Sub
68 9. Записа т ь програ м м н ый код д л я объект а кн опка Command4 (Задать ), пом ест ив в событие Click() сл ед у ющие опера т оры: ' Задан и е масси ва Private Sub Command4_Click() If Text1.Text = "" Then GoTo 10 ReDim a(M) 10 End Sub 10. Записа т ь програ м м н ый код д л я объект а кн опка Command5 (Д обавить ), пом естив в событ ие Click() сл ед у ющие опера т оры: ' Д оба вл яем эл ем ен ты Private Sub Command5_Click() For i = 1 To M a(i) = InputBox("введите" & i & " элем ент", "В вод элем ента", "0") Next i End Sub 11. Записа т ь програ м м н ый код д л я объект а кн опка Command6 (О ч ис тить ), пом естив в событ ие Click() сл ед у ющие опера т оры: Private Sub Command6_Click() List1.Clear End Sub 12. Записа т ь програ м м н ый код д л я процед у р, од н а из кот орых описыва ет событие Change() д л я объект а у пра вл ен ия Text1, а вт ора я – проверяет коррект н ост ь ввод им ыхчисл овыхд а н н ых в текст овое пол е: Private Sub Text1_Change() M = CInt(Text1.Text) End Sub Private Sub Text1_KeyPress(KeyAscii As Integer) sTemplate = "qwertyuiop[]asdfghjkl;'zxcvbnm,/QWERTYUIOP{}ASDFGHJKL:ZX CVBNM?=\_+|`~!@#$%^&*()й цу кенгш щзх ъф ы вапролджэяч с м ить бю Й Ц У К Е Н Г Ш Щ ЗХ Ъ Ф Ы В АП Р О Л Д Ж Э Я ЧС М И Т Ь Б Ю ,№ * " If InStr(1, sTemplate, Chr(KeyAscii)) > 0 Then KeyAscii = 0 End Sub 13. П роверит ь коррект н ост ь ра бот ы прил ож ен ия и, при н еобход им ост и, испра вит ь ошибки.
69 14. С охра н ит ь в своей па пке ф орм у и проект соот вет ст вен н о под им ен а м и П реобразованиеодном ерного м ас с ива.frm и П реобразование одном ерного м ас с ива.Vbp. 15. Зад а н ия д л я са м остоят ел ь н ой ра бот ы. М од ерн изирова т ь проект д л я реа л иза ции ра ссм от рен н ой выше за д а чи сл ед у ющим обра зом : преобра зова ть эл ем ен ты од н ом ерн ого м а ссива A(M) пу т ем за м ен ы ка ж д ого чл ен а посл ед ова тел ь н ост и А (M), кром е первого и посл ед н его, н а произвед ен ие ока йм л яющих его эл ем ен т ов.
Задание18. РазработкаVB – приложения “И зм енениепорядка с ледования элем ентов в м ас с ивеА(М ) наобратны й с пос леду ю щим преобразованием каждого элем ентам ас с ива” Д а н од н ом ерн ый м а ссив A(М ). С ост а вит ь програ м м у преобра зова н ия од н ом ерн ого м а ссива А (М ) пу т ем изм ен ен ия н а обра т н ый поряд ка сл ед ова н ия эл ем ен т ов в м а ссиве с посл ед у ющим у м н ож ен ием ка ж д ого его эл ем ен т а н а сред н ее а риф м етическое эл ем ен т ов посл ед ова т ел ь н ости А (М ). П ор ядокв ы п ол н е н ия задан ия 1. Запу ст ит ь прил ож ен ие Visual Basic и созд а т ь н овый проект “Р а бот а с м а ссивом ”. 2. Р а зра бота т ь пол ь зова т ел ь ский ин т ерф ейс, ра спол ож ив н а ф орм е с пом ощь ю пан ели эл емен т о в у правлен и я н еобход им ые д л я реа л иза ции проект а объект ы у пра вл ен ия. 3. Возм ож н ый ва риа н т ра зра бот а н н ой ф орм ы пол ь зова т ел я привед ен н иж е.
4. Д л я опред ел ен ия свойст в эл ем ен т ов у пра вл ен ия и обра ба т ыва ем ых событий сост а вит ь та бл ицу “О бъект ы, свойст ва и событ ия эл ем ен тов у пра вл ен ия”, а н а л огичн о пред ыд у щим за д а н ия.
70 5. Зад а т ь д опол н ит ел ь н ые свойст ва ф орм е и объект а м у пра вл ен ия, ра спол ож ен н ым н а н ей (а н а л огичн о та бл . 2). 6. В програ м м н ом код е пред у см от рет ь процед у ру ф орм ирова н ия эл ем ен тов м а ссива , выбра н н ых сл у ча йн ым обра зом с пом ощь ю д а т чика сл у ча йн ыхчисел в числ овом д иа па зон е от 1 д о 10. 7. В общей обл а ст и м од у л я ф орм ы (General) ввести код , описыва ющий типы перем ен н ых: Option Explicit Option Base 1 ' Ввест и масси в, по мен ят ь по рядо к сл едо ван и я эл емен т о в н а о брат н ы йи у мн о ж и т ь к аж ды йэл емен т н а средн ее ари ф мет и ческ о е Dim a() As Long Dim i, c, sr As Integer Dim razm1 As Integer Dim sTemplate As String 8. Записа т ь програ м м н ый код д л я объекта кн опка Command1 (О ч ис тить ), пом естив в событ ие Click() сл ед у ющие опера т оры: Private Sub Command1_Click() List1.Clear End Sub 9. Ввест и програ м м н ый код д л я объект а кн опка Command5 (В ы х од). 10. П роа н а л изирова т ь програ м м н ый код , за писа н н ый в процед у ра х, привед ен н ыхн иж е, и проком м ен тирова т ь су т ь описыва ем ыхд ейст вий. Private Sub Command2_Click() For i = 1 To razm1 List1.AddItem a(i) Next i End Sub Private Sub Command4_Click() For i = 1 To ((razm1 / 2)) c = a(i): a(i) = a(razm1 - i + 1): a(razm1 - i + 1) = c Next i For i = 1 To razm1 sr = sr + a(i) Next i sr = sr / razm1 For i = 1 To razm1 a(i) = a(i) * sr Next i End Sub
71 Private Sub Command7_Click() If Text1.Text = "" Then GoTo 10 ' Зад а н ие сл у ча йн ого м а ссива за д а н н ой вел ичин ы razm1 = CInt(Text1.Text) ReDim a(razm1) As Long For i = 1 To razm1 a(i) = Round(Rnd() * 10) Next i For i = 1 To razm1 List1.AddItem a(i) Next i 10 End Sub Private Sub Text1_KeyPress(KeyAscii As Integer) sTemplate = "qwertyuiop[]asdfghjkl;'zxcvbnm,/QWERTYUIOP{}ASDFGHJKL: ZXCVBNM?=\_+|`~!@#$%^&*()й цу кенгш щзх ъф ы вапролджэяч с м ить бю Й Ц У К Е Н Г Ш Щ ЗХ Ъ Ф Ы В АП Р О Л Д Ж Э Я ЧС М И Т Ь Б Ю ,№ * " If InStr(1, sTemplate, Chr(KeyAscii)) > 0 Then KeyAscii = 0 End Sub 10. П роверит ь коррект н ост ь ра бот ы прил ож ен ия и, при н еобход им ост и, испра вит ь ошибки. 11. С охра н ит ь в своей па пке ф орм у и проект соот вет ст вен н о под им ен а м и Работас м ас с ивом .frm и Работас м ас с ивом .Vbp.
Задание19. РазработкаVB – приложения “У даления элем ентов, рас положенны х м ежду дву м я м акс им аль ны м и по знач ению элем ентам и м ас с иваА(М )” Д а н од н ом ерн ый м а ссив A(М ). С ост а вит ь програ м м у поиска д ву х м а ксим а л ь н ых зн а чен ий эл ем ен тов исход н ого м а ссива с посл ед у ющим у д а л ен ием эл ем ен тов, ра спол ож ен н ых м еж д у д ву м я н а йд ен н ым и эл ем ен т а м и. П ор ядокв ы п ол н е н ия задан ия 1. Запу ст ит ь прил ож ен ие Visual Basic и созд а т ь н овый проект “У д а л ен ие эл ем ен тов в м а ссиве”. 2. Р а зра бота т ь пол ь зова т ел ь ский ин т ерф ейс, ра спол ож ив н а ф орм е с пом ощь ю пан ели эл емен т о в у правлен и я н еобход им ые д л я реа л иза ции проект а объект ы у пра вл ен ия.
72 3. Возм ож н ый ва риа н т ра зра бот а н н ой ф орм ы пол ь зова т ел я привед ен н иж е.
4. Д л я опред ел ен ия свойст в эл ем ен т ов у пра вл ен ия и обра ба т ыва ем ых событий сост а вит ь та бл ицу “О бъект ы, свойст ва и событ ия эл ем ен тов у пра вл ен ия”, а н а л огичн о пред ыд у щим за д а н иям . 5. Зад а т ь д опол н ит ел ь н ые свойст ва ф орм е и объект а м у пра вл ен ия, ра спол ож ен н ым н а н ей (а н а л огичн о та бл . 2). 6. В програ м м н ом код е пред у см от рет ь процед у ру ф орм ирова н ия эл ем ен тов м а ссива , выбра н н ых сл у ча йн ым обра зом , с пом ощь ю д а т чика сл у ча йн ых чисел в числ овом д иа па зон е от 1 д о 10 ил и процед у ру ввод а д а н н ыхчерезст а н д а рт н ое окн о ввод а ин ф орм а ции InputBox. 7. П роа н а л изирова т ь програ м м н ый код , за писа н н ый в процед у ра х, привед ен н ых н иж е, и проком м ен тирова т ь су т ь описыва ем ых в н их д ейст вий. Option Explicit Option Base 1 ' Ввест и элемен т ы масси ва, н айт и 2 мак си мал ьн ы хи у дали т ь эл емен т ы меж ду н и ми Dim a() As Long Dim i, c, j As Integer Dim M, max, l, k, kol As Integer Dim sTemplate As String Private Sub Command1_Click() List1.Clear End Sub Private Sub Command2_Click() For i = 1 To M List1.AddItem a(i) Next i End Sub
73 Private Sub Command4_Click() max = a(1) + a(2): k = 1: l = 2 For i = 1 To M - 1 For j = i + 1 To M If a(i) + a(j) > max Then max = a(i) + a(j): k = i: l = j Next j Next i If k > l Then c = k: k = l: l = c kol = l - k - 1 If kol = 0 Then GoTo 20 For i = k + 1 To M - kol a(i) = a(i + kol) Next i M = M - kol 20 End Sub Private Sub Command5_Click() End End Sub Private Sub Command7_Click() If Text1.Text = "" Then GoTo 10 ReDim a(M) For i = 1 To M a(i) = InputBox("введите" & i & " элем ент", "В вод элем ента", "0") Next i 10 End Sub Private Sub Text1_Change() M = CInt(Text1.Text) End Sub Private Sub Text1_KeyPress(KeyAscii As Integer) sTemplate = "qwertyuiop[]asdfghjkl;'zxcvbnm,/QWERTYUIOP{}ASDFGHJKL: ZXCVBNM?=\_+|`~!@#$%^&*()й цу кенгш щзх ъф ы вапролджэяч с м ить бю Й Ц У К Е Н Г Ш Щ ЗХ Ъ Ф Ы В АП Р О Л Д Ж Э Я ЧС М И Т Ь Б Ю ,№ * " If InStr(1, sTemplate, Chr(KeyAscii)) > 0 Then KeyAscii = 0 End Sub 8. П роверит ь коррект н ост ь ра бот ы прил ож ен ия и, при н еобход им ост и, испра вит ь ошибки.
74 9. С охра н ит ь в своей па пке ф орм у и проект соот вет ст вен н о под им ен а м и У далениеэлем ентов.frm и У далениеэлем ентов.Vbp. 10. Зад а н ие д л я са м остоят ел ь н ой ра бот ы. М од ерн изирова т ь проект д л я реа л иза ции за д а чи, привед ен н ый в за д а н ии 20, по сл ед у ющем у а л горит м у : Ø н а йти д ва м ин им а л ь н ыхэл ем ен т а посл ед ова тел ь н ост и А (М ); Ø у д а л ит ь н а йд ен н ые эл ем ен т ы изэт ой посл ед ова т ел ь н ост и; Ø преобра зова н н у ю посл ед ова т ел ь н ост ь выд а т ь в список, ра спол ож ен н ый н а ф орм е; Ø в програ м м н ом код е пред у см от рет ь процед у ру ф орм ирова н ия эл ем ен тов м а ссива , выбра н н ых сл у ча йн ым обра зом с пом ощь ю д а т чика сл у ча йн ых чисел в числ овом д иа па зон е от 1 д о 10 в вид е цел ыхчисел .
Задание20. РазработкаVB – приложения “П реобразованиеэлем ентов одном ерного м ас с иваY(N) пу тем ис поль зования элем ентов дру гого м ас с иваX(M)” Д а н ы д ва м а ссива X(M) и Y(N). С ост а вит ь програ м м у преобра зова н ия м а ссива Y(N) пу т ем у м н ож ен ия ка ж д ого эл ем ен т а н а сред н ее а риф м ет ическое эл ем ен тов эт ого м а ссива . Затем вкл ючит ь в кон ец м а ссива Y(N) эл ем ен т ы м а ссива X(M), ра спол ож ен н ые м еж д у м а ксим а л ь н ым и м ин им а л ь н ым эл ем ен т а м и м а ссива X(M). Д л я ввод а эл ем ен тов м а ссивов X(M) и Y(N) и вывод а преобра зова н н ого м а ссива Y испол ь зова т ь объект ы у пра вл ен ия Visual Basic. П ор ядокв ы п ол н е н ия задан ия 1. Запу ст ит ь прил ож ен ие Visual Basic и созд а т ь н овый проект “У д а л ен ие эл ем ен тов в м а ссиве”. 2. Р а зра бота т ь пол ь зова т ел ь ский ин т ерф ейс, ра спол ож ив н а ф орм е с пом ощь ю пан ели эл емен т о в у правлен и я н еобход им ые д л я реа л иза ции проект а объект ы у пра вл ен ия. 3. Возм ож н ый ва риа н т ра зра бот а н н ой ф орм ы пол ь зова т ел я привед ен н иж е. 4. Д л я опред ел ен ия свойст в эл ем ен т ов у пра вл ен ия и обра ба т ыва ем ых событий сост а вит ь та бл ицу “О бъект ы, свойст ва и событ ия эл ем ен тов у пра вл ен ия”, а н а л огичн о пред ыд у щим за д а н иям . 5. Зад а т ь д опол н ит ел ь н ые свойст ва ф орм е и объект а м у пра вл ен ия, ра спол ож ен н ым н а н ей (а н а л огичн о та бл . 2).
75
6. В програ м м н ом код е пред у см от рет ь процед у ру ввод а д а н н ых через ст а н д а рт н ое окн о ввод а ин ф орм а ции InputBox. 7. П роа н а л изирова т ь програ м м н ый код , за писа н н ый в процед у ра х, привед ен н ых н иж е, и проком м ен тирова т ь су т ь описыва ем ых в н их д ейст вий. Option Explicit ' Д ан ы два масси ва Х и У. В У, н айт и SR и у мн о ж и т ь н а н его к аж ды йэл емен т , в Х н айт и мак с и ми н и вк л ючи т ь в к о н ецУ элемен т ы меж ду н и ми . Option Base 1 Dim x() As Integer Dim y() As Integer Dim M, N, i As Integer Dim max, min, k, l, sr, c, kol As Integer Private Sub Command1_Click() For i = 1 To M x(i) = InputBox("введите" & i & " элем ент", "В вод элем ента", "0") Next i End Sub Private Sub Command2_Click() For i = 1 To N y(i) = InputBox("введите" & i & " элем ент", "В вод элем ента", "0") Next i End Sub Private Sub Command3_Click() sr = 0
76 For i = 1 To N sr = sr + y(i) Next i sr = sr / N ' searching for max and min in X array max = x(1): k = 1 min = x(1): l = 1 For i = 1 To M If x(i) > max Then max = x(i) : k = i Next i For i = 1 To M If x(i) < min Then min = x(i) : l = i Next i If k > l Then c = k: k = l: l = c kol = l - k - 1 For i = 1 To N y(i) = y(i) * sr Next i ' inserting For i = 1 To kol y(N+i) = x(k + i) Next i N = N + kol End Sub
Private Sub Command4_Click() For i = 1 To M List1.AddItem x(i) Next i For i = 1 To N List2.AddItem y(i) Next i End Sub Private Sub Command5_Click() If Text1.Text = "" Then GoTo 10 If Text2.Text = "" Then GoTo 10 ReDim x(M) ReDim y(N + (M - 2)) 10 End Sub Private Sub Command6_Click() End End Sub
77 Private Sub Text1_Change() M = CInt(Text1.Text) End Sub Private Sub Text2_Change() N = CInt(Text2.Text) End Sub 8. П роверит ь коррект н ост ь ра бот ы прил ож ен ия и, при н еобход им ост и, испра вит ь ошибки. 9. С охра н ит ь в своей па пке ф орм у и проект соот вет ст вен н о под им ен а м и М ас с ивы .frm и М ас с ивы .Vbp. 10. Д л я реа л иза ции за д а н ий 15-20 в ка честве пом ощи м ож н о испол ь зова т ь т а бл . 15, в которой объясн яет ся су т ь н екот орых опера т оров и ф у н кций, прим ен яем ыхпри реа л иза ции проект ов. Т а бл ица 15 С пис ок операторов и ф у нкций , ис поль зу ем ы х в заданиях
Option Explicit (набираетс я в облас ти General)
Option Base 1
ReDim
InStr
Chr
Р а спол а га ет ся в м од у л е д о процед у р. П ри его испол ь зова н ии н еобход им о объявит ь явн о все перем ен н ые и м а ссивы с пом ощь ю Dim, Private. Е сл и он н е испол ь зу ет ся, т о все н еобъявл ен н ые перем ен н ые им еют т ип Variant. Е сл и ввод ит ь д а н н ый опера т орв н а ча л е ка ж д ого м од у л я с кл а виа т у ры, т о н у ж н о у ст а н овит ь ф л а ж ок Require variable Declaration на вкл а д ке Editor в окн е Option Tools/ Option И спол ь зу ет ся н а м од у л ь н ом у ровн е д л я объявл ен ия н иж н ей гра н ицы м а ссива , ра спол а га ет ся всегд а д о объявл ен ия м а ссивов и процед у р. И спол ь зу ет ся н а у ровн е процед у ры д л я переобъявл ен ия ра зм еров д ин а м ического м а ссива . Е сл и в м а ссив у ж е был и введ ен ы д а н н ые и их н у ж н о сохра н ит ь , т о испол ь зу ет ся кл ючевое сл ово Prezerve. Ф у н кция – возвра ща ет позицию вхож д ен ия од н ой ст роки вн у т ри д ру гой: Chr(KeyAscii) в ст роке sTemplate с первого сим вол а . Е сл и ст рока н е н а йд ен а в д ру гой, т о зн а чен ие ра вн о 0. С ра вн ен ие осн овыва ет ся н а д воичн ом пред ст а вл ен ии сим вол ов. Ф у н кция – возвра ща ет ст роковое зн а чен ие, сод ерж а щее сим вол , код кот орого у ка за н в ка чест ве а ргу м ен т а . В за д а н иях 16-21 а ргу м ен т KeyAscii – зн а чен ие сим вол а .
78 Л итерату ра 1. А н а н ь ев А .И . С а м оу чит ел ь Visual Basic 6.0 / А н а н ь ев А .И ., А .Ф . Ф ед оров. – С П б. БХ В – С а н кт -П ет ербу рг, 2000. – 624 с. 2. Бра у н К . Введ ен ие в Visual Basic д л я програ м м иста / К . Бра у н . – М . М ир, 1993. – 415 с. 3. Ва йл а н д Б. Visual Basic 6 / Б. Ва йл а н д . – М . “И н т ерэкспресс”, 2002. – 238 с. 4. К у зь м ен ко В.Г . Visual Basic 6. С а м оу чит ел ь / В.Г . К у зь м ен ко. – 2е изд . – М . О О О “Бин ом - П ресс”, 2003. – 432 с. 5. Microsoft Visual Basic 6.0 д л я проф ессион а л ов. Ш а г за ша гом . П ра кт. пособие. – М . И зд а -во Э К О М , 2002. – 720 с. 6. Н а гин а Е.К . Visual Basic. Т еория Ч а ст ь 1: у чеб.-м етод . П особие / Е.К . Н а гин а , В.А . И щен ко. – Ворон еж ,: ВГ У , 2004 – 75 с. 7. Эл ект рон н ый ка т а л ог н а у чн ой библ иот еки Ворон еж ского госу д а рст вен н ого у н иверситет а . – (http // www.lib. Vsu.Ru /). 8. С оциа л ь н ые и гу м а н ит а рн ые н а у ки. Э кон ом ика : библ иогр. ба за д а н н ых. 1986 – 2004 гг. / И Н И О Н Р А Н . – М ., 2005. – (CD. ROM). С О Д Е Р Ж АН И Е Зад а н ие 1. Р а зра ботка VB – прил ож ен ия “П риветст вие ст у д ен т а ”............... 4 Зад а н ие 2. Р а зра ботка VB – прил ож ен ия “П оиск ф игу ры”......................... 6 Зад а н ие 3. Р а зра ботка VB – прил ож ен ия “О пред ел ен ие возра ст а ”............. 8 Зад а н ие 4. Р а зра ботка VB – прил ож ен ия “Р ису н ок н а ф орм е”................... 10 Зад а н ие 5. Р а зра ботка VB – прил ож ен ия “П росм отрка ртин ок”............... 13 Зад а н ие 6. Р а зра ботка VB – прил ож ен ия “У д а ча ”...................................... 15 Зад а н ие 7. Р а зра ботка VB – прил ож ен ия “У пра вл ен ие шриф т а м и”........... 17 Зад а н ие 8. Р а зра ботка VB – прил ож ен ия “П очтовые н а кл ейки”............... 21 Зад а н ие 9. Р а зра ботка VB – прил ож ен ия “М ед ицин ска я ка рт а ”................ 25 Зад а н ие 10. Р а зра бот ка VB – прил ож ен ия “П ересчет ва л юты”.................. 31 Зад а н ие 12. Р а зра бот ка VB – прил ож ен ия "Р а счет вел ичин ы а м ортиза ции осн овн ыхф он д ов" ...................................................................... 39 Зад а н ие 14. Р а зра бот ка VB – прил ож ен ия “А н а л из резу л ь т а т ов экза м ен а цион н ой сессии”.......................................................... 51 Зад а н ие 15. Р а зра бот ка VB – прил ож ен ия “П реобра зова н ие...................... 57 д ву м ерн ого м а ссива (м а т рицы) в од н ом ерн ый м а ссив ........... 57 (посл ед ова т ел ь н ост ь )”............................................................... 57 Зад а н ие 16. Р а зра бот ка VB – прил ож ен ия “П оиск повторяющегося эл ем ен та в од н ом ерн ом м а ссиве A(M)”................................... 63 Зад а н ие 17. Р а зра бот ка VB – прил ож ен ия “П реобра зова н ие эл ем ен т ов од н ом ерн ого м а ссива A(M)”.................................................... 66
79 Зад а н ие 18. Р а зра бот ка VB – прил ож ен ия “И зм ен ен ие поряд ка сл ед ова н ия эл ем ен т ов в м а ссиве А (М ) н а обра т н ый с посл ед у ющим преобра зова н ием ка ж д ого эл ем ен т а м а ссива ”....................... 69 Зад а н ие 19. Р а зра бот ка VB – прил ож ен ия “У д а л ен ия эл ем ен т ов, ра спол ож ен н ыхм еж д у д ву м я м а ксим а л ь н ым и по зн а чен ию эл ем ен та м и м а ссива А (М )”...................................................... 71 Зад а н ие 20. Р а зра бот ка VB – прил ож ен ия “П реобра зова н ие эл ем ен т ов од н ом ерн ого м а ссива Y(N) пу т ем испол ь зова н ия эл ем ен тов д ру гого м а ссива X(M)”.............................................................. 74 Л итера т у ра ...................................................................................................... 78 С од ерж а н ие .................................................................................................... 78
А вт оры: И щен ко Ва л ен т ин а А л екса н д ровн а Н а гин а Ел ен а К он ста н тин овн а
Р ед а кт орБу н ин а Т .Д .