Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> C /C + + Προγραμματισμός

Πώς να κάνει ένα ορθογώνιο με μια αναδρομική συνάρτηση σε C + +

αναδρομή είναι μια σημαντική έννοια στον τομέα της επιστήμης των υπολογιστών . Μια αναδρομική συνάρτηση είναι αυτή που επικαλείται , ή κλήσεις , το ίδιο σε κάποιο σημείο . Αναδρομή μπορεί να χρησιμοποιηθεί για τον έλεγχο της ροής του προγράμματος και να λύσουν δύσκολα προβλήματα με εκπληκτικούς τρόπους . Για παράδειγμα , μπορείτε να γράψετε μια αναδρομική συνάρτηση που αντλεί ένα ορθογώνιο με το πρότυπο κονσόλα εξόδου χρησιμοποιώντας τη γλώσσα C + + . Κάθε αναδρομική συνάρτηση σχεδιάζει μια ενιαία γραμμή του ορθογωνίου , και στη συνέχεια καλεί τον εαυτό της μέχρι το ορθογώνιο σχηματιστεί πλήρως . Τα πράγματα που θα χρειαστείτε
C + + ολοκληρωμένο περιβάλλον ανάπτυξης ( IDE ) , όπως Eclipse CDT
C + + Compiler , μια τέτοια GCC
Η Εμφάνιση Περισσότερες οδηγίες
Η

1 Τοποθετήστε το C + + IDE κάνοντας κλικ στο εικονίδιο του προγράμματος του . Όταν ανοίγει , επιλέξτε " File /New /Project" και επιλέξτε " C + + Project" για να δημιουργήσετε ένα νέο έργο . Ένα κενό αρχείο πηγαίου κώδικα εμφανίζεται στο τμήμα επεξεργασίας κειμένου του IDE . 2

Γράψτε την υπογραφή λειτουργίας για την αναδρομική συνάρτηση . Μια υπογραφή συνάρτηση περιέχει το όνομα της συνάρτησης , το είδος της παραγωγής και τον τύπο της εισόδου . Για αυτή τη λειτουργία , το όνομα είναι " recursiveRect , " ο τύπος εξόδου είναι «κενό» ( με άλλα λόγια , δεν υπάρχει έξοδος ) και τον τύπο της εισόδου αντιπροσωπεύεται από δύο ακέραιους αριθμούς . Αυτές οι ακέραιοι αριθμοί ορίζουν μια τρέχουσα γραμμή και μια μέγιστη σειρά. Γράψτε την ακόλουθη υπογραφή λειτουργίας :

άκυρη recursiveRect ( int curRow , int maxRow )

{ }
εικόνων 3

Test για να δούμε εάν η τρέχουσα γραμμή ( με τίτλο " curRow ") είναι μικρότερη από τη μέγιστη γραμμή ( η οποία έχει τίτλο " maxRow ») τοποθετώντας ένα απλό " if" ανάμεσα στις αγκύλες της λειτουργίας " recursiveRect , " όπως αυτό :

αν ( curRow

{ }
Η 4

Γράψτε μια δήλωση που εκτυπώνει μια σειρά από χαρακτήρες αστερίσκο όποτε η εντολή "if" είναι ικανοποιημένοι. Τοποθετήστε την ακόλουθη γραμμή ανάμεσα στις αγκύλες του " if" στο προηγούμενο βήμα :

cout <<" ******** " <
5

Γράψτε μια αναδρομική κλήση συνάρτησης με τη λειτουργία " recursiveRect " τοποθετώντας το παρακάτω δήλωση ανάμεσα στις αγκύλες του " if" . Σημειώστε ότι η " curRow " μεταβλητή έχει ένα " + +" προηγείται αυτής. Αυτό αυξάνει την τρέχουσα σειρά και επιτρέπει την επόμενη κλήση της συνάρτησης για να εκτυπώσετε την επόμενη γραμμή στο ορθογώνιο

recursiveRect ( + + curRow , maxRow )? .
Η 6

Γράψτε μια δήλωση επιστροφής σε το κάτω μέρος της λειτουργίας , αμέσως μετά τις αγκύλες του " εάν " δήλωση:

επιστροφή?
Η 7

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

int main ( ) {

recursiveRect ( 0 , 4 ) ? } .
8

Πατήστε το πλήκτρο "Play" που βρίσκεται στο πράσινο το κορυφή του IDE . Το πρόγραμμα θα τρέξει και να ζητήσει την αναδρομική συνάρτηση , η οποία αυτοαποκαλείται στη συνέχεια τρεις φορές . Το αποτέλεσμα είναι ένα ορθογώνιο τεσσάρων γραμμών , το οποίο μοιάζει με αυτό :

********

********

** ******

********
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα