====== Άσκηση 3 - Εντολές ανάθεσης - πράξεις ====== * Μέχρι τώρα έχουμε δει τις εντολές **writeln** που εμφανίζει μήνυμα στην Οθόνη και την **readln** που διαβάζει ότι πληκτρολογεί ο χρήστης και το αποθηκεύει με μία **μεταβλητή** * Στην νέα άσκηση θα δούμε τα εξής : * Πως ο ΗΥ αποθηκεύει τιμές σε μεταβλητές μέσα στο πρόγραμμα π.χ. **kostos_proion1:=20;** * Πως κάνουμε πράξεις και αποθηκεύουμε το αποτέλεσμα σε μεταβλητές π.χ. **resta_proion1:= pliromi_proion1 - kostos_proion1;** - **ΔΗΜΙΟΥΡΓΙΑ ΕΡΓΟΥ** : Θα δημιουργήσουμε το νέο έργο **agora** * Κάνουμε όμοιες ενέργειες όπως στην Άσκηση1, όπου hello τώρα ο τίτλος είναι **agora** - **ΕΝΤΟΛΕΣ** - Ανάμεσα στο **BEGIN .. END.** τοποθετούνται οι εντολές του προγράμματος. - Αποθηκεύουμε τιμές σε 2 μεταβλητές ως εξής : * **onoma_proion1:='μπλούζα';** * **kostos_proion1:=20;** - Με την εντολή που ξέρουμε εμφανίζουμε το μήνυμα 'Το προϊόν //τάδε// έχει τιμή //τάδε// € '. //(Εννοείται ότι όπου **ταδε** Θα εμφανίσουμε τις τιμές των μεταβλητών **onoma_proion1** και **kostos_proion1**, όπως εμφανίζαμε στην προηγούμενη Άσκηση το όνομα χρήστη και την ηλικία)// - **ΜΕΤΑΓΛΩΤΤΙΣΗ / ΕΚΤΕΛΕΣΗ** - Πηγαίνουμε **Build/Μεταγλώττιση** ή **F8** για να δημιουργηθεί από το **agora.pas** σε **pascal** το εκτελέσιμο πρόγραμμα **agora.exe** (στα Windows) ή **agora** (στο Linux) σε **γλώσσα μηχανής** - Η μεταγλώττιση απέτυχε! Μας βγάζει μήνυμα **Αποτυχία μεταγλώττισης** μαζί με τους λόγους **Error : Identifier not found "onoma_proion1"**, **Error : Identifier not found "kostos_proion1"**. - Κάτι ξεχάσαμε που αφορά τις μεταβλητές!! Βλέπουμε τι σημαίνει το μήνυμα στα [[el:school:lessons:programmatismos:pascal:minimata_lathous]] και πάμε να το διορθώσουμε. Κοιτάμε και την άσκηση 2 για να βοηθηθούμε. - **ΠΡΟΣΘΗΚΕΣ 1** - Ωραία ως εδώ. Θα ζητήσουμε από τον χρήστη τώρα να δώσει ένα ποσό να το αγοράσει. Εμφανίζουμε το μήνυμα **Δώσε ποσό για να το αγοράσεις**. Για να είναι όμορφο χρησιμοποιούμε τη εντολή εμφάνισης που δεν αλλάζει γραμμή. Και αφήνουμε και ένα κενό μετά το μήνυμα για να μην κολλήσει με την απάντηση. - Χρησιμοποιούμε τώρα την εντολή που θα διαβάσει ότι θα μας πληκτρολογήσει ο χρήστης και θα αποθηκεύσει στην μεταβλητή **pliromi_proion1**. **Προσοχή! Νέα μεταβλητή!** Δεν ξεχνάμε να κάνουμε κάτι που κάνουμε και στις άλλες 2 μεταβλητές, αλλιώς θα αποτύχει η μεταγλώττιση. - Θέλουμε να υπολογίσουμε τα ρέστα. Αφαιρούμε από τα λεφτά που δώσαμε **pliromi_proion1** την τιμή του προϊόντος **kostos_proion1** και αποθηκεύουμε το αποτέλεσμα σε μια νέα μεταβλήτή **resta_proion1** * **resta_proion1:=pliromi_proion1 - kostos_proion1;** * **Προσοχή! Νέα μεταβλητή!** Τι επιπλέον θα κάνουμε; - Εμφανίστε ένα τελευταίο μήνυμα. **Μου έδωσες //τόσα// €. Τα ρέστα σου είναι //τόσα// €**. //(Εννοείται ότι αντί για **τόσα** εσείς θα χρησιμοποιήσετε τις μεταβλητές που έχουν αποθηκευμένο το ποσό που δώσαμε και τα ρέστα)// - **ΠΡΟΣΘΗΚΕΣ 2** * 2ο προϊόν **"μπουφάν"** με τιμή **50** € ή ότι θέλετε εσείς με την τιμή που θέλετε (καλή τιμή, να πουλήσετε..) * Φτιάξτε όλες τις αντίστοιχες εντολές (copy/paste επιτρέπεται αρκεί να τα φτιάξετε σωστά) - **ΠΡΟΣΘΗΚΕΣ 3** * Αφού πλέον ο χρήστης αγοράζει 2 προϊόντα, δεν θα ζητήσουμε να μας πληρώσει 2 φορές και να δώσουμε ρέστα 2 φορές. Μια και καλή στο τέλος. - Οπότε βάζουμε σε σχόλια **{}** ότι δεν χρειαζόμαστε από μεταβλητές και εντολές. Εκεί δηλαδή που ζητάμε να μας πληρώσουν για κάθε προϊόν και δίνουμε ρέστα για κάθε ένα. - Ορίζουμε νέες μεταβλητές για τα σύνολα με ωραία περιγραφικά ονόματα. - Εμφανίζουμε το συνολικό κόστος και για τα 2 προϊόντα και ζητάμε να μας πληρώσουν. - Διαβάζουμε την συνολική πληρωμή και εμφανίζουμε τα συνολικά ρέστα ---- * **ΕΠΕΚΤΑΣΗ / ΑΣΚΗΣΗ ΓΙΑ ΤΟ ΣΠΙΤΙ** * Έστω ο **Κώστας** που έχει ηλικία 12 χρονών. * Αποθηκεύστε αυτό το όνομα και αυτήν την ηλικία σε 2 μεταβλητές και εμφανίστε τις πληροφορίες αυτές με ένα ωραίο μήνυμα. * Ζητήστε από τον χρήστη να σας δώσει το δικό του όνομα και την δικιά του ηλικία και αποθηκεύστε τις σε 2 νέες μεταβλητές. * Βρείτε πόσα χρόνια διαφορά έχει ο χρήστης από τον Κώστα και εμφανίστε το σε ένα ωραίο μήνυμα. * Αν ο χρήστης είναι 12 χρονών ή λιγότερο και εμφανιστεί μήνυμα με 0 ή αρνητική τιμή σε χρόνια και δεν σας αρέσει, υπομονή μέχρι την επόμενη άσκηση που θα μάθουμε να το χειριζόμαστε..