Professional Documents
Culture Documents
ΚΕΦΑΛΑΙΟ 10
Μάθημα 24
ΚΑΡΑΧΡΗΣΤΟΣ ΧΡΙΣΤΟΦΟΡΟΣ
ΤΗΛ.6947345322, 6987070028
email: xristoforos_karachristos@hotmail.com
https://sites.google.com/site/aeppkx
ΚΕΦΑΛΑΙΟ 10Ο ΚΑΡΑΧΡΗΣΤΟΣ ΧΡΙΣΤΟΦΟΡΟΣ
Απάντηση:
Η δήλωση μιας διαδικασίας ξεκινάει γράφοντας την λέξη ΔΙΑΔΙΚΑΣΙΑ ακολουθούμενη από το όνομά της
και τις παραμέτρους που θα δεχτεί, αλλά και αυτές που θα επιστρέφει. Όλα αυτά αποτελούν την επικεφαλίδα
της διαδικασίας.
Το όνομα της διαδικασίας είναι ένα οποιοδήποτε έγκυρο όνομα της ΓΛΩΣΣΑΣ.
Η λίστα των παραμέτρων είναι μία λίστα με μεταβλητές των οποίων οι τιμές μεταβιβάζονται στη διαδικασία
κατά την κλήση της (είσοδος) και επιστρέφονται από αυτήν στο τμήμα προγράμματος που την κάλεσε
(έξοδος).
Στο τμήμα δηλώσεων δηλώνονται οι μεταβλητές και οι σταθερές που χρησιμοποιούνται στη διαδικασία,
καθώς και οι παράμετροί της. Είναι αντίστοιχο με το τμήμα δηλώσεων ενός προγράμματος σε ΓΛΩΣΣΑ.
Το τμήμα προγράμματος μεταξύ των λέξεων ΑΡΧΗ και ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ αποτελεί το τμήμα
εντολών της διαδικασίας.
Απάντηση:
Μια διαδικασία εκτελείται, όταν καλείται από το κύριο πρόγραμμα ή από ένα άλλο υποπρόγραμμα· Η κλήση της
διαδικασίας πραγματοποιείται με την εντολή ΚΑΛΕΣΕ, ακολουθούμενη από το όνομα της διαδικασίας,
συνοδευόμενο μέσα σε παρενθέσεις από των παραμέτρων. Η σύνταξη της εντολής είναι:
Πραγματικές παράμετροι είναι αυτές που χρησιμοποιούνται κατά την κλήση ενός υποπρογράμματος, ενώ τυπικές
παράμετροι είναι αυτές που χρησιμοποιούνται στη δήλωση του υποπρογράμματος. Οι πραγματικές παράμετροι
ονομάζονται απλώς παράμετροι, ενώ οι τυπικές παράμετροι ονομάζονται ορίσματα.
ΚΑΝΟΝΕΣ ΠΑΡΑΜΕΤΡΩΝ
• 0 αριθμός των πραγματικών και των τυπικών παραμέτρων πρέπει να είναι ο ίδιος.
• Κάθε πραγματική παράμετρος αντιστοιχεί στην τυπική παράμετρο που βρίσκεται στην αντίστοιχη θέση,
δηλαδή η πρώτη πραγματική στην πρώτη τυπική κ,λπ.
• Η πραγματική παράμετρος και η αντίστοιχη τυπική πρέπει να είναι ιδίου τύπου.
2
ΚΕΦΑΛΑΙΟ 10Ο ΚΑΡΑΧΡΗΣΤΟΣ ΧΡΙΣΤΟΦΟΡΟΣ
Απάντηση:
α. Εννοούμε ότι οι μεταβλητές έχουν ισχύ, δηλαδή είναι γνωστές και μπορούν να χρησιμοποιηθούν, μόνο στο τμήμα
προγράμματος που έχουν δηλωθεί. Ισχύουν, δηλαδή, τοπικά μόνο για το συγκεκριμένο υποπρόγραμμα ή κύριο
πρόγραμμα,
β. Ναι. Από τη στιγμή που οι μεταβλητές έχουν ισχύ τοπικά, μπορεί να υπάρχουν δύο διαφορετικές μεταβλητές με
ίδιο όνομα, π.χ. μεταβλητή Γ στο κύριο πρόγραμμα και μεταβλητή Γ σε ένα υποπρόγραμμα. Η κάθε μία μεταβλητή
χρήσιμο ποιείται μόνο στο συγκεκριμένο τμήμα προγράμματος.
ΠΑΡΑΤΗΡΗΣΕΙΣ
Μια διαδικασία επιστρέφει περισσότερες από μία τιμές μέσω των παραμέτρων της.
Μια διαδικασία, από τη στιγμή που τη δημιουργούμε, μπορούμε να την καλέσουμε όσες φορές θέλουμε.
Οι λειτουργίες μιας συνάρτησης μπορούν να γίνουν από μια διαδικασία, ενώ το αντίστροφο δεν γίνεται.
Όταν για μια άσκηση πρέπει να δημιουργήσουμε υποπρόγραμμα που πρέπει να επιστρέφει περισσότερες από
μία τιμές ή πίνακα, να διαβάζει δεδομένα ή να εμφανίζει αποτελέσματα τότε πρέπει να χρησιμοποιήσουμε
διαδικασία. Όταν απαιτείται η διενέργεια πράξεων και η επιστροφή μιας τιμής, τότε μπορούμε να
χρησιμοποιήσουμε συνάρτηση.
ΕΡΩΤΗΣΕΙΣ ΑΝΑΠΤΥΞΗΣ
ΣΩΣΤΟ - ΛΑΘΟΣ
24.5. Να σημειώσετε αν είναι σωστή ή λανθασμένη η κάθε μία από τις παρακάτω προτάσεις, βάζοντας σε κύκλο
το αντίστοιχο γράμμα Σ ή Λ.
1. Η διαδικασία είναι ο τύπος υποπρογράμματος που εκτελεί όλες τις λειτουργίες ενός προγράμματος.
2. Μια διαδικασία καλείται γράφοντας το όνομά της σε μια έκφραση.
3. Μια διαδικασία μπορεί να κληθεί από μια άλλη διαδικασία.
4. Όταν ένα υποπρόγραμμα καλείται από διαφορετικά σημεία του προγράμματος, οι πραγματικές παράμετροι
πρέπει να είναι οι ίδιες.
5. Στη διαδικασία, η λίστα παραμέτρων είναι υποχρεωτική.
6. Είναι δυνατόν μια διαδικασία να επιστρέφει περισσότερες από μία τιμές μέσω των παραμέτρων της.
7. Η λίστα των πραγματικών παραμέτρων καθορίζει τις παραμέτρους στην κλήση του υποπρογράμματος.
8. Σε μια διαδικασία, δύο διαφορετικές μεταβλητές με ίδιο όνομα μπορεί να υπάρχουν.
9. Κατά την κλήση ενός υποπρογράμματος η πραγματική παράμετρος και η αντίστοιχη τυπική της είναι
δυνατόν να έχουν το ίδιο όνομα.
10. Όταν ένα υποπρόγραμμα καλείται από το κύριο πρόγραμμα, η διεύθυνση επιστροφής αποθηκεύεται από τον
μεταφραστή σε μια ουρά.
11. Ο τρόπος κλήσης των διαδικασιών και των συναρτήσεων είναι ίδιος, ενώ ο τρόπος σύνταξής τους είναι
διαφορετικός.
12. Η κάθε πραγματική παράμετρος υποχρεωτικά δηλώνεται ως μεταβλητή στο τμήμα δηλώσεων του
υποπρογράμματος.
3
ΚΕΦΑΛΑΙΟ 10Ο ΚΑΡΑΧΡΗΣΤΟΣ ΧΡΙΣΤΟΦΟΡΟΣ
24.8. Επιλέξτε τις σωστές απαντήσεις βάζοντας σε κύκλο όσα γράμματα χρειάζονται:
Μια διαδικασία:
α. Επιστρέφει πάντα μία μόνο τιμή μέσω των παραμέτρων της.
β. Υπάρχει περίπτωση να μην επιστρέφει καμία τιμή.
γ. Μπορεί να καλέσει μια συνάρτηση.
δ. Μπορεί να εκτελέσει όλες τις λειτουργίες μιας συνάρτησης.
ε. Μπορεί να κληθεί μόνο από το κύριο πρόγραμμα.
στ. Μπορούμε να την καλέσουμε από μια άλλη διαδικασία ή μια συνάρτηση
ζ. Έχει μία είσοδο και μία έξοδο.
24.10. Δίνεται το διπλανό τμήμα προγράμματος και το υποπρόγραμμα. Επιλέξτε ποιες από τις προτάσεις που
ακολουθούν είναι σωστές, βάζοντας σε κύκλο όσα γράμματα χρειάζονται.
ΠΡΟΓΡΑΜΜΑ Π1
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: X, Υ
ΑΡΧΗ
ΔΙΑΒΑΣΕ X, Υ
ΚΑΛΕΣΕ Πράξεις(Χ, Υ)
ΓΡΑΨΕ Χ,Υ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Π1
ΔΙΑΔΙΚΑΣΙΑ Πράξεις( A, Β)
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: A, Β
ΑΡΧΗ
Α←Α+3
Β←Β-1
ΤΕΛΟΣ ΔΙΑΔΙΚΑΣΙΑΣ
24.15. Να γράψετε αλγόριθμο σε ψευδογλώσσα που θα εκτελεί την ίδια λειτουργία με το πρόγραμμα που ακολουθεί.
ΙΡΟΓΡΑΜΜΑ Παράδειγμα
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: A, Β
ΑΡΧΗ
ΔΙΑΒΑΣΕ A
Β ← Έλεγχος(Α)
ΓΡΑΨΕ Β
ΚΑΛΕΣΕ Πράξεις(Α, Β)
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Παράδειγμα
ΔΙΑΔΙΚΑΣΙΑ Πράξεις(Α,Β)
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: Α, Β, Γ
ΠΡΑΓΜΑΤΙΚΕΣ:Γ
ΑΡΧΗ
4
ΚΕΦΑΛΑΙΟ 10Ο ΚΑΡΑΧΡΗΣΤΟΣ ΧΡΙΣΤΟΦΟΡΟΣ
Γ←0
ΓΙΑ Ι ΑΠΟ Α ΜΕΧΡΙ Β
Γ ← Γ+Β/(Α+Ι^3)
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ Γ
ΤΕΛΟΣ ΔΙΑΔΙΚΑΣΙΑΣ
ΕΜΦΑΝΙΣΗΣ ΤΙΜΩΝ
α)
Α←2
Β←3
ΓΡΑΨΕ A, Β
ΚΑΛΕΣΕ Υπολογισμός(Α, Β, Γ)
ΓΡΑΨΕ Γ
ΔΙΑΔΙΚΑΣΙΑ Υπολογισμός(Α, Β, Γ)
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: X, Υ
ΑΡΧΗ
Γ←Β-Α
ΤΕΛΟΣ ΔΙΑΔΙΚΑΣΙΑΣ
β)
Α←4
Β←1
ΓΡΑΨΕ A, Β
ΚΑΛΕΣΕ Υπολογισμός(Α, Β)
ΓΡΑΨΕ A, Β
ΔΙΑΔΙΚΑΣΙΑ Υπολογισμός(Α, Β)
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: A, Β
ΑΡΧΗ
A←Α-2
Β←Β+4
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
ΠΡΟΓΡΑΜΜΑ Κύριο
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: A, Β, Γ
ΑΡΧΗ
ΔΙΑΒΑΣΕ Α, Β, Γ
ΚΑΛΕΣΕ Διαδ1(Α, Β, Γ)
ΓΡΑΨΕ A, Β, Γ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Κύριο
ΔΙΑΔΙΚΑΣΙΑ Διαδ1(Β, Α, Γ)
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: A, Β, Γ
ΑΡΧΗ
Α←Α + 2
Β ← Β-3
Γ←Α+Β
ΓΡΑΨΕ A, Β, Γ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
Τι θα εμφανιστεί κατά την εκτέλεση του προγράμματος, αν ως τιμές εισόδου δοθούν οι αριθμοί 5, 7, 10;
5
ΚΕΦΑΛΑΙΟ 10Ο ΚΑΡΑΧΡΗΣΤΟΣ ΧΡΙΣΤΟΦΟΡΟΣ
ΠΡΟΓΡΑΜΜΑ
Κλήση_Υποπρογραμμάτων
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: α, β, χ
ΑΡΧΗ
α←1
β←2
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ α <= 4 ΤΟΤΕ
ΚΑΛΕΣΕ Διαδ1(α, β, χ)
ΑΛΛΙΩΣ
χ ← Συν1 (α, β)
ΤΕΛΟΣ_ΑΝ
ΓΡΑΨΕ α, β, χ
ΜΕΧΡΙΣ_ΟΤΟΥ χ > 11
ΓΡΑΨΕ χ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Να γράψετε στο τετράδιό σας τις τιμές που θα εμφανιστούν κατά την εκτέλεση του προγράμματος.
24.25. Να γραφεί διαδικασία που θα δέχεται έναν ακέραιο αριθμό και θα επιστρέφει το μισό του αριθμού.
24.26. Να γραφεί διαδικασία που θα δέχεται τρεις πραγματικούς αριθμούς και θα επιστρέφει το άθροισμά τους.
24.27. Να γραφεί διαδικασία που θα διαβάζει τρεις ακέραιους αριθμούς και θα επιστρέφει τον μέσο όρο τους.
24.28. Να γραφεί διαδικασία που θα δέχεται την τιμή ενός προϊόντος σε ευρώ, θα υπολογίζει το ποσό Φ.Π.Α. 23%
που αντιστοιχεί στην τιμή, θα το προσθέτει στην τιμή και θα εμφανίζει τη νέα τιμή.
24.29. Η δεξαμενή πετρελαίου ενός εργοστασίου είναι χωρητικότητας X λίτρων. Αν η δεξαμενή είναι κατά τα 3/4
γεμάτη, να γραφεί διαδικασία που θα δέχεται τη χωρητικότητα X της δεξαμενής και θα τυπώνει πόσα λίτρα πετρέλαιο
έχει η δεξαμενή.
24.33. Να γραφεί πρόγραμμα που:
α. θα διαβάζει δύο ακέραιους αριθμούς,
β. θα καλεί διαδικασία που θα δέχεται τους δύο ακέραιους αριθμούς και θα επιστρέφει το γινόμενό τους,
γ. θα εμφανίζει το γινόμενο των δύο αριθμών
24.34. Στην πιτσαρία «ΓΩΝΙΑ» το κάθε είδος ατομικής πίτσας στοιχίζει 6 ευρώ. Να γραφεί πρόγραμμα σε
ΓΛΩΣΣΑ που:
24.35. Σε μια ποδοσφαιρική ακαδημία μικρών παιδιών, τα 3/8 των παιδιών επιλέχτηκαν για να συμμετάσχουν σε ένα
τουρνουά ποδοσφαίρου. Να γραφεί πρόγραμμα σε ΓΛΩΣΣΑ που:
6
ΚΕΦΑΛΑΙΟ 10Ο ΚΑΡΑΧΡΗΣΤΟΣ ΧΡΙΣΤΟΦΟΡΟΣ
24.36. Να γραφεί διαδικασία που θα διαβάζει 50 αριθμούς και θα επιστρέφει το άθροισμά τους.
24.38. Ένας κτηνοτρόφος είχε 200 αρνιά και 150 κατσίκια. Να γραφεί πρόγραμμα σε ΓΛΩΣΣΑ που:
α. Θα διαβάζει πόσα αρνιά και πόσα κατσίκια πούλησε την περίοδο του Πάσχα
β. Θα καλεί διαδικασία που θα δέχεται τον αριθμών των αρνιών και των κατσικιών που πούλησε και θα επιστρέφει
πόσα αρνιά και πόσα κατσίκια περίσσεψαν.
γ. Θα εμφανίζει τον αριθμό των αρνιών και των κατοικιών που περίσσεψαν στον κτηνοτρόφο.
24.41. Μία εμπορική εταιρεία ανήκει σε τρεις μετόχους με τον κάθε έναν από αυτούς να έχει διαφορετικό ποσοστό
μετοχών της εταιρείας. Οι τρεις μέτοχοι αποφασίσανε να πουλήσουν την εταιρεία και να λάβει ο καθένας το
χρηματικό ποσό που του αναλογεί ανάλογα με το ποσοστό που κατέχει. Αν η εταιρεία πουλήθηκε στο ποσό των
10.000.000 €, να γραφεί πρόγραμμα το οποίο:
α. Θα καλεί τη διαδικασία ΕΙΣΑΓΩΓΗ, που θα διαβάζει και θα επιστρέφει το ποσοστό που έχει ο κάθε μέτοχος στην
εταιρεία, β. Θα καλεί τη διαδικασία ΠΟΣΟ που θα δέχεται το ποσοστό του κάθε μετόχου και θα υπολογίζει και θα
εμφανίζει το χρηματικό ποσό που αναλογεί στον κάθε μέτοχο από την πώληση της εταιρείας, γ. Να δημιουργήσετε τα
παραπάνω υποπρογράμματα.
Θεωρήστε ότι το ποσοστό που διαβάζεται είναι εκφρασμένο επί τοις εκατό, π.χ. 0.3 που αντιστοιχεί σε 30%.
24.43. Για τον καθαρισμό και την απολύμανση μιας πισίνας ρίχνεται μέσα στο νερό ένα χημικό με τη μορφή
στερεού σώματος. Το στερεό αυτό σώμα μόλις έρθει σε επαφή με το νερό αρχίζει αμέσως να διαλύεται χάνοντας
βάρος ίσο με 3% τη μάζα του ανά δευτερόλεπτο.
Εάν ο ρυθμός διάλυσης του χημικού είναι σταθερός, να υλοποιήσετε τη διαδικασία ΠΙΣΙΝΑ, που θα δέχεται το βάρος
του στερεού σώματος σε γραμμάρια θα εμφανίζει μετά από πόσο χρόνο θα διαλυθεί τελείως. Ο χρόνος θα
εμφανίζεται σε μορφή «ώρα: λεπτά: δευτερόλεπτα».
24.46. Ένα εργοστάσιο παραγωγής ζωοτροφών έχει αποθηκευμένα σε τρία μεγάλα σιλό 10 τόνους καλαμπόκι στο
πρώτο, 8 τόνους σιτάρι στο δεύτερο και 6 τόνους κριθάρι στο τρίτο. Με την ανάμειξη των τριών αυτών υλικών
παράγει τρεις τύπους ζωοτροφών:
• τον τύπο «Α», που περιέχει 50% καλαμπόκι, 30% σιτάρι και 20% κριθάρι
• τον τύπο «Β», που περιέχει 40% καλαμπόκι, 30% σιτάρι και 30% κριθάρι
• τον τύπο «Γ», που περιέχει 30% καλαμπόκι, 50% σιτάρι και 20 % κριθάρι.
Οι ζωοτροφές διατίθενται προς πώληση στο αγοραστικό κοινό, αρκεί ο κάθε ενδιαφερόμενος να επιλέξει τον τύπο και
την ποσότητα σε κιλά της ζωοτροφής που επιθυμεί να αγοράσει. Να γραφεί πρόγραμμα σε ΓΛΩΣΣΑ που: α. Για κάθε
έναν πελάτη που πηγαίνει στο εργοστάσιο:
1. να καλεί διαδικασία που θα διαβάζει και θα επιστρέφει τον αριθμό των κιλών και τον τύπο της ζωοτροφής
που επιθυμεί να αγοράσει,
2. να καλεί διαδικασία που δέχεται τον τύπο και τα κιλά της ζωοτροφής τα οποία επιθυμεί να αγοράσει και να
επιστρέφει τον αριθμό των κιλών από την κάθε μία πρώτη ύλη (καλαμπόκι, σιτάρι, κριθάρι) που περιέχει η ζωοτροφή
που αγόρασε.
θεωρήστε ότι σε κάθε σιλό υπάρχει η απαιτούμενη ποσότητα σε κιλά του κάθε υλικού. Το εργοστάσιο θα εξυπηρετεί
πελάτες, μέχρι να αδειάσει ένα από τα τρία σιλό.