Copyright (C) 1999 Michal Cihar
Semestralni prace z vypocetni techniky
Supported are operators (+, -, *, /, \, %, ~, ^, !, =), parethesis, functions, constants and variable. Variables can be saved or loaded from or to disk file.
Operators (functions) are evaluated according to their priorities. Operators of same priority are evaluated left to rigth it means that the most left operator (function) is evaluated first.
This program and unit are provided as FREEWARE. If you use this
unit plese mention my name somewhere in credits or stuff like this.
Na zacatek
Funkce | Popis | Pocet parametru |
sin, cos, tg, cotg | goniometricke funkce | 1 |
arcsin, arccos, arctg, arccotg | cyklometricke funkce | 1 |
sinh, cosh, tgh, cotgh | hyperbolicke funkce | 1 |
argsinh, argcosh, argtgh, argcotgh | hyperbolometricke funkce | 1 |
ln, ln2, ln10 | logaritmus o zakladu e, 2 ,10 | 1 |
exp, power2, power10 | mocnina e, 2, 10 | 1 |
sqr, sqrt | druha mocnina, odmocnina | 1 |
cu, cur | treti mocnina, odmocnina | 1 |
inv | prevracena hodnota (1/x) | 1 |
round | zaokrouhleni | 1 |
trunc, frac | cela, desetinna cast | 1 |
abs | absolutni hodnota | 1 |
deg, rad, grad | prevod ze stupnu, radianu, gradu | 1 |
log | logaritmus o libovolnem zakladu | 2 |
power | mocnina | 2 |
comb | kombinace (kombinacni cislo) | 2 |
var | permutace | 2 |
max, min | vetsi, mensi cislo | 2 |
maxa, mina | cislo s vetsi, mensi absolutni hodnotou | 2 |
avg, gav, hav | prumer aritmeticky, geometricky, harmonicky | 2 |
random | nahodne cislo | 0 |
Pokud ma fuknce jeden parametr nemusi byt uvedeny v zavorkach, vice
parametru v zavorkach musi byt. Pokud neni parametr v zavorkach, jako parametr
je pouzita prvni nasledujici hodnota. Priklady: sin pi = sin(pi), sin 5pi
= sin(5*pi), but sin 5*pi = sin(5)*pi
Na zacatek
jmeno=hodnota (informace [jednotky])
ANS= 0 (Vysledek posledniho vypoctu)
E= 2.71828182845904524 (Eulerovo cislo)
PI= 3.14159265358979324 (Ludolfovo cislo)
_MP= 1.6726231E-27 (Klidova hmotnost protonu [kg])
_F= 96485.309 (Faradayova konstanta [C/mol])
_A0= 5.29177249E-11 (Bohruv polomer [m])
_C= 299792458 (Rychlost svetla ve vakuu [m/s])
_H= 6.66260755E-33 (Plankova konstanta [J*s])
_GK= 6.67259E-11 (Gravitacni konstanta [N*m*m/kg*kg])
_E= 1.60217733E-19 (Elementarni naboj [C])
_ME= 9.1093897E-31 (Klidova hmotnost elektronu [kg])
_U= 1.6605402E-27 (?Eng: Atomic mass unit [kg])
_NA= 6.0221367E+23 (Avogadrova konstanta [1/mol])
_K= 1.380658E-23 (Boltzmannova konstanta [J/K])
_G= 9.80665 (Gravitacni zrychleni [m/s*s])
_R= 8.31451 (?Eng: Molar gas constant [J/mol*k])
_E0= 8.8541878176204E-12 (Permitivita vakua [F/m])
_U0= 0.000001256637061436 (Permeabilita vakua [H/m])
_UB= 9.2740154E-24 (Bohruv magneton [A/m*m])
_HK= 1.05457266E-34 (Konvertovana (Converted) Plankova konstanta [J*s])
_MN= 1.6749286E-27 (Klidova hmotnost neutronu [kg])
_R8= 10973731.53 (Rydbergova konstanta [1/m])
_O= 0.0000000567051 (Stefan-Boltzmannova konstanta [W/m*m*k*k*k*k])
ZETTA= 1E+21 (Prepona [Z])
EXA= 1E+18 (Prepona [E])
PETA= 1E+15 (Prepona [P])
TERA= 1E+12 (Prepona [T])
GIGA= 1000000000 (Prepona [G])
MEGA= 1000000 (Prepona [M])
KILO= 1000 (Prepona [k])
HECTA= 100 (Prepona [h])
DECA= 10 (Prepona [da])
DECI= 0.1 (Prepona [d])
CENTI= 0.01 (Prepona [c])
MILI= 0.001 (Prepona [m])
MICRO= 0.000001 (Prepona [u])
NANO= 0.000000001 (Prepona [n])
PIKO= 1E-12 (Prepona [p])
FEMTO= 1E-15 (Prepona [f])
ATTO= 1E-18 (Prepona [a])
ZEPTO= 1E-21 (Prepona [z])
YOKTO= 1E-24 (Prepona [y])
Na zacatek
Po spusteni programu se objevi prikazova radka na kterou zadavate vyraz,
ktery chcete spocitat. Vyraz muze obsahovat funkce,
operatory,
cisla, konstanty a promenne, ktere byly drive
definovany. Promenou definujete zapsanim jmeno_promenne=vyraz. Promennou
muzete take nahrat ze souboru prikazem @NAHRAJ jmeno_souboru. Tento soubor
muze byt drive vyvoren zapsanim @ULOZ jmeno_souboru. Vsechny promenne se
daji zrusit zapsanim @VYPRAZDNI, po zadani tohoto prikazu se program dotaze,
jestli chcete opravdu smazat vsechny promenne.
Programu muzete take krome vyrazu zadavat i nektere prikazy: @ASCII
- vypise ASCII tabulku, @CLS - smaze obrazovku, @MEM - informace o pameti.
Napoveda se vyvola zapsanim ? nebo ?neco, kde neco je parametr napovedy:
?F / ?FUNKCE ... informace o funkcich
?P / ?PROMENNE ... informace o promennych
?O / ?OPERATORY ... informace o operatorech
?I / ?INFO ... informace o programu
?S / ?STAV ... informace o stavove radce
?C / ?PRIKAZY ... informace o prikazech
?K / ?KONSTANTY ... vypis konstant
?L / ?VYPIS ... vypis promennych
?W / ?POPIS ... popis funkci
?E / ?EDITACE ... klavesy pri editovani prikazove radky
?Q / ?KLAVESNICE ... klavesove zkratky pro funkce
?V / ?VYHODNOCOVANI ... priority vyhodnocovani vyrazu
?Z / ?ZAJIMAVOSTI ... zajimavosti o funkcich, presnost pocitani
?? ... seznam parametru napovedy
Funkce je mozno zapsat klavesovymi zkratkami:
Alt+klavesa prida na prikazovou radku funkci');
A ... ABS - absolutni hodnota
C, S ... COS - kosinus, SIN - sinus
E ... EXP - exponenciala
F ... FRACT - desetinna cast
K ... COMB - kombinace (kombinacni cislo)
L ... LOG - logaritmus (prvni parametr zaklad)
M, O ... SQR, SQRT - druha mocnina, odmocnina
N ... LN - prirozeny logaritmus
P ... POWER - mocnina (prvni parametr na druhy)
R ... RANDOM - nahodne cislo
Q, X ... KONEC
T ... TG - tangens
V ... VAR - variace
Z ... ROUND - zaokrouhli
= ... TRUNC - cela cast cisla
- ... ANS - vysledek posledniho vypoctu
1 ... LOG10 - logaritmus o zakladu 10
2, 0 ... POWER2, POWER10 - mocnina o zaklady 2, 10
3, 4 ... MAX, MIN - vetsi, mensi cislo
F5, F6, F7 ... DEG, RAD, GRAD - prevod uhlu
Pri editaci se daji pouzit tyto klavesy:
sipky ... pohyb po vyrazu
Home ... pohyb po radce (na zacatek)
End ... pohyb po radce (na konec)
PgUp ... pohyb v historii prikazu (zpet)
PgDown ... pohyb v historii prikazu (dopredu)
Insert ... prepinani vkladani/prepisovani
Backspace ... smazani predchoziho znaku
Delete ... smazani aktualniho znaku
Tab ... smazani cele radky
F5, F6, F7 ... nastavi jednotku uhlu na stupne, radiany, grady
F8 ... vypina/zapina vkladani ANS po zadani operatoru na zacatku prikazu
Na zacatek