Πίνακας περιεχομένων:

Υπολογιστής υψηλότερου κοινού συντελεστή: 6 βήματα
Υπολογιστής υψηλότερου κοινού συντελεστή: 6 βήματα

Βίντεο: Υπολογιστής υψηλότερου κοινού συντελεστή: 6 βήματα

Βίντεο: Υπολογιστής υψηλότερου κοινού συντελεστή: 6 βήματα
Βίντεο: Τα 6 Σημεία Προσοχής στην 3η Αναθεώρηση ΚΑΝ.ΕΠΕ. | 3DR.STRAD 2024, Νοέμβριος
Anonim
Υπολογιστής υψηλότερου κοινού συντελεστή
Υπολογιστής υψηλότερου κοινού συντελεστή

πολλοί φίλοι και παιδιά μου διδάσκουν προβλήματα με την εύρεση του υψηλότερου κοινού συντελεστή (HCF) από κάθε δέσμη αριθμών. Αυτό οφείλεται κυρίως στο ότι στη χώρα μου η εκπαίδευση είναι πραγματικά υποτυπώδης. Τα παιδιά συνήθως καταφεύγουν στην εκμάθηση και στους αυστηρούς κανόνες.

Με αυτή την έννοια δημιούργησα ένα πρόγραμμα με το οποίο υπολογίζει το HCF.

αν και αυτό δεν μπορεί να γίνει στην πραγματικότητα με το χέρι και υπάρχουν ακόμη ευκολότεροι και απλούστεροι τρόποι για να αποκτήσετε HCF, προσωπικά πιστεύω ότι αυτή είναι η πιο πρωτόγονη, και ως εκ τούτου η πιο βασική τεχνική. Ελπίζω ότι οι άνθρωποι θα είναι σε θέση να κατανοήσουν τη φύση του HCF.

η γλώσσα προγραμματισμού που θα γράψω σήμερα είναι το Microsoft Studio 2010 σε κατάσταση κονσόλας

Αυτό συμβαίνει επειδή δεν είναι τόσο διάκριση πεζών -κεφαλαίων και είναι πολύ φιλικό προς το χρήστη, επομένως ιδανικό για έναν επίδοξο αρχάριο.

Βήμα 1: Βήμα 1: Δήλωση των μεταβλητών

σε οποιοδήποτε πρόγραμμα όταν θέλουμε να αποθηκεύσουμε οποιαδήποτε μορφή δεδομένων για χειρισμό πρέπει να δηλώσουμε μεταβλητές. Αν και υπάρχουν πολλοί τύποι στο πρόγραμμά μου, έχω χρησιμοποιήσει μόνο τοπικές μεταβλητές.

αποθηκεύει ολοκληρωμένες μεταβλητές στη μορφή

Dim x ως ακέραιος

Αυτή η ετικέτα μεταβλητή με το όνομα "x" ως ένας ακέραιος τύπος δεδομένων

έτσι στο πρόγραμμα πρέπει να δηλώσουμε αυτές τις μεταβλητές

Dim firstNum, secondNum, TEMP, HCF As Integer

βασικά έχω αποθηκεύσει για μεταβλητές με τα ονόματα: firstNum, secondNum, TEMP, HCF

Βήμα 2: Αποθήκευση των μεταβλητών

Μόλις δηλώσουμε μια μεταβλητή, πρέπει να της δώσουμε μια τιμή, διαφορετικά είναι άχρηστη.

για να το κάνουμε αυτό, χρησιμοποιούμε τον τελεστή "="

αλλά για να το διαβάσουμε από τον χρήστη χρειαζόμαστε έναν τρόπο για να εισαχθεί. χρησιμοποιούμε τη λειτουργία "Console. ReadLine"

αυτή είναι μια συνάρτηση της λειτουργίας κονσόλας της visual Basic που διαβάζει μια γραμμή που πληκτρολογείται στην κονσόλα

το προγραμμα παει ετσι?

firstNum = Console. ReadLine

τότε κάνουμε το ίδιο με την επόμενη μεταβλητή

secondNum = Console. ReadLine

αυτό αποθηκεύει δύο αριθμούς για χειραγώγηση από το πρόγραμμα

Βήμα 3: Σύγκριση

Στη συνέχεια συγκρίνουμε δύο μεταβλητές και ελέγχουμε ποια είναι μικρότερη. θα μπορούσαμε να χρησιμοποιήσουμε και τον μεγαλύτερο αριθμό, αλλά θα ήταν άχρηστο να βάλουμε υπερβολικό φορτίο στο πρόγραμμα. αλλά αν και οι δύο μεταβλητές είναι ίσες μπορούμε να χρησιμοποιήσουμε και τις δύο

για σύγκριση χρησιμοποιούμε τις προτάσεις if

Αν συνθήκη Τότε (ενέργεια εάν η συνθήκη είναι αληθής)

Αλλιώς αν συνθήκη τότε

(ενέργεια εάν η συνθήκη είναι αληθής)

Τέλος εαν

στην ουσία μοιάζει με αυτό

Αν firstNum <secondNum Τότε TEMP = firstNum ElseIf firstNum> secondNum Τότε TEMP = secondNum

ElseIf firstNum = secondNum Τότε

TEMP = secondNum

Τέλος εαν

Βήμα 4: Εύρεση HCF

θεωρητικά, το HCF είναι ο υψηλότερος ακέραιος αριθμός με τον οποίο όλοι οι δεδομένοι αριθμοί μπορούν να χωριστούν χωριστά χωρίς να αφήσουν το υπόλοιπο. ή κατά την έννοια του υπολογιστή ένα υπόλοιπο μηδέν

στο πρόγραμμά μου συνεχίζω να διαιρώ τους αριθμούς και να αυξάνομαι μέχρι να αποκτήσω τον υψηλότερο δυνατό ακέραιο που διαιρεί όλους τους αριθμούς χωρίς να αφήνω το υπόλοιπο.

για αυτό θα χρησιμοποιήσω έναν "βρόχο για επανάληψη"

η σύνταξη πηγαίνει:

Για i = (οποιοσδήποτε αριθμός) έως (οποιοσδήποτε αριθμός) βήμα (σταδιακός αριθμός)

(λειτουργία)

Επόμενο

αφού δεν μπορώ να διαιρέσω με 0 θα πρέπει να ξεκινήσω από το 1 και στον μικρότερο αριθμό. Αυτό συμβαίνει επειδή το HCF δεν μπορεί να είναι μεγαλύτερο από οποιονδήποτε από τους αριθμούς. αν θυμάστε, αποθηκεύσαμε τον μικρότερο αριθμό στη μεταβλητή 'TEMP'.

για να συγκρίνουμε τους αριθμούς θα χρησιμοποιήσουμε μια πρόταση if.

Για αυτήν την εργασία θα χρησιμοποιούμε επίσης έναν ειδικό τελεστή που ονομάζεται τελεστής μέτρου

αυτό επιστρέφει το υπόλοιπο από μια διαίρεση

η σύνταξή του είναι

(αριθμός) mod (διαιρέτης)

σε άλλες γλώσσες προγραμματισμού, δηλ. C ++, το mod μπορεί να αντικατασταθεί από το ποσοστό "%"

έτσι για το πρόγραμμά μας γράφουμε

Για i = 1 To TEMP Βήμα 1

Αν ((firstNum Mod i = 0) Και (secondNum Mod i = 0)) Τότε

HCF = i

Τέλος Αν Επόμενο

αποθηκεύουμε τους αριθμούς σε μεταβλητή "HCF" κάθε φορά που βρίσκεται μεγαλύτερη μεταβλητή HCF αντικαθίσταται

αν i αν ένας συντελεστής και των δύο αριθμών τότε αποθηκεύεται σε μεταβλητό HCF

Βήμα 5: Εμφάνιση εξόδου

για την εμφάνιση εξόδου στην οθόνη της κονσόλας, χρησιμοποιούμε την εντολή "console.write ()" ή "console.writeline ()"

Ένας σημαντικός κανόνας είναι ότι οι γραπτές λέξεις πρέπει να περικλείονται σε αποστροφές (""). Οι μεταβλητές δεν χρειάζεται να περικλείονται σε απόστροφες

μπορούμε επίσης να χρησιμοποιήσουμε τον τελεστή "&" για να ενώσουμε γραμμές θυμηθείτε να τοποθετήσετε ένα κενό και στις δύο πλευρές του συμβόλου &

έτσι πάει το πρόγραμμα

Console. WriteLine ("Ο υψηλότερος κοινός παράγοντας είναι" & HCF)

Αλίμονο ο υπολογιστής συνήθως δεν περιμένει τον χρήστη εκτός αν του το πει. έτσι προσθέτουμε μια άλλη γραμμή προγράμματος για να μπορέσει ο χρήστης να διαβάσει το αποτέλεσμα.

Console. WriteLine ("ΠΑΤΗΣΤΕ ΟΠΟΙΟΔΗΠΟΤΕ ΚΟΥΜΠΙ ΓΙΑ ΕΞΟΔΟ")

Console. ReadKey ()

Βήμα 6: Για ευκολία

Αυτή είναι η δική μου έκδοση του προγραμματισμού με σχόλια για βοήθεια.

Module Module1 Sub Main ()

«σε οποιοδήποτε πρόγραμμα πρέπει να δηλώσουμε μεταβλητές

Dim firstNum, secondNum, TEMP, HCF As Integer Το "Ως ακέραιος" συμβολίζει ότι η φύση των δεδομένων για αυτές τις μεταβλητές είναι ακέραιοι

«Πρώτα ενημερώνουμε τον χρήστη για τις οδηγίες

Console. WriteLine ("εισαγάγετε δύο αριθμούς για τον υψηλότερο κοινό συντελεστή") "τότε ζητάμε από τον χρήστη να εισαγάγει έναν αριθμό Console. WriteLine (" εισαγάγετε τον πρώτο αριθμό ")" αποθηκεύουμε το ψηφίο σε μια μεταβλητή firstNum firstNum = Console. ReadLine " τότε ζητάμε από τον χρήστη να εισαγάγει έναν δεύτερο αριθμό Console. WriteLine ("εισαγάγετε δεύτερο αριθμό") 'ομοίως το αποθηκεύουμε και αυτό, αλλά σε διαφορετική μεταβλητή' δεν θέλουμε να αντικατασταθεί το πρώτο secondNum = Console. ReadLine

"συγκρίνουμε ποια είναι μεγαλύτερη και την αποθηκεύουμε σε προσωρινή αποθήκευση" TEMP"

Αν firstNum secondNum Τότε TEMP = secondNum

«στη ρήτρα από κάτω αποθηκεύσαμε μια τιμή στο TEMP, παρόλο που ο πρώτος και ο δεύτερος αριθμός ήταν ίσοι

«αυτό συμβαίνει επειδή χρειαζόμασταν τον« υψηλότερο »αριθμό από όποιον και αν είναι.

ElseIf firstNum = secondNum Τότε

TEMP = secondNum Τέλος Αν

«Εδώ αρχίζει πραγματικά ο προγραμματισμός

'η συνάρτηση mod διαιρεί τον ακέραιο με έναν αριθμό και επιστρέφει το υπόλοιπο' αυτό είναι χρήσιμο, με αυτόν τον τρόπο μπορούμε να ελέγξουμε με ποιους αριθμούς είναι τα υπόλοιπα μηδέν

'εδώ χρησιμοποιούμε ένα "FOR ITERATION LOOP" για να κάνουμε τη δουλειά

'δημιουργούμε μια μεταβλητή' i 'και την αυξάνουμε κατά 1 μετά από κάθε βρόχο

Για i = 1 To TEMP Βήμα 1 'Το "Βήμα 1" δείχνει ότι υπάρχει μια αύξηση 1 μετά από κάθε βρόχο

«όπως μπορείτε να δείτε, χρησιμοποιήσαμε επίσης μια συνάρτηση AND

Αυτό συμβαίνει επειδή χρειαζόμασταν μόνο αριθμούς που διαιρούν και τις δύο μεταβλητές δίνοντας το υπόλοιπο μηδέν

Μια άλλη σημαντική σημείωση είναι ότι δεν μπορούμε να ξεκινήσουμε το i στο 0

«αυτό συμβαίνει επειδή οτιδήποτε διαιρείται με 0 μπορεί να οδηγήσει στο άπειρο Αν ((firstNum Mod i = 0) Και (secondNum Mod i = 0)) Τότε

«αποθηκεύουμε τους αριθμούς στη μεταβλητή" HCF"

'κάθε φορά που εντοπίζεται μεγαλύτερη μεταβλητή HCF αντικαθίσταται HCF = i Τέλος αν Επόμενο

Console. Clear () 'αυτή η εντολή καθαρίζει οτιδήποτε έχει γραφτεί στην οθόνη της κονσόλας

Console. WriteLine ("υψηλότερος κοινός παράγοντας =" & HCF) 'αυτή η εντολή εμφανίζει μήνυμα στην οθόνη της κονσόλας

«οι εντολές από κάτω επιτρέπουν την έξοδο από την οθόνη της κονσόλας

Console. WriteLine () Console. WriteLine ("ΠΑΤΗΣΤΕ ΟΠΟΙΟΔΗΠΟΤΕ ΚΟΥΜΠΙ ΓΙΑ ΕΞΟΔΟ") Console. ReadKey ()

'ΥΣΤΕΡΟΓΡΑΦΟ

«ενώ προγραμματίζετε, εφόσον δεν καταστρέφετε τις συντακτικές», μπορείτε ελεύθερα να βάλετε κενά, καρτέλες ή κενές γραμμές για να κάνετε το πρόγραμμα να φαίνεται λιγότερο ακατάστατο

Τέλος υπο

Τελική ενότητα

Συνιστάται: