İçindekiler:

En Yüksek Ortak Faktör Hesaplayıcısı: 6 Adım
En Yüksek Ortak Faktör Hesaplayıcısı: 6 Adım

Video: En Yüksek Ortak Faktör Hesaplayıcısı: 6 Adım

Video: En Yüksek Ortak Faktör Hesaplayıcısı: 6 Adım
Video: Ortak Kat - Ortak Bölen / Sorularla Konu Anlatımı 📘 6.Sınıf Matematik #2023 2024, Kasım
Anonim
En Yüksek Ortak Faktör Hesaplayıcı
En Yüksek Ortak Faktör Hesaplayıcı

Eğittiğim birçok arkadaşım ve çocuğum, herhangi bir sayı kümesinin en yüksek ortak faktörünü (HCF) bulmakta sorun yaşıyor. Bunun nedeni çoğunlukla benim ülkemde eğitimin gerçekten standartların altında olmasıdır. Çocuklar genellikle ezbere ve katı kurallara başvururlar.

Bu anlamda HCF'yi hesaplayan bir program oluşturdum.

Bu aslında elle yapılamaz ve HCF elde etmenin daha kolay ve daha basit yolları olsa da, kişisel olarak bunun en ilkel ve dolayısıyla en temel teknik olduğunu düşünüyorum. Umarım insanlar HCF'nin doğasını anlayabilirler.

bugün yazacağım programlama dili konsol modunda Microsoft studio 2010

Bunun nedeni, büyük/küçük harf duyarlı olmaması ve çok kullanıcı dostu olmasıdır, bu nedenle yeni başlayanlar için mükemmeldir.

Adım 1: Adım 1: Değişkenleri Bildirmek

Herhangi bir programda herhangi bir veriyi işlemek için saklamak istediğimizde değişken tanımlamamız gerekiyor. Programımda birçok tür olmasına rağmen ben sadece yerel değişkenleri kullandım.

integral değişkenleri biçimde saklar

Dim x Tamsayı Olarak

bu, değişkeni tamsayı veri türü olarak "x" adıyla etiketler

bu yüzden programda bu değişkenleri bildirmemiz gerekiyor

Dim firstNum, secondNum, TEMP, HCF As Integer

temelde değişkenler için şu adlara göre depoladım: firstNum, secondNum, TEMP, HCF

Adım 2: Değişkenleri Saklamak

Bir değişken tanımladıktan sonra ona bir değer atamalıyız, aksi takdirde işe yaramaz.

bunu yapmak için "=" operatörünü kullanıyoruz

ancak kullanıcıdan okumasını sağlamak için girilmesi için bir yola ihtiyacımız var. "Console. ReadLine" işlevini kullanıyoruz

bu, konsola yazılan bir satırı okuyan visual basic'in konsol modunun bir işlevidir.

program şu şekildedir;

firstNum = Console. ReadLine

sonra aynısını bir sonraki değişkenle yaparız

secondNum = Console. ReadLine

bu, program tarafından manipülasyon için iki sayı saklar

3. Adım: Karşılaştırma

sonra iki değişkeni karşılaştırır ve hangisinin daha küçük olduğunu kontrol ederiz. daha büyük sayıyı da kullanabilirdik ama programa fazla yük bindirmek faydasız olurdu. ancak her iki değişken de eşitse, ikisini de kullanabiliriz

karşılaştırmak için if deyimlerini kullanırız

Eğer koşul Sonra (koşul doğruysa eylem)

ElseIf koşulu o zaman

(koşul doğruysa eylem)

Bitir

yani aslında böyle görünüyor

firstNum < secondNum ise O zaman TEMP = firstNum ElseIf firstNum > secondNum O zaman TEMP = secondNum

ElseIf firstNum = secondNum Then

SICAKLIK = saniyeNum

Bitir

Adım 4: HCF'yi Bulma

teorik olarak HCF, verilen tüm sayıların kalan bırakmadan tek tek bölünebildiği en yüksek tam sayıdır. veya bir bilgisayarın duyularında sıfırdan kalan bir değer

programımda sayıları bölmeye devam ediyorum ve tüm sayıları kalan bırakmadan bölen mümkün olan en yüksek tam sayıyı elde edene kadar artırıyorum.

bunun için bir "yineleme döngüsü" kullanacağım

sözdizimi gider:

i = (herhangi bir sayı) ila (herhangi bir sayı) adımı için (artan sayı)

(işlev)

Sonraki

0'a bölemediğim için 1'den ve en küçük sayıdan başlamam gerekecek. bunun nedeni, HCF'nin herhangi bir sayıdan büyük olamamasıdır. Hatırlarsanız en küçük sayıyı 'TEMP' değişkenine kaydetmiştik.

sayıları karşılaştırmak için bir if ifadesi kullanacağız.

bu görev için ayrıca modül operatörü adı verilen özel bir operatör kullanacağız.

bu, bir bölümden kalanı döndürür

onun sözdizimi

(sayı) mod (bölen)

diğer programlama dillerinde, yani C++, mod yüzde işareti '%' ile değiştirilebilir

bu yüzden programımız için yazıyoruz

i = 1 için TEMP Adım 1

Eğer ((firstNum Mod i = 0) Ve (secondNum Mod i = 0)) O zaman

HCF = ben

Sonraki ise Bitir

sayıları her daha büyük bir değişken bulunduğunda "HCF" değişkeninde saklarız HCF'nin üzerine yazılır

eğer i her iki sayının bir faktörü ise, o zaman değişken HCF'de saklanır

Adım 5: Çıktıyı Görüntüleme

çıktıyı konsol ekranında görüntülemek için "console.write()" veya "console.writeline()" komutunu kullanırız.

önemli bir kural, yazılı kelimelerin kesme işareti ("") içine alınması gerektiğidir. Değişkenlerin kesme işareti içine alınması gerekmez

satırları birleştirmek için " & " operatörünü de kullanabiliriz & sembolünün her iki yanına bir boşluk koymayı unutmayın

böylece program gider

Console. WriteLine("En yüksek ortak faktör " & HCF)

Ne yazık ki bilgisayar genellikle söylenmedikçe kullanıcıyı beklemez. bu yüzden kullanıcının sonucu okumasına izin vermek için başka bir program satırı ekliyoruz.

Console. WriteLine("ÇIKMAK İÇİN HERHANGİ BİR DÜĞMEYE BASIN")

Konsol. OkuAnahtarı()

Adım 6: Kolaylık İçin

bu, yardım için yorumlar içeren programlamanın benim versiyonum.

Modül Modül1 Alt Ana()

'herhangi bir programda değişkenleri bildirmeliyiz

Dim firstNum, secondNum, TEMP, HCF As Integer ' "As Integer", bu değişkenler için verilerin doğasının tamsayı olduğunu sembolize eder

'önce kullanıcıyı talimatlar hakkında bilgilendiriyoruz

Console. WriteLine("en yüksek ortak faktör için iki sayı girin") 'sonra kullanıcıdan bir sayı girmesini isteriz Console. WriteLine("ilk sayıyı girin") 'basamayı firstNum firstNum = Console. ReadLine değişkeninde saklarız ' daha sonra kullanıcıdan ikinci bir sayı girmesini isteriz Console. WriteLine("ikinci sayıyı girin") ' benzer şekilde onu da saklarız, ancak farklı bir değişkende ' ilkinin üzerine yazılmasını istemiyoruz secondNum = Console. ReadLine

'hangisinin daha büyük olduğunu karşılaştırır ve geçici bir depolama "TEMP" içinde saklarız.

firstNum secondNum ise TEMP = secondNum

'Alttaki maddede, birinci ve ikinci sayılar eşit olmasına rağmen TEMP'e bir değer kaydettik

Bunun nedeni, ne olursa olsun her ikisinin de "en yüksek" sayısına ihtiyacımız olmasıdır.

ElseIf firstNum = secondNum Then

TEMP = secondNum End If

'programlamanın gerçekten başladığı yer burasıdır.

'mod işlevi tamsayıyı bir sayıya böler ve kalanı döndürür' bu yararlıdır, bu şekilde kalanların hangi sayılarla sıfır olduğunu kontrol edebiliriz

'burada işi yapmak için bir "YİNELEME DÖNGÜSÜ" kullanıyoruz

'bir 'i' değişkeni yaratıyoruz ve her döngüden sonra onu 1 artırıyoruz

i = 1 için TEMP Adım 1 '"Adım 1", her döngüden sonra 1'lik bir artış olduğunu gösterir.

'gördüğünüz gibi bir AND işlevi de kullandık

Bunun nedeni, yalnızca her iki değişkeni de bölen ve sıfır kalanını veren sayılara ihtiyacımız olmasıdır.

'bir diğer önemli not, i'ye 0'da başlayamayacağımızdır.

'bunun nedeni, 0'a bölünen herhangi bir şeyin sonsuzluğa yol açabilmesidir. If ((firstNum Mod i = 0) And (secondNum Mod i = 0)) Sonra

'sayıları "HCF" değişkeninde saklıyoruz

' her daha büyük bir değişken bulunduğunda HCF'nin üzerine yazılır HCF = i End If Next

Console. Clear() ' bu komut konsol ekranında yazılan her şeyi siler

Console. WriteLine("en yüksek ortak faktör = " & HCF) 'bu komut konsol ekranında mesajı görüntüler

'altındaki komutlar konsol ekranından çıkmayı sağlar

Console. WriteLine() Console. WriteLine("ÇIKMAK İÇİN HERHANGİ BİR DÜĞMEYE BASIN") Console. ReadKey()

'Not'

'programlama sırasında, sözdizimlerini bozmadığınız sürece' programın daha az dağınık görünmesi için boşluk, sekme veya boş satır koymakta özgürsünüz

Alt Bitiş

Bitiş Modülü

Önerilen: