Μετάβαση στο περιεχόμενο
Topos Uranos

Περίληψη

Αυτό το μάθημα ανοίγει την τέταρτη ενότητα του κύκλου μαθημάτων, αφιερωμένη στον έλεγχο ροής. Εξηγεί σε τι χρησιμεύει η ενότητα: να διδάξει πώς κυβερνάμε τη σειρά με την οποία εκτελούνται οι εντολές ενός προγράμματος, με αποφάσεις και με βρόχους, και πώς συλλογιζόμαστε για την ορθότητά τους, δηλαδή πώς εξασφαλίζουμε ότι κάθε περίπτωση εξυπηρετείται, ότι κάθε βρόχος κάνει ό,τι πρέπει και ότι τερματίζει· παρουσιάζει τα τέσσερα μαθήματά της και το νήμα που τα ενώνει· θυμίζει όσα η ενότητα θεωρεί γνωστά, κυρίως τις σύνθετες συνθήκες της ενότητας 3· διατυπώνει το πρόβλημα που λύνει η ενότητα, το πρόβλημα ενός προγράμματος που υπολογίζει τον μέγιστο κοινό διαιρέτη με σταθερό αριθμό βημάτων και που, ανάλογα με τα δεδομένα, απαντά λάθος ή σταματά σε μια διαίρεση με το μηδέν· προαναγγέλλει την αναλλοίωτη ως το εργαλείο με το οποίο η ενότητα θα αιτιολογεί τους βρόχους της· και δείχνει πού οδηγεί, στις ενότητες που ακολουθούν και στον κύκλο μαθημάτων Προγραμματισμός σε C++ II.

Μαθησιακοί στόχοι

  1. Περιγράφουμε τη διαδοχή των περιεχομένων της ενότητας και εξηγούμε τι προσφέρει κάθε μάθημα σε εκείνο που ακολουθεί.
  2. Θυμόμαστε τις σύνθετες συνθήκες της ενότητας 3 (τους λογικούς συνδέσμους, τη βραχυκύκλωση και την άρνηση με τους νόμους του Ντε Μόργκαν) και τις επαναλαμβάνουμε αν χρειάζεται.
  3. Προαναγγέλλουμε, με ένα παράδειγμα, την αναλλοίωτη ως εργαλείο συλλογισμού: μια σχέση ανάμεσα στις μεταβλητές που μια επανάληψη διατηρεί και που, όταν τελειώσει, δίνει το αποτέλεσμα.
  4. Αναγνωρίζουμε τι αναμένεται να ξέρουμε να κάνουμε στο τέλος της ενότητας, και το διακρίνουμε από όσα θα μάθουμε στις ενότητες που ακολουθούν.

Αρχική αξιολόγηση

Πριν διατρέξουμε την ενότητα, αξίζει να μετρήσουμε το σημείο εκκίνησης. Η αξιολόγηση αυτή είναι αυτοαξιολόγηση: δεν βαθμολογείται, και μοναδικός σκοπός της είναι να προσανατολίσει τη μελέτη. Οι τέσσερις πρώτες ερωτήσεις ελέγχουν όσα η ενότητα θεωρεί γνωστά: την άρνηση μιας σύνθετης συνθήκης, τη βραχυκύκλωση, το ίχνος μιας επανάληψης του μαθήματος 1.1 και το όριο ενός int. Οι επτά που ακολουθούν αγγίζουν, με τη σειρά των μαθημάτων, τις κεντρικές ιδέες της ενότητας, και αρκετές ξεκινούν από τα σχολικά μαθηματικά: τον μέγιστο κοινό διαιρέτη, τον συμβολισμό του αθροίσματος, τον τερματισμό μιας διαδικασίας. Κανείς δεν είναι υποχρεωμένος να τις απαντήσει σωστά ακόμη, και σε ορισμένες το «δεν το ξέρω ακόμη» είναι τίμια απάντηση: κάθε απάντηση, σωστή ή λανθασμένη, εξηγεί το ζήτημα και κατονομάζει το μάθημα που το πραγματεύεται. Οι ίδιες δεξιότητες μετρώνται ξανά στο τέλος, στο μάθημα της σύνθεσης.

Αρχική αξιολόγηση

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

  1. Ερώτηση 1Από προηγούμενες ενότητεςΠοια είναι η άρνηση της συνθήκης 1 <= n && n <= 10;

  2. Ερώτηση 2Από προηγούμενες ενότητεςΜε int d{0}; και int n{5};, τι συμβαίνει όταν αποτιμάται η d != 0 && n / d > 2;

  3. Ερώτηση 3Από προηγούμενες ενότητεςΗ διαίρεση με διαδοχικές αφαιρέσεις του μαθήματος 1.1 αρχίζει με q=0q = 0 και r=ar = a, και επαναλαμβάνει «όσο r≥br \geq b, αφαίρεσε το bb από το rr και πρόσθεσε 1 στο qq». Με a=20a = 20 και b=5b = 5, πόσες φορές εκτελείται το σώμα της επανάληψης;

  4. Ερώτηση 4Από προηγούμενες ενότητεςΜε έναν int των 32 bit, τι εγγυάται το πρότυπο για την τιμή του 46341 * 46341;

  5. Ερώτηση 5Ένα πρόγραμμα περιέχει την αλυσίδα αποφάσεων if (score >= 50), που γράφει «Επιτυχία»· else if (score >= 90), που γράφει «Άριστα»· και else, που γράφει «Αποτυχία». Τι γράφει όταν το score ισούται με 95;

  6. Ερώτηση 6Ποια από τις εκφράσεις που ακολουθούν συμβολίζει το άθροισμα 1+2+⋯+n1 + 2 + \cdots + n;

  7. Ερώτηση 7Με int total{0};, τι γράφει η std::println("{}", total); μετά το for (int i{0}; i < 5; ++i) { total += i; };

  8. Ερώτηση 8Στη διαίρεση με διαδοχικές αφαιρέσεις (q=0q = 0, r=ar = a· όσο r≥br \geq b, το rr γίνεται r−br - b και το qq γίνεται q+1q + 1), ποια σχέση ανάμεσα στις μεταβλητές ισχύει κάθε φορά που αποτιμάται η συνθήκη;

  9. Ερώτηση 9Μια διαδικασία ξεκινά από έναν οποιονδήποτε ακέραιο nn (θετικό, μηδενικό ή αρνητικό) και επαναλαμβάνει «όσο n>0n > 0, αφαίρεσε 2 από το nn». Τερματίζει για κάθε nn;

  10. Ερώτηση 10Ποιος είναι ο μέγιστος κοινός διαιρέτης του 84 και του 36;

  11. Ερώτηση 11Για να αποφασίσουμε αν το 101 είναι πρώτος δοκιμάζοντας διαιρέτες, ως ποιον διαιρέτη αρκεί να φτάσουμε;