Графикалық әдістер мен процедуралар

230

Сабақтың тақырыбы: Графикалық әдістер мен процедуралар (2 сағат

Сабақтың мақсаты: VisualBasic те графикалық файлдарды қолдануға,  әдістерді пайдалана білуге, процедураларды жаза  үйрету.

Ә) есте сақтау, ойлау, шығармашылық қабілетін дамыту

Б) әдістердің атауын  сауатты жазуға, жоба құруда бағдарламаны дұрыс пайдалануға тәрбиелеу

Сабақтың түрі: дәстүрлі

Сабақтың типі: аралас

Сабақтың барысы:

І. Ұйымдастыру

ІІ. Өткен сабақты қорытындылау мақсатында сұрақтар қою:

  1. Қарапайым программалардың қатесін қалай тексеруге болады ?
  2. Қатені тексеру мен қадамдық әдіспен тексерудің қандай айырмашылықтары бар ?
  3. Программада қандай қателер болады ?
  4. Программада қатенің неше түрі болады ?

 

ІІІ. Жаңа сабақ

VisualBasic тілі графикалық файлдарды қолданудың 3 тәсілін ұсынады:

  • Кез келген графикалық редакторда салынған суреттердә және компьютердің жадында

сақталған графикалық файлдарды көшіріп немесе адресі бойынша сілтеме жасау арқылы пішінге PictureBox графикалық терезесіне файлдарды кірістіруімізге болады.

  • ToolBox құрал – саймандар тақтасынан Line(сызық) және Shape (фигура) басқару элементтерін кірістіру арқылы.
  • Пішін мен PictureBox нысандарына графикалық әдістер арқылы нүкте, сызық, төртбұрыш, шеңбер, эллипс, бұрыш, доғалар салуға болады. Графикалық пішіндерді салу үшін графикалық әдістер қолданып, процедура жазамыз.

Scale әдісі жаңа координаталарды ұсынады. Scale әдісін қолданғанда PictureBox пен пішін абсолютті координатаға ие болады, олардың өлшемі (ені мен биіктігі) арнайы тип өлшем бірлігіміен өлшенеді.

Scale әдісінің жазылуы

[нысанның аты] Scale (Х1, Ү1) – (Х2, Ү2)

 

 

                Scale әдісіндегі                                                                    Scale әдісіндегі жылжыған      

        координаталар жүйесі                                             нысанның координаталар жүйесі

 

Х1, Ү1 – нысанның сол жақ жоғары бұрышының координатасы, Х2, Ү2 – нысанның оң жақ төменгі бұрышының координатасы. Мысалы: Picture1.Scale(-10,5) – (10,5)

Pset әдісі нысанға нүкте салуға мүмкіндік береді, Pset әдісінің жазылуы

[нысанның аты]. Pset(Х, Ү) [, түсі]

Мұнда нысанның аты көрсетілмегендіктен Pset әдісі пішінге қолданылады, (Х, Ү) нысанға орналасатын нүктелер координатасы, түсі Long типімен кодталады.Егер түс берілмесе, ForeColor қасиеттер мәнімен сәйкестендіріледі, нысанның DrawWidth қасиеті арқылы нүктенің өлшемін өзгертуге болады. DrawWidth қасиетінің мәні бүтін сандар бола алады 1, 2, 3 үнсіз келісім бойынша 1 – ге тең.  Мысалы, Picture1. DrawWidth=2

 

Line әдісі нысанға түзу сызықтар және іші боялған немесе боялмаған төртбұрыштар салады.

Line әдісінің жазылуы:

[нысанның аты] .Line (Х1, Ү1)-(Х2, Ү2)   [ ,  түсі]  [,   белгі]

 

Мұнда бірінші төртбұрыш, екінші іші боялған төртбұрыш салынады. Егер В белгісі қолданса, төртбұрыштың іші болямаған, қасиетті автоматты түрде FillStyle=1 (transparent) қабылдайды. Егер бұл қасиетті өзгертетін болсақ, онда төртбұрыштың іші боялады, қасиеті

FillStyle=0 [,    ][,   белгі ] ,белгі болып түсі болмаса, үтірді алып тастауға болсайды, онда белгі түс ретінде қабылданады. Сызықтың немесе төртбұрыштың контурларының қалыңдығын DrawWidth қасиеті арқылы өзгертуге болады.

 

Белгі дегеніміз – B немесе  BF символдары.

Сircle әдісі нысанға шеңбер, доға, эллипс, сектор салу үшін Сircle әдісін қолданамыз.

Сircle әдісінің жазылуы:

[нысанның аты] Сircle (Х, Ү), радиус [, түсі ] [, 1 – ші бұрыш, 2 – ші бұрыш ]

[, сығу коэффиценті ]]]

 

Мұнда нысанның аты көрсетілмегендіктен пішінге Сircle әдісін қолданады., мұндағы (Х, Ү)- шеңбердің немесе эллипстің центрлік нүктесі, түсі Long саны бойынша кодталады, егер түс берілмесе ForeColor қасиетімен  сәйкестендіріледі, 1 – ші бұрыш, 2 – ші бұрыш дегеніміз – доға мен шеңбердің бастапқы және соңғы бұрыштары, өлшем бірліктері 0 – ден 2 – ге дейінгі интервалда радианмен өлшенеді.  Егер бұрыштың мәні 0 – ге тең емес және алодында минус таңбасы тұрса, онда доға емес сектор сызылады. Доға немесе сектор сызғанда қозғалыс сағат тіліне қарсы бағытта жүреді, сонымен бірге шеңбер немесе эллипс сызылғанда бұрыштар мәні жазылмайды.

Сығу коэффиценті  дегеніміз – ол таңба.

 

Егер берілген мән 1 – ден үлкен болса, онда вертикаль бойынша сыозылған эллипс сызылады, берілген мән 1 – ден кіші болса , горизонталь созылған эллипс сызылады, яғни созу дәрежесі сығу коэффицентімен анықталады. Сығу коэффиценті болмаса, онда шеңбер сызылады.

Түс беру

VisualBasic программасында 8 тұрақты сандар арқылы түс беруге болады.

Түсі Тұрақтылар Сандық мәні
Қара vbBlack 0
Қызыл vbRed 255
Жасыл vbGreen 65280
Сары vbYellow 65535
Көк vbBlue 16611680
Көкшіл күлгін vbMagneta 16611935
Ашық көк vbCyan 16666960
Ақ vbWhite 16666215

 

QBCOLOR функциясы арқылы түс беру

QBCOLOR функциясы 0 – ден 15 – ке дейінгі диапазонды қамтитын бүтін сандар С аргументінен тұрады. Берілген сандық мәнді түстер (сандық типті Long болатын) кодын қайтарады.

Мысалы: QBCOLOR (13) – Күлгін (vbMagneta)

 

Компьютердегі тәжірибелік жұмыс.

  1. Пішінге Command Button батырмасы мен PictureBox батырмасын кірістіріңдер, төмендегі процедураны теріңдер.

Private Sub Command1_Click()

Picture1.Scale(-15,15)-(15, -15)

Picture1.DrawWidth=15

Picture1.Pset(0, 0), vbRed

Picture1.Pset(-8,8)

Picture1.Pset(8, -8)

End Sub

 

  1. Private Sub Command1_Click()

Picture1.Scale(-15,15)-(15, -15)

Picture1.DrawWidth=3

Picture1.Line (-10, 10) – (10, -10)

Picture1.Line (0, 0) – (10, 10),    , B

Picture1.FillStyle=0

Picture1.FillColor=vbGreen

Picture1.Line (-8, -5) – (8, — 8), vbWhite, B

End Sub

 

  1. Private Sub Command1_Click()

Picture1.BackColor=vbWhite

Picture1.DrawWidth=3

Picture1.Scale (-50, 50) – (50, -50)

Picture1.Circle (-30, 30) , 15, vbRed

Picture1.FillStyle=0

Picture1.FillColor=vbGreen

Picture1.Circle (-30, 0) , 13, vbRed

Picture1.Circle(-30, -30), 15, vbBlack,  ,  , 2.

Picture1.Circle(30, 30), 15, vbYellow,  ,  , 0.5

Picture1.Circle (30, 5) , 10, vbBcyan, 2, 5

Picture1.FillStyle=1

Picture1.Circle (30, -30) , 15, vbBcyan,-1, -5

End Sub

Бақылау сұрақтары:

  1. VisualBasic тілі графикалық файлдарды қолданудың қанша тәсілін ұсынады ?
  2. Графикалық әдістің графикалық файлдардан қандай айырмашылығы бар ?
  3. PictureBox және Image элементтерінің айырмашылығы неде ?
  4. Қандай графикалық әдістерді білесіңдер ?
  5. Графиканың процедурасын жазғанда қандай функциялар қолданылады ?

 

Өзіңді тексер !

  1. Line әдісінің қызметі қандай ?

А) нысанғы түзу сызықтар және іші боялған немесе  боялмаған төртбұрыштар салады.

Ә) берілген елементтер файлға үтір арқылы тізбектеліп жазылады

Б) тырнақша белгісіне алынып жазылады

В) print әдісімен жазылған мәліметтер

Г) элементтер “  ; ”  немесе  “  : “ белгісімен бөлінеді

 

  1. Белгі дегеніміз —

А)  жарлықтар

Ә) мәтіндер

Б) файлдар

В) b немесе  bf символдары

Г)  сандар

 

  1. Нысанға шеңбер, доға, эллипс, сектор салу үшін қандай әдісті қолданамыз ?

А) Сircle әдісі

Ә) Line әдісі

Б) ForeColor әдісі

В) DrawWidth әдісі

Г) BackColor әдісі

 

  1. Сығу коэффиценті дегеніміз —

А)  теріс таңба

Ә) оң таңба

Б) мәліметтер

В) файлдар

Г) жарлықтар

 

  1. VisualBasic тілі графикалық файлдарды қолданудың неше тәсілін ұсынады ?

А)  4

Ә) 2

Б) 3

В) 5

Г) 1

 

Үйге тапсырма:

  1. § 19 тақырыптың теориялық түсінігін айту.
  2. Графикалық әдістерді қолданып, үйдің суретін салу.

 

Бағалау.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сабақтың тақырыбы: Қадамдап бөлу әдісі

Сабақтың мақсаты: оқушыларға VisualBasic тілінде үлкен және күрделі процедура  кезінде кездесетін қатені түзетуді үйрету

Дамытушылығы: Оқушының әрбір сабаққа ынтасы мен қабілетін біріктіріп,                                                   пәнге деген қызығушылығын арттыру.

Тәрбиелігі: Әр оқушыны іскерлікке, нақтылыққа, ынтымақтылыққа  тәрбиелеу.

Сабақтың түрі: дәстүрлі

Сабақтың типі: жаңа білім

Сабақтың барысы:

І. Ұйымдастыру

ІІ. Жаңа сабақ

 

VisualBasic тілінде үлкен және күрделі процедурасы бар жоба құрғанда, жоба қатесіз болуы мүмкін емес. Сондықтан VisualBasic тілі қадам арқылы қатені тексеру тәсілін ұсынады. Қатені тексеру 4 кезеңнен тұрады:

  1. Ақиқатты қателікке тексеру
  2. Қатені іздеу
  3. Қатенің себебін іздеу
  4. Қатені түзету.

 

Программада қатенің 2 түрі болады: синтаксистік, логикалық. Егер VisualBasic тілін қолдансақ, осы қателер кездесу мүмкін:

 

Жоба: «Санның орташа арифметикалық ортасын табу»

  1. Жобаны «Қатені іздеу» деген атпен сақтаймыз.
  2. Пішінге бұйрықтық батырма CommandButton, екі мәтіндік TextBox және жазу Label батырмаларын енгіземіз.
  3. Пішінге frtцикл, cmdцикл, txtсан,  txtорташа деп батырмаларының Name қасиеттеріне жазыңдар.
  4. Бірінші мәтіндік батырмаға (txtсан), Multiline қасиетіне True мәнін, ScrollBars қасиетіне – 2 (Vertical ) мәтін беріңдер.
  5. Бұйрықтық батырманың Name қасиетіне «Енгізуді баста» деп жазыңдар. Бірінші жазу батырмасына «Енгізілетін сандар», екінші жазу батырмасына «Орташа мән» деп жазыңдар.

Төмендегі процедураны теріңдер:

Private Sub cmdЦикл _Click()

Dim N As Integer

Dim kos as single, or As Single

Dim P As String

Txtсан.text=” “

Kos=0: N=0

P=InputBox(“санды енгізгеннен кейін ‘OK’ батырмасын шертіңдер, енгізуді аяқтағанда ‘Cancel’  батырмасын шертіңдер, кезекті санды енгізу)

Do until P=” “ ‘ “Cancel”  батырмасын басқанша цикл орындала береді.

N=N+1

Txtсан.txt=Txt.сан.text+P+” “Kos=kos+Val(P)

P=InputBox (“санды енгізгеннен кейін ’OK’ батырмасын шертіңдер, енгізуді аяқтағанда ‘Cancel’ батырмасын шертіңдер, “кезекті санды енгізу”)

Loop

If N=0 Then

MsgBox “ ”

Else

Or=kos/N

Txtорташа.Text=Str(or)

End If

EndSub

 

Программаға арнайы қате енгіземіз:

 

  • Do until P=” ” жолды Do untile P=” “ деп өзгертеміз.
  • Экранда диалогтық терезе пайда болады.
  • Егер қатені түзету керек болса, ОК батырмасын шертеміз, қате түсініксіз болса, Анықтама батырмасын немесе F1 батырмасын шертіңдер.
  • Қатені түзетіңдер. Бұл қате ішкі оқиғада мысалы файлдың аты дұрыс көрсетілмегендіктен болады.
  • Loop сөзін алып тастаңдар, қатенің хабарламасы шығады.
  • Қатені тексеріп, программаның орындалуын көріңдер. Ол үшін F5 батырмасын шертіңдер.
  • End if сөзін алып тастаңдар. Қатені хабарлау терезесі пайда болады.
  • Қатені түзетіңдер.

 

Осындай қателердің күрделісі логикалық қате. Логикалық қате алгоритмнің дұрыс құрылмағандығынан немесе енгізілген параметрдің дұрыс берілмегендігінен болады.

 

Қарапайым программалардың қатесін «қадамдық әдіс» арқылы тексеруге болады.

 

Тапсырма:

 

  • N=N+1 жолын ұмытып кеткендей программадан алып тастаңдар, программаны іске қосыңдар да, үш сан енгізіңдер, Cancel батырмасын шертіңдер. Жүйе қатені хабарлайды.
  • Debug мәзірінен , Step Into немесе F8 батырмасын шерту арқылы программаны іске қосыңдар.
  • Жоба бірінші жолды сары түспен көрсетеді.
  • Private Sub Command1_Click()
  • Программадағы айнымалылардың мәні неге тең екендігін көру үшін тінтуірді айнымалыға апарсаңдар болғаны
  • Программаның F8 батырмасы арқылы іске қосыңдар.
  • P=InputBox (“санды енгізгеннен кейін ’OK’ батырмасын шертіңдер, енгізуді аяқтағанда ‘Cancel’ батырмасын шертіңдер, “кезекті санды енгізу”)ерекшеленеді, F8 батырмасын шертіңдер.
  • Экранда санды енгізу терезесі пайда болады. «10» санын енгізіп ОК батырмасын шертіңдер.
  • F8 батырмасын шертіп, P айнымалысының мәнін тексеріңдер.
  • Р айнымалысына 10 – ды көрсету керек.
  • P=InputBox (“санды енгізгеннен кейін ’OK’ батырмасын шертіңдер, енгізуді аяқтағанда ‘Cancel’ батырмасын шертіңдер, “кезекті санды енгізу”)ерекшеленгенше , F8 батырмасын шерте беріңдер.
  • Kos айнымалысын тексеріңдер, 10 – ға тең болу керек.
  • F8 батырмасын шертіңдер, нәтижесінде Санды енгізу терезесі пайда болады, Cancel батырмасын шертіңдер, Loop жолы белгіленеді.
  • F8 батырмасын шертіңдер.
  • «Do until P=” “ ‘ “Cancel” батырмасын басқанша цикл орындала береді.» жолы ерекшеленеді, осы жолды өзгертіңдер. Do until P=” “ ‘ “Cancel”   батырмасын басқанда цикл тоқтатылады.
  • F8 батырмасын шертіңдер.
  • If N=0 жолы ерекшеленеді, N=0 екенін тексереміз, келесі F8 басқанда «ешқандай сан енгізілген жоқ» деген хабарлама шығады.
  • F8 батырмасын шертеміз, End If келесі EndSub жолдары ерекшеленеді.
  • Қатені тексереміз, мүмкін программада кідіріс болуы.
  • Онда Do until P=” “ жолын Do жолына ауыстырамыз.
  • Программаны іске қосыңдар, санды енгізіп Cancel батырмасын шертіңдер, тағы да осынықайталаңдар, программада кідіріс пайда болады, Ctrl +Break батырмасы арқылы программаның орындалуын үзіңдер. Осыдан кейін Loop жолы ерекшеленеді. Программада тағы да қадамдық тексеру пайдалансақ, онда Loop тан кейінгі жолдың ерекшеленгенін көреміз.

 

Бақылау сұрақтары:

  1. Қарапайым программалардың қатесін қалай тексеруге болады ?
  2. Қатені тексеру мен қадамдық әдіспен тексерудің қандай айырмашылықтары бар ?
  3. Программада қандай қателер болады ?
  4. Программада қатенің неше түрі болады ?

 

Үйге тапсырма: теориялық түсінікке дайындалу

Бағалау.

 

 

 

 

 

 

 

 

 

 

Жоба: «Санның орташа арифметикалық ортасын табу»

 

  1. Жобаны «Қатені іздеу» деген атпен сақтаймыз.
  2. Пішінге бұйрықтық батырма CommandButton, екі мәтіндік TextBox және жазу Label батырмаларын енгіземіз.
  3. Пішінге frtцикл, cmdцикл, txtсан,  txtорташа деп батырмаларының Name қасиеттеріне жазыңдар.
  4. Бірінші мәтіндік батырмаға (txtсан), Multiline қасиетіне True мәнін, ScrollBars қасиетіне – 2 (Vertical ) мәтін беріңдер.
  5. Бұйрықтық батырманың Name қасиетіне «Енгізуді баста» деп жазыңдар. Бірінші жазу батырмасына «Енгізілетін сандар», екінші жазу батырмасына «Орташа мән» деп жазыңдар.

Төмендегі процедураны теріңдер:

Private Sub cmdЦикл _Click()

Dim N As Integer

Dim kos as single, or As Single

Dim P As String

Txtсан.text=” “

Kos=0: N=0

P=InputBox(“санды енгізгеннен кейін ‘OK’ батырмасын шертіңдер, енгізуді аяқтағанда ‘Cancel’  батырмасын шертіңдер, кезекті санды енгізу)

Do until P=” “ ‘ “Cancel”  батырмасын басқанша цикл орындала береді.

N=N+1

Txtсан.txt=Txt.сан.text+P+” “Kos=kos+Val(P)

P=InputBox (“санды енгізгеннен кейін ’OK’ батырмасын шертіңдер, енгізуді аяқтағанда ‘Cancel’ батырмасын шертіңдер, “кезекті санды енгізу”)

Loop

If N=0 Then

MsgBox “ ”

Else

Or=kos/N

Txtорташа.Text=Str(or)

End If

EndSub

 

Программаға арнайы қате енгіземіз:

 

  • Do until P=” ” жолды Do untile P=” “ деп өзгертеміз.
  • Экранда диалогтық терезе пайда болады.
  • Егер қатені түзету керек болса, ОК батырмасын шертеміз, қате түсініксіз болса, Анықтама батырмасын немесе F1 батырмасын шертіңдер.
  • Қатені түзетіңдер. Бұл қате ішкі оқиғада мысалы файлдың аты дұрыс көрсетілмегендіктен болады.
  • Loop сөзін алып тастаңдар, қатенің хабарламасы шығады.
  • Қатені тексеріп, программаның орындалуын көріңдер. Ол үшін F5 батырмасын шертіңдер.
  • End if сөзін алып тастаңдар. Қатені хабарлау терезесі пайда болады.
  • Қатені түзетіңдер.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Қарапайым программалардың қатесін «қадамдық әдіс» арқылы тексеруге болады.

 

Тапсырма:

 

  • N=N+1 жолын ұмытып кеткендей программадан алып тастаңдар, программаны іске қосыңдар да, үш сан енгізіңдер, Cancel батырмасын шертіңдер. Жүйе қатені хабарлайды.
  • Debug мәзірінен , Step Into немесе F8 батырмасын шерту арқылы программаны іске қосыңдар.
  • Жоба бірінші жолды сары түспен көрсетеді.
  • Private Sub Command1_Click()
  • Программадағы айнымалылардың мәні неге тең екендігін көру үшін тінтуірді айнымалыға апарсаңдар болғаны
  • Программаның F8 батырмасы арқылы іске қосыңдар.
  • P=InputBox (“санды енгізгеннен кейін ’OK’ батырмасын шертіңдер, енгізуді аяқтағанда ‘Cancel’ батырмасын шертіңдер, “кезекті санды енгізу”)ерекшеленеді, F8 батырмасын шертіңдер.
  • Экранда санды енгізу терезесі пайда болады. «10» санын енгізіп ОК батырмасын шертіңдер.
  • F8 батырмасын шертіп, P айнымалысының мәнін тексеріңдер.
  • Р айнымалысына 10 – ды көрсету керек.
  • P=InputBox (“санды енгізгеннен кейін ’OK’ батырмасын шертіңдер, енгізуді аяқтағанда ‘Cancel’ батырмасын шертіңдер, “кезекті санды енгізу”)ерекшеленгенше , F8 батырмасын шерте беріңдер.
  • Kos айнымалысын тексеріңдер, 10 – ға тең болу керек.
  • F8 батырмасын шертіңдер, нәтижесінде Санды енгізу терезесі пайда болады, Cancel батырмасын шертіңдер, Loop жолы белгіленеді.
  • F8 батырмасын шертіңдер.
  • «Do until P=” “ ‘ “Cancel” батырмасын басқанша цикл орындала береді.» жолы ерекшеленеді, осы жолды өзгертіңдер. Do until P=” “ ‘ “Cancel”   батырмасын басқанда цикл тоқтатылады.
  • F8 батырмасын шертіңдер.
  • If N=0 жолы ерекшеленеді, N=0 екенін тексереміз, келесі F8 басқанда «ешқандай сан енгізілген жоқ» деген хабарлама шығады.
  • F8 батырмасын шертеміз, End If келесі EndSub жолдары ерекшеленеді.
  • Қатені тексереміз, мүмкін программада кідіріс болуы.
  • Онда Do until P=” “ жолын Do жолына ауыстырамыз.
  • Программаны іске қосыңдар, санды енгізіп Cancel батырмасын шертіңдер, тағы да осынықайталаңдар, программада кідіріс пайда болады, Ctrl +Break батырмасы арқылы программаның орындалуын үзіңдер. Осыдан кейін Loop жолы ерекшеленеді. Программада тағы да қадамдық тексеру пайдалансақ, онда Loop тан кейінгі жолдың ерекшеленгенін көреміз.