nika.blog.matfyz.sk

Veronika Dropčová
veronika.dropcova(at)gmail.com

08 – konštanty

V našich programoch sme už používali konštanty rôznych typov, napríklad celé čísla (0,1,54, …), texty (‚Delphi‘, ‚programujeme‘,…) a farby (clRed, clBlue, …).

Niektorým z týchto konštánt ale môžeme dať vlastné mená. Zadefinujeme identifikátor konštanty a určíme mu jeho hodnotu:

 

const
   Hrube = 10;
   Tenke = 1;
   Modra = clBlue;
   Velkost = 120;

V programe potom budeme môcť tieto konštanty používať takto:

Image1.Canvas.Pen.Width := Hrube;
Image1.Canvas.Brush.Color := Modra;
Image1.Canvas.Rectangle(0, 0, Velkost, Velkost);

 

Konštanty sú pomenované identifikátormi (Hrube, Tenke, Modra, Velkost, …) a tie majú nejaké pravidlá:

– skladá sa z písmen (len 26 písmen anglickej abecedy bez diakritiky), číslic a znaku _ podčiarkovník
– nesmie začínať číslicou
– identifikátor sa musí líšiť od rezervovaných slov v pascale takých ako begin, end, procedure 

 

Deklarovanie konštánt (teda oznámenie programu, že také konštanty budeme používať) sa zapisuje medzi riadky procedure begin. Takto deklarované konštanty vidí iba tá procedúra, v ktorej sú deklarované, pre ďalšie procedúry (napr. ďalšie buttony) sú tieto konštanty úplne neznáme.

 

Hotový program s využitím konštánt vyzerá napríklad takto (viete, čo to vykreslí?):

procedure TForm1.Button2Click(Sender: TObject);
const
  x = 100;
  y = 100;
  r=50;
  c = clRed;
begin
  Image1.Canvas.Brush.Color:=clGray;
  Image1.Canvas.Ellipse(x-r+3,y-r+3,x+r+3,y+r+3);
  Image1.Canvas.Brush.Color:=c;
  Image1.Canvas.Ellipse(x-r,y-r,x+r,y+r);
end;

 

Úlohy

 

1. S využitím konštánt napíšte program, ktorý nakreslí kruh (deklarujte konštanty na pozíciu stredu (teda X, Y), polomer a farbu).

kruh

 

 

2. Do predchádzajúcej úlohy dopíšte dva riadky tak, aby sa vykreslil kruh s jeho tieňom.tien

 

3. Nakreslite štvorec, ktorého pravý dolný roh má súradnice X, Y a veľkosť strany je A.

stvorec

4. Nakreslite dve dotýkajúce sa kružnice s polomermi R1 a R2, pričom stred prvej je v X, Y a druhá má rovnakú Y súradnicu.

dotyk

 

5. (Za BONUSOVÝ BODÍK) Nakreslite rovnoramenný trojuholník, ak je známa dĺžka spodnej strany Dlzka, výška Vyska a súradnice jedného vrcholu X, Y (pozor,bude treba deliť dvoma, výpočet sa bude líšiť od voľby vrcholu).

rovnoramenny

Domáca úloha, deadline pre 2A3 je utorok 6.5.2014 o 21,00, pre 2B3 je 12.5.2014 o 21,00

1. Nakreslite pravouhlý trojuholník, ktorého vrchol s pravým uhlom je v X, Y a odvesny majú dĺžky D1 D2. (za 5 bodov)

pravouhly

2. Nakreslite štvorec, u ktorého poznáme súradnice X1, Y1 a X2, Y2 spodných dvoch vrcholov – predpokladajte, že Y1 = Y2V príkaze na vykreslenie štvorca nesmiete použiť žiadne číslo! Iba konštanty! Pozor, toto nie je až taká jednoduchá úloha, pozrite si poriadne obrázok. (za 5 bodov)

navod na stvorec

 

 

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *