Stručné poznámky k systému Famulus

Obsah

Je to starý program…

Může být něčím zajímavý?

Jak ho nainstalovat

Rychlost běhu školních modelů (aneb zcela nepatrné vylepšení)

Jaké příklady tu najdete

1. Famulus je více než 10 let starý program pro systém MS-DOS

Z toho plyne řada omezení: Pod novějšími verzemi Windows v něm často například nefunguje myš, někdy jsou špatně zobrazena čísla v grafech, ovládání editoru není takové, na něž jsme zvyklí z dnešních běžných programů.

Na tomto CD je k dispozici verze Famulus 3.5, tak jak existovala historicky, bez dalších úprav a tedy s výše omezenou funkčností. Žádná další verze se totiž bohužel nakonec nerealizovala.

2. Může být tedy ještě něčím zajímavý?

Možná ano, například tím, že:

• Práce s Famulem je názorná a jednoduchá. (Byl tak navržen a dodnes se podle reakcí uživatelů zdá, že se to vcelku povedlo.)

• Do zdrojových kódů všech modelů a knihoven je vidět a uživatel do nich může libovolně zasáhnout. To platí i pro knihovny numerických výpočtů.

• Knihovny numerických výpočtů jsou vesměs naprogramovány podle kvalitních algoritmů z dnes již klasické publikace Press, Teukolsky et.al: Numerical Recipes a zahrnují poměrně rozsáhlou škálu výpočtů.

• Famulus je sice systémem jen pro numerické výpočty, ale zato počítá s přesností na 18 desetinných míst, s reálnými čísly až do 104000 i víc, s komplexními čísly…

• Jednoduché věci umožňuje dělat jednoduše. Například model pro pokles počtu částic při radioaktivním rozpadu v něm vypadá takto:

---------- model ----------
  dN= k*N
  N = N – dN
  T = t + dt
---------------------------

• Navíc je dnes již dostupný volně a zadarmo.

Opravdu největší nevýhodou Famula je fakt, že neexistuje ve verzi pro Windows. (Kdybyste ho pro Windows chtěli někdo naprogramovat, ozvěte se!)

3. Jak Famula nainstalovat

Na tomto CD nejsou k dispozici instalační soubory, ale už přímo soubory a adresáře, které můžete překopírovat na Váš počítač.

Zde připravená verze počítá s adresářem C:\FAM. Vytvořte tento adresář na disku C: Vašeho počítače a zkopírujte to něj všechny soubory a podadresáře z adresáře….. na tomto CD. Pak již Famula spustíte přímo spuštěním souboru FAMULUS.EXE (např. v Průzkumníku Windows poklepáním na ikonu programu).

Pokud pro Famula využijete jiný adresář (např. proto, že jej nechcete mít na disku C: ), při prvním spuštění vám zřejmě ohlásí, že nemůže vytvořit pracovní soubor a bude požadovat jméno adresáře, kde ho má vytvořit. Napište mu jméno adresáře, který budete využívat, nebo možná zatím jen třeba C: (protože jako oddělovače adresářů vyžaduje zpětná lomítka, např. C:\FAM, a ty je někdy na klávesnici obtížné „vyloudit“). Až se Famulus spustí, zadejte v menu položku Nastavit a v submenu pak položku Adresáře a ve všech položkách tam v názvech adresářů přepište C:\FAM za vámi zvolený adresář. (Například, pokud pro Famula budete využívat adresář D:\famulus, bude první řádek vypadat Famulus: D:\famulus, druhý řádek Knihovny: D:\famulus\PRIKLADY atd.)

Toto nastavení pak v menu Nastavit uložte volbou položky Schovat nastavení. Při další práci s Famulem by mělo být již vše v pořádku.

Poznámka: Pokud vám činí potíže ovládat menu bez myši, vězte, že šipky kurzoru fungují, klávesou Enter se volí položka menu, klávesou Esc se z menu vystupuje.

4. Rychlost běhu školních modelů (aneb zcela nepatrné vylepšení)

„Moderní“ výtkou k systému Famulus je konstatování, že na současných počítačích již tento program běží tak rychle, že výpočty se zobrazením, které měly původně charakter animací, jen rychle „přebliknou“ a vidět je jen konečný stav. Což pro výuku není zajímavé.

Řešením by samozřejmě mohlo být vyštrachat někde deset či více let starý počítač a provozovat na něm Famula pod systémem MS-DOS. Jde to ale i jinak. Výpočet lze zpomalit zavedením vhodných pauz. Původní procedura Pause( ) sice bohužel už také nefunguje, jak má, ale:

Jako jedinou drobnou změnu jsem do souborů na tomto CD přidal knihovnu PAUZA.FML, která obsahuje proceduru Pauza(sec), kde sec je počet sekund, které má program čekat. Protože jde o spíše provizorní řešení, může na různě rychlých počítačích být skutečné zpoždění různé. K jeho úpravě lze změnit hodnotu konstanty Konst v dané proceduře. (Je vidět po „rozbalení“ sbaleného bloku řádek, např. klávesovou kombinací Ctrl+E.) Se stávající hodnotou procedura funguje v rozmezí asi 0,003 s < sec < 50 s.

Efekt této nové procedury je vidět v modelech PRUZINA, MICEK a DRUZICE, které byly drobně upraveny, aby s využitím nové procedury Pauza() běžely rozumnou rychlostí.

5. Jaké příklady tu najdete

Kromě standardních příkladů v podadresáři PRIKLADY zde najdete ještě podadresář SKOLNI s jednoduchými modely z oblasti matematiky a fyziky (a s nepatrným přesahem do dalších předmětů) na středoškolské (a někdy i základoškolské) úrovni. Opět jde ve většině případů o více než deset let staré modely, často opravdu velice elementární. Ovšem na druhou stranu, srovnatelně jednoduché programy, alespoň z oblasti fyziky, někdy vídám v modernějším hávu prezentovat na různých konferencích dodnes. A do modelů ve Famulovi je navíc vidět a jsou otevřeny libovolným úpravám… Proto je sem dávám tak, jak jsem je kdysi napsal, s vědomím, že jejich vnější podoba a ovládání už vypadají beznadějně archaicky. (Tak, jako podoba a ovládání celého Famula – opravdu ho nechcete někdo přeprogramovat pro Windows?)

Leoš Dvořák