Практикалы? ж?мыс № 1
Та?ырыбы: Т?белеріні? координаталары бойынша ?шб?рыш шы?аратын ?осымша жасау
Ма?саты: Visual Basic ортасыны? графиктік компоненттерімен танысу
Теориялы? ма?л?мат:
Line (сызы?) компоненті – т?зу сызы? салу ?шін ?олданылатын компонент
Оны? негізгі ?асиеттері:
BolderColor – сызы?ты? т?сін орнату
BolderStyle – сызы? стилін орнату
BolderWidth — сызы? ?алы?ды?ын орнату
DrawMode – сызы? сызу ?дістерін орнату
Shape (Фигура) компоненті – форма?а геометриялы? фигуралар салу ?шін ?олданылады.
Shape объектісіні? негізгі ?асиеттері:
BolderColor – фигура сызы?ыны? т?сін орнату
BolderStyle – фигура сызы?ыны? стилін орнату
BolderWidth — фигура сызы?ыны? ?алы?ды?ын орнату
DrawMode – фигура сызы?ыны? сызы? сызу ?дістерін орнату
FillColor – фигура ішін бояу
FillStyle – бояу стилін орнату
Shape – фигуралар орнату (0-Rectangle, 1-Square, 2-Oval, 3-Circle, 4-Rounded Rectangle, 5-Rounded Rectangle)
PictureBox (Бейне-?орап) компоненті форма?а графикалы? объектілерді кірістіру ?шін ?олданылады. PictureBox объектісіні? графикалы? ?рісіне ?р т?рлі типті графикалы? файлдар мен текстік фрагменттерді, ішіне геометриялы? фигураларды салу?а ж?не бас?а да графикалы? объектілерді кіргізуге болады.
Оны? негізгі ?асиеттері:
AutoSize – графикалы? ?ріс ?лшемдерін кірістірілген элемент ?лшеміне ша?тап ?згерту
Picture – кірістірілген графикалы? файл жолы
Image – ?осымша орындалып жат?анда бір ?рістен екінші ?ріске сурет к?шіру
ImageBox (Сурет-?орап) компоненті графикалы? ?рісті? ?арапайым т?рі болып табылады. PictureBox компонентінен айырмашылы?ы сурет объектісіні? ішіне бас?а объектілер кірістіре алмайды.
Оны? негізгі ?асиеттері:
Picture – кірістірілетін файл жолы
Stretch – текстік объектілерді? AutoSize ?асиетіне ??сайды, егер м?ні True болса, онда сурет объектіні? ?лшемдеріне ша? кішірейеді немесе ?лкейеді, егер False болса, онда объект ?лшемдері сурет ?лшемдеріне ша? ?згереді.
Тапсырманы? орындалуы
Форманы? ScaleMode ?асиетіне Pixel м?нін, Caption ?асиетіне “?шб?рыш шы?ару” м?нін жазы?ыз
Форма?а Picture1 объектісін т?сіріп, BackColor ?асиетіне а? т?с орнаты?ыз.
Форма?а ?шб?рышты? т?белеріні? координаталарын енгізу ?шін ?ызмет ететін Text1, Text2, Text3, Text4, Text5, Text6 объектілерін т?сіріп, Text ?асиеттерін тазала?ыз. Оларды? жанына т?сініктеме ретінде ?ызмет ететін Label1, Label2, Label3, Label4, Label5, Label6 объектілерін т?сіріп, Caption ?асиеттеріне ретімен Х1=, Y1=, X2=, Y2=, X3=, Y3= м?ндерін жазы?ыз.
Форма?а Command1 объектісін т?сіріп, Caption ?асиетіне ОК деп жазы?ыз.
Command1_Click() процедурасына ?тіп, ?шб?рыш шы?ару процедурасын жазы?ыз.
Private Sub Command1_Click()
‘ координаталарды меншіктеу
X1 = Val(Text1.Text)
Y1 = Val(Text2.Text)
X2 = Val(Text3.Text)
Y2 = Val(Text4.Text)
X3 = Val(Text5.Text)
Y3 = Val(Text6.Text)
‘сетка шы?ару
Picture1.Cls
Picture1.DrawWidth = 1
For k = 10 To Picture1.Width Step 10
Picture1.Line (k, 0)-(k, Picture1.Height)
Next k
For i = 10 To Picture1.Height Step 10
Picture1.Line (0, i)-(Picture1.Width, i)
Next i
‘?шб?рышты шы?ару
Picture1.DrawWidth = 3
Picture1.Line (X1, Y1)-(X2, Y2), vbRed
Picture1.Line (X2, Y2)-(X3, Y3), vbRed
Picture1.Line -(X1, Y1), vbRed
‘?шб?рышты? ауданын есептеп шы?ару
a = Sqr((X2 — X1) ^ 2 + (Y2 — Y1) ^ 2)
b = Sqr((X3 — X2) ^ 2 + (Y3 — Y2) ^ 2)
c = Sqr((X1 — X3) ^ 2 + (Y1 — Y3) ^ 2)
p = (a + b + c) / 2
s = Sqr(p * (p — a) * (p — b) * (p — c))
MsgBox «S=» + Str(s),, «Аудан»
End Sub
Практикалы? ж?мыс № 2
Та?ырыбы: Массив элементтерімен ж?мыс: Массивтермен танысу
Теориялы? ма?л?мат:
Элементтеріні? саны алдын ала бір типті индексті айнымалыларды? жиынты?ын МАССИВ деп атайды. Массивті? типі программада к?рделі болып келеді. Массивтерді программада ?олдану ?шін олар?а белгілі бір ат беріледі.
Массивті сипаттау ?шін Dim к?зінен кейін массив атын жазып, жа?ша ішінде массивке компьютерді? жадыдан ?анша орын б?лінетінін ж?не AS ?ызметші с?зінен кейін массив элементіні? типін к?рсетіп кету керек.
Массивті процедураны? басында немесе код терезесіні? General б?лігінде сипаттап кетуге болады. Егер массив процедураны? басында сипатталса, ол тек сол процедураны? орындалуында ?ана ж?мыс істей алады. Егер General б?лігінде сипатталса, онда массив проектіні? барлы? процедураларында м?ндерін жо?алтпай ж?мыс істейді.
Тапсырманы? орындалуы:
Форманы? Caption ?асиетіне “Массивтермен ж?мыс” м?нін жазы?ыз, шрифті ?шемін 12 деп белгіле?із.
Форма?а Command1 объектісін т?сіріп, Caption ?асиетіне Енгізу деп жазы?ыз.
Код терезесіні? General б?лігіне ?тіп, айнымалыларды сипатта?ыз:
Dim A(100), n As Integer
Command1_Click() процедурасына ?тіп, массив элементтерін енгізу процедурасын жазы?ыз.
Private Sub Command1_Click()
N=InputBox(“Массив элементтері санын енгіз (1-100 аралы?ында):”)
For k=1 to n
A(k)=InputBox(“Массивті?”+Str(k)+ “элементін енгіз”)
Next k
End Sub
Форма?а Command2 объектісін т?сіріп, Caption ?асиетіне Шы?ару деп жазы?ыз. Форма?а н?тиже шы?ару ?шін ?ызмет ат?аратын List1 объектісін т?сірі?із.
Command2_Click() процедурасына ?тіп, массив элементтерін шы?ару процедурасын жазы?ыз.
Private Sub Command2_Click()
List1.Clear
For k=1 to n
List1.AddItem A(k)
Next k
End Sub
Форма?а Command3 объектісін т?сіріп, Caption ?асиетіне Теріс элементтер саны деп жазы?ыз. Форма?а н?тиже шы?ару ?шін ?ызмет ат?аратын List2 объектісін т?сірі?із.
Command3_Click() процедурасына ?тіп, А массивіні? теріс элементтеріні? ?осындысын есептейтін процедураны жазы?ыз.
Private Sub Command3_Click()
S = 0
For k = 1 To n
If A(k) < 0 Then S = S + A(k)
Next k
List2.Clear
List2.AddItem «S=» + Str(S)
End Sub
Форма?а Command4 объектісін т?сіріп, Caption ?асиетіне О? элементтер ?осындысы деп жазы?ыз.
Command4_Click() процедурасына ?тіп, А массивіні? о? элементтеріні? ?осындысын есептейтін процедураны жазы?ыз.
Private Sub Command4_Click()
S = 0
For k = 1 To n
If A(k) > 0 Then S = S + A(k)
Next k
List2.Clear
List2.AddItem «S=» + Str(S)
End Sub
Тапсырма: ?айталану командаларыны? к?мегімен белгілі бір интервал
арасында жат?ан барлы? жай сандарды шы?аратын ?осымша жасайы?
?осымша жасау ?шін орындалатын ?рекеттер:
1. Форма?а сандар интервалын ендіру ?шін Text1, Text2 компоненттерін орналастырып, оларды? Caption ?асиетіні? м?ндерін тазалаймыз.
2. Форма?а т?сініктемелер жазу ?шін Label1, Label2, Label3 компоненттерін орналастырып, оларды? да ?асиеттеріне «интервал енгіз», «X= «, «Y=» м?ндерін жазамыз.
3. Н?тиже шы?ару ?шін List1 компонентін салып, ?асиеті м?нін тазалаймыз.
Н?тижесінде т?мендегідей форма аламыз:
4. Есептеу процедурасын ша?ыру ?шін Command1 компонентін т?сіріп. ?асиетіне «Шы?ару» деп жазамыз.
5. Осы компонентті екі рет т?ртіп Command1_Clickпроцедурасыны? денесін т?мендегі ба?дарламамамен толтырамыз.
Жоба т?мендегідей болып к?рінеді:
Private Sub Command1_Click()
X = Val(Text1.Text): Y = Val(Text2.Text)
List1.AddItem “жай сандар:”
For K = X To Y
P = 0
For I = 2 To K / 2
If K Mod I = 0 Then P = 1
Next I
If P = 0 And K <> 1 Then List1.AddItem K
Next K
End Sub
6. ?осымшаны іске ?осып енгізу ?рістеріне интервалды? т?менгі ж?не жо?ар?ы шекараларын жазып, «Шы?ару» батырмасы басыл?анда н?тиже т?мендегідей болып к?рінеді.
?зі?із ?ала?ан шекара м?ндерін енгізіп, сол м?ндергу с?йкес тізімдер алуы?ыз?а
болады.