program histogramm; uses graph, crt; const turistide_arv=100; label uuesti; var suvekohvik, koht, vana_koht, uus_koht, i:integer; count, loenda1, loenda2,loenda3,loenda4,loenda5,protsent1,protsent2,protsent3,protsent4,protsent5:integer; r, m, d:integer; begin randomize; suvekohvik:=0; count:=0; loenda1:=0; loenda2:=0; loenda3:=0; loenda4:=0; loenda5:=0; for i:=1 to turistide_arv do begin vana_koht:=1; koht:=1; count:=0; uuesti: r:=random(4); {vasak „„r} if ((koht=1) or (koht=5) or (koht=9) or (koht=13) or (koht=17)) and (r=1) then goto uuesti; {parem „„r} if ((koht=4) or (koht=8) or (koht=12) or (koht=16) or (koht=20) ) and (r=0) then goto uuesti; {alumine „„r} if (((koht=1) or (koht=2) or (koht=3) or (koht=4)) ) and (r=3) then goto uuesti; {lemine „„r} if ((koht=17) or (koht=18) or (koht=19) or (koht=20))and (r=2) then goto uuesti; if r=0 then uus_koht:=koht+1; {paremale} if r=1 then uus_koht:=koht-1; {vasakule} if r=2 then uus_koht:=koht+4; {lesse} if r=3 then uus_koht:=koht-4; {alla} count:=count+1 ; {tingimused, et turist jooniselt v„lja ei astuks; saan turisti uue asukoha} if (uus_koht<>vana_koht) and (uus_koht<=20) and (uus_koht>0) then begin vana_koht:=koht; koht:=uus_koht; end; {kui turist ei ole j”udnud suvekohvikusse, siis j„tkab ta teekonda; koht 11 on suvekohvik} { writeln(koht, ' ', count); delay(100);} if (koht<>11) then goto uuesti; {kui turist j”uab kohvikusse} writeln(count); if (koht=11) then suvekohvik:=suvekohvik+1; if (koht=11) and (count<=5) then loenda1:=loenda1+1; if (koht=11) and (count<=10) and (count>=6) then loenda2:=loenda2+1; if (koht=11) and (count<=15) and (count>=11) then loenda3:=loenda3+1; if (koht=11) and (count<=20) and (count>=16) then loenda4:=loenda4+1; if (koht=11) and {(count<=25) and} (count>=21) then loenda5:=loenda5+1; end; protsent1:=round((loenda1/turistide_arv)*100); protsent2:=round((loenda2/turistide_arv)*100); protsent3:=round((loenda3/turistide_arv)*100); protsent4:=round((loenda4/turistide_arv)*100); protsent5:=round((loenda5/turistide_arv)*100); writeln('Suvekohvikusse jäuab ',suvekohvik,' turisti, neist lhimat teed pidi ',protsent1,' %.'); writeln('Kohvikusse jäudnutest l„bib ennem 6 väi enam kvartalipikkust ',protsent2,' %.'); writeln('Kohvikusse jäudnutest l„bib ennem 11 väi enam kvartalipikkust ',protsent3,' %.'); writeln('Kohvikusse jäudnutest l„bib ennem 16 väi enam kvartalipikkust ',protsent4,' %.'); writeln('Kohvikusse jäudnutest l„bib ennem 21 väi enam kvartalipikkust ',protsent5,' %.'); writeln; readln; begin d:=detect; Initgraph(d, m, ' '); outtextxy( 50, 50,'Histogramm n„itab, mitu kvartali pikkust inimesed enne kohvikuni jäudmist l„bivad.'); bar(120, 350-2*(protsent1), 165, 350); bar(170, 350-2*(protsent2), 215, 350); bar(220, 350-2*(protsent3), 265, 350); bar(270, 350-2*(protsent4), 315, 350); bar(320, 350-2*(protsent5), 365, 350); outtextxy(120, 370, '<6'); outtextxy(170, 370, '>6'); outtextxy(220, 370, '>11'); outtextxy(270, 370, '>16'); outtextxy(320, 370, '>21'); writeln; readln; closegraph; end; end.