Μεταβλητές Προγράμματος

Πληροφορική (Επαγγελματικό Λύκειο)

Μεταβλητές Προγράμματος

3 ώρες
Γενική περιγραφή περιεχομένου

Το παρόν τρίωρο σενάριο διδασκαλίας εντάσσεται στο μάθημα «Αρχές Προγραμματισμού Υπολογιστών» της Β’ τάξης, όλων των ειδικοτήτων του τομέα πληροφορικής των ΕΠΑΛ και αναφέρεται στους βασικούς τύπους δεδομένων της γλώσσας προγραμματισμού Pascal και συγκεκριμένα στις δηλώσεις και τη χρήση μεταβλητών. Σύμφωνα με το αναλυτικό πρόγραμμα σπουδών, η υλοποίηση όλων των δομών προγραμματισμού, εκτός από την παράστασή τους με λογικό διάγραμμα και ψευδοκώδικα, θα γίνεται και στο προγραμματιστικό περιβάλλον της γλώσσας προγραμματισμού Pascal.

Στο 1ο μέρος της διδασκαλίας (Φάση 1), μέσω συζήτησης μεταξύ εκπαιδευτικού και μαθητών, θα γίνει διερεύνηση για τις γνώσεις που έχουν οι μαθητές για το θέμα. Με την εισήγηση που θα ακολουθήσει, θα γνωστοποιηθούν οι διδακτικοί στόχοι, θα παρουσιαστεί η θεωρία του μαθήματος και θα επισημανθούν οι παρανοήσεις και τα δυσνόητα σημεία που αναμένεται να συναντήσουν οι μαθητές.

Στο 2ο μέρος της διδασκαλίας (Φάση 2), οι μαθητές, χωρισμένοι σε ομάδες των δύο ατόμων, θα πάρουν ο καθένας ένα φύλλο δραστηριοτήτων. Οι δραστηριότητες με τις οποίες θα ασχοληθούν οι μαθητές καλύπτουν όλους τους διδακτικούς στόχους της διδασκαλίας

Η διδασκαλία θα ολοκληρωθεί στο 3ο μέρος (Φάση 3 και 4), αφιερώνοντας τα τελευταία 25 λεπτά της στην αξιολόγηση και αυτοαξιολόγηση των μαθητών.


Εκπαιδευτικό Πρόβλημα

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

Κάθε μεταβλητή έχει ένα και μοναδικό όνομα μέσα στο πρόγραμμα με το οποίο αναφερόμαστε σε αυτήν και έναν τύπο δεδομένων. Ορισμένες γλώσσες προγραμματισμού κάνουν διάκριση πεζών – κεφαλαίων (case sensitive) οπότε, για παράδειγμα, άλλο όνομα μεταβλητής είναι το x και άλλο το Χ, ενώ άλλες όχι (case insensitive). Ο τύπος δεδομένων μιας μεταβλητής υποδεικνύει το είδος και το εύρος των τιμών της, όπως π.χ. αν είναι ένας ακέραιος αριθμός (προσημασμένος ή μη προσημασμένος), ένας αριθμός κινητής υποδιαστολής, ένας χαρακτήρας κλπ.

Σε ορισμένες γλώσσες προγραμματισμού (π.χ. Basic) οι μεταβλητές αρχικοποιούνται συνήθως με "0" ή κάποια άλλη προκαθορισμένη τιμή, οι τιμές τους δηλαδή θα πρέπει να παρέχονται από τον χρήστη του προγράμματος ή να προκύπτουν από την επεξεργασία των δεδομένων του, ενώ σε άλλες γλώσσες (π.χ. Pascal) δε συμβαίνει αυτό και η αρχικοποίηση θα πρέπει να γίνει από τον προγραμματιστή. Η μη αρχικοποίηση των μεταβλητών αποτελεί μια συνήθη πηγή σφαλμάτων στον προγραμματισμό, καθώς οι τιμές που βρίσκονται στη μνήμη είναι "σκουπίδια", που μπορούν να έχουν αρνητικές συνέπειες για το πρόγραμμα, παράγοντας απροσδιόριστα αποτελέσματα από την επεξεργασία των δεδομένων.

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

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

Ίσως οι μαθητές να είναι ήδη εξοικειωμένοι με τις μεταβλητές που χρησιμοποιούν στα μαθηματικά, οι οποίες εκπροσωπούν άγνωστα ή μη ρητά καθορισμένα πεδία μιας εξίσωσης. Για παράδειγμα, στην εξίσωση y = m * x + b, κάθε αλφαβητικό γράμμα είναι μια μεταβλητή που αντιπροσωπεύει κάτι άγνωστο (m είναι η κλίση της γραμμής, b είναι η y-τομή, το χ είναι οποιαδήποτε αποδεχτή x-τιμή στη λειτουργία του τομέα, και το y είναι οποιαδήποτε αποδεχτή y-τιμή στο φάσμα της συνάρτησης). Στην επιστήμη των υπολογιστών ωστόσο η τιμή μιας μεταβλητής δεν είναι ποτέ κάτι “άγνωστο”, αλλά μάλλον ορίζεται ρητά, αν και μπορεί να αλλάξει με τρόπους που ο δημιουργός του προγράμματος δε μπορεί πάντοτε να προβλέψει. Είναι σημαντικό να θυμόμαστε ότι δεν υπάρχει καμία απολύτως (ή τουλάχιστον πολύ μικρή) σχέση μεταξύ του όρου μεταβλητή, όπως χρησιμοποιείται στα μαθηματικά, και της μεταβλητής ενός προγράμματος υπολογιστή.

Η θέση της μνήμης στην οποία αναφέρεται μια μεταβλητή μπορεί ή δεν μπορεί να έχει χρήσιμα στοιχεία, αλλά συνήθως αυτό δεν συμβαίνει έως ότου αυτή αρχικοποιηθεί. Η διαδικασία της δέσμευσης ενός κομματιού της μνήμης και η ανάθεση ενός ονόματος σε αυτό λέγεται δημιουργία, διάθεση ή δήλωση μεταβλητής. Σε ένα πρόγραμμα, μπορείτε να δείτε μια γραμμή κώδικα όπως αυτή: area := pi * r * r;

Μπορεί να φαίνεται σαν μια μαθηματική εξίσωση, αλλά αυτό είναι κάτι περισσότερο από μια μαθηματική εξίσωση. Είναι μια εντολή στον υπολογιστή για να φέρει τις τιμές από δύο θέσεις μνήμης (pi και r), οι οποίες έχουν απόλυτους "αριθμούς ταυτότητας”, πολλαπλασιάζει τις τιμές αυτές μεταξύ τους και στη συνέχεια αποθηκεύει το αποτέλεσμα στη θέση μνήμης που ονομάζεται area. Είναι πολύ βολικό το γεγονός ότι αυτός ο κώδικας μπορεί να πάρει τη γνώριμη μορφή μιας εξίσωσης, αλλά δεν μπορούμε να επιτρέψουμε την εμφάνισή του να μας ξεγελάσει, διότι δεν καθορίζει μια μαθηματική συνάρτηση. Μάλλον καθορίζει ένα αυστηρό σύνολο οδηγιών που ο υπολογιστής θα ακολουθήσει κατά την εκτέλεση αυτής της γραμμής κώδικα. Ομοίως, οι περισσότερες γλώσσες επιτρέπουν αναθέσεις μεταβλητών, όπως η ακόλουθη: sum := sum + a;

Οι χαρακτήρες “:=” στην Pascal, αντιστοιχούν στην εντολή καταχώρισης τιμής σε μεταβλητή, ενώ σε άλλες γλώσσες προγραμματισμού, όπως η Basic, ο χαρακτήρας αυτός είναι το “=”. Στους αλγόριθμους, είτε αυτοί είναι σε ψευδογλώσσα είτε σε λογικό διάγραμμα, για να μη συγχέεται με το σύμβολο της ισότητας συνηθίζεται η εντολή καταχώρισης να συμβολίζεται με ένα βέλος “<-”, π.χ. X<-X+1.

 

Πηγές:

webopedia (http://www.webopedia.com/TERM/V/variable.html)

WIKIVERSITY (https://en.wikiversity.org/wiki/Introduction_to_Programming/Variables)

Programming Basics (http://www.programmingbasics.org/en/beginner/gettingstarted.html)

 

at 50/100
Εκπαιδευτική Βαθμίδα που απευθύνεται το σενάριο
Επαγγελματικό Λύκειο
Θεματική Ταξινομία
Πληροφορική > Προγραμματισμός υπολογιστών > Αλγόριθμος >
Τύπος Διαδραστικότητας
Συνδυασμός παθητικής και ενεργητικής μάθησης
Επίπεδο Διαδραστικότητας
υψηλό
Προτεινόμενη ηλικιακή ομάδα:
-6
6-9
9-12
12-15
15-18
18-25
25+
Φάσεις Ψηφιακού Σεναρίου:
Θεωρητικό Μέρος
70λεπτά
Χώρος Υλοποίησης
Εργαστήριο Πληροφορικής
Δραστηριότητες
40λεπτά
Χώρος Υλοποίησης
Εργαστήριο Πληροφορικής
Αξιολόγηση Μαθητών
15λεπτά
Χώρος Υλοποίησης
Εργαστήριο Πληροφορικής
Αυτοαξιολόγηση Μαθητών
10λεπτά
Χώρος Υλοποίησης
Εργαστήριο Πληροφορικής
Διδακτικοί Στόχοι
Να γνωρίσουν οι μαθητές τι είναι οι μεταβλητές στον προγραμματισμό και ποια τα χαρακτηριστικά τους
Να γνωρίσουν και εφαρμόζουν τους κανόνες σύνταξης της Pascal στα ονόματα των μεταβλητών
Να μπορούν να επιλέγουν τον κατάλληλο τύπο ανάλογα με το είδος και το εύρος των αποθηκευμένων τιμών
Να μπορούν να δηλώνουν μεταβλητές σε ένα πρόγραμμα Pascal
Να μπορούν να δίνουν τιμές σε μεταβλητές με την εντολή καταχώρησης της Pascal
Λέξεις κλειδιά που χαρακτηρίζουν τη θεματική του σεναρίου
βασικοί τύποι δεδομένων, μεταβλητές, Pascal,
Υλικοτεχνική υποδομή
Η/Υ, Γλώσσα προγραμματισμού Pame Pascal, Projector, Λογισμικό Παρουσίασης (PowerPoint ή Impress), Διαδίκτυο, Λογισμικό εννοιολογικής χαρτογράφησης (Cmap Tools)

Δημιουργός Σεναρίου: Γεώργιος Βελώνης (Εκπαιδευτικός)

ΑΝΑΓΝΩΡΙΣΤΙΚΟ (τι είναι;)
Το σενάριο «Μεταβλητές Προγράμματος» έχει χαρακτηριστεί ως Βέλτιστο (βαθμολογία 70 μονάδων και άνω) ύστερα από αξιολόγηση που πραγματοποιήθηκε από δύο αξιολογητές βάσει κριτηρίων που ορίστηκαν από το ΔΣ του ΙΕΠ.