2.Prednaska/Cvicenie
2. Cvičenie
Postupne riešiť (najlepšie ako Button1Click, Button2Click, ...):
1. for-cyklus 10000-krát náhodne X, Y a na tejto pozícii červená bodka veľkosti 1x1
2. postupne vypísať všetky čísla od 10 do 99 na náhodné pozície
3. na náhodne pozície 30 modrých bodiek postupne veľkostí od 1 do 30
4. vygenerovať náhodný histogram:
- vedľa seba niekoľko (napr. 10) obdĺžnikov - rovnako širokých, náhodne vysokých so spoločnou spodnou hranou
- obdĺžniky môžu byť rovnakej alebo náhodnej farby
5. použitím if: 10000 náhodných bodiek: pod hlavnou uhlopriečkou červené, nad modré
- predpokladáme štvorcovú grafickú plochu
- skúsiť nie hlavnú ale vedľajšiu uhlopriečku
6.for-cyklom vypisovať pod seba čísla od 10 do 29:
- ak je číslo deliteľné 3 (if I mod 3 = 0 then) tak ho preskočiť, inak ho vypísať aj s jeho druhou mocninou, teda
10 100 11 121 13 169 14 196 16 256 17 289 19 361 ... 29 841
- v príkaze TextOut môžete použiť Format('%d %d', [I, I * I])
- čísla, ktoré sa preskakujú nenechávajú pri výpise prázdny riadok
7. do formulára vložiť vstupný riadok Edit1, po zatlačení Button7:
- prečítať z neho číslo R, potom nakresliť kruh s polomerom R a stredom v strede grafickej plochy
- asi použijete
R := StrToInt(Edit1.Text);
- ak chcete, aby kreslenie väčších kruhov nemazalo menšie, vypnete automatické vypĺňanie (pozor, teraz nebude fungovať ani FillRect, ani Rectangle):
Image1.Canvas.Brush.Style := bsClear;
- automatické vypĺňanie sa znovu zapne:
Image1.Canvas.Brush.Style := bsSolid;
8. do formulára vložiť Edit1, Edit2, Edit3, po zatlačení asi Button8:
- nakreslí sa kruh alebo obdĺžnik s farbou výplne RGBToColor(c1, c2, c3)
- kde c1, c2, c3 sú číselné hodnoty vo vstupných riadkoch
9. z Edit1 prečítať N a vypísať zmenšujúcu sa postupnosť
- vždy odhodíme poslednú cifru, napr. pre N := 354591, sa vypíše
354591 35459 3545 354 35 3
- musíme použiť while-cyklus, lebo dopredu nevieme, koľko je to ciferné číslo
10. to isté ako 9. ale vypisovať len posledné cifry týchto čísel, napr. pre N := 354591:
1 9 5 4 5 3
11. prečítať číslo z Edit1 a vypísať počet cifier tohto čísla, napr. pre N := 354591 vypísať
číslo 354591 má 6 cifier
- zrejme použijete while-cyklus
- môžete použiť napr. Format('číslo %d má %d cifier', [Cislo, Pocet])
nepovinná domáca úloha
- vybodkovať grafickú plochu tak, aby v strede plochy bol hrubý modrý kríž a mimo neho všetko červené, kríž napr. široký 150 a hrubý 50 (ako keby sa pretínali dva obdĺžniky 150x50 a 50x150)