kef10 b diadikasies

22
Πως γίνεται ο ορισμός μιας διαδικασίας; Να δοθούν σχετικά παραδείγματα. ΔΙΑΔΙΚΑΣΙΑ Όνομα ( ) ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ Τμήμα δηλώσεων μεταβλητών διαδικασίας ….. ΑΡΧΗ Εντολές λίστα παραμέτρων Κεφάλαιο 10 ο ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Οι διαδικασίες μπορούν να εκτελέσουν οποιαδήποτε λειτουργία και δεν επιστρέφουν μια τιμή όπως οι συναρτήσεις. Κάθε διαδικασία έχει την ακόλουθη δομή: Συμπεραίνουμε τα εξής: 1. Το όνομα της διαδικασίας μπορεί να οποιοδήποτε έγκυρο όνομα της ΓΛΩΣΣΑΣ. 2. Η λίστα παραμέτρων είναι μια λίστα μεταβλητών , των οποίων οι τιμές μεταβιβάζονται στη διαδικασία , κατά τη κλήση της από το πρόγραμμα αλλά και επιστρέφονται στο κύριο πρόγραμμα μετά την εκτέλεση των εντολών της διαδικασίας. Ουσιαστικά πρόκειται για μεταβλητές εισόδου (δεδομένα) και εξόδου (αποτελέσματα). 3. Στο σώμα της διαδικασίας μπορούν να υπάρχουν οποιεσδήποτε εντολές της ΓΛΩΣΣΑΣ. 4. Πριν από τη λέξη ΑΡΧΗ Που καθορίζει την αρχή της διαδικασίας , δηλώνονται οι τύποι των μεταβλητών εισόδου, καθώς και οι τυχόν βοηθητικές μεταβλητές ή σταθερές που χρησιμοποιεί η διαδικασία.

Upload: mnikol

Post on 15-Jan-2017

138 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Kef10 b diadikasies

Πως γίνεται ο ορισμός μιας διαδικασίας; Να δοθούν σχετικά παραδείγματα.

ΔΙΑΔΙΚΑΣΙΑ Όνομα ( )

ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

Τμήμα δηλώσεων μεταβλητών διαδικασίας

…..

ΑΡΧΗΕντολές

λίστα παραμέτρων

Κεφάλαιο 10οΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ

Οι διαδικασίεςμπορούν να εκτελέσουν

οποιαδήποτε λειτουργία και δεν επιστρέφουν μια τιμή

όπως οι συναρτήσεις.

Κάθε διαδικασία έχει την ακόλουθη δομή:

Συμπεραίνουμε τα εξής:

1. Το όνομα της διαδικασίας μπορεί να οποιοδήποτε έγκυρο όνομα της ΓΛΩΣΣΑΣ. 2. Η λίστα παραμέτρων είναι μια λίστα μεταβλητών , των οποίων οι τιμές μεταβιβάζονται στη διαδικασία , κατά τη κλήση της από το πρόγραμμα αλλά και επιστρέφονται στο κύριο πρόγραμμα μετά την εκτέλεση των εντολών της διαδικασίας.Ουσιαστικά πρόκειται για μεταβλητές εισόδου (δεδομένα) και εξόδου (αποτελέσματα).

3. Στο σώμα της διαδικασίας μπορούν να υπάρχουν οποιεσδήποτε εντολές της ΓΛΩΣΣΑΣ.4. Πριν από τη λέξη ΑΡΧΗΠου καθορίζει την αρχή της διαδικασίας ,δηλώνονται οι τύποι των μεταβλητών εισόδου,καθώς και οι τυχόν βοηθητικές μεταβλητές ή σταθερές που χρησιμοποιεί η διαδικασία.

Page 2: Kef10 b diadikasies

Κεφάλαιο 10οΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ

παράδειγμα

Να γραφεί η διαδικασία , η οποία θα εμφανίζει τους ακεραίους αριθμούς από 1 ως 100.

ΔΙΑΔΙΚΑΣΙΑ Εμφάνιση_Αριθμών( )ΜΕΤΑΒΛΗΤΕΣ

ΑΚΕΡΑΙΕΣ : i

ΑΡΧΗ

ΤΕΛΟΣ_ΔΙΑΔΙΑΚΑΣΙΑΣ

ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 100

ΓΡΑΨΕ i

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Η διαδικασία δεν απαιτεί είσοδο , αφού οι αριθμοί που θα τυπωθούν είναι γνωστοί.Με τη βοήθεια μιας επανάληψης Για i από 1 μέχρι 100 , Θα εμφανιστούν οι αριθμοί.Η μεταβλητή i θα πρέπει να δηλωθεί στο τμήμα δηλώσεων της διαδικασίας , αφού είναι εσωτερική μεταβλητή.

Η διαδικασία λοιπόν είναι :

Page 3: Kef10 b diadikasies

Να γραφεί η διαδικασία , η οποία θα δέχεται ως είσοδο δύο πραγματικές μεταβλητές και θα αντιμεταθέτει τις τιμές τους.

παράδειγμα

ΔΙΑΔΙΚΑΣΙΑ Αντιμετάθεση( α,β )ΜΕΤΑΒΛΗΤΕΣ

ΠΡΑΓΜΑΤΙΚΕΣ : α, β , temp

ΑΡΧΗ

ΤΕΛΟΣ_ΔΙΑΔΙΑΚΑΣΙΑΣ

temp ← α

α ← β

β ← temp

α,β γνωστές και στοκύριο πρόγραμμα

Κεφάλαιο 10οΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ

Η διαδικασία θα δέχεται ως είσοδο δύο τυχαίους αριθμούς α και β.Με τη χρήση μιας βοηθητικής μεταβλητής temp θα αντιμεταθέτει τις τιμές των δύο μεταβλητών. Οι νέες τιμές α και β θα είναι γνωστές και στο κύριο πρόγραμμα.

Η διαδικασία λοιπόν είναι :

Page 4: Kef10 b diadikasies

Πως γίνεται η κλήση (χρήση) μιας διαδικασίας σε ένα πρόγραμμα;

ΚΑΛΕΣΕ Όνομα Διαδικασίας ( )λίστα-παραμέτρων

ΚΑΛΕΣΕ Αντιμετάθεση ( )α,β

Κεφάλαιο 10οΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ

Η κλήση μιας διαδικασίας από ένα πρόγραμμα γίνεται με την εντολή ΚΑΛΕΣΕη οποία έχει την εξής σύνταξη:

Η εντολή ΚΑΛΕΣΕ ακολουθείται από το όνομα της διαδικασίας ,συνοδευόμενο από τη λίστα παραμέτρων,

μέσα σε παρενθέσεις

Για παράδειγμα η Αντιμετάθεση του προηγούμενου παραδείγματοςμπορεί να προκληθεί στο κύριο πρόγραμμα με την εντολή

Page 5: Kef10 b diadikasies

Κεφάλαιο 10οΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ

10.10

Να γραφεί διαδικασία που θα ζητά και θα διαβάζει ένα αριθμό από το πληκτρολόγιο.Η διαδικασία της ανάγνωσης θα γίνεται επαναληπτικά μέχρι να δοθεί σαν είσοδος θετική τιμή.

ΔΙΑΔΙΚΑΣΙΑ Είσοδος_Δεδομενων ( x ) ΜΕΤΑΒΛΗΤΕΣΠΡΑΓΜΑΤΙΚΕΣ : x

ΑΡΧΗ

ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣΓΡΑΨΕ ‘Δώσε έναν αριθμό’

ΔΙΑΒΑΣΕ x

ΜΕΧΡΙΣ_ΟΤΟΥ x > 0

Στο κύριο τμήμα της διαδικασίας θα υπάρχει μια δομή επανάληψης Αρχή_επανάληψης…Μέχρις_ότου, μέσα στην οποία θα διαβάζεται ένας αριθμός από το πληκτρολόγιο. Η διαδικασία της ανάγνωσης θα γίνεται επαναληπτικά μέχρι να δοθεί σαν είσοδος θετική τιμή.

Η διαδικασία θα επιστρέφει έναν αριθμό ως αποτέλεσμα.Συνεπώς ο αριθμός θα περνά ως παράμετρος στη διαδικασία για να μπορεί να επιστραφεί στο πρόγραμμα.

Η διαδικασία λοιπόν είναι :

Page 6: Kef10 b diadikasies

Κεφάλαιο 10οΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ

10.11

Να γραφεί διαδικασία η οποία θα δέχεται ως είσοδο έναν πίνακα ακεραίων αριθμών και θα εμφανίζει τα στοιχεία του πίνακα για τα οποία ο δείκτης θέσης είναι άρτιος.

ΔΙΑΔΙΚΑΣΙΑ Στοιχεία_Πίνακα (Π ) ΜΕΤΑΒΛΗΤΕΣΑΚΕΡΑΙΕΣ :Π[100] , i

ΑΡΧΗ

ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

ΓΙΑ i ΑΠΌ 1 ΜΕΧΡΙ 100ΑΝ i mod 2 =0 ΤΟΤΕ

ΓΡΑΨΕ Π[i]

ΤΕΛΟΣ_ΑΝΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Η διαδικασία είναι :

Θα περνά ως παράμετρος στη διαδικασία ο πίνακας. για να μπορεί να επιστραφεί στο πρόγραμμα.

Page 7: Kef10 b diadikasies

Κεφάλαιο 10οΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ

10.12

Να γραφεί ένα πρόγραμμα που θα διαβάζει έναν πίνακα 50 θέσεων και θα υπολογίζει τομέσο όρο των στοιχείων του. Η ανάγνωση των στοιχείων του πίνακα και ο υπολογισμός του μέσου όρου του να γίνεται με τη βοήθεια διαδικασίας και συνάρτησης αντίστοιχα. Η εισαγωγή των στοιχείων του πίνακα θα γίνεται με τη βοήθεια μιας διαδικασίας , ενώ ο υπολογισμός του μέσου όρου των στοιχείων του πίνακα θα γίνεται με τη βοήθεια μιας συνάρτησης . Και στις δύο περιπτώσεις ο πίνακας θα δίνεται ως παράμετρος στο υποπρόγραμμα.

Αρχικά θα καλείται η διαδικασία της εισαγωγής & κατόπιν η συνάρτηση υπολογισμού του μέσου όρου.

Το πρόγραμμα λοιπόν θα είναι:

Page 8: Kef10 b diadikasies

ΠΡΟΓΡΑΜΜΑ Μέσος_Όρος_ΠίνακαΜΕΤΑΒΛΗΤΕΣ

ΑΚΕΡΑΙΕΣ :Π[50]ΑΡΧΗ

ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

ΚΑΛΕΣΕ Εισαγωγή_Στοιχείων(Π)

ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣΓΡΑΨΕ ‘Ο μέσος όρος των στοιχείων είναι ’,

ΔΙΑΔΙΚΑΣΙΑ Εισαγωγή_Στοιχείων( Π )ΜΕΤΑΒΛΗΤΕΣ

ΑΚΕΡΑΙΕΣ : Π[50] , i

ΓΙΑ

ΑΡΧΗ

i ΑΠΟ 1 ΜΕΧΡΙ 50

ΓΡΑΨΕ ‘Δώσε το στοιχείο ’i

ΔΙΑΒΑΣΕ Π[ i ]

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

ΣΥΝΑΡΤΗΣΗ Μέσος_Όρος

ΜΕΤΑΒΛΗΤΕΣΑΚΕΡΑΙΕΣ : Π[50] , i, άθροισμα

ΑΡΧΗάθροισμα← 0

ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 50άθροισμα← άθροισμα + Π[ i ]

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Μέσος_Όρος← άθροισμα/50

Μέσος_Όρος(Π)

Κλήση συνάρτησης

Κλήση Διαδικασίας

( Π ): ΠΡΑΓΜΑΤΙΚΟΣ

Το πρόγραμμα λοιπόν θα είναι:

Όνομα συνάρτησης

10.12

Page 9: Kef10 b diadikasies

ΠΡΟΓΡΑΜΜΑ Μέσος_Όρος_ΠίνακαΜΕΤΑΒΛΗΤΕΣ

ΑΚΕΡΑΙΕΣ :Π[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 Υπολογισμός

Page 10: Kef10 b diadikasies

Να γραφεί ένα πρόγραμμα που θα διαβάζει δύο πίνακες 100 ακεραίων και θα βρίσκει και θα τυπώνει τα μέγιστα στοιχεία τους. Να γίνει χρήση συναρτήσεων και διαδικασιών.

Κεφάλαιο 10οΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ

10.13

Οι ενέργειες που πρέπει να γίνουν για κάθε πίνακα είναι:1. Εισαγωγή στοιχείων2. Υπολογισμός Μεγίστου. Το πρώτο τμήμα μπορεί να υλοποιηθεί ως μια διαδικασίακαι το δεύτερο ως μια συνάρτηση.

Το πρόγραμμα λοιπόν θα είναι:

Page 11: Kef10 b diadikasies

ΠΡΟΓΡΑΜΜΑ Μέγιστο_ΣτοιχείοΜΕΤΑΒΛΗΤΕΣ

ΑΚΕΡΑΙΕΣ :Α[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

Page 12: Kef10 b diadikasies

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 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 ]ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

Page 13: Kef10 b diadikasies

Κεφάλαιο 10οΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ

10.14

α)Να γραφεί συνάρτηση που θα υπολογίζει το πλήθος της εμφάνισης της λέξης “Αλγόριθμος”. Η συνάρτηση θα δέχεται ως είσοδος ένα πίνακα 200 λέξεων.β)Να γραφεί διαδικασία που θα διαβάζει έναν πίνακα 200 θέσεων που περιέχει λέξεις.γ)Να γραφεί πρόγραμμα που με χρήση των υποπρογραμμάτων των προηγούμενων υποερωτημάτων θα εμφανίζει το πλήθος και το ποσοστό της εμφάνισης της λέξης “Αλγόριθμος” σε ένα πίνακα 200 θέσεων.

ΣΥΝΑΡΤΗΣΗ Συχνότητα (Π) :ΑΚΕΡΑΙΑΜΕΤΑΒΛΗΤΕΣΑΚΕΡΑΙΕΣ : i,πλήθος

ΑΡΧΗ

ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

πλήθος ← 0

Η μεταβλητή δεν έχει το ίδιοόνομα με τη συνάρτηση

ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 200

ΑΝ Π[i]=‘ Αλγόριθμος’ TOTE

πλήθος ← πλήθος+1

ΤΕΛΟΣ_ΑΝ

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣΣυχνότητα ← πλήθος

ΧΑΡΑΚΤΗΡΕΣ :Π[200]α) Η συνάρτηση είναι:

Όνομα συνάρτησης

Page 14: Kef10 b diadikasies

α)Να γραφεί συνάρτηση που θα υπολογίζει το πλήθος της εμφάνισης της λέξης “Αλγόριθμος”. Η συνάρτηση θα δέχεται ως είσοδος ένα πίνακα 200 λέξεων.β)Να γραφεί διαδικασία που θα διαβάζει έναν πίνακα 200 θέσεων που περιέχει λέξεις.γ)Να γραφεί πρόγραμμα που με χρήση των υποπρογραμμάτων των προηγούμενων υποερωτημάτων θα εμφανίζει το πλήθος και το ποσοστό της εμφάνισης της λέξης “Αλγόριθμος” σε ένα πίνακα 200 θέσεων.

10.14

ΔΙΑΔΙΚΑΣΙΑ Εισαγωγή_Στοιχείων (Π ) ΜΕΤΑΒΛΗΤΕΣΑΚΕΡΑΙΕΣ : i

ΑΡΧΗ

ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

ΓΙΑ i ΑΠΌ 1 ΜΕΧΡΙ 200

ΔΙΑΒΑΣΕ Π[i]

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΧΑΡΑΚΤΗΡΕΣ :Π[200]

Κεφάλαιο 10οΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ

β) Η διαδικασία είναι:

Page 15: Kef10 b diadikasies

α)Να γραφεί συνάρτηση που θα υπολογίζει το πλήθος της εμφάνισης της λέξης “Αλγόριθμος”. Η συνάρτηση θα δέχεται ως είσοδος ένα πίνακα 200 λέξεων.β)Να γραφεί διαδικασία που θα διαβάζει έναν πίνακα 200 θέσεων που περιέχει λέξεις.γ)Να γραφεί πρόγραμμα που με χρήση των υποπρογραμμάτων των προηγούμενων υποερωτημάτων θα εμφανίζει το πλήθος και το ποσοστό της εμφάνισης της λέξης “Αλγόριθμος” σε ένα πίνακα 200 θέσεων.

ΠΡΟΓΡΑΜΜΑ ΥπολογισμόςΜΕΤΑΒΛΗΤΕΣ

ΑΚΕΡΑΙΕΣ :σ

ΑΡΧΗ

ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ΠΡΑΓΜΑΤΙΚΕΣ :πΧΑΡΑΚΤΗΡΕΣ :Π[200]

σ ← Συχνότητα(Π)π ← σ*100/200

ΓΡΑΨΕ σ,π

Κεφάλαιο 10οΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ

γ) Το πρόγραμμα είναι:

10.14

Page 16: Kef10 b diadikasies

Χρησιμοποιώντας την κατάλληλη μορφή υποπρογράμματος , να γραφεί ως υποπρόγραμμα ο αλγόριθμος αλά ρώσικα με είσοδο ακεραίους Μ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

Page 17: Kef10 b diadikasies

Χρησιμοποιώντας την κατάλληλη μορφή υποπρογράμματος , να γραφεί ως υποπρόγραμμα ο αλγόριθμος αλά ρώσικα με είσοδο ακεραίους Μ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

Όνομα συνάρτησης

Page 18: Kef10 b diadikasies

Τι εμφανίζει το ακόλουθο τμήμα προγράμματος, το οποίο χρησιμοποιεί τη συνάρτηση 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

Page 19: Kef10 b diadikasies

Τι εμφανίζει το ακόλουθο τμήμα προγράμματος, το οποίο χρησιμοποιεί τη συνάρτηση 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

Page 20: Kef10 b diadikasies

Τι εμφανίζει το ακόλουθο τμήμα προγράμματος, το οποίο χρησιμοποιεί τη συνάρτηση 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

Page 21: Kef10 b diadikasies

Τι εμφανίζει το ακόλουθο τμήμα προγράμματος, το οποίο χρησιμοποιεί τη συνάρτηση 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

Page 22: Kef10 b diadikasies

Επικοινωνία:[email protected]

Σπύρος ΖυγούρηςΚαθηγητής Πληροφορικής

Κεφάλαιο 10οΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