Hneď na úvod sme opäť dostali študijné materiály – prehľadné, zrozumiteľné, názorné, farebné. Vysoko oceňujem ich kvalitu, výborne sa mi z nich učí. Výber najdôležitejších poznatkov zosumarizovaný na 20-tich stranách textu nepreťažuje, ale naopak pomáha ľahko si osvojiť najpodstatnejšie fakty a súvislosti.
Docentka Andrejková urobila v sobotu malý prieskum - zisťovala, či je medzi nami niekto, kto ešte neprogramoval, kto z nás má skúsenosti s programovaním v Delphi, v akých programovacích jazykoch sme doposiaľ programovali a pod. Keďže sme všetci učitelia informatiky, každý z nás má skúsenosti s programovaním. Starší z nás, ktorí učíme na SOŠ, však začíname oprašovať svoje skúsenosti spred niekoľkých (v niektorých prípadoch aj 20-tich) rokov. Každý z nás má skúsenosti s iným programovacím jazykom a vývojovým prostredím – Fortran, Turbo Pascal, C++, Comenius Logo, atď. Myslím si, že nikto z nás nemá problém s algoritmami. Problémy podľa môjho názoru vznikajú s ich rôznymi zápismi v rôznych programovacích jazykoch, teda s ich syntaxou.
V prvej časti sobotňajšieho 4-hodinového bloku sme sa zoznamovali s vývojovým prostredím Lazarus, učili sme sa pracovať s komponentami, spúšťať programy a vytvárať prvé aplikácie s tlačidlami, ktoré spúšťajú príkazy s grafickou plochou, ktorá zobrazuje výstup programu. Chvíľu mi trvalo, kým som sa vo vývojovom prostredí zorientovala. Od prostredí niektorých iných, napr. kancelárskych aplikačných programov sa líši tým, že má až 4 časti:
- hlavná ponuka,
- inšpektor objektov,
- editor kódu, čiže okno s programom,
- formulár.
V druhej časti sme sa učili používať generátor náhodných čísel, meniť vlastnosti komponentov, spoznávať lokálne a globálne premenné, typy hodnôt, získavať vstupné údaje od používateľa pomocou editovacieho políčka a napokon používať podmienené príkazy, cykly s pevným počtom opakovaní a cykly s podmienkou. Celkom vhod by mi bola prišla kartička s príkazmi. Vo svojej sivej kôre mozgovej som potrebovala nahradiť príkazy písané „staropaskalovčinou“ za „novopaskalovčinu“, napr. namiesto Writeln používať TextOut.
V tejto druhej časti som si pripadala ako bežec Košického maratónu mieru, ktorý musí zvládnuť prebehnúť dlhú trať za čo najkratšiu dobu. Výber úloh bol výborne zostavený, ale vymedzený čas na ladenie vytváraných programov sa mi zdal krátky. Sledovať výklad, robiť si poznámky, tvoriť oknovú aplikáciu a hlavne hľadať chybu, ak sa pomýlim (urobím preklep v príkaze, vynechám zátvorku, bodkočiarku, či voľajaký parameter príkazu) a začne vyskakovať chybové hlásenie, pretože správne je canvas a nie canvast a pod., bolo pomerne náročné. Povedané športovou terminológiou, musím intenzívne trénovať, aby sa moje časy potrebné na prekonávanie „bežeckých“ tratí postupne skracovali...
Pri zoznamovaní sa s novými prostrediami potrebujem dostatok času na utriedenie, zosumarizovanie a zafixovanie nových informácií. Keď ho mám k dispozícii, potom už ide všetko hravo. Našťastie na odovzdanie vypracovaného záverečného zadania máme k dispozícii 2 týždne, takže to (metódou „step by step“) v pohode zvládnem.
Záverečné zadanie znie:
Naprogramujte projekt, v ktorom budete pomocou tlačidla a editovacieho políčka kresliť obrázok lesa. Po stlačení tlačidla sa z editovacieho políčka načíta hodnota N a na náhodných pozíciách sa vykreslí N stromov. Korunu stromu vykresľujte ako zelenú elipsu a kmeň ako hnedý obdĺžnik. Veľkosti strán všetkých obdĺžnikov generujte náhodne z intervalu od 30 do 70.
Rozdelenie úlohy na dielčie úlohy:
Úlohu som rozdelila na 3 menšie úlohy...
- Nakresliť hnedý kmeň stromu. Tvorba editovacieho políčka, používanie podmieneného príkazu, kreslenie obdĺžnika ľubovoľnej veľkosti, vypĺňanie obdĺžnika zvolenou farbou.
- Nakresliť celý strom - kmeň s korunou stromu podľa zadania. Generovanie náhodného čísla z určitého intervalu, kreslenie elipsy.
- Nakresliť N stromov na náhodných pozíciách, všetko skompletizovať. Používanie príkazu cyklu.
- Načítaj dĺžky strán a, b obdĺžnika.
- Výške kmeňa stromu priraď väčšiu z dvoch dĺžok, šírke kmeňa stromu priraď menšiu z dvoch dĺžok.
- Nakresli obdĺžnik, vyplň ho hnedou farbou.
Procedúra na kreslenie kmeňa stromu je hotová:
// hlavička procedúry
procedure TForm1.Button1Click(Sender: TObject);
var a, b: integer;
// telo procedúry
begin
a:=StrToInt(Edit1.Text);
b:=StrToInt(Edit2.Text);
Image1.Canvas.Pen.Color:=ClBlack;
Image1.Canvas.Brush.Color:=ClMaroon;
// podmienený príkaz
if a>b then Image1.Canvas.Rectangle(0,0,b,a) else
Image1.Canvas.Rectangle(0,0,a,b);
end;
Na dnes hádam stačí, pokračovanie nabudúce...
Úplne na záver ešte malá rekapitulácia použitých príkazov, zosumarizovanie nových poznatkov:
Var – deklarácia premenných
Integer – celé číslo
Begin – začiatok
:= – priradenie hodnoty
StrToInt – zmena textového reťazca na celé číslo
Pen.Color – farba pera (farba, ktorou sa vykreslí obrys geometrického útvaru)
Brush.Color – farba štetca (farba, ktorou sa vyplní plocha)
Rectangle (x1, y1, x2, y2) – obdĺžnik so súradnicami dvoch bodov, medzi ktoré sa obdĺžnik nakreslí; (x1, y1) sú súradnice prvého vrcholu obdĺžnika, (x2, y2) sú súradnice protiľahlého vrcholu obdĺžnika
If podmienka then príkaz1 else príkaz2 – ak je podmienka splnená, tak sa vykoná príkaz1, ak podmienka nie je splnená, tak sa vykoná príkaz2
Button1Click je názov procedúry, ktorá sa vykoná vtedy, keď v spustenom programe stlačíme komponent tlačidlo.
Aplikácie sa vytvárajú z komponentov, čiže stavebných prvkov, koré slúžia na:
- interakciu používateľa s programom
- zadávanie vstupných hodnôt
- zobrazovanie výstupných hodnôt
- riadenie behu aplikácie
Medzi najpoužívanejšie komponenty patrí:
- editovacie políčko (Edit)
- obrázok (Image)
- ponukový list, zoznam (ListBox)
- výberové políčko (RadioButton)
- tlačidlo (Button)
- textová plocha (Memo)
- zaškrtávacie políčko (CheckBox)
Žiadne komentáre:
Zverejnenie komentára