Na tejto hodine sa zameriame na riadiacu premennú. Doteraz sme s ňou robili akurát to, že sme ju deklarovali a potom raz použili v definovaní for cyklu. Skúsme si rovno takúto úlohu:
Program nakreslí 10 náhodných čiar, pričom prvá bude mať hrúbku čiary 1, druhá bude mať hrúbku čiary 2, tretia 3, atď.:
var I: Integer;
begin
for I := 1 to 10 do begin
Image1.Canvas.Pen.Width := I;
Image1.Canvas.LineTo(Random(350), Random(250));
end;
end;
Vo vnútri cyklu teda môžeme hodnotu riadiacej premennej (počítadla) používať – môžeme ju priradiť, môže byť v nejakom výraze, ale nesmieme do tejto premennej v tele cyklu nič priraďovať.
Ďalší program vypíše čísla 1 až 10 na náhodné pozície:
var I: Integer;
begin
Image1.Canvas.Font.Height := 30;
for I := 1 to 10 do
Image1.Canvas.TextOut(Random(350), Random(250), IntToStr(I));
end;
Predchádzajúci program vylepšíme tak, aby nevypisoval čísla na náhodné pozície, ale do jedného riadku:
var I: Integer;
begin
Image1.Canvas.Font.Height := 30;
for I := 1 to 10 do
Image1.Canvas.TextOut(I*20, 20, IntToStr(I));
end;
Teda počítač bude vypisovať čísla na takýchto súradniciach:
Image1.Canvas.TextOut(20, 20, ‚1‘);
Image1.Canvas.TextOut(40, 20, ‚2‘);
Image1.Canvas.TextOut(60, 20, ‚3‘);
Image1.Canvas.TextOut(80, 20, ‚4‘);
Image1.Canvas.TextOut(100, 20, ‚5‘);
Image1.Canvas.TextOut(120, 20, ‚6‘);
Image1.Canvas.TextOut(140, 20, ‚7‘);
Image1.Canvas.TextOut(160, 20, ‚8‘);
Image1.Canvas.TextOut(180, 20, ‚9‘);
Image1.Canvas.TextOut(200, 20, ’10‘);
Úlohy
1. Napíšte program, ktorý nakreslí terč zložený z 8 sústredných kružníc, pričom najväčšia bude vykreslená na súradniciach (10,10,200,200) a každá ďalšia bude mať polomer o 10 menší.
2. Napíšte program, ktorý nakreslí vedľa seba 256 úsečiek, ktorých farby budú v odtieňoch modrej (od čiernej po modrú).
Skúste potom poexperimentovať s farbami a nastaviť im takéto parametre:
Image1.Canvas.Pen.Color := RGB(255-I, 0, I); Image1.Canvas.Pen.Color := RGB(0, 255-I, I); Image1.Canvas.Pen.Color := RGB(160, 255-I, I); Image1.Canvas.Pen.Color := RGB(255-I, 255-I, I);
3. Vypíšte postupne pod seba čísla od 11 do 30.
4. Vypíšte postupne pod seba čísla od 11 do 30 a ku každému pripíšte jeho druhú mocninu.
5. Napíšte program, ktorý kreslí úsečky, v ktorých sa prvý bod pohybuje po zvislej priamke (sú to body (0,0), (0,10), (0,20), (0,30), …) a druhý bod po vodorovnej priamke na spodnom okraji plochy (napr. body (0,300), (10,300), (20,300), …).
6. Napíšte program, ktorý najprv náhodne vygeneruje bod X,Y, a potom ho postupne bude spájať s bodmi na spodnej hrane plochy, napr. (0,300), (10,300), (20,300),…
7. Napíšte program, ktorý vyšrafuje celý image vodorovnými úsečkami, medzi ktorými je vzdialenosť 10 bodov.
8. Napíšte program, ktorý vypíše postupne sa zväčšujúci text pre veľkosti od 8 do 30 a zároveň sa bude meniť aj Y-ová súradnica výpisu (najskôr je 0, potom 10, potom 20, …). Odporúčam vypnúť vypĺňanie plochy pod textom pomocou image1.canvas.brush.style:=bsClear;.
Nepovinná úloha, deadline pre:
-
3A1: 20.12.2015 o 22,00
-
3B2: 11.1.2016 o 22,00
-
3B1, 3A2: 19.1.2016 o 22,00
Vypíšte postupne pod seba čísla od 11 do 30.
Ďalšia nepovinná úloha, deadline pre:
-
3A1: 10.1.2016 o 22,00
-
3B2: 18.1.2016 o 22,00
-
3B1, 3A2: 19.1.2016 o 22,00
Napíšte program, ktorý vyšrafuje celý image vodorovnými úsečkami, medzi ktorými je vzdialenosť 10 bodov.
Bonusová úloha za extra 3 body!, deadline rovnaký ako pre nepovinnú úlohu
Napíšte program, ktorý kreslí úsečky, v ktorých sa prvý bod pohybuje po zvislej priamke (sú to body (0,0), (0,10), (0,20), (0,30), …) a druhý bod po vodorovnej priamke na spodnom okraji plochy (napr. body (0,300), (10,300), (20,300), …).
Najnovšie články
Najnovšie komentáre
- Kaťa komentoval 08 – Hodnotená aktivita z hardware-u
- Alica komentoval 08 – Hodnotená aktivita z hardware-u
- Daniel komentoval 08 – Hodnotená aktivita z hardware-u
- Marek komentoval 08 – Hodnotená aktivita z hardware-u
- kaja komentoval 08 – Hodnotená aktivita z hardware-u
nika.blog.matfyz.sk
Join Us On Facebook
Join Us On Twitter
Join Us On In.com
Subscribe to RSS
Follow Us On Google+
Subscribe Us On Youtube
Follow Us On Pinterest
Follow Us On Instagram
Follow Us On Tumblr
Subscribe Us On Flickr