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

Home

Δομή Ακολουθίας

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

Τι είναι η δομή ακολουθίας ;

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

Στη δομή αυτή πολύ απλά η μια εντολή "ακολουθεί " την άλλη. Η σειρά της ακολουθίας των εντολών -βημάτων- που δημιουργείται είναι σχεδόν καθορισμένη και δεν μπορεί να αλλάξει πάντα. Παραδείγματα : (α) για να φτιάξουμε έναν καφέ πρέπει : 1. να βάλουμε στο τραπέζι ένα φλυτζάνι, 2. να βάλουμε στο μπρίκι νερό και τις αντίστοιχες ποσότητες καφέ και ζάχαρης, 3. να ανάψουμε τη 'φωτιά', 4. να περιμένουμε λίγο, 5. να σηκώσουμε το μπρίκι, 6. να το αδειάσουμε στο φλυτζάνι.  (β) για να βρούμε τον μέσο όρο 3ων αριθμών και το 2πλάσιο του αθροίσματός τους πρέπει: 1. δίνουμε τον πρώτο αριθμό Χ, δίνουμε τον δεύτερο Υ και μετά τον τρίτο Ζ, 2. τους προσθέτουμε, 3. διαιρούμε το άθροισμά τους με το τρία, 4. διπλασιάζουμε το άθροισμά τους, 5. γράφουμε το πηλίκο που προκύπτει και το 2πλάσιο του αθροίσματος.

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

Παράδειγμα (γ). Έστω το παρακάτω τμήμα ενός αλγορίθμου. Να εκτελεστεί γιατις τιμές εισόδου των Χ και Β άντίστοιχα Ι) 5 και 8, ΙΙ) 3 και 4.

Αρχή
Διάβασε Χ
Χ <- Χ+5
Α <- Χ+10
Διάβασε Β
Χ <- Χ+5
Α <- Χ+Β
Εμφάνισε Χ,Α,Β
τέλος

Αν το εκτελέσουμε δημιουργώντας πίνακα τιμών μεταβλητών, θα έχουμε :

Χ : 5, 10, 15 - Α : 20, 23, Β : 8 και

θα εμφανιστούν οι τιμές 15, 23, 8  με την συγκεκριμένη αυτή σειρά.

Παρατηρούμε ότι η μεταβλητή Χ πήρε 3 τιμές και άλλαξε 2 φορές , η μεταβλητή Α πήρε 2 τιμές και άλλαξε μία φορά τιμή, ενώ η μεταβλητή Β πήρε μια φορά τιμή και δεν άλλαξε καμία.
Φανταστείτε αν αλλάξουμε τη σειρά κάποιας ή κάποιων εντολών πόσο θα αλλάξουν όλες ή σχεδόν οι τιμές που πάρουν οι μεταβλητές, αλλά και το τελικό αποτέλεσμα.
Επίσης η τελευταία τιμή κάθε περίπτωσης για κάθε μεταβλητή είναι οι τιμές που θα εμφανιστούν δηλαδή τα αποτελέσματα, που δεν είναι τίποτα άλλο από τα περιεχόμενα των μεταβλητών κατά τον τερματισμό του αλγορίθμου. Εδώ συμπίπτει η σειρά εμφάνισής τους με τη σειρά των στηλών του πίνακα τιμών εκτέλεσης.
Αν όμως είχαμε για παράδειγμα ‘ Εμφάνισε A, B, X ‘ τότε θα έπρεπε να δημιουργήσουμε ένα πλαίσιο που αντιστοιχούσε σε μια νοητή οθόνη, όπου θα αναγράφαμε τα αποτελέσματα με τη σωστή σειρά εμφάνισής τους.
Δηλ. 23, 8, 15

Ασκήσεις που λύνονται με τη Δομή Ακολουθίας : πατήστε ΕΔΩ

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

Δομή Επιλογής

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

Η δομή επιλογής είναι η δεύτερη λογική δομή του δομημένου προγραμματισμού. Δίνει τη δυνατότητα για τη λύση πιο σύνθετων αλγορίθμων. Ουσιαστικά δίνει τη δυνατότητα ελέγχου για την εκτέλεση ή μη κάποιων εντολών. Ο έλεγχος αυτός υλοποιείται με τον έλεγχο κάποιας συνθήκης (απλής ή σύνθετης) και σχετίζεται με αν ισχύει (δηλ. είναι αληθής) ή δεν ισχύει (δηλ. είναι ψευδής) η συγκεκριμένη συνθήκη. Υπάρχουν τέσσερα είδη δομής επιλογής, τα οποία είναι :

 

1. Απλή Επιλογή

 

Παράδειγμα : Να δίνεται η απόσταση (σε χιλιόμετρα) των διαδρομών που έκανα χθες και σήμερα, αν η σημερινή είναι άνω των 40 χιλ/τρων να εμφανίζεται το άθροισμα της χθεσινής με το 2πλάσιο της σημερινής διαδρομής και το μήνυμα ΄ διένυσα μεγάλη απόσταση’.

 

Αν  συνθήκη  τότε

     Εντολές

Τέλος_Αν

 

Αρχή

Διάβασε Χ,Θ

Aν Θ > 40 τότε

      Σ<- Χ+Θ*2

      Γράψε Σ

Γράψε 'διένυσα μεγάλη απόσταση'

Τέλος_Αν

Τέλος

Παρατήρηση 1.

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

2. Διπλή ή Σύνθετη Επιλογή

 

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

 

Αν συνθήκη τότε

     Εντολές_1

Αλλιώς

     Εντολές_2

Τέλος_Αν

Αρχή

Αν Π>=Χ τότε

      Γράψε ‘μπορώ να το αγοράσω’

      ΠΕΡ<- Π-Χ

Γράψε ‘περίσσεψαν ‘, ΠΕΡ, ‘ευρώ ‘

Αλλιώς

      Γράψε ‘ δεν μπορώ να το αγοράσω’

Τέλος_Αν

Τέλος

Παρατήρηση 2.

Εξετάζουμε πρώτα την περίπτωση που ισχύει η συνθήκη δηλ. είναι αληθής και εκτελούνται οι εντολές_1 . Μετά με το Αλλιώς δηλ. όταν η συνθήκη είναι ψευδής εκτελούνται οι εντολές_2. Ουσιαστικά ελέγχεται αυτόματα η ακριβώς αντίθετη συνθήκη αν είναι αληθής.

3. Εμφωλευμένη

Παράδειγμα : Να δίνεται ένας ακέραιος θετικός αριθμός και να εμφανίζεται κατάλληλο μήνυμα για το πλήθος των ψηφίων του. Αν έχει από 4 και πάνω να εμφανίζει το μήνυμα ‘ έχει πολλά ψηφία’.

Αν συνθήκη_Α τότε

     Εντολές_1

 Αλλιώς

     Αν συνθήκη_Β τότε

              Εντολές_2

      Αλλιώς

              Αν συνθήκη_Γ τότε

                        Εντολές_3

              Αλλιώς

                        Εντολές_4

              Τέλος_Αν

     Τέλος_Αν

Τέλος_Αν

Αρχή

Διάβασε Χ

Αν Χ<10 τότε

      Γράψε ΄Μονοψήψιος’

 Αλλιώς

      Αν Χ<100 τότε

                  Γράψε ‘Διψήφιος’

       Αλλιώς

                  Αν Χ<1000 τότε

                              Γράψε τριψήφιος’

                  Αλλιώς

                              Γράψε ‘έχει πολλά ψηφία’

                  Τέλος_Αν

      Τέλος_Αν

Τέλος_Αν

Τέλος

Παρατήρηση 3.

Ο τύπος αυτής δομής είναι χρήσιμος όταν η κάθε περίπτωση είναι συνέχεια της προηγούμενης. Στο παράδειγμά μας όταν εξετάζεται αν το Χ<100 εννοείται ότι είναι και Χ>=10 δηλ. ισχύει και το ακριβώς αντίθετο της προηγούμενης συνθήκης. Δηλαδή σαν να είχαμε γράψει Χ>=10 και Χ<100, αλλά λόγω της εμφώλευσης είναι περιττός και ο έλεγχος του Χ>=10.

4. Πολλαπλή

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

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

 Ασκήσεις που λύνονται με όλα τα είδη της Δομής Επιλογής - πατήστε ΕΔΩ

 

 

Δομή Επανάληψης

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

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

Υπάρχουν τρία είδη δομής επανάληψης, τα οποία είναι : η δομή ΓΙΑ, η δομή  ΟΣΟ και η δομή ΜΕΧΡΙΣ_ΟΤΟΥ – όπως συνηθίζεται να λέγονται για συντομία.

Θα χρησιμοποιήσουμε ένα παράδειγμα που υλοποιείται και με τα 3 είδη της δομής επανάληψης και στη συνέχεια θα εστιάσουμε σε κάθε μια ξεχωριστά.

Να υπολογιστεί το άθροισμα :  S = 2+4+6+ … + 100, καθώς και το πλήθος των όρων του (που εδώ είναι προφανές).

 

1. Η δομή ΓΙΑ

 

Για Ι από Τ1 μέχρι Τ2 με βήμα Β

     Εντολές

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

 

Παρατήρηση 1.

- Είναι γνωστός ή μπορεί να καθοριστεί – προσδιοριστεί ο αριθμός των επαναλήψεων, που εξαρτάται από το Βήμα Β και τις τιμές των Τ1 και Τ2.

Sß 0

Μ ß 0

Για Ι από 2 μέχρι 100 με βήμα 2

   SßS + I

   Μ ß Μ +1

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

   Γράψε S, Μ

Προσοχή :

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

2. Η δομή ΟΣΟ

 

Όσο (Συνθήκη) επανάλαβε

     Εντολές

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

Παρατήρηση 2.

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

- Υπάρχει περίπτωση να μην γίνει ποτέ η επανάληψη, δηλαδή οι εντολές μέσα στο βρόγχο να μην εκτελεστούν ποτέ.

- Άγνωστος ο αριθμός των επαναλήψεων.

Sß 0

Ι ß 2

Μ ß 0

Όσο Ι <= 100 επανάλαβε

   SßS + I

   Ι ßΙ + 2

   Μ ß Μ +1

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

   Γράψε S, Μ

Προσοχή :

Η επανάληψη συνεχίζειόσο η συνθήκη είναι Αληθής και τερματίζει όταν η συνθήκη γίνει Ψευδής.

3. Η δομή ΜΕΧΡΙΣ _ΟΤΟΥ

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

     Εντολές

Μέχρις_ότου (Συνθήκη)

Παρατήρηση 3.

- Εκτελούνται πρώτα οι εντολές και μετά ελέγχεται η συνθήκη.

- Τουλάχιστον μια φορά θα γίνει η επανάληψη.

- Άγνωστος ο αριθμός των επαναλήψεων.

Sß 0

Μ ß 0

Ι ß 2

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

   Sß S + I

   Ι ß Ι + 2

   Μ ß Μ +1

Μέχρις_ότου Ι >100

   Γράψε S, Μ                         

Προσοχή :

Η επανάληψη συνεχίζειόσο η συνθήκη είναι Ψευδής και τερματίζει όταν η συνθήκη γίνει Αληθής.

 

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

 

Όπως παρατηρούμε η συνθήκη στη δομή ΟΣΟ είναι ακριβώς η αντίθετη της συνθήκης ΜΕΧΡΙΣ_ΟΤΟΥ και αντιστρόφως.

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

Γενικές παρατηρήσεις.

Α.

Ø      Όποιος αλγόριθμός επιλύεται με την ΓΙΑ μπορεί πάντα να επιλυθεί (μετατραπεί) και με την ΟΣΟ και την ΜΕΧΡΙΣ_ΟΤΟΥ

Ø      Όποιος αλγόριθμος επιλύεται με τις ΟΣΟ και ΜΕΧΡΙΣ_ΟΤΟΥ δεν μπορεί πάντα να επιλυθεί (μετατραπεί) στην ΓΙΑ.

Ø      Όποιος αλγόριθμος επιλύεται με την ΟΣΟ, επιλύεται (μετατρέπεται) πάντα στην ΜΕΧΡΙΣ_ΟΤΟΥ και αντιστρόφως.

Β.

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

Αυτές οι μεταβλητές είναι :

ΑΘΡΟΙΣΤΗΣ : είναι η μεταβλητή που αλλάζει (αυξάνεται) κατά μια τυχαία (διαφορετική) ποσότητα. Π.χ. Sß S + X

ΜΕΤΡΗΤΗΣ : είναι η μεταβλητή που αυξάνεται πάντα κατά μια μονάδα. Π.χ. Μ ß Μ +1.

ΒΗΜΑ : είναι η μεταβλητή που μεταβάλλεται κατά την ίδια – μια σταθερή ποσότητα. Π.χ. Ι ß Ι +1.

Γ. 

 Άρα για το προηγούμενο παράδειγμα,

η μεταβλητή S είναι Αθροιστής,

η μεταβλητή Μ είναι Μετρητής και

η μεταβλητή Ι είναι το Βήμα.

Ο Αθροιστής και ο Μετρητής συνήθως έχουν αρχική τιμή μηδέν(0), όπως για τις ανάγκες του συγκεκριμένου προβλήματος.

Όμως, υπάρχουν πολλές άλλες ιδιαίτερες περιπτώσεις προβλημάτων που η αρχική τους τιμή δεν πρέπει να είναι απαραίτητα μηδέν. Τέτοιες περιπτώσεις θα ήταν αν θέλαμε να προσθέσουμε κάποιο όρο εκτός της ακολουθίας (π.χ. το 21 ή το 0,7), οπότε αν δεν θέλαμε να τις προσθέσουμε στο τελικό άθροισμα εκτός επανάληψης, θα μπορούσαμε να αρχικοποιήσουμε το S με αυτές τις τιμές. Άλλη περίπτωση θα ήταν αν θέλαμε το πλήθος των αριθμών από το 12 και έπειτα με βήμα 2, οπότε θα αρχικοποιούσαμε το Μ με το 12.

Εφόσον έχετε εξοικειωθεί με τη δομή ΟΣΟ και ΜΕΧΡΙΣ_ΟΤΟΥ προσέξτε τις ασκήσεις που έχουν ιδιαίτερο ενδιαφέρον, πατήστε στο σύνδεσμο : Ασκήσεις

ΕΥΡΕΣΗ Μεγαλύτερου και Μικρότερου αριθμού.

Θα διακρίνουμε 2 περιπτώσεις :

1)      Όταν υπάρχει άνω και κάτω όριο τιμής

2)      Όταν δεν υπάρχει άνω και κάτω όριο τιμής

1) Να δίνονται 20 ονόματα ατόμων που στο καθένα αντιστοιχεί ένας ακέραιος αριθμός, δηλ. δίνουμε  επίσης 20 ακέραιους αριθμούς, των οποίων οι τιμές κυμαίνονται από 0 έως και 100 (να μην γίνει έλεγχος εγκυρότητας). Να βρεθεί ο μεγαλύτερος αριθμός που δόθηκε (υποθέστε ότι είναι ένας και μοναδικός) και το όνομα εκείνου που του αντιστοιχεί. Επίσης να βρεθεί η σειρά που δόθηκαν.

            Αρχή

            ΜΑΧ ß 0

            ΜΙΝ ß 100

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

            Διάβασε Α, ΟΝ

               Αν Α>ΜΑΧ τότε

                        ΜΑΧ ß Α

                        ΝΑΜΕ1 ß ΟΝ

                        ΣΕΙΡΑ1 ß Ι

               Τέλος_Αν

               Αν Α<ΜΙΝ τότε

                        ΜΙΝ ß Α

                        ΝΑΜΕ2 ß ΟΝ

                        ΣΕΙΡΑ2 ß Ι

               Τέλος_Αν

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

            Γράψε ΜΑΧ, ΝΑΜΕ1, ΣΕΙΡΑ1

            Γράψε ΜΙΝ, ΝΑΜΕ2, ΣΕΙΡΑ2

            Τέλος

2)      Να βρεθεί ο μεγαλύτερος και ο μικρότερος αριθμός, καθώς και οι σειρά που θα δοθούν, όταν οι τιμές δεν κυμαίνονται μεταξύ κάποιων ορίων και όταν:

α) έχουμε 20 τυχαίους αριθμούς, δηλ. γνωστό το πλήθος αριθμών.

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

Αρχή

            Διάβασε Α

            ΜΑΧ ß Α

            ΜΙΝ ß Α

            ΣΕΙΡΑ1 ß 1

ΣΕΙΡΑ2 ß 1

            Για Ι από 2 μέχρι 20

            Διάβασε Α

            Αν Α>ΜΑΧ τότε

                        ΜΑΧ ß Α

ΣΕΙΡΑ1 ß Ι

               Τέλος_Αν

               Αν Α<ΜΙΝ τότε

                        ΜΙΝ ß Α

                        ΣΕΙΡΑ2 ß Ι

               Τέλος_Αν

Τέλος-επανάληψης

            Γράψε ΜΑΧ, ΣΕΙΡΑ1

            Γράψε ΜΙΝ, ΣΕΙΡΑ2

Τέλος

Αρχή

            Διάβασε Α

            ΜΑΧ ß Α

            ΜΙΝ ß Α

ΠΛß 1

            Οσο Α <> 0 επανάλαβε

                        Διάβασε Α

            ΠΛ ß ΠΛ+1

            Αν Α>ΜΑΧ τότε

                        ΜΑΧ ß Α

ΣΕΙΡΑ1 ß ΠΛ

               Τέλος_Αν

               Αν Α<ΜΙΝ τότε

                        ΜΙΝ ß Α

                        ΣΕΙΡΑ2 ß ΠΛ

               Τέλος_Αν

Τέλος-επανάληψης

            Γράψε ΜΑΧ, ΣΕΙΡΑ1

            Γράψε ΜΙΝ, ΣΕΙΡΑ2

Τέλος

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

Μπορείτε να εξασκηθείτε με ασκήσεις διαφορετικής δυσκολίας και συνδιαστικότητας με άλλες δομές επανάληψης και επιλογής  ΕΔΩ.

Επίσης δώστε ιδιαίτερη προσοχή στις ασκήσεις ΕΔΩ.

 

 

 

 

 

 

 

 

 

Πίνακες Μονοδιάσταστοι

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

Μονοδιάστατοι Πίνακες

Τι είναι ο πίνακας γενικά :

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

Πιο αναλυτικά θα μπορούσε  να δοθεί σαν ορισμός το παρακάτω :

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

Συμβολισμός :

Στις εκφωνήσεις ένας πίνακας π.χ. 10 θέσεων συμβολίζεται Α(10).

Στη δήλωση μεταβλητών ενός προγράμματος συμβολίζεται Α[1..10].

Στο λογισμικό ‘Διερμηνευτή Γλώσσας’ στη δήλωση μεταβλητών συμβολίζεται Α[10]     

Έστω ένας πίνακας με όνομα Α δέκα θέσεων - πατήστε ΕΔΩ

Για να γεμίζουμε – διαβάσουμε, για να εμφανίσουμε και επεξεργαστούμε τιμές σε ένα πίνακα πρέπει να χρησιμοποιήσουμε μια επαναληπτική δομή. Επειδή είναι πάντα γνωστός ο αριθμός των θέσεων (κόμβων) – στοιχείων του, συνήθως επιλέγουμε την δομή ΓΙΑ. Ωστόσο η όποια διαδικασία υλοποιείται και τις άλλες δύο δομές επανάληψης ΟΣΟ και ΜΕΧΡΙΣ_ΟΤΟΥ.

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

  1. Προσπέλαση
  2. Αναζήτηση (έχουμε 2 τύπους αναζήτησης)
  3. Αντιγραφή
  4. Συγχώνευση
  5. Διαχωρισμός
  6. Ταξινόμηση
  7. Εισαγωγή
  8. Διαγραφή

Οι έξι πρώτες εφαρμόζονται και στους δύο τύπους δομών δεδομένων, δηλαδή στις Στατικές και Δυναμικές.

Οι δύο τελευταίες εφαρμόζονται μόνο στις Δυναμικές δομές (Στοίβα και Ουρά).

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

Πρώτα όμως πρέπει να απαντήσουμε στο ερώτημα :  Γιατί και πότε πρέπει να χρησιμοποιήσουμε πίνακα ; Η απάντηση είναι απλή : Όταν για να λυθεί το πρόβλημα απαιτείται η παραμονή κάποιων δεδομένων στη μνήμη του υπολογιστή. Αυτό γιατί, επειδή ο πίνακας δεσμεύει ένα κομμάτι μνήμης για τα δεδομένα, τα ‘κρατά’ καθ’ όλη τη διάρκεια εκτέλεσης του αλγορίθμου – προγράμματος, δίνοντάς μας έτσι τη δυνατότητα να τα επεξεργαστούμε – διαχειριστούμε όταν και όσες φορές θέλουμε.

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

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

   Διάβασε Α[Ι]

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

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

   Γράψε Α[Ι]

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

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

   Διάβασε Α

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

   Γράψε Α

  Όλες οι τιμές – δεδομένα παρέμειναν στη μνήμη, αποθηκευμένες στις αντίστοιχες θέσεις και εμφανίζονται όλες.

Καμία τιμή – δεδομένο δεν παρέμεινε στη μνήμη, εκτός του τελευταίου που δόθηκε, οπότε αυτό μόνο εμφανίζεται.

 Για να δείτε ΑΝΑΛΥΤΙΚΑ τις έννοιες που σχετίζονται με τις λειτουργίες - πράξεις επί των πινάκων (ως στατικών δομών) πατήστε ΕΔΩ

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

Οι ασκήσεις αυτές σχετίζονται με μονοδιάστατους και δισδιάστατους πίνακες. Για τους δισδιάστατους πίνακες γίνεται ανάλυση στην επόμενη ενότητα της σελίδας.

Ασκήσεις για Προχωρημένους ΕΔΩ.

 

 

 

Joomla 2.5 Templates designed by Website Hosting