Stronę tą wyświetlono już: 11987 razy
Projekt kalkulatora umożliwiającego nie tylko wykonywanie obliczeń numerycznych, ale również utworzenie własnych zmiennych i makr na potrzeby przeprowadzanych obliczeń. Lista operatorów matematycznych obsługiwanych przez program jest następująca:
- zaprzeczenie !
- oraz &
- lub |
- xor ^
- dodawanie +
- inkrementacja ++
- odejmowanie -
- dekrementacja --
- mnożenie *
- dzielenie /
- podstawienie =
- większe >
- mniejsze <
- większe lub równe > =
- mniejsze lub równe <=
- nie równe !=
- równe ==
- dodaj wartość +=
- odejmij wartość -=
- pomnóż przez wartość *=
- podziel przez wartość /=
- lewy nawias (
- prawy nawias )
- potęgowanie #
- dzielenie modulo %
Lista dostępnych funkcji matematycznych:
- sin sinus kąta wyrażonego w radianach
- cos kosinus kąta wyrażonego w radianach
- tan tangens kąta wyrażonego w radianach
- sinh sinus hiperboliczny kąta wyrażonego w radianach
- cosh kosinus hiperboliczny kąta wyrażonego w radianach
- tanh tangens hiperboliczny kąta wyrażonego w radianach
- asin arkus sinus
- acos arkus kosinus
- atan arkus tangens
- abs wartość bezwzględna
- floor zaokrąglij do całkowitej w dół
- ceil zaokrągla liczbę do całkowitej w górę
- middle zaokrągla do liczby całkowitej w dół, gdy wartość po przecinku jest mniejsza lub równa 0.5 natomiast w górę w przeciwnym przypadku
- ln logarytm naturalny podanej liczby
- log10 logarytm dziesiętny podanej liczby
- exp stała e podniesiona do podanej potęgi
- rad zamienia stopnie na radiany
- deg zamienia radiany na stopnie
- sqrt pierwiastek drugiego stopnia
- silnia oblicza silnię liczby całkowitej, większej od 0
- IsFirstNumber sprawdza, czy zadana liczba jest liczbą pierwszą
Lista dostępnych stałych matematycznych i fizycznych:
- pi - stosunek obwodu koła do jego średnicy
- mp - masa protonu 1.6726231e-27 kg
- mn - masa neutronu 1.6749286e-27 kg
- me - masa elektronu 9.1093897e-31 kg
- g - przyspieszenie ziemskie 9.80665 m/s^2
- G - stała grawitacyjna 6.67259e-11 m^3 / (kg * s^2)
Lista dostępnych makr:
- log_a_b a,b (ln(b)/ln(a)) - oblicza logarytm o podstawie a z b
- if w,t,f ((w!=0)*t+(w==0)*f) - zwraca f gdy w = 0, natomiast t w przeciwnym przypadku
- dist x,y (sqrt(x#2+y#2)) - odległość punktu o współrzędnych x, y od początku dwuwymiarowego układu współrzędnych kartezjańskich
- dist x,y,z (sqrt(x#2+y#2+z#2)) - oblicza odległość punktu o współrzędnych x, y, z od początku trójwymiarowego układu współrzędnych kartezjańskich
- min a,b (if(a << b,a,b)) - zwraca wartość najmniejszą spośród dwóch dostępnych: a oraz b
- max a,b (if(a >> b,a,b)) - zwraca największą wartość spośród dwóch dostępnych: a oraz b
- ctg Angle (1/tan(Angle)) - kotangens kąta zawartego pomiędzy dwoma punktami
- sigm Betha,x (1/(1-exp(-Betha*x)))
- log2 arg (ln(arg)/ln(2)) - logarytm drugiego stopnia z arg
Dyrektywy:
- cls - czyści listę wykonanych dotąd poleceń
- define - umożliwia utworzenie własnego makra
- nazwa_zmiennej=wartość_lub_wyrażenie - tworzenie nowej zmiennej w pamięci kalkulatora (tylko w przypadku gdy zmienna o podanej nazwie nie istnieje w pamięci kalkulatora, gdyż w tymże przypadku dyrektywa staje się zwykłym podstawieniem wartości)
- delete nazwa_zmiennej_lub_makra - usuwa z pamięci daną zmienną lub makro
- Diagram2D zmienna,min,max,gęstość,f(zmienna) - rysuje wykres 2D
Przykład tworzenia makra
Powyższy przykład tworzy makro o nazwie nazwa_makra z dwoma argumentami arg1, arg2, które należy podać przy "wywoływaniu" tegoż makra. Pozostałe wyrażenie (arg1*arg2) określa operację wykonywaną przez makro. Korzystając z makra np. w następujący sposób:
należy pamiętać, że kompilator przed rozpoczęciem obliczeń podstawi w jego miejsce następujące wyrażenie:
Przykład tworzenia wykresu:
Powyższy przykład wyświetla 1000 punktów obliczeniowych funkcji f(x)= x*sin(x) z zakresu wartości od 0 do 100.
Okno główne programu kalkulator podzielone zostało na trzy części:
- linii poleceń;
- linii wyświetlania wyniku ostatniego obliczenia
- listy stu ostatnich poleceń wykonanych przez program
Jak widać na załączonym rysunku 2 dyrektywa Diagram2D umożliwia sporządzenie wykresu funkcji i wyświetlenie go w oddzielnym oknie.
Wideo prezentacja programu