Sisällysluettelo:

Korkein yhteinen tekijälaskin: 6 vaihetta
Korkein yhteinen tekijälaskin: 6 vaihetta

Video: Korkein yhteinen tekijälaskin: 6 vaihetta

Video: Korkein yhteinen tekijälaskin: 6 vaihetta
Video: CLASSPAD: SYT, PYJ/PYM, alkutekijähajotelma 2024, Marraskuu
Anonim
Korkein yhteinen tekijälaskin
Korkein yhteinen tekijälaskin

monilla ystävistäni ja opettajistani on ongelmia löytää korkein yhteinen tekijä (HCF) kaikista numeroista. Tämä johtuu lähinnä siitä, että kotimaassani koulutus on todella huonompaa. lapset turvautuvat yleensä rote -oppimiseen ja tiukkoihin sääntöihin.

Tässä mielessä loin ohjelman, jolla lasketaan HCF.

Vaikka tätä ei voida tehdä käsin, ja HCF: n hankkimiseen on vieläkin helpompia ja yksinkertaisempia tapoja, olen sitä mieltä, että tämä on alkeellisinta ja siten perustekniikkaa. Toivon, että ihmiset ymmärtävät HCF: n luonteen.

Ohjelmointikieli, jonka aion kirjoittaa tänään, on Microsoft Studio 2010 konsolitilassa

tämä johtuu siitä, että se ei ole niin kirjainkokoherkkä ja se on erittäin käyttäjäystävällinen, joten se on täydellinen aloittelijalle.

Vaihe 1: Vaihe 1: Muuttujien ilmoittaminen

missä tahansa ohjelmassa, kun haluamme tallentaa kaikenlaisia tietoja manipulointia varten, meidän on ilmoitettava muuttujat. Vaikka ohjelmassani on monia tyyppejä, olen käyttänyt vain paikallisia muuttujia.

se tallentaa kiinteät muuttujat muotoon

Dim x kokonaislukuna

tämä merkitsee muuttujan nimellä "x" integeraaliseksi tietotyypiksi

joten ohjelmassa meidän on ilmoitettava nämä muuttujat

Himmennä ensimmäinen numero, toinen numero, TEMP, HCF kokonaislukuna

Olen periaatteessa tallentanut muuttujia seuraavilla nimillä: firstNum, secondNum, TEMP, HCF

Vaihe 2: Muuttujien tallentaminen

Kun olemme ilmoittaneet muuttujan, meidän on annettava sille arvo, muuten se on hyödytön.

Tätä varten käytämme "=" -operaattoria

mutta jotta se luetaan käyttäjältä, tarvitsemme tavan sen syöttämiseksi. käytämme "Console. ReadLine" -toimintoa

tämä on Visual Basicin konsolitilan toiminto, joka lukee konsoliin kirjoitetun rivin

ohjelma menee näin;

firstNum = Console. ReadLine

teemme sitten saman seuraavan muuttujan kanssa

secondNum = Console. ReadLine

tämä tallentaa kaksi numeroa ohjelman manipulointia varten

Vaihe 3: Vertailu

seuraavaksi verrataan kahta muuttujaa ja tarkistetaan, kumpi on pienempi. Voisimme käyttää myös suurempaa määrää, mutta olisi hyödytöntä asettaa ohjelmalle ylimääräistä kuormitusta. mutta jos molemmat muuttujat ovat samat, voimme käyttää jompaakumpaa

vertailussa käytämme if -lauseita

Jos ehto Sitten (toimi, jos ehto on tosi)

Muuten jos kunto sitten

(toimi, jos ehto on totta)

Loppu Jos

niin käytännössä se näyttää tältä

Jos firstNum <secondNum then TEMP = firstNum ElseIf firstNum> secondNum Sitten TEMP = secondNum

ElseIf firstNum = secondNum Then

TEMP = toinen numero

Loppu Jos

Vaihe 4: HCF: n löytäminen

Teoriassa HCF on suurin kokonaisluku, jolla kaikki annetut luvut voidaan jakaa erikseen jättämättä jäännöstä. tai tietokoneen mielessä loppuosa nolla

ohjelmassani jaan numerot ja kasvatan niitä, kunnes saan suurimman mahdollisen kokonaisluvun, joka jakaa kaikki numerot jättämättä jäännöstä.

käytän tätä varten "iterointisilmukkaa"

syntaksi kuuluu:

I = (mikä tahansa luku) - (mikä tahansa luku) -askel (inkrementaalinen luku)

(toiminto)

Seuraava

Koska en voi jakaa 0: lla, minun on aloitettava yhdestä ja pienimmästä luvusta. tämä johtuu siitä, että HCF ei voi olla suurempi kuin mikään numero. jos muistat, tallensimme pienimmän luvun muuttujaan "TEMP".

verrataksemme numeroita käytämme if -lauseketta.

tätä tehtävää varten käytämme myös erityistä operaattoria nimeltä moduulioperaattori

tämä palauttaa osion jäännöksen

sen syntaksi on

(luku) mod (jakaja)

muilla ohjelmointikielillä, esim. C ++, mod voidaan korvata prosenttiluvulla '%'

joten kirjoitamme ohjelmamme

Jos i = 1 LÄMPÖTILAAN Vaihe 1

Jos ((firstNum Mod i = 0) And (secondNum Mod i = 0)) then

HCF = i

Lopeta jos seuraava

tallennamme numerot muuttujaan "HCF" joka kerta, kun suurempi muuttuja löytyy HCF korvataan

jos i jos kerroin molemmista numeroista, se tallennetaan muuttuvaan HCF: ään

Vaihe 5: Tuotoksen näyttäminen

Tuloksen näyttämiseksi konsolin näytöllä käytämme komentoa "console.write ()" tai "console.writeline ()"

tärkeä peukalosääntö on, että kirjoitetut sanat on liitettävä heittomerkkeihin (""). Muuttujia ei tarvitse laittaa heittomerkkeihin

Voimme myös käyttää "&" -operaattoria liittyäksesi riveihin muista muistaa sijoittaa välilyönti & -merkin kummallekin puolelle

niin ohjelma etenee

Console. WriteLine ("Korkein yhteinen tekijä on" ja HCF)

Valitettavasti tietokone ei yleensä odota käyttäjää, ellei sitä kerrota. joten lisäämme toisen ohjelmarivin, jotta käyttäjä voi lukea tuloksen.

Console. WriteLine ("PAINA MITÄÄN PAINIKETTA POISTUA")

Console. ReadKey ()

Vaihe 6: Helppous

tämä on minun versioni ohjelmoinnista ja apua koskevia kommentteja.

Moduuli Moduuli 1 Alipää ()

'missä tahansa ohjelmassa meidän on ilmoitettava muuttujat

Dim firstNum, secondNum, TEMP, HCF Kuten kokonaisluku "" Kokonaislukuna "symboloi, että näiden muuttujien tietojen luonne on kokonaislukuja

'ensin ilmoitamme käyttäjälle ohjeista

Console. WriteLine ("syötä kaksi numeroa korkeimmalle yhteiselle tekijälle") ', sitten kehotamme käyttäjää syöttämään numeron Console. WriteLine ("syötä ensimmäinen numero")' tallennamme numeron muuttujaan firstNum firstNum = Console. ReadLine ' sitten kehotamme käyttäjää syöttämään toisen numeron Console. WriteLine ("syötä toinen numero") 'samalla tavalla tallennamme myös sen, mutta eri muuttujassa' emme halua, että ensimmäinen korvataan secondNum = Console. ReadLine

'Vertaamme, kumpi on suurempi, ja tallennamme sen väliaikaiseen tallennustilaan "TEMP"

Jos firstNum secondNum Sitten TEMP = secondNum

'alla olevassa lausekkeessa tallensimme arvon TEMP: hen, vaikka ensimmäinen ja toinen numero olivat yhtä suuret

Tämä johtuu siitä, että tarvitsimme "korkeimman" numeron kummasta tahansa tahansa.

ElseIf firstNum = secondNum Then

TEMP = secondNum End If

Täällä ohjelmointi todella alkaa

'mod -funktio jakaa kokonaisluvun numerolla ja palauttaa loput' tämä on hyödyllistä, joten voimme tarkistaa, millä numeroilla jäännökset ovat nolla

'täällä käytämme "ITERATION LOOP" -toimintoa työn tekemiseen

'luomme muuttujan' i 'ja kasvatamme sitä yhdellä jokaisen silmukan jälkeen

Jos i = 1 TEMP: ään Vaihe 1 '"Vaihe 1" osoittaa, että lisäys on 1 jokaisen silmukan jälkeen

'Kuten näette, käytimme myös AND -funktiota

Tämä johtuu siitä, että tarvitsimme vain numeroita, jotka jakavat molemmat muuttujat, jolloin loppuosa on nolla

Toinen tärkeä huomautus on, että emme voi aloittaa i: tä nollasta

'tämä johtuu siitä, että mikä tahansa jaettuna 0: lla voi johtaa äärettömyyteen Jos ((ensimmäinenNum Mod i = 0) Ja (toinenNum Mod i = 0)) Sitten

"tallennamme numerot muuttujaan" HCF"

'joka kerta, kun suurempi muuttuja löytyy HCF korvataan HCF = i End If Next

Console. Clear () 'Tämä komento poistaa kaikki konsolin näyttöön kirjoitetut tiedot

Console. WriteLine ("korkein yhteinen tekijä =" & HCF) "tämä komento näyttää viestin konsolin näytöllä

'alla olevat komennot mahdollistavat poistumisen konsolinäytöstä

Console. WriteLine () Console. WriteLine ("PAINA MITÄÄN PAINIKETTA POISTUA") Console. ReadKey ()

'P. S

"ohjelmoinnin aikana, niin kauan kuin et pilaa syntakseja", voit laittaa välilyöntejä, sarkaimia tai tyhjiä rivejä, jotta ohjelma näyttää vähemmän sotkuiselta

End Sub

Lopetusmoduuli

Suositeltava: