Εισαγωγή στον Προγραμματισμό
Παρουσιάζονται οι τεχνικές της ιεραρχικής σχεδίασης προγραμμάτων, του τμηματικού προγραμματισμού και κύρια οι αρχές του δομημένου προγραμματισμού. Επίσης περιγράφεται η διαδικασία που ακολουθείται από τη σύνταξη του προγράμματος μέχρι την τελική του εκτέλεση από τον υπολογιστή και τη λήψη των αποτελεσμάτων. Στην εισαγωγή στον προγραμματισμό αναγνωρίζουμε τα κυριότερα είδη προγραμματισμού και περιγράφουμε τα βασικά χαρακτηριστικά των τεχνικών που χρησιμοποιούνται. Διατυπώνουμε τα πλεονεκτήματα του δομημένου προγραμματισμού, περιγράφουμε τη διαδικασία εκτέλεσης ενός προγράμματος και αναφέρουμε τα βασικά προγράμματα που περιέχει ένα προγραμματιστικό περιβάλλον.
Η έννοια του προγράμματος
Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει, τρία εξίσου σημαντικά στάδια.
1) Τον ακριβή προσδιορισμό του προβλήματος.
2) Την ανάπτυξη του αντίστοιχου αλγορίθμου.
3) Τη διατύπωση του αλγορίθμου σε κατανοητή μορφή από τον υπολογιστή.
Ο προγραμματισμός ασχολείται με το τρίτο αυτό στάδιο, τη δημιουργία του προγράμματος δηλαδή του συνόλου των εντολών που πρέπει να δοθούν στον υπολογιστή, ώστε να υλοποιηθεί ο αλγόριθμος για την επίλυση του προβλήματος. Οι γλώσσες προγραμματισμού αναπτύχθηκαν με σκοπό την επικοινωνία του ανθρώπου με τη μηχανή (υπολογιστή).
Φυσικές και τεχνητές γλώσσες
Οι γλώσσες προγραμματισμού αναπτύχθηκαν για να μπορεί ο προγραμματιστής να δίνει τις εντολές που πρέπει να εκτελέσει ο υπολογιστής. Χρησιμοποιούνται δηλαδή για την επικοινωνία του ανθρώπου και της μηχανής, όπως αντίστοιχα οι φυσικές γλώσσες χρησιμοποιούνται για την επικοινωνία μεταξύ των ανθρώπων. Οι γλώσσες προγραμματισμού, που είναι τεχνητές γλώσσες, ακολουθούν τις βασικές έννοιες και αρχές της γλωσσολογίας, επιστήμη που μελετά τις φυσικές γλώσσες.
Αλφάβητο Λεξιλόγιο Γραμματική Σημασιολογία
Αλφάβητο μίας γλώσσας καλείται το σύνολο των στοιχείων που χρησιμοποιείται από τη γλώσσα.
Το λεξιλόγιο αποτελείται από ένα υποσύνολο όλων των ακολουθιών που δημιουργούνται από τα στοιχεία του αλφαβήτου, τις λέξεις που είναι δεκτές από τη γλώσσα.
Η Γραμματική αποτελείται από το τυπικό ή τυπολογικό και το συντακτικό .
Τυπικό είναι το σύνολο των κανόνων που ορίζει τις μορφές με τις οποίες μία λέξη είναι αποδεκτή.
Συντακτικό είναι το σύνολο των κανόνων που καθορίζει τη νομιμότητα της διάταξης και της σύνδεσης των λέξεων της γλώσσας για τη δημιουργία προτάσεων.
Η σημασιολογία είναι το σύνολο των κανόνων που καθορίζει το νόημα των λέξεων και κατά επέκταση των εκφράσεων και προτάσεων που χρησιμοποιούνται σε μία γλώσσα.
Διαφορές φυσικών και τεχνητών γλωσσών
Μία βασική διαφορά μεταξύ φυσικών και τεχνητών γλωσσών είναι η δυνατότητα εξέλιξής τους. Οι φυσικές γλώσσες εξελίσσονται συνεχώς, νέες λέξεις δημιουργούνται, κανόνες γραμματικής και σύνταξης αλλάζουν με την πάροδο του χρόνου και αυτό γιατί η γλώσσα χρησιμοποιείται για την επικοινωνία μεταξύ ανθρώπων, που εξελίσσονται και αλλάζουν ανάλογα με τις εποχές και τον κοινωνικό περίγυρο. Αντίθετα οι τεχνητές γλώσσες χαρακτηρίζονται από στασιμότητα, αφού κατασκευάζονται συνειδητά για ένα συγκεκριμένο σκοπό.
Ιεραρχική σχεδίαση προγράμματος
Η τεχνική της ιεραρχικής σχεδίασης και επίλυσης ή η διαδικασία σχεδίασης “από επάνω προς τα κάτω” όπως συχνά ονομάζεται περιλαμβάνει τον καθορισμό των βασικών λειτουργιών ενός προγράμματος, σε ανώτερο επίπεδο, και στη συνέχεια τη διάσπαση των λειτουργιών αυτών σε όλο και μικρότερες λειτουργίες, μέχρι το τελευταίο επίπεδο που οι λειτουργίες είναι πολύ απλές, ώστε να επιλυθούν εύκολα.
Σκοπός της ιεραρχικής σχεδίασης είναι η διάσπαση λοιπόν του προβλήματος σε μια σειρά από απλούστερα υποπροβλήματα, τα οποία να είναι εύκολο να επιλυθούν οδηγώντας στην επίλυση του αρχικού προβλήματος. Η ιεραρχική σχεδίαση ή ιεραρχικός προγραμματισμός χρησιμοποιεί τη στρατηγική της συνεχούς διαίρεσης του προβλήματος σε υποπροβλήματα.
Δομημένος προγραμματισμός
Ο δομημένος προγραμματισμός δεν είναι απλώς ένα είδος προγραμματισμού, είναι μία μεθοδολογία σύνταξης προγραμμάτων που έχει σκοπό να βοηθήσει τον προγραμματιστή στην ανάπτυξη σύνθετων προγραμμάτων, να μειώσει τα λάθη, να εξασφαλίσει την εύκολη κατανόηση των προγραμμάτων και να διευκολύνει τις διορθώσεις και τις αλλαγές σε αυτά.
Ο δομημένος προγραμματισμός στηρίζεται στη χρήση τριών και μόνο στοιχειωδών λογικών δομών, τη δομή της ακολουθίας, τη δομή της επιλογής και τη δομή της επανάληψης. Όλα τα προγράμματα μπορούν να γραφούν χρησιμοποιώντας μόνο αυτές τις τρεις δομές καθώς και συνδυασμό τους. Κάθε πρόγραμμα όπως και κάθε ενότητα προγράμματος έχει μόνο μία είσοδο και μόνο μία έξοδο.
Αν και ο δομημένος προγραμματισμός αρχικά εμφανίστηκε σαν μία προ- σπάθεια περιορισμού των εντολών GOTO, σήμερα αποτελεί τη βασική μεθοδολογία προγραμματισμού. Ο δομημένος προγραμματισμός ενθαρρύνει και βοηθάει την ανάλυση του προγράμματος σε επιμέρους τμήματα, έτσι ώστε σήμερα ο όρος δομημένος προγραμματισμός περιέχει τόσο την ιεραρχική σχεδίαση όσο και τον τμηματικό προγραμματισμό.
Πλεονεκτήματα του δομημένου προγραμματισμού
Επιγραμματικά μπορούμε να αναφέρουμε τα εξής πλεονεκτήματα του δομημένου προγραμματισμού.
1) Δημιουργία απλούστερων προγραμμάτων.
2) Άμεση μεταφορά των αλγορίθμων σε προγράμματα.
3) Διευκόλυνση ανάλυσης του προγράμματος σε τμήματα.
4) Περιορισμός των λαθών κατά την ανάπτυξη του προγράμματος.
5) Διευκόλυνση στην ανάγνωση και κατανόηση του προγράμματος από τρίτους. Ï Ευκολότερη διόρθωση και συντήρηση.
Προγραμματιστικά περιβάλλοντα
Κάθε πρόγραμμα που γράφτηκε σε οποιαδήποτε γλώσσα προγραμματισμού πρέπει να μετατραπεί σε μορφή αναγνωρίσιμη και εκτελέσιμη από τον υπολογιστή, δηλαδή σε εντολές γλώσσας μηχανής. Η μετατροπή αυτή επιτυγχάνεται με τη χρήση ειδικών μεταφραστικών προγραμμάτων. Υπάρχουν δύο μεγάλες κατηγορίες τέτοιων προγραμμάτων, οι μεταγλωττιστές και οι διερμηνευτές.
Μεταγλωττιστής:
Ο μεταγλωττιστής δέχεται στην είσοδο ένα πρόγραμμα γραμμένο σε μια γλώσσα υψηλού επιπέδου και παράγει ένα ισοδύναμο πρόγραμμα σε γλώσσα μηχανής. Το τελευταίο μπορεί να εκτελείται οποτεδήποτε από τον υπολογιστή και είναι τελείως ανεξάρτητο από το αρχικό πρόγραμμα.
Διερμηνευτής:
Ο διερμηνευτής διαβάζει μία προς μία τις εντολές του αρχικού προγράμματος και για καθεμία εκτελεί αμέσως μια ισοδύναμη ακολουθία εντολών μηχανής. Η δημιουργία του εκτελέσιμου προγράμματος γίνεται μόνο στην περίπτωση που το αρχικό πρόγραμμα δεν περιέχει συντακτικά λάθη. Τις περισσότερες φορές κάθε πρόγραμμα αρχικά θα έχει λάθη.
Συντάκτης – Πηγαίο Πρόγραμμα – Αντικείμενο Πρόγραμμα – Συνδέτης / Φορτωτής – Βιβλιοθήκες – Εκτελέσιμο Πρόγραμμα
1) Για την αρχική σύνταξη των προγραμμάτων και τη διόρθωσή τους στη συνέχεια χρησιμοποιείται ένα ειδικό πρόγραμμα που ονομάζεται συντάκτης. Ο συντάκτης είναι ουσιαστικά ένας μικρός επεξεργαστής κειμένου, με δυνατότητες όμως που διευκολύνουν τη γρήγορη γραφή των εντολών των προγραμμάτων.
2) Το αρχικό πρόγραμμα λέγεται πηγαίο πρόγραμμα, ενώ
3) Το πρόγραμμα που παράγεται από το μεταγλωττιστή λέγεται αντικείμενο πρόγραμμα. Το αντικείμενο πρόγραμμα είναι μεν σε μορφή κατανοητή από τον υπολογιστή, αλλά συνήθως δεν είναι σε θέση να εκτελεστεί.
4) Χρειάζεται να συμπληρωθεί και να συνδεθεί με άλλα τμήματα προγράμματος απαραίτητα για την εκτέλεσή του, τμήματα που είτε τα γράφει ο προγραμματιστής είτε βρίσκονται στις βιβλιοθήκες της γλώσσας. Το πρόγραμμα που επιτρέπει αυτή τη σύνδεση ονομάζεται συνδέτης / φορτωτής .
5) Το αποτέλεσμα του συνδέτη / φορτωτή και των βιβλιοθηκών είναι η παραγωγή του εκτελέσιμου προγράμματος, το οποίο είναι το τελικό πρόγραμμα που εκτελείται από τον υπολογιστή.
Για το λόγο αυτό η συνολική διαδικασία που αναφέρθηκε παραπάνω αποκαλείται μεταγλώττιση και σύνδεση. Ο μεταγλωττιστής ή ο διερμηνευτής ανιχνεύει λοιπόν τα συντακτικά λάθη και εμφανίζει κατάλληλα διαγνωστικά μηνύματα. Το στάδιο που ακολουθεί είναι η διόρθωση των λαθών. Το διορθωμένο πρόγραμμα επαναϋποβάλλεται για μεταγλώττιση και η διαδικασία αυτή επαναλαμβάνεται, μέχρις ότου εξαλειφθούν πλήρως όλα τα λάθη.
Σωστό / Λάθος Ερωτήσεις Θεωρίας Εισαγωγή στον Προγραμματισμό:
1. Ο προγραμματισμός αφορά την επίλυση ενός προβλήματος σε κατανοητές προς τον υπολογιστή εντολές.
2. Ο προγραμματισμός αφορά τη διατύπωση ενός αλγορίθμου σε κατανοητή από τον υπολογιστή μορφή.
3. Βασικό στοιχείο του προγράμματος είναι τα δεδομένα και οι δομές δεδομένων, πέραν της κωδικοποίησης.
4. Οι γλώσσες προγραμματισμού αναπτύχθηκαν με σκοπό: επικοινωνία ανθρώπου-μηχανής.
5. Το πρόγραμμα είναι απλώς η μεταφορά του αλγορίθμου επίλυσης ενός προβλήματος σε κάποια γλώσσα προγραμματισμού.
6. Αν ένα πρόγραμμα έχει λογικά λάθη τότε δεν είναι εκτελέσιμο.
7. Λεξιλόγιο μιας γλώσσας είναι όλες οι ακολουθίες που δημιουργούνται από τα στοιχεία του αλφαβήτου της γλώσσας, τις λέξεις.
8. Η εντολή GOTO είναι απαραίτητη στο δομημένο προγραμματισμό.
9. Ένα πρόγραμμα που έχει λογικά λάθη μπορεί να εκτελεστεί.
10. Η εφαρμογή του δομημένου προγραμματισμού οδηγεί σε δυσκολία τμηματοποίησης ενός προγράμματος.
Απαντήσεις Θεωρίας Εισαγωγή στον Προγραμματισμό:
Οι απαντήσεις για τις παραπάνω ερωτήσεις τύπου Σωστό/ Λάθος είναι οι παρακάτω:
1. Λ, 2. Λ, 3. Λ, 4. Σ, 5. Λ, 6. Λ, 7. Λ, 8. Λ, 9. Σ, 10. Λ
Αν θέλετε και άλλες ερωτήσεις τύπου Σωστού / Λάθους ή γενικότερα ερωτήσεις θεωρίας στην ύλη της πληροφορικής Γ λυκείου στο κεφάλαιο Εισαγωγή στον Προγραμματισμό μπορείτε να δείτε από τα τεστ, διαγωνίσματα και θεωρίες που έχουμε δημιουργήσει για να σας δώσουν την δυνατότητα να καταφέρετε υψηλό βαθμό στις πανελλαδικές εξετάσεις.
Ερωτήσεις Ανάπτυξης Θεωρίας Εισαγωγή στον Προγραμματισμό
Παρακάτω σας δίνουμε μερικές ερωτήσεις ανάπτυξης στη θεωρία της πληροφορικής Γ λυκείου στο 6ο κεφάλαιο του σχολικού βιβλίου για την Εισαγωγή στον Προγραμματισμό. Μπορείτε να διαβάσετε την ύλη και στη συνέχεια να απαντήσετε. Οι λύσεις στις ερωτήσεις είναι όπως θα ζητηθούν στις πανελλήνιες εξετάσεις και γράφονται στην συνέχεια κάθε ερώτησης.
1. Ποια είναι τα στάδια επίλυσης ενός προβλήματος;
Τα στάδια επίλυσης ενός προβλήματος είναι:
1) Aκριβής προσδιορισμός του προβλήματος
2) Ανάπτυξη του αντίστοιχου αλγορίθμου
3) Η διατύπωση του αλγορίθμου σε κατανοητή μορφή από τον υπολογιστή.
2. Ποιες είναι οι κύριες λειτουργίες ενός μεταφραστικού προγράμματος;
Ένας υπολογιστής «καταλαβαίνει» εντολές γραμμένες σε «γλώσσα μηχανής». Οι εντολές ενός προγράμματος σε μία γλώσσα υψηλού επιπέδου, αποτελούνται από εντολές που μοιάζουν περισσότερο με τη φυσική μας γλώσσα.
I. Ένα μεταφραστικό πρόγραμμα έχει ως στόχο να συνδέσει τους δύο τρόπους γραφής.
II. Η εύρεση συντακτικών λαθών στο πρόγραμμα.
III. Η δέσμευση μνήμης για τις μεταβλητές που θα χρησιμοποιήσει ένα πρόγραμμα
3. Τι είναι πρόγραμμα και τι προγραμματισμός;
Ο προγραμματισμός ασχολείται με τη δημιουργία του προγράμματος, δηλαδή του συνόλου των εντολών που πρέπει να δοθούν στον υπολογιστή για την επίλυση ενός προβλήματος.
Το πρόγραμμα, το οποίο γράφεται σε κάποια γλώσσα προγραμματισμού, δεν είναι απλώς η υλοποίηση του αλγορίθμου, αλλά βασικό στοιχείο του είναι τα δεδομένα και οι δομές δεδομένων επί των οποίων ενεργεί.
Αν θέλετε περισσότερες ερωτήσεις τύπου ανάπτυξης ή γενικότερα ερωτήσεις θεωρίας στην ύλη της πληροφορικής Γ λυκείου στο κεφάλαιο Εισαγωγή στον Προγραμματισμό μπορείτε να δείτε από τα τεστ, διαγωνίσματα και θεωρίες που έχουμε δημιουργήσει για να σας δώσουν την δυνατότητα να καταφέρετε τον καλύτερο δυνατό βαθμό στις πανελλήνιες εξετάσεις.

