Vykreslení intervalu

Tento notebook vykreslí interval zadaný pomocí dvou bodů, které jsou pro daný interval krajními body. Interval bude vykreslen včetně vyznačení toho, zda zadaný bod do daného intervalu patří či nikoliv. Pod obrázek intervalu se vypíše tento interval v symbolickém zápisu.
Krajní body intervalu jsou zadány v proměnných prvnibod a druhybod.
Příklad zadání:
	prvnibod = {12, False}		prvním bodem intervalu je bod 12, který do intervalu nepatří (hodnota False)
	druhybod = {36, True}	druhým bodem intervalu je bod 36, který do intervalu patří (hodnota True)
Notebook vykreslí i neomezený interval, byť "to obchází". Při zadání hodnot nekonečno a mínus nekonečno, lze postupovat takto:
	stisknout postupně klávesy EscinfEsc resp. -EscinfEsc
	pomocí menu Pallets - BasicMathInput zobrazit paletku se základními matematickými symboly a symbol ∞ vybrat z ní.
Při zadání symbolu ∞ resp. -∞ je hodnota False resp. True ignorována.

Syntaxe proměnných prvnibod a druhybod přitom musí zůstat nezměněna (tj. závorky, čárky, ...)!!!

© Jaroslav Reichl, 2008

prvnibod={-∞,False};
druhybod={12,True};


barvacary=Blue;
barvaznacky=Red;
tloustka=0.005;

prvnibodzaloha=prvnibod[[1]];
druhybodzaloha=druhybod[[1]];
If[prvnibod[[1]]<druhybod[[1]],
{If[prvnibod[[1]]==-∞,
If[druhybod[[1]]==∞,
{prvnibod[[1]]=-100,
druhybod[[1]]=100},
prvnibod[[1]]=-100druhybod[[1]]]],
If[druhybod[[1]]==∞,
druhybod[[1]]=100Abs[prvnibod[[1]]]],
If[prvnibodzaloha>-∞,
{vyska=0.15(druhybod[[1]]-prvnibod[[1]]),
polomer=0.015(druhybod[[1]]-prvnibod[[1]]),
deltay=2polomer,
If[prvnibod[[2]]==False,
{znacka1=Graphics[{barvaznacky,Circle[{prvnibod[[1]],vyska},polomer]}],
zavorka1="("},
{znacka1=Graphics[{barvaznacky,Disk[{prvnibod[[1]],vyska},polomer]}],
zavorka1="<"}]},
{vyska=0.15(druhybod[[1]]-prvnibod[[1]]),
polomer=0.015(druhybod[[1]]-prvnibod[[1]]),
deltay=2polomer,
znacka1=Graphics[{barvaznacky,Thickness[tloustka],Line[{{prvnibod[[1]]+polomer,vyska+polomer},{prvnibod[[1]],vyska},{prvnibod[[1]]+polomer,vyska-polomer}}]}],
zavorka1="("}],
If[druhybodzaloha<∞,
{vyska=0.15(druhybod[[1]]-prvnibod[[1]]),
polomer=0.015(druhybod[[1]]-prvnibod[[1]]),
deltay=2polomer,
If[druhybod[[2]]==False,
{znacka2=Graphics[{barvaznacky,Circle[{druhybod[[1]],vyska},polomer]}],
zavorka2=")"},
{znacka2=Graphics[{barvaznacky,Disk[{druhybod[[1]],vyska},polomer]}],
zavorka2=">"}]},
{vyska=0.15(druhybod[[1]]-prvnibod[[1]]),
polomer=0.015(druhybod[[1]]-prvnibod[[1]]),
deltay=2polomer,
znacka2=Graphics[{barvaznacky,Thickness[tloustka],Line[{{druhybod[[1]]-polomer,vyska+polomer},{druhybod[[1]],vyska},{druhybod[[1]]-polomer,vyska-polomer}}]}],
zavorka2=")"}],
kreslitinterval=True,
If[prvnibodzaloha>-∞,
cara1=Graphics[{barvacary,Dashed,Thickness[0.5tloustka],Line[{{prvnibod[[1]],vyska},{prvnibod[[1]],0}}]}],
cara1=Graphics[{barvacary,Dashed,Thickness[0.05tloustka],Line[{{prvnibod[[1]],vyska},{prvnibod[[1]]+polomer,vyska}}]}]
(*cara1 je zde jenom pro to, aby byla pro funkci Show[] nějak definovaná!*)],
If[druhybodzaloha<∞,
cara2=Graphics[{barvacary,Dashed,Thickness[0.5tloustka],Line[{{druhybod[[1]],vyska},{druhybod[[1]],0}}]}],
cara2=Graphics[{barvacary,Dashed,Thickness[0.05tloustka],Line[{{druhybod[[1]],vyska},{druhybod[[1]]-polomer,vyska}}]}]
(*cara2 je zde jenom pro to, aby byla pro funkci Show[] nějak definovaná!*)],
deltax=0.1(druhybod[[1]]-prvnibod[[1]]),
cara=Plot[vyska,{x,prvnibod[[1]],druhybod[[1]]},PlotStyle->{barvacary,Thickness[tloustka]}]},
kreslitinterval=False];
If[kreslitinterval,
Show[cara,cara1,cara2,znacka1,znacka2,PlotRange->{{prvnibod[[1]]-deltax,druhybod[[1]]+deltax},{0,vyska+deltay}},AspectRatio->Automatic,Axes->{True,False}],
Print["Zadaný interval nelze vykreslit!"]]
If[kreslitinterval,
Print["Zadaný interval je interval ",zavorka1,prvnibodzaloha,"; ",druhybodzaloha,zavorka2,"."]]