Διάβασε Υπολόγισε - Γράψε 1. Εμβαδόν τετραγώνου Αλγόριθμος που βρίσκει το εμβαδόν ενός οποιουδήποτε τετραγώνου. Σκοπός: να διακρίνουμε το μέρος του προγράμματος μου κάνει υπολογισμούς από το μέρος που κάνει τις εκτυπώσεις. Μπορούμε να υπολογίσουμε το εμβαδόν σε μια ξεχωριστή εντολή, πριν από την εντολή που εμφανίζει το αποτέλεσμα. Έτσι ξεχωρίζουμε τους υπολογισμούς από τις εκτυπώσεις και είναι πιο ξεκάθαρη η λειτουργία του προγράμματος: ΑΛΓΟΡΙΘΜΟΣ Εμβαδόν_τετραγώνου3! Δεδομένα: X! Αποτελέσματα: ΕΕ ΕΜΦΑΝΙΣΕ Θα υπολογίσουμε το εμβαδόν ενός τετραγώνου ΕΜΦΑΝΙΣΕ Δώστε το μήκος της πλευράς ΔΙΑΒΑΣΕ X! Εισαγωγή δεδομένων ΕΕ <- X^2 ΕΜΦΑΝΙΣΕ Το εμβαδόν είναι, ΕΕ ΤΕΛΟΣ Εμβαδόν_τετραγώνου3! Επεξεργασία! Εκτύπωση αποτελεσμάτων Η εντολή της εκτύπωσης του αποτελέσματος μπορεί να γίνει περισσότερο πλήρης: ΕΜΦΑΝΙΣΕ Το εμβαδόν τετραγώνου με πλευρά, X, είναι, Ε Εδώ τυπώνουμε ένα μήνυμα (σε εισαγωγικά), τη μεταβλητή X, άλλη μια λέξη (σε εισαγωγικά) και τέλος τη μεταβλητή E. Τα τέσσερα αυτά πράγματα τα χωρίζουμε μεταξύ τους με κόμμα. Η εκτέλεση του αλγόριθμου θα εμφανίσει τα εξής: Θα υπολογίσουμε το εμβαδόν ενός τετραγώνου Δώστε το μήκος της πλευράς 5 (Αυτό το πληκτρολογούμε εμείς) Το εμβαδόν τετραγώνου με πλευρά 5 είναι 25 2. Παρόντες - Απόντες Αλγόριθμος που ρωτάει το συνολικό αριθμό των μαθητών μιας τάξης και τον αριθμό των παρόντων και βρίσκει τους απόντες. ΑΛΓΟΡΙΘΜΟΣ Απουσιολόγος! Δεδομένα: Δύναμη_τάξης, Παρόντες! Αποτελέσματα: Απόντες ΕΜΦΑΝΙΣΕ Για να δούμε πόσοι λείπουν σήμερα... ΕΜΦΑΝΙΣΕ Πόσα παιδιά πρέπει να είναι στην τάξη; ΔΙΑΒΑΣΕ Δύναμη_τάξης ΕΜΦΑΝΙΣΕ Πόσα παιδιά είναι στην τάξη; ΔΙΑΒΑΣΕ Παρόντες 1
Απόντες <- Δύναμη_τάξης - Παρόντες ΕΜΦΑΝΙΣΕ Οι απόντες είναι, Απόντες ΤΕΛΟΣ Απουσιολόγος 3. Κόστος κάδρου Το κόστος ενός κάδρου επιμερίζεται στο κόστος της κορνίζας, το κόστος του τζαμιού και το κόστος της εργασίας. Η τιμή του τζαμιού που χρησιμοποιεί ο κορνιζάς είναι σταθερή και ίση με 500 δρχ το τετραγωνικό μέτρο. Το κόστος της κορνίζας είναι ανάλογο με το συνολικό μήκος της (πάει με το μέτρο) και εξαρτάται από την κορνίζα που θα διαλέξουμε (ακριβή ή φθηνή). Η εργασία του κορνιζά χρεώνεται 1000 δρχ. συν το 20% της αξίας των υλικών που χρησιμοποίησε. Θα φτιάξουμε αλγόριθμο που διαβάζει το μήκος και το πλάτος ενός κάδρου καθώς και το πόσο κοστίζει το τρέχων μέτρο της κορνίζας που διαλέγουμε και υπολογίζει το συνολικό κόστος του κάδρου. ΑΛΓΟΡΙΘΜΟΣ Ο_καλός_ο_Κορνιζάς! Δεδομένα: Μήκος, Πλάτος, Τιμή_κορνίζας! Αποτελέσματα: Κόστος! Εισαγωγή δεδομένων ΕΜΦΑΝΙΣΕ Υπολογισμός κόστους κάδρου ΕΜΦΑΝΙΣΕ Δώσε τις διαστάσεις της κορνίζας ΔΙΑΒΑΣΕ Μήκος, Πλάτος ΕΜΦΑΝΙΣΕ Δώσε την τιμή της κορνίζας (ανά μέτρο) ΔΙΑΒΑΣΕ Τιμή_κορνίζας Τιμή_τζαμιού <- 500! Επεξεργασία Εμβαδόν Περίμετρος <- Μήκος * Πλάτος <- 2 * (Μήκος + Πλάτος) Κόστος_τζαμιού <- Εμβαδόν * Τιμή τζαμιού Κόστος_κορνίζας <- Περίμετρος * Τιμή_κορνίζας Κόστος_υλικών <- Κόστος_τζαμιού + Κόστος_κορνίζας Κόστος_εργασίας <- 1000 + (20/100) * Κόστος_Υλικών Κόστος <- Κόστος_υλικών + Κόστος_εργασίας! Εμφάνιση αποτελεσμάτων ΕΜΦΑΝΙΣΕ Το κάδρο θα κοστίσει, Κόστος, δραχμές ΤΕΛΟΣ Ο_καλός_ο_Κορνιζάς 4. Μ.Ο. μαθήματος. Αλγόριθμος που υπολογίζει το μέσο όρο της προφορικής βαθμολογίας και τον τελικό μέσο όρο ενός μαθήματος για ένα μαθητή Ενιαίου Λυκείου, αν ξέρουμε τους δυο προφορικούς βαθμούς (Α, Β) και το βαθμό των γραπτών (Γ). (Ας μη λάβουμε υπόψη μας τη διαφορά των 3 μονάδων) ΑΛΓΟΡΙΘΜΟΣ Μέσος_όρος1! Δεδομένα: Α, Β, Γραπτά! Αποτελέσματα: ΜΟ_Προφορικών, ΜΟ 2
ΕΜΦΑΝΙΣΕ Εύρεση Μέσου Όρου βαθμολογίας σε ένα μάθημα ΕΜΦΑΝΙΣΕ Δώσε τους δύο προφορικούς βαθμούς ΔΙΑΒΑΣΕ Α, Β ΕΜΦΑΝΙΣΕ Δώσε το βαθμό των γραπτών ΔΙΑΒΑΣΕ Γραπτά! Πρώτα υπολογίζουμε το μέσο όρο της προφορικής βαθμολογίας ΜO_Προφορικών <- (Α + Β) / 2! Τώρα θα υπολογίσουμε τον τελικό μέσο όρο ΜΟ <- (ΜO_Προφορικών + Γραπτά) / 2 ΕΜΦΑΝΙΣΕ Μέσος όρος των προφορικών είναι, ΜO_Προφορικών ΕΜΦΑΝΙΣΕ Μέσος όρος τελικός είναι, ΜO! Τα κενά τα αφήσαμε για ομορφιά,! για να τυπωθούν οι δύο βαθμοί ο ένας κάτω από τον άλλο ΤΕΛΟΣ Μέσος_όρος1 Ο υπολογισμός μπορεί να γίνει και με άλλο τρόπο: ΜΟ <- ((Α + Β) / 2 + Γραπτά) / 2 ή με άλλο τρόπο: ΜΟ <- ((Α + Β) + 2*Γραπτά) / 4 5. ΦΠΑ Αλγόριθμος που διαβάζει την τιμή ενός προϊόντος και υπολογίζει το ποσό του ΦΠΑ και την τελική του τιμή του προϊόντος, αν το ποσοστό του ΦΠΑ είναι 18% (Το 18% είναι 0.18). ΑΛΓΟΡΙΘΜΟΣ Υπολογισμός_ΦΠΑ! Δεδομένα: Αρχική_Τιμή! Αποτελέσματα: Ποσό_ΦΠΑ, Τελική_Τιμή ΕΜΦΑΝΙΣΕ Υπολογισμός ΦΠΑ ενός προϊόντος ΕΜΦΑΝΙΣΕ Δώσε την αρχική του τιμή ΔΙΑΒΑΣΕ Αρχική_Τιμή Ποσό_ΦΠΑ <- Αρχική_Τιμή * ΦΠΑ Τελική_Τιμή <- Αρχική_Τιμή + Ποσό_ΦΠΑ ΕΜΦΑΝΙΣΕ Το ΦΠΑ είναι, Ποσό_ΦΠΑ, Δρχ. ΕΜΦΑΝΙΣΕ Η τελική τιμή είναι, Τελική_Τιμή, Δρχ. ΤΕΛΟΣ Υπολογισμός_ΦΠΑ 6. Μισθοδοσία υπαλλήλου. Αυτή η άσκηση δεν είναι δύσκολη, απλά έχει μεγάλη εκφώνηση με πολλά νούμερα και δεν χρειάζεται να μας τρομάζει.. Είναι ένα πρόβλημα αρκετά κοντά στην πραγματικότητα. Βέβαια για εκπαιδευτικούς σκοπούς θα μπορούσαμε να βάζαμε μόνο ένα συνολικό ποσοστό για τις κρατήσεις και όχι πέντε ξεχωριστά, μια και ο 3
υπολογισμός γίνεται με τον ίδιο τρόπο, αλλά μερικές φορές ο προγραμματιστής πρέπει να κάνει και χαμαλοδουλειές, δουλειές δηλαδή τετριμμένες που απαιτούν απλά κάποιο χρόνο για να ολοκληρωθούν, χωρίς να χρειάζονται ιδιαίτερη νοητική προσπάθεια και χωρίς να προσφέρουν την ανάλογη πνευματική ευχαρίστηση. Βέβαια εσείς που τα διαβάζετε, μάλλον δεν είστε -ακόμα- επαγγελματίες προγραμματιστές και δεν φταίτε σε τίποτε, αλλά πολλά λεω και δεν φταίτε να σας ζαλίζω... Ο υπάλληλος παίρνει 3500 την ημέρα, εκτός από τα Σάββατα που παίρνει 4500. Αν ξέρουμε πόσες καθημερινές και πόσα Σάββατα εργάστηκε βρίσκουμε το ακαθάριστο ποσό που παίρνει, δηλαδή το ποσό πριν να γίνουν οι κρατήσεις και η φορολογία. Οι κρατήσεις γίνονται για διάφορα ασφαλιστικά ταμεία. Τα ονόματά τους δεν μας ενδιαφέρουν για τους υπολογισμούς που θα κάνουμε, ενδιαφέρουν όμως τα ίδια τα ταμεία που θα πάρουν τα χρήματα και γι αυτό πρέπει να φαίνονται. Οι κρατήσεις είναι: 2,5% για το Μετοχικό Ταμείο Πολιτικών Υπαλλήλων (Μ.Τ.Π.Υ), 2,55% για Υγειονομική Περίθαλψη (Υγ.Π), 5% για το Ταμείο Αρωγής (Τ.Α) και 1% για χαρτόσημο. Τα προηγούμενα ποσοστά είναι επί του ακαθάριστου μισθού του. Επιπλέον έχει κράτηση 20% επί του Χαρτοσήμου (και όχι επί του ακαθαρίστου) για το ΟΓΑ. Αν αφαιρέσουμε όλες αυτές τις κρατήσεις βρίσκουμε το καθαρό ποσό προ φόρου. Τέλος υπολογίζεται και αφαιρείται φόρος 20% επί του καθαρού ποσού προ φόρου. ΑΛΓΟΡΙΘΜΟΣ Μισθοδοσία! Αυτά τα βάζουμε σταθερές, ώστε αν αλλάξει η νομοθεσία να μπορούμε να! κάνουμε τις αλλαγές εύκολα, χωρίς να ψάχνουμε μέσα σε όλο το πρόγραμμα! (Το 2.5% είναι ίσο με 2.5 εκατοστά ή 2.5/100 ή 0.025)! Δεδομένα: Ημέρες, Σάββατα! Αποτελέσματα: ΜΤΠΥ, ΥγΠ, ΤΑ, Χαρτ, ΟΓΑ_Χαρτ, Φόρος, Καθαρό Αποζημίωση_καθημερινής <- 3500 Αποζημίωση_Σαββάτου <- 4500 Ποσοστό_ΜΤΠΥ <- 0.025! Μετοχικό Ταμείο Πολιτικών Υπαλλήλων Ποσοστό_ΥγΠ <- 0.0255! Υγειονομική Περίθαλψη Ποσοστό_ΤΑ <- 0.05! Ταμείο Αρωγής Ποσοστό_Χαρτ <- 0.01! Χαρτόσημο Ποσοστό_ΟΓΑ_Χαρτ <- 0.20! ΟΓΑ Χαρτοσήμου Ποσοστό_Φόρου <- 0.20! Φόρος ΕΜΦΑΝΙΣΕ Μισθοδοσία υπαλλήλου! Είσοδος δεδομένων - Input ΕΜΦΑΝΙΣΕ Πόσες καθημερινές εργάστηκε; ΔΙΑΒΑΣΕ Καθημερινές ΕΜΦΑΝΙΣΕ Πόσα Σάββατα εργάστηκε; ΔΙΑΒΑΣΕ Σάββατα! Επεξεργασία δεδομένων - Process! Υπολογίζουμε το ακαθάριστο ποσό της αποζημίωσης! Επειδή δεν χωράει σε μια γραμμή, βάζουμε στην επόμενη το & και συνεχίζουμε Ακαθάριστο <- Αποζημίωση_καθημερινής * Καθημερινές 4
& + Αποζημίωση_Σαββάτου * Σάββατα! Υπολογίζουμε τις διάφορες κρατήσεις και το σύνολό τους ΜΤΠΥ <- Ακαθάριστο * Ποσοστό_ΜΤΠΥ ΥγΠ <- Ακαθάριστο * Ποσοστό_ΥγΠ ΤΑ <- Ακαθάριστο * Ποσοστό_ΤΑ Χαρτ <- Ακαθάριστο * Ποσοστό_Χαρτ ΟΓΑ_Χαρτ <- Χαρτ * Ποσοστό_ΟΓΑ_Χαρτ Σύνολο_Κρατήσεων <- ΜΤΠΥ + ΥγΠ + ΤΑ + Χαρτ + ΟΓΑ_Χαρτ! Υπολογίζουμε το καθαρό ποσό μετά από τις κρατήσεις αλλά πριν το φόρο Καθαρό_προ_φόρου <- Ακαθάριστο - Σύνολο_Κρατήσεων! Υπολογίζουμε το φόρο Φόρος <- Καθαρό_προ_φόρου * Ποσοστό_Φόρου! Υπολογίζουμε το τελικό καθαρό ποσό Καθαρό <- Καθαρό_προ_φόρου - Φόρος! Εμφάνιση αποτελεσμάτων - Output! (Εμφανίζουμε όλα τα αποτελέσματα στην ίδια στήλη για ομορφιά) ΕΜΦΑΝΙΣΕ Κρατήσεις: ΕΜΦΑΝΙΣΕ ΕΜΦΑΝΙΣΕ Μετοχικό Ταμείο Π.Υ. :, ΜΤΠΥ Υγειονομική Περίθαλψη :, ΥγΠ ΕΜΦΑΝΙΣΕ Ταμείο Αρωγής :, ΤΑ ΕΜΦΑΝΙΣΕ Χαρτόσημο :, Χαρτ ΕΜΦΑΝΙΣΕ ΟΓΑ Χαρτοσήμου :, ΟΓΑ_Χαρτ ΕΜΦΑΝΙΣΕ! αφήνει μια κενή γραμμή ΕΜΦΑΝΙΣΕ Φόρος ΕΜΦΑΝΙΣΕ! αφήνει μια κενή γραμμή ΕΜΦΑΝΙΣΕ Καθαρό ποσό ΤΕΛΟΣ Μισθοδοσία :, Φόρος :, καθαρό 7. Ποσοστά Αλγόριθμος που ρωτάει πόσα μηχανάκια, πόσα Ι.Χ. και πόσα φορτηγά πέρασαν από τα διόδια και υπολογίζει το ποσοστό των οχημάτων της κάθε κατηγορίας. ΑΛΓΟΡΙΘΜΟΣ Διόδια! Δεδομένα: Μηχανάκια, ΙΧ, Φορτηγά! Αποτελέσματα: Μηχανάκια_Ποσοστό, ΙΧ_Ποσοστό, Φορτηγά_Ποσοστό! Είσοδος δεδομένων - Input ΕΜΦΑΝΙΣΕ Στατιστικά κίνησης διοδίων ΕΜΦΑΝΙΣΕ Πόσα Μηχανάκια πέρασαν; ΔΙΑΒΑΣΕ Μηχανάκια ΕΜΦΑΝΙΣΕ Πόσα Ι.Χ. πέρασαν; ΔΙΑΒΑΣΕ ΙΧ! Μια μεταβλητή δεν μπορεί να περιέχει τελείες ΕΜΦΑΝΙΣΕ Πόσα Φορτηγά πέρασαν; ΔΙΑΒΑΣΕ Φορτηγά 5
! Επεξεργασία δεδομένων - Process Σύνολο <- Μηχανάκια + ΙΧ + Φορτηγά Μηχανάκια_Ποσοστό <- (Μηχανάκια / Σύνολο) *100 ΙΧ_Ποσοστό <- (ΙΧ / Σύνολο) *100 Φορτηγά_Ποσοστό <- (Φορτηγά / Σύνολο) *100! Εμφάνιση αποτελεσμάτων - Output ΕΜΦΑΝΙΣΕ Ποσοστά για κάθε κατηγορία οχημάτων: ΕΜΦΑΝΙΣΕ Μηχανάκια:, Μηχανάκια_Ποσοστό, % ΕΜΦΑΝΙΣΕ ΙΧ:, ΙΧ_Ποσοστό, % ΕΜΦΑΝΙΣΕ Φορτηγά:, Φορτηγά _Ποσοστό, % ΤΕΛΟΣ Διόδια 8. Μοιρασιά σε μέρη ανάλογα. Αλγόριθμος που βοηθάει έναν παππού να μοιράσει στα τρία εγγόνια του ένα ποσό, ανάλογα με το βαθμό που πήραν στο 1 ο Τετράμηνο στο Σχολείο τους. ΑΛΓΟΡΙΘΜΟΣ Μποναμάς! Δεδομένα: Λεφτά_Παππού, Βαθμός1, Βαθμός2, Βαθμός3! Αποτελέσματα: Λεφτά1, Λεφτά2, Λεφτά3! Είσοδος δεδομένων - Input ΕΜΦΑΝΙΣΕ Γεια σου παππού. ΕΜΦΑΝΙΣΕ Να τα χαίρεσαι τα εγγονάκια σου ΕΜΦΑΝΙΣΕ Γράψε το ποσό της χορηγίας - χωρίς τσιγγουνιές ΔΙΑΒΑΣΕ Λεφτά_Παππού ΕΜΦΑΝΙΣΕ Γράψε τους βαθμούς των τριών παιδιών ΔΙΑΒΑΣΕ Βαθμός1, Βαθμός2, Βαθμός3! Επεξεργασία δεδομένων - Process Άθροισμα_Βαθμών <- Βαθμός1 + Βαθμός2 + Βαθμός3 Λεφτά1 <- Λεφτά_Παππού *(Βαθμός1 / Άθροισμα_Βαθμών) Λεφτά2 <- Λεφτά_Παππού *(Βαθμός2 / Άθροισμα_Βαθμών) Λεφτά3 <- Λεφτά_Παππού *(Βαθμός3 / Άθροισμα_Βαθμών)! Εμφάνιση αποτελεσμάτων - Output ΕΜΦΑΝΙΣΕ Μοιρασιά σε μέρη ανάλογα με το βαθμό ΕΜΦΑΝΙΣΕ Το ποσό που αναλογεί στο κάθε παιδί είναι: ΕΜΦΑΝΙΣΕ Λεφτά1, Λεφτά2, Λεφτά3 ΤΕΛΟΣ Μποναμάς 9. Στατιστικά basket. Αλγόριθμος που διαβάζει πόσα τρίποντα, δίποντα και βολές έβαλε ένας παίκτης και να υπολογίζει πόσους πόντους σημείωσε συνολικά. Διαβάζει επίσης τις προσπάθειες για τρίποντα, δίποντα και βολές και βγάζει τα αντίστοιχα ποσοστά επιτυχίας. Τέλος υπολογίζει το γενικό ποσοστό ευστοχίας. 6
ΑΛΓΟΡΙΘΜΟΣ Basket1! Μια μεταβλητή πρέπει να αρχίζει με γράμμα.! έτσι δεν μπορούμε να δώσουμε το όνομα 3Π για τα τρίποντα! Δεδομένα: Π3, Π2, Π1! Δεδομένα: ΠΠ3, ΠΠ2, ΠΠ1! Αποτελέσματα: Πόντοι, ΠΠΠ3, ΠΠΠ2, ΠΠΠ1! Αποτελέσματα: Συνολικό_Ποσοστό_Ευστοχίας_Παίχτη ΕΜΦΑΝΙΣΕ Υπολογισμός των πόντων ενός παίκτη ΕΜΦΑΝΙΣΕ Δώσε πόσα τρίποντα, δίποντα, βολές πέτυχε ΔΙΑΒΑΣΕ Π3, Π2, Π1 ΕΜΦΑΝΙΣΕ Δώσε τις αντίστοιχες προσπάθειες που έκανε ΔΙΑΒΑΣΕ ΠΠ3, ΠΠ2, ΠΠ1 Πόντοι <- 3* Π3 + 2* Π2 + Π1 ΕΜΦΑΝΙΣΕ Συνολικά σημείωσε, Πόντοι, πόντους! Υπολογίζουμε τα ποσοστά ευστοχίας (επιτυχίες προς τις προσπάθειες) ΠΠΠ3 <- (Π3 / ΠΠ3) * 100 ΠΠΠ2 <- (Π2 / ΠΠ2) * 100 ΠΠΠ1 <- (Π1 / ΠΠ1) * 100 ΕΜΦΑΝΙΣΕ Επιτυχία στα τρίποντα:, ΠΠΠ3, % ΕΜΦΑΝΙΣΕ Επιτυχία στα δίποντα:, ΠΠΠ2, % ΕΜΦΑΝΙΣΕ Επιτυχία στις βολές:, ΠΠΠ1, % Σύνολο_Προσπαθειών_Παίχτη <- ΠΠ3 + ΠΠ2 + ΠΠ1 Συνολικό_Ποσοστό_Ευστοχίας_Παίχτη <- (Πόντοι / & Σύνολο_Προσπαθειών_Παίχτη) * 100! Επειδή ο τύπος είναι μεγάλος και δεν χωράει σε μια γραμμή,! πρέπει - σύμφωνα με το συντακτικό της ΓΛΩΣΣΑΣ -! στην επόμενη γραμμή που συνεχίζεται, ο πρώτος χαρακτήρας να είναι το & ΕΜΦΑΝΙΣΕ Επιτυχία:, Συνολικό_Ποσοστό_Ευστοχίας_Παίχτη, % ΤΕΛΟΣ Basket1 7