Mundarija:

Eng yuqori umumiy omillar kalkulyatori: 6 qadam
Eng yuqori umumiy omillar kalkulyatori: 6 qadam

Video: Eng yuqori umumiy omillar kalkulyatori: 6 qadam

Video: Eng yuqori umumiy omillar kalkulyatori: 6 qadam
Video: 30 yoshgacha o'qishingiz SHART bo'lgan 9ta KITOB! 2024, Iyul
Anonim
Eng yuqori umumiy omillar kalkulyatori
Eng yuqori umumiy omillar kalkulyatori

Mening ko'plab do'stlarim va bolalarim o'qituvchida har qanday sonlarning eng yuqori umumiy omilini (HCF) topish muammosi bor. Buning sababi shundaki, mening mamlakatimda ta'lim haqiqatan ham standart emas. Bolalar odatda bemalol o'rganishga va qattiq qoidalarga murojaat qilishadi.

Shu ma'noda men HCFni hisoblaydigan dastur yaratdim.

Garchi buni qo'l bilan qilish mumkin bo'lmasa va HCFni olishning eng oson va sodda usullari mavjud bo'lsa, men shaxsan bu eng ibtidoiy va shuning uchun eng asosiy texnika deb o'ylayman. Umid qilamanki, odamlar HCFning mohiyatini tushunishadi.

Men bugun yozmoqchi bo'lgan dasturlash tili - konsol rejimida Microsoft studio 2010

Buning sababi shundaki, u katta harflarga sezgir emas va foydalanuvchilar uchun juda qulay, shuning uchun yangi boshlanuvchilar uchun juda mos keladi.

1 -qadam: 1 -qadam: o'zgaruvchilarni e'lon qilish

har qanday dasturda biz manipulyatsiya qilish uchun har qanday ma'lumotni saqlamoqchi bo'lsak, o'zgaruvchilarni e'lon qilishimiz kerak, lekin mening dasturimda ko'p turlar mavjud bo'lsa -da, men faqat mahalliy o'zgaruvchilardan foydalanganman.

u integral o'zgaruvchilarni formatda saqlaydi

Dim x butun son sifatida

bu o'zgaruvchini "x" nomi bilan butun ma'lumotlar turi sifatida belgilaydi

shuning uchun dasturda biz bu o'zgaruvchilarni e'lon qilishimiz kerak

Birinchi raqam, ikkinchi son, TEMP, HCF butun son sifatida

Men asosan o'zgaruvchilar uchun nomlar bilan saqladim: firstNum, secondNum, TEMP, HCF

2 -qadam: O'zgaruvchilarni saqlash

O'zgaruvchini e'lon qilgandan so'ng, biz unga qiymat berishimiz kerak, aks holda bu foydasiz.

Buning uchun biz "=" operatoridan foydalanamiz

lekin uni foydalanuvchidan o'qish uchun uni kiritish usuli kerak. biz "Console. ReadLine" funktsiyasidan foydalanamiz

bu Visual Basic -ning konsol rejimining funktsiyasi bo'lib, u konsolda yozilgan qatorni o'qiydi

dastur shunday bo'ladi;

firstNum = Console. ReadLine

biz keyingi o'zgaruvchi bilan ham xuddi shunday qilamiz

secondNum = Console. ReadLine

bu dastur yordamida manipulyatsiya qilish uchun ikkita raqamni saqlaydi

3 -qadam: solishtirish

Keyin biz ikkita o'zgaruvchini taqqoslaymiz va qaysi biri kichikroq ekanligini tekshiramiz. biz ham katta raqamdan foydalanishimiz mumkin edi, lekin dasturga ortiqcha yuk qo'yish befoyda bo'lardi. lekin agar ikkala o'zgaruvchi teng bo'lsa, biz ham ulardan foydalanishimiz mumkin

solishtirish uchun if iboralarini ishlatamiz

