Mam do zrobienia program w Turbo Pascal-u (chyba Free Turbo Pascal) a to jego treść:

Program losuje 2 liczby: od 5 do 100 są to promienie 2 okręgów. Program rysuję te 2 okręgi, ale okrąg o większej średnicy maluję się tło na czerwono.

Proszę o jak najszybszą odpowiedz.

1

Odpowiedzi

Najlepsza Odpowiedź!
2010-02-04T21:00:07+01:00
Wiem że nie o taki efekt Ci chodziło, ale to co zrobiłem zawsze coś:

program xors;
uses crt,graph; {żeby pascal zrobił rysunek potrzebny jest modół graph, dla rysunku, i crt dla wylosowania liczby}
var a,b,i:byte;
s,t:smallint; {te zmienne są najważniejsz, be znich by tryb graficzny nie chodził}

begin
randomize; {te polecenie mówi komputerowi że będzie mósiał coś losować}
a:=random(99)+2; {losuje liczby z przedziału od 2 do 100, dlaczego? napisałem (99)+2, napisałem tak dlatego (najlepiej zrób sobie pomocniczy wykres i zauważ że z tego przedziału program ma wylosować 98 liczb, więc trzeba napisać 99(najwyżesz (99) nie losuje) i dodać 2}
b:=random(99)+2; {tak jak powyżej}
s:=VGA; {są to ustawieni trybu graficznego, długo by tłumaczyć}
t:=VGAMed; {tak jak wyżej}

initGraph(s,t,''); {włanczamy tryb graficzny}
if a>b then {sprawdzamy który promień jest większy}
begin {jeśli pierwszy promień (a) jest większy to:}
Circle(100,100,a); {rysuj okrąg, we współżednych 100 na 100 o promieniu a (czyli największy)}
SetColor(red); {ustawiam żeby, "pisak" ustawił kolor na czerwony (z biiałego)}
for i:=a-1 downto 0 do Circle(100,100,i); {teraz ta pętla robi okręgi, które są mniejsze o 1 od poprzedniego i (daje to słaby efekt) wydaje sie że w pierwsze koło jest zamalowane}
SetColor(15);{ustawiam kolor "pisaka" znowu na biały, możesz zamiast 15 wpisać po angielsku kolor biały, ale niestety nie mogłem sobie przypomnieć :]}
Circle(300,100,b);{rysuje mniejszy okrąg w pozycji 100 na 300}
end
else {jeśli b jest większe to:}
begin {w te procedury poniżej niczym się nie różnią co powyżej tylko zostały zamienione, liczba "a" na "b" i "b" na "a"}
Circle(100,100,b);
SetColor(red);
for i:=b-1 downto 0 do Circle(100,100,i);
SetColor(15);
Circle(300,100,a);
end;{zakonczenie if}
readln; {program czeka na wciśnięcie klawiszu}
closegraph;{zamyka tryb graficzny}
end.{koniec programu}