Un număr prim sau pentru anumite Mathcad ciclu

Un număr prim sau pentru caracteristicile ciclului în MathCad

Pentru a ilustra utilizarea așa-numitul ciclu progresie tip MathCAD aritmetică (pentru ciclul normal) scrie o funcție care determină dacă un simplu predeterminat întreg pozitiv n:

Un număr prim sau pentru anumite Mathcad ciclu

verifica funcția pe un număr simplu în MathCad

Se presupune că numărul transmis s n - simplu (setează r variabila este 1), iar apoi scanează secvențial reziduurile modulo n la valoarea 2, 3, ..., rădăcină (n) - resturile modulo 1 și n verifica nici un sens, iar dacă numărul nu este prim, nici unul dintre doi factori sale întregi nu poate fi mai mare decât rădăcina pătrată (5 * 5 = 25 și 5 este egală cu rădăcina pătrată a 25, iar numerele la care 25 ar fi divizibilă uniform mai mare de 5, nu există) .

Restul de întreg valoarea diviziunii n la valoarea i pot fi găsite folosind Mod functie standard (n, i). Dacă găsit cel puțin un rest de la zero, funcție simplă, scrie valoarea r returnat = 0 și se termină testele de ciclu, altfel valoarea r rămâne egală cu 1, așa cum a fost atribuit buclei.

Testați funcția noastră poate fi, dacă ai scrie o altă funcție, formând un vector al tuturor amorse care nu depășesc o valoare predeterminată N:

Un număr prim sau pentru anumite Mathcad ciclu

Toate PRIMES care nu depășește o N predeterminată - realizare în MathCad

După cum se poate observa, funcția noastră simplă incorecte - de exemplu, nu ia în considerare numerele simple de 2 și 3. Problema este că pentru ciclul va fi executat chiar dacă valoarea inițială a parametrului ciclului este mai mare decât ciclul final smoală și este egal cu 1 (implicit). De exemplu, pentru n = 2 ciclu limită al podelei (rădăcina (2)) = 1 și un ciclu prin verificarea reziduurilor modulo n = 2 la 1 și 2 egal cu zero, stabilește că numărul 2 - nu este o sarcină ușoară.

Ar fi corect să pună în aplicare bucla interioară prin declarație în timp ce:

Un număr prim sau pentru anumite Mathcad ciclu

Toate PRIMES care nu depășește o N predeterminată - realizare prin timp ce

sau cere bucla pas clar egal cu 1:

Un număr prim sau pentru anumite Mathcad ciclu

Toate PRIMES care nu depășește o N predeterminată - realizare în MathCad

În acest din urmă exemplu de realizare, numerele 2 și 3 au o funcție de a prelucra separat pentru a evita greșelile „Este necesar să se definească o rază variabilă cu valorile succesive ale“ - în acest caz apare, în cazul în care valoarea podelei (root (n)) este mai mic de trei.

Al doilea punct interesant - în clasic pentru bucla de MathCAD în, după cum știți, dreptul semnului pune de obicei ∈ argument discret.

Cu toate acestea, Mathcad vă permite să pună în aplicare o variabilă discretă la dreapta semnului ∈ un vector sau matrice. Mai mult decât atât, este posibil să se pună lista vectorilor sau matrici, separate prin virgulă. O variabilă scalară la stânga a ∈ semn la rândul său, va lua valoarea fiecărui element al fiecărei valori non-scalară în ordinea listată. In imaginea de mai jos arată cum este ilustrat cu ajutorul unei variabile i (k elemente și contor) generate în mod programatic vectorul x din toate elementele pozitive ale vectorilor parametrilor A și B.

Un număr prim sau pentru anumite Mathcad ciclu

vectori List în ciclul de program pentru MathCad