№3-комиссаров indd



Pdf көрінісі
бет108/136
Дата02.04.2024
өлшемі3.33 Mb.
#497356
1   ...   104   105   106   107   108   109   110   111   ...   136
Наука и жизнь Казахстана №3 (59) 2018

Ключевые слова: алгоритмизация, программирование, методическая система, обучение программированию, ме-
тодика обучения программированию.
Summary. Usually, when studying programming, the teacher evaluates the correctness of the solution of the problem by the 
student. At the same time, he/she studies the decision code, and, possibly, checks the correctness of the program on 2-3 test sets 
of data. With this approach, as a rule the overall operability of the program is checked. However, it is obvious that it is enough 
just to miss the mistakes made by the student in the task's repetition. In addition, there are situations when the code written by 
the student is quite complex due to the complexity of the problem or because of the features of the solution, the algorithm chosen 
by the student, and in that case it is not immediately possible to understand and evaluate it.
Keywords: algorithmization, programming, methodical system, programming training, methodology of teaching 
programming.
«Алгоритмдеу мен программалаудан» күрделі есептер шығаруға үйрету барысында түрлі 
проблемалық жағдаяттар орын алуы мүмкін. Мысалы, мұғалім дұрыс шешім алынбаған есепті 
дұрысқа санап жіберуі мүмкін. Бұл жағдайда дұрыс шешім алынбаған есеп деп отырғанымыз, 
бұл жағдайда кейбір «шектік» жағдайлар есепке алынбай қалуы мүмкін немесе шешім қағидалы 
түрде дұрыс болмаса да, бірақ мұғалім енгізген тестілік мәндерге дұрыс жауап қайтаруы мүмкін. 
Тағы да бір мысал, дұрыс шешім кейбір жағдайда қате ретінде қабылдануы мүмкін. Жоғарыда 
айтып өткеніміздей, оқушы жазған программа коды әрқашан дұрыс қабылданбайды;
Бұл мәселені шешу үшін тестілеу мәндерінің толық, бүтін жүйесін жасап, дайындап қоюға 
болады, оны өз кезегінде оқушы өз программасының кодын тексеруге қолданады. Алайда қолмен 
тестілеу көп жұмыс күшін талап етеді және уақыт алады. Осы мақсатта автоматты тексерудің 
арнайы жүйелері бар, олар информатикадан олимпиада өткізу барысында кеңінен қолданылады. 
Жұмыс істеу реті мынадай: оқушы өз шешімін тестулеуге жібереді, жүйе оны компиляция жа-
сап, оқушы программасын бірнеше тестілеуге жібереді. Жүйе жауапты салыстырып, талдағаннан 
кейін, оқушы программасынна дұрыс жауапты көрсетеді. Егер барлық тестілеулер сәтті өткен 
болса, онда оқушыға жауаптың дұрыстығы туралы хабарлама беріледі, қате табылған жағдайда 
оқушыға сәйкес хабарлама және беріледі. 
Автоматты тестілеу бағдарламасын оқушыларды программалауға үйрету барысында қолдану 
келесі жағдайларға мүмкіндік береді: 
- Мұғалімді программа жауабын қолмен тестілеу қажеттілігінен арылтады, қайта мұғалім ол 
уақытын оқушыларға көмектесуге жұмсай алады;
- Шешімнің дұрыстығын тексеріп, есептің дұрыс немесе бұрыстығы туралы хабарлама алу.
Алдымен автоматты тестілеу жүйесі қандай қателер таба алатындығы туралы нақтылап алу 
керек. Кең таралған қателерге төмендегілер жатады:


232
- синтаксистік (компиляция жүргізу кезінде табылатын қателіктер);
- тестілеу кезіндегі дұрыс емес жауап;
- уақыт бойынша программа жұмысының шектеуінен асып кету; 
- қолданылатын жадының шегінен асып кету;
- орындау уақытының қателері (мұндай қате мысалдарына санды нөлге бөлу, массивтің шегі-
нен асып кету және т.б. қателер жатады);
- нәтижені шығарудың дұрыс емес форматы.
Осындай қателер туралы ақпаратты ала отырып, оқушы өзі жазған программаның дұрыс жұ-
мыс істемеу себептерін іздеу қажеттілігімен кезігеді. Өз программасының қатесін табу күрделі 
әрекет, дайындықсыз келген оқушы үшін бұл мүлдем қиынға соғуы мүмкін. Сондықтан, мақ-
сатты түрде мұғалім оқушы программаны дұрыс жұмыс жасамай тұрғандығын тексеру үшін те-
стілеу үлгілерін анықтап, бере алатындай болуы керек. Егер оқушы тестілеу мәндерін алатын 
болса, онда ол өз қатесін оңай тауып алады. Ол үшін оқушы программаны жүктеуге жіберіп, оны 
қадам бойынша тексеріп шығады. Егер оқушыға тестілеу мәндері берілмесе, онда оқушы өз қа-
тесін тапқанға дейін түрлі мәндер беріп көруі керек. Басқа сөзбен айтқанда, оқушы өз шешіміне 
сыни тұрғыдан қарайтын болады, өз қатесімен жұмыс жасауды үйренеді.
Бүгінде автоматты тестілеу жүйесінің әр түрі кездеседі, оның ішінде Интернет арқылы жұ-
мыс жасайтындары да бар. Олардың кейбірлеріне тоқталып өтелік:
- Олимпиадалық информатика (http://www.olympiads.ru); [140]
- ACM NEERC виртуалды жарыстар сервері (http://neerc.ifmo.ru/online/); [211]
- Test-the-Best.by (http://www.test-the-best.ru/); [213]
- Львов атындағы Ұлттық университеттің есептер архиві, Украина (http://acm.lviv.ua/); [209]
- Олимпиадалық жаттықтырушы серверлер (http://olimp.iis.nsk.su/); [81]
- Programming Contest Problems Archive! http://www.inf.bme.hu/ contests/tasks/index.html); [212]
Алайда келтірілген тестілеу жүйелерінің бірнеше кемшіліктері бар, осы кемшіліктер оларды 
оқу үдерісінде қолдануды қиындатады. 
Біріншіден, мұндай жүйелер өзара үйлесімсіз, бір жүйеге дайындалған есепті екінші жүйеде 
қолдануды мүмкін емес етеді. Екіншіден, автоматты тестілеу жүйелері оқу үдерісінде қолдануға 
бағытталмаған, себебі олар ең алдымен олимпиада өткізу мен шешімнің дұрыстығын тексеруге 
ғана арналған, бұл олардың қолдану ерекшеліктерін шектейді.
Сондықтан оларды оқу үдерісіне сәтті ендіру үшін келесі қосымша мүмкіндіктерді қосу қажет 
болады:
- жүйедегі есептердің құрылымының бар болуы;
- нақты оқушы немесе топ үшін міндетті және қосымша есептердің тізімін анықтау мүмкін-
дігі;
- оқушыға берілетін қате туралы ақпаратты басқару мүмкіндігі;
-есеп шығару бойынша статистиканы енгізу;
- жүйеге оқытушының есептер мен тесттерлі жылдам қосу немесе редактрлеу.
Осыған байланысты ұйым үшін информатикадан күрделі есептерді шешуге үйретуді ұй-
ымдастыру үшін жоғарыда аталған қызметтерді атқаратын есептермен жұмыс істеуге арналған 
программалық жүйе құруға болады. Есептермен жұмыс істеуге арналған программалық жүйе 
оқушылардың өз бетінше жұмыс істеу деңгейін арттырып, мұғалім уақытын босатып, оқушылар-
мен жеке жасауға уақыты артады. 
Есептермен жұмыс істеуге арналған программалық жүйені кез келген программалау тілінде 
жазылған программаны тестілеу үдерісін автоматтандырады, ол үшін командалық қатардың ком-
пиляторы консолдық қосымшаларды құру мүмкіндігі қарастырылады. 
Жүйе информатикадан сабақ өткізу барысында, жеке оқытуда, олимпиадалар өткізуде қолда-
нылады. Жүйе белгілі бір тәртіппен де жұмыс істейді: клиенттік қосымша шешімді серверге жі-
береді, онда тестілеу жұмыстары жүреді. Тестілеу жұмысы оқушы компьютерінде орындалады. 
Есептермен жұмыс істеуге арналған программалық жүйе жасалу барысында төмендегі талап-
тар орындалуы керек:
- 2 нұсқаның бар болуы: желілік және жергілікті жүйе;
- Тесттерді орталықтандырып сақтау;


233
- Есептерді топтауды логикалық тұрғыдан ұйымдастыру: бір есеп бірнеше топта және турнир-
де бола беруі мүмкін;
- Топтарды, есептерді, тесттерді қосу, өшіру, түзету және редактрлеу мүмкіндігі;
- Есептерді тестілеу барысында қолжетімді компиляторларды қосу, өшіру және редактрлеу 
мүмкіндігі;
- Шешу жұмысының уақыты бойынша шектеуді басқару мүмкіндігі, сонымен қатар жады 
көлемінің максималды мүмкін мәнін орнатып, шешім табу барысында қолдану;
- Аудентификация жүйесі: қолданушы аты мен құпия сөзді сұрату;
- Екі режимді қолдану:
Турнур бойынша: қатысушы тестілеуге кез келген есепті жөнелте алады, нәтижесін де то-
лығымен алу мүмкіндігі бар (тестілеу бойынша ақпарат ұсынылмайды). Тестілеу бірінші қате 
табылғанға дейін орындалады, қатысушыларға ағымдағы турнир нәтижесі келтірілген кесте сер-
верде қолжетімді.
Жаттығу бойынша: оқушылар қолжетімді есептердің кез келгенін тестілеуден өткізеді және 
әрбір тест бойынша нәтижені тексере алады. Тапсырылған барлық есептер мен оларды тексеру 
саны бойынша жалпы есеп жасалады. 
Есептермен жұмыс істеуге арналған программалық жүйе оқушыға келесі мүмкіндіктерді ұсы-
нады:
- Шешімді автоматты тестілеу;
- Тестілеу нәтижелерін жеке алу;
- Тест бойынша ақпаратты алу.
Мұғалім есептермен жұмыс істеуге арналған программалық жүйені келесі жағдайлар үшін 
қолданады:
- топтарды, турнирлерді, есептерді басқару: қосу, редактрлеу, өшіру;
- қабықшаны баптау: қолжетімді компиляторлар, оқушы мүмкіндіктерін шеутеу (мысалы, те-
сттерді көру);
- есептер қосу кезінде стандартты тексерілетін программаның бірін таңдау (мысалы, екі оң 
санды тексеруге арналған программа, ол оқушы берген жауапты дұрыс жауаппен салыстырып, 
тексеретін болады);
- стандартты тексерілетін программаларды өзгерту;
- шешімнің жетістігі мен сәттілігін бақылау, жұмыс уақыты мен шешімнің қолданатын жады-
сының тиімділігін анықтау.
Шешімнің дұрыстығын анықтау үшін есептерді шешудің программалық жүйесі тесттер жүй-
есін қолдануды дұрысдеп біледі, мұның өзінде шығыс мәліметтердің барлығын қамту керек:
туындаған жағдайлар (берілген шарттар негізінде есептің шешімі жоқ), шекті жағдайлар, алго-
ритм мен программа тиімділігін тексеру тесттері. Жүйенің барлық тесттерінен өту программа-
ның жұмыс қабілетінің жоғары екендігін білдіреді.
Олай болса, есептерді шешудің программалық жүйесі шешімнің дұрыстығы мен то-
лықтылығын тексеру үдерісін автоматтандырады және күрделі есептермен жұмыстың технологи-
ялық элементін ендіреді. Осылайша, мұғалім білігіне қойлатын бірнеше талаптар жеңілдетіледі, 
ол - күрделі есептерді мұғалімнің өзі шешуі, бұл жерде мұғалімге осы есептің тестілеу жүйесін 
жасаған құрастырушы әдістемелік көмек көрсетеді. Бұл мұғалімге де жүйеге өз есептерін тексе-
ру тесттерімен қоса енгізуге мүмкіндік береді.


Достарыңызбен бөлісу:
1   ...   104   105   106   107   108   109   110   111   ...   136




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет