300 Exempel

Prime Number Checker

Prime Number Checker

Nedan kommer vi att titta på ett program i Excel VBA den där kontroller om ett tal är a primtal eller inte.





Innan du börjar: i matematik är ett primtal ett tal som har exakt två distinkta taldelare: 1 och sig själv. De minsta tjugofem primtalen är: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73 , 79, 83, 89 och 97. Till exempel har 8 1, 2, 4 och 8 som delare och är inte ett primtal.

Situation:





skapa en ny stil i Excel

Prime Number Checker i Excel VBA

1. Först deklarerar vi tre variabler. En heltalsvariabel kallar vi divisorer, en lång variabel kallar vi nummer och en lång variabel kallar vi i. Vi använder långa variabler här eftersom långa variabler har större kapacitet än heltalsvariabler.



IngendelareSom Heltal, siffraSom Lång, jagSom Lång

2. Vi initierar två variabler. Vi initierar variabelns delare med värde 0. Vi använder InputBox -funktionen för att få ett nummer från användaren.

delare = 0
number = InputBox ('Ange ett nummer')

Ange ett nummer

Efter att användaren har angett ett nummer vill vi kontrollera om detta nummer är ett primtal eller inte. Kom ihåg att ett primtal har exakt två distinkta taldelare: 1 och sig själv.

3. Vi startar en For Next -slinga.

countif-funktionen tar två argument
Förjag = 1Tillsiffra

4. Nu kommer den viktigaste delen av programmet. För att beräkna antalet delare av ett tal använder vi Mod -operatören. Mod -operatören ger resten av en division. Till exempel 7 mod 2 = 1 eftersom 7 dividerat med 2 är lika med 3 med återstoden av 1. Endast om 'talmod i' = 0 är i en divisor av tal. I det här fallet vill vi öka de variabla delarna med 1. Makrot nedan gör tricket.

OmsiffraMotjag = 0Sedan
delare = delare + 1
Slutet Om

Excel VBA kontrollerar detta för i = 1, i = 2, i = 3, i = 4 tills i = tal. Observera att i = 1 och i = tal alltid är delare av tal. Endast om dessa siffror är de enda delarna av tal, är talet ett primtal.

5. Glöm inte att stänga slingan.

Nästai

6. Om divisorer är lika med 2 visar vi en msgbox som säger att det inmatade talet är ett primtal. Om antalet delare är högre än 2, visar vi en msgbox som säger att det inmatade talet inte är ett primtal.

Omdelare = 2Sedan
MsgBox -nummer & 'är ett primtal'
Annan
MsgBox -nummer & 'är inte ett primtal'
Slutet Om

7. Testa programmet.

Resultat för 104729:

Prime Number Checker Resultat

6/9 klar! Läs mer om om då uttalanden>
Gå till nästa kapitel: Slinga



^