Logo – kas tai? Komenskio Logo LogoWriter programa Moksleivių darbai Fotogalerija Naudingos nuorodos

V. Dagys. Logo pedagogikos idėjų sklaida Lietuvoje
M. Tomcsaniova. Logo programa mūsų trimetei dukrelei Jankai
R. Zabarauskas. Logo dešimtokams
A. Butkienė. Algoritmavimas ir programavimas Komenskio Logo sistemoje
V. Dagienė. Komenskio Logo kalbos duomenų tipų analizė

Komenskio Logo kalbos duomenų tipų analizė

Valentina DAGIENĖ
Matematikos ir informatikos institutas

dagiene@ktl.mii.lt
 

1. Įvadas

Logo Lietuvoje ne itin patraukia mokslininkų dėmesį, todėl pirmiausia šiek tiek supažindinsime su esminiais principais. Logo pirmiausia asocijuojasi su vaikais ir jų mokymu mąstyti, naudojant kompiuterį bei naujausias technologijos priemones. Kas yra Logo taikliausiai atsakė H. Abelsonas, JAV mokslininkas, drauge su kolega A. di Sessa išleidęs fundamentalią knygą, skirtą universitetų studentams mokytis šios kalbos [1]. 1982 m. jis rašė: „Logo bendriniu vardu vadinama švietimo filosofija ir nuosekli programavimo kalbų, kurios padeda įgyvendinti šias idėjas, šeima“.

Logo programavimo kalbos atsirado S. Papertui suprojektavus pagrindines vaikų mokymo kompiuteriu idėjas ir išleidus knygą „Mindstorms: Children, Computers, and Powerful Ideas“ (1995 m. išversta į lietuvių kalbą) [6]. S. Papertas nurodo, kad Logo – mokymo filosofija, apimanti vis didėjančią programavimo kalbų, kurias ši filosofija pagimdė, šeimą.

Šiuo metu pasaulyje suskaičiuojama keletas dešimčių Logo programavimo kalbų bei jų realizacijų. Lietuvoje vartojamos dvi: „LogoWriter“ ir „Komenskio Logo“. Abi sistemos sulietuvintos, pirmosios parengtas popierinis žinynas [2], antrosios – elektroninis.
 

2. Tradicinis duomenų klasifikavimas

Logo kalbų šeimos ištakos – funkcinė Lispo programavimo kalba. Pagrindinė Lispo konstrukcija (ir duomenų, ir programos požiūriu) – sąrašinės struktūros. Sąrašinė struktūra – tai tarp skliaustų išvardyti bet kurie objektai (skaičiai, simboliai, žodžiai). Lygiai taip pat ir daugumos Logo kalbų pagrindinė konstrukcija – sąrašas.
Logo kalbose sąrašais paprastai aprašomi ir duomenys, ir komandos. Logo kalbų sąrašai nuo Lispo sąrašų skiriasi sintakse: Logo kalbose sąrašams užrašyti vartojami ne paprastieji, kaip Lispo kalboje, bet laužtiniai skliaustai.

Klasifikuojant tradiciškai „Komenskio Logo“ kalba turi tris duomenų tipus: žodžiai, sąrašai ir paveikslai. Panagrinėsime juos išsamiau.

2.1. Žodžiai
Žodis „Komenskio Logo“ kalboje – tai baigtinė skaitmenų, raidžių, skyrybos bei specialių ženklų seka be tarpų. Žodis nurodomas prieš jį parašius kabutes, pavyzdžiui: "Suma. Toks žodžių žymėjimas išreiškia vientisą „Komenskio Logo“ sistemą: apskritai čia kabutės rodo kintamojo vardą, o žodis yra duomens vardas.

„Komenskio Logo“ kalboje galimas tuščias žodis, kurį sudaro tik kabutės. Tuščias žodis turi didelę reikšmę įvairiose komandose. Pavyzdžiui, komandoje rašyk "  nurodžius tuščią žodį, modeliuojamas žymeklio perkėlimas į naujos eilutės pradžią.

„Komenskio Logo“ kalboje yra daug komandų veiksmams su žodžiais atlikti, jei jų trūksta – kuriamos aprašant naujas procedūras.

Atskira žodžių rūšis yra skaičiai. Skaičiai užrašomi be kabučių prieš juos. Galimi sveikieji ir realieji skaičiai (trupmeninė dalis nuo sveikosios skiriama kableliu, taip pat yra galimybė kurti skaičius su rodikliu).

2.2. Sąrašai
Sąrašas „Komenskio Logo“ kalboje – tai elementų (žodžių, paveikslų ar vėl sąrašų) seka, rašoma laužtiniuose skliaustuose. Sąrašo elementai vienas nuo kito skiriami tarpais.

Žodžių sąrašai vadinami sakiniais. Sąraše žodžiai rašomi be kabučių, pavyzdžiui, [Katinas mėgsta žuvį]. Sakinys gali būti ir skaičių sąrašas: [1 2 3 4 5].

Sąrašų elementams netaikomi jokie ribojimai. Taigi sąrašo elementai gali būti vėl sąrašai ir t. t. Pavyzdžiui, 
[0 [1 2] ] yra dviejų elementų sąrašas: pirmas jo elementas – skaitmuo 0, antras – sąrašas, turintis du elementus (skaitmenis 1 ir 2). Tokia hierarchinė struktūra labai vertinga programavimo kalbose.

Veiksmams su sąrašais atlikti „Komenskio Logo“ kalboje yra daug įvairių komandų. Yra galimybė kurti naujas komandas – aprašant jas procedūromis ar funkcijomis.

2.3. Paveikslai
Ypatingas duomenų tipas „Komenskio Logo“ kalboje yra paveikslas (pradžioje buvo vadinta vaizdeliu, 
anglų k. image). Paveikslas – tai baigtinė (nuo 0 iki 255) kadrų seka. Kadru (anglų k. frame) vadinamas „Komenskio Logo“ grafikos redaktoriumi nupieštas atskiras paveikslėlis. Paveikslas – kadrų (paveikslėlių) visuma.

Paties Logo požiūriu paveikslas yra Vėžliuko kaukė (anglų k. shape), leidžianti kurti judesį (programuojant animaciją).

Paveikslo duomenų tipas labai panašus į žodžio: abiem atvejais yra baigtinė ženklų seka. Todėl daugelį tų pačių komandų galima atlikti ir su žodžiais, ir su paveikslais.

Paveikslo duomenų tipas labai patogus kuriant įvairius judančius projektus. Tai puiki „Komenskio Logo“ autorių idėja [5].
 

3. Duomenų struktūrų konstravimas

Remiantis tradiciniu požiūriu į programavimo kalbas (ypač procedūrines) „Komenskio Logo“ turi tris minėtas duomenų rūšis: žodžius, paveikslus ir sąrašus. Logo daug paveldėjo iš funkcinės Lispo kalbos. Todėl čia yra labai menki skirtumai tarp duomenų ir pačios programos (komandų, t. y. valdymo struktūrų).

Bendriausiu atveju duomenims formuoti reikalingi trys mechanizmai:
  • paprasti, elementarūs vienetai (reikalingi sudėtingesnėms duomenų struktūroms konstruoti);
  • konstravimo priemonės (kad būtų galima kurti sudėtingas struktūras ir struktūrinius duomenis);
  • abstrakcijos priemonės (sudėtingiems objektams įvardinti, kad su jais, kaip su vientisais vienetais, būtų galima atlikti veiksmus).

„Komenskio Logo“ kalboje realizuoti visi trys mechanizmai: žodžiai ir paveikslai laikomi elementariais duomenimis, konstravimas atliekamas panaudojant sąrašų operacijas (komandos gauk.sakinį, dėk.pirmu ir pan.), duomenų abstrahavimas – suteikiant sudėtingiems duomenims vardus (komandos tebus, vadink, procedūrų aprašymas). Visas tris galimybes galima iliustruoti šiomis dviem „Komenskio Logo“ komandų eilutėmis:
tebus "melodija [I21 T80 L8 O2 d c 2c f# g#]
grok :melodija

Žodžių sąrašas nurodo naudojamą muzikos instrumentą, melodijos tempą, natų ilgumą, oktavą, pauzes ir, žinoma, pačias natas.

„Komenskio Logo“ autoriai A. Blaho ir I. Kalašas pateikia kitokį, modernesnį požiūrį į duomenų struktūras [4; 5]. Jie laiko, kad „Komenskio Logo“ kalboje yra elementarūs duomenų tipai (anglų k. atomic) ir duomenų tipų konstruktoriai. Konstruktoriais kuriamos sudėtingesnės duomenų struktūros, vadinamos abstrakčiais duomenimis. Vadinasi, „Komenskio Logo“ kalboje galima sukonstruoti be galo daug sudėtingų duomenų struktūrų.

Elementarūs duomenys yra žodžiai ir paveikslai. Nors jie ir sudaryti iš mažesnių vienetų (žodžiai – iš ženklų, paveikslai – iš kadrų) ir yra komandos šių duomenų išardymui, tačiau iš esmės tie mažesni vienetai kalboje nematomi: bet kuri žodžio dalis vėl yra žodis, vienas ženklas – taip pat žodis; bet kuri paveikslo dalis – vėl paveikslas, vienas kadras – taip pat paveikslas; be to yra tušti žodžiai ir paveikslai.

Sudėtinėms duomenų struktūroms kurti vartojami sąrašai. Pateiksime keletą konkrečių duomenų struktūrų pavyzdžių. Išsamiau ir daugiau pateikta straipsnyje [3].

Taškas. Taškas aprašomas sujungiant į sąrašą du skaičius – x ir y koordinates. Gaunamas vienas objektas, kurį galime pavadinti vardu, pavyzdžiui,
tebus "A [x y]
Su taškais atliekamos įvairios operacijos: kai kurios yra numatytos „Komenskio Logo“ kalboje, kitas gali susikurti pats vartotojas aprašydamas procedūras.

Laikas. Laiką nusako komanda laikas, pavyzdžiui:
parodyk laikas
[13 55 2 30]

Tai keturių skaičių sąrašas, nurodantis valandas, minutes, sekundes ir sekundžių šimtąsias dalis. Taigi laiką galime įvardinti ir laikyti nauja duomenų struktūra:
tebus "t laikas
parodyk :t
[13 55 2 30]

Naujai aprašyta duomenų struktūra laikas perduodama parametru procedūroms bei funkcijoms.
Tekstas. Tekstas gali būti įdomia Logo duomenų struktūra. Tarkime, kad
  • bet kuris Logo žodis yra tekstas;
  • jei x1, x2, … yra Logo žodžiai, tai [x1 x2 …] yra tekstas.

Tekstas yra ypatinga duomenų struktūra, kadangi tekstui galima nurodyti šriftą, dydį, spalvą, padėtį, kryptį. Yra daugybė „Komenskio Logo“ komandų, skirtų dirbti su tekstais.

Pateikėme tik vieną kitą „Komenskio Logo“ duomenų struktūrų pavyzdį; analogiškai galima sukurti daugelį kitų. Naudojantis sąrašų mechanizmu, jų galima sukurti begalę. Metodine prasme – tai puiki, kūrybiška mokymosi terpė ir mokiniams, ir studentams.
 

4. Išvados

Tradiciniu požiūriu „Komenskio Logo“ kalboje galima įžvelgti tris duomenų rūšis: žodžius, paveikslus ir sąrašus. Remiantis moderniais programavimo principais, čia atpažįstamos dvi elementarios duomenų rūšys (žodžiai ir paveikslai) bei galingas konstruktorius – sąrašas – duomenų struktūroms kurti (duomenų abstrahavimui).

Laikydami sąrašą priemone duomenų abstrahavimui galime gauti kiek norima daug naujų duomenų struktūrų. Tai puiki kūrybiška terpė, kurią galėtų užsiimti daugelio mokyklų ir jaunesniojo, ir vyresniojo amžiaus mokiniai.
 

Literatūra

1.  H. Abelson, and A. A. di Sessa, Turtle Geometry. The Computer as a Medium for Exploring Mathematics, The MIT Press, Cambridge (1980).
2.  T. Balvočienė, V. Dagienė, A. Klupšaitė, Logo žinynas: „LogoWriter“ komandų žinynas mokytojams ir mokiniams, Folium, Vilnius (1996).
3.  A. Blaho, and I. Kalas, I beg your pardon Turtles: Don't forget about data structure, Proc. of Eurologo'97, Budapest, 40–58 (1997).
4.  A. Blaho, and I. Kalas, SuperLogo: Learning by Developing, Longman Logotron, Cambridge (1998).
5.  A. Blaho, and I. Kalas, Playing, Developing and Computing with Images in Comenius Logo for Windows, Proc. of Eurologo'95, Birmingham, 15–19 (1995).
6.  S. Papertas, Minčių audros: vaikai, kompiuteris ir veiksmingos idėjos, Žara, Vilnius (1997).


Straipsnis išspausdintas leidinyje „Lietuvos matematikų draugijos XXX konferencijos darbai “ (Vilnius, 1999)

Logo – kas tai? Komenskio Logo LogoWriter programa Moksleivių darbai Fotogalerija Naudingos nuorodos

į svetainės pradžią


                          Laiškus su klausimais ir komentarais siųskite adresu: logo@delfi.lt
Atnaujinta 2000 m. spalio 20 d.