ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΚΕΦΑΛΑΙΟ 10 ΛΥΜΕΝΕΣ ΑΣΚΗΣΕΙΣ - ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ 1 ΤΗΛ.6947345322, 6987070028 email: xristoforos_karachristos@hotmail.com https://sites.google.com/site/aeppkx
Ερωτήσεις Πολλαπλής Επιλογής 1. Τα δύο είδη υποπρογραμμάτων είναι οι και οι 2. Μια διαδικασία και μια συνάρτηση μπορούν να εκτελούν ακριβώς τις ίδιες λειτουργίες 3. Η ενεργοποίηση μιας συνάρτησης πραγματοποιείται με την εντολή ΚΑΛΕΣΕ 4. Η κλήση των διαδικασιών γίνεται με απλή αναφορά του ονόματός τους 5. Μερικά από τα πλεονεκτήματα του τμηματικού προγραμματισμού είναι: Α. Λιγότερος χρόνος για την ανάπτυξη του προγράμματος Β. Ευκολότερη διόρθωση Γ. Ταχύτητα κατά την εκτέλεση Δ. Χρήση αναδρομικών διαδικασιών 6. Κάθε υποπρόγραμμα πρέπει να έχει μόνο μία είσοδο και μία έξοδο 7. Μια διαδικασία μπορεί να καλέσει το κύριο πρόγραμμα 8. Οι συναρτήσεις μπορούν να υπολογίζουν μόνο μια τιμή και να την επιστρέφουν 9. Ποια είναι η επικεφαλίδα της συνάρτησης Εμβαδόν που υπολογίζει το εμβαδόν ενός τριγώνου Α. ΣΥΝΑΡΤΗΣΗ Εμβαδό(β, υ) Β. ΣΥΝΑΡΤΗΣΗ Εμβαδ Γ. ΣΥΝΑΡΤΗΣΗ Εμβαδό(β, υ): ΠΡΑΓΜΑΤΙΚΗ Δ. ΠΡΑΓΜΑΤΙΚΗ ΣΥΝΑΡΤΗΣΗ Εμβαδό 10. Μια διαδικασία μπορεί να καλέσει μια συνάρτηση (Ε=1/2*β*υ) 11. Ο τμηματικός προγραμματισμός έχει ως αποτέλεσμα την ταχύτερη εκτέλεση του προγράμματος 12. Το κυρίως πρόγραμμα πρέπει να είναι πολύ μεγαλύτερο από τα υποπρογράμματα 13. Η διαδικασίες έχουν περιορισμένες λειτουργίες σε σχέση με τις συναρτήσεις 14. Τι είδους υποπρόγραμμα, διαδικασία ή συνάρτηση, πρέπει να χρησιμοποιήσεις για τα παρακάτω: Α. Εισαγωγή τριών δεδομένων Β. Εισαγωγή ενός δεδομένου 15. Τι θα τυπώσουν οι παρακάτω εντολές: Α. 5, 10, 0 Β. 5, 10, -5 Γ. 5, 10, 0 Δ. 5, 10, -5 16. Τι θα τυπώσουν οι παρακάτω εντολές: Γ. Υπολογισμός του μικρότερου από πέντε ακεραίους Δ. Υπολογισμός των δύο μικρότερων από πέντε ακεραίους Ε. Έλεγχος αν δυο αριθμοί είναι ίσοι. ΣΤ. Να ταξινομεί και να επιστρέφει ταξινομημένους πέντε αριθμούς Ζ. Έλεγχος αν ένας χαρακτήρας είναι φωνήεν ή σύμφωνο. Α <- 5 Β <- 10 Γ <- 0 ΚΑΛΕΣΕ Διαδ1(Α, Β) ΔΙΑΔΙΚΑΣΙΑ Διαδ1(Γ, Δ) Γ <- Γ - Δ ΤΕΛΟΣ_ΔΙΑΔΙΑΔΙΚΑΣΙΑΣ Διαδ1 Α <- 5 Β <- 10 ΚΑΛΕΣΕ Διαδ1(Β, Α) ΓΡΑΨΕ Α,Β ΔΙΑΔΙΚΑΣΙΑ Διαδ1(Γ, Δ) ΓΡΑΨΕ Γ, Δ Γ <- Γ Δ ΤΕΛΟΣ_ΔΙΑΔΙΑΔΙΚΑΣΙΑΣ Διαδ1 Α. 5, 10 5, 10 Β. 10, 5 5, 5 Γ. 5, 10-5, 10 Δ. 10, 5 5, 10 17. Τι θα τυπώσουν οι παρακάτω εντολές: 2 Α <- 10 Β <- 5 ΚΑΛΕΣΕ διαδ(α, Β)
ΓΡΑΨΕ Α, Β ΔΙΑΔΙΚΑΣΙΑ διαδ(γ, Δ) Α <- 0 Β <- 0 ΓΡΑΨΕ Α, Β Α. 10, 5 0, 0 Β. 10, 5 10, 5 Γ. 0, 0 0, 0 Δ. 0, 0 10, 5 Κεφαλαίο 10 ο 1. διαδικασίες, συναρτήσεις 2. λάθος 3. λάθος 4. λάθος 5. Α, Β 6. σωστό 7. λάθος 8. λάθος 9. Γ 10. σωστό 11. λάθος 12. λάθος 13. λάθος 14. Α Διαδικασία 14. Β Διαδικασία 14. Γ Συνάρτηση 14. Δ Διαδικασία 14. Ε Συνάρτηση 14. ΣΤ Διαδικασία 14. Ζ Συνάρτηση 15. Γ 16.Β 17. Δ Υποπρογράμματα 1 Να γράψετε υποπρόγραμμα που να δέχεται δυο αριθμούς και να επιστρέφει τον μικρότερο ΣΥΝΑΡΤΗΣΗ Εύρεση_Μικρ (Α, Β): ΠΡΑΓΜΑΤΙΚΗ ΠΡΑΓΜΑΤΙΚΕΣ : Α, Β, εκτίμηση ΑΝ Α < Β ΤΟΤΕ εκτίμηση Α εκτίμηση Β Εύρεση_Μικρ εκτίμηση Υποπρογράμματα 2 Να γράψετε υποπρόγραμμα που να δέχεται έναν αριθμό και να επιστρέφει το τετράγωνό του ΣΥΝΑΡΤΗΣΗ Εις_το_Τετράγωνο (Χ): ΠΡΑΓΜΑΤΙΚΗ ΠΡΑΓΜΑΤΙΚΕΣ : Χ Εις_το_Τετράγωνο Χ ^ 2 Υποπρογράμματα 3 Να γράψετε υποπρόγραμμα που να διαβάζει έναν αριθμό και να επιστρέφει το τετράγωνό του ΔΙΑΔΙΚΑΣΙΑ Τετράγωνο (X,Χ2) ΠΡΑΓΜΑΤΙΚΕΣ : Χ, Χ2 ΔΙΑΒΑΣΕ Χ Χ2 Χ ^ 2 Υποπρογράμματα 4 Να γράψετε υποπρόγραμμα που να δέχεται την τιμή ενός προϊόντος και το συντελεστή ΦΠΑ και να υπολογίζει και να τυπώνει την αξία του ΦΠΑ και την τελική τιμή του προϊόντος ΠΡΟΓΡΑΜΜΑ ΜΜΜ πραγματικεσ:τιμή, συντ_φπα Τιμή <-- 400 συντ_φπα <-- 0.10 ΚΑΛΕΣΕ Υπολογισμός_ΦΠΑ (Τιμή, συντ_φπα) τελοσ_προγραμματοσ ΔΙΑΔΙΚΑΣΙΑ Υπολογισμός_ΦΠΑ (Τιμή, συντ_φπα) ΠΡΑΓΜΑΤΙΚΕΣ : Τιμή, συντ_φπα, ποσό_φπα, τελ_τιμή Ποσό_ΦΠΑ Τιμή * συντ_φπα τελ_τιμή Τιμή + Ποσό_ΦΠΑ ΓΡΑΨΕ 'Το ποσό ΦΠΑ είναι, Ποσό_ΦΠΑ ΓΡΑΨΕ 'Η τελική τιμή του προϊόντος είναι', τελ_τιμή Υποπρογράμματα 5 Να γράψετε υποπρόγραμμα που να ελέγχει αν ένας ακέραιος αριθμός είναι άρτιος ΣΥΝΑΡΤΗΣΗ Άρτιος (Α) : ΛΟΓΙΚΗ 3
ΑΚΕΡΑΙΕΣ : Α ΛΟΓΙΚΕΣ: εκτίμηση ΑΝ Α MOD 2 = 0 ΤΟΤΕ εκτίμηση ΑΛΗΘΗΣ εκτίμηση ΨΕΥΔΗΣ Άρτιος εκτίμηση Υποπρογράμματα 6 Να γράψετε υποπρόγραμμα που να μετατρέπει οποιοδήποτε ποσό από Δραχµές σε Ευρώ (το ποσό πρέπει να είναι θετικό) ΣΥΝΑΡΤΗΣΗ Μετατροπέας (Ποσό_σε_Δραχμές): ΠΡΑΓΜΑΤΙΚΗ ΣΤΑΘΕΡΕΣ ΙΣΟΤΙΜΙΑ = 340.75 ΠΡΑΓΜΑΤΙΚΕΣ: Ποσό_σε_Δραχμές, εκτίμηση ΑΝ (Ποσό_σε_Δραχμές >= 0) ΤΟΤΕ εκτίμηση Ποσό_σε_Δραχμές / ΙΣΟΤΙΜΙΑ! Αν το ποσό είναι αρνητικός αριθμός θα επιστραφεί το 0 εκτίμηση 0 Μετατροπέας εκτίμηση Υποπρογράμματα 7 Να γράψετε υποπρόγραμμα που να διαβάζει το πλήθος αλλά και τα στοιχεία ενός μονοδιάστατου πίνακα (μέγιστο πλήθος στοιχείων 1000) με περιεχόμενα ακέραιους αριθμούς ΔΙΑΔΙΚΑΣΙΑ Εισαγωγή_Μον_Πίνακα (Πλήθος_γραμμών, Πίνακας) ΑΚΕΡΑΙΕΣ : Πλήθος_γραμμών, Πίνακας[1000], i ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Πλήθος_γραμμών _ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ 'Δώσε το ', i, ' στοιχείο' ΔΙΑΒΑΣΕ Πίνακας[i] ΜΕΧΡΙΣ_ΟΤΟΥ (Πίνακας[i] > 0) Υποπρογράμματα 8 Να γράψετε υποπρόγραμμα που να διαβάζει το πλήθος αλλά και τα στοιχεία ενός δισδιάστατου πίνακα (μέγιστο πλήθος γραμμών 1000 και στηλών 10) με περιεχόμενα ακέραιους αριθμούς ΔΙΑΔΙΚΑΣΙΑ Εισαγωγή_Δισ_Πίνακα (Πλήθος_γραμμών, Πλήθος_Στηλών, Πίνακας) ΑΚΕΡΑΙΕΣ : Πλήθος_γραμμών, Πλήθος_Στηλών, Πίνακας[1000, 10], i, j ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Πλήθος_γραμμών ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ Πλήθος_στηλών _ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ 'Δώσε το στοιχείο της ', i, ' γραμμής και της ', j, ' στήλης' ΔΙΑΒΑΣΕ Πίνακας[i, j] ΜΕΧΡΙΣ_ΟΤΟΥ (Πίνακας[i, j] > 0) Υποπρογράμματα 9 Να γράψετε υποπρόγραμμα που να υπολογίζει και να επιστρέφει το μέσο όρων των στοιχείων ενός πίνακα με μέγιστο πλήθος θέσεων 1000 ΣΥΝΑΡΤΗΣΗ Υπολογισμός_ΜΟ (Πλήθος, Πίνακας): ΠΡΑΓΜΑΤΙΚΗ ΠΡΑΓΜΑΤΙΚΕΣ : Πίνακας[1000], άθροισμα ΑΚΕΡΑΙΕΣ : Πλήθος, i άθροισμα <- 0 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Πλήθος άθροισμα άθροισμα + Πίνακας[i] Υπολογισμός_ΜΟ άθροισμα / Πλήθος Υποπρογράμματα 10 Να γράψετε υποπρόγραμμα που να δέχεται έναν ακέραιο τριψήφιο αριθμό και να επιστρέφει τον αντίστοιχο δυαδικό αριθμό Το αποτέλεσμα θα είναι πίνακας (το πολύ 10 θέσεων αφού 2 10 = 1024), άρα θα επιλέξουμε διαδικασία ΔΙΑΔΙΚΑΣΙΑ Δεκαδικός_σε_Δυαδικό (αριθμός, ΠΙΝΑΚΑΣ) ΑΚΕΡΑΙΕΣ : αριθμός, temp_αριθμός, i, ΠΙΝΑΚΑΣ[10], temp_πινακασ[10], ψηφία ΑΝ (Πλήθος_Ψηφίων (αριθμός) > 3) ΤΟΤΕ! Άσκηση 11 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10! Όλα μηδέν ΠΙΝΑΚΑΣ[i] 0 4
temp_αριθμός αριθμός ψηφία 0 _ΕΠΑΝΑΛΗΨΗΣ ψηφία ψηφία + 1 temp_πινακασ[ψηφία] temp_αριθμός MOD 2 temp_αριθμός temp_αριθμός DIV 2 ΜΕΧΡΙΣ_ΟΤΟΥ (temp_αριθμός = 0) ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ ψηφία! αντιστροφή πίνακα ΠΙΝΑΚΑΣ[i] temp_πινακασ[ψηφία + 1 - i] Υποπρογράμματα 11 Να γράψετε υποπρόγραμμα που να δέχεται ως όρισμα έναν αριθμό και έναν μονοδιάστατο πίνακα Ν (μέγιστο πλήθος 1000) θέσεων πραγματικών αριθμών και να ελέγχει πόσες φορές εντοπίζεται ο αριθμός αυτός στον πίνακα και να επιστρέφει το πλήθος αυτό ΣΥΝΑΡΤΗΣΗ Πλήθος_σε_Πίνακα (Στοιχείο_Αναζήτησης, Πλήθος, Πίνακας): ΑΚΕΡΑΙΗ ΠΡΑΓΜΑΤΙΚΕΣ : Στοιχείο_Αναζήτησης, Πίνακας[1000] ΑΚΕΡΑΙΕΣ : Πλήθος, i, εκτίμηση εκτίμηση <- 0 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Πλήθος ΑΝ (Πίνακας[i] = Στοιχείο_Αναζήτησης) ΤΟΤΕ εκτίμηση εκτίμηση + 1 Πλήθος_σε_Πίνακα εκτίμηση Υποπρογράμματα 12 Να γράψετε υποπρόγραμμα που να δέχεται δυο πραγματικούς αριθμούς να αντιμεταθέτει τις τιμές τους ΔΙΑΔΙΚΑΣΙΑ Αντιμετάθεσε (αριθμός_1, αριθμός_2) ΠΡΑΓΜΑΤΙΚΕΣ : αριθμός_1, αριθμός_2, βοηθητική βοηθητική αριθμός_1 αριθμός_1 αριθμός_2 αριθμός_2 βοηθητική! πρώην τιμή της μεταβλητής αριθμός_1 Υποπρογράμματα 13 Να γράψετε υποπρόγραμμα που να ταξινομεί έναν πίνακα με μέγιστο πλήθος θέσεων 1000 ΔΙΑΔΙΚΑΣΙΑ Ταξινόμηση (Πλήθος, Πίνακας) ΠΡΑΓΜΑΤΙΚΕΣ : Πίνακας[1000], βοηθητική ΑΚΕΡΑΙΕΣ : Πλήθος, i, j ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ Πλήθος ΓΙΑ j ΑΠΟ Πλήθος ΜΕΧΡΙ i ΜΕ_ΒΗΜΑ -1 ΑΝ (Πίνακας[j-1] > Πίνακας[j]) ΤΟΤΕ! αύξουσα ταξινόμηση ΚΑΛΕΣΕ Αντιμετάθεσε (Πίνακας[j-1], Πίνακας[j])! άσκηση 10 Υποπρογράμματα 14 Να υλοποιήσετε τον αλγόριθμο του πολλαπλασιασμού αλα ρωσικά σε πρόγραμμα γραμμένο σε ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑ Πολλαπλ_αλά_ρωσικά_Πρόγραμμα ΑΚΕΡΑΙΕΣ: Αριθμός1, Αριθμός2, Αποτέλεσμα ΓΡΑΨΕ 'Εισάγετε 2 ακέραιους θετικούς αριθμούς' ΔΙΑΒΑΣΕ Αριθμός1, Αριθμός2 Αποτέλεσμα < 0 ΟΣΟ (Αριθμός2 > 0) ΕΠΑΝΑΛΑΒΕ ΑΝ (Αριθμός2 MOD 2 = 1) ΤΟΤΕ Αποτέλεσμα < Αποτέλεσμα + Αριθμός1 ΚΑΛΕΣΕ Τροποποίηση_Μεταβλητών (Αριθμός1, Αριθμός2) ΓΡΑΨΕ 'Το αποτέλεσμα είναι: ', Αποτέλεσμα! ======================================================== ΔΙΑΔΙΚΑΣΙΑ Τροποποίηση_Μεταβλητών (Μ1, Μ2) ΑΚΕΡΑΙΕΣ: Μ1, Μ2 ΠΡΑΓΜΑΤΙΚΕΣ: βοηθητική M1 < M1 * 2 βοηθητική < M2 / 2 M2 < Α_Μ (βοηθητική) Υποπρογράμματα 15 5
Να αναπτύξετε πρόγραμμα που θα διαβάζει έναν ακέραιο αριθμό >100 και θα υπολογίζει και θα εκτυπώνει την τιμή της παράστασης: ΠΡΟΓΡΑΜΜΑ Παράσταση ΑΚΕΡΑΙΕΣ: μετρητής, κάτω_όριο, άνω_όριο, πλήθος, αριθμητής, παρονομαστής ΠΡΑΓΜΑΤΙΚΕΣ: άθροισμα _ΕΠΑΝΑΛΗΨΗΣ ΔΙΑΒΑΣΕ πλήθος ΜΕΧΡΙΣ_ΟΤΟΥ πλήθος > 0 ΚΑΙ πλήθος <= 100 άθροισμα < 0 ΓΙΑ μετρητής ΑΠΟ 1 ΜΕΧΡΙ πλήθος παρονομαστής < Παραγοντικό (μετρητής)! συνάρτηση που υπολογίζει το παραγοντικό άθροισμα < άθροισμα + μετρητής * (μετρητής ^ 2 / παρονομαστής) ΓΡΑΨΕ 'Η παράσταση είναι ', άθροισμα! ======================================================== ΣΥΝΑΡΤΗΣΗ Παραγοντικό (αριθμός): ΑΚΕΡΑΙΗ ΑΚΕΡΑΙΕΣ : αριθμός, εκτίμηση, i ΑΝ (αριθμός < 0) ΤΟΤΕ εκτίμηση <- -1! Η τιμή -1 θα ερμηνευτεί ως λάθος δεδομένο εισόδου εκτίμηση <- 1 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ αριθμός εκτίμηση <- εκτίμηση * i Παραγοντικό <- εκτίμηση Υποπρογράμματα 16 Να σχηματίσετε τον πίνακα τιμών του παρακάτω αλγορίθμου. Τι θα εκτυπωθεί; ΠΡΟΓΡΑΜΜΑ Πίνακας_Τιμών2 ΑΚΕΡΑΙΕΣ: Α, Β, Γ Α < 3 Β < 13 Γ < 2 ΚΑΛΕΣΕ Επεξεργασία_Τιμών2 (Β, Γ) ΚΑΛΕΣΕ Επεξεργασία_Τιμών2 (Γ, Α)! ========================================= ΔΙΑΔΙΚΑΣΙΑ Επεξεργασία_Τιμών2 (αριθμός1, αριθμός2) ΑΚΕΡΑΙΕΣ: αριθμός1, αριθμός2 αριθμός1 < αριθμός1 DIV 2 αριθμός2 < αριθμός2 ^ 3 Κυρίως Πρόγραμμα Κυρίως πρόγραμμα : 3 13 2 Υποπρόγραμμα Α Β Γ αριθμός1 αριθμός2 1 η κλήση διαδικασίας : 13 2 Εκτέλεση διαδικασίας : 6 8 Επιστροφή στο κυρίως πρόγραμμα : 3 6 8 2 η κλήση διαδικασίας : 8 3 Εκτέλεση διαδικασίας : 4 27 Επιστροφή στο κυρίως πρόγραμμα : 27 6 4 Στην πρώτη εντολή ΓΡΑΨΕ θα εκτυπωθούν οι τιμές: 3, 13, 2 Στην δεύτερη εντολή ΓΡΑΨΕ θα εκτυπωθούν οι τιμές: 3, 6, 8 Στην τρίτη εντολή ΓΡΑΨΕ θα εκτυπωθούν οι τιμές: 27, 6, 4 Υποπρογράμματα 17 Να σχηματίσετε τον πίνακα τιμών του παρακάτω αλγορίθμου. Τι θα εκτυπωθεί; 6 ΠΡΟΓΡΑΜΜΑ Πίνακας_Τιμών5 ΑΚΕΡΑΙΕΣ: Α, Β Α < 2 Β < 19 _ΕΠΑΝΑΛΗΨΗΣ ΚΑΛΕΣΕ Επεξεργασία_Τιμών5 (Β, Α) ΓΡΑΨΕ Α, Β ΜΕΧΡΙΣ_ΟΤΟΥ (Α > Β)
! ========================================= ΔΙΑΔΙΚΑΣΙΑ Επεξεργασία_Τιμών5 (αριθμός1, αριθμός2) ΑΚΕΡΑΙΕΣ: αριθμός1, αριθμός2 αριθμός1 < αριθμός1-2 αριθμός2 < αριθμός2 + 5 Κυρίως Πρόγραμμα Κυρίως πρόγραμμα : 2 19 1 η επανάληψη Υποπρόγραμμα Α Β αριθμός1 αριθμός2 1 η κλήση διαδικασίας : 19 2 Εκτέλεση διαδικασίας : 17 7 Επιστροφή στο κυρίως πρόγραμμα : 7 17 7 > 17 δεν ισχύει - 2 η επανάληψη 2 η κλήση διαδικασίας : 17 7 Εκτέλεση διαδικασίας : 15 12 Επιστροφή στο κυρίως πρόγραμμα : 12 15 12 > 15 δεν ισχύει - 3 η επανάληψη 3 η κλήση διαδικασίας : 12 Εκτέλεση διαδικασίας : 13 17 Επιστροφή στο κυρίως πρόγραμμα : 17 13 17 > 13 Ισχύει τέλος προγράμματος Στην πρώτη επανάληψη θα εκτυπωθούν οι τιμές: 7, 17 Στην δεύτερη επανάληψη θα εκτυπωθούν οι τιμές: 12, 15 Στην τρίτη επανάληψη θα εκτυπωθούν οι τιμές: 17, 13 7