Σπίτι Προσωπικά Οικονομικά Σπάσιμο από έναν άπειρο βρόχο στο πρόγραμμα γλώσσας Γ - ανδρείκελα

Σπάσιμο από έναν άπειρο βρόχο στο πρόγραμμα γλώσσας Γ - ανδρείκελα

Βίντεο: Differential equations, studying the unsolvable | DE1 2024

Βίντεο: Differential equations, studying the unsolvable | DE1 2024
Anonim

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

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

για το (;;) {check_Keyboard (); check_Mouse (); check_Events (); check_System ();}

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

Πληκτρολογήστε αυτόν τον πηγαίο κώδικα και αποθηκεύστε τον στο δίσκο. Στη συνέχεια, συντάξτε και εκτελέστε το πρόγραμμα:

#include int main () {char ch; ("Πρόγραμμα δακτυλογράφησης"). βάζει ("Τύπος μακριά:")? για (;;) {ch = getchar ();} επιστροφή (0);}

Ναι, μπορείτε να πληκτρολογήσετε. Και μπορείτε να δείτε το κείμενό σας στην οθόνη. Αλλά πώς σταματάς;

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

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

#include int main () {char ch; ("Πρόγραμμα δακτυλογράφησης"). θέτει ("Τύπος μακριά, πατήστε '~' για να τερματίσετε:"); για (?;) {ch = getchar (); αν (ch == '~') {break;}} επιστροφή (0);}

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

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

Σημειώστε ότι η εντολή if μπορεί επίσης να γραφτεί χωρίς τα τιράντες:

αν (ch == '~') σπάσει;

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

Η επιλογή των συντακτών

Εξαρτήματα ηλεκτρονικών: Ενισχυτές ανοιχτού βρόχου

Εξαρτήματα ηλεκτρονικών: Ενισχυτές ανοιχτού βρόχου

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

Ηλεκτρονικά Στοιχεία: Δημοφιλή Op Amp Ενσωματωμένα Κυκλώματα - Dummy

Ηλεκτρονικά Στοιχεία: Δημοφιλή Op Amp Ενσωματωμένα Κυκλώματα - Dummy

Για την οικοδόμηση ενός πραγματικού ηλεκτρονικού κυκλώματος χρησιμοποιώντας Op-amp, φυσικά, θα πρέπει να χρησιμοποιήσετε ένα πραγματικό ενισχυτή op. Ευτυχώς, τα ενσωματωμένα ολοκληρωμένα κυκλώματα (IC) είναι άφθονα και σχεδόν όλα τα καταστήματα που πωλούν ηλεκτρονικά εξαρτήματα πωλούν διάφορους τύπους φθηνών IC-ενισχυτών. Το πιο δημοφιλές op-amp IC είναι το LM741, το οποίο έρχεται ...

Ηλεκτρονικά Συστατικά: Κύκλοι ταλαντωτών - ανδρείκελοι

Ηλεκτρονικά Συστατικά: Κύκλοι ταλαντωτών - ανδρείκελοι

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

Η επιλογή των συντακτών

Ασκήσεις για ανδρείκελα Κατάρτιση για ανδρείκελα Εξάσκηση - ανδρείκελα

Ασκήσεις για ανδρείκελα Κατάρτιση για ανδρείκελα Εξάσκηση - ανδρείκελα

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

Εκπαίδευση για παιδιά με αναπηρίες - ανδρείκελα

Εκπαίδευση για παιδιά με αναπηρίες - ανδρείκελα

Παιδιά, ανάλογα με την αναπηρία. Μπορεί να χρειαστεί να παρέχετε στηρίγματα υψηλής τεχνολογίας που διευκολύνουν την κίνηση από τον περιπατητή ή την αναπηρική καρέκλα στην τουαλέτα (δείτε την ενότητα "Εργασία με ειδικό εργαλείο" σε αυτό το άρθρο.) Από την άλλη πλευρά, το παιδί σας μπορεί να ...

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

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

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

Η επιλογή των συντακτών

Πώς να χρησιμοποιήσετε τη φαντασία σας για να χαλαρώσετε το σώμα σας για διαλογισμό - Dummies

Πώς να χρησιμοποιήσετε τη φαντασία σας για να χαλαρώσετε το σώμα σας για διαλογισμό - Dummies

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

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

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

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

Βελτίωση των σχέσεών σας - ανδρείκεS

Βελτίωση των σχέσεών σας - ανδρείκεS

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