Baltík

Baltík
Ukázka tvorby programu. V popředí nahoře je zobrazena nabídka příkazů.

Baltík je programovací jazyk a vývojové prostředí určené především k výuce programování na základních a středních školách, tedy hlavně pro děti a mládež. Na rozdíl od jiných programovacích jazyků se v nástrojích rodiny Baltík neprogramuje pomocí textových příkazů, ale textové příkazy jsou nahrazeny ikonkami (ve verzi Baltie 4 C# lze psát i přímé textové příkazy).

Historie programu

Ikonové jazyky Baltík 2, Baltík 3 a Baltie 4 C# vyvinula česká společnost SGP Systems (první verze byla uvolněna na jaře 1996). Vznikly z jazyka Baltazar (1993) a jsou založeny na bázi jazyka C. Baltie 4 C# je založen přímo na jazyku C# (Csharp) a platformě .NET. Programovací nástroje SGP Baltie (2, 3, 4) slouží především k výuce programování a programátorskému experimentování. V současné době (2015) jsou v prodeji verze SGP Baltík 3.0.71 a SGP Baltie 4 C# (Pro). V praxi se používají zkrácené názvy pro tyto programy a to: B2, B3, B4 a B4P. Baltík se stal vzorem pro celou řadu dalších výukových programovacích nástrojů, mj. například Scratch (vyvinutý na základě Baltíka 3 v roce 2003 na MIT). Baltík je zatím (r. 2015) stále jediným plně grafickým (ikonovým) standardním programovacím jazykem (na bázi C, Pascal).

SGP Baltík 3

Baltík 3 je pokračovatelem starší verze Baltík 2. Programovací jazyk neobsahuje kompilátor, to znamená, že nemůže vytvářet soubory s příponou .exe. Absence kompilátoru také způsobuje pomaleji běžící programy a oznamování chyb až za běhu, jelikož příkazy jsou interpretovány za běhu programu. Obrazovka, ve které spuštěný program běží, je omezena na rozměry 585 × 290 pixelů a nejde ani roztáhnout ani zmenšit. Prostředí je určeno především pro pochopení základů programování a není připraveno na vytváření větších projektů. Obzvláště jednoduché jsou v něm grafické příkazy (vzhledem k zaměření na dětské programátory). Programuje se procedurálně.

Programy vytvořené v Baltíkovi 3 vyžadují pro svůj běh nainstalovaného Baltíka 3. Zdarma lze stáhnout zkušební verzi, která je omezená pouze nemožností ukládat jakékoliv změny, ale mohou se pomocí ní spouštět programy vytvořené plnou verzí.

Baltík 3 obsahuje několik režimů a malování:

  • Skládat scénu
  • Čarovat scénu
  • Programovat (rozděleno na režim pro začátečníky a pokročilé)

Režim skládat scénu

Režim skládat scénu.

Režim skládat scénu je určen nejmenším dětem, aby se naučily pracovat s počítačem a Baltíkem. Jak napovídá název, skládá se v tomto režimu scéna z předmětů, což jsou malé obrázky (39 × 29 pixelů). Scéna má rozměr 585 × 290 pixelů (přesně jako obrazovka programu vytvořeného v Baltíkovi). Tyto předměty jsou částí banky, obrázku, jež má stejné rozměry jako scéna. Banka je rozdělena stejně jako scéna na 15 × 10 předmětů. Editování scény probíhá vybíráním předmětů z banky a vložením na nějaké místo do scény. Předmět se pak dá pomocí myši přesouvat nebo kopírovat. Baltík obsahuje několik předdefinovaných bank, které se dají upravovat a vytvářet pomocí režimu Malování. Scénu lze uložit a poté načíst v programu v režimu Programovat.

Režim čarovat scénu

Režim čarovat scénu.

Podobá se režimu Skládat scénu, ale zde se scéna vytváří pomocí Baltíka, postavičky, která se ovládá tlačítky popojdi vpřed, otoč se vpravo, otoč se vlevo, čaruj předmět z banky a čaruj poslední vyčarovaný předmět. Baltík se tedy pohybuje po scéně a předměty čaruje před sebe. Čarováním předmětů se vytváří scéna.

Programovací režim

Programovací režim se rozděluje na režim Pokročilý a Začátečník.[1] Pomocí ikonek se na obrazovce vytvoří nějaký program (ikonky symbolizují textové příkazy). Program se pak spustí pomocí zelené šipky v okně o rozměrech 585 × 290 pixelů, v kterém se dají sledovat proměnné a pozastavit či případně úplně vypnout běh programu. Baltík nemá kompilátor, z čehož vyplývá, že chod programů je pomalejší než u zkompilovaných programů.

V programu můžete použít Baltíka, předdefinovanou postavičku, která podle příkazů běhá po obrazovce a čaruje předměty (malé obrázky o rozměrech 39 × 29 pixelů). Dá se také jednoduše zobrazit banka (obrázek sestávající z předmětů) a scéna vytvořená v režimu Skládat scénu nebo Čarovat scénu. V příkazech najdete ikonky k ovládání Baltíka, vytvoření základních programových konstrukcí (podmínky, cykly), základní matematické funkce, animace s předměty, souřadnicové příkazy, příkazy pro práci s proměnnými, soubory, adresáři, klávesami atd. V Baltíkovi jdou vytvářet procedury nazvané pomocníci, ale nelze vytvářet funkce (procedury s návratovou hodnotou). Baltík podporuje i spouštění souborů a to zvuků WAV a MIDI, obrázků (jen .BMP) a videí ve formátu AVI.

Malování

Malování v Baltíkovi 3.

Baltík 3 disponuje také jednoduchým malováním. V režimu malování se upravují banky o rozměrech 585 × 290 (každá banka je rozdělena na 150 předmětů). Baltík obsahuje 14 předdefinovaných bank. Malování má jenom základní funkce podobně jako Malování ve Windows.

SGP Baltie 4 C#

Program Baltie 4 C# je stále ještě ve vývoji. Zde uvedené informace se mohou změnit.

Program SGP Baltie 4 C#[2] je volným pokračovatelem Baltíka 3. Oproti němu je založen na jazyku Csharp (C#) a obsahuje i kompilátor Csharpu, může tedy vytvářet .exe soubory. Programuje se objektově. Program se v něm dá vytvářet jak pomocí ikonek, tak pomocí klasického psaní kódu (je podporováno zvýraznění syntaxe i automatické doplňování). K dispozici je i náhled C# kódu celého programu (včetně kódu, který se vkládá automaticky).

Další změnou ve verzi Baltie 4 C# je jednoduché vytváření 3D programů, kdy se celý prostor vytváří automaticky a programátor do něj jen vkládá modely (předdefinované nebo vlastní). Obrazovka programu může mít libovolnou velikost, což v Baltíkovi 3 ještě nebylo. Baltie 4 C# obsahuje několik režimů, lišících se předdefinovaným kódem, který nelze přímo měnit, referencemi na knihovny apod.:

  • 3D programovací režim (s postavičkou Baltíka nebo bez ní),
  • 3D interaktivní režim,
  • 2D programovací režim (s Baltíkem nebo bez něj),
  • 2D interaktivní režim,
  • Konzole programovací režim,
  • C# režim (ten je dále rozdělen na několik velice podobných režimů),
  • Editor modelů,
  • Editor dílků.

Stejně jako u Baltíka 3 lze stáhnout demoverzi, pro plnou verzi je nutné zakoupit aktivační klíč.

3D interaktivní režim

V tomto režimu jde v podstatě jenom o ovládání Baltíka ve 3D prostoru pomocí tlačítek. Obraz můžete pomocí myši libovolně otáčet, přibližovat či oddalovat (otočení se dá uložit do samostatného příkazu). V okně se nachází panel s příkazy, které se po stisku příslušného tlačítka provedou (Baltík například popojde, něco vyčaruje atd.) a objeví se dole jako ikonka v seznamu ostatních provedených příkazů (lze ho editovat podobně jako příkazy v programovacích režimech). Pokud byste se chtěli přehrát to, co jste dosud udělali, stačí zmáčknout zelenou šipku. Také se dá změnit pozadí buď na prázdné (černé) nebo na některý ze skyboxů (3D pozadí, zobrazující například oblohu a krajinu na horizontu). Je zde možnost uložit současné rozmístění vyčarovaných 3D objektů včetně Baltíka do scény.

2D interaktivní režim

2D interaktivní režim je velmi podobný 3D interaktivnímu režimu. Místo 3D Baltíka zde vystupuje 2D Baltík, který se pohybuje na 2D ploše podobné té z Baltíka 3. Funkce a tlačítka jsou téměř shodná s 3D režimem, chybí jen specifická pro 3D prostor.

3D programovací režim

V 3D programovacím režimu se vytváří programy, které se po kliknutí na zelenou šipkou zkompilují a pak spustí v okně o libovolné velikosti. Okno zobrazuje Baltíkův 3D prostor, který lze otáčet, přibližovat a oddalovat pomocí myši. Jako v Baltíkovi 3 jde program vytvářet pomocí ikonek, možností navíc je přímé psaní příkazů v Csharpu (podporováno zvýraznění syntaxe a nabídka metod objektů). Nechybějí příkazy k ovládání Baltíků, kterých je deset lišících se barvou plus jeden zástupný (Baltíky lze použít pouze v režimu s Baltíkem). Jsou také přítomny klasické příkazy a funkce známé ze C#. Mnoho příkazů je určeno pro práci s 3D objekty a 3D prostorem (vytváření mlhy, světel a animací). Za zmínku stojí funkce pro přehrávání videí a hudby, práce s více vlákny (umožňuje, aby několik příkazů běželo najednou). To, co jste naprogramovali si můžete prohlédnout v C# kódu v náhledu C# kódu.

Baltík obsahuje i pokročilé programátorské funkce, jako je sledování proměnných, breakpointy, sledování instance a další. 3D programovací režim se rozděluje na 3D programovací režim bez Baltíka a 3D programovací režim s Baltíkem (jedná se o totožné režimy, režim s Baltíkem obsahuje navíc příkazy pro ovládání Baltíka).

2D programovací režim

2D programovací režim se podobá 3D programovacímu režimu, jen je ochuzen o práci v 3D prostoru (mlha, světla apod.). V podstatě navazuje na programovací režim pokročilý z Baltíka 3, ale je vylepšen o příkazy a typy proměnných ze C#, lepší práci s grafikou, možnost změny rozměrů okna a více různobarevných dvourozměrných Baltíků (v režimu s Baltíkem), z nichž jeden, fialový, se shoduje s Baltíkem ve verzi 3. Také předměty jsou převzaté z předchozí verze, malování je ale změněno a jde v něm upravovat jen jeden několikanásobně zvětšený předmět. Stejně jako 3D režim obsahuje náhled vytvořeného kódu v C#, možnost psaní přímo v C# pomocí textového panelu, vytváření .exe souboru a funkce pro ladění programu. Rozděluje se na programování bez Baltíka a na programování s Baltíkem podobně jako 3D programovací režim.

Konzole programovací režim

Tento režim se podobá 2D/3D programovacímu režimu, ale postrádá práci s grafikou (na obrazovku jdou vypisovat pouze texty). Jelikož není možné zobrazit grafiku, chybí zde postavička Baltíka a příkazy na jeho ovládání. Lze tedy vytvářet pouze konzolové aplikace. Mimo programování pomocí ikonek je možné vkládat přímo kód v jazyce C# a celý program si prohlédnout v náhledu C# kódu.

Čistý C# režim (verze Pro)

Pro ty, kteří nemají v oblibě ikonky, ale raději píší kód v C# v textovém editoru, je určen C# režim (pouze ve verzi Baltie 4 C# Pro). Jedná se o plnohodnotný textový editor C# se zvýrazněním syntaxe, navrhováním na doplňování kódu a sbalováním/rozbalování bloků kódu. Čistý C# režim má k výběru několik vzorů (šablon), které jsou určeny pro tyto typy aplikací: Prázdná aplikace, Konzolová aplikace, Okenní aplikace, 2D aplikace a 3D aplikace.

Editor modelů

Stejně tak, jako obsahuje Baltík 3 malování na úpravu předmětů, tak i Baltie 4 C# obsahuje editor 2D dílků (předmětů). Kromě něj obsahuje Baltie 4 C# ještě editor na úpravu 3D modelů. Modely se nedají vytvářet, jen lze upravovat jejich barvy, či je skládat ve větší celky. Tento editor má tři záložky (režimy): úprava modelu, kde se dá měnit barva materiálu, průhlednost materiálu a několik dalších efektů s materiály, dále pak měnit velikost modelu, převracet model apod. Dalším režimem je skládání skupiny modelů z jednotlivých modelů nebo skupin. Poslední záložka slouží k prohlížení animovaných modelů bez možnosti editace a zobrazení hierarchie modelu.

Do editoru lze importovat modely ve formátech .x, .3DS a .OBJ.

Soutěže

V Baltíkovi existuje mnoho soutěží, na této stránce se vyskytují jen ty nejvýznamnější.

Creative Baltie

Creative Baltie, do roku 2007 Baltík + Baltazar, ještě dříve Present Baltazar, má největší tradici v soutěžích v programovacím jazyce Baltík. První ročník se konal v roce 1993. Soutěž obvykle probíhá na podzim na Fakultě informačních technologií VUT v Brně, do 10. ročníku včetně ale probíhala na veletrhu Invex. Soutěžící, kteří se chtějí této soutěže zúčastnit, musejí doma naprogramovat program v Baltíkovi 4 C# nebo v Baltíkovi 3. Dříve, když ještě nebyl Baltík 4 C#, tj. do 12. ročníku, byla soutěž určená pro programy v Baltíkovi 3 a v Baltazarovi. Soutěží se ve 4 kategoriích: kategorie A je pro ty nejmenší (0 - 3 třída), kategorie B pro žáky (4 - 6 třída), kategorie C pro žáky (7 - 9 třída) a kategorie D pro studenty středních škol.

Každý soutěžící, který postoupí do finále, musí svůj program prezentovat před odbornou porotou a ostatními soutěžícími. Od 14. ročníku se soutěž začala dělit do dvou částí. Národní kolo a mezinárodní kolo (v mezinárodního kole je podmínkou, že projekt bude v angličtině). Hlavními cenami jsou obvykle PDA nebo notebooky.

Baltie

Tato mezinárodní soutěž probíhá od roku 2003. Soutěžící v ní žáci základních a středních škol a je rozdělena opět do 4 věkových kategorií. Do roku 2012 soutěžily až tříčlenné týmy, od roku 2013 soutěží jednotlivci. Soutěž má zpravidla čtyři kola (domácí, školní, regionální, mezinárodní). Organizátoři zveřejní na internetu obvykle 8 úloh, které žáci řeší. Soutěže se zúčastňují soutěžící převážně z Česka, Polska, Slovenska a Běloruska.

Další soutěže

V Baltíkovi se koná mnoho dalších mezinárodních soutěží většinou tvůrčích (Christmas, Easter, Euro 2012, Baltík Ekolog apod.).

Poznámky

  1. Protože Začátečník je jenom okleštěný režim Pokročilý (obsahuje 2 první řádky ikonek z pokročilého a nejsou v něm dostupné některé funkce jako proměnné apod., dá se v něm v podstatě ovládat jenom postavička Baltíka), zabývá se následující text jenom pokročilým režimem.
  2. K zakoupení jsou verze SGP Baltie 4 C# a SGP Baltie 4 C# Pro, zde je popsána jenom verze Pro.

Externí odkazy

Stažení jazyku Baltík níže http://sgp.cz/cz/Download.asp

Média použitá na této stránce

Baltik.PNG
Autor: Původně soubor načetl Japo na projektu Wikipedie v jazyce čeština, Licence: Attribution
Tento obrázek je část snímku programu Baltík 3 od firmy SGP Systems.
Baltik3-screenshot3.PNG
Autor: Původně soubor načetl Japo na projektu Wikipedie v jazyce čeština, Licence: Attribution
Snímek obrazovky programu Baltík 3 od firmy SGP Systems.
Baltik3-screenshot1.PNG
Autor: Původně soubor načetl Japo na projektu Wikipedie v jazyce čeština, Licence: Attribution
Snímek obrazovky programu Baltík 3 od firmy SGP Systems.
Baltik3-screenshot4.PNG
Autor: Původně soubor načetl Japo na projektu Wikipedie v jazyce čeština, Licence: Attribution
Snímek obrazovky programu Baltík 3 od firmy SGP Systems.
Baltik3-screenshot5.PNG
Autor: Původně soubor načetl Japo na projektu Wikipedie v jazyce čeština, Licence: Attribution
Snímek obrazovky programu Baltík 3 od firmy SGP Systems.