Lekce 1.04
P°φkaz Writeln, matematickΘ v²poΦty


p°edchozφ lekce (1.03) obsah kurzu nßsledujφcφ lekce (1.05)

V p°edchozφ kapitole jste se nauΦili zadßvat z p°φkazovΘho okna p°φkazy umo₧≥ujφcφ vypsat do textovΘho v²stupnφho okna znaky. Nynφ si ukß₧eme, jak vypisovat Φφsla a aritmetickΘ v²poΦty.

S p°φkazem Writeln jste ji₧ m∞li mo₧nost se krßtce seznßmit. Pou₧φvß se na v²pis hodnot. Po₧adovanß hodnota se p°itom uvßd∞la v zßvorce. Pokud se u p°φkazu Writeln uvede v zßvorkßch pouze dvojice apostrof∙, nebude nic vypsßno a dalÜφ v²stup do textovΘho v²stupnφho okna bude provßd∞n na novou °ßdku. Writeln je tedy p°φkaz kter² uvßdφ systΘmu, ₧e mß n∞co vypsat. UvedenΘ n∞co se p°itom uvßdφ v zßvorce jako parametr p°φkazu. Pokud po₧adujete vypsat libovoln² text, musφte jej zadat mezi dvojicφ apostrof∙:


Writeln('V²sledek v²poΦtu:');
╚φsla , p°φpadn∞ matematickΘ v²poΦty s numerickou v²slednou hodnotou je mo₧nΘ uvßd∞t p°φmo, bez apostrof∙:

Writeln(10);

StaΦφ tedy napsat jako parametr p°φkazu do zßvorek p°φmo po₧adovanΘ Φφslo. ╚φslo se vypφÜe se zarovnßnφm od levΘho kraje okna. Obdobn²m zp∙sobem m∙₧ete zadat i jednoduch² matematick² v²raz, kter² se vypoΦφtß a zobrazφ se v²sledek. Ve v²razu m∙₧ete samoz°ejm∞ pou₧φt i zßvorky pro definici postupu v²poΦtu:


Writeln((17-5)*3);

S mo₧nostφ v²pisu nenumerick²ch ·daj∙, tedy znak∙ jste se ji₧ seznßmili v p°edchozφ lekci. Seskupenφ n∞kolika znak∙ se p°itom naz²vß °et∞zec a takΘ tak ji₧ bude v nßsledujφcφm textu uvßd∞no. Pokud byste cht∞li jednφm p°φkazem Writeln vypsat najednou °et∞zec i znaky, musφte p°evΘst Φφslo na znaky a spojit je s °et∞zcem. K tomu se pou₧φvß funkce IntToStr, se kterou se podrobn∞ji seznßmφme v jednΘ z nßsledujφcφch lekcφ.


Writeln('V²sledek v²poΦtu je: '+IntToStr(10/3));

P°φkaz Writeln provede po svΘm ukonΦenφ v₧dy p°echod na novou °ßdku. Pokud vÜak budete pot°ebovat, aby dalÜφ v²pis pokraΦoval na stejnΘ °ßdce, m∙₧ete pou₧φt p°φkazu Write. Ten neprovßdφ ukonΦenφ °ßdku, nßsledujφcφ v²pis je zahßjen od pozice ukonΦenφ p°φkazu Write. Mo₧nosti a parametry p°φkazu Write jsou p°itom toto₧nΘ jako pro uvßd∞n² popis p°φkazu Writeln.

V²Üe uveden² popis pou₧itφ p°φkazu Writeln se vßm m∙₧e zdßt na prvnφ pohled slo₧it². Je vÜak nutnΘ jej p°esn∞ dodr₧et. SystΘm si hlφdß d∙sledn∞ jeho dodr₧ovßnφ a v p°φpad∞ chyby odmφtne p°φkaz vykonat. P°esnß definice jakΘhokoliv pou₧φvanΘho jazyka se naz²vß syntaktickß pravidla. Pokud zadß u₧ivatel chybn² zßpis, dojde k poruÜenφ syntaxe a odmφtnutφ systΘmu k vykonßnφ chybnΘho zadßnφ.

