Ποια είναι η βασική διαφορά ανάμεσα στο βρόχο και την αναδρομή στο C;


Απάντηση 1:

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

Οι βρόχοι και οι αναδρομές είναι από πολλές απόψεις ισοδύναμες. Μπορείτε πάντα να μεταφράσετε βρόχους σε αναδρομές και αντίστροφα.

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

Οι βρόχοι είναι πιο αποτελεσματικοί επειδή δεν μεγαλώνουν τη στοίβα.


Απάντηση 2:

Ουσιαστικά ο βρόχος στο C αναφέρεται σε μια σειρά δηλώσεων που εκτελούνται επανειλημμένα, που ονομάζεται επίσης επανάληψη.

π.χ.- είναι ένας βρόχος, ενώ είναι ένας βρόχος κάνει-ενώ είναι ένας βρόχος

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

παρακάτω είναι ένας κώδικας για την εκτύπωση αριθμών από 1 έως 100 με επανάληψη και επανάληψη.

  1. αναδρομή
#include 
χρησιμοποιώντας τον χώρο ονομάτων std.

void printn (int i)
{
αν (i! = 1)
{
printn (i-1);
cout << i << endl;
}}
αλλού cout << i << endl;
 }}

int main ()
{
printn (100). // αυτό είναι με επανάληψη
επιστροφή 0?
}}

2. χρησιμοποιώντας βρόχο (για βρόχο)

#include 
χρησιμοποιώντας τον χώρο ονομάτων std.

int main ()
{
για το (int i = 0, i <= 100, i ++)
cout << i << endl;

επιστροφή 0?
}}

Απάντηση 3:

ΑΝΑΣΚΟΠΗΣΗ ΣΕ ΕΝΑΡΞΗ

Επανάληψη έναντι επανάληψης

Η επανάληψη είναι ο όρος που δίνεται στον μηχανισμό καθορισμού ενός συνόλου ή διαδικασίας από την άποψη του εαυτού του

Το μπλοκ της δήλωσης εκτελείται επανειλημμένα χρησιμοποιώντας βρόχους

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

Όλα τα προβλήματα δεν μπορούν να λυθούν με επανάληψη.

Υποχρεωτική δήλωση απαιτείται στο σώμα της λειτουργίας για διακοπή της εκτέλεσης της λειτουργίας

Η ίδια η δήλωση ελέγχου επανάληψης περιέχει δήλωση για τη διακοπή της επανάληψης. Σε κάθε εκτέλεση, ελέγχεται η κατάσταση.

Η αναδρομή είναι δαπανηρή από την άποψη της ταχύτητας και της μνήμης

Η επανάληψη δεν δημιουργεί επιβάρυνση. Όλες οι γλώσσες προγραμματισμού υποστηρίζουν την επανάληψη

Για περισσότερη εφαρμογή Android:

Γ Γλώσσα προγραμματισμού - Όλα σε Ένα - Εφαρμογές στο Google Play


Απάντηση 4:

Σκεφτείτε ένα πρόβλημα μεγέθους N,

Στην επανάληψη, σπάστε το πρόβλημα σε μικρότερο μέγεθος, για παράδειγμα N / 2 και άλλο N / 2. Κάθε ένα από τα υποείδη N / 2 υποδιαιρείται περαιτέρω σε N / 4 και N / 4. Συνεχίζετε να διαιρείτε το πρόβλημα έως ότου δεν είναι δυνατή η υποδιαίρεση.

Αυτό λειτουργεί επειδή, για παράδειγμα, εάν διαιρέσετε το πρόβλημα του μεγέθους N σε 4 δευτερεύοντα πρόβλημα σε ίσο μέγεθος, τότε

Ν / 4 + Ν / 4 + Ν / 4 + Ν / 4 = 4Ν / 4 = Ν.

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

Για να λύσουμε ένα μικρότερο πρόβλημα, ονομάζουμε μια συγκεκριμένη λειτουργία αναδρομικά.

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

συνθήκες,

  1. μια αρχική συνθήκη - αυτός είναι ο τρόπος με τον οποίο ένα βρόχο ξεκινά την κατάσταση τερματισμού - αυτό είναι όπου ένας βρόχος τερματίζεται.

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

Εν ολίγοις, ο βρόχος πρέπει να ικανοποιεί την τριπλή Hoare,

{P} C {Q}

P - Προϋπόθεση

C - εντολή

Q - Postcondition

Μπορείτε να διαβάσετε για το τριπλό Hoare στο wiki - Hoare logic - Wikipedia


Απάντηση 5:

Σκεφτείτε ένα πρόβλημα μεγέθους N,

Στην επανάληψη, σπάστε το πρόβλημα σε μικρότερο μέγεθος, για παράδειγμα N / 2 και άλλο N / 2. Κάθε ένα από τα υποείδη N / 2 υποδιαιρείται περαιτέρω σε N / 4 και N / 4. Συνεχίζετε να διαιρείτε το πρόβλημα έως ότου δεν είναι δυνατή η υποδιαίρεση.

Αυτό λειτουργεί επειδή, για παράδειγμα, εάν διαιρέσετε το πρόβλημα του μεγέθους N σε 4 δευτερεύοντα πρόβλημα σε ίσο μέγεθος, τότε

Ν / 4 + Ν / 4 + Ν / 4 + Ν / 4 = 4Ν / 4 = Ν.

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

Για να λύσουμε ένα μικρότερο πρόβλημα, ονομάζουμε μια συγκεκριμένη λειτουργία αναδρομικά.

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

συνθήκες,

  1. μια αρχική συνθήκη - αυτός είναι ο τρόπος με τον οποίο ένα βρόχο ξεκινά την κατάσταση τερματισμού - αυτό είναι όπου ένας βρόχος τερματίζεται.

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

Εν ολίγοις, ο βρόχος πρέπει να ικανοποιεί την τριπλή Hoare,

{P} C {Q}

P - Προϋπόθεση

C - εντολή

Q - Postcondition

Μπορείτε να διαβάσετε για το τριπλό Hoare στο wiki - Hoare logic - Wikipedia


Απάντηση 6:

Σκεφτείτε ένα πρόβλημα μεγέθους N,

Στην επανάληψη, σπάστε το πρόβλημα σε μικρότερο μέγεθος, για παράδειγμα N / 2 και άλλο N / 2. Κάθε ένα από τα υποείδη N / 2 υποδιαιρείται περαιτέρω σε N / 4 και N / 4. Συνεχίζετε να διαιρείτε το πρόβλημα έως ότου δεν είναι δυνατή η υποδιαίρεση.

Αυτό λειτουργεί επειδή, για παράδειγμα, εάν διαιρέσετε το πρόβλημα του μεγέθους N σε 4 δευτερεύοντα πρόβλημα σε ίσο μέγεθος, τότε

Ν / 4 + Ν / 4 + Ν / 4 + Ν / 4 = 4Ν / 4 = Ν.

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

Για να λύσουμε ένα μικρότερο πρόβλημα, ονομάζουμε μια συγκεκριμένη λειτουργία αναδρομικά.

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

συνθήκες,

  1. μια αρχική συνθήκη - αυτός είναι ο τρόπος με τον οποίο ένα βρόχο ξεκινά την κατάσταση τερματισμού - αυτό είναι όπου ένας βρόχος τερματίζεται.

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

Εν ολίγοις, ο βρόχος πρέπει να ικανοποιεί την τριπλή Hoare,

{P} C {Q}

P - Προϋπόθεση

C - εντολή

Q - Postcondition

Μπορείτε να διαβάσετε για το τριπλό Hoare στο wiki - Hoare logic - Wikipedia