ALGORITHMOS
  • Αρχικη
  • Υλικο ΑΕΠΠ
    • Η υλη του μαθηματος
    • Βασικα σημεια θεωριας
    • Θεωρια - Μεθοδολογια >
      • Βασικες γνωσεις
      • Δομη Ακολουθιας
      • Δομη Επιλογης
      • Δομη επαναληψης
      • Μονοδιαστατοι Πινακες
      • Δισδιαστατοι Πίνακες
    • Ασκησεις >
      • Δομη Ακολουθιας >
        • Δομη Ακολουθιας - Λυσεις Ασκησεων
      • Δομη Επιλογης >
        • Δομη Επιλογης - Λυσεις Ασκησεων
      • Δομη Επαναληψης >
        • Δομη Επαναληψης - Λυσεις Ασκησεων
      • Μονοδιάστατοι Πίνακες >
        • Μονοδιαστατοι Πινακες - Λυσεις Ασκησεων
      • Δισδιάστατοι Πίνακες >
        • Δισδιάστατοι Πίνακες - Λυσεις Ασκησεων
      • Υποπρογράμματα
    • Θεματα πανελλαδικων εξετασεων
    • Γλωσσομάθεια
  • Άρθρα
  • Online Test
    • Online Test - Γενικά
    • Online Test - Πανελληνιων
  • Επικοινωνια
Giakoumoglou Vagelis

Μονοδιάστατοι Πίνακες
Μεθοδολογία Επίλυσης Ασκήσεων

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

Οι μονοδιάστατοι πίνακες είναι στατικές δομές δεδομένων.Το πλεονέκτημα που μας δίνουν είναι η αποθήκευση των δεδομένων σε αυτές και η δυνατότητα επεξεργασίας τους στη συνέχεια. Στα βασικά σημεία θεωρίας (Κεφάλαιο 3 και Κεφάλαιο 9) θα βρείτε όλες τις θεωρητικές λεπτομέρειες που χρειάζεστε για το μάθημα.

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


Βασικές Μεθοδολογίες σε μονοδιάστατους πίνακες

Μεθοδολογία 1η
Καταχώρηση στοιχείων σε πίνακα - "Γέμισμα" του πίνακα

Γενική μορφή :

ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν   
     ΓΡΑΨΕ ‘ δώσε το ΄, i ,’ ο στοιχείο’ 
     ! Αν θέλουμε να έχει και μήνυμα εξόδου
     ΔΙΑΒΑΣΕ Α[ i ]     
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 

Όπου Ν οι θέσεις του πίνακα και Α ο πίνακας.
Παράδειγμα 1

Να γεμισθεί πίνακας Α[100],  με ονόματα τα οποία θα πληκτρολογεί ο χρήστης .

 
Λύση:  
   
ΠΡΟΓΡΑΜΜΑ ΠΑΡ_1
     ΜΕΤΑΒΛΗΤΕΣ     
ΑΚΕΡΑΙΕΣ: i     
ΧΑΡΑΚΤΗΡΕΣ: Α[100]    
ΑΡΧΗ    
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 100     
     ΓΡΑΨΕ ‘ δώσε το ΄, i ,’ ο όνομα’     
     ΔΙΑΒΑΣΕ Α[ i ]     
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ    
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Μεθοδολογία 2η
Εύρεση Αθροίσματος των στοιχείων ενός μονοδιάστατου πίνακα

Γενική μορφή:    

Σ<-- 0     
Για i από 1 μέχρι Ν      
Σ<-- Σ + Α[ i ]     
Τέλος_επανάληψης


 Όπου Ν οι θέσεις του πίνακα και Α ο πίνακας.
Παράδειγμα 2

Να πραγματοποιηθεί πρόγραμμα το οποίο θα γεμίζει ένα πίνακα 100 θέσεων με ακέραιους αριθμούς και θα υπολογίζει το άθροισμά τους. 


 ΠΡΟΓΡΑΜΜΑ ΠΑΡ_2    
ΜΕΤΑΒΛΗΤΕΣ     
ΑΚΕΡΑΙΕΣ:Σ,i,Α[100]    
ΑΡΧΗ    
Σ<--0    
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 100     
    ΓΡΑΨΕ ‘ δώσε τον ΄, i ,’ ο αριθμό’     
    ΔΙΑΒΑΣΕ Α[ i ]      
    Σ<--Σ + Α [ i ]    
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ    
ΓΡΑΨΕ‘ το άθροισμα είναι: ‘, Σ    
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Μεθοδολογία 3η
Έυρεση Μέσου όρου των στοιχείων ενός μονοδιάστατου πίνακα

Γενική Μορφή :
Σ<-- 0     
Για i από 1 μέχρι Ν      
Σ<-- Σ + Α[ i ]     
Τέλος_επανάληψης
Μ<--Σ/Ν  


 Όπου Ν οι θέσεις του πίνακα και Α ο πίνακας.

Παράδειγμα 3

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

Λύση :

ΠΡΟΓΡΑΜΜΑ ΠΑΡ_3    
ΜΕΤΑΒΛΗΤΕΣ     
ΑΚΕΡΑΙΕΣ:i, Α[17],Σ     
ΠΡΑΓΜΑΤΙΚΕΣ:Μ ΑΡΧΗ    
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 17      
    ΓΡΑΨΕ ‘ δώσε το ΄, i , ‘ ο βαθμό’     
    ΔΙΑΒΑΣΕ Α[i]    
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ     
Σ<--0     
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 17      
    Σ<-- Σ+ Α[i]     
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Μ<--Σ/17    
ΓΡΑΨΕ ‘ ο μέσος όρος είναι: ‘, Μ    
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Μεθοδολογία 4η
Εύρεση Πλήθους σε μονοδιάστατο πίνακα

Τη συγκεκριμένη μεθοδολογία θα τη δούμε απ'ευθείας με ένα παράδειγμα.

Παράδειγμα 4
Να πραγματοποιηθεί πρόγραμμα το οποίο θα «γεμίζει» ένα πίνακα με  400 ακέραιους αριθμούς και θα υπολογίζει πόσοι από αυτούς τους αριθμούς είναι πολλαπλάσια του 8.

Λύση


ΠΡΟΓΡΑΜΜΑ ΠΑΡ_4    
ΜΕΤΑΒΛΗΤΕΣ     
ΑΚΕΡΑΙΕΣ: i,Α[400],Π    
ΑΡΧΗ    
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 400     
    ΓΡΑΨΕ ‘δώσε το ΄, i ,’ ο αριθμό’     
    ΔΙΑΒΑΣΕ Α[i]     
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ     
Π<--0     
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 400     
    ΑΝ Α[i] mod 8  = 0 ΤΟΤΕ      
        Π<--Π+1      
    ΤΕΛΟΣ_ΑΝ    
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ    
ΓΡΑΨΕ ‘ το πλήθος των πολ/σίων του 8 είναι:’, Π    
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ


Μεθοδολογία 5η
Εύρεση Μέγιστου ή Ελάχιστου στοιχείου σε μονοδιάστατο πίνακα

Γενική μορφή:   
Εύρεση Μέγιστου Στοιχείου :

 
max<--A[ 1 ]   
Για i από 1 μέχρι Ν     
    Αν Α[i] > max τοτε      
         max <-- A[ i ]    
    Τέλος_αν   
Τέλος_επανάληψης  
------------------------------------------------------------------------   
Εύρεση Ελάχιστου Στοιχείου:

min <-- A[ 1 ]    
για i από 1 μέχρι Ν     
    αν Α[ i ] < min τότε      
        min <-- A[ i ]     
    τέλος_αν   
τέλος_επανάληψης

Παράδειγμα 5
Να πραγματοποιηθεί πρόγραμμα το οποίο θα δέχεται 800 ακέραιους αριθμούς, σε ένα μονοδιάστατο πίνακα  και θα εμφανίζει το μικρότερο από αυτούς.

Λύση :

ΠΡΟΓΡΑΜΜΑ ΠΑΡ_5
ΜΕΤΑΒΛΗΤΕΣ     
ΑΚΕΡΑΙΕΣ:i, Α[800],min    
ΑΡΧΗ    
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 800      
    ΓΡΑΨΕ ‘δώσε τον’, i ,’ο αριθμό’     
    ΔΙΑΒΑΣΕ A[ i ]     
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ    
min <--A[ 1]     
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 800      
    ΑΝ Α[ i ] < min ΤΟΤΕ      
        min <-- A[ i ]      
    ΤΕΛΟΣ_ΑΝ    
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ     
ΓΡΑΨΕ ‘ ο μικρότερος είναι ο: ‘, min     
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Μεθοδολογία 6η
Σειριακή Αναζήτηση στοιχείου σε μονοδιάστατο πίνακα

Αλγόριθμος Σειριακή_βιβλίου
Διάβασε n, key
    Για i από 1 μέχρι n
    Διάβασε Α[i]
Τέλος_επανάληψης
i <-- 1
pos <-- 0
D <-- ψευδής
Όσο (D = ψευδής) και (i <= n) επανάλαβε
     Αν Α[i]=key τότε
         D <-- αληθής
         pos <-- i
    Αλλιώς
         i <-- i + 1
    Τέλος_αν
Τέλος_επανάληψης
Εμφάνισε D, pos
Τέλος Σειριακή_βιβλίου

Παράδειγμα 6

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



Λύση

ΠΡΟΓΡΑΜΜΑ ΠΑΡΑΔΕΙΓΜΑ_6
ΜΕΤΑΒΛΗΤΕΣ
    ΑΚΕΡΑΙΕΣ:Ι,POS
    ΠΡΑΓΜΑΤΙΚΕΣ: Β[100]
    ΧΑΡΑΚΤΗΡΕΣ: ΟΝ[100],ΚΕΥ
    ΛΟΓΙΚΕΣ: D
ΑΡΧΗ
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 100
    ΓΡΑΨΕ 'ΔΩΣΕ ΤΟ',Ι,'ο ΟΝΟΜΑ ΚΑΙ ΒΑΘΜΟ'
    ΔΙΑΒΑΣΕ ΟΝ[Ι],Β[Ι]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ'ΔΩΣΕ ΤΟ ΥΠΟ ΑΝΑΝHΖΗΤΗΣΗ ΟΝΟΜΑ' 
ΔΙΑΒΑΣΕ ΚΕΥ
Ι<--1
POS<--0
D<--ΨΕΥΔΗΣ
ΟΣΟ Δ=ΨΕΥΔΗΣ ΚΑΙ Ι<=100 ΕΠΑΝΑΛΑΒΕ
    ΑΝ ΟΝ[Ι]=ΚΕΥ ΤΟΤΕ
        D<--ΑΛΗΘΗΣ
        POS<--I
    ΑΛΛΙΩΣ
        Ι<--Ι+1
    ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ D=ΑΛΗΘΗΣ ΤΟΤΕ
     ΓΡΑΨΕ'Ο ΒΑΘΜΟΣ ΕΙΝΑΙ:',Β[POS]
ΑΛΛΙΩΣ
     ΓΡΑΨΕ'ΔΕΝ ΒΡΕΘΗΚΕ ΤΟ ΥΠΟ ΑΝΑΖΗΤΗΣΗ ΟΝΟΜΑ'
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Μεθοδολογία 7η
Δυαδική Αναζήτηση

Γενική Μορφή :
Η δυαδική αναζήτηση είναι ένας άλλος τρόπος αναζήτησης ο οποίος είναι πιο αποδοτικός σε σύγκριση με τη σειριακή αναζήτηση. Αυτό που πρέπει όμως να έχουμε υπ όψιν μας είναι ότι χρησιμοποιείται μόνο σε ταξινομημένους πίνακες.  
 
Ο αλγόριθμος της δυαδικής αναζήτησης για ένα ταξινομημένο πίνακα όπου αναζητάμε το στοιχείο KEY ,έχει ως εξής :


Α<--1
Β<--Ν
D<--ΨΕΥΔΗΣ
ΟΣΟ Α<=Β ΚΑΙ D=ΨΕΥΔΗΣ ΕΠΑΝΑΛΑΒΕ
     Μ<--(Α+Β) DIV 2
     AN Α[M]=KEY TOTE 
         D=ΑΛΗΘΗΣ
     ΑΛΛΙΩΣ_ΑΝ
         Α[Μ]<ΚΕΥ ΤΟΤΕ 
         Α<--Μ+1
     ΑΛΛΙΩΣ 
         Β<--Μ-1
    ΤΕΛΟΣ_ΑΝ     
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ D = ΑΛΗΘΗΣ ΤΟΤΕ
    ΓΡΑΨΕ 'ΒΡΕΘΗΚΕ ΤΟ ΣΤΟΙΧΕΙΟ ΣΤΗ ΘΕΣΗ',M
ΑΛΛΙΩΣ
    ΓΡΑΨΕ'ΔΕΝ ΒΡΕΘΗΚΕ ΤΟ ΣΤΟΙΧΕΙΟ'
ΤΕΛΟΣ_ΑΝ

Ποια είναι η πιο αποδοτική μέθοδος αναζήτησης; 
​
Διαβάστε τη σύγκριση ανάμεσα στη δυαδική και τη σειριακή αναζήτηση στο άρθρο : 
Σειριακή VS Δυαδική Αναζήτηση

Picture

Μεθοδολογία 8η 
Ταξινόμηση στοιχείων του πίνακα
​
Α' Τρόπος - Με τη μέθοδο της φυσαλίδας 

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

Γενική Μορφή: 

Για Ι από 2 μέχρι Ν   
      Για J από Ν μέχρι Ι με_βήμα –1   
              Αν Α[J] < A[J-1] τότε     
                      TEMP<-- A[J]     
                      A[J] <-- A [J-1]     
                      A[J-1]<--TEMP   
             Τέλος_αν   
      Τέλος_επανάληψης 
Τέλος_επανάληψης


* Όπου Ν = οι θέσεις του πίνακα και Α ο πίνακας.
Θα ακολουθήσει ανάλυση της λειτουργίας της φυσαλίδας

​
    Παράδειγμα 8 

Να πραγματοποιηθεί πρόγραμμα  το οποίο θα «γεμίζει» ένα πίνακα 100 θέσεων με ακέραιους αριθμούς που θα δέχεται από το πληκτρολόγιο και έπειτα θα ταξινομεί τον πίνακα κατά φθίνουσα σειρά. Τέλος θα εμφανίζει τα στοιχεία του πίνακα μετά την ταξινόμηση.

ΠΡΟΓΡΑΜΜΑ ΠΑΡ_22 
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ:i ,j, Α[100],TEMP 
ΑΡΧΗ 
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 100   
    ΓΡΑΨΕ ΄ Δώσε έναν αριθμό ΄   
    ΔΙΑΒΑΣΕ Α[i] 
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 100   
    ΓΙΑ j ΑΠΟ 100 ΜΕΧΡΙ i ΜΕ_ΒΗΜΑ –1   
        ΑΝ Α[j] > A[j-1] ΤΟΤΕ  ! Προσέξτε τη φορά της ανισότητας, αυτή καθορίζει το αν θα είναι φθίνουσα ή αύξουσα η ταξινόμηση.
            TΕΜP<-- A[ j]     
            A[j] <-- A[j-1]   
            A[j-1] <-- TEMP   
        ΤΕΛΟΣ_ΑΝ   
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 100   
    ΓΡΑΨΕ Α[ i ] 
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
​ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ 

Επόμενο βήμα : 

Δείτε τις ασκήσεις στους μονοδιάστατους πίνακες.

Ποιοί είμαστε.
Σχετικά με τη σελίδα
Επικοινωνία
Το υλικό που υπάρχει στη παρούσα ιστοσελίδα , είναι προϊόν προσωπικής εργασίας με στόχο να χρησιμοποιηθεί στην εκπαίδευση και βελτίωση μαθητών στο μάθημα της Ανάπτυξης Εφαρμογών σε Προγραμματιστικό Περιβάλλον.
Θα εκτιμούσα ιδιαίτερα αν επικοινωνήσετε μαζί μου για όποια λάθη βρείτε ή προτάσεις βελτίωσης της σελίδας, στο email που αναφέρεται στη σελίδα επικοινωνίας.
​
              Με εκτίμηση,
         Γιακουμόγλου Βαγγέλης


                                                                                                                         
  • Αρχικη
  • Υλικο ΑΕΠΠ
    • Η υλη του μαθηματος
    • Βασικα σημεια θεωριας
    • Θεωρια - Μεθοδολογια >
      • Βασικες γνωσεις
      • Δομη Ακολουθιας
      • Δομη Επιλογης
      • Δομη επαναληψης
      • Μονοδιαστατοι Πινακες
      • Δισδιαστατοι Πίνακες
    • Ασκησεις >
      • Δομη Ακολουθιας >
        • Δομη Ακολουθιας - Λυσεις Ασκησεων
      • Δομη Επιλογης >
        • Δομη Επιλογης - Λυσεις Ασκησεων
      • Δομη Επαναληψης >
        • Δομη Επαναληψης - Λυσεις Ασκησεων
      • Μονοδιάστατοι Πίνακες >
        • Μονοδιαστατοι Πινακες - Λυσεις Ασκησεων
      • Δισδιάστατοι Πίνακες >
        • Δισδιάστατοι Πίνακες - Λυσεις Ασκησεων
      • Υποπρογράμματα
    • Θεματα πανελλαδικων εξετασεων
    • Γλωσσομάθεια
  • Άρθρα
  • Online Test
    • Online Test - Γενικά
    • Online Test - Πανελληνιων
  • Επικοινωνια