ΤΕΣΤ (ΑΣΚΗΣΕΙΣ) ONLINE
98 Tests / Διαγωνίσματα

Κεφάλαιο 02.4 – Σελίδα 35-52 – ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ΄ ΛΥΚΕΙΟΥ – Απαντήσεις – Λύσεις

Ερωτήσεις - Θέματα για συζήτηση

Ερώτηση 6 (σελ. 51)

Ποιοι είναι οι βασικοί τύποι συνιστωσών/εντολών ενός αλγορίθμου;

Σκέψη / Μεθοδολογία: Κλειστή ερώτηση — οι τρεις βασικές δομές αποτελούν τον πυρήνα ολόκληρου του κεφαλαίου.

Λύση:

Απαριθμούμε τις τρεις βασικές δομές με μία πολύ σύντομη περιγραφή της καθεμίας.

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

Πρόσεξε:

  • Να μην παραλειφθεί καμία από τις τρεις δομές — είναι η βάση όλων των επόμενων κεφαλαίων προγραμματισμού.

Ερώτηση 7 (σελ. 51)

Να περιγραφεί η δομή της ακολουθίας και να δοθεί σε διάγραμμα ροής ένα παράδειγμα αυτής της αλγοριθμικής προσέγγισης.

Σκέψη / Μεθοδολογία: Ζητούνται δύο πράγματα: (α) περιγραφή της δομής, (β) ένα παράδειγμα σε μορφή διαγράμματος ροής — περιγράφουμε λεκτικά τη διάταξη του διαγράμματος, αφού δεν είναι δυνατή η σχεδίαση εικόνας εδώ.

Λύση:

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

Ενδεικτική απάντηση: Η δομή ακολουθίας εκτελεί ένα σύνολο εντολών με αυστηρά καθορισμένη, δεδομένη σειρά, η μία μετά την άλλη, χωρίς κανέναν έλεγχο συνθήκης ή επανάληψη. Παράδειγμα — άθροισμα δύο αριθμών: Διάβασε a / Διάβασε b / c ← a + b / Εκτύπωσε c. Το αντίστοιχο διάγραμμα ροής είναι αυστηρά κατακόρυφο: ξεκινά από ελλειπτικό σύμβολο «Αρχή», ένα βέλος οδηγεί σε πλάγιο παραλληλόγραμμο «Διάβασε a, b» (είσοδος), από εκεί σε ορθογώνιο «c ← a + b» (επεξεργασία), μετά σε πλάγιο παραλληλόγραμμο «Εκτύπωσε c» (έξοδος), και τέλος σε ελλειπτικό σύμβολο «Τέλος» — χωρίς καμία διακλάδωση σε όλη τη διαδρομή.

Πρόσεξε:

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

Ερώτηση 8 (σελ. 51)

Να περιγραφεί η δομή της επιλογής και να δοθεί με ακολουθία βημάτων ένα παράδειγμα αυτής της αλγοριθμικής προσέγγισης.

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

Λύση:

  1. Περιγράφουμε τη λογική της επιλογής: έλεγχος συνθήκης, εκτέλεση διαφορετικής ενέργειας ανάλογα με το αν είναι Αληθής ή Ψευδής.
  2. Επιλέγουμε το παράδειγμα της απόλυτης τιμής και το εκφράζουμε σε αριθμημένα βήματα φυσικής γλώσσας.

Ενδεικτική απάντηση: Η δομή επιλογής ελέγχει μία συνθήκη (Αληθής/Ψευδής) και, ανάλογα με την τιμή της, εκτελεί διαφορετική ενέργεια — στην απλή της μορφή (Αν...τότε) εκτελεί μία ενέργεια μόνο όταν η συνθήκη ισχύει, στη σύνθετη μορφή της (Αν...τότε...αλλιώς) επιλέγει πάντα ανάμεσα σε δύο εναλλακτικές ενέργειες. Παράδειγμα — εύρεση απόλυτης τιμής ενός αριθμού, με ακολουθία βημάτων: Βήμα 1: Διάβασε τον αριθμό a. Βήμα 2: Αν ο a είναι αρνητικός, τότε αντικατάστησέ τον με τον αντίθετό του (a ← -a). Βήμα 3: Εκτύπωσε το a.

Πρόσεξε:

  • Να διευκρινιστεί ρητά ότι στο Βήμα 3 τυπώνεται το a ανεξάρτητα από το αν εκτελέστηκε ή όχι το Βήμα 2 — αυτή είναι η ουσία της δομής επιλογής (η ροή συνεχίζει πάντα μετά την επιλογή).

Ερώτηση 9 (σελ. 51)

Να περιγραφεί η δομή των επαναληπτικών διαδικασιών και να δοθεί με ακολουθία βημάτων και με διάγραμμα ροής ένα παράδειγμα αυτής της αλγοριθμικής προσέγγισης.

Σκέψη / Μεθοδολογία: Ζητούνται περιγραφή, βήματα και περιγραφή διαγράμματος ροής, όπως στις ερωτήσεις 10 και 11.

Λύση:

  1. Περιγράφουμε τη λογική της επανάληψης και τις τρεις μορφές της (έλεγχος στην αρχή, στο τέλος, γνωστό πλήθος).
  2. Διαλέγουμε το παράδειγμα εμφάνισης των αριθμών 1 έως 100 και το γράφουμε σε βήματα.
  3. Περιγράφουμε το αντίστοιχο διάγραμμα ροής με τον βρόχο επιστροφής.

Ενδεικτική απάντηση: Η δομή επανάληψης εκτελεί επανειλημμένα ένα σύνολο εντολών («βρόχο»), όσο ή μέχρι να ισχύει μια συνθήκη — με τρεις βασικές μορφές: Όσο...επανάλαβε (έλεγχος στην αρχή, ενδέχεται μηδέν εκτελέσεις), Αρχή_επανάληψης...Μέχρις_ότου (έλεγχος στο τέλος, τουλάχιστον μία εκτέλεση) και Για...από...μέχρι (γνωστό εκ των προτέρων πλήθος επαναλήψεων). Παράδειγμα σε βήματα (εμφάνιση αριθμών 1-100): Βήμα 1: Θέσε i=1. Βήμα 2: Όσο i≤100, εκτέλεσε τα βήματα 3-4. Βήμα 3: Εμφάνισε το i. Βήμα 4: Αύξησε το i κατά 1 και επίστρεψε στο Βήμα 2. Βήμα 5: Τέλος. Διάγραμμα ροής: μετά το «Αρχή» και την αρχικοποίηση «i←1», υπάρχει ρόμβος «i≤100»· η διαδρομή «ΝΑΙ» οδηγεί σε ορθογώνιο «Εμφάνισε i, i←i+1» και επιστρέφει πίσω στον ρόμβο (σχηματίζοντας τον βρόχο)· η διαδρομή «ΟΧΙ» βγαίνει από τον βρόχο προς το «Τέλος».

Πρόσεξε:

  • Το χαρακτηριστικό γνώρισμα ενός διαγράμματος ροής επανάληψης είναι το βέλος επιστροφής (feedback arrow) από το ορθογώνιο επεξεργασίας πίσω στον ρόμβο της συνθήκης — χωρίς αυτό δεν είναι βρόχος.

Ερώτηση 10 (σελ. 51)

Να περιγραφεί η δομή των διαδικασιών πολλαπλών επιλογών και να δοθεί με ακολουθία βημάτων και με διάγραμμα ροής ένα παράδειγμα αυτής της αλγοριθμικής προσέγγισης.

Σκέψη / Μεθοδολογία: Ζητούνται τρία πράγματα: περιγραφή, ακολουθία βημάτων, ΚΑΙ περιγραφή διαγράμματος ροής — πληρέστερη απαίτηση από τα προηγούμενα.

Λύση:

  1. Περιγράφουμε τη λογική: επιλογή ανάμεσα σε περισσότερες από δύο εναλλακτικές, ανάλογα με την τιμή μιας έκφρασης.
  2. Διαλέγουμε ένα απλό παράδειγμα (αντιστοίχιση ακεραίου 1/2/3 σε γράμμα, αλλιώς «άγνωστο») και το γράφουμε σε βήματα.
  3. Περιγράφουμε το αντίστοιχο διάγραμμα ροής με διαδοχικούς ρόμβους.

Ενδεικτική απάντηση: Η δομή πολλαπλής επιλογής επιλέγει ανάμεσα σε περισσότερες από δύο εναλλακτικές ενέργειες, ανάλογα με την τιμή μιας έκφρασης — υλοποιείται είτε με αλυσίδα Αν...αλλιώς_αν, είτε (προτιμότερα, όταν οι εναλλακτικές είναι πολλές) με την εντολή Επίλεξε...Τέλος_επιλογών. Παράδειγμα σε βήματα: Βήμα 1: Διάβασε τον ακέραιο a. Βήμα 2: Αν a=1, τύπωσε «Α»· αλλιώς αν a=2, τύπωσε «Β»· αλλιώς αν a=3, τύπωσε «Γ»· σε κάθε άλλη περίπτωση τύπωσε «άγνωστο». Διάγραμμα ροής: από το «Αρχή» οδηγούμαστε σε παραλληλόγραμμο «Διάβασε a», μετά σε ρόμβο «a=1»· η διαδρομή «ΝΑΙ» οδηγεί σε «Εκτύπωσε Α», η «ΟΧΙ» σε δεύτερο ρόμβο «a=2» (και ομοίως σε τρίτο ρόμβο «a=3»)· όλες οι διαδρομές συγκλίνουν πριν το τερματικό «Τέλος».

Πρόσεξε:

  • Σε διάγραμμα ροής πολλαπλής επιλογής με αλυσίδα Αν, εμφανίζονται τόσοι διαδοχικοί ρόμβοι όσες και οι συνθήκες προς έλεγχο — δεν υπάρχει ειδικό σύμβολο «πολλαπλής διακλάδωσης».

Ερώτηση 11 (σελ. 51)

Να περιγραφεί η δομή των εμφωλευμένων διαδικασιών και να δοθεί με ακολουθία βημάτων και με διάγραμμα ροής ένα παράδειγμα αυτής της αλγοριθμικής προσέγγισης.

Σκέψη / Μεθοδολογία: Ζητούνται περιγραφή, βήματα, και περιγραφή διαγράμματος ροής — ίδιο σχήμα απαίτησης με την Ερώτηση 10.

Λύση:

  1. Περιγράφουμε τη λογική: μία δομή επιλογής μέσα σε άλλη δομή επιλογής.
  2. Διαλέγουμε το παράδειγμα χαρακτηρισμού βάρους/ύψους και το γράφουμε σε βήματα.
  3. Περιγράφουμε το αντίστοιχο διάγραμμα ροής με εμφωλευμένους ρόμβους.

Ενδεικτική απάντηση: Οι εμφωλευμένες διαδικασίες προκύπτουν όταν μία εντολή Αν...τότε είναι η ίδια εντολή που εκτελείται μέσα στον κλάδο μιας άλλης εντολής Αν...τότε — η εμφώλευση μπορεί να επεκταθεί σε όσα επίπεδα χρειάζεται. Παράδειγμα σε βήματα: Βήμα 1: Διάβασε βάρος και ύψος. Βήμα 2: Αν βάρος < 80: αν επιπλέον ύψος < 1,70 τύπωσε «ελαφρύς-κοντός», αλλιώς τύπωσε «ελαφρύς-ψηλός». Βήμα 3: Αλλιώς (βάρος ≥ 80): αν ύψος < 1,70 τύπωσε «βαρύς-κοντός», αλλιώς τύπωσε «βαρύς-ψηλός». Διάγραμμα ροής: μετά το «Διάβασε βάρος, ύψος» υπάρχει πρώτος ρόμβος «βάρος<80»· σε κάθε κλάδο του (ΝΑΙ/ΟΧΙ) υπάρχει από ένας δεύτερος, ανεξάρτητος ρόμβος «ύψος<1,70», και οι τέσσερις τελικές διαδρομές καταλήγουν σε τέσσερα διαφορετικά παραλληλόγραμμα εκτύπωσης πριν συγκλίνουν στο «Τέλος».

Πρόσεξε:

  • Στο διάγραμμα ροής μιας εμφώλευσης 2 επιπέδων υπάρχουν πάντα ακριβώς 2^2=4 τελικές διαδρομές εξόδου (μία ανά συνδυασμό ΝΑΙ/ΟΧΙ) — χρήσιμος έλεγχος πληρότητας.

Ερώτηση 12 (σελ. 51)

Να περιγραφεί με ακολουθία βημάτων το πρόβλημα του πολλαπλασιασμού αλά ρωσικά.

Σκέψη / Μεθοδολογία: Ζητείται περιγραφή με βήματα φυσικής γλώσσας — χρησιμοποιούμε ακριβώς τη μορφή «Βήμα 1, Βήμα 2, …» που ήδη υπάρχει στη θεωρία.

Λύση:

Ανατρέχουμε στα βήματα του §2.4.5 και τα αποδίδουμε πλήρως, διατηρώντας τη σωστή σειρά.

Απάντηση: Αλγόριθμος πολλαπλασιασμού δύο θετικών ακεραίων M1, M2 «αλά ρωσικά»: Βήμα 1: Θέσε P=0. Βήμα 2: Αν M2>0, πήγαινε στο Βήμα 3, αλλιώς πήγαινε στο Βήμα 7. Βήμα 3: Αν ο M2 είναι περιττός, θέσε P=P+M1. Βήμα 4: Θέσε M1=M1*2. Βήμα 5: Θέσε M2=M2 div 2 (ακέραιο πηλίκο). Βήμα 6: Πήγαινε στο Βήμα 2. Βήμα 7: Τύπωσε το P (το ζητούμενο γινόμενο).

Πρόσεξε:

  • Η επανάληψη γίνεται με «πήγαινε στο Βήμα 2» (Βήμα 6) — πρόκειται ουσιαστικά για βρόχο Όσο M2>0 επανάλαβε, εκφρασμένο σε ελεύθερη αρίθμηση βημάτων αντί για ψευδογλώσσα.

Ερώτηση 13 (σελ. 51)

Ποια η πρακτική σημασία του αλγορίθμου του πολλαπλασιασμού αλά ρωσικά; Πότε γίνεται χρήση αυτού του τρόπου πολλαπλασιασμού δύο ακεραίων;

Σκέψη / Μεθοδολογία: Ερώτηση κατανόησης του «γιατί» — χρειάζεται η σύνδεση με τον τρόπο αποθήκευσης δεδομένων σε δυαδική μορφή.

Λύση:

  1. Θυμόμαστε πώς αποθηκεύονται τα δεδομένα στον υπολογιστή (δυαδική μορφή).
  2. Συνδέουμε τον πολλαπλασιασμό/διαίρεση επί 2 με την πράξη ολίσθησης (shift) των δυαδικών ψηφίων.
  3. Εξηγούμε γιατί αυτό είναι ταχύτερο από τον πολλαπλασιασμό με τυχαίο ακέραιο.

Απάντηση: Ο πολλαπλασιασμός αλά ρωσικά χρησιμοποιείται στην πράξη επειδή ο υπολογιστής αποθηκεύει τα δεδομένα σε δυαδική μορφή (0 και 1). Ο πολλαπλασιασμός επί 2 και η ακέραια διαίρεση διά 2 αντιστοιχούν σε απλή ολίσθηση (shift) των δυαδικών ψηφίων προς τα αριστερά ή τα δεξιά — μια πράξη εξαιρετικά γρήγορη σε επίπεδο κυκλωμάτων υπολογιστή. Αντίθετα, ο κλασικός χειρωνακτικός πολλαπλασιασμός απαιτεί πολλαπλασιασμό με οποιονδήποτε ακέραιο, πράξη πολύ πιο χρονοβόρα σε επίπεδο υλικού. Γι' αυτό η μέθοδος αυτή προτιμάται εσωτερικά από τους υπολογιστές έναντι του «σχολικού» τρόπου πολλαπλασιασμού.

Πρόσεξε:

  • Η βασική ιδέα που πρέπει να αναφερθεί είναι η ισοδυναμία ολίσθησης δυαδικών ψηφίων με πολλαπλασιασμό/διαίρεση επί 2 — χωρίς αυτή τη σύνδεση η απάντηση μένει επιφανειακή.