INHOUDSOPGAWE:

Die hoogste sakrekenaar: 6 stappe
Die hoogste sakrekenaar: 6 stappe

Video: Die hoogste sakrekenaar: 6 stappe

Video: Die hoogste sakrekenaar: 6 stappe
Video: Medisch Centrum West - Aflevering 6, seizoen 2 2024, November
Anonim
Hoogste gemeenskaplike faktor sakrekenaar
Hoogste gemeenskaplike faktor sakrekenaar

Baie van my vriende en kinders het my probleme met die vind van die hoogste gemene faktor (HCF) van 'n klomp getalle. Dit is meestal omdat onderwys in my land regtig sub-standaard is. kinders gebruik gewoonlik gewone leer en harde reëls.

In hierdie sin het ek 'n program geskep waarmee HCF bereken kan word.

Alhoewel dit nie eintlik met die hand gedoen kan word nie, en daar is nog makliker en eenvoudiger maniere om HCF te kry, dink ek persoonlik dat dit die mees primitiewe en dus die mees basiese tegnieke is. Ek hoop dat mense die aard van HCF kan verstaan.

die programmeertaal waarin ek vandag gaan skryf, is Microsoft studio 2010 in die konsole -modus

dit is omdat dit nie so hooflettergevoelig is nie en baie gebruikersvriendelik is, dus perfek vir 'n aspirant -beginner.

Stap 1: Stap 1: verklaring van die veranderlikes

in enige program wanneer ons enige vorm van data vir manipulasie wil stoor, moet ons veranderlikes verklaar. Alhoewel daar baie tipes in my program is, het ek slegs plaaslike veranderlikes gebruik.

dit stoor integrale veranderlikes in die formaat

Dim x As heelgetal

hierdie etiket veranderlike met die naam "x" as 'n heelgetal datatipe

dus in die program moet ons hierdie veranderlikes verklaar

Dim eerste nommer, tweede nommer, TEMP, HCF as heelgetal

Ek het basies vir veranderlikes gestoor met die name van: firstNum, secondNum, TEMP, HCF

Stap 2: Stoor die veranderlikes

Sodra ons 'n veranderlike verklaar het, moet ons dit 'n waarde toewys, anders is dit nutteloos.

Hiervoor maak ons gebruik van die "=" - operateur

maar om dit deur die gebruiker te laat lees, het ons 'n manier nodig om dit in te voer. ons gebruik die funksie "Console. ReadLine"

Dit is 'n funksie van Visual Basic se konsole -modus, wat 'n reël lees wat in die konsole getik is

die program verloop so;

firstNum = Console. ReadLine

ons doen dan dieselfde met die volgende veranderlike

secondNum = Console. ReadLine

dit stoor twee getalle vir manipulasie deur die program

Stap 3: Vergelyk

Vervolgens vergelyk ons twee veranderlikes en kyk watter een kleiner is. ons kan ook die groter getal gebruik, maar dit sal nutteloos wees om die program te veel te belas. maar as beide veranderlikes gelyk is, kan ons dit ook gebruik

Om te vergelyk, gebruik ons die if -stellings

As voorwaarde Dan (aksie as voorwaarde waar is)

Andersins as die toestand dan

(aksie as die voorwaarde waar is)

Einde As

so eintlik lyk dit so

As firstNum <secondNum Dan TEMP = firstNum ElseIf firstNum> tweedeNum Dan TEMP = secondNum

ElseIf firstNum = secondNum Dan

TEMP = tweede Aantal

Einde As

Stap 4: Vind HCF

in teorie is HCF die hoogste heelgetal waarmee alle gegewe getalle individueel gedeel kan word sonder om 'n res oor te laat. of in 'n rekenaar se sintuie 'n res van nul

in my program verdeel ek steeds die getalle en neem ek toe totdat ek die hoogste getal moontlik kry wat al die getalle verdeel sonder om 'n res oor te laat.

hiervoor sal ek 'n "vir herhalingslus" gebruik

die sintaksis lui:

Vir i = (enige getal) tot (enige getal) stap (inkrementele getal)

(funksie)

Volgende

Aangesien ek nie met 0 kan deel nie, moet ek van 1 begin en na die minste getal. dit is omdat die HCF nie groter as enige van die getalle kan wees nie. as u onthou, het ons die minste getal in die veranderlike 'TEMP' gestoor.

Om die getalle te vergelyk, gebruik ons 'n if -stelling.

Vir hierdie taak gebruik ons ook 'n spesiale operator genaamd die modulusoperator

dit gee die res uit 'n afdeling terug

die sintaksis daarvan is

(nommer) mod (verdeler)

