MFF UK / Ústav teoretické fyziky / Tomáš Ledvinka
Přednášky
. . . . . . . . . . . . . . . . . . . . . . . . . .
Programování pro fyziky (1.r)
  Úvod
  Programy a algoritmy
  Píšeme program
  Píšeme program II
  Procedury a funkce
  Malujeme funkce
  Chyby. Typy I.
    Chyby při běhu programu
    Používáme knihovny I.
    I data mají strukturu
    Typy (interval, výčtový)
    Množiny
  Typy II. Pole a Záznamy
  Pole II.Řetězce.Soubory.
  Gnuplot.Interpolace...
  Matice. Velké O...
  Fronta,Zásobník. Postscript
  Bin. soubory, ...
  Ukazatele,Objekty, ...
Počítačová algebra
Klasická elektrodynamika (2.r)
Vybrané partie OTR

Cvičení
. . . . . . . . . . . . . . . . . . . . . . . . . .
Programování pro fyziky (1.r)
Teoretická mechanika (2.r)
Klasická elektrodynamika (2.r)


Věda
. . . . . . . . . . . . . . . . . . . . . . . . . .
Diskové zdroje v OTR
Hyperbolické systémy v OTR


Kontakt
. . . . . . . . . . . . . . . . . . . . . . . . . .
Email
Konzultační hodiny


Ostatní
. . . . . . . . . . . . . . . . . . . . . . . . .
Mallorca
Ze společnosti

Používáme knihovny ( Velmi úvodní poznámky)

Uvedení žádosti o použití knihoven, např.

Uses SysUtils;

musí následovat před oddílem deklarací a má formu rezervovaného slova uses následovaného seznamem identifikátorů oddělených čárkami a ukončeného, ovšem, středníkem.

Import knihovny pomocí konstrukce

uses IdKnihovny1,IdKnihovny2,...,IdKnihovnyN;


si můžeme edstavit jako zkratku za napsání deklarací všeho co uvedené knihovny exportují. Přečteme-li si v nápovědě:

Unit
SysUtils

function IsLeapYear(Year: Word): Boolean;

Description
Call IsLeapYear to determine whether the year specified by the Year parameter is a leap year. Year specifies the calendar year.

znamená to, že v knihovnou SysUtils je kromě jiného poskytována fukce, která pro letopočty z rozsahu 0..65535 vrátí logickou hodnotu určující, zda jde o rok přestupný, či nikoli. Použijeme-li tedy spojení
    uses SysUtils;
můžeme funkci IsLeapYear používat, jako bychom si její deklaraci do programu napsali sami.

Jak jsme viděli na chování běhových chyb, použití knihovny může mít své důsledky, aniž vůbec použijeme jakoukoli funkci či proceduru z knihovny. Bohužel však podrobnější popis přesahuje rámec přednášky.

Z desítek knihove stndardně dodávaných s Delphi 6, bude pro nás asi zajímavější knihovna Math, sdružující mnoho užitečných matematických funkcí opatřených rozumnými identifikátory. Jsou mezi nimi např. goniometrické funkce (ArcCos), umocňování (Power), převodní funkce (DegToRad) atp.
Pokud si pamatujeme alespoň počáteční písmena identifikátoru, můžeme využít pomoci, kterou nám nabízí pracovní prostředí:

Pokud po napsání několika písmen použijeme klávesovou zkratku Ctrl-Mezera, objeví se nám výběr identifikátorů začínajících na daná písmena. Po napsání kompletního identifikátoru a otvírací závorky nám navíc editor nabídne nápovědu v podobě seznamu formálních parametrů a jejich typů:


V knihovně Math je definováno nepřehledné množství goniometrických a příbuzných funkcí
ArcCos,ArcCosh,ArcCot,ArcCotH,ArcCsc,ArcCscH,ArcSec,ArcSecH,ArcSin,ArcSinh
ArcTan2,ArcTanh,Cosh,Cosecant,Cotan,CotH,Csc,CscH,Sec,Secant,SecH,Sinh,Tan,Tanh
a dále např.
Sign(x) ... vrací -1,0,+1 tak aby x = Sign(x)*Abs(x)
Ceil(x) ... nejmenší celé vetší
Floor(x) ... nejvetší celé menší
nebo logaritmy
Log10(x)
Log2(x)
LogN(10,x)

funkce pro umocňování
Power(10,x)
IntPower(3,k)

zaokrouhlování
RoundTo(x,-2) ... na dvě desetinná místa
porovnávání reálných čísel s tolerancí
if SameValue(x,y,1E-10) then ...
if
CompareValue(x,y,1E-12)<=0 then ....

Rozhodně tu nemůžeme očekávat Besselovy funkce a pod.

.