Agar shart keyin (shart to'g'ri bo'lsa, harakat)

Agar boshqa shart bo'lsa

(agar shart to'g'ri bo'lsa, harakat)

Agar tugasa

shuning uchun amalda shunday ko'rinadi

Agar firstNum <secondNum Keyin TEMP = firstNum ElseIf firstNum> secondNum Keyin TEMP = secondNum

ElseIf firstNum = secondNum Keyin

TEMP = soniya raqami

Agar tugasa

4 -qadam: HCFni topish

nazariy jihatdan HCF - bu berilgan raqamlarni qoldiq qoldirmasdan alohida ajratish mumkin bo'lgan eng yuqori tamsayı. yoki kompyuter sezgisida qolgan nol

mening dasturimda men raqamlarni bo'linishni davom ettiraman va qolgan sonlarni qoldirmasdan, barcha sonlarni bo'linadigan eng yuqori tamsayı bo'lguncha ko'paytiraman.

Buning uchun men "takrorlanish davri" dan foydalanaman

sintaksisi ketadi:

I = (har qanday raqam) dan (har qanday songa) qadam (ortib boruvchi raqam) uchun

(funktsiya)

Keyingi

chunki men 0 ga bo'lolmayman, men 1dan va eng kam songacha boshlashim kerak. Buning sababi shundaki, HCF har qanday raqamdan katta bo'lishi mumkin emas. Agar eslasangiz, biz "TEMP" o'zgaruvchisida eng kam sonni saqlaganmiz.

raqamlarni solishtirish uchun if ifodasini ishlatamiz.

Bu vazifa uchun biz modul operatori deb nomlangan maxsus operatordan ham foydalanamiz

bu bo'linishdan qolgan qismini qaytaradi

uning sintaksisi

(son) mod (bo'luvchi)

boshqa dasturlash tillarida, ya'ni C ++ da mod "%" foiz belgisi bilan almashtirilishi mumkin.

shuning uchun biz dasturimiz uchun yozamiz

I = 1 uchun TEMPga 1 -qadam

Agar ((firstNum Mod i = 0) Va (SecondNum Mod i = 0)) Keyin

HCF = i

Keyingi bo'lsa tugatish

biz raqamlarni "HCF" o'zgaruvchisiga saqlaymiz, har safar katta o'zgaruvchi topilsa, HCF qayta yoziladi

agar i har ikkala raqamning omili bo'lsa, u o'zgaruvchan HCFda saqlanadi

5 -qadam: Chiqarishni ko'rsatish

chiqishni konsol ekranida ko'rsatish uchun biz "console.write ()" yoki "console.writeline ()" buyrug'idan foydalanamiz.

Bosh barmog'ining muhim qoidasi shundaki, yozma so'zlar apostrof ("") bilan yozilishi kerak. O'zgaruvchilarni apostrof bilan yozib qo'yish shart emas

satrlarni birlashtirish uchun "&" operatoridan foydalanishimiz mumkin, & belgisining har ikki tomoniga bo'sh joy qo'yishni unutmang

Shunday qilib, dastur ketadi

Console. WriteLine ("Eng yuqori umumiy omil" va HCF)

Afsuski, kompyuter odatda foydalanuvchini aytmaydi. shuning uchun biz foydalanuvchining natijani o'qishiga ruxsat berish uchun dasturning boshqa qatorini qo'shamiz.

Console. WriteLine ("Chiqish uchun biron -bir tugmani bosing")

Console. ReadKey ()

6 -qadam: qulaylik uchun

bu yordam uchun sharhlar bilan dasturlashning mening versiyasi.

Module Module1 Sub Main ()

Har qanday dasturda biz o'zgaruvchilarni e'lon qilishimiz kerak

Dim firstNum, secondNum, TEMP, HCF Integer sifatida "Butun son sifatida" bu o'zgaruvchilar uchun ma'lumotlarning tabiati butun sonlar ekanligini anglatadi

birinchi navbatda biz foydalanuvchini ko'rsatmalar haqida xabardor qilamiz

Console. WriteLine ("eng yuqori umumiy omil uchun ikkita raqamni kiriting") ', keyin biz foydalanuvchidan Console. WriteLine raqamini kiritishni taklif qilamiz ("birinchi raqamni kiriting")' biz raqamni firstNum firstNum = Console. ReadLine o'zgaruvchisiga saqlaymiz. keyin biz foydalanuvchini ikkinchi raqamni kiritishni taklif qilamiz Console. WriteLine ("ikkinchi raqamni kiriting") "xuddi shunday biz ham saqlaymiz, lekin boshqa o'zgaruvchida" biz ikkinchi raqamni yozishni xohlamaymiz secondNum = Console. ReadLine

"Biz qaysi biri kattaroqligini taqqoslaymiz va uni" TEMP "vaqtinchalik omboriga saqlaymiz.

Agar firstNum secondNum bo'lsa TEMP = secondNum

ostidagi bandda biz birinchi va ikkinchi raqamlar teng bo'lsa ham, TEMPda qiymat saqladik

"Buning sababi, bizga nima bo'lishidan qat'i nazar," eng yuqori "raqam kerak edi.

ElseIf firstNum = secondNum Keyin

TEMP = secondNum End If

Bu erda dasturlash haqiqatan ham boshlanadi

"mod funktsiyasi butun sonni songa bo'linadi va qolganini qaytaradi" bu foydalidir, shuning uchun biz qanday raqamlar qolgan qoldiqlarni nol ekanligini tekshirishimiz mumkin.

Bu erda biz ishni bajarish uchun "ITERATION LOOP" dan foydalanamiz

"biz" i "o'zgaruvchisini yaratamiz va har bir tsikldan keyin uni 1 ga ko'paytiramiz

I = 1 uchun TEMP uchun 1 -qadam "1 -qadam" har bir tsikldan keyin 1 ga ko'payishini ko'rsatadi.

Ko'rib turganingizdek, biz AND funktsiyasidan ham foydalanganmiz

Buning sababi shundaki, bizga faqat ikkita o'zgaruvchini bo'ladigan, qolgan nolni beradigan raqamlar kerak edi

Yana bir muhim eslatma shundaki, biz 0 dan boshlay olmaymiz

Buning sababi, 0 ga bo'linadigan narsa cheksizlikka olib kelishi mumkin, agar ((firstNum Mod i = 0) Va (secondNum Mod i = 0)) Keyin

"Biz raqamlarni" HCF "o'zgaruvchisida saqlaymiz.

Har safar katta o'zgaruvchi topilsa, HCF qayta yoziladi HCF = i End if Next

Console. Clear () 'buyrug'i konsol ekranida yozilgan narsalarni tozalaydi

Console. WriteLine ("eng yuqori umumiy omil =" & HCF) bu buyruq konsol ekranida xabarni ko'rsatadi

ostidagi buyruqlar konsol ekranidan chiqishga imkon beradi

Console. WriteLine () Console. WriteLine ("Chiqish uchun biron -bir tugmani bosing") Console. ReadKey ()

'P. S

"dasturlash paytida, agar siz sintaksisni buzmasangiz", siz dasturni chalkash ko'rinishi uchun bo'sh joylar, yorliqlar yoki bo'sh satrlarni qo'yishingiz mumkin.

Sub tugatish

Oxirgi modul

Tavsiya: