Professional and reliable web hosting reviews and hosting guide. InMotion Reviews and testimonials customer ratings.

Κεφάλαιο 6ο

Print
Category: Uncategorised
Published Date
Written by Super User Hits: 1649

Βασικές έννοιες του Προγράμματος, σύντομη ιστορική αναδρομή, αναφορά σε γλώσσες, είδη και τεχνικές προγραμματισμού, καθώς και βασικές αρχές υλοποίησης αλγορίθμου σε προγραμματιστικά περιβάλλοντα.
 
Ερωτήσεις

1)      Τι περιλαμβάνει η επίλυση προβλήματος με Υπολογιστή; (3 στάδια) (σελ. 105)

2)      Τι είναι πρόγραμμα; και τι οι γλώσσες προγραμματισμού ; (σελ. 105)

3)      ΓΛΩΣΣΕΣ  ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ – Συμπληρώστε το πίνακα (σελ. 107-114):

 

Γλώσσα Προγρ/σμού

Είδος Προγραμματισμού

Πιθανές Εφαρμογές τους

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 Ποιες οι Γενιές Γλωσσών Προγραμματισμού;

1η : Γλώσσες Μηχανής – Η/Υ, έχουμε απευθείας εκτέλεση εντολών

2η : Γλώσσες Χαμηλού ΕπιπέδουAssembly,

α) θα μεταφραστούν (από τον Assembler) και μετά θα εκτελεστούν οι εντολές τους.

β) είναι στενά συνδεδεμένες με την Αρχιτεκτονική του κάθε Υπολογιστή.

γ) δεν διαθέτουν εντολές σύνθετων λειτουργιών.

δ) δεν μπορούν (τα προγράμματα γραμμένα σε αυτές) να μεταφερθούν σε διαφορετικό Υπολογιστή.

                   3η : Υψηλού Επιπέδου.

C, FORTRAN, COBOL, ALGOL, BASIC, PASCAL, LISP, PROLOG, 

JAVA, VISUALBASIC, C++, DELPHIκαι

4η : για Βάσεις Δεδομένων : SQL (Access), Informics, Oracleκ.α.

 

4)      Από τι προσδιορίζεται μια Γλώσσα Προγραμματισμού; (σελ. 115)

5)      Ποια τα πλεονεκτήματα των Γλωσσών Υψηλού Επιπέδου; (σελ. 113)

6)      Πως προσδιορίζονται οι γλώσσες 4ης γενιάς; (σελ. 113)

7)      Αναφέρετε σύντομα από τι αποτελείται η γραμματική μιας γλώσσας (σελ. 115)

8)      Ποια η βασική διαφορά μεταξύ Φυσικών και Τεχνητών γλωσσών; (σελ. 116)

9)      Ποιες τεχνικές σχεδίασης προγραμμάτων γνωρίζετε; (ονομαστικά) (σελ. 116)

10)  Γιατί δεν πρέπει να χρησιμοποιούμε την εντολή GOTO στο δομημένο προγραμματισμό; (σελ. 118)

11)    Τι γνωρίζετε για τον αντικειμενοστραφή προγραμματισμό; (εκτός ύλης)

12)   Τι γνωρίζετε για τον Παράλληλο προγραμματισμό; (εκτός ύλης)

13)  Ο δομημένος προγραμματισμός είναι απλώς ένα είδος προγραμματισμού; (ή και μια μεθοδολογία σύνταξης προγραμμάτων;) (σελ. 119)

14)  Σε ποίες δομές στηρίζεται ο δομημένος προγραμματισμός; (σελ. 119)

15)  Ο όρος δομημένος προγραμματισμός εμπεριέχει την ιεραρχική σχεδίαση και τον τμηματικό προγραμματισμό; (σελ. 119)

16)  Ποια τα Πλεονεκτήματα του Δομημένου Προγραμματισμού; (σελ. 119)

17)  Τι είναι πηγαίο (source) πρόγραμμα και τι αντικείμενο (object) πρόγραμμα; (σελ. 121)

18)  Ποια η διαφορά Μεταγλωττιστή (Compiler) και Διερμηνευτή (Interpreter) ; (σελ 121)

19)  Ποιος ο ρόλος του Συνδέτη (Linker); (σελ. 121)

20)  Τι είναι ή πως δημιουργείται ένα εκτελέσιμο πρόγραμμα; (σελ. 121-122)

21)  Τι είναι ο συντάκτης (editor) και γιατί χρησιμοποιείται; (σελ. 122).

Αλγόριθμος

Print
Category: Uncategorised
Published Date
Written by Super User Hits: 3329

Λίγα λόγια για την έννοια του Αλγόριθμου.

Τι είναι ο Αλγόριθμος.; και πώς πήρε το όνομα αυτό.;

Τον 9ου  αιώνα στη Βαγδάτης είχε ιδρυθεί μια ακαδημία που λεγόταν Εστία της Σοφίας και στην οποία συγκεντρώνονταν όλοι οι μαθηματικοί  Άραβες. Ένας από αυτούς ήταν και ο Al-Khwarizmi (Αλ Χουαρίζμι), όπου από το όνομά του προήλθε στη συνέχεια ο όρος “Αλγόριθμος”. Η μελέτη του Πέρση μαθηματικού σχετιζόταν με την αυτοματοποίηση –τυποποίηση των λύσεων σε αλγεβρικά κυρίως προβλήματα.

Αργότερα η μελέτη αυτή μεταφράστηκε στα Λατινικά και άρχιζε με τη φράση ‘Algorithmi dixit ’ (δηλ. ο Αλγόριθμος είπε …), όπου σιγά-σιγά  στα επόμενα 1000 χρόνια καθιερώθηκε λεκτικά και εννοιολογικά. Τον σύγχρονο προσδιορισμό του τον οφείλει στη ραγδαία ανάπτυξη των ηλεκτρονικών υπολογιστών τα τελευταία 50 με 60 περίπου χρόνια.

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

Οι ενέργειες –τα βήματα που θα κάνουμε πρέπει να :

α) να είναι σε μια καθορισμένη σειρά

β) το πλήθος τους να είναι πεπερασμένο

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

Προφανώς, η προηγούμενη σειρά εκτέλεσης των βημάτων οδηγεί στο επιθυμητό αποτέλεσμα. Δεν είναι όμως η μοναδική για την επίτευξη του σκοπού, αφού μπορεί να αλλάξει η σειρά των βημάτων (π.χ. πρώτα να τοποθετήσει τις πόρτες και μετά τα παράθυρα, ή πρώτα την παροχή του νερού και μετά του ρεύματος ). Όμως αν αλλάξει τη σειρά δημιουργίας των ορόφων (δηλ. να φτιάξει πρώτα τον 2ο και μετά τον 1ο όροφο) δεν θα φτάσει ποτέ στο επιθυμητό αποτέλεσμα. Ωστόσο το νόημα είναι πως η κατάτμηση μιας σύνθετης εργασίας σε διακριτά βήματα που εκτελούνται διαδοχικά, είναι ο πιο πρακτικός τρόπος επίλυσης πολλών προβλημάτων.

Καθημερινά ο άνθρωπος εκτελεί ‘ Αλγοριθμικά ’ όλες του τις ενέργειες, τις πράξεις, τις διαδικασίες συνειδητά ή όχι. Με άλλα λόγια προγραμματίζει ή προσπαθεί να προγραμματίσει τις ενέργειες του για να λειτουργήσει ο ίδιος καλύτερα και να αποδώσουν οι ενέργειές του το επιθυμητό αποτέλεσμα (το κατά δύναμιν). Πολλές φορές έχουμε παρατηρήσει ότι όταν γνωρίζουμε εκ των προτέρων τι ακριβώς πρέπει να κάνουμε για  να καταφέρουμε, να δημιουργήσουμε, να πετύχουμε, να φτάσουμε ‘κάτι’, πόσο σίγουροι είμαστε και λειτουργούμε με αυτοπεποίθηση. Το αντίθετο συμβαίνει όταν δεν έχουμε συνειδητοποιήσει, δεν έχουμε καθορίσει τι ακριβώς πρέπει να κάνουμε για επιτευχθεί ‘κάτι’ (π.χ. κάποιο έργο), οπότε οδηγούμαστε σε λάθος αποτέλεσμα ή αδυναμία πραγματοποίησης του ‘κάτι’.

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

Αυτός είναι ο λόγος που η Αλγοριθμική σχετίζεται άμεσα με τον Προγραμματισμό. Ο Προγραμματισμός γίνεται - υλοποιείται μέσω διαφόρων τρόπων, όπου ένας απ' αυτούς είναι μέσω των γνωστών Γλωσσών Προγραμματισμού σε Ηλεκτρονικό Υπολογιστή. Αν δεν υπάρξει Αλγόριθμος δεν μπορεί να πραγματοποιηθεί Προγραμματισμός.

Η Αλγοριθμική είναι ένα καθημερινό φαινόμενο από τα αρχαία χρόνια.

Ουσιαστικά ο Αγλόριθμος είναι κάτι ιδεατό, άϋλο, είναι κάτι που έχουμε οργανώσει στη σκέψη μας, στο μυαλό μας και μπορεί να εκφραστεί - αναπαρασταθεί - να περιγραφεί με πολλούς τρόπους. Ο εγκλέφαλός μας έχει καταχωρήσει πολλούς αλγόριθμους και τους εκτελεί καθημερινά, αυτοματοποιημένα, χωρίς πολλές φορές να μας γίνεται αντιληπτό αυτό.

Μπορείτε να σκεφτήτε πόσα πράγματα από την καθημερινή σας ζωή κάνετε αυτόματα και να καταγράψετε τα βήματα που αποτελούνται...(στο υποσυνείδητό σας) ; Σίγουρα ναι. Π.χ. τη σειρά βημάτων που κάνετε για να ετοιμαστείτε για την εργασία σας.

 

 

 

Κεφάλαιο 1ο

Print
Category: Uncategorised
Published Date
Written by Super User Hits: 2472

Βασικές έννοιες προβλήματος. Απαιτήσεις - Κατανόηση και Δομή προβλήματος.

Στάδια αντιμετώπισης προβλήματος, Κατηγορίες Προβλημάτων.
 
Ερωτήσεις που σας βοηθούν να μάθετε εύκολα και γρήγορα τις βασικές έννοιες του 1ου κεφαλαίου, υποδεικνύοντας τη σελίδα του βιβλίου που θα βρείτε τη σωστή απάντηση :
 

1) Τι είναι πρόβλημα; (σελ.15)

2) Τι είναι δεδομένο;  τι είναι πληροφορία; και τι δηλώνει ο όρος ‘επεξεργασία δεδομένων’; (σελ.19)

3) Τι εννοούμε με τον όρο Δομή Προβλήματος; (σελ.19)

4) Η κατανόηση ενός προβλήματος αποτελεί συνάρτηση 2 παραγόντων, ποιών ; (σελ. 17)

5) Τι είναι Σαφήνεια Διατύπωσης ενός προβλήματα;  Δώστε ένα δικό σας παράδειγμα για να προσδιορίσετε αυτή την έννοια. (σελ. 17-18)

6) Ο Καθορισμός Απαιτήσεων προϋποθέτει …. και απαιτεί …… (σελ. 21)

7) Να αναφέρετε με τη σωστή σειρά τα Στάδια Αντιμετώπισης ενός προβλήματος. (σελ. 25)

8) Με ποια κριτήρια κατηγοριοποιούμε τα προβλήματα; (σελ. 25-26)

9) Ποιες κατηγορίες γνωρίζετε με βάση για κάθε ένα κριτήριο ξεχωριστά; (σελ.25-26)

10) Μόνο εφόσον ένα πρόβλημα είναι επιλύσιμο, μπορεί να ανήκει βάσει των κριτηρίων : [ με το βαθμό δόμησης και το είδος της επίλυσης που επιζητά ] και σε μια κατηγορία τους από το κάθε κριτήριο. (Σωστό ή Λάθος;). Επίσης δώστε από ένα παράδειγμα για κάθε κατηγορία προβλήματος.

11) Γιατί χρησιμοποιούμε Η/Υ για την επίλυση ενός προβλήματος; (σελ. 28)

12) Ποιες λειτουργίες μπορεί να κάνει ένας Η/Υ;  (σελ. 28)

Κεφάλαιο 2ο+3ο

Print
Category: Uncategorised
Published Date
Written by Super User Hits: 1722

Ερωτήσεις που σας βοηθούν να μάθετε εύκολα και γρήγορα τις βασικές έννοιες του 2ου και 3ου κεφαλαίου, υποδεικνύοντας τη σελίδα του βιβλίου που θα βρείτε τη σωστή απάντηση
 

1)      Τι είναι αλγόριθμος; - Ορισμός (σελ. 33)

2)      Ποια κριτήρια πρέπει να ικανοποιεί κάθε αλγόριθμος; (σελ. 33)

3)      Για κάθε κριτήριο δώστε μια σύντομη περιγραφή και ένα παράδειγμα.

4)      Από ποιες σκοπιές η Πληροφορική ως επιστήμη μελετά τους αλγόριθμους; (σελ. 34). (Εκτός Ύλης)

5)      Ποιους τρόπους περιγραφής – αναπαράστασης αλγορίθμου γνωρίζετε; (σελ. 35)

6)      Ποιες δομές αλγορίθμου που χρησιμοποιούμε – γνωρίζετε; Δώστε και τις υποκατηγορίες των δομών επιλογής και επανάληψης (ονομαστικά).

7)      Να περιγράψετε τη δομή εμφωλευμένης επιλογής και να δοθεί παράδειγμα.

8)      Να καταγράψετε τη σύνταξη και τις διαφορές που χαρακτηρίζουν τις 3 δομές επανάληψης.

 

9)      Τι είναι μεταβλητή;  «Είναι μια θέση μνήμης (γλωσσικό αντικείμενο, που χρησιμοποιείται για να παραστήσει ένα στοιχείο δεδομένου) της οποίας το περιεχόμενο (δηλ. η τιμή της), μπορεί να αλλάξει κατά τη διάρκεια εκτέλεσης του αλγορίθμου, ενώ το όνομα και ο τύπος της παραμένουν ως είχαν οριστεί εξαρχής.

10)  Τι είναι οι Σταθερές, οι τελεστές και οι εκφράσεις (σελ. 37)

11)   Να καταγράψετε τους αριθμητικούς και λογικούς τελεστές.

12)  Μεταβλητές α)εισόδου είναι : ……………………………… β)εξόδου είναι : ………... γ)Βοηθητικές ή Ενδιάμεσες είναι : …………………………….

13)  Περιγράψτε την έννοια της ΟΛΙΣΘΗΣΗΣ (σελ. 48)

14)  Τι πρέπει να ισχύει ώστε να μπορεί να εκτελεστεί μια εντολή εκχώρησης τιμής;

15)  Ποια η διαφορά των εντολών εισόδου τιμής και εκχώρησης τιμής:

 α) Διάβασε Χ και   β) X ή X Α ή Χ Χ+Β ;

16)  Τι είναι μια Δομή Δεδομένων; - Ορισμός (σελ. 56)

17)  Από ποιες σκοπιές η Πληροφορική ως επιστήμη μελετά τα δεδομένα; (σελ.55). Αναφερθείτε σύντομα σε κάθε μια..

18)  Γιατί αλγόριθμοι + δομές δεδομένων = πρόγραμμα; «Επειδή η δομή είναι ένα σύνολο αποθηκευμένων δεδομένων κατά συστηματικό τρόπο, που υφίσταται επεξεργασία από ένα σύνολο λειτουργιών, και οι αλγόριθμοι προσδιορίζουν – εκφράζουν τις λειτουργίες αυτές, προκύπτει ότι και οι έννοιες μαζί θεωρούνται ως μια αδιάσπαστη ενότητα, για τη δημιουργία ενός προγράμματος». Άλλωστε από τους ορισμούς των δομών δεδομένων και του αλγορίθμου προκύπτει ότι πρόγραμμα είναι η υλοποίηση του αλγορίθμου με τρόπο κατανοητό από τον Η/Υ (δηλ. σε μια γλώσσα προγραμματισμού). (σελ. 57).

19)  Ποιες οι κατηγορίες Δομών Δεδομένων; (Στατικές + Δυναμικές). Δώστε τους αντίστοιχους ορισμούς τους.(σελ. 57-58) και να κάνετε την σωστή αντιστοιχία :

Δομές δεδομένων

Αποθήκευση σε ….

Δυναμικές

Συνεχόμενες θέσεις μνήμης

