2.Prednaska/Cvicenie

Z Pascal
Prejsť na: navigácia, hľadanie

2. Cvičenie


< 2.Prednáška | riešené úlohy


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)