Εισαγωγή στον προγραμματισμό με “Ψευδογλώσσα”
ΣΗΜΑΝΤΙΚΟ: Για την καλύτερη κατανόηση των παραδειγμάτων, αλλά και των λυμένων ασκήσεων, αφού μελετήσετε προσεκτικά τις εκφωνήσεις, προσπαθήστε να καταλάβετε τι αυτές ζητούν και τί θα περίμενε από εσάς (τους προγραμματιστές) οι τελικοί Χρήστες του προγράμματος. Στην συνέχεια μπορείτε να "τρέξετε" (εκτελέσετε) τους αλγορίθμους, αν τους κάνετε αντιγραφή και επικόλληση στο https://pseudo.gloglossa.gr/ που αποτελεί ένα -έτσι κι αλλιώς- πολύ χρήσιμο εργαλείο για το μάθημά μας...
Στον Δομημένο Προγραμματισμό υπάρχουν τρεις βασικές προγραμματιστικές δομές. Δηλαδή τρεις βασικές προγραμματιστικές “στρατηγικές”, που η κάθε μία διαθέτει τις δικές της εντολές προς τον υπολογιστή. Με σωστό συνδυασμό αυτών των προγραμματιστικών δομών, μπορούμε να κατασκευάζουμε προγράμματα (αλγορίθμους) οι οποίοι μπορούν να λύσουν τεράστιο αριθμό υπολογιστικών προβλημάτων
Η Δομή της Ακολουθίας
Η πρώτη απο τις τρείς βασικές δομές που χρησιμοποιούμε η δομή της ακολουθίας . Οι άλλες δυο είναι η δομή της επιλογής και η δομή της επανάληψης .
Η δομή της ακολουθίας είναι η πιο απλή απο τις τρείς δομές . Στη δομή αυτή οι εντολές που περιγράφουμε εκτελούνται όλες η μια μετά από την άλλη με την σειρά (ακολουθιακά)
Παρακάτω μπορείτε να δείτε τις εντολές που περιλαμβάνει η δομή αυτή
ΕΝΤΟΛΗ | ΛΕΙΤΟΥΡΓΙΑ |
ΕΜΦΑΝΙΣΕ/ΓΡΑΨΕ | Εμφανίζει μήνυμα στην οθόνη |
ΔΙΑΒΑΣΕ | Ο Η/Υ περιμένει να του γίνει εισαγωγή (από το πληκτρολόγιο) μια τιμή, για να την αποθηκεύσει σε μια μεταβλητή |
ß (Εντολή εκχώρισης) | Εκχωρεί (βάζει) μια τιμή σε μια μεταβλητή. (π.χ. η εντολή « α ß 7 » έχει ως αποτέλεσμα η μεταβλητή α να αποκτήσει την τιμή 7) |
Για να φτιάξουμε αλγόριθμους που να μπορούν πραγματικά να επιλύουν υπολογιστικά προβλήματα, θα πρέπει να ήμαστε σε θέση να πραγματοποιούμε αριθμητικές πράξεις. Τα σύμβολα των πράξεων ονομάζονται Τελεστές και μοιάζουν με αυτά των μαθηματικών (αλλά έχουν και διαφορές...)
ΤΕΛΕΣΤΕΣ | ΛΕΙΤΟΥΡΓΙΑ |
+ , - | Πρόσθεση, αφαίρεση |
*, / | Πολλαπλασιασμός, διαίρεση. Π.χ. «7/2» ισούται με 3,5 |
^ | Δύναμη. Π.χ. το «α^2» συμβολίζει το α2 |
DIV | Ακέραια διαίρεση. Π.χ. «7 DIV 2» ισούται με 3 (Το 2 χωράει ολόκληρο στο 7 τρεις φορές) |
MOD | Υπόλοιπο ακεραίας διαίρεσης. Π.χ. «7 MOD 2» ισούται με 1, αφού το 2 χωράει ολόκληρο στο 7 τρεις φορές και περισσεύει 1. |
Παρακάτω θα δούμε μερικά λυμένα παραδείγματα για να κατανοήσουμε πως λειτουργεί η δομή αυτή και τι δυνατότητες έχουμε. Επίσης , θα δούμε μερικές από τις βασικές τεχνικές που χρησιμοποιούμε σε ασκήσεις αυτής της μορφής.
Το πιο σημαντικό είναι η σωστή κατανόηση και ανάλυση της άσκησης έτσι ώστε να μπορέσουμε την αντιμετωπίσουμε με τον κατάλληλο τρόπο.
Ας δούμε μερικά παραδείγματα :
Παράδειγμα 1ο :Να γίνει αλγόριθμος σε ψευδογλώσσα ο οποίος: Αρχικά θα εμφανίζει μήνυμα στην οθόνη του υπολογιστή όπου θα ζητάει να πληκτρολογήσει ο Χρήστης έναν αριθμό. Στην συνέχεια θα Διαβάζει (δέχεται) τον αριθμό αυτό. Θα ξανα-εμφανίζει μήνυμα όπου θα ζητάει να πληκτρολογήσει ο Χρήστης κι άλλον έναν αριθμό αριθμό, τον οποίο επίσης θα διαβάζει ο υπολογιστής. Τέλος οι δύο αριθμοί θα προστίθενται και ο υπολογιστής θα εμφανίζει το άθροισμά τους.
Παρατήρηση: Η παραπάνω εκφώνηση παραείναι αναλυτική! Στην πραγματικότητα τα προβλήματα/ασκήσεις που καλούμαστε να λύνουμε, δεν θα είναι διατυπωμένα με τόση λεπτομέρεια. Εδώ απλά η εκφώνηση δίνεται με τέτοιον τρόπο, επειδή βρισκόμαστε στα πρώτα-πρώτα βήματα εκμάθησης του δομημένου προγραμματισμού. Μια συνηθισμένη εκφώνηση για το παραπάνω πρόβλημα θα ήταν: “Να γίνει αλγόριθμος ο οποίος να δέχεται δύο αριθμούς, και να εμφανίζει το άθροισμά τους. “
Λύση 1ου παραδείγματος :
Αλγόριθμος ευκολάκι
Εμφάνισε "Παρακαλώ πληκτρολογήστε έναν αριθμό"
Διάβασε α
Εμφάνισε "Παρακαλώ πληκτρολογήστε άλλον έναν αριθμό"
Διάβασε β
αθρ <- α + β
Εμφάνισε "Το άθροισμα είναι ", αθρ
Τέλος ευκολάκι
Σχόλια: Στον παραπάνω αλγόριθμο παρατηρήστε ότι τα στοιχεία α, β, και αθρ λέγονται Μεταβλητές και αυτό που κάνουν είναι να αποθηκεύουν διάφορες τιμές και δεδομένα (που “διαβάζονται “ ή υπολογίζονται) που χρειάζεται ο αλγόριθμος. Η τιμή σε μια μεταβλητή μπορεί να παραμείνει σταθερή ή και να αλλάξει πολλές φορές, ανάλογα τις εντολές που θα δώσουμε.
Παράδειγμα 2ο :Να τροποποιηθεί ο παραπάνω αλγόριθμος έτσι ώστε αφού διαβάσει τους δύο αριθμούς, να τους πολλαπλασιάζει και να εμφανίζει το γινόμενό τους
Λύση 2ου παραδείγματος :
Αλγόριθμος ευκολάκι_2
Εμφάνισε "Παρακαλώ πληκτρολογήστε έναν αριθμό"
Διάβασε α
Εμφάνισε "Παρακαλώ πληκτρολογήστε άλλον έναν αριθμό"
Διάβασε β
γιν <- α * β
Εμφάνισε "Το γινόμενο είναι ", γιν
Τέλος ευκολάκι_2
Παράδειγμα 3ο :Ο κύριος Μάκης από το κυλικείο του σχολείου μας, μας ζητά να του φτιάξουμε ένα πρόγραμμα για να τον βοηθάει στον υπολογισμό μιας συνηθισμένης παραγγελίας, αυτής των σάντουιτς και νερών. Το πρόγραμμα θα πρέπει να δέχεται α) την τιμή του (ενός) σάντουιτς, β) τον αριθμό των σάντουιτς, γ) την τιμή του (ενός) νερού και δ) τον αριθμό των μπουκαλιών νερού, και να εμφανίζει το συνολικό κόστος της παραγγελίας...
Σχόλια: Παρόμοιος αλγόριθμος έχει παρουσιαστεί αναλυτικά και μέσα στην τάξη
Λύση 3ου παραδείγματος :
Αλγόριθμος μάκης_3
Εμφάνισε "Παρακαλώ πληκτρολογήστε την τιμή του σάντουιτς"
Διάβασε τιμή_σ
Εμφάνισε "Παρακαλώ πληκτρολογήστε τον αριθμό των σάντουιτς"
Διάβασε αρ_σ
Εμφάνισε "Παρακαλώ πληκτρολογήστε την τιμή του νερού"
Διάβασε τιμή_ν
Εμφάνισε "Παρακαλώ πληκτρολογήστε τον αριθμό των νερών"
Διάβασε αρ_ν
σύνολο <- (τιμή_σ* αρ_σ) + (τιμή_ν* αρ_ν)
Εμφάνισε "Το σύνολο είναι ", σύνολο
Τέλος μάκης_3
Ασκήσεις για επίλυση:
1. Ένα γραφείο ενοικίασης αυτοκινήτων θέλει να του φτιάξουμε ένα πρόγραμμα το οποίο θα διαβάζει για ένα αυτοκίνητο την τιμή ενοικίασης για μία μέρα , και τον αριθμό των ημερών που θέλει να το ενοικιάσει ένας πελάτης, και στο τέλος αυτό θα εμφανίζει το συνολικό ποσό που πρέπει να πληρώσει ο πελάτης. Να φτιάξετε τον αλγόριθμο σε ψευδογλώσσα.
Λυση:
Αλγόριθμος ασκ_1_φυλλ
Εμφάνισε "Πρακαλώ δώστε την τιμή ενοικίασης ανά ημέρα..."
Διάβασε τιμή_εν
Εμφάνισε "Πρακαλώ δώστε τον αριθμό ημερών ενοικίασης..."
Διάβασε αριθμ_ημ
Σύνολο <- τιμή_εν* αριθμ_ημ
Εμφάνισε "Το σύνολο είναι:", Σύνολο
Τέλος ασκ_1_φυλλ
2. Σε ένα παιδικό θέατρο τα εισιτήρια κοστίζουν 10 € για τους ενήλικες και 5 € για τα παιδιά. Να πραγματοποιήσετε πρόγραμμα το οποίο θα δέχεται το πλήθος των ενηλίκων και το πλήθος των παιδιών που παρακολούθησαν μια παράσταση, και θα εμφανίζει τις συνολικές εισπράξεις του θεάτρου.
Λύση:
Αλγόριθμος ασκ_2_φυλλ
Εμφάνισε "Πρακαλώ δώστε το πλήθος των ενηλίκων... "
Διάβασε πλ_ενηλ
Εμφάνισε "Πρακαλώ δώστε το πλήθος των παιδιών..."
Διάβασε πλ_παιδ
Σύνολο <- (πλ_ενηλ* 10) + (πλ_παιδ* 5)
Εμφάνισε "Το σύνολο είναι:", Σύνολο
Τέλος ασκ_2_φυλλ
3. Να γίνει αλγόριθμος που θα διαβάζει έναν (ακέραιο) αριθμό, και θα εμφανίζει τον προηγούμενο και τον επόμενο ακέραιο αριθμό από αυτόν που διαβάστηκε
Λύση:
Αλγόριθμος ασκ_3_φυλλ
Εμφάνισε "Πρακαλώ πληκτρολογήστε έναν (ακέραιο) αριθμό... "
Διάβασε αρ
επομ <- αρ + 1
προηγ <- αρ - 1
Εμφάνισε "Ο προηγούμενος είναι:", προηγ
Εμφάνισε "Ο επόμενος είναι:", επομ
Τέλος ασκ_3_φυλλ
4. Να γίνει αλγόριθμος που θα διαβάζει έναν (ακέραιο) αριθμό χ, και θα υπολογίζει και εμφανίζει τον κύβο του (δηλαδή το χ3 )
Λύση:
Αλγόριθμος ασκ_4_φυλλ
Εμφάνισε "Πληκτρολόγησε έναν ακέραιο αριθμό..."
Διάβασε χ
κύβος <- χ^3 !(μπορούμε να βάλλουμε και κύβος <- χ*χ*χ)
Εμφάνισε "Ο κύβος είναι", κύβος
Τέλος ασκ_4_φυλλ
Λύση άσκησης 5:
Αλγόριθμος ασκ_5_φυλλ
Εμφάνισε "Πληκτρολόγησε έναν ακέραιο αριθμό διάφορο του μηδέν..."
Διάβασε χ
αποτελ <- 1/ χ^2
Εμφάνισε "Το αποτελεσμα είναι: ", αποτελ
Τέλος ασκ_5_φυλλ
Αλγόριθμος ασκ6_φυλλ
Εμφάνισε "Πληκτρολόγησέ μου τους 3 βαθμούς"
Διάβασε α, β, γ
μο ← (α + β + γ)/3
Εμφάνισε "Ο μέσος όρος είναι: ", μο
Τέλος ασκ6
Αλγόριθμος ασκ_7_φυλλ
Εμφάνισε "Παρακαλώ πληκρολογήστε τα α και β.."
Διάβασε α, β
χ ← (-1)*β/α
Εμφάνισε "Το χ είναι: ", χ
Τέλος ασκ_7
8. Να φτιάξετε ΕΝΑΝ αλγόριθμο ο οποίος θα διαβάζει από το πληκτρολόγιο το μήκος και το πλάτος ενός ορθογωνίου παραλληλογράμμου, και θα εμφανίζει Α) το εμβαδόν του και Β) την περίμετρό του
(εμβαδόν = μήκος * πλάτος, περίμετρος = 2*μήκος + 2*πλάτος )