program sonda; uses graph, crt; type TOdp = array[0..2] of integer; // deklarujemy typ TOdp bedĄcy 36-elementowĄ talbicĄ typu byte const pytanie: string = 'Jaka jutro bedzie pogoda?'; function Losuj: TOdp; var i1, i2: integer; wylosowane: byte; begin for i1 := 0 to 2 do losuj[i1] := 0; // na poczĄtku liczba glosow na kaľda odpowied« wynosi zero for i2 := 1 to 36 do begin wylosowane := Random(3); // losujemy odpowied« ankietowanego, 0 symboliuje odpowied« "dobra", 1 - "zˆa", 2 - "nie mam zdania" losuj[wylosowane] := losuj[wylosowane] + 1; // inkrementacja liczby gˆos˘w na wylosowanĄ odpowied« end; end; procedure Wykres(odp: TOdp); const sterowniki: string = 'C:\Documents and Settings\dam\Pulpit\turbo\BGI'; // w tej staˆej przechowywana jest ˜cieľka do katalogu, w kt˘rym zapisane sĄ nasze czcionki i sterowniki odleglosc: integer = 30; // odleglosc pomiedzy slupkami y1: integer = 600; szerokosc: integer = 40; // szerokosc slupka dlugosc_glosu: integer = 5; // dlugo˜† jednego gˆosu :) var karta, tryb: integer; x1: integer; dlugosc_glosow: integer; i: integer; begin DetectGraph(karta, tryb); // wykrywamy, przy pomocy procedury DetectGraph naszĄ karte i tryb. Te warto˜ci procedura przypisuje zmiennym podanych w parametrach InitGraph(karta, tryb, sterowniki); SetColor(10); SetTextStyle(2, horizdir, 20); OutText(pytanie); x1 := 5; SetColor(3); for i := 0 to 2 do begin SetColor(GetColor + 1); x1 := x1 + szerokosc + odleglosc; dlugosc_glosow := dlugosc_glosu * odp[i]; Rectangle(x1, y1, x1 + szerokosc, y1 - dlugosc_glosow); end; Readln; CloseGraph; end; var odpowiedzi: TOdp; // zmienna przechowujaca odpowiedzi begin odpowiedzi := Losuj; // losujemy odpowiedzi przy pomocy funkcji Losuj Wykres(odpowiedzi); // rysujemy wykres przy pomocy procedury Wykres, jako parametr przekazujemy wcze˜niej wylosowane odpowiedzi end.