Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 7 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
sústredné kruhy

Registrovaný: 15.07.13
Prihlásený: 27.05.18
Príspevky: 243
Témy: 42
Príspevok NapísalOffline : 28.09.2015 20:00

[/code]Zdravím potrebujem potrebujem pomôcť s úlohou z informatiky



Napíšte program ktorý pri stlačení tlačidla vykreslí 10 sústredných kružníc s výplňami náhodných farieb, pričom polomer najmenšej má byť medzi 20 a 40 a každá ďalšia má polomer o 10 väčší od predchádzajúcej.


Kód:
procedure TForm1.Button1Click(Sender: TObject);
var
   x,y,i,r,N:integer;
begin
  Randomize;
  r:=random(41)+20;
  N:=r+10*10;
  For i:=10 downto 1 do
   begin
       Image1.Canvas.Brush.Color:=RGBtoColor(Random(255),Random(255),random(255));


   end;


end;                           



Zatiaľ mám toto ale neviem si rady ako mám zapísať tie súradnice tej elipsy keď poznám polomer najväčšej kružnice



Ďakujem pekne za pomoc







_________________
PC: MB MSI 970A-G43 CPU AMD FX6300 6*3,50GHt turbo 4,1Ghz GPU Gigabyte r7 370 windforce oc edition 2GB Ram 8GB Kingston fury hyperx 1866Mhz SSD:Kingston SSDNow V300 120GB
HDD:Seagete baracuda 1TB 7200rpm HDD2 Samsung HD502HJ 500GB 7200RPM PSU fortron hexa + 500W cpu chladič zalman CNPS5X Performa
NOTEBOOK:HP Elitebook 8460p
Tablet:Prestigio visconte Quad:
Mobil: Microsoft Lumia 640 Dual sim

Auto:Chevrolet camaro 1986 IROC-Z
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 28.09.2015 20:40

Noo, to je trošku zábavné. Delphi vie vykresliť elipsu v obdĺžniku, čiže
Kód:
ellipse( x,y, width,height )
, kde x,y je ľavý horný roh.
Ak chceš vykresliť kruh s daným stredom a polomerom, musíš si tieto hodnoty dopočítať. Takže keď máš r, sx, sy (radius a stredový bod), tak:
Kód:
x = sx - r;
y = sy - r;
width = 2*r;
height = 2*r;


A s týmito hodnotami vykreslíš elipsu, resp. v tvojom prípade kruh (pretože width=height). A kľudne aj 10 sústredných, stačí meniť r.







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
sústredné kruhy

Registrovaný: 15.07.13
Prihlásený: 27.05.18
Príspevky: 243
Témy: 42
Príspevok Napísal autor témyOffline : 28.09.2015 21:04

Kód:
x = sx - r;
y = sy - r;



a toto čo znamená?

// Spojený príspevok Pon 28.09.15 21:06

a ako to mám všetko zapísať do môjho zdrojáku?

// Spojený príspevok Pon 28.09.15 21:14

Kód:
procedure TForm1.Button1Click(Sender: TObject);
var
   x,y,i,r,N:integer;
begin
  Randomize;
  r:=random(41)+20;
  N:=r+10*10;
  x:=(N*2);
  y:=(N*2);
  For i:=10 downto 1 do
   begin
       Image1.Canvas.Brush.Color:=RGBtoColor(Random(255),Random(255),random(255));
        Image1.Canvas.Ellipse((x-N),(y-N),(x+N),(y+N));
        N:=N-10;

   end;


end;                           






Takto to môže byť ak nie tak ma kľudne oprav







_________________
PC: MB MSI 970A-G43 CPU AMD FX6300 6*3,50GHt turbo 4,1Ghz GPU Gigabyte r7 370 windforce oc edition 2GB Ram 8GB Kingston fury hyperx 1866Mhz SSD:Kingston SSDNow V300 120GB
HDD:Seagete baracuda 1TB 7200rpm HDD2 Samsung HD502HJ 500GB 7200RPM PSU fortron hexa + 500W cpu chladič zalman CNPS5X Performa
NOTEBOOK:HP Elitebook 8460p
Tablet:Prestigio visconte Quad:
Mobil: Microsoft Lumia 640 Dual sim

Auto:Chevrolet camaro 1986 IROC-Z
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 28.09.2015 21:32

Tak v prvom rade, na to veľké N sa vyser. Netreba ti to.
Úloha je vykresliť 10 sústredných kružníc - tzn. 10 kružníc s rovnakým stredom (sx,sy) a daným polomerom (prvý medzi 20 a 40, každý ďalší o 10 väčší, než predchádzajúci).
Takže vytvor program, ktorý vykreslí jednu kružnicu s daným polomerom a stredovým bodom (to som ti napísal, ako). A potom to samotné vykreslenie dáš len do cyklu so zvyšujúcim sa r. Hotovo.

Do tvojho zdrojáku teda stačí pridať to zvyšujúce sa r a vykreslenie kružnice na danom strede s daným r.







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
sústredné kruhy

Registrovaný: 15.07.13
Prihlásený: 27.05.18
Príspevky: 243
Témy: 42
Príspevok Napísal autor témyOffline : 28.09.2015 21:37

a to mám ako spraviť ako a čo konkrétne pridať do môjho zdrojáku?

prosím o trpezlivosť







_________________
PC: MB MSI 970A-G43 CPU AMD FX6300 6*3,50GHt turbo 4,1Ghz GPU Gigabyte r7 370 windforce oc edition 2GB Ram 8GB Kingston fury hyperx 1866Mhz SSD:Kingston SSDNow V300 120GB
HDD:Seagete baracuda 1TB 7200rpm HDD2 Samsung HD502HJ 500GB 7200RPM PSU fortron hexa + 500W cpu chladič zalman CNPS5X Performa
NOTEBOOK:HP Elitebook 8460p
Tablet:Prestigio visconte Quad:
Mobil: Microsoft Lumia 640 Dual sim

Auto:Chevrolet camaro 1986 IROC-Z
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 15.06.14
Prihlásený: 26.03.24
Príspevky: 17930
Témy: 142
Bydlisko: Bratislava
Príspevok NapísalOffline : 29.09.2015 8:20

sx, sy su suradnice stredu vsetkych kruznic

Downto cyklus vobec nie je potrebny, staci klasicky for i:= 1 to 10...

Celu ulohu ti nikto nenapise, vid pravidla:
Citácia:
Je zakázané zakladať témy na vypracovanie celej vašej úlohy do školy.







_________________
ITX >>> ATX
Offline

Užívateľ
Užívateľ
sústredné kruhy

Registrovaný: 15.07.13
Prihlásený: 27.05.18
Príspevky: 243
Témy: 42
Príspevok Napísal autor témyOffline : 29.09.2015 15:40

áno Ďakujem pekne za rady







_________________
PC: MB MSI 970A-G43 CPU AMD FX6300 6*3,50GHt turbo 4,1Ghz GPU Gigabyte r7 370 windforce oc edition 2GB Ram 8GB Kingston fury hyperx 1866Mhz SSD:Kingston SSDNow V300 120GB
HDD:Seagete baracuda 1TB 7200rpm HDD2 Samsung HD502HJ 500GB 7200RPM PSU fortron hexa + 500W cpu chladič zalman CNPS5X Performa
NOTEBOOK:HP Elitebook 8460p
Tablet:Prestigio visconte Quad:
Mobil: Microsoft Lumia 640 Dual sim

Auto:Chevrolet camaro 1986 IROC-Z
Odpovedať na tému [ Príspevkov: 7 ] 


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra