Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑ

2,338 views

Published on

1) Αναζήτηση Στοιχείου σε Πίνακα
1.1) Ορισμός του Προβλήματος
2) Σειριακή Αναζήτηση
3) Δυαδική Αναζήτηση
3.1) Με Επανάληψη
3.2) Με Αναδρομή

Published in: Education
  • Be the first to comment

ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑ

  1. 1. Αλγόριθµοι σε C Μάθηµα 1: ∆ιαπέραση Πίνακα ∆ηµήτρης Ψούνης
  2. 2. Περιεχόµενα Μαθήµατος Α. Θεωρία 1. ∆ιαπέραση Πίνακα 1. Άθροισµα Στοιχείων Πίνακα 2. Γινόµενο Στοιχείων Πίνακα 3. Μέγιστος Πίνακα 4. Ελάχιστος Πίνακα 5. Μέσος Όρος Στοιχείων Πίνακα Β. Ασκήσεις 2∆ηµήτρης Ψούνης, Αλγόριθµοι σε C, Μάθηµα 1: ∆ιαπέραση Πίνακα Σηµείωση: Το µάθηµα αυτό απαιτεί να έχουν µελετηθεί τα αντίστοιχα µαθήµατα 1..8 της γλώσσας προγραµµατισµού C.
  3. 3. A. Θεωρία 1. ∆ιαπέραση Πίνακα 1. Άθροισµα Στοιχείων Πίνακα 3∆ηµήτρης Ψούνης, Αλγόριθµοι σε C, Μάθηµα 1: ∆ιαπέραση Πίνακα Με τον όρο «∆ιαπέραση Πίνακα» εννοούµε ότι κάνουµε µια απλή διάσχιση του πίνακα µε µία επανάληψη και µε µόνο ένα πέρασµα του πίνακα µπορούµε να υπολογίσουµε µια ποσότητα. Είδαµε στα πρώτα µαθήµατα της C µερικά µεγέθη τα οποία µπορούµε να υπολογίσουµε µε ένα απλό πέρασµα του πίνακα: • Το Άθροισµα των Στοιχείων του Πίνακα • Το Γινόµενο των Στοιχείων του Πίνακα • Ο Μέγιστος των Στοιχείων του Πίνακα • Ο Ελάχιστος των Στοιχείων του Πίνακα • Ο Μέσος Όρος των Στοιχείων του Πίνακα
  4. 4. A. Θεωρία 1. ∆ιαπέραση Πίνακα 1. Άθροισµα Στοιχείων Πίνακα ∆ηµήτρης Ψούνης, Αλγόριθµοι σε C, Μάθηµα 1: ∆ιαπέραση Πίνακα 4 Ο ακόλουθος αλγόριθµος υπολογίζει το ελάχιστο στοιχείο ενός πίνακα ακεραίων PIN µε N στοιχεία και το αποθηκεύει σε µία µεταβλητή min: sum=0; for (i=0; i<N; i++) { sum+=PIN[i]; } Άσκηση 1: «Τρέξτε» ένα παράδειγµα εκτέλεσης µε το χέρι, αν PIN=[6,4,2,7,3]. Άσκηση 2: Αφού µελετήσετε το πρόγραµµα sum_program.c κατασκευάσετε συνάρτηση που παίρνει ως όρισµα έναν πίνακα ακεραίων και επιστρέφει το άθροισµα των στοιχείων του πίνακα.
  5. 5. A. Θεωρία 1. ∆ιαπέραση Πίνακα 2. Γινόµενο Στοιχείων Πίνακα ∆ηµήτρης Ψούνης, Αλγόριθµοι σε C, Μάθηµα 1: ∆ιαπέραση Πίνακα 5 Ο ακόλουθος αλγόριθµος υπολογίζει το ελάχιστο στοιχείο ενός πίνακα ακεραίων PIN µε N στοιχεία και το αποθηκεύει σε µία µεταβλητή min: prod=1; for (i=0; i<N; i++) { prod*=PIN[i]; } Άσκηση 1: «Τρέξτε» ένα παράδειγµα εκτέλεσης µε το χέρι, αν PIN=[6,4,2,1,3]. Άσκηση 2: Αφού µελετήσετε το πρόγραµµα prod_program.c κατασκευάσετε συνάρτηση που παίρνει ως όρισµα έναν πίνακα ακεραίων και επιστρέφει το άθροισµα των στοιχείων του πίνακα
  6. 6. A. Θεωρία 1. ∆ιαπέραση Πίνακα 3. Μέγιστος Στοιχείων Πίνακα ∆ηµήτρης Ψούνης, Αλγόριθµοι σε C, Μάθηµα 1: ∆ιαπέραση Πίνακα 6 Ο ακόλουθος αλγόριθµος υπολογίζει το ελάχιστο στοιχείο ενός πίνακα ακεραίων PIN µε N στοιχεία και το αποθηκεύει σε µία µεταβλητή min: max=PIN[0]; for (i=1; i<N; i++) { if (PIN[i]>max) max=PIN[i]; } Άσκηση 1: «Τρέξτε» ένα παράδειγµα εκτέλεσης µε το χέρι, αν PIN=[4,2,6,1,3]. Άσκηση 2: Αφού µελετήσετε το πρόγραµµα max_program.c κατασκευάσετε συνάρτηση που παίρνει ως όρισµα έναν πίνακα ακεραίων και επιστρέφει το µέγιστο στοιχείο του πίνακα.
  7. 7. A. Θεωρία 1. ∆ιαπέραση Πίνακα 4. Ελάχιστος Στοιχείων Πίνακα ∆ηµήτρης Ψούνης, Αλγόριθµοι σε C, Μάθηµα 1: ∆ιαπέραση Πίνακα 7 Ο ακόλουθος αλγόριθµος υπολογίζει το ελάχιστο στοιχείο ενός πίνακα ακεραίων PIN µε N στοιχεία και το αποθηκεύει σε µία µεταβλητή min: min=PIN[0]; for (i=1; i<N; i++) { if (PIN[i]<min) min=PIN[i]; } Άσκηση 1: «Τρέξτε» ένα παράδειγµα εκτέλεσης µε το χέρι, αν PIN=[4,2,6,1,3]. Άσκηση 2: Αφού µελετήσετε το πρόγραµµα min_program.c κατασκευάσετε συνάρτηση που παίρνει ως όρισµα έναν πίνακα ακεραίων και επιστρέφει το µέγιστο στοιχείο του πίνακα.
  8. 8. A. Θεωρία 1. ∆ιαπέραση Πίνακα 5. Μέσος Όρος Στοιχείων Πίνακα ∆ηµήτρης Ψούνης, Αλγόριθµοι σε C, Μάθηµα 1: ∆ιαπέραση Πίνακα 8 Ο ακόλουθος αλγόριθµος υπολογίζει το ελάχιστο στοιχείο ενός πίνακα ακεραίων PIN µε N στοιχεία και το αποθηκεύει σε µία µεταβλητή min: sum=0; for (i=0; i<N; i++) { sum=sum+PIN[i]; } mo=sum/(float)N; Άσκηση 1: «Τρέξτε» ένα παράδειγµα εκτέλεσης µε το χέρι, αν PIN=[4,2,6,1,3]. Άσκηση 2: Αφού µελετήσετε το πρόγραµµα mo_program.c κατασκευάσετε συνάρτηση που παίρνει ως όρισµα έναν πίνακα ακεραίων και επιστρέφει το µέγιστο στοιχείο του πίνακα.
  9. 9. Β. Ασκήσεις Εφαρµογή 1: 1ος και 2ος µέγιστος πίνακα ∆ηµήτρης Ψούνης, Αλγόριθµοι σε C, Μάθηµα 1: ∆ιαπέραση Πίνακα 9 Γράψτε µία συνάρτηση στην γλώσσα C η οποία: ∆έχεται ως όρισµα έναν πίνακα ακεραίων n στοιχείων Επιστρέφει τον 1ο και τον 2ο µεγαλύτερο αριθµό του πίνακα Γράψτε µία main η οποία να αναδεικνύει την συνάρτηση αυτή (αρχικοποίηση του πίνακα µε τυχαίους αριθµούς, υπολογισµός του µέγιστου και του δεύτερου µέγιστου και εκτύπωσή τους)
  10. 10. Β. Ασκήσεις Εφαρµογή 2: Υπολογισµός Αθροίσµατος Τετραγώνων ∆ηµήτρης Ψούνης, Αλγόριθµοι σε C, Μάθηµα 1: ∆ιαπέραση Πίνακα 10 Γράψτε µία συνάρτηση στην γλώσσα C η οποία: ∆έχεται ως όρισµα έναν πίνακα ακεραίων n στοιχείων Υπολογίζει το άθροισµα των τετραγώνων των στοιχείων του πίνακα και το επιστρέφει Γράψτε µία main η οποία να αναδεικνύει την συνάρτηση αυτή
  11. 11. Β. Ασκήσεις Εφαρµογή 3: Υπολογισµός Πλήθους Εµφανίσεων Στοιχείου ∆ηµήτρης Ψούνης, Αλγόριθµοι σε C, Μάθηµα 1: ∆ιαπέραση Πίνακα 11 Γράψτε µία συνάρτηση στην γλώσσα C η οποία: ∆έχεται ως όρισµα έναν πίνακα ακεραίων n στοιχείων και ένα στοιχείο x Υπολογίζει το πλήθος των εµφανίσεων του στοιχείου x και το επιστρέφει. Γράψτε µία main η οποία να αναδεικνύει την συνάρτηση αυτή
  12. 12. Β. Ασκήσεις Εφαρµογή 4: Επαναληπτικός Υπολογισµός Ακολουθίας Fibonacci ∆ηµήτρης Ψούνης, Αλγόριθµοι σε C, Μάθηµα 1: ∆ιαπέραση Πίνακα 12 Γράψτε µία συνάρτηση στην γλώσσα C η οποία: ∆έχεται ως όρισµα έναν πίνακα ακεραίων n στοιχείων Υπολογίζει και αποθηκεύει τους n πρώτους αριθµούς Fibonacci και τους αποθηκεύει στον πίνακα (να χρησιµοποιηθεί επανάληψη) Γράψτε µία main η οποία να αναδεικνύει την συνάρτηση αυτή Σηµείωση: Η ακολουθία Fibonacci ορίζεται ως: Fn=Fn-1+Fn-2, για n>2 F2=1 F1=1

×