nika.blog.matfyz.sk

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

02 – 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

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

pravouhly

 

7. 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. 

navod na stvorec

 

 

 

Nepovinná domáca úloha, deadline:

– pre 3A2: 6.10.2015 o 22,00

– pre 3A1: 11.10.2015 o 22,00

– pre 3B2: 12.10.2015 o 22,00

– pre 3B1: 13.201.2015 o 22,00

(úloha je za 2 body, ktoré sa vám ale zarátajú až po tom, čo z testu dostanete aspoň 9 bodov (z 30))

 

Nakreslite takéto dotýkajúce sa kružnice, kde kružnica v strede má polomer R2 a kružnice po bokoch majú polomer R1, pričom stred kružnice celkom vľavo je v X, Y. (Vychádzajte z toho, čo sme robili na hodine – dve kružnice už budete takto mať nakreslené.)

Ako odovzdať úlohu z programovania?

dukonstanty

 

Bonusová úloha za 2 extra body – bez ohľadu na to, ako napíšete test – body vám budú zarátané hneď!

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

 

 

 

 

Pridaj komentár

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