at' s zadannoj tochnost'yu otrezkom, konicheskim secheniem ili krivoj Bez'e; eto pozvolilo by raspoznat' elementarnye geometricheskie figury, naprimer, proskanirovav prostoj risunok).

|ta funkciya predusmatrivaet slishkom malo parametrov, chtoby byt' osobenno poleznoj na praktike, odnako dlya demonstracii togo, v chem sostoit process vektorizacii, ona vpolne podhodit.

3.9 Resursy

Paket OO.o vhodit vo vse "bol'shie" (mnogodiskovye universal'nye) distributivy OS Linux i vo mnogie "malen'kie" (odno-, dvuh- i trehdiskovye, isklyuchaya orientirovannye isklyuchitel'no na servernoe primenenie).

My rekomenduem obratit' vnimanie na rossijskuyu sborku OO.o, postavlyaemuyu s ALT Linux ("bol'shoj" distributiv Master i "malen'kij" Junior; www.altlinux.ru) i ASPLinux (v razlichnyh variantah, www.asplinux.ru). V nej ran'she, chem v osnovnoj vetke, poyavlyayutsya novye vozmozhnosti, orientirovannye na russkogo pol'zovatelya, v to zhe vremya, zaderzhka sborok novyh versij (po otnosheniyu k osnovnoj vetvi razrabotok) minimal'na.

Mnogoplatformennaya (Linux i Microsoft Windows) rossijskaya sborka dostupna v sostave sbornika OpenOffice.ru, ego mozhno vzyat' na sajte www.openoffice.ru ili priobresti (spisok resellerov dostupen na tom zhe sajte) odnodiskovuyu korobku. O rossijskih sborkah OO.o pod "Makintosh", Solaris i drugie OS nam nichego ne izvestno, i ih pol'zovatelyam mozhno porekomendovat' sledovat' po ssylkam s www.openoffice.org.

Osnovnoj russkoyazychnyj resurs, posvyashchennyj OpenOffice, -- eto tot zhe sajt www.openoffice.ru i ego satellity (vklyuchaya http://docs.openoffice.ru). Osnovnoj mezhdunarodnyj resurs -- eto bazovyj sajt razrabotki www.openoffice.org).

OO.o voobshche i OpenDraw v chastnosti poka osveshcheny lish' v neskol'kih publikaciyah. Vnimaniya zasluzhivayut [6-8].

Lekciya 4. GIMP -- svobodnyj redaktor rastrovoj grafiki

V predydushchej "lekcii", posvyashchennoj vektornoj grafike i programme OpenDraw, privodilis' osnovnye fakty, kasayushchiesya razlichiya vektornoj i rastrovoj komp'yuternoj grafiki:

4.1 Istochniki i parametry rastrovoj grafiki

Obychnym istochnikom rastrovyh izobrazhenij yavlyaetsya skaner -- ustrojstvo, "prohodyashchee" (skaniruyushchee) list bumagi ili kadr fotoplenki tochka za tochkoj i peredayushchee komp'yuteru znacheniya, sootvetstvuyushchee intensivnosti bazovyh cvetov v kazhdoj tochke. Vse bol'shej populyarnost'yu pol'zuyutsya cifrovye fotokamery -- apparaty, vmesto fotoplenki fokusiruyushchie izobrazhenie na svetochuvstvitel'noj matrice, peredayushchej cifrovuyu zapis' izobrazheniya na energonezavisimyj nositel' informacii (gibkij disk ili t.n. flesh-kartu), kotoryj zatem mozhet chitat'sya komp'yuterom.

Rastrovye izobrazheniya mogut takzhe sozdavat'sya chelovekom na komp'yutere s pomoshch'yu ustrojstv koordinatnogo vvoda ("myshi" ili bolee podhodyashchego dlya etoj celi graficheskogo plansheta) ili sintezirovat'sya razlichnymi programmami.

Vazhnejshimi parametrami rastrovogo izobrazheniya yavlyayutsya ego rastrovyj razmer (v tochkah) i "glubina cveta" (kolichestvo bit, ispol'zuemyh dlya predstavleniya cveta kazhdoj tochki). |ti parametry chasto zapisyvayut v vide 1024h728x24, chto oznachaet 1024 tochki po gorizontali, 728 tochek po vertikali i 24 bit na cvet (dvadcati chetyreh bit dostatochno dlya polucheniya "fotorealistichnyh" izobrazhenij, dal'nejshee povyshenie razryadnosti ne privodit k uvelicheniyu kachestva otobrazhaemyh ili pechataemyh sovremennymi sredstvami izobrazhenij, hotya v promezhutochnoj obrabotke ili pri sinteze izobrazhenij inogda ispol'zuetsya bol'shie znacheniya glubiny cveta). Eshche odnim parametrom, predusmotrennym nekotorymi formatami hraneniya rastrovoj grafiki, yavlyaetsya ego "masshtab", kotoryj prinyato izmeryat' v tochkah na dyujm (DPI); eto chisto informacionnyj parametr, kotoryj mozhet uchityvat'sya pri pechati izobrazhenij, no ne vliet na vozmozhnost' ih obrabotki.

4.2 Istochniki i parametry i formaty predstavleniya rastrovoj grafiki

Za tridcatiletnyuyu istoriyu komp'yuternoj grafiki razrabotano velikoe mnozhestvo (sotni) formatov hraneniya izobrazhenij. Bol'shinstvo iz nih yavlyaetsya plodom nesoglasovannosti "tehnicheskogo tvorchestva" otdel'nyh grupp issledovatelej i kompanij, a takzhe otrazhaet osobennosti davno vyshedshih iz upotrebleniya specificheskih ustrojstv. Vazhnymi svojstvami formatov yavlyayutsya prisushchie im vnutrennie ogranicheniya, iz kotoryh naibolee znachimy ogranicheniya na glubinu cveta, podderzhivaemye cvetovye modeli ("monitornaya" RGB, "poligraficheskaya" CMYK i t.d.) vozmozhnost' sohraneniya neskol'kih sloev izobrazheniya (ponyatiya sloev, konturov i masok zdes' ne obsuzhdayutsya), nalichie t.n. "al'fa-kanala" (fiktivnogo "cveta", sootvetstvuyushchego stepeni prozrachnosti izobrazheniya pri nalozhenii ego na drugoe izobrazhenie) i podderzhivaemye algoritmy szhatiya.

Primenyaemye v rastrovoj grafike algoritmy szhatiya podrazdelyayutsya na nerazrushayushchie i formaty s poterej kachestva (poslednie ispol'zuyut psihofiziologicheskuyu model' chelovecheskogo zreniya dlya togo, chtoby izbavit'sya ot neznachimyh detalej izobrazheniya, chto neskol'ko snizhaet ego kachestvo, no pozvolyaet dobit'sya gorazdo bol'shej kompaktnosti koda).

Prakticheski universal'nymi yavlyayutsya formaty TIFF (obychno primenyaemyj v poligrafii, dopuskaet lish' nerazrushayushchee szhatie), PNG (naibolee udobnyj dlya predstavleniya graficheskih dannyh v mul'timedijnyh sistemah i WWW, dopuskayushchij nerazrushayushchee szhatie), a takzhe medlenno vytesnyaemye poslednim JPEG (dopuskayushchij szhatie s poteryami) i GIF (ogranichennyj 8 bit (256) cvetami). Krome togo, mnogie graficheskie redaktory (vklyuchaya opisannyj nizhe GIMP) obladayut sobstvennym formatom, pozvolyayushchim sohranyat' v tom zhe fajle massu vspomogatel'noj informacii, poleznoj pri prodolzhayushchejsya bolee odnogo seansa rabote s fajlami.

4.3 Obshchie svedeniya o GIMP

GNU Image Manipulation Program (Programma GNU dlya manipulyacii izobrazheniyami), ili sokrashchenno GIMP (chitaetsya "gimp") -- potomok kursovogo proekta dvuh studentov, Pitera Mattasa i Spensera Kimbolla (1985-86 gg.).

Za vosem' let i pri uchastii desyatkov programmistov GIMP vyros v odin iz samyh nasyshchennyh funkcional'nost'yu graficheskih redaktorov, ustupayushchih lish' "pod zavyazku" nabitomu storonnimi modulyami redaktoru Photoshop6. Tekushchaya stabil'naya versiya -- 1.2 (kak i v nekotoryh drugih proektah nechetnym "malym" nomeram sootvetstvuyut eksperimental'nye (razrabotcheskie) versii, a chetnym -- stabil'nye).

Interesno, chto v ramkah proekta GIMP byla sozdana biblioteka raboty s ekrannymi primitivami GTK (nyne GTK+), yavlyayushchayasya na segodnya odnoj iz samyh razvityh i shiroko ispol'zuemyh v svoem klasse (v chastnosti, na GTK+ osnovana populyarnaya graficheskaya operacionnaya sreda GNOME).

GIMP, dostupnyj dlya vseh populyarnyh nastol'nyh platform (vklyuchaya Linux, MacOS, Microsoft Windows i dr.), shiroko ispol'zuetsya dlya raboty nad WWW i mul'timedijnoj grafikoj, obrabotki lyubitel'skogo, reportazhnogo i dazhe hudozhestvennogo foto, retushirovaniya kinokadrov. Pravda, dlya poslednej celi chashche ispol'zuetsya modifikaciya, izvestnaya kak FilmGIMP, ee, v chastnosti, aktivno ekspluatirovali pri montazhe pervogo fil'ma o Garri Pottere.

GIMP redko ispol'zuetsya dlya predpechatnoj podgotovki grafiki: v nem poka net podderzhki "poligraficheskih" cvetovyh modelej i sistemy cvetodeleniya. Eshche odnim ogranicheniem tekushchih versij GIMP yavlyaetsya otnositel'no nizkaya proizvoditel'nost', zatrudnyayushchaya rabotu s dejstvitel'no bol'shimi (sotni tysyach tochek) i slozhnymi (desyatki sloev) izobrazheniyami. Dlya sozdaniya i obrabotki dostatochno kompaktnyh i prostyh izobrazhenij, a takzhe dlya ih otobrazheniya na monitore i pechati na oborudovanii potrebitel'skogo klassa eti ogranicheniya ne vazhny.

GIMP sposoben rabotat' s prodvinutymi koordinatnymi ustrojstvami -- graficheskimi planshetami, v tom chisle, modelyami, raspoznayushchimi silu nazhatiya na pero.

4.4 GIMP -- programmiruemyj graficheskij redaktor

Veroyatno, uspehom GIMP ne v maloj stepeni obyazan svoej iznachal'no modul'noj i programmiruemoj arhitekture. Sam po sebe etot redaktor -- dostatochno kompaktnaya i prostaya programma, odnako ego vozmozhnosti priumnozhayutsya za schet otkrytosti arhitektury i nalichiya mnozhestva modulej (v tekushchej postavke -- okolo trehsot), realizuyushchih te ili inye dopolnitel'nye funkcii, takie kak import-eksport storonnih formatov ili obrabotku izobrazheniya ili ego fragmenta po tomu ili inomu algoritmu.

Takie moduli mozhno razrabatyvat' kak otdel'nye programmy s ispol'zovaniem biblioteki GDK, a mozhno pol'zovat'sya odnim iz vstroennyh v GIMP interpretatorov yazykov programmirovaniya. Imenno nalichie takih interpretatorov i delaet GIMP programmiruemym graficheskim redaktorom. Mozhno skazat', chto ego arhitektura podobna arhitekture tekstovogo redaktora Emacs, o kotorom govorilos' vo vtoroj nashej "lekcii".

Takih interpretatora na segodnya dva. Zabavnoe nazvanie Script-fu, vidimo, sleduet ponimat' kak anglijsko-kitajskoe vyrazhenie, oznachayushchee "masterstvo scenirovaniya" (napomnim, chto "scenariyami" ("skriptami") nazyvayut programmy, napisannye na interpretiruemyh yazykah). Script-fu -- eto pervyj vstroennyj v GIMP interpretator funkcional'nogo yazyka Shema (Schema), yavlyayushchegosya potomkom pervogo yazyka funkcional'nogo programmirovaniya Lisp. Razrabotchik skripta imeet dostup k mnogochislennym bazovym funkciyam-graficheskim primitivam.

Shema -- ves'ma produmannyj i strojnyj yazyk, odnako ego metodicheskij potencial ne mozhet v polnoj mere byt' raskryt v segodnyashnih kursah informatiki v srednej shkole, programmirovanie v kotoryh vvoditsya v direktivnoj (sentencional'noj) paradigme. Na Sheme, tak zhe, kak i na Lispe, mozhno pisat' v direktivnom stile, odnako izyashchestva i prostoty, stol' neobhodimyh v obuchenii, dostich' pri etom vozmozhnym ne predstavlyaetsya.

Direktiven drugoj yazyk, interpretator kotorogo takzhe vstroen v GIMP. |to Perl (Perl), ego GIMP-ovskaya realizaciya nazyvaetsya Perl-fu. Horoshij programmist mozhet pisat' na Perle chisto i akkuratno, odnako sintaksis yazyka sam po sebe nastol'ko gibok (chtoby ne skazat' "zhidok"), chto, po nashemu mneniyu, Perl sovershenno ne goditsya na rol' izuchaemyh v chisle pervyh (hotya sushchestvuyut i drugie mneniya, ves'ma avtoritetnye).

Dobavlenie v GIMP eshche odnogo interpretatora (naprimer, algolo- ili paskalepodobnogo yazyka) ne predstavlyaetsya osobo slozhnoj zadachej, odnako o takih proektah nichego ne izvestno, i, navernoe, ot programmirovaniya obrabotki izobrazhenij "vnutri" GIMP kak ot prostoj v metodicheskom osvoenii temy bol'shinstvu pedagogov stoit poka otkazat'sya.

4.5 Interaktivnaya funkcional'nost' i ergonomika

Tem ne menee, bazovoj interaktivnoj funkcional'nosti GIMP (vklyuchaya dostupnye moduli) vpolne dostatochno, chtoby pokryt' obychno izuchaemye v shkole voprosy obrabotki grafiki.



Pri zapuske GIMP na ekrane otkryvaetsya ryad okon (Ris. 1). Glavnoe okno soderzhit menyu osnovnyh funkcij, panel' piktograficheski oboznachennyh "instrumentov" i oblasti, v kotoryh otobrazhayutsya tekshchie znacheniya osnovnogo i fonovogo cvetov, formy kisti, tekushchego gradienta. Okna izobrazheniya sootvetstvuyut otdel'nym otkrytym graficheskim fajlam (ili sloyam v nih).

Dopolnitel'nye instrumental'nye okna (po kakoj-to prichine nazvannye "dialogami") mogut otkryvat'sya iz menyu glavnogo okna. Odnako ih vsego desyatok ("Sloi, kanaly i kontury", "Parametry instrumentov", "Kisti", "SHablony", "Gradienty", "Palitra", "Ustrojstva vvoda", "Indeks dokumentov", "Konsol' oshibok"), a osnovnoj massiv funkcij, primenyaemyh k tekushchemu ili vnov' sozdavaemomu izobrazheniyu ili vybrannomu uchastku izobrazheniya (vklyuchaya funkcii, realizovannye vneshnimi modulyami-fil'trami) "dostayutsya" cherez kontekstnoe menyu, otkryvayushcheesya po shchelchku pravoj knopkoj myshi v okne izobrazheniya.




Zato mozhno vospol'zovat'sya (neprivychnym dlya pol'zovatelej uproshchennyh graficheskih sred, takih, kak Microsoft Windows) svojstvom graficheskoj biblioteki GTK+, nazyvaemym "liniya otryva". Kazhdoe menyu naverhu soderzhit punktirnuyu liniyu, shchelknuv mysh'yu na kotoroj mozhno prevratit' eto menyu v samostoyatel'noe instrumental'noe okno, sohranyayushcheesya, poka pol'zovatel' yavnym obrazom ego ne zakroet (Ris. 2-3). Takim obrazom (uchityvaya nastraivaemost' samoj sistemy menyu) mozhno v lyuboj moment sozdat' na ekrane dopolnitel'nye "paneli instrumentov", soderzhashchie funkcii, kotorymi v blizhajshee vremya predpolagaetsya vospol'zovat'sya. Privykshemu k drugomu stilyu raboty pol'zovatelyu eto neprivychno, odnako, privyknuv, etu interfejsnuyu osobennost' mozhno ispol'zovat' ves'ma effektivno.

Mnozhestvennost' okon, k sozhaleniyu, mozhet sozdavat' nekotorye neudobstva v sredah bez razvitogo instrumentariya upravleniya oknami. V bolee razvityh sredah mozhno "skleit'" neskol'ko okon, chtoby oni peremeshchalis' kak edinoe celoe ili "podnyat'" okno, chtoby ono prodolzhalo ostavat'sya vidimym, dazhe esli budet aktivizirovano okno, raspolozhennoe "pod nim" (sobstvenno, mnogookonnoe vizual'noe reshenie i sozdano v raschete na nalichie takih sredstv), a esli takie sredstva otsutstvuyut (kak, naprimer, v Microsoft Windows), pol'zovanie redaktorom na monitore s malym razresheniem mozhet byt' otyagoshcheno neobhodimost'yu sovershat' kakie-to dopolnitel'nye dejstviya.

Osnovnaya interaktivnaya funkcional'nost', dostupnaya posredstvom "instrumentov" v glavnom okne, dostatochno tradicionna dlya programm etogo klassa. Ona vklyuchaet, v tom chisle:

V bazovuyu funkcional'nost' GIMP vhodit takzhe vozmozhnost' zahvata izobrazheniya so skanera i s ekrana.

4.6 Fil'traciya i sintez izobrazhenij

Osnovnoj priem avtomatizirovannoj obrabotki izobrazhenij -- fil'traciya ih celikom, libo vydelennyh v nih oblastej. Bol'shaya chast' upomyanutyh vneshnih modulej realizuet imenno funkciyu fil'tracii. Sredi naibolee vazhnyh v prakticheskoj obrabotke izobrazhenij fil'trov otmetim:

Znachitel'noe kolichestvo fil'trov imitiruyut razlichnye "effekty": ot prosmotra izobrazheniya cherez volnistoe steklo do natyazheniya ego na sferu, cilindr ili tor.

Sintez izobrazhenij v bazovoj postavke GIMP i izvestnyh nam fil'trah ne slishkom razvit, odnako est' ryad fil'trov, sozdayushchie fraktal'nye izobrazheniya (v tom chisle, naturomorfnye).

4.7 Resursy

GIMP vhodit vo vse "bol'shie" (mnogodiskovye universal'nye) distributivy OS Linux i vo mnogie "malen'kie" (odno-, dvuh- i trehdiskovye, krome orientirovannyh tol'ko na servernoe primenenie). Interfejs GIMP pereveden na russkij yazyk (hotya est' otdel'nye moduli, dostupnye tol'ko s inoyazychnymi interfejsami).

GIMP dostupen dlya Linux i drugih otkrytyh sistem -- na www.gimp.org; dlya Microsoft Windows -- na www.wingimp.org; dlya MacOS -- na www.macgimp.org. Osnovnoj russkoyazychnyj resurs, posvyashchennyj GIMP -- www.gimp.ru.

Kratkoe sorokastranichnoe vvedenie v GIMP est' v knige [9]. Iz angloyazychnyh knig posovetuem dve svobodno dostupnye [13, 14].

Lekciya 5. OpenCalc -- svobodnyj redaktor elektronnyh tablic

Slovo "komp'yuter", oznachayushchee bukval'no "vychislitel'" i voshodyashchee k lat. computare, segodnya ne nuzhdaetsya v perevode: povsemestno im oboznachayut elektronnye vychislitel'nye mashiny, i ono ponyatno dazhe nositelyam yazykov, v kotoryh dlya komp'yutera est' sobstvennoe slovo. Odnako v anglijskom, iz kotorogo ono i nachalo svoe rasprostranenie, eto slovo imeet i bolee ranee znachenie: chelovek, zanyatyj vychisleniyami.

Paradoksal'no, no skol'ko-nibud' sistematicheskogo issledovaniya voprosa o dinamike sovokupnoj "vychislitel'noj moshchi", kotorymi raspolagalo chelovechestvo do poyavleniya avtomaticheskih vychislitelej, v mirovoj literature ne sushchestvuet (po krajnej mere, s hodu ne nahoditsya), hotya samo soderzhanie obshchematematicheskogo obrazovaniya i professional'noj podgotovki do sih por napolneno, naryadu s teoreticheskimi svedeniyami o prirode i svojstvah matematicheskih ob容ktov, vpolne pragmaticheskimi priemami, sposobami, metodami effektivnogo ruchnogo scheta.

Takoe issledovanie budet neprostym predpriyatiem, uchityvaya, chto v bol'shinstve sluchaev vychisleniya byli ne otdel'noj professiej, a chast'yu drugih professional'nyh zanyatij. Buhgalter, inzhener, tehnik zatrachivali sushchestvennye usiliya na provedenie raschetov, yavlyayushchihsya chast'yu ih povsednevnoj raboty. Komp'yuter menyaet vse eto: ot professionala po-prezhnemu trebuetsya umenie primenit' sposob rascheta, no sami "vychislitel'nye ob容my" vypolnyayutsya vse bolee i bolee avtomatizirovanno.

Lish' v otnositel'no nebol'shom kolichestve sluchaev takie vychisleniya mozhno sdelat' polnost'yu avtomaticheskimi i centralizovannymi, svalit' ih na "chislomolotilki", a v bol'shinstve sluchaev raschety dolzhny provodit'sya umestno, v tom meste i v tot moment, kogda eto neobhodimo. Inymi slovami, ot vse bol'shego kolichestva professionalov ozhidaetsya umenie programmirovat' vychisleniya.

"Programmirovanie" zdes' upotrebleno ne v uzkom znachenii, svyazannom s opredelennoj professional'noj deyatel'nost'yu, ispol'zovaniem special'nyh sitem notacij i intellektual'noj discipliny, a v samom shirokom, sovpadayushchem s etimologiej slova. "Programmirovat'" oznachaet bukval'no vsego lish' "propisyvat' napered" te dejstviya, kotorye dolzhny byt' vypolneny.

5.1 "Ubojnoe prilozhenie" PK

U marketologov est' takoe slengovoe vyrazhenie: "ubojnoe primenenie", ili "ubojnoe prilozhenie" (killer application). Ono oznachaet to primenenie kakoj-libo mnogofunkcional'noj v svoej osnove veshchi, kotoroe formiruet osnovnuyu dolyu sprosa na nee i prevrashchaet ee iz modnoj novinki v massovyj tovar.

Poyavivshijsya na rubezhe semidesyatyh i vos'midesyatyh, v sravnenii s "nastoyashchim" dorogim komp'yuterom deshevyj PK byl vsem ploh, krome odnogo: on bystro vyvodil dannye na ekran.

Nuzhno vspomnit', chto v te vremena otnositel'no deshevye alfavitno-cifrovye terminaly soedinyalis' s mashinoj posledovatel'nymi interfejsami (RS-232), skorost' peredachi dannyh po kotorym obychno izmeryalas' v sotnyah znakov v sekundu, inogda, v tysyachah. Gorazdo bystree obmenivalis' dannymi X-terminaly, vklyuchennye v set', no eto oborudovanie drugogo klassa, stoivshee sovsem drugih deneg.

"Terminal" personal'nogo komp'yutera -- eto (ne schitaya klaviatury i "myshi") adapter, integrirovannyj na sistemnoj plate ili vstavlennyj v raz容m shiny s parallel'noj peredachej signala so skorost'yu, kak minimum v sotni raz prevyshayushchej propusknuyu sposobnost' posledovatel'nogo interfejsa, a na monitor, nahodyashchijsya vsego v desyatkah santimetrov ot komp'yutera, signal peredaetsya po analogovomu kabelyu.

Dazhe na rannih PK vyvod dannyh na ekran byl, v masshtabah chelovecheskogo vospriyatiya, mgnovennym (esli ne "tormozila", konechno, sama programma). |to pozvolilo otnositel'no deshevo realizovat' razlichnye prilozheniya, sama ideya kotoryh v tom, chtoby predstavit' pol'zovatelyu "zhivuyu" prezentaciyu kakih-libo dannyh. K chislu takih prilozhenij otnositsya polnoekrannoe redaktirovanie tekstov i, v osobennosti, rabota s elektronnymi tablicami. |lektronnye tablicy -- eto, po bol'shomu schetu, edinstvennoe prilozhenie komp'yutera, kotoroe bylo pridumano dlya PK i vpervye realizovano na PK. Segodnya, razumeetsya, blagodarya mnogokratno vozrosshej skorosti peredachi dannyh, redaktorami elektronnyh tablic mozhno pol'zovat'sya v komp'yuternyh sistemah i setyah prakticheski lyuboj topologii (upomyanutyj nizhe KSpread bez problem zarabotal na karmannom komp'yutere Sharp Zaurus).

5.2 Programmirovanie osobogo roda

My priderzhivaemsya otnyud' ne obshchepriznannoj tochki zreniya, soglasno kotoroj populyarnost' elektronnyh tablic kak delovogo prilozheniya komp'yutera, obuslovlena imenno prostotoj resheniya zadach, trebuyushchih programmirovaniya.

|lektronnaya tablica -- eto dvumernyj massiv, kazhdyj element (yachejka) kotorogo mozhet soderzhat' libo znachenie, libo vyrazhenie (formulu), prichem vyrazheniya v kachestve svyazannyh peremennyh mogut soderzhat' ssylki na drugie yachejki. (Mozhno schitat' znachenie (konstantu) chastnym sluchaem formuly, odnako po istoricheskim i ergonomicheskim soobrazheniyam sintaksis etih sushchnostej razlichen. Znacheniya, k kotorym privodyatsya yachejki, soderzhashchie formulu "=100" (esli, kak vo vseh izvestnyh nam sistemah upravleniya elektronnymi tablicami, sintaksis formuly predpolagaet "=" v pervoj pozicii) i konstantu 100, ravny.)

Po suti dela, elektronnaya tablica predpolagaet ispol'zovanie prostogo funkcional'nogo yazyka programmirovaniya (tochnee, sovremennye sistemy upravleniya elektronnymi tablicami kak pravilo realizuyut yazyk formul, funkcional'nyj v svoej osnove, no s elementami infiksnoj notacii, t.e. s vozmozhnost'yu vmesto "=funkciya1(funkciya2((summa(a; proizvedenie(b;c)))))" napisat' chut' koroche: "=funkciya1(funkciya2(a+b*c))").

Sintaksis etogo yazyka ocheviden dlya vseh, kto ponimaet, chto takoe formula v obychnom matematicheskom ponimanii. Krome togo, forma elektronnoj tablicy snimaet s pol'zovatelya-"programmista" zabotu ob organizacii dannyh (ih organizuet sama tablica, i vmesto imen peremennyh mozhno ispol'zovat' koordinaty yacheek), o vvode-vyvode i o svyazyvanii otdel'nyh konstrukcij v programmu (vychislenie formul proishodit po mere neobhodimosti).

Takim obrazom, s pomoshch'yu elektronnyh tablic v uchebnyj kurs informatiki mozhno vvodit' "nulevuyu stepen' programmirovaniya", ob座asnyaya, chto takoe vyrazhenie i peremennaya, no otkladyvaya na potom to, ot chego mozhno abstragirovat'sya (sushchnosti, perechislennye v predydushchem abzace, i drugie, bolee slozhnye).

5.3 Svobodnye redaktory elektronnyh tablic

Probezhavshis' po katalogam svobodnyh programm (takim, kak "kuznica koda" Sourceforge, soderzhashchaya tysyachi proektov), mozhno obnaruzhit' bolee dvuh desyatkov programm v kategorii "elektronnye tablicy". Bol'shinstvo iz nih -- nezavershennye ili bolee ili menee zakonchennye uchebnye proekty. Rabotu s elektronnymi tablicami mozhno, vidimo, schitat' zrelym personal'no-komp'yuternym prilozheniem: okazyvaetsya, za polgoda-god odin programmist v sostoyanii realizovat' (razumeetsya, opirayas' na sushchestvuyushchie biblioteki) do 90% funkcional'nosti, svojstvennoj lidiruyushchim programmam v etoj kategorii.

Odnako znakomstvo s soderzhaniem kommunikacii na forumah podderzhki pozvolyaet predpolozhit', chto real'nuyu shirokuyu pol'zovatel'skuyu auditoriyu poluchili tri svobodnyh proekta:

Upomyanutoe vyshe slovo -- zrelost' samogo prilozheniya -- klyuchevaya harakteristika. Nabor ozhidanij pol'zovatelya, v obshchem-to, izvesten, prichem ne tol'ko v chasti funkcional'nosti, no i v chasti osnovnyh ergonomicheskih harakteristik programmy: pomimo bogatyh vyrazitel'nyh vozmozhnostej samih funkcij, dlya raboty s elektronnymi tablicami vazhna t.n. "ostensivnaya" operatorika, inymi slovami, vozmozhnost' "pokazat' pal'cem" na ob容kt, s kotorym nuzhno proizvesti te ili inye dejstviya. Naprimer, "summirovat' znacheniya vot etih yacheek", a ne "... yacheek s A5 po D5". V bol'shej, chem v drugih prilozheniyah, mere ochevidny evristiki, kotorye dolzhny realizovyvat'sya programmoj v kachestve "podskazok"; naprimer, esli v yachejku, zavershayushchuyu dlinnyj stolbec chisel, pol'zovatel' nameren vvesti formulu, skoree vsego on summiruet znacheniya, a esli on nachal ryad "1 2 3" ili "yanvar', fevral', mart", skoree vsego, on prodolzhit ego ochevidnym obrazom.




Sootvetstvenno, razlichij mozhno ozhidat' lish' v detalyah realizacii funkcional'nosti i ergonomiki. I dejstvitel'no, bol'shinstvo redaktorov elektronnyh dablic, vklyuchaya i perechislennye, ochen' pohozhi.

Za dve nedeli, kotorye gotovilas' eta "lekciya", avtor (v obychnoj zhizni ne pol'zuyushchijsya etim klassom programm), proveryaya svoi vpechatleniya, "igral" s chetyr'mya podobnymi sistemami, pytayas' reshat' neslozhnye zadachki, kotorye obychno on reshaet (vvidu specifiki lichnogo profilya navykov) s pomoshch'yu SUBD, vklyuchaya 1) elementarnye inzhenernye raschety (rashod materialov i zhestkost' korpusnoj mebeli), 2) byudzhetirovanie nebol'shogo proekta, 3) byudzhetirovanie lichnyh rashodov. Pod goryachuyu ruku popali i 4) tri zadachki iz uchebnika algebry ego syna (za 11 klass), dve iz kotoryh dazhe udalos' s hodu reshit'.


V chislo etih sistem voshli tri upomyanutye svobodnye programmy i, v kachestve kontrol'nogo obrazca, ochen' populyarnaya nesvobodnaya Microsoft Excel (iz ofisnogo paketa Microsoft Office 2000). Vyvod: sushchestvennoj raznicy v vozmozhnostyah i sposobah ih realizacii 99% pol'zovatelej ne obnaruzhat. Nekotorye tonkosti: samoj "intuitivnoj" pokazalas' Gnumeric, luchshe vsego dokumentirovana Microsoft Excel, u poslednej takzhe naibolee razvity sredstva vizualizacii (postroenie grafikov i diagramm).

Tem ne menee, esli by avtoru predstoyalo regulyarno rabotat' s elektronnymi tablicami, skoree vsego, ego vybor pal by na sravnitel'no "seren'kuyu" OpenCalc iz-za edinstva interfejsa i integrirovannosti s OpenWriter i OpenDraw, kotorymi on pol'zuetsya regulyarno.

5.4 Obzor vozmozhnostej OpenCalc

Kak i ostal'nye upomyanutye programmy (za isklyucheniem Microsoft Excel), OpenCalc opredelyaet osoboe prilozhenie yazyka razmetki XML, kotoroe i ispol'zuetsya dlya hraneniya rabochih knig (pochemu-to workbook perevoditsya kak "rabochaya kniga", hotya voobshche-to eto obychnaya "tetrad'") s podshitymi v nih listami elektronnyh tablic. Kak i ostal'nye komponenty OpenOffice.org, OpenCalc upakovyvaet XML-fajl s soderzhimym (a takzhe ryad vspomogatel'nyh fajlov) v PKZIP-arhiv, kotoryj i yavlyaetsya edinicej hraneniya dokumenta. (O vazhnosti standartizacii yazykov predstavleniya dannyh v "ofisnyh" prilozheniyah my podrobno govorili v pervoj "lekcii", k kakovoj i otsylaem chitatelya.)

Krome "rodnogo" formata, OpenCalc "ponimaet" rasprostranennyj format, ispol'zuemyj Microsoft Excel raznyh versij, eksportiruet dannye v DIF (Data Interchange Format), formaty rannih versij StarCalc, potomkom kotoryh ona yavlyaetsya, SYLK, importiruet -- takzhe iz formatov dBase i Lotus 1-2-3. Knigu (workbook) mozhno s ochen' prilichnym kachestvom eksportirovat' v gipertekst (html 3.2).

Tekushchaya versiya (1.0) OpenCalc pozvolyaet rabotat' s otdel'nymi tablicami (listami) razmerom do 255 stolbcov (pronumerovannyh bukvami i dvuhbukvennymi sochetaniyami, ot A do IV) na 32000 strok (pronumerovannyh chislami), chego vpolne dostatochno dlya bol'shinstva ofisnyh primenenij i uzh, vo vsyakom sluchae, dlya lyubyh razumnyh uchebnyh zadach. OpenCalc dopuskaet absolyutnuyu i otnositel'nuyu adresaciyu yacheek i ih diapazonov.

V OpenCalc podderzhivaetsya tipizaciya dannyh s vozmozhnost'yu ih interpretacii kak chisel, denezhnyh summ, dat, vremeni, logicheskih znachenij i, nakonec, prosto teksta. Vozmozhny i opredelyaemye pol'zovatelem tipy. Dlya nekotoryh tipov opredeleny razlichnye formaty predstavleniya, zadayushchie sposob ih otobrazheniya ili pechati. V sluchae, esli yachejka soderzhit formulu, ee rezul'tat takzhe mozhet byt' tipizovan.

Biblioteka funkcij OCalc dostatochno kompaktna -- ih okolo treh s polovinoj soten. Ona razbita na ryad kategorij: upravlenie BD, rabota s datami i vremenem, finansy, statistika i t.p. Imeyutsya sredstva rasshireniya etogo nabora.

OpenCalc realizuet takie sredstva, kak:

Moshchnyj mehanizm stilej oformleniya, svojstvennyj vsem komponentam paketa OO.o, dostupen i v OpenCalc. Stili oformleniya mogut opredelyat'sya dlya otdel'nyh yacheek, ih sovokupnostej, listov i rabochih knig v celom, a takzhe dlya vklyuchaemyh elementov, takih kak tekst ili illyustracii (v tom chisle, grafiki i diagrammy).

* * *

Ser'eznymi dostoinstvami OpenCalc yavlyayutsya:

1) svobodnoe licenzirovanie i konkurentnaya postavka (s sootvetstvuyushchimi cenovymi posledstviyami);

2) nezavisimost' ot OS (i pol'zovanie im ne diktuet prakticheski nikakih ogranichenij na vybor operacionnoj sistemy i operacionnoj sredy). Bolee togo, navyki raboty s etoj programmoj takzhe v bol'shoj stepeni perenosimy. Fakticheski, OO.o vyglyadit i upravlyaetsya odinakovo pod lyuboj standartnoj OS (razrabotchiki govoryat o podderzhke Linux i Solaris; izvestno ob ustojchivoj rabote paketa pod FreeBSD), a takzhe pod Microsoft Windows 9x/Me i Microsoft Windows NT/00/XP, est' eksperimental'nyj port (perenos) na "Makintoshi", pod MacOS X (po nekotoroj informacii, v komandu uzhe voshli predstaviteli Apple Computers);

3) on ispol'zuet v kachestve yazyka razmetki standartnyj XML. V kachestve kodirovki ispol'zuetsya Unicode, chto pozvolyaet zabyt' pro tret'yu (posle klassicheskih "durakov i dorog") rossijskuyu problemu s raznoboem v kodovyh tablicah, ispol'zuemyh dlya predstavleniya kirillicy v raznyh sistemah,

4) v komande razrabotchikov est' rossijskie programmisty i firmy, kotorym nebezrazlichny perspektivy ego primeneniya v shkole.

5.5 Resursy

Paket OO.o vhodit vo vse "bol'shie" (mnogodiskovye universal'nye) distributivy OS Linux i vo mnogie "malen'kie" (odno-, dvuh- i trehdiskovye, isklyuchaya orientirovannye isklyuchitel'no na servernoe primenenie).

My rekomenduem obratit' vnimanie na rossijskuyu sborku OO.o, postavlyaemuyu s ALT Linux ("bol'shoj" distributiv Master i "malen'kij" Junior; www.altlinux.ru) i ASPLinux (v razlichnyh variantah, www.asplinux.ru). V nej ran'she, chem v osnovnoj vetke, poyavlyayutsya novye vozmozhnosti, orientirovannye na russkoyazychnogo pol'zovatelya, v to zhe vremya, zaderzhka sborok novyh versij (po otnosheniyu k osnovnoj vetvi razrabotok) minimal'na.

Mnogoplatformennaya (Linux i Microsoft Windows) rossijskaya sborka dostupna v sostave sbornika OpenOffice.ru, ego mozhno vzyat' na sajte www.openoffice.ru ili priobresti (spisok resellerov dostupen na tom zhe sajte) odnodiskovuyu korobku. O rossijskih sborkah OOO pod "Makintosh", Solaris i drugie OS nam nichego ne izvestno, i ih pol'zovatelyam mozhno porekomendovat' sledovat' po ssylkam s www.openoffice.org.

Osnovnoj russkoyazychnyj resurs, posvyashchennyj OpenOffice, -- eto tot zhe sajt www.openoffice.ru i ego satellity (vklyuchaya http://docs.openoffice.ru). Osnovnoj mezhdunarodnyj resurs -- eto bazovyj sajt razrabotki www.openoffice.org).

OO.o voobshche i OpenCalc v chastnosti poka osveshcheny lish' v sravnitel'no nebol'shom kolichestve publikacij. Vnimaniya zasluzhivayut [6-8].

Lekciya 6. Stroka dlinoyu v zhizn'

Sushchestvuet shiroko rasprostranennoe zabluzhdenie, soglasno kotoromu graficheskij interfejs yakoby predstavlyaet soboj vysshuyu i poslednyuyu stadiyu razvitiya pol'zovatel'skih interfejsov, a (komandnaya stroka( -- eto nechto primitivnoe i malopoleznoe, esli ne ustarevshee.

Na samom dele, eta posledovatel'nost' otrazhaet ne chto inoe, kak poryadok, s kotorym s dvumya osnovnymi metaforami organizacii pol'zovatel'skih interfejsov poznakomilis' pol'zovateli personal'nyh komp'yuterov. Vplot' do nachala devyanostyh PK byli prostymi i malomoshchnymi, podderzhka grafiki i vozmozhnost' komfortnoj raboty s okonnymi graficheskimi sistemami poyavilas' na nih nedavno (dazhe v masshtabe stremitel'no razvivayushchejsya informacionno-tehnologicheskoj otrasli).

Odnako za gody do etogo graficheskie interfejsy uzhe shiroko primenyalis' na rabochih stanciyah -- konechno, bolee dorogom, redkom i specializirovannom oborudovanii. Esli byt' tochnymi, to obe koncepcii v ih bolee ili menee sovremennom vide sformirovalis' primerno v odno vremya.

V 1967-68 gg. Dug |ngel'bart predstavil prototip t.n. WIMP-interfejsa, t.e. interfejsa, ispol'zuyushchego ponyatiya okon (windows), piktogramm (icons), menyu (menus) i ukazatelej (pointers), yavlyayushchihsya klyuchevymi i dlya segodnyashnih graficheskih pol'zovatel'skih sred.

V 1968-69 gg. Ken Tomson i Dennis Richi predstavili pervyj reliz OS UNIX, po suti, yavivshejsya prototipom artikulirovannoj sistemy sovremennyh ponyatij prakticheskoj informatiki, takih, kak processy i fajly, i soderzhashchej neprotivorechivyj, logichnyj i lakonichnyj yazyk raboty s sootvetstvuyushchimi im sushchnostyami, kotoryj spustya poltora desyatka let stal standartnym pol'zovatel'skim interfejsom OS. (Rubezh shestidesyatyh i semidesyatyh -- uzhe -- proshlogo -- veka voobshche yavlyaetsya "osevym vremenem" informatiki i vychislitel'noj tehniki...).

Razumeetsya, kak odna, tak i vtoraya metaforicheskie sistemy poyavilis' ne na golom meste, i ih rodoslovnuyu mozhno prosledit' nazad vplot' do istokov vychislitel'noj tehniki: do kommunikacionnoj paneli pervyh komp'yuterov, kak veshchi tverdoj i ves'ma graficheskoj (ili, vo vsyakom sluchae, zhivopisnoj) -- eto konec sorokovyh, i do yazykov upravleniya zadaniyami v pervyh programmnyh planirovshchikah, zagruzchikah i OS -- eto seredina pyatidesyatyh, sootvetstvenno. Otmetim, chto ideya upravleniya komp'yuterom kak "priborom" -- s pomoshch'yu organov upravleniya (nevazhno, "v zheleze" ili narisovannyh na ekrane) starshe idei "dialoga" pri pomoshchi slov.

Pri etom, dlya bol'shinstva pol'zovatelej znakomstvo s "komandnoj strokoj" do nedavnego vremeni otyagoshchalos' radikal'nym uproshcheniem i izmeneniem, kotorym yazyk standartnoj obolochki OS byl podvergnut pri razrabotke OS dlya PK (takih, kak CP/M, MS-DOS (PC-DOS) i klonov poslednej). Ogranichivayas' znakomstvom so sredstvami MS-DOS i ee komandnyh fajlov, o metafore "komandnoj stroki" mozhno sostavit' lish' ves'ma prevratnoe i ubogoe predstavlenie.

6.1 Tekstofobiya

Dlya lyudej starorezhimnyh, nachinaya ot vozrasta avtora (emu 33) i starshe, komp'yuter udivitelen i strashen svoej unikal'noj sposobnost'yu k simvolicheskoj aktivnosti. My vyrosli v mire "glupyh" veshchej, passivnyh ili proyavlyayushchih svoyu aktivnost' chisto mehanicheski (kak avtomobil', kotoryj mozhet bystro dovezti, ili zhe razdavit', esli vovremya ne uvernesh'sya), i nesposobnyh k dialogu v bytovom okruzhenii. K dialogu sposobny byli veshchi kul'tury (kniga, kartina, simfoniya) -- no oposredovanno, v otdel'nyh, otvedennyh dlya etogo mestah, v naznachennoe vremya i pri tshchatel'nom otbore sobesednikov.

Vozmozhno, pirozhnoe i govorilo, po Kurtu Levinu, na svoem konditerskom yazyke "s容sh' menya", no nichego podobnogo prodemonstrirovannoj nam nedavno upakovke, govoryashchej "kupi menya" uzhe obychnym chelovecheskim golosom (prichem, s uchetom fizioantropometricheskih dannyh priblizivshegosya pokupatelya), ne bylo. Veshchi byli "glupymi", skol' by izoshchrennyj um svoih sozdatelej oni ne voploshchali, a umnymi byli tol'ko lyudi.

Avtor do sih por nahoditsya pod vliyaniem pervogo svoego opyta v desyatiletnem vozraste obshcheniya s komp'yuterom, chto-to emu otvetivshim v otvet na vvedennuyu stroku. Otvetivshim osmyslenno. (Podrobnostej on ne pomnit, no, skoree vsego, pervym otvetom bylo ukazanie na to, chto komanda soderzhit sintaksicheskuyu oshibku.) Slovo strashen vyshe -- ne sluchajno, no, v konce koncov, komp'yutery byli togda nadezhno zaperty v svoih vychislitel'nyh centrah.

Rol' kletki dlya etogo zverya dlya ochen' mnogih segodnya igraet gladkaya poverhnost' "graficheskih interfejsov", skryvayushchaya dialog. Komp'yuter, prikrytyj takim obrazom, uzhe ne demonstriruet pugayushchuyu simvolicheskuyu nagotu. On reagiruet na nazhatuyu knopku s kartinkoj -- mozhno uspokaivat' sebya, chto eto takaya hitraya mashinka: pylesos posle nazhatiya knopki soset, a komp'yuter -- pechataet, svyazano vse chisto mehanicheski, i nikakogo chelovechka, kotoryj s iznanki interfejsa posmotrel, kuda zhe ty nazhal i opredelil, chto zhe sdelat' s kartinkoj, net.

Na samom dele prizrak malen'kih chelovechkov est' -- za kulisami gladkoj razrisovannoj poverhnosti idet obmen takimi zhe -- mutatis mutandis -- soobshcheniyami, chto ozadachili avtora, kogda on byl malen'kim. Ot nyneshnih malen'kih ih hotyat popryatat', kak elektricheskij tok za izolyaciej. CHtoby ne stuknulo. No v shkafu kazhdogo komp'yutera, bud' on trizhdy personal'nyj, spryatan skelet iskustvennogo razuma, pri vsej uslovnosti poslednego vyrazheniya.