Pokud jste se dokonale seznßmili s pou₧itφm p°φkazu Writeln, m∙₧ete ve spoluprßci s manußlem k programu vyzkouÜet n∞kterΘ funkce matematickΘ knihovny. Dßle uvedenΘ p°φklady uvßd∞jφ na konci °ßdku mezi slo₧en²mi zßvorkami komentß°e, kterΘ nemajφ na v²sledek ₧ßdn² vliv. Ve skuteΦnosti je proto nemusφte vΦetn∞ slo₧en²ch zßvorek uvßd∞t.


Writeln(Abs(-55));       {absolutnφ hodnota Φφsla}
Writeln(Cos(PI));        {kosinus Ludolfova Φφsla PI}
Writeln(Max(3,10));      {maximßlnφ hodnota zadan²ch Φφsel}
Writeln(Min(3,10));      {minimßlnφ hodnota zadan²ch Φφsel}
Writeln(Random(500));    {nßhodnΘ Φφslo do 500}
Writeln(Round(12.82));   {zaokrouhluje Φφslo}
Writeln(Sqr(5));         {vracφ druhou mocninu Φφsla}
Writeln(Sqrt(16));       {vracφ druhou odmocninu Φφsla}
Writeln(Trunc(12.82));   {od°φzne desetinou Φßst Φφsla}
V n∞kter²ch p°φpadech m∙₧e vadit, ₧e v²sledek matematickΘho v²poΦtu je uveden vΦetn∞ plnΘho poΦtu desetinn²ch mφst podle typu matematickΘho v²poΦtu. Pokud by to n∞kdy vadilo, je mo₧nΘ pou₧φt funkci RealRound, kterß zaokrouhluje Φφslo s uvedenφm poΦtu desetinn²ch mφst, kterß majφ b²t zachovßna. Dßle uveden² p°φklad zaokrouhlφ v²poΦet druhΘ odmocniny na dv∞ desetinnß mφsta:

Writeln(RealRound(Sqrt(5),2));
Pokud by vßm p°i v²pisu v²sledk∙ matematick²ch v²poΦt∙ vadilo, ₧e jsou Φφsla vypisovßna bez mezer vlevo a v₧dy na plnou dΘlku desetinn²ch mφst, m∙₧ete pou₧φt funkci RealToStr pro p°evod Φφsla na znaky (°et∞zec). Jako parametr funkce se p°itom uvßdφ Φφslo pro p°evod, celkov² poΦet znak∙ (vΦetn∞ poΦßteΦnφch mezer a desetinnΘ Φßsti) a poΦet desetinn²ch mφst. VyzkouÜejte si proto nap°φklad nßsledujφcφ v²poΦty a porovnejte zobrazenΘ v²sledky:

Writeln(RealToStr(10/3,6,0));
Writeln(RealToStr(10/3,6,1));
Writeln(RealToStr(10/3,6,2));
Writeln(RealToStr(10/3,6,3));
Jak vidφte, m∙₧ete pou₧φt p°φkaz Writeln jako docela chytrou kalkulaΦku. Zatφm ale neznßte, jak by bylo mo₧nΘ ulo₧it vypoΦtenΘ hodnoty do 'pam∞ti' naÜφ kalkulaΦky k dalÜφmu pou₧itφ. S tφm se seznßmφme a₧ v n∞kterΘ z nßsledujφcφch lekcφ. V p°φÜtφ lekci se seznßmφte s dalÜφm v²stupnφm oknem, kterΘ se pou₧φvß pro v²stup a kreslenφ grafiky.
p°edchozφ lekce (1.03) obsah kurzu nßsledujφcφ lekce (1.05)

OZOGAN, 1 Mßje 97, 460 01 Liberec
tel.,fax: (048) 52 28 338, e-mail: info@ozogan.cz