Αρχική ΑΕΠΠ - Δομές Δεδομένων Λειτουργικά Συστήματα Δίκτυα Υπολογιστών ΙΙ Βάσεις Δεδομένων Παιδαγωγικά - Διδακτική

Βασικές Έννοιες

Μεταβλητή - Έκφραση Δομή Ακολουθίας Δομή Επιλογής Δομή Επανάληψης

Αναπαράσταση Αλγορίθμων

Διάγραμμα Ροής

Πίνακας Τιμών

Πίνακες

Μονοδιάστατοι Δισδιάστατοι Πολυδιάστατοι Αναζήτηση Ταξινόμηση Στοίβα Ουρά

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

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

Δυναμικές Δομές

Λίστες Δέντρα Γράφοι

 Ιστορικό Πρόσφατες αλλαγές Εκτύπωση Αναζήτηση

Ιστορικό: DataStructures.SingleArray-Theory

Εμφάνιση μικρών αλλαγών - Αλλαγές κώδικα

18-02-2008 (17:58) από Aris -
Αλλαγή σειρών 37-38 από:

Εμφάνιση στοιχείων πίνακα

σε:

Εμφάνιση στοιχείων πίνακα

Αλλαγή σειρών 41-42 από:

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

  ΓΡΑΨΕ Τ[i]
σε:

ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ Ν

  ΓΡΑΨΕ Τ[Ι]
Αλλαγή σειρών 47-48 από:

Εύρεση του ελαχίστου στοιχείου ενός πίνακα

σε:

Εύρεση του ελαχίστου στοιχείου ενός πίνακα

Αλλαγή σειρών 51-54 από:

Min <- T[1] ! Θεωρούμε αυθαίρετα ότι το πρώτο στοιχείο του πίνακα έχει την ελάχιστη τιμή. ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ Ν ! Αφού η πρώτη τιμή έχει “ελεγχθεί”, ξεκινάμε από τη θέση 2.

  ΑΝ Τ[i] < Min ΤΟΤΕ	! Εξετάζεται κάθε φορά το στοιχείο στη θέση i.
    Min <- T[i]		! Αν είναι μικρότερο τότε ενημερώνεται η μεταβλητή Min.
σε:

MΙΝ <- T[1] ! Θεωρούμε αυθαίρετα ότι το πρώτο στοιχείο του πίνακα έχει την ελάχιστη τιμή. ΓΙΑ Ι ΑΠΟ 2 ΜΕΧΡΙ Ν ! Αφού η πρώτη τιμή έχει “ελεγχθεί”, ξεκινάμε από τη θέση 2.

  ΑΝ Τ[I] < MΙΝ ΤΟΤΕ  ! Εξετάζεται κάθε φορά το στοιχείο στη θέση i.
    MΙΝ <- T[Ι]       ! Αν είναι μικρότερο τότε ενημερώνεται η μεταβλητή Min.
Αλλαγή σειρών 60-63 από:

Προσοχή: Ο παραπάνω αλγόριθμος βρίσκει μόνο ποιο το ελάχιστο στοιχείο του πίνακα. Δε μας δίνει πληροφορία για το πόσα στοιχεία του πίνακα είναι ίσα με το ελάχιστο ούτε τη θέση αυτών. Για παράδειγμα, αν έχουμε τον παρακάτω πίνακα: T [14, 9, 3, 5, 7, 3] θα βρει ότι το ελάχιστο στοιχείο είναι το 3.

Αν θέλουμε να εμφανίσουμε και τη θέση που βρέθηκε το στοιχείο, τότε προσθέτουμε και μία μεταβλητή η οποία κρατάει το i.

σε:

Προσοχή: Ο παραπάνω αλγόριθμος βρίσκει μόνο ποιο είναι το ελάχιστο στοιχείο του πίνακα. Δε μας δίνει πληροφορία για το πόσα στοιχεία του πίνακα είναι ίσα με το ελάχιστο ούτε τη θέση αυτών. Για παράδειγμα, αν έχουμε τον παρακάτω πίνακα: T [14, 9, 3, 5, 7, 3] θα βρει ότι το ελάχιστο στοιχείο είναι το 3.

Αν θέλουμε να εμφανίσουμε και τη θέση που βρέθηκε το στοιχείο, τότε προσθέτουμε και μία μεταβλητή η οποία κρατάει το Ι.

Αλλαγή σειρών 66-71 από:

Min <- T[1] ! Θεωρούμε αυθαίρετα ότι το πρώτο στοιχείο του πίνακα έχει την ελάχιστη τιμή. pos <- 1 ! Η θέση στην οποία "βρέθηκε" το ελάχιστο. ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ n ! Αφού η πρώτη τιμή έχει “ελεγχθεί”, ξεκινάμε από τη θέση 2.

  ΑΝ Τ[i] < Min ΤΟΤΕ	! Εξετάζεται κάθε φορά το στοιχείο στη θέση i.
    Min <- T[i]		! Αν είναι μικρότερο τότε ενημερώνεται η μεταβλητή Min.
    pos <- i            ! Ενημερώνεται και η μεταβλητή pos με τη θέση i.
σε:

MIN <- T[1] ! Θεωρούμε αυθαίρετα ότι το πρώτο στοιχείο του πίνακα έχει την ελάχιστη τιμή. POS <- 1 ! Η θέση στην οποία "βρέθηκε" το ελάχιστο. ΓΙΑ I ΑΠΟ 2 ΜΕΧΡΙ N ! Αφού η πρώτη τιμή έχει “ελεγχθεί”, ξεκινάμε από τη θέση 2.

  ΑΝ Τ[I] < MIN ΤΟΤΕ ! Εξετάζεται κάθε φορά το στοιχείο στη θέση i.
    MIN <- T[I]      ! Αν είναι μικρότερο τότε ενημερώνεται η μεταβλητή Min.
    POS <- I         ! Ενημερώνεται και η μεταβλητή pos με τη θέση i.
Αλλαγή σειρών 79-80 από:

Εύρεση του μεγίστου στοιχείου ενός πίνακα

σε:

Εύρεση του μεγίστου στοιχείου ενός πίνακα

Αλλαγή σειρών 83-84 από:

Max <- T[1] ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ n

σε:

MAX <- T[1] ΓΙΑ I ΑΠΟ 2 ΜΕΧΡΙ N

Αλλαγή σειράς 86 από:
    Max <- T[i]
σε:
    MAX <- T[I]
Αλλαγή σειρών 94-95 από:

Υπολογισμός αθροίσματος στοιχείων πίνακα

σε:

Υπολογισμός αθροίσματος στοιχείων πίνακα

Αλλαγή σειρών 100-102 από:

Άθροισμα <- 0 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ n

  Άθροισμα <- Άθροισμα + Τ[i]
σε:

ΑΘΡΟΙΣΜΑ <- 0 ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ Ν

  ΑΘΡΟΙΣΜΑ <- ΑΘΡΟΙΣΜΑ + Τ[Ι]
Αλλαγή σειράς 106 από:

Άθροισμα <- Άθροισμα / n

σε:

ΑΘΡΟΙΣΜΑ <- ΑΘΡΟΙΣΜΑ / Ν

Αλλαγή σειρών 110-113 από:

Συγχώνευση πινάκων

Προσάρτηση ενός πίνακα στο τέλος άλλου πίνακα

σε:

Συγχώνευση πινάκων

Προσάρτηση ενός πίνακα στο τέλος άλλου πίνακα

Αλλαγή σειράς 128 από:

Πρόσθεση πινάκων

σε:

Πρόσθεση πινάκων

12-02-2008 (21:16) από Aris -
Αλλαγή σειράς 29 από:
σε:
Αλλαγή σειρών 31-33 από:

Για i από 1 μέχρι n

  Διάβασε Τ[i]

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

σε:

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

  ΔΙΑΒΑΣΕ Τ[i]

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

Αλλαγή σειράς 39 από:
σε:
Αλλαγή σειρών 41-43 από:

Για i από 1 μέχρι n

  Γράψε Τ[i]

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

σε:

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

  ΓΡΑΨΕ Τ[i]

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

Αλλαγή σειράς 49 από:
σε:
Αλλαγή σειρών 52-53 από:

Για i από 2 μέχρι n ! Αφού η πρώτη τιμή έχει “ελεγχθεί”, ξεκινάμε από τη θέση 2.

  Αν Τ[i] < Min τότε	! Εξετάζεται κάθε φορά το στοιχείο στη θέση i.
σε:

ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ Ν ! Αφού η πρώτη τιμή έχει “ελεγχθεί”, ξεκινάμε από τη θέση 2.

  ΑΝ Τ[i] < Min ΤΟΤΕ	! Εξετάζεται κάθε φορά το στοιχείο στη θέση i.
Αλλαγή σειρών 55-56 από:
  Τέλος_αν

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

σε:
  ΤΕΛΟΣ_ΑΝ

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

Αλλαγή σειράς 64 από:
σε:
Αλλαγή σειρών 68-69 από:

Για i από 2 μέχρι n ! Αφού η πρώτη τιμή έχει “ελεγχθεί”, ξεκινάμε από τη θέση 2.

  Αν Τ[i] < Min τότε	! Εξετάζεται κάθε φορά το στοιχείο στη θέση i.
σε:

ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ n ! Αφού η πρώτη τιμή έχει “ελεγχθεί”, ξεκινάμε από τη θέση 2.

  ΑΝ Τ[i] < Min ΤΟΤΕ	! Εξετάζεται κάθε φορά το στοιχείο στη θέση i.
Αλλαγή σειρών 72-73 από:
  Τέλος_αν

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

σε:
  ΤΕΛΟΣ_ΑΝ

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

Αλλαγή σειράς 81 από:
σε:
Αλλαγή σειρών 84-85 από:

Για i από 2 μέχρι n

  Αν Τ[i] > Max τότε
σε:

ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ n

  ΑΝ Τ[i] > Max ΤΟΤΕ
Αλλαγή σειρών 87-88 από:
  Τέλος_αν

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

σε:
  ΤΕΛΟΣ_ΑΝ

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

Αλλαγή σειράς 98 από:
σε:
Αλλαγή σειράς 101 από:

Για i από 1 μέχρι n

σε:

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

Αλλαγή σειράς 103 από:

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

σε:

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

Αλλαγή σειράς 117 από:
σε:
Αλλαγή σειράς 119 από:

Για i από 1 μέχρι n1

σε:

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

Αλλαγή σειρών 121-122 από:

Τέλος_επανάληψης Για i από 1 μέχρι n2

σε:

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ n2

Αλλαγή σειράς 124 από:

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

σε:

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

Αλλαγή σειράς 131 από:
σε:
Αλλαγή σειράς 133 από:

Για i από 1 μέχρι n

σε:

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

Αλλαγή σειράς 135 από:

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

σε:

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

Αλλαγή σειρών 158-159 από:

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

σε:

Από τα παραπάνω παρατηρούμε ότι οι τιμές των δεικτών (i, j) για τους δύο πίνακες δεν αυξάνονται σε κάθε βήμα, αλλά υπό συνθήκη (αυξάνεται ο μετρητής του πίνακα που έδωσε το μικρότερο στοιχείο). Αυτό σημαίνει ότι δε μπορούμε να χρησιμοποιήσουμε τη δομή ΓΙΑ. Επίσης, από το σημείο που ένα πίνακας έδωσε όλα τα στοιχεία του δεν έχει νόημα να γίνεται σύγκριση με τον άλλο πίνακα. Αυτό που χρειάζεται είναι τα υπόλοιπα στοιχεία του πίνακα που έχει ακόμη στοιχεία, να αποδοθούν στο νέο πίνακα.

Αλλαγή σειράς 162 από:
σε:
Αλλαγή σειρών 167-168 από:

Όσο i<=n1 και j<=n2 επανάλαβε

  Αν Τ1[i] < T2[j] τότε
σε:

ΟΣΟ i<=n1 ΚΑΙ j<=n2 ΕΠΑΝΑΛΑΒΕ

  ΑΝ Τ1[i] < T2[j] ΤΟΤΕ
Αλλαγή σειράς 171 από:
  αλλιώς
σε:
  ΑΛΛΙΩΣ
Αλλαγή σειράς 174 από:
  τέλος_αν
σε:
  ΤΕΛΟΣ_ΑΝ
Αλλαγή σειράς 176 από:

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

σε:

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

Αλλαγή σειρών 180-182 από:

στοιχεία για να τα αντιγράψουμε. Τώρα μπορούμε να χρησιμοποιήσουμε το Για

Αν i>n1 τότε ! Ο Τ1 δεν έχει άλλα στοιχεία, οπότε χειριζόμαστε τον Τ2

  Για l από j μέχρι n2  ! Από το σημείο που σταμάτησε ο Τ2 (j) μέχρι τέλος
σε:

στοιχεία για να τα αντιγράψουμε. Τώρα μπορούμε να χρησιμοποιήσουμε το ΓΙΑ

ΑΝ i>n1 ΤΟΤΕ ! Ο Τ1 δεν έχει άλλα στοιχεία, οπότε χειριζόμαστε τον Τ2

  ΓΙΑ l ΑΠΟ j ΜΕΧΡΙ n2  ! Από το σημείο που σταμάτησε ο Τ2 (j) μέχρι το τέλος
Αλλαγή σειρών 185-187 από:
  Τέλος_επανάληψης

αλλιώς ! Έχει τελειώσει ο Τ2

    Για l από i μέχρι n1
σε:
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΑΛΛΙΩΣ ! Έχει τελειώσει ο Τ2

    ΓΙΑ l ΑΠΟ i ΜΕΧΡΙ n1
Αλλαγή σειρών 190-191 από:
  Τέλος_επανάληψης

Τέλος_αν

σε:
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΤΕΛΟΣ_ΑΝ

11-02-2008 (21:38) από Aris -
Αλλαγή σειρών 1-5 από:
σε:
Αλλαγή σειρών 9-11 από:

Για i από 1 μέχρι n

  Τ[i] <- 0

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

σε:

ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ Ν

  Τ[Ι] <- 0

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

Αλλαγή σειρών 15-17 από:
σε:
Αλλαγή σειρών 21-23 από:

Για i από 1 μέχρι n

  Τ[i] <- i + a	! όπου a ένας πραγματικός αριθμός.

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

σε:

ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ Ν

  Τ[Ι] <- Ι + a	! όπου a ένας πραγματικός αριθμός.

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

09-02-2008 (19:14) από 127.0.0.1 -
Διαγραφή σειράς 0:
02-02-2008 (17:24) από 127.0.0.1 -
Αλλαγή σειρών 190-192 από:

@]

σε:
30-01-2008 (15:47) από Aris -
Πρόσθεση σειρών 1-190:

Τελευταία ενημέρωση: 18-02-2008 (17:58)

Copyright 2008 - Άρης Φεργάδης