Mérnöki számológép

A legtöbb számológép alkalmazás elköveti az alábbi hibák egyikét: alig tud valamit, nem kényelmesen használható vagy egy komplett matematikai csomag. Ezért pár hónappal ezelőtt úgy döntöttem készítek egy számológépet.

Számológép alkalmazásokból millió található az interneten, illetve a Windows beépített számológépe is megfelel a többségnek. Viszont ha naponta többször is rászorulunk a használatára, akkor egyből érezhető az ergonómia teljes hiánya. Ez halmozottan előjön, ha tudományos számításokat szeretnénk végezni.

És itt jutunk el a másik nagy problémához. A komplett matematikai csomagokhoz. Ezek remek programok, viszont igen nagy méretűek és bőven többet tudnak, mint amire nekem jelenlegi használat mellett szükségem van. Éppen ezért felesleges pénzkiadás lenne számomra egy Matlab vagy Maple megvásárlása.

Szóval, frusztráltságomból adódóan elkezdtem összerakni egy számológépet, amit kicsit hatásvadász módon mérnökinek nevezek. A programnak nem célja versenyezni a Matlab, Maple, SciLab párosokkal, inkább az egyszerű földi halandókat célozza meg a számológépem. Tehát nem parancssoros, egérrel használható program. Kicsit olyan, mint a Windows számológépe szteroidokon hizlalva.

Jelen állapotában nem tekinthető kész terméknek, de nem is egy használhatatlan bughalmaz. Ahogy időm engedi, dolgozok a hibákon és az újabb funkciókon.

Mindenre kiterjedően azonban nem tudok tesztelni, ebből adódóan lehetnek benne hibák, kisebbek-nagyobbak. Éppen ezért, ha hibát találsz benne, vagy van ötleted, ami jól jönne a programba, akkor kérlek jelezd a programon belül található “report bug” menüponttal. Ez átvisz a projekt GitHub oldalára, ahol bejelentheted a hibát.

A mérnöki szóra a tudományos helyett leginkább azért esett a választás, mivel moduláris a program, plugin csomagokkal bővíthető a tudása. A plugin csomagok révén nem matematikai függvényekkel bővül a tudás, hanem komplett számológép alkalmazásokkal, amelyek egy adott probléma elvégzésére alkalmasak. Ilyen például egy IP alhálózat bontás, vagy mondjuk egy Minterm tábla egyszerűsítés. Közvetlenül nem kapcsolódnak a számológép funkcionalitáshoz, viszont néha napján hasznos, ha ott vannak.

Emellett a mérnökség abban is megmutatkozik, hogy komplett kifejezés kiértékelési támogatással rendelkezik. Ez alatt értendő az, hogy a program képes kiértékelni precedencia szint szerint a műveleteket, kifejezéseket. Emellett rendelkezik rendes változókezeléssel és rengeteg konstans érték beépítetten elérhető. Továbbá támogatja a prefixumok használatát bevitelkor és kiíráskor, valamint képes számokat különböző számrendszer szerint fogadni.

Sajnos azonban mindennek ára van. Ezen projekt kedvéért a korábban fejlesztett MCU tools projekt fejlesztését abbahagyom. A használati statisztikák alapján talán 1-2 embernek okoz érvágást ez a hír, viszont a funkciók többsége átemelésre került az új programba. Az MCU tools még mindig nyílt forráskódú, szintén megtalálható a GitHub-on a teljes forráskód.

Mivel a tudás mindenkié, a program nyílt forráskódú és az is marad. A program letölthető a projekt GitHub oldaláról, ami a https://github.com/webmaster442/ECalc oldalon található meg, vagy az alábbi gombra kattintva:

ECalc Béta változat letöltése

Képernyőképek

Mi van benne?

A konkrétumok szerintem mindig is jobban eladtak egy terméket, mint a félrebeszélés, tehát jöjjenek a nyers tények a program jelenlegi tudásáról:

  • Komplex számok, vektorok, törtek és mátrixok támogatása
  • Prefixumok támogatása
  • A függvények kereshetőek, illetve a program megjegyzi a használati statisztikákat, így azok kerülnek előtérbe, amiket többször használunk.
  • Változó kezelés. A változók menthetők fájlba és vissza is tölthetőek onnan.
  • Beépítetten egy csomó tudományos konstans.
  • Több számrendszer támogatása műveletvégzés során. A támogatott számrendszerek: 2, 8, 10, 16, valamint római.
  • Lebegőpontos számok átírása tört alakba
  • Számok szöveggé alakítása (angol nyelven)
  • Valuta átváltó, ami az MNB oldaláról szedi az aktuális középárfolyamokat
  • Statisztikai számítások
  • Mértékegység átváltó
  • Függvény rajzoló

Mérnöki modulok:

  • Számrendszer átváltó (BCD támogatással)
  • 555 timer IC számoló
  • Logikai függvény egyszerűsítő
  • IP alhálózat számító
  • Színrendszerek közötti átváltó
  • LED előtét ellenállás számító
  • Ellenállás színkód visszafejtő
  • Műveleti erősítő számoló
  • Feszültség- és áramosztó számító

Mi kell a futtatásához?

  • Windows Vista SP2 / 7 SP1 / 8 / 8.1 / 10 operációs rendszer
  • 3Mb lemez terület
  • .NET Framework 4.5.2