A szerkesztő megjegyzése: A Mathcad-ben a prímszámokat néhány programozási lépéssel meg lehet találni. Dave Martin megmutatja hogyan (és biztosítja Önt, hogy nem kell sok programozási tapasztalat ahhoz, hogy meg is értse).

Ha egy szám pontosan két számmal osztható, eggyel és önmagával, akkor prímszámokról beszélünk.

A prímszámok már évezredek óta elkápráztatják a matematikusokat. Nagyjából Krisztus előtt 300-ban Euelid bebizonyította, hogy végtelen számú prímszám létezik. Egy évszázaddal később, egy görög matematikus, Eratoszthenész kitalált egy módszert, amellyel meg lehetett találni a prímszámokat. Ez a módszer a mai napig az ő nevét viseli, mint Eratoszthenész szitája (The Sieve of Erastothenes). Emellett további nagy matematikusok, mint Euler, Escott, Fermat és Mersenne is dolgoztak olyan formulákon, amelyekkel megtalálhatók a prímszámok.

A számelmélet alaptétele kimondja, hogy minden egész szám képezheti a prímszámok egyik tényezőjét. A Goldfarb-sejtés (Goldfarb Conjecture) kijelenti, hogy minden páros egész szám előállítható 2 prímszám összegeként. Ez még nem bizonyított minden páros szám esetében, de cáfolva sincsen. Tehát elmondható, hogy valami alapvetően különös a prímszámokban.

Talán nem tudja, de a prímszámoknak hatása van az életére, minden nap. Minden egyes pénzügyi tranzakció, amit online vagy az ATM-en keresztül végez nyilvános kulcsú kriptorendszerektől függ, amelyek rendkívül hosszú prímszámokat használnak.

Egyik nap a prímszámokon gondolkodtam és rájöttem, hogy ha egy szám nem osztható egyik, a négyzetgyökénél kisebb számmal sem, akkor az prímszám.

Később megtudtam, hogy Eratoszthenész erre már 2200 évvel ezelőtt rájött. Sőt, az elmélete bizonyítja, hogy egy egész szám prímszám akkor, ha nem osztható egyik, a négyzetgyökénél kisebb prímszámmal sem.

Kíváncsi lettem, tudok-e programot írni a Mathcad-ben a prímszámokra. Mégpedig úgy, hogy ahelyett, hogy meghatározom, hogy egy szám prím vagy sem, kicsit érdekesebbé teszem a dolgot. A számok egy széles skáláját akartam inputként használni a programban és szerettem volna, ha az output az ebben a skálában található prímszámok lesznek. Itt van a program.

Vessük rá egy pillantást:

  • Az ismétlődő ciklus az egyik legfontosabb összetevője egy programnak. És ebben a programban kettő is van belőle. A „for loop” lehetővé teszi, hogy adott tevékenységsorozatokat hajtsunk végre adott ismétlésszámmal. A while loop addig ismétli a tevékenységet, amíg egy adott feltétel meg nem szűnik.
  • A „ha-akkor-különben” konstrukció megvizsgál egy adott feltételt és különböző tevékenységeket hajt végre attól függően, hogy az adott feltétel teljesül-e, vagy sem.
  • Amennyiben egy számról kiderül, hogy nem prímszám, a megszakító funkció engedélyezi a programnak, hogy kilépjen az aktuális ciklusból és megvizsgálja a következő egész számot.
  • Beépített funkciót használ, mint a ceil annak érdekében, hogy felkerekítse a számokat a következő egész számra, és olyat, mint a mod, hogy kiszámolja az együtthatókat. A PTC Mathcad Prime szoftvere több, mint 400 beépített funkcióval rendelkezik, különböző területekről, nagy választékban.
  • A program létrehoz egy vektort és ezt adja ki eredményként. Azt viszont nem tudja, mekkora lesz a vektor, amikor készíti.

Ez nem is rossz 14 sorhoz képest. Valamint el kell mondjam, hogy nem jeleskedek a hagyományos programozásban sem. Elolvastam egy könyvet a Pythonról évekkel ezelőtt, de soha nem jutottam tovább a „Hello World!” programnál. A legutolsó programozási képzésem a C volt – nem a C++, hanem a sima C – még akkor, amikor az első Bush volt az elnök. Én vagyok rá az élő bizonyíték, hogy nem kell jónak lennie a számítógépes programozásban, ahhoz tudjon programozni a PTC Mathcad Prime szoftverében.

Itt van néhány végkövetkeztetés:

A program valószínűleg lehetne rövidebb. Határozottan lehetne jobb. A programok támogatják a rekurziót: a program képes önmagát meghívni. Hatékonyabbá tudom tenni a programot azáltal, hogy rekurziót teszek bele annak érdekében, hogy az egész számokat csak a négyzetgyökük alatti számokkal hasonlítsa össze. De ez már egy következő projekt.

Mit tud csinálni ezzel a programmal, amivel megkönnyíti a mérnöki számításait? A lehetőségek épp úgy végtelenek, mint a prímszámok.

Ipar 4.0 – Ismerje meg ipari digitalizációs megoldásainkat és tekintse meg aktuális hirdetéseinket, akcióinkat!

Leave a Comment

Az e-mail-címet nem tesszük közzé.

For security, use of Google's reCAPTCHA service is required which is subject to the Google Privacy Policy and Terms of Use.

I agree to these terms.

Scroll to Top