Στατικές

Δυναμική παραχώρηση μνήμης

20)  Ποιες οι Βασικές λειτουργίες (πράξεις) επί των Δομών Δεδομένων; (είναι 8 – σελ. 58)

21)  Ποιες οι Βασικές λειτουργίες (πράξεις) επί των ΣΤΑΤΙΚΩΝ Δομών Δεδομένων; (είναι 6 )

22)  Ποιες από τις Βασικές λειτουργίες (πράξεις) των Δομών Δεδομένων, είναι μόνο για τις ΔΥΝΑΜΙΚΕΣ Δομές Δεδομένων (είναι 2 ).

23)   Πίνακας λειτουργιών των δυναμικών δομών δεδομένων.

 

Στοίβα - LIFO

Ουρά - FIFO

Λειτουργία 1

Ώθηση στοιχείου από τη κορυφή

Εισαγωγή στοιχείου από το πίσω άκρο

Λειτουργία 2

Απώθηση στοιχείου από τη κορυφή

Εξαγωγή στοιχείου από το εμπρός άκρο

Χρειάζεται

1 δείκτης   δ

2 δείκτες,  δ1 και δ2

Αλγόριθμος

δ ¬  δ + 1   (υπερχείλιση)

δ2 ¬ δ2 + 1

 

δ ¬  δ -1   (υποχείλιση)

δ1 ¬ δ1 + 1

Έχουν :

Το δ  δείχνει πάντα τη Νέα κορυφή

Τα δ1 & δ2 δείχνουν τα 2 άκρα

ΝΑ εκφράσετε σε γλώσσα τους αλγόριθμους των λειτουργιών αυτών.

24)  Ποιες ΔΟΜΕΣ Δεδομένων γνωρίζετε;

 

Υποπρογράμματα

Print
Category: Uncategorised
Published Date
Written by Super User Hits: 1523

Πριν πούμε τι είναι τα υποπρογράμματα θα δώσουμε μια εξήγηση στον έννοια – στον όρο που λέγεται τμηματικός προγραμματισμός.

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

Με άλλα λόγια όταν έχουμε να επιλύσουμε ένα πρόβλημα, μπορούμε να το χωρίσουμε σε επιμέρους τμήματα, όπου το κάθε ένα είναι ένα ξεχωριστό υπο-πρόβλημα.

Στη συνέχεια αναπτύσσουμε τους αλγόριθμους για το καθένα από αυτά, ξεχωριστά από το υπόλοιπο πρόβλημα, υλοποιώντας ένα υπο-πρόγραμμα για κάθε υπο-πρόβλημα.

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

Υπάρχουν δύο (2) τύποι υποπρογραμμάτων.

1) οι Διαδικασίες και 2) οι Συναρτήσεις.

Εκτός τους ορισμούς που δίνει το σχολικό βιβλίο :

1)    είναι ένας τύπος υποπρογράμματος που μπορεί να εκτελεί όλες τις λειτουργίες ενός προγράμματος.

2)  είναι ένας τύπος υποπρογράμματος που υπολογίζει και επιστρέφει πάντα μόνο μια τιμή με το όνομά της.

Για να διακρίνεται εύκολα πότε θα χρησιμοποιήσετε Διαδικασία ή Συνάρτηση, μπορείτε να εστιάσετε στο τι σας ζητάει το υπό-πρόβλημα να βρείτε – δηλαδή τι θα σας δώσει ως επιστροφή ο αλγόριθμος :

1)      Αν πρόκειται να σας επιστρέψει  πολλές τιμές, καμία τιμή ή μία τιμή, τότε χρησιμοποιήστε Διαδικασία.

2)      Αν πρόκειται να σας επιστρέψει μία μόνο τιμή, τότε χρησιμοποιήστε Συνάρτηση.

3)      Στη περίπτωση που επιστρέψει μία μόνο τιμή, όπως καταλαβαίνετε μπορείτε να χρησιμοποιήσετε είτε Διαδικασία είτε Συνάρτηση. Επιλέξτε Συνάρτηση αν σας χρειάζεται να αποθηκεύσετε την τιμή εξόδου σε μια μεταβλητή για περαιτέρω διαχείριση ή επεξεργασία στη συνέχεια του αλγορίθμου.

ΠΑΡΑΜΕΤΡΟΙ

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

Το υποπρόγραμμα ως αυτόνομο και ανεξάρτητο πρέπει με κάποιο τρόπο να επικοινωνήσει με το κύριο πρόγραμμα, όταν κληθεί. Συνήθως δέχεται τιμές από το τμήμα του προγράμματος που το καλεί και μετά την εκτέλεσή του επιστρέφει σε αυτό νέες τιμές – αποτελέσματα.

Οι τιμές αυτές λοιπόν ‘περνούν’ από το πρόγραμμα στο υποπρόγραμμα – και αντιστρόφως – μέσω ειδικών μεταβλητών που τις ονομάζονται παράμετροι.

Οι παράμετροι είναι ακριβώς σαν τις μεταβλητές που ξέρουμε, αλλά με μια σημαντική ιδιότητα : χρησιμοποιούνται για να περνούν τιμές στα υποπρογράμματα και ορίζονται τόσο στο κύριο πρόγραμμα όσο και στο υποπρόγραμμα σε μια λίστα με ειδικό τρόπο, όπως φαίνεται παρακάτω.

 

 

ΔΙΑΔΙΚΑΣΙΑ

ΣΥΝΑΡΤΗΣΗ

Ορισμός

Διαδικασία <Όνομα> (Παράμετροι)

Μεταβλητές

………

Αρχή

   Εντολές

Τέλος_Διαδικασίας

Συνάρτηση <Όνομα> (Παράμετροι) : Τύπος

Μεταβλητές

………

Αρχή

   Εντολές

   Όνομα ß Έκφραση

   Εντολές

   …….

Τέλος_Συνάρτησης

 

Εκτέλεση

Η εκτέλεση του προγράμματος διακόπτεται για να εκτελεστούν οι εντολές της Διαδικασίας. Μετά την εντολή ‘Τέλος_Διαδικασίας’ συνεχίζεται η εκτέλεση του προγράμματος στην επόμενη εντολή.

Η λίστα των Παραμέτρων που έχουν οριστεί (δεν είναι υποχρεωτική), καθορίζει τις τιμές που μεταβιβάζονται στη Διαδικασία, αλλά και τις τιμές που αυτή επιστρέφει.

Η εκτέλεση του προγράμματος διακόπτεται για να εκτελεστούν οι εντολές της Συνάρτησης.

Ανεξάρτητα τι τύπο έχουν οι παράμετροι, μια Συνάρτηση μπορεί να είναι (δηλ. να επιστρέψει) όλους τους τύπους δεδομένων : Ακέραια, Πραγματική, Χαρακτήρας, Λογική.

Στις εντολές του σώματος της Συνάρτησης πρέπει υποχρεωτικά να υπάρχει τουλάχιστον μία εντολή εκχώρησης τιμής στο όνομά της. Όλες οι Συναρτήσεις εκτελούνται όπως ακριβώς και οι ενσωματωμένες συναρτήσεις της κάθε γλώσσας.

Το κύριο πρόγραμμα κατά τη κλήση της Συνάρτησης μεταβιβάζει τιμές (που ήδη γνωρίζει από πριν) στις αντίστοιχες παραμέτρους της Συνάρτησης.

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

Μετά το ‘Τέλος_Συνάρτησης’ γίνεται επιστροφή της νέας τιμής στο κύριο πρόγραμμα που την κάλεσε, όπου εκχωρείται στη μεταβλητή που είναι εκχωρημένο το όνομα της Συνάρτησης.

Κλήση

Εντολές προγράμματος

…..

ΚΑΛΕΣΕ  Όνομα- Διαδικασίας (Παράμετροι)

…..

Εντολές προγράμματος

…..

Εντολές προγράμματος

…..

ΝΤ ß Όνομα- Συνάρτησης (Παράμετροι)

Εντολές προγράμματος

…..

Παραδείγματα

Διαδικασία ΕΙΣΑΓ_ΒΑΘ(Β)

Μεταβλητές

   Πραγματικές : Β

Αρχή

   Αρχή_Επανάληψης

    Διάβασε Β

   Μέχρις_ότου (Β>=0) και (Β<=20)

Τέλος_Διαδικασίας

 

Πρόγραμμα ΜΕΣΟΣ

Μεταβλητές

   Ακέραιες : Ι

   Πραγματικές : ΒΑΘΜΟΣ, Σ, ΜΟ

Αρχή

   Για Ι από 1 μέχρι 30

    ΚΑΛΕΣΕ  ΕΙΣΑΓ_ΒΑΘ(ΒΑΘΜΟΣ)

    Σ ß Σ + ΒΑΘΜΟΣ

   Τέλος_Επανάληψης

   ΜΟ ß Σ/30

   Γράψε ΜΟ

Τέλος_προγράμματος

Συνάρτηση ΜΑΧ (Α, Β, Γ) : Ακέραια

Μεταβλητές

   Ακέραιες : Α, Β, Γ

Αρχή

   ΜΑΧ ß Α

   Αν Β > ΜΑΧ τότε

      ΜΑΧ ß Β

   Τέλος_Αν

   Αν Γ > ΜΑΧ τότε

      ΜΑΧ ß Γ

   Τέλος_Αν

Τέλος_Συνάρτησης

 

Συνάρτηση ΜΟ (Α, Β, Γ) : Πραγματική

Μεταβλητές

   Ακέραιες : Α, Β, Γ

Αρχή

   ΜΟ ß (Α+Β+Γ)/3

Τέλος_Συνάρτησης

 

Πρόγραμμα ΥΠΟΓΙΣΜΟΙ

Μεταβλητές

   Ακέραιες : Κ, Λ, Μ, ΜΕΓΑ

   Πραγματικές : ΜΕΣ

Αρχή

   Διάβασε Κ, Λ, Μ

   ΜΕΓΑ ß ΜΑΧ (Κ, Λ, Μ)

   Γράψε ΜΕΓ

   ΜΕΣ ß ΜΟ (Κ, Λ, Μ)

   Γράψε ΜΕΣ

Τέλος_προγράμματος

 

 

Παρατηρούμε ότι :

Στη 1η Συνάρτηση υπάρχουν περισσότερες από μια εντολές εκχώρησης στο όνομά της.

Στη 2η Συνάρτηση ενώ ο τύπος της είναι Ακέραιος, η τιμή που επιστρέφει είναι πραγματική.

Παρατηρήσεις σε ότι αφορά τις παραμέτρους, από τα παραδείγματα διαπιστώνουμε :

1.      Έχουμε τις ολικές ή πραγματικές παραμέτρους. Δηλαδή εκείνες που ορίζονται στο κύριο πρόγραμμα και έχουν ολική εμβέλεια.

2.      Έχουμε τις τοπικές ή τυπικές παραμέτρους. Δηλαδή εκείνες που ορίζονται στο υποπρόγραμμα και τοπική εμβέλεια.

3.      Έχουμε τις ολικές και τοπικές μεταβλητές που ορίζονται αντίστοιχα στο κύριο πρόγραμμα και στο υποπρόγραμμα.

4.      Μια ολική ή τοπική παράμετρος είναι βεβαίως ολική ή τοπική μεταβλητή και δηλώνεται στη περιοχή δηλώσεων των μεταβλητών.

5.      Μια ολική ή τοπική μεταβλητή εννοείται ότι δεν είναι απαραίτητα ολική ή τοπική παράμετρος.

6.      Όλες ή Κάποιες από τις μεταβλητές μπορεί να είναι και παράμετροι.

7.      Το υποπρόγραμμα που δεν επιστρέφει τιμή/ές δεν έχει παραμέτρους.

 

ΠΡΟΣΟΧΗ:

Οι παράμετροι που ορίζονται στην εντολή Κάλεσε μιας Διαδικασίας ή στην εντολή εκχώρησης τιμής στο όνομα μιας Συνάρτησης, πρέπει να συμφωνούν με τις μεταβλητές που ορίζονται μέσα στη Διαδικασία ή μέσα στη Συνάρτηση κατά:

ΤΥΠΟ, ΣΕΙΡΑ, ΠΛΗΘΟΣ.

 

 Ερωτήσεις Σωστού - Λάθους μπορείτε να ακολουθήσετε τους συνδέσμους : ΕΔΩ και ΕΚΕΙ.

 

 

 

 

Joomla 2.5 Templates designed by Website Hosting