LinuxFanClub Wiki

Υπηρεσίες, Προγραμματισμός, Εκπαίδευση ..

User Tools

Site Tools


el:school:lessons:programmatismos:pascal:askisi3_anatheseis_prakseis

Άσκηση 3 - Εντολές ανάθεσης - πράξεις

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

  • ΕΠΕΚΤΑΣΗ / ΑΣΚΗΣΗ ΓΙΑ ΤΟ ΣΠΙΤΙ
    • Έστω ο Κώστας που έχει ηλικία 12 χρονών.
    • Αποθηκεύστε αυτό το όνομα και αυτήν την ηλικία σε 2 μεταβλητές και εμφανίστε τις πληροφορίες αυτές με ένα ωραίο μήνυμα.
    • Ζητήστε από τον χρήστη να σας δώσει το δικό του όνομα και την δικιά του ηλικία και αποθηκεύστε τις σε 2 νέες μεταβλητές.
    • Βρείτε πόσα χρόνια διαφορά έχει ο χρήστης από τον Κώστα και εμφανίστε το σε ένα ωραίο μήνυμα.
    • Αν ο χρήστης είναι 12 χρονών ή λιγότερο και εμφανιστεί μήνυμα με 0 ή αρνητική τιμή σε χρόνια και δεν σας αρέσει, υπομονή μέχρι την επόμενη άσκηση που θα μάθουμε να το χειριζόμαστε..
el/school/lessons/programmatismos/pascal/askisi3_anatheseis_prakseis.txt · Last modified: Y/m/d H:i by vagk