ΜΕΤΑΒΛΗΤΕΣ

ΟΙ ΠΛΗΡΟΦΟΡΙΕΣ ΤΩΝ ΑΛΓΟΡΙΘΜΩΝ

ΤΙ ΕΙΝΑΙ ΟΙ ΜΕΤΑΒΛΗΤΕΣ;

Πολλές φορές τα προγράμματα χρειάζονται να κρατούν αποθηκευμένες κάποιες πληροφορίες

Από το παιχνίδι "tripod-attack" του dvadi.com
Οι πληροφορίες αυτές αποθηκεύονται στη μνήμη του υπολογιστή και παριστάνονται με συμβολικά ονόματα, αποτελώντας τις ΜΕΤΑΒΛΗΤΕΣ του προγράμματος.

Η καθημερινότητά μας περιέχει αντικείμενα που θυμίζουν μεταβλητές προγράμματος

ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΜΕΤΑΒΛΗΤΏΝ

Κάθε μεταβλητή έχει ένα όνομα και μία τιμή
  • Χρησιμοποιούμε το όνομα, για να αναφερθούμε στην τιμή της μεταβλητής.
  • Αυτό μας επιτρέπει να χρησιμοποιούμε το όνομα, ανεξάρτητα από την τιμή που παριστάνει.
  • Οι μεταβλητές είναι μια μορφή αφαίρεσης(abstraction).

ΛΕΙΤΟΥΡΓΙΕΣ ΜΕΤΑΒΛΗΤΩΝ

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

C++/Java


int score; /* Δήλωση(δημιουργία) μεταβλητής */
String name ="John"; /*Δήλωση και αρχικοποίηση */						

score = 10; /* Αρχικοποίηση */
score += 2; /* Ενημέρωση (αύξηση της τιμής κατά 2) */
score = score + 2; /* Το ίδιο με το παραπάνω*/
						

ΠΡΟΣΟΧΗ!! Το = σημαίνει "αποθήκευσε την τιμή στα δεξιά, στη μεταβλητή στα αριστερά".

Snap

ΕΝΗΜΕΡΩΣΗ ΜΕΤΑΒΛΗΤΗΣ

ΕΙΔΙΚΕΣ ΠΕΡΙΠΤΩΣΕΙΣ

Ο ΜΕΤΡΗΤΗΣ ΤΗΣ ΕΝΤΟΛΗΣ FOR

  • Η μεταβλητή i, δηλώνεται, αρχικοποιείται και ενημερώνεται αυτόματα(χωρίς την εκτέλεση εντολών από τον αλγόριθμο).
  • Στο παράδειγμά μας:
    • Αρχικοποιείται στο 1
    • Αυξάνεται κατά 1 σε κάθε επανάληψη(μέχρι να γίνει 10)
  • Οι δύο επαναλήψεις είναι ισοδύναμες.

ΕΙΔΙΚΕΣ ΜΕΤΑΒΛΗΤΕΣ ΤΟΥ SNAP

  • Αποθηκεύουν πληροφορίες που αφορούν το περιβάλλον του Snap.
  • Δημιουργούνται και αρχικοποιούνται αυτόματα.
  • Ενημερώνονται:
    • Με, ειδικές για κάθε μια, εντολές του Snap.
    • Αυτόματα, μέσω των ενεργειών του χρήστη.

ΠΑΡΑΜΕΤΡΟΙ ΔΙΑΔΙΚΑΣΙΩΝ

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