in ander programmeertale, dit wil sê C ++, kan mod vervang word deur die persentasie teken '%'

daarom skryf ons vir ons program

Vir i = 1 Na TEMP Stap 1

As ((eersteNum Mod i = 0) En (secondNum Mod i = 0)) Dan

HCF = i

Einde As Volgende

ons stoor die getalle in veranderlike "HCF" elke keer as 'n groter veranderlike gevind word HCF word oorgeskryf

as i 'n faktor van beide getalle is, word dit in die veranderlike HCF gestoor

Stap 5: Vertoon uitset

Om die uitset op die konsoleskerm te vertoon, gebruik ons die opdrag "console.write ()" of "console.writeline ()"

'n belangrike duimreël is dat geskrewe woorde in apostrofes ("") ingesluit moet word. Veranderlikes hoef nie in apostrofes ingesluit te word nie

ons kan ook gebruik maak van die "&" - operateur om by lyne aan te sluit, onthou om 'n spasie aan weerskante van die & -simbool te plaas

so gaan die program

Console. WriteLine ("Die hoogste algemene faktor is" en HCF)

Helaas, die rekenaar wag gewoonlik nie op die gebruiker tensy dit in kennis gestel word nie. daarom voeg ons nog 'n programlyn by sodat die gebruiker die resultaat kan lees.

Console. WriteLine ("DRUK OP ENIGE KNOPP om uit te gaan")

Console. ReadKey ()

Stap 6: Vir gemak

dit is my weergawe van die programmering met kommentaar op hulp.

Module Module 1 Sub Hoof ()

'in enige program moet ons veranderlikes verklaar

Dim firstNum, secondNum, TEMP, HCF As Integer '' As Integer 'simboliseer dat die aard van data vir hierdie veranderlikes heelgetalle is

'eers lig ons die gebruiker in oor die instruksies

Console. WriteLine ("voer twee getalle in vir die hoogste gemene faktor") 'dan vra ons die gebruiker om 'n nommer in te voer Console. WriteLine ("voer eerste nommer in")' ons stoor die syfer in 'n veranderlike firstNum firstNum = Console. ReadLine ' dan vra ons die gebruiker om 'n tweede nommer in te voer Console. WriteLine ("voer tweede nommer in") 'net so stoor ons dit ook, maar in 'n ander veranderlike' wil ons nie hê dat die eerste een oorgeskryf moet word secondNum = Console. ReadLine

'ons vergelyk watter een groter is en stoor dit in 'n tydelike stoor "TEMP"

As firstNum secondNum Dan TEMP = secondNum

'in die onderstaande klousule het ons 'n waarde in die TEMP gestoor, al was die eerste en tweede getal gelyk

'Dit is omdat ons die' hoogste 'nommer nodig gehad het, of dit ook al mag wees.

ElseIf firstNum = secondNum Dan

TEMP = tweede Aantal Einde As

'Hier begin die programmering regtig

'die mod -funksie deel die heelgetal met 'n getal en gee die res terug', dit is handig, op hierdie manier kan ons kyk watter getalle die res van die nul is

'hier gebruik ons 'n' FOR ITERATION LOOP 'om die werk te doen

'ons skep 'n veranderlike' i 'en verhoog dit met 1 na elke lus

Vir i = 1 TEMP Stap 1 'Stap 1' toon dat daar 'n toename van 1 na elke lus is

'Soos u kan sien, het ons ook 'n AND -funksie gebruik

'Dit is omdat ons slegs getalle nodig gehad het wat beide veranderlikes verdeel en die res nul gee

'n ander belangrike opmerking is dat ons nie by 0 kan begin nie

'dit is omdat enigiets gedeel deur 0 tot oneindig kan lei As ((firstNum Mod i = 0) And (secondNum Mod i = 0)) Dan

'ons stoor die getalle in veranderlike' HCF '

'elke keer as 'n groter veranderlike gevind word, word HCF oorgeskryf HCF = i Eind As Volgende

Console. Clear () 'Met hierdie opdrag word alles wat op die konsoleskerm geskryf is, verwyder

Console. WriteLine ("hoogste gemene faktor =" & HCF) 'hierdie opdrag vertoon boodskap op die konsole skerm

'Met die opdragte daaronder kan u die konsoleskerm verlaat

Console. WriteLine () Console. WriteLine ("DRUK OP ENIGE KNOPPIE OM UIT TE GAAN") Console. ReadKey ()

'P. S

'terwyl u programmeer, solank u nie die sintaksis verwoes nie', kan u spasies, oortjies of leë lyne plaas om die program minder deurmekaar te laat lyk

Einde Sub

Eindmodule

Aanbeveel: