Περίληψη
Αυτό το μάθημα αναλύει το ελάχιστο πρόγραμμα της C++ στα κομμάτια του και εξηγεί τον ρόλο του καθενός. Η οδηγία συμπερίληψης δηλώνει από ποια μέρη της βιβλιοθήκης εξαρτάται το πρόγραμμα, και κάθε στοιχείο απαιτεί τη δική του κεφαλίδα, ακόμη κι αν κάποτε μια άλλη τη φέρνει «έμμεσα»· η συνάρτηση main είναι το σημείο εισόδου, και η τιμή επιστροφής της είναι ο κωδικός εξόδου που λαμβάνει το σύστημα· ο χώρος ονομάτων std συγκεντρώνει τα ονόματα της βιβλιοθήκης, και ο κύκλος μαθημάτων τα γράφει πάντα με το πρόθεμά τους· οι εντολές τελειώνουν με ερωτηματικό (;), τα άγκιστρα ομαδοποιούν εντολές σε μπλοκ και τα σχόλια εξηγούν ό,τι ο κώδικας δεν λέει από μόνος του. Το μάθημα κλείνει με τον οδηγό ύφους που ακολουθεί ο κύκλος μαθημάτων σε όλα του τα προγράμματα, και με τον τρόπο ανάγνωσης ξένου κώδικα που χρησιμοποιεί std::cout και std::endl.
Μαθησιακοί στόχοι
- Να αναγνωρίζετε σε ένα πρόγραμμα την οδηγία συμπερίληψης, τη συνάρτηση
main, τις εντολές, τα μπλοκ και τα σχόλια, και να εξηγείτε τον ρόλο καθενός. - Να εξηγείτε τι κάνει το
#includeκαι γιατί κάθε στοιχείο της βιβλιοθήκης απαιτεί τη δική του κεφαλίδα, ακόμη κι αν το πρόγραμμα μεταγλωττίζεται χωρίς αυτήν σε έναν συγκεκριμένο μεταγλωττιστή. - Να διορθώνετε ένα πρόγραμμα με σφάλματα δομής (άγκιστρο που δεν κλείνει, ερωτηματικό που λείπει, κεφαλίδα που παραλείφθηκε) με βάση τα μηνύματα του μεταγλωττιστή, διαβασμένα από το πρώτο.
- Να ξαναγράφετε ένα πρόγραμμα σύμφωνα με τον οδηγό ύφους του κύκλου μαθημάτων και να αιτιολογείτε κάθε αλλαγή.
Το ελάχιστο πρόγραμμα
Στο μάθημα που προηγήθηκε ένα πρόγραμμα μεταγλωττίστηκε και εκτελέστηκε χωρίς να εξεταστεί. Τώρα διαβάζεται γραμμή προς γραμμή, γιατί κάθε γραμμή απαντά σε μια διαφορετική απαίτηση: μία της γλώσσας, άλλη του λειτουργικού συστήματος, άλλη εκείνου που διαβάζει τον κώδικα. Το πρόγραμμα είναι το εξής.
// Πρώτο πρόγραμμα: γράφει μια γραμμή και τερματίζει.#include <print>int main(){ std::println("Γεια σου, κόσμε");}Γεια σου, κόσμεΗ πρώτη γραμμή είναι ένα σχόλιο: αρχίζει με δύο καθέτους και φτάνει ως το τέλος της γραμμής, και ο μεταγλωττιστής την απορρίπτει· είναι γραμμένη για εκείνον που θα διαβάσει το πρόγραμμα. Η δεύτερη είναι μια οδηγία συμπερίληψης: ζητά να ενσωματωθεί, πριν από τη μεταγλώττιση, η κεφαλίδα <print>, όπου η πρότυπη βιβλιοθήκη δηλώνει τη std::println. Η κενή γραμμή δεν έχει κανένα αποτέλεσμα· χωρίζει την προετοιμασία του προγράμματος από το περιεχόμενό του. Η τέταρτη γραμμή ανοίγει τη συνάρτηση main, το σημείο όπου αρχίζει η εκτέλεση, και το άγκιστρο της πέμπτης ανοίγει το μπλοκ της, που κλείνει στην τελευταία γραμμή. Μέσα στο μπλοκ υπάρχει μία μόνο εντολή, που τελειώνει με ερωτηματικό: η κλήση της std::println, που γράφει το κείμενο ανάμεσα στα εισαγωγικά και ύστερα μια αλλαγή γραμμής.
Πρέπει να προσέξουμε ότι το πρόγραμμα δεν περιέχει καμία εντολή για να τερματίσει. Όταν φτάσει στο τελικό άγκιστρο της main, η εκτέλεση τελειώνει, και το πρόγραμμα ανακοινώνει στο σύστημα ότι όλα πήγαν καλά· πιο κάτω θα δούμε πώς. Από αυτό έπεται ότι πέντε κομμάτια αρκούν για ένα πλήρες πρόγραμμα: σχόλια, οδηγίες, η συνάρτηση main, μπλοκ και εντολές. Οι παράγραφοι που ακολουθούν τα εξετάζουν με αυτή τη σειρά, εκτός από τα σχόλια, που εξετάζονται μαζί με τις εντολές και τα μπλοκ.
Στο πρόγραμμα του χαιρετισμού, η οδηγία είναι η γραμμή 2· η συνάρτηση main καταλαμβάνει τις γραμμές 4 έως 7· το μπλοκ της πηγαίνει από το άγκιστρο της γραμμής 5 ως εκείνο της γραμμής 7· η μόνη εντολή είναι η γραμμή 6, και το μόνο σχόλιο, η γραμμή 1. Αν σβηστεί το σχόλιο, το πρόγραμμα μεταγλωττίζεται το ίδιο και δίνει την ίδια έξοδο· αν σβηστεί οποιοδήποτε από τα άλλα κομμάτια, παύει να μεταγλωττίζεται ή να είναι πρόγραμμα.
Φόρτωση του περιεχομένου…
Ολοκληρώθηκε
Συνδεθείτε για να αποθηκεύσετε την πρόοδό σας