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

   nika.blog.matfyz.sk

04 – lokálne a globálne procedúry, opakovanie

1. Napíšte program, ktorý po kliknutí na Button1 vykreslí červené štvorce do radu, a po kliknutí na Button2 vykreslí modré štvorce do stĺpca. Oba buttony budú volať jednu a tú istú procedúru Stvorec(x,y:integer;f:TColor).

stvorce

 

2. Napíšte procedúru na vykreslenie jednej tehličky – oranžový obdĺžnik, ktorá bude mať dva parametre (súradnice ľavého horného rohu). Potom napíšte program, ktorý postupne týmito tehličkami vyloží celú grafickú plochu tak, aby žiadna nepretŕčala.

 

 

3. Zadefinujte globálne procedúry na kreslenie bielych kruhov so zadaným stredom a polomerom (táto procedúra vykreslí iba jeden biely kruh). Ďalej procedúru snehuliak, ktorá z troch rôzne veľkých kruhov postaví snehuliaka. Táto dostáva ako parameter pozíciu a veľkosť najväčšieho kruhu – z neho si vypočíta aj veľkosti menších kruhov a najmenšiemu z nich dokreslí oči (dva malé čierne kruhy). Program náhodne kladie rôznymi tlačidlami rôzne veľké snehuliaky.

Tip: Postupujte krok po kroku ako je zadaná úloha a nebudete mať problém vyriešiť ju.

 

 

4. Napíšte program, ktorý postupne zhora zaplní celú grafickú plochu obdĺžnikmi nejakej farby. Obdĺžniky majú šírku ako grafická plocha a výšku 10. Na začiatku sú všetky modré. Po zaplnení celej grafickej plochy sa obrazovka zmaže, náhodne sa zvolí iná farba a celé sa to opakuje.

Potom upravte tento program tak, aby sa po zaplnení celej plochy táto nezmazala, ale aby sa začali vykresľovať obdĺžniky opačným smerom (ako rolety, raz idú hore, raz idú dole).

 

 

5. Zadefinujte globálnu procedúru Kruh, ktorá bude mať štyri parametre (nie premenné!), a to x,y (súradnice stredu), r (polomer) a farbu.

Vo formulári majte tri tlačidlá.

Cieľom tejto úlohy je kresliť olympijské kruhy. Prvé tlačidlo ich bude kresliť malé, teda polomer bude z rozsahu 10 – 20 bodov. Druhé tlačidlo ich bude kresliť stredne veľké, polomer bude z rozsahu 25 – 40. Tretie tlačidlo ich bude kresliť veľké, polomer bude z rozsahu 45 – 65. Pri kliknutí na jednotlivé tlačidlá vždy volajte procedúru Kruh s príslušnými hodnotami (v každom tlačidle ju budete volať 5x, keďže máme 5 olympijských kruhov).

 

 

6. Napíšte globálne procedúry na kreslenie domu a potom aj ulice ako radu domov. Vo formulári bude viac tlačidiel: každé nakreslí tento rad domov s nejakými inými nastaveniami, napr. zmena farieb, zmena hrúbky pera, zmena počtu domov, zmena medzier medzi domami a pod. Na zmenu počtu, veľkosti a vzdialenosti použite posúvač (v inšpektore objektov mu viete nastaviť minimum a maximum, jeho aktuálna hodnota sa „schováva“ za scrollbar1.position). Tzn. že:

– počet domov sa zmení iba po kliknutí na príslušné tlačidlo, rozsah posúvača: 1 – 10 (v inom prípade sa bude vždy vykresľovať toľko domov, koľko sa zmestí na šírku image-u)

– veľkosť domov sa zmení iba po kliknutí na príslušné tlačidlo, rozsah posúvača: 10 – 30 (v inom prípade bude defaultne 20)

– farba domov sa zmení na náhodnú iba po kliknutí na príslušné tlačidlo (inak bude defaultne modrá)

– medzera medzi domami sa zmení iba po kliknutí na príslušné tlačidlo, rozsah posúvača: 0 – 10 (inak bude defaultne nulová)

 

 

7. Napíšte program, ktorý bude pomaly kresliť sústredné kružnice: najprv nakreslí na nejakom náhodnom mieste kružnicu s polomerom 3, potom pri každom ďalšom tiknutí nakreslí kružnicu o 2 väčšiu (s tým istým stredom), až kým nebude mať polomer = 99. Ďalšie tiknutie naštartuje kreslenie novej skupiny sústredných kružníc.

 

Domáca úloha, deadline 5.3.2017 o 23:59

Napíšte globálnu procedúru na vykreslenie jednej tehličky – oranžový obdĺžnik, ktorá bude mať dva parametre (súradnice ľavého horného rohu).

Potom napíšte program, ktorý:

  • po kliknutí na prvý button postupne (použite timer) týmito tehličkami vyloží celú grafickú plochu tak, aby žiadna nepretŕčala, pričom tehličky budú usporiadané presne nad sebou
  • po kliknutí na druhý button postupn (použite druhý timer) týmito tehličkami vyloží celú grafickú plochu tak, aby žiadna nepretŕčala, pričom tehličky v jednotlivých radoch budú usporiadané tak, ako to pri murovaní správne má byť

tehly

Domáca úloha, deadline 12.3.2017 o 23:59

Napíšte program, ktorý pomocou procedúr s parametrami (je na vás, či budú lokálne alebo globálne) bude vykresľovať jarnú krajinku:

  •  budú tam nejaké kvety, ktoré sa vykreslia náhodne do cca polovice výšky image-u (v dolnej časti obrázka)
  • budú tam nejaké stromy, ktoré sa budú vykresľovať na podobne náhodných pozíciách ako kvet
  • pridajte nejaké mraky alebo vtáky, whatever, nejaký tretí objekt, ktorý sa bude vykresľovať v tej hornej časti obrázka

 

BONUS za 3 body, deadline 12.3.2017 o 23:59

Úloha č. 6.

Pridaj komentár

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