Algoritmø atlikimas mokant algoritmavimo pagrindø
(Kompiuterinë programa ir jos taikymo metodikos apraðymas)
Mokant bet kurios algoritmavimo ar programavimo kalbos, didelæ reikðmæ turi algoritmø atlikimas. Programavimo kalbø konstrukcijos yra mokiniams neáprastos. Norint jas suprasti, reikia ne tik iðklausyti mokytojo aiðkinimà ar perskaityti atitinkamà teorijos dalá, bet ir savarankiðkai atlikti keletà algoritmø, kuriuose yra panaudotos tos konstrukcijos. Yra þinoma, kad mokiniai neágis algoritma 16116q1619q vimo ágûdþiø, jeigu jie bus tik mokytojo ar draugø aiðkinimø klausytojai.
Informatikos vadovëlyje yra daug pavyzdþiø ir uþduoèiø, kur reikia, atlikus algoritmà, nustatyti rezultatus. Taèiau visi þinome kokie skirtingi yra moksleiviai. Vieni ið jø konstrukcijas perpranta ir algoritmà atlieka labai greitai, kiti lëèiau, dar kitiems reikia þymiai daugiau laiko, kad iðnagrinëtø paprasèiausius algoritmus. Jau senai bandome raðyti specialias kompiuterines programas, kurios padëtø individualizuoti mokymà, leistø kiekvienam mokiniui mokytis jam tinkamu tempu. Kompiuteris tampa geranoriðku repetitoriumi, greitai reaguojanèiu á klaidà ir leidþianèiu jà pataisyti, padedanèiu ir priverèianèiu màstyti tol, kol bus suprasta konstrukcija, nustatyti jos panaudojimo algoritme ryðiai su paèio algoritmo visuma. Tokios kompiuterinës programos padeda mokytojui diferencijuoti mokymà, individualizuoti papildomas uþduotis, atsiþvelgiant á mokinio individualybæ ir sugebëjimus. Tai galima nesunkiai padaryti turint puikø V.Dagienës ir G.Grigo "Programavimo uþdavinynà", kuriame yra daugybë ávairaus lygio tiek algoritmø analizës, tiek programø raðymo uþdaviniø.
Pirmosios tokio tipo kompiuterinës programos buvo sukurtos dar kompiuteriams BK 0010. Mokyklai gavus IBM tipo kompiuterius, sukûrëme didelæ kompiuterinæ programà Paskalio kalbos konstrukcijø mokymui, su kuria dirbant, procedûra ir funkcija naudojamos kaip algoritmo struktûrinimo priemonës. Ði programa yra atiduota á IPC platinamø programø bankà.
Ðiais metais sukûrëme kompiuterinæ programà, kuri visiðkai atitinka dabar naudojamà vadovëlá "Informatika 10 - 12", ir joje procedûra ir funkcija vartojamos, kaip algoritmo apiforminimo priemonës. Be to atsiþvelgta á ankstesnës mokomosios programos trûkumus ir dauguma jø paðalinta (pvz. ankstesnëje programoje vienos temos uþduotis yra sudaryta ið 10 pratimø, o jø visø nagrinëjimas uþima per daug laiko, naujoje programoje uþduotis susideda ið 5 pratimø).
Prieð apþvelgiant paèià kompiuterinæ programà, reikia panagrinëti algoritmø atlikimo naudà ir ypatybes, mokant algoritmavimo kurso:
Visø pirma - tik atliekant algoritmà galima patikrinti, ar jis tinkamas, ar teisingas, ar su visais pradiniais duomenimis galime tikëtis norimø rezultatø. Be to reikia prisiminti, kad tik formalus ir skrupulingai tikslus visø algoritmo komandø atlikimas leidþia patikrinti algoritmà, aptikti klaidas ir netikslumus.
Antra - algoritmø atlikimas padeda atsirasti pradiniams algoritminio màstymo ágûdþiams. Atlikdamas sakinius ar komandas, mokinys galø gale sàmoningai ásisavina konstrukcijas ir taisykles. Ið karto suprasti algoritmà be jo atlikimo gali labai nedaug mokiniø. Tapdamas algoritmo vykdytoju, mokinys palaipsniui pradeda suprasti ir jo logikà, ir programavimo kalbà, kaip algoritmo uþraðymo priemonæ. Toks supratimas bûtinas kiekvienam besimokanèiam algoritmavimo pagrindø. Jei mokinys, sudarinëdamas algoritmà, nemokës pritaikyti atitinkamø programavimo kalbos struktûrø, o po to negalës atlikti ávairiø jam á galvà ateinanèiø algoritmo variantø, tai teisingo rezultato galima nesitikëti.
Treèia - algoritmø atlikimas - tai galingas árankis, ágalinantis mokinius aktyviai dalyvauti mokymosi veikloje. Mokytojas tuo paèiu metu gali diferencijuoti darbà su moksleiviais, individualizuoti uþduotis.
Ketvirta - reguliarus algoritmø atlikimas pratina mokinius kruopðtumo, tvarkingumo, dëmesingumo, susikaupimo, ir vysto loginá, racionalø màstymà.
Penkta - algoritmø atlikimas pakankamai efektyvi mokiniø kontrolës forma, padedanti iðsiaiðkinti ar mokinys supranta patá algoritmà arba atskiras konstrukcijas. Labai daþnai bûna, kad jis nesugeba sudaryti atrodytø paprasèiausio algoritmo. Pasiûlius mokiniui atlikti kità algoritmà, iðaiðkëja, kad jis blogai supranta tas ar kitas konstrukcijas arba algoritmø sudarymo taisykles.
Ðios iðvardintos savybës akivaizdþiai parodo, kad algoritmø atlikimas gali þymiai pagreitinti ir pagerinti algoritmavimo pagrindø mokymà. Todël informatikos mokytojams reikëtø kaip galima efektyviau naudoti ðá metodà. Tà padeda padaryti mûsø mokykloje sukurta mokomoji kompiuterinë programa, kurios struktûrà, bei taikymo metodikà toliau apþvelgsime.
Programa pateikia mokiniams atlikti keletà algoritmø arba jø fragmentø ir patikrina gautø rezultatø teisingumà. Pradëjus veikti programai, atsiranda meniu, kuriame galima pasirinkti vienà ið 14 temø. Temø eilë ir iðdëstymas atitinka informatikos vadovëlio antroje dalyje naudojamà dëstymo sistemà:
1. Reiðkiniø reikðmës.
2. Priskyrimas.
3. Procedûra.
4. Funkcija.
5. Loginiai duomenys.
6. Vienas ið dviejø veiksmø.
7. Vienas ið keliø veiksmø.
8. Sudëtinis sakinys.
9. Ciklas WHILE.
10. Ciklas FOR.
11. Ciklas cikle.
12. Rekursija.
13. Programa.
14. Masyvas.
Pasirinkus norimà temà (tà galima padaryti tiek su pele, tiek su kursoriaus valdymo klaviðais), kompiuterio ekrane atsiranda pasiûlymas pasirinkti mokomàjá arba kontroliná temos variantà. Kiekvienu atveju mokiniui pateikiama nagrinëti 5 pratimai, kuriuose reikia atlikti algoritmus arba bent kelis sakinius, tai yra nustatyti rezultatus, turint pradinius duomenis.
Mokomuosiuose programos variantuose, algoritmai ar jø fragmentai yra vienodi visiems mokiniams, taèiau pradiniai duomenys parenkami kaip atsitiktiniai skaièiai (savaime suprantama atitinkantys tam tikras ribas ar reikalavimus). Tai, kad pradiniai duomenys kiekviename kompiuteryje skirtingi, verèia mokinius pratimus atlikti savarankiðkai, nesiþvalgant á draugus. Uþduotys iðdëstytos sunkëjimo tvarka. Mokiniai atlikæ algoritmà, áveda rezultatus, o kompiuteris patikrina, ar ávesti duomenys teisingi. Jei mokinys suklydo, ekrane atsiranda praneðimas apie tai, ir parodomas rezultatas, kurá turëjo gauti. Po to jam siûloma dar kartà atlikti tà patá algoritmà, tik jau su kitais pradiniais duomenimis. Ir taip tol, kol mokinys supras algoritmo esmæ ir já atliks gerai. Mokytojas, naudodamas ne kompiuteriná uþduoèiø pateikimo metodà, fiziðkai nesuspëtø visiems parinkti skirtingus pradinius duomenis, iðkart patikrinti ar mokinys nesuklydo, praneðti teisingà atsakymà ir duoti naujus duomenis. Be to, naudojant kompiuterinæ programà mokinys gali mokytis ir màstyti savarankiðkai, jam tinkamu tempu.
Siûlyèiau tokià kompiuterinës programos temø mokomøjø variantø naudojimo metodikà:
Supaþindinus mokinius su pagrindine temos teorine medþiaga, iðnagrinëjus nedidelá pavyzdá, galima jiems leisti galutinai iðsiaiðkinti ir suprasti temà savarankiðkai, naudojant kompiuterinës programos mokomàjá variantà. Savaime suprantama, gabiesiems moksleiviams galima duoti kitas, ið anksto apgalvotas uþduotis, parinktas ið vadovëlio arba "Programavimo uþdavinyno", gal bût ið algoritmø analizës srities ar ið paèiø algoritmø raðymo. Greièiau su mokomosios programos uþdaviniais susidorojusiems mokiniams, taip pat galima pateikti papildomas individualias uþduotis. Tiems, kam sunkiau sekasi, gali padëti tiek mokytojas, tiek draugai. Visiems 5 pratimams atlikti turëtø pakakti 10 minuèiø laiko. Vëliau galima pereiti prie sudëtingesniø pavyzdþiø nagrinëjimo, arba algoritmø raðymo.
Temø kontroliniuose variantuose siûlomi pratimai parenkami atsitiktinai ið trijø galimø, be to pradiniai duomenys skirtingi visiems mokiniams. Atlikus visus 5 pratimus, ekrane yra pateikiama suvestinë, kurioje matome teisingus atsakymus ir mokinio gautus rezultatus. Paspaudus norimo pratimo numerá, ekrane atsiranda atitinkamas algoritmas. Tokiu bûdu tiek mokinys, tiek mokytojas gali atlikti klaidø analizæ ir, gal bût, paðalinti þiniø spragas. Be abejo, jeigu mokinys jau sugeba pritaikyti teorines þinias, kurdamas algoritmus, toká kontroliná jam duoti neverta. Þymiai daugiau naudos ir kûrybinio malonumo jis patirs, raðydamas algoritmus, kokioms tai problemoms ar uþdaviniams spræsti. Maþiau gabiems, arba turintiems mokymosi sunkumø toks darbas padeda greièiau suprasti ir ásisavinti einamà temà, o mokytojui suteikia galimybæ pamatyti ko mokinys dar nemoka ir padëti jam.
Kontrolinio varianto uþduotims atlikti taip pat turëtø pakakti vidutiniðkai 10 minuèiø laiko. Kartais mokiniai delsia ávesti gautà atsakymà bijodami suklysti ir gauti blogesná paþymá, todël nebûtina vertinti paþymiu kiekvienà kompiuteriná kontroliná, arba tai daryti tik po klaidø analizës ir koreguojant kompiuterio ávertinimà.
Programa tikrai naudinga mokant pirmøjø temø, padeda gerai suprasti ir ásisavinti mokiniams neáprastas operacijas div ir mod, priskyrimà. Palengvina ir sunkesniøjø temø, pradedant ciklu while, mokymàsi. Visø temø dalis pratimø yra klasikiniai programavimo mokymo uþdaviniai, kita dalis sudaryta taip, kad mokiniai geriau suprastø kalbos konstrukcijas, jø atliekamas funkcijas, pakartotø iðeitas temas.
Kaip nors formalizuoti pateikiamo algoritmo atlikimo uþraðymà neverta. Yra ávairiausiø bûdø, kaip tai daryti, bet jie naudingi tik labai silpniems mokiniams. Tam kad mokiniai galëtø pritaikyti ágûdþius ágytus atliekant algoritmus jø kûrimui, netgi geriau, kad sakinius jie atliktø mintinai, gal bût tik pasiþymint kintamøjø reikðmes.
Efektyviai taikant algoritmø atlikimo metodà, já derinant su algoritmø interpretatoriaus ir Turbo Pascal transliatoriø teikiamomis algoritmø ir programø atlikimo paþingsniui bei kintamøjø reikðmiø kitimo stebëjimo galimybëmis, individualizuojant mokiniø darbà, galima juos sudominti algoritmø kûrimu ir palengvinti informatikos kurso antrosios dalies mokymàsi.
Naudota litertûra:
1. Lietuvos bendrojo lavinimo mokyklos bendrosios programos. Projektai. - Vilnius : Leidybos centras, 1994.
2. Lietuvos bendrojo lavinimo mokyklos bendrosios programos.
Informatika
Projektas. Parengë V.Dagienë, R.Aliðauskas, 1995.
3. Pedagoginë psichologija. N.L.Gage, D.C.Berliner. - Vilnius : Alna litera, 1994.
4. Kompiuteriai mokykloje. Knyga mokytojams. R.Viljamsas, K.Maklynas. - Kaunas: Ðviesa, 1989.
5. Bendrojo lavinimo mokyklos programos. Informatika. - Vilnius : Leidybos centras, 1994.
6. Informatika 10 - 12 klasei. Bandomoji mokymo priemonë. - V.Dagienë, G.Grigas. - Kaunas : Ðviesa, 1991.
7. Informatikos mokymas vidurinëje mokykloje. Mokytojo knyga. -
V.Dagienë, G.Grigas. - Kaunas : Ðviesa, 1992.
8.Programavimo uþdavinynas.V.Dagienë, G.Grigas. - Kaunas : Ðviesa, 1992.
9. Informatika i obrazovanije. Þurnalas. - Maskva : Pedagogika, 1987m Nr.1, Nr.2, Nr.3. 1988m Nr.1. 1991m Nr.4.
10. Kompiuterininkø dienos' 93. Birðtonas. Konferencijos medþiaga. - Vilnius: 1993.
|