สารบัญ:

เครื่องคำนวณปัจจัยร่วมสูงสุด: 6 ขั้นตอน
เครื่องคำนวณปัจจัยร่วมสูงสุด: 6 ขั้นตอน

วีดีโอ: เครื่องคำนวณปัจจัยร่วมสูงสุด: 6 ขั้นตอน

วีดีโอ: เครื่องคำนวณปัจจัยร่วมสูงสุด: 6 ขั้นตอน
วีดีโอ: กฎการลดน้อยถอยลงของผลผลิต EP1 2024, กรกฎาคม
Anonim
เครื่องคำนวณปัจจัยร่วมสูงสุด
เครื่องคำนวณปัจจัยร่วมสูงสุด

เพื่อนและลูกๆ ของฉันหลายคนที่ฉันติวเตอร์มีปัญหาในการหาตัวประกอบร่วม (HCF) ที่สูงที่สุดของตัวเลขใดๆ ส่วนใหญ่เป็นเพราะการศึกษาในประเทศของฉันนั้นต่ำกว่ามาตรฐานจริงๆ เด็ก ๆ มักหันไปใช้การเรียนรู้ท่องจำและกฎเกณฑ์ที่เข้มงวด

ในแง่นี้ฉันสร้างโปรแกรมที่ใช้คำนวณ HCF

แม้ว่าสิ่งนี้ไม่สามารถทำได้ด้วยมือจริง ๆ และมีวิธีที่ง่ายกว่าและง่ายกว่าในการรับ HCF โดยส่วนตัวแล้วฉันคิดว่านี่เป็นวิธีดั้งเดิมที่สุดและด้วยเหตุนี้จึงเป็นเทคนิคพื้นฐานที่สุด ฉันหวังว่าผู้คนจะสามารถเข้าใจธรรมชาติของ HCF

ภาษาโปรแกรมที่ฉันกำลังจะเขียนในวันนี้คือ Microsoft studio 2010 ในโหมดคอนโซล

เนื่องจากไม่ได้คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่และเป็นมิตรกับผู้ใช้มากจึงเหมาะสำหรับผู้เริ่มต้นที่ต้องการ

ขั้นตอนที่ 1: ขั้นตอนที่ 1: ประกาศตัวแปร

ในโปรแกรมใด ๆ เมื่อเราต้องการเก็บข้อมูลรูปแบบใด ๆ สำหรับการจัดการ เราจำเป็นต้องประกาศตัวแปร แม้ว่าโปรแกรมของฉันจะมีหลายประเภท แต่ฉันใช้เฉพาะตัวแปรในเครื่องเท่านั้น

มันเก็บตัวแปรสำคัญในรูปแบบ

Dim x As Integer

ป้ายกำกับนี้ตัวแปรโดยใช้ชื่อ "x" เป็นประเภทข้อมูลจำนวนเต็ม

ดังนั้นในโปรแกรมเราต้องประกาศตัวแปรเหล่านี้

หรี่ firstNum, secondNum, TEMP, HCF As Integer

โดยทั่วไปฉันได้จัดเก็บตัวแปรโดยใช้ชื่อ: firstNum, secondNum, TEMP, HCF

ขั้นตอนที่ 2: การจัดเก็บตัวแปร

เมื่อเราประกาศตัวแปรแล้ว เราต้องกำหนดค่าให้มัน มิฉะนั้นจะไม่มีประโยชน์

การทำเช่นนี้เราใช้ตัวดำเนินการ "="

แต่เพื่อให้อ่านจากผู้ใช้ เราจำเป็นต้องมีวิธีการป้อน เราใช้ฟังก์ชัน "Console. ReadLine"

นี่คือฟังก์ชันของโหมดคอนโซลของ visual Basic ซึ่งอ่านบรรทัดที่พิมพ์ลงในคอนโซล

โปรแกรมไปเช่นนี้

firstNum = Console. ReadLine

เราทำเช่นเดียวกันกับตัวแปรถัดไป

SecondNum = Console. ReadLine

นี้เก็บตัวเลขสองตัวสำหรับการจัดการโดยโปรแกรม

ขั้นตอนที่ 3: การเปรียบเทียบ

ต่อไปเราจะเปรียบเทียบตัวแปรสองตัวและตรวจสอบว่าตัวใดตัวเล็กกว่า เราสามารถใช้จำนวนที่มากขึ้นได้เช่นกัน แต่จะไม่มีประโยชน์ที่จะใส่ภาระส่วนเกินลงในโปรแกรม แต่ถ้าตัวแปรทั้งสองเท่ากัน เราก็ใช้ได้เช่นกัน

เพื่อเปรียบเทียบเราใช้คำสั่ง if

ถ้าเงื่อนไขแล้ว (การกระทำถ้าเงื่อนไขเป็นจริง)

เงื่อนไข elseIf แล้ว

(การกระทำถ้าเงื่อนไขเป็นจริง)

จบถ้า

เลยออกมาเป็นแบบนี้

ถ้า firstNum < secondNum แล้ว TEMP = firstNum ElseIf firstNum > secondNum แล้ว TEMP = secondNum

ElseIf firstNum = secondNum แล้ว

TEMP = วินาทีจำนวน

จบถ้า

ขั้นตอนที่ 4: ค้นหาHCF

ตามทฤษฎีแล้ว HCF เป็นจำนวนเต็มสูงสุดโดยที่ตัวเลขที่กำหนดทั้งหมดสามารถหารแยกกันโดยไม่เหลือเศษ หรือในความรู้สึกของคอมพิวเตอร์ ส่วนที่เหลือเป็นศูนย์

ในโปรแกรมของฉัน ฉันทำการหารตัวเลขและเพิ่มขึ้นเรื่อยๆ จนกว่าฉันจะได้จำนวนเต็มสูงสุดที่เป็นไปได้ ซึ่งจะหารตัวเลขทั้งหมดโดยไม่เหลือเศษ

สำหรับสิ่งนี้ฉันจะใช้ "for iteration loop"

ไวยากรณ์ไป:

สำหรับ i = (ตัวเลขใดๆ) ถึง (ตัวเลขใดๆ) ขั้นตอน (จำนวนที่เพิ่มขึ้น)

(การทำงาน)

ต่อไป

เนื่องจากผมหารด้วย 0 ไม่ได้ ผมจึงต้องเริ่มจาก 1 ไปหาจำนวนที่น้อยที่สุด ทั้งนี้เป็นเพราะ HCF ไม่สามารถมากกว่าตัวเลขใดๆ หากคุณจำได้ว่าเราเก็บตัวเลขที่น้อยที่สุดไว้ในตัวแปร 'TEMP'

เพื่อเปรียบเทียบตัวเลข เราจะใช้คำสั่ง if

สำหรับงานนี้ เราจะใช้ตัวดำเนินการพิเศษที่เรียกว่าตัวดำเนินการโมดูลัส

นี่จะคืนค่าส่วนที่เหลือจากการหาร

ไวยากรณ์ของมันคือ

(ตัวเลข) ตัวดัดแปลง (ตัวหาร)

ในภาษาการเขียนโปรแกรมอื่น ๆ เช่น C ++ mod อาจถูกแทนที่ด้วยเครื่องหมายเปอร์เซ็นต์ '%'

ดังนั้นสำหรับโปรแกรมของเราเราจึงเขียน

สำหรับ i = 1 ถึง TEMP ขั้นตอนที่ 1

ถ้า ((firstNum Mod i = 0) และ (secondNum Mod i = 0)) แล้ว

HCF = ฉัน

จบถ้าต่อไป

เราเก็บตัวเลขไว้ในตัวแปร "HCF" ทุกครั้งที่พบตัวแปรที่มากกว่า HCF จะถูกเขียนทับ

ถ้าฉัน ถ้าตัวประกอบของตัวเลขทั้งสอง จะถูกเก็บไว้ในตัวแปรHCF

ขั้นตอนที่ 5: การแสดงผลลัพธ์

เพื่อแสดงเอาต์พุตบนหน้าจอคอนโซล เราใช้คำสั่ง "console.write()" หรือ "console.writeline()"

กฎที่สำคัญคือคำที่เขียนจะต้องอยู่ในเครื่องหมายอะพอสทรอฟี ("") ตัวแปรไม่จำเป็นต้องอยู่ในเครื่องหมายอะพอสทรอฟี

เรายังสามารถใช้ตัวดำเนินการ " & " เพื่อรวมบรรทัด อย่าลืมเว้นวรรคที่ด้านใดด้านหนึ่งของสัญลักษณ์ &

โปรแกรมก็เลยไป

Console. WriteLine("ปัจจัยร่วมสูงสุดคือ" & HCF)

อนิจจาคอมพิวเตอร์มักจะไม่รอผู้ใช้เว้นแต่จะได้รับแจ้ง ดังนั้นเราจึงเพิ่มโปรแกรมอีกบรรทัดหนึ่งเพื่อให้ผู้ใช้อ่านผลลัพธ์ได้

Console. WriteLine("กดปุ่มใดก็ได้เพื่อออก")

Console. ReadKey()

ขั้นตอนที่ 6: เพื่อความสะดวก

นี่คือเวอร์ชันการเขียนโปรแกรมของฉันพร้อมความคิดเห็นเพื่อขอความช่วยเหลือ

โมดูล Module1 หลักย่อย ()

'ในโปรแกรมใด ๆ เราต้องประกาศตัวแปร

Dim firstNum, secondNum, TEMP, HCF As Integer ' "As Integer" เป็นสัญลักษณ์ว่าลักษณะของข้อมูลสำหรับตัวแปรเหล่านี้เป็นจำนวนเต็ม

'ก่อนอื่นเราจะแจ้งผู้ใช้เกี่ยวกับคำแนะนำ

Console. WriteLine("ป้อนตัวเลขสองตัวสำหรับปัจจัยร่วมสูงสุด") 'จากนั้นเราแจ้งให้ผู้ใช้ป้อนหมายเลข Console. WriteLine ("ป้อนหมายเลขแรก") 'เราเก็บตัวเลขไว้ในตัวแปร firstNum firstNum = Console. ReadLine' จากนั้นเราแจ้งให้ผู้ใช้ป้อนหมายเลขที่สอง Console. WriteLine ("ป้อนหมายเลขที่สอง") 'ในทำนองเดียวกันเราเก็บไว้ด้วย แต่ในตัวแปรอื่น' เราไม่ต้องการให้เขียนทับวินาทีแรก = Console. ReadLine

'เราเปรียบเทียบว่าอันไหนใหญ่กว่าและเก็บไว้ในที่เก็บข้อมูลชั่วคราว "TEMP"

ถ้า firstNum secondNum แล้ว TEMP = secondNum

'ในประโยคด้านล่างเราเก็บค่าไว้ใน TEMP แม้ว่าตัวเลขตัวแรกและตัวที่สองจะเท่ากัน

'นี่เป็นเพราะเราต้องการจำนวนที่ "สูงสุด" ของจำนวนใด ๆ ก็ตามที่เป็น

ElseIf firstNum = secondNum แล้ว

TEMP = วินาทีจำนวนสิ้นสุด If

'นี่คือจุดเริ่มต้นของการเขียนโปรแกรมจริงๆ

'ฟังก์ชัน mod แบ่งจำนวนเต็มด้วยตัวเลขและคืนค่าส่วนที่เหลือ 'นี่มีประโยชน์ ด้วยวิธีนี้เราสามารถตรวจสอบได้ว่าตัวเลขใดเป็นศูนย์ที่เหลือ

'ที่นี่เราใช้ "FOR ITERATION LOOP" เพื่อทำงาน

'เราสร้างตัวแปร 'i' และเพิ่มขึ้น 1 หลังจากทุกลูป

สำหรับ i = 1 ถึง TEMP ขั้นตอนที่ 1 '"ขั้นตอนที่ 1" แสดงว่ามีการเพิ่มขึ้นทีละ 1 หลังจากทุกลูป

'อย่างที่คุณเห็น เรายังใช้ฟังก์ชัน AND

'นั่นเป็นเพราะเราต้องการเพียงตัวเลขที่แบ่งตัวแปรทั้งสองให้เหลือศูนย์

'หมายเหตุสำคัญอีกประการหนึ่งคือเราไม่สามารถเริ่มต้น i ที่ 0

'นี่เป็นเพราะสิ่งใดที่หารด้วย 0 อาจนำไปสู่อนันต์ ถ้า ((firstNum Mod i = 0) และ (secondNum Mod i = 0)) แล้ว

'เราเก็บตัวเลขไว้ในตัวแปร "HCF"

' ทุกครั้งที่พบตัวแปรที่มากกว่า HCF จะถูกเขียนทับ HCF = i End If Next

Console. Clear() ' คำสั่งนี้จะล้างทุกอย่างที่เขียนบนหน้าจอคอนโซล

Console. WriteLine("highest common factor = " & HCF) 'คำสั่งนี้แสดงข้อความบนหน้าจอคอนโซล

'คำสั่งด้านล่างช่วยให้ออกจากหน้าจอคอนโซลได้

Console. WriteLine() Console. WriteLine("กดปุ่มใดก็ได้เพื่อออก") Console. ReadKey()

'ป.ส

'ในขณะที่เขียนโปรแกรม ตราบใดที่คุณไม่ทำลายไวยากรณ์' คุณสามารถใส่ช่องว่าง แท็บ หรือบรรทัดว่างเพื่อทำให้โปรแกรมดูยุ่งน้อยลง

จบซับ

โมดูลสิ้นสุด

แนะนำ: