kef10 b diadikasies
TRANSCRIPT
Πως γίνεται ο ορισμός μιας διαδικασίας; Να δοθούν σχετικά παραδείγματα.
ΔΙΑΔΙΚΑΣΙΑ Όνομα ( )
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
Τμήμα δηλώσεων μεταβλητών διαδικασίας
…..
ΑΡΧΗΕντολές
λίστα παραμέτρων
Κεφάλαιο 10οΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ
Οι διαδικασίεςμπορούν να εκτελέσουν
οποιαδήποτε λειτουργία και δεν επιστρέφουν μια τιμή
όπως οι συναρτήσεις.
Κάθε διαδικασία έχει την ακόλουθη δομή:
Συμπεραίνουμε τα εξής:
1. Το όνομα της διαδικασίας μπορεί να οποιοδήποτε έγκυρο όνομα της ΓΛΩΣΣΑΣ. 2. Η λίστα παραμέτρων είναι μια λίστα μεταβλητών , των οποίων οι τιμές μεταβιβάζονται στη διαδικασία , κατά τη κλήση της από το πρόγραμμα αλλά και επιστρέφονται στο κύριο πρόγραμμα μετά την εκτέλεση των εντολών της διαδικασίας.Ουσιαστικά πρόκειται για μεταβλητές εισόδου (δεδομένα) και εξόδου (αποτελέσματα).
3. Στο σώμα της διαδικασίας μπορούν να υπάρχουν οποιεσδήποτε εντολές της ΓΛΩΣΣΑΣ.4. Πριν από τη λέξη ΑΡΧΗΠου καθορίζει την αρχή της διαδικασίας ,δηλώνονται οι τύποι των μεταβλητών εισόδου,καθώς και οι τυχόν βοηθητικές μεταβλητές ή σταθερές που χρησιμοποιεί η διαδικασία.
Κεφάλαιο 10οΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ
παράδειγμα
Να γραφεί η διαδικασία , η οποία θα εμφανίζει τους ακεραίους αριθμούς από 1 ως 100.
ΔΙΑΔΙΚΑΣΙΑ Εμφάνιση_Αριθμών( )ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ : i
ΑΡΧΗ
ΤΕΛΟΣ_ΔΙΑΔΙΑΚΑΣΙΑΣ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 100
ΓΡΑΨΕ i
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Η διαδικασία δεν απαιτεί είσοδο , αφού οι αριθμοί που θα τυπωθούν είναι γνωστοί.Με τη βοήθεια μιας επανάληψης Για i από 1 μέχρι 100 , Θα εμφανιστούν οι αριθμοί.Η μεταβλητή i θα πρέπει να δηλωθεί στο τμήμα δηλώσεων της διαδικασίας , αφού είναι εσωτερική μεταβλητή.
Η διαδικασία λοιπόν είναι :
Να γραφεί η διαδικασία , η οποία θα δέχεται ως είσοδο δύο πραγματικές μεταβλητές και θα αντιμεταθέτει τις τιμές τους.
παράδειγμα
ΔΙΑΔΙΚΑΣΙΑ Αντιμετάθεση( α,β )ΜΕΤΑΒΛΗΤΕΣ
ΠΡΑΓΜΑΤΙΚΕΣ : α, β , temp
ΑΡΧΗ
ΤΕΛΟΣ_ΔΙΑΔΙΑΚΑΣΙΑΣ
temp ← α
α ← β
β ← temp
α,β γνωστές και στοκύριο πρόγραμμα
Κεφάλαιο 10οΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ
Η διαδικασία θα δέχεται ως είσοδο δύο τυχαίους αριθμούς α και β.Με τη χρήση μιας βοηθητικής μεταβλητής temp θα αντιμεταθέτει τις τιμές των δύο μεταβλητών. Οι νέες τιμές α και β θα είναι γνωστές και στο κύριο πρόγραμμα.
Η διαδικασία λοιπόν είναι :
Πως γίνεται η κλήση (χρήση) μιας διαδικασίας σε ένα πρόγραμμα;
ΚΑΛΕΣΕ Όνομα Διαδικασίας ( )λίστα-παραμέτρων
ΚΑΛΕΣΕ Αντιμετάθεση ( )α,β
Κεφάλαιο 10οΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ
Η κλήση μιας διαδικασίας από ένα πρόγραμμα γίνεται με την εντολή ΚΑΛΕΣΕη οποία έχει την εξής σύνταξη:
Η εντολή ΚΑΛΕΣΕ ακολουθείται από το όνομα της διαδικασίας ,συνοδευόμενο από τη λίστα παραμέτρων,
μέσα σε παρενθέσεις
Για παράδειγμα η Αντιμετάθεση του προηγούμενου παραδείγματοςμπορεί να προκληθεί στο κύριο πρόγραμμα με την εντολή
Κεφάλαιο 10οΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ
10.10
Να γραφεί διαδικασία που θα ζητά και θα διαβάζει ένα αριθμό από το πληκτρολόγιο.Η διαδικασία της ανάγνωσης θα γίνεται επαναληπτικά μέχρι να δοθεί σαν είσοδος θετική τιμή.
ΔΙΑΔΙΚΑΣΙΑ Είσοδος_Δεδομενων ( x ) ΜΕΤΑΒΛΗΤΕΣΠΡΑΓΜΑΤΙΚΕΣ : x
ΑΡΧΗ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣΓΡΑΨΕ ‘Δώσε έναν αριθμό’
ΔΙΑΒΑΣΕ x
ΜΕΧΡΙΣ_ΟΤΟΥ x > 0
Στο κύριο τμήμα της διαδικασίας θα υπάρχει μια δομή επανάληψης Αρχή_επανάληψης…Μέχρις_ότου, μέσα στην οποία θα διαβάζεται ένας αριθμός από το πληκτρολόγιο. Η διαδικασία της ανάγνωσης θα γίνεται επαναληπτικά μέχρι να δοθεί σαν είσοδος θετική τιμή.
Η διαδικασία θα επιστρέφει έναν αριθμό ως αποτέλεσμα.Συνεπώς ο αριθμός θα περνά ως παράμετρος στη διαδικασία για να μπορεί να επιστραφεί στο πρόγραμμα.
Η διαδικασία λοιπόν είναι :
Κεφάλαιο 10οΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ
10.11
Να γραφεί διαδικασία η οποία θα δέχεται ως είσοδο έναν πίνακα ακεραίων αριθμών και θα εμφανίζει τα στοιχεία του πίνακα για τα οποία ο δείκτης θέσης είναι άρτιος.
ΔΙΑΔΙΚΑΣΙΑ Στοιχεία_Πίνακα (Π ) ΜΕΤΑΒΛΗΤΕΣΑΚΕΡΑΙΕΣ :Π[100] , i
ΑΡΧΗ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
ΓΙΑ i ΑΠΌ 1 ΜΕΧΡΙ 100ΑΝ i mod 2 =0 ΤΟΤΕ
ΓΡΑΨΕ Π[i]
ΤΕΛΟΣ_ΑΝΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Η διαδικασία είναι :
Θα περνά ως παράμετρος στη διαδικασία ο πίνακας. για να μπορεί να επιστραφεί στο πρόγραμμα.
Κεφάλαιο 10οΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ
10.12
Να γραφεί ένα πρόγραμμα που θα διαβάζει έναν πίνακα 50 θέσεων και θα υπολογίζει τομέσο όρο των στοιχείων του. Η ανάγνωση των στοιχείων του πίνακα και ο υπολογισμός του μέσου όρου του να γίνεται με τη βοήθεια διαδικασίας και συνάρτησης αντίστοιχα. Η εισαγωγή των στοιχείων του πίνακα θα γίνεται με τη βοήθεια μιας διαδικασίας , ενώ ο υπολογισμός του μέσου όρου των στοιχείων του πίνακα θα γίνεται με τη βοήθεια μιας συνάρτησης . Και στις δύο περιπτώσεις ο πίνακας θα δίνεται ως παράμετρος στο υποπρόγραμμα.
Αρχικά θα καλείται η διαδικασία της εισαγωγής & κατόπιν η συνάρτηση υπολογισμού του μέσου όρου.
Το πρόγραμμα λοιπόν θα είναι:
ΠΡΟΓΡΑΜΜΑ Μέσος_Όρος_ΠίνακαΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ :Π[50]ΑΡΧΗ
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
ΚΑΛΕΣΕ Εισαγωγή_Στοιχείων(Π)
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣΓΡΑΨΕ ‘Ο μέσος όρος των στοιχείων είναι ’,
ΔΙΑΔΙΚΑΣΙΑ Εισαγωγή_Στοιχείων( Π )ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ : Π[50] , i
ΓΙΑ
ΑΡΧΗ
i ΑΠΟ 1 ΜΕΧΡΙ 50
ΓΡΑΨΕ ‘Δώσε το στοιχείο ’i
ΔΙΑΒΑΣΕ Π[ i ]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
ΣΥΝΑΡΤΗΣΗ Μέσος_Όρος
ΜΕΤΑΒΛΗΤΕΣΑΚΕΡΑΙΕΣ : Π[50] , i, άθροισμα
ΑΡΧΗάθροισμα← 0
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 50άθροισμα← άθροισμα + Π[ i ]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Μέσος_Όρος← άθροισμα/50
Μέσος_Όρος(Π)
Κλήση συνάρτησης
Κλήση Διαδικασίας
( Π ): ΠΡΑΓΜΑΤΙΚΟΣ
Το πρόγραμμα λοιπόν θα είναι:
Όνομα συνάρτησης
10.12
ΠΡΟΓΡΑΜΜΑ Μέσος_Όρος_ΠίνακαΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ :Π[50]ΑΡΧΗ
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
ΚΑΛΕΣΕ Εισαγωγή_Στοιχείων(Π)
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣΓΡΑΨΕ ‘Ο μέσος όρος των στοιχείων είναι ’,
ΔΙΑΔΙΚΑΣΙΑ Εισαγωγή_Στοιχείων( Π )ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ : Π[50] , i
ΓΙΑ
ΑΡΧΗ
i ΑΠΟ 1 ΜΕΧΡΙ 50
ΓΡΑΨΕ ‘Δώσε το στοιχείο ’,i
ΔΙΑΒΑΣΕ Π[ i ]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
ΣΥΝΑΡΤΗΣΗ Μέσος_Όρος
ΜΕΤΑΒΛΗΤΕΣΑΚΕΡΑΙΕΣ : Π[50] , i, άθροισμα
ΑΡΧΗάθροισμα← 0
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 50άθροισμα← άθροισμα + Π[ i ]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Μέσος_Όρος← άθροισμα/50
Μέσος_Όρος(Π)
( Π ): ΠΡΑΓΜΑΤΙΚΟΣΑναλύουμε πάντα τοπρόγραμμα σε τμήματα:1. Είσοδος Δεδομένων2. Υπολογισμός,3. Εμφάνιση
Αποτελεσμάτων
1. Είσοδος Δεδομένων
3. Εμφάνιση
2 Υπολογισμός
Το πρόγραμμα λοιπόν θα είναι:
10.12
2 Υπολογισμός
Να γραφεί ένα πρόγραμμα που θα διαβάζει δύο πίνακες 100 ακεραίων και θα βρίσκει και θα τυπώνει τα μέγιστα στοιχεία τους. Να γίνει χρήση συναρτήσεων και διαδικασιών.
Κεφάλαιο 10οΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ
10.13
Οι ενέργειες που πρέπει να γίνουν για κάθε πίνακα είναι:1. Εισαγωγή στοιχείων2. Υπολογισμός Μεγίστου. Το πρώτο τμήμα μπορεί να υλοποιηθεί ως μια διαδικασίακαι το δεύτερο ως μια συνάρτηση.
Το πρόγραμμα λοιπόν θα είναι:
ΠΡΟΓΡΑΜΜΑ Μέγιστο_ΣτοιχείοΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ :Α[100],Β[100]ΑΡΧΗΚΑΛΕΣΕ Εισαγωγή_Στοιχείων(Α)
ΓΡΑΨΕ ‘Το μέγιστο στοιχείο του πρώτου πίνακα είναι’, Μέγιστο(Α)
Κλήση συνάρτησης
Κλήση Διαδικασίας
ΚΑΛΕΣΕ Εισαγωγή_Στοιχείων(Β)ΓΡΑΨΕ ‘Το μέγιστο στοιχείο του δεύτερου πίνακα είναι’, Μέγιστο(Β)
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣΔΙΑΔΙΚΑΣΙΑ Εισαγωγή_Στοιχείων( Π )
ΜΕΤΑΒΛΗΤΕΣΑΚΕΡΑΙΕΣ : Π[100] , i
ΑΡΧΗΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 100
ΓΡΑΨΕ ‘Δώσε το στοιχείο ’i
ΔΙΑΒΑΣΕ Π[ i ]ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
ΣΥΝΑΡΤΗΣΗ Μέγιστο ( Π ): ΑΚΕΡΑΙΑΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ : Π[100] , i, maxΑΡΧΗmax← Π [1]
ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 100
AN Π[i] > max ΤΟΤΕmax ← Π[i]
ΤΕΛΟΣ_ΑΝΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣΜέγιστο← max
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
Το πρόγραμμα λοιπόν θα είναι:
Όνομασυνάρτησης
10.13
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 10ο
Να γραφεί το ακόλουθο πρόγραμμα με τη χρήση διαδικασιών.
ΠΡΟΓΡΑΜΜΑ Πρόσθεση_Πινάκων
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
ΜΕΤΑΒΛΗΤΕΣΑΚΕΡΑΙΕΣ: Α[100] , Β[100] , Γ[100] , i
ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 100
ΔΙΑΒΑΣΕ Α[ i ]ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 100ΔΙΑΒΑΣΕ Β[ i ]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 100
Γ[i]← Α[ i ]+Β[i]ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 100
ΕΜΦΑΝΙΣΕ Γ[ i ]ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
10.14
ΠΡΟΓΡΑΜΜΑ Πρόσθεση_ΠινάκωνΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ :Α[100], Β[100], Γ[100]ΑΡΧΗΚΑΛΕΣΕ Εισαγωγή_Στοιχείων(Α)
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
ΚΑΛΕΣΕ Εισαγωγή_Στοιχείων(Β)ΚΑΛΕΣΕ Άθροισμα(Α,Β,Γ) ! Ο Γ είναι ο πίνακας αποτέλεσμαΚΑΛΕΣΕ Εμφάνιση_Στοιχείων(Γ)
ΔΙΑΔΙΚΑΣΙΑ Εισαγωγή_Στοιχείων( Π )ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ :Π[100]
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 100ΓΡΑΨΕ ‘Δώσε το στοιχείο ’iΔΙΑΒΑΣΕ Π[ i ]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣΔΙΑΔΙΚΑΣΙΑ Άθροισμα(Α,Β,Γ )ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ :Α[100] ,Β[100],Γ[100],i
ΑΡΧΗ
ΑΡΧΗΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 100
Γ[ i ]←A[ i ] + B[ i ] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣΕμφάνιση_Στοιχείων(Γ)ΔΙΑΔΙΚΑΣΙΑ
ΜΕΤΑΒΛΗΤΕΣΑΚΕΡΑΙΕΣ :Π[100] , iΑΡΧΗΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 100
ΓΡΑΨΕ Π[ i ]ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
Κεφάλαιο 10οΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ
10.14
α)Να γραφεί συνάρτηση που θα υπολογίζει το πλήθος της εμφάνισης της λέξης “Αλγόριθμος”. Η συνάρτηση θα δέχεται ως είσοδος ένα πίνακα 200 λέξεων.β)Να γραφεί διαδικασία που θα διαβάζει έναν πίνακα 200 θέσεων που περιέχει λέξεις.γ)Να γραφεί πρόγραμμα που με χρήση των υποπρογραμμάτων των προηγούμενων υποερωτημάτων θα εμφανίζει το πλήθος και το ποσοστό της εμφάνισης της λέξης “Αλγόριθμος” σε ένα πίνακα 200 θέσεων.
ΣΥΝΑΡΤΗΣΗ Συχνότητα (Π) :ΑΚΕΡΑΙΑΜΕΤΑΒΛΗΤΕΣΑΚΕΡΑΙΕΣ : i,πλήθος
ΑΡΧΗ
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
πλήθος ← 0
Η μεταβλητή δεν έχει το ίδιοόνομα με τη συνάρτηση
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 200
ΑΝ Π[i]=‘ Αλγόριθμος’ TOTE
πλήθος ← πλήθος+1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣΣυχνότητα ← πλήθος
ΧΑΡΑΚΤΗΡΕΣ :Π[200]α) Η συνάρτηση είναι:
Όνομα συνάρτησης
α)Να γραφεί συνάρτηση που θα υπολογίζει το πλήθος της εμφάνισης της λέξης “Αλγόριθμος”. Η συνάρτηση θα δέχεται ως είσοδος ένα πίνακα 200 λέξεων.β)Να γραφεί διαδικασία που θα διαβάζει έναν πίνακα 200 θέσεων που περιέχει λέξεις.γ)Να γραφεί πρόγραμμα που με χρήση των υποπρογραμμάτων των προηγούμενων υποερωτημάτων θα εμφανίζει το πλήθος και το ποσοστό της εμφάνισης της λέξης “Αλγόριθμος” σε ένα πίνακα 200 θέσεων.
10.14
ΔΙΑΔΙΚΑΣΙΑ Εισαγωγή_Στοιχείων (Π ) ΜΕΤΑΒΛΗΤΕΣΑΚΕΡΑΙΕΣ : i
ΑΡΧΗ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
ΓΙΑ i ΑΠΌ 1 ΜΕΧΡΙ 200
ΔΙΑΒΑΣΕ Π[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΧΑΡΑΚΤΗΡΕΣ :Π[200]
Κεφάλαιο 10οΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ
β) Η διαδικασία είναι:
α)Να γραφεί συνάρτηση που θα υπολογίζει το πλήθος της εμφάνισης της λέξης “Αλγόριθμος”. Η συνάρτηση θα δέχεται ως είσοδος ένα πίνακα 200 λέξεων.β)Να γραφεί διαδικασία που θα διαβάζει έναν πίνακα 200 θέσεων που περιέχει λέξεις.γ)Να γραφεί πρόγραμμα που με χρήση των υποπρογραμμάτων των προηγούμενων υποερωτημάτων θα εμφανίζει το πλήθος και το ποσοστό της εμφάνισης της λέξης “Αλγόριθμος” σε ένα πίνακα 200 θέσεων.
ΠΡΟΓΡΑΜΜΑ ΥπολογισμόςΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ :σ
ΑΡΧΗ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
ΠΡΑΓΜΑΤΙΚΕΣ :πΧΑΡΑΚΤΗΡΕΣ :Π[200]
σ ← Συχνότητα(Π)π ← σ*100/200
ΓΡΑΨΕ σ,π
Κεφάλαιο 10οΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ
γ) Το πρόγραμμα είναι:
10.14
Χρησιμοποιώντας την κατάλληλη μορφή υποπρογράμματος , να γραφεί ως υποπρόγραμμα ο αλγόριθμος αλά ρώσικα με είσοδο ακεραίους Μ1,Μ2.
Ο πολλαπλασιασμός αλά Ρωσικά υπολογίζει το γινόμενο δύο αριθμών .
Βασίζεται στην ολίσθηση και περιλαμβάνει:• Πολλαπλασιασμό επί δύο και• Διαίρεση δια δύο.
1ο Βήμα:Κατασκευάζουμε έναν πίνακα με τρειςστήλες και γράφουμε στις δύο πρώτεςστήλες τον 1ο και 2ο αριθμό.
12 1024 5
2
2ο Βήμα:Διπλασιάζουμε τον 1ο αριθμόΥποδιπλασιάζουμε τον 2ο αριθμό
3ο Βήμα:Ελέγχουμε αν στη δεύτερη στήλη το αποτέλεσμα είναι 1. Αν είναι πάμε στο 4ο Βήμα.Αλλιώς επαναλαμβάνουμε το 2ο και 3ο βήμα. Επαναλαμβάνω το 2ο και 3ο βήμα.
48196
4ο Βήμα: Στην τρίτη στήληγράφουμε τον αντίστοιχο αριθμότης πρώτηςμε την προϋπόθεση ότι στη δεύτερη στήλη ο αριθμός είναι περιττός.
24
96
5ο Βήμα: Προσθέτουμε τα νούμερα της τρίτης στήλης .
120
Το αποτέλεσμα της πρόσθεσης , είναι το γινόμενο των δύο αριθμών
12 10
x
120
Κεφάλαιο 10οΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ
10.14
Χρησιμοποιώντας την κατάλληλη μορφή υποπρογράμματος , να γραφεί ως υποπρόγραμμα ο αλγόριθμος αλά ρώσικα με είσοδο ακεραίους Μ1,Μ2.
ΣΥΝΑΡΤΗΣΗ Γινόμενο (Μ1,Μ2) :ΑΚΕΡΑΙΑΜΕΤΑΒΛΗΤΕΣΑΚΕΡΑΙΕΣ : Μ1,Μ2,άθροισμα
ΑΡΧΗ
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
άθροισμα ← 0
ΟΣΟΜ2 > 0 ΕΠΑΝΕΛΑΒΕ
ΑΝ Μ2 mod 2 =1 TOTE
άθροισμα ← άθροισμα+Μ1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
γινόμενο ← άθροισμα
Η συνάρτηση είναι:
Μ1 ← (Μ1)*2
Μ2 ← (Μ2)div 2
Αλγόριθμος Πολλαπλασιασμός_Αλά_Ρώσικα
Τέλος Πολλαπλασιασμός_Αλά_Ρώσικα
α2 > 0
Εμφάνισε “Δώσε 2 αριθμούς”
Όσο επανέλαβε
πλήθος← 0
άθροισμα←άθροισμα + α1
α1←α1*2
Διάβασε α1,α2
Αν α2 mod 2=1 τότε
Εμφάνισε
Τέλος_αν
άθροισμα
Τέλος_επανάληψηςα2←α2div2
Κεφάλαιο 10οΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ
10.14
Όνομα συνάρτησης
Τι εμφανίζει το ακόλουθο τμήμα προγράμματος, το οποίο χρησιμοποιεί τη συνάρτηση ABC(x,y) ;
….. …… ….x ← 10
ΓΙΑ y ΑΠΟ 1 ΜΕΧΡΙ 10 ΜΕ_ΒΗΜΑ 3
ΑΝ Χ+Υ>15 TOTEΖ ← ABC(X,Y)
ΑΛΛΙΩΣΖ ← Χ mod Y
ΤΕΛΟΣ_ΑΝΓΡΑΨΕ Χ+Υ,Υ-Ζ,ΖΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΣΥΝΑΡΤΗΣΗ ABC(X,Y): ΑΚΕΡΑΙΑΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ : X,Y,AΑΡΧΗ
ΑΝ Χ=<Y TOTEA ← 2*X-10
ΑΛΛΙΩΣA ← 2*X+1
ΤΕΛΟΣ_ΑΝABC ← A
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
Υ Χ Ζ ΕμφανίζεταιΠίνακας Προγράμματος
101 0 10 ,1 , 0
Κεφάλαιο 10οΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ
Όνομα συνάρτησης
Επειδή είναι δύσκολο να θυμόμαστε τις τιμές των μεταβλητών, θα κατασκευάσουμε ένα πίνακα τιμών
για το πρόγραμμα και ένα άλλο για το υποπρόγραμμα.
10.15
Τι εμφανίζει το ακόλουθο τμήμα προγράμματος, το οποίο χρησιμοποιεί τη συνάρτηση ABC(x,y) ;
….. …… ….x ← 10
ΓΙΑ y ΑΠΟ 1 ΜΕΧΡΙ 10 ΜΕ_ΒΗΜΑ 3
ΑΝ Χ+Υ>15 TOTEΖ ← ABC(X,Y)
ΑΛΛΙΩΣΖ ← Χ mod Y
ΤΕΛΟΣ_ΑΝΓΡΑΨΕ Χ+Υ,Υ-Ζ,ΖΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΣΥΝΑΡΤΗΣΗ ABC(X,Y): ΑΚΕΡΑΙΑΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ : X,Y,AΑΡΧΗ
ΑΝ Χ=<Y TOTEA ← 2*X-10
ΑΛΛΙΩΣA ← 2*X+1
ΤΕΛΟΣ_ΑΝABC ← A
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
Υ Χ Ζ ΕμφανίζεταιΠίνακας Προγράμματος
101 0 10 ,1 , 04 2 12 ,2 , 2
Κεφάλαιο 10οΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ
Επειδή είναι δύσκολο να θυμόμαστε τις τιμές των μεταβλητών, θα κατασκευάσουμε ένα πίνακα τιμών
για το πρόγραμμα και ένα άλλο για το υποπρόγραμμα.
10.15
Τι εμφανίζει το ακόλουθο τμήμα προγράμματος, το οποίο χρησιμοποιεί τη συνάρτηση ABC(x,y) ;
….. …… ….x ← 10
ΓΙΑ y ΑΠΟ 1 ΜΕΧΡΙ 10 ΜΕ_ΒΗΜΑ 3
ΑΝ Χ+Υ>15 TOTEΖ ← ABC(X,Y)
ΑΛΛΙΩΣΖ ← Χ mod Y
ΤΕΛΟΣ_ΑΝΓΡΑΨΕ Χ+Υ,Υ-Ζ,ΖΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΣΥΝΑΡΤΗΣΗ ABC(X,Y): ΑΚΕΡΑΙΑΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ : X,Y,AΑΡΧΗ
ΑΝ Χ=<Y TOTEA ← 2*X-10
ΑΛΛΙΩΣA ← 2*X+1
ΤΕΛΟΣ_ΑΝABC ← A
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
Υ Χ Ζ ΕμφανίζεταιΠίνακας Προγράμματος
101 0 10 ,1 , 04 2 12 ,2 , 2
7
A ← 2*10+1
ABC ← 21
Z ← 21
21
X Y A ΑποτέλεσμαΠίνακας Συνάρτησης
710 21 21
31 ,-14 , 21
Κεφάλαιο 10οΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ
Επειδή είναι δύσκολο να θυμόμαστε τις τιμές των μεταβλητών, θα κατασκευάσουμε ένα πίνακα τιμών
για το πρόγραμμα και ένα άλλο για το υποπρόγραμμα.
10.15
Τι εμφανίζει το ακόλουθο τμήμα προγράμματος, το οποίο χρησιμοποιεί τη συνάρτηση ABC(x,y) ;
….. …… ….x ← 10
ΓΙΑ y ΑΠΟ 1 ΜΕΧΡΙ 10 ΜΕ_ΒΗΜΑ 3
ΑΝ Χ+Υ>15 TOTEΖ ← ABC(X,Y)
ΑΛΛΙΩΣΖ ← Χ mod Y
ΤΕΛΟΣ_ΑΝΓΡΑΨΕ Χ+Υ,Υ-Ζ,ΖΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΣΥΝΑΡΤΗΣΗ ABC(X,Y): ΑΚΕΡΑΙΑΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ : X,Y,AΑΡΧΗ
ΑΝ Χ=<Y TOTEA ← 2*X-10
ΑΛΛΙΩΣA ← 2*X+1
ΤΕΛΟΣ_ΑΝABC ← A
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
Υ Χ Ζ ΕμφανίζεταιΠίνακας Προγράμματος
101 0 10 ,1 , 04 2 12 ,2 , 2
7
A ← 2*10-10
ABC ← 10
Z ← 10
21
X Y A ΑποτέλεσμαΠίνακας Συνάρτησης
710 21 21
31 ,-14 , 2110
1010 10
20 , 0 , 10
Κεφάλαιο 10οΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ
Επειδή είναι δύσκολο να θυμόμαστε τις τιμές των μεταβλητών, θα κατασκευάσουμε ένα πίνακα τιμών
για το πρόγραμμα και ένα άλλο για το υποπρόγραμμα.
10.15