Διαβάστε μέσω ενός αλγορίθμου ακέραιο και να καθορίσει το σκοπό της. Πάρτε για παράδειγμα το ακόλουθο αλγόριθμο , με τη μορφή λειτουργίας C :
int algorithm1 ( int a, int b ) {
επιστρέψει ένα + β ? }
Ο αλγόριθμος αποτελείται από ένα μόνο βήμα : προσθήκη των δύο μεταβλητών εισόδου "α" και "b ". Το αποτέλεσμα αυτής της λειτουργίας είναι στη συνέχεια εξόδου χρησιμοποιώντας την " επιστροφή " δήλωση. 2
Διαβάστε μέσα από το άλλο αλγόριθμο ακέραιο όπως στο προηγούμενο βήμα . Πάρτε για παράδειγμα τον ακόλουθο αλγόριθμο :
int algorithm2 ( int a ) {
επιστρέψει + + a ? }
Αυτός ο αλγόριθμος αποτελείται επίσης από ένα μόνο βήμα : προσθήκη ενός έως η μεταβλητή εισόδου "α" και , στη συνέχεια, εξάγει το αποτέλεσμα .
εικόνων 3
Γράψτε μια δήλωση της συνάρτησης που συγχωνεύει τους δύο αλγορίθμους σε ένα . Η συνάρτηση πρέπει να έχει μια είσοδο που καθορίζει ποιος αλγόριθμος για να τρέξει . Δεδομένου ότι υπάρχουν μόνο δύο αλγορίθμους , μπορείτε να χρησιμοποιήσετε μια ακέραια μεταβλητή που τρέχει ένα αλγόριθμο όταν είναι ίση με το μηδέν , και το άλλο , όταν δεν είναι ίσο με το μηδέν ( άλλες γλώσσες προγραμματισμού έχουν Boolean τύπους που αντιπροσωπεύουν δύο τιμές , που μπορεί να είναι καταλληλότερο για το σκοπό αυτό ) . Καλέστε την είσοδο "Επιλογή" και να γράψει τη δήλωση λειτουργούν ως εξής :
int mergedAlgorithms ( int a , int b, int Επιλογή )
{ }
Η 4
Γράψτε ένα " if", ανάμεσα στις αγκύλες της λειτουργίας " mergedAlgorithm " . Αυτό θα δοκιμάσει την αξία της «Επιλογή» και να καθορίσει ποιος αλγόριθμος για να τρέξει . Για την περίπτωση κατά την οποία "Επιλογή" είναι ίση με το μηδέν , γράψτε τις ακόλουθες δηλώσεις :
αν ( Επιλέξτε == 0 ) {
επιστρέψει ένα + β ? }
Η 5
Γράψτε ένα " άλλο " δήλωση ακριβώς κάτω από την " if" . Αυτή η δήλωση εμφανίζεται όταν "Επιλογή" είναι οποιαδήποτε μη μηδενική τιμή , και θα τρέξει το άλλο αλγόριθμο . Γράψτε τις ακόλουθες δηλώσεις :
άλλο
{ επιστρέψει + + ένα? }
Η 6
Call , ή να επικαλεστεί , η λειτουργία με το πέρασμα του τα απαραίτητα μέσα και "Επιλογή " αξία . Για παράδειγμα , για να εκτελέσει το δεύτερο αλγόριθμο , θα μπορούσατε να γράψετε τον ακόλουθο κώδικα :
int x = mergedAlgorithms ( 1 , 0 , 1 ) ?
Η είσοδος " b" είναι αχρησιμοποίητο σε αυτόν τον αλγόριθμο και ως εκ τούτου οριστεί σε 0 . Σε αυτό το παράδειγμα , η μεταβλητή "x " γίνεται 2 , δεδομένου ότι τρέχει τον αλγόριθμο που προσθέτει μία είσοδο της μεταβλητής "a ".
Η
εικόνων
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα