Αποστολέας Θέμα: ΠΙΝΑΚΕΣ ΣΕ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ  (Αναγνώστηκε 9161 φορές)

ΑΚ

  • Επισκέπτης
ΠΙΝΑΚΕΣ ΣΕ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
« στις: 01 Μάρ 2006, 01:56:02 μμ »
Να γράψετε πρόγραμμα που
Στο κυρίως μέρος:
α) διαβάζει 50 ακεραίους και τους αποθηκεύει σε πίνακα με όνομα Α.
β) διαβάζει 1000 ακεραίους και τους αποθηκεύει σε πίνακα με όνομα Β.
γ) καλεί την διαδικασία ταξινόμηση με παράμετρο τον πίνακα
δ) καλεί την διαδικασία ταξινόμηση (ακολουθεί υποερώτημα) με παράμετρο τον πίνακα Β
ε) εμφανίζει τα στοιχεία των πινάκων Α και Β.
στ) να γράψετε την διαδικασία Ταξινόμηση που δέχεται έναν πίνακα και τον επιστρέφει ταξινομημένο (χρήση φυσαλίδας).

Το ερώτημα είναι: πως θα γίνει η δήλωση του πίνακα στην διαδικασία;

AK

  • Επισκέπτης
Απ: ΠΙΝΑΚΕΣ ΣΕ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
« Απάντηση #1 στις: 01 Μάρ 2006, 01:59:17 μμ »
στο τέλος του ερωτήματος γ να προστεθεί: Α
 

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3147
  • to Iterate is human to Recurse divine
Απ: ΠΙΝΑΚΕΣ ΣΕ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
« Απάντηση #2 στις: 01 Μάρ 2006, 02:18:03 μμ »
Ο πίνακας ορίζεται κανονικά όπως και στο πρόγραμμα στη λίστα δηλώσεων της διαδικασίας.
Το πρόβλημα εδώ είναι άλλο. Δεν μπορείς να χρησιμοποιήσεις την ίδια διαδικασία ταξινόμησης και για τους δυο πίνακες γιατί είναι διαφορετικού τύπου. Θα πρέπει να ορίσεις άλλη διαδικασία ταξινόμησης για τον Α και άλλη για τον Β.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Παναγιώτης Τσιωτάκης

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3190
  • I love you 3000
    • Panagiotis Tsiotakis
Απ: ΠΙΝΑΚΕΣ ΣΕ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
« Απάντηση #3 στις: 01 Μάρ 2006, 03:46:57 μμ »
ΔΙΑΔΙΚΑΣΙΑ Ταξινόμηση (Πλήθος, ΠΙΝΑΚΑΣ)
ΣΤΑΘΕΡΕΣ
   Ν = 50000  ! μέγιστο πλήθος
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: ΠΙΝΑΚΑΣ[Ν], βοηθ
  ΑΚΕΡΑΙΕΣ : Πλήθος, i, j
ΑΡΧΗ
  ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ Πλήθος
    ΓΙΑ j ΑΠΟ Πλήθος ΜΕΧΡΙ i ΜΕ ΒΗΜΑ -1
      ΑΝ (ΠΙΝΑΚΑΣ[j-1] > ΠΙΝΑΚΑΣ[j]) ΤΟΤΕ ! αύξουσα ταξινόμηση
         βοηθ <- ΠΙΝΑΚΑΣ[j-1]
         ΠΙΝΑΚΑΣ[j-1] <- ΠΙΝΑΚΑΣ[j]
         ΠΙΝΑΚΑΣ[j] <- βοηθ
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ


ερώτημα α.
Πλήθος <- 50
ΚΑΛΕΣΕ Ταξινόμηση (Πλήθος, Α)


ερώτημα β.
Πλήθος <- 1000
ΚΑΛΕΣΕ Ταξινόμηση (Πλήθος, Α)

Δεν μπορούμε στην παραπάνω διαδικασία να δώσουμε ως είσοδο πίνακα μεγαλύτερο από 50.000 θέσεις
Ναι, χαραμίζουμε στην πρώτη περίπτωση 49.950 θέσεις και στην δεύτερη 49.000, ε και τι μ' αυτό;

Με εκτίμηση,

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3147
  • to Iterate is human to Recurse divine
Απ: ΠΙΝΑΚΕΣ ΣΕ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
« Απάντηση #4 στις: 01 Μάρ 2006, 07:01:22 μμ »
Συμφωνώ μαζί σου απλά θέλω να σημειώσω ότι το μοναδικό μάθημα, σε όλες τις εκπαιδευτικές βαθμίδες στις οποίες διδάσκεται προγραμματισμός Η/Υ (ΑΕΙ, ΤΕΙ, ΙΕΚ, ΤΕΕ, Λύκειο), στο οποίο το παρακάτω πρόγραμμα θεωρείται σωστό είναι μόνο το μάθημα της Ανάπτυξης Εφαρμογών της Γ' Λύκειου και κανένα άλλο.
   Το να χαραμίζεις τόσες θέσεις μνήμης δε νομίζω ότι έχει μεγάλη διαφορά από το να αλλάζεις το μετρητή μέσα στην επανάληψη ΓΙΑ. Και τα δυο ισχύουν σε όλες τις γλώσσες προγραμματισμού αλλά κανείς δεν τα θεωρεί καλή πρακτική.
Μάλλον είναι από τα πράγματα που θα πρέπει να αλλάξουν στο μάθημα μαζί με κάποια θέματα απόδοσης αλγορίθμων

ΔΙΑΔΙΚΑΣΙΑ Ταξινόμηση (Πλήθος, ΠΙΝΑΚΑΣ)
ΣΤΑΘΕΡΕΣ
 Ν = 50000 ! μέγιστο πλήθος
ΜΕΤΑΒΛΗΤΕΣ
 ΑΚΕΡΑΙΕΣ: ΠΙΝΑΚΑΣ[Ν], βοηθ
 ΑΚΕΡΑΙΕΣ : Πλήθος, i, j
ΑΡΧΗ
 ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ Πλήθος
 ΓΙΑ j ΑΠΟ Πλήθος ΜΕΧΡΙ i ΜΕ ΒΗΜΑ -1
 ΑΝ (ΠΙΝΑΚΑΣ[j-1] > ΠΙΝΑΚΑΣ[j]) ΤΟΤΕ ! αύξουσα ταξινόμηση
 βοηθ <- ΠΙΝΑΚΑΣ[j-1]
 ΠΙΝΑΚΑΣ[j-1] <- ΠΙΝΑΚΑΣ[j]
 ΠΙΝΑΚΑΣ[j] <- βοηθ
 ΤΕΛΟΣ_ΑΝ
 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ


ερώτημα α.
Πλήθος <- 50
ΚΑΛΕΣΕ Ταξινόμηση (Πλήθος, Α)


ερώτημα β.
Πλήθος <- 1000
ΚΑΛΕΣΕ Ταξινόμηση (Πλήθος, Α)

Δεν μπορούμε στην παραπάνω διαδικασία να δώσουμε ως είσοδο πίνακα μεγαλύτερο από 50.000 θέσεις
Ναι, χαραμίζουμε στην πρώτη περίπτωση 49.950 θέσεις και στην δεύτερη 49.000, ε και τι μ' αυτό;

Με εκτίμηση,
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

gpapargi

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2450
  • I 'm not young enough to know everything
Απ: ΠΙΝΑΚΕΣ ΣΕ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
« Απάντηση #5 στις: 01 Μάρ 2006, 11:08:52 μμ »
Υπάρχει ένα θέμα πάνω στα υποπρογράμματα που με έχει απασχολήσει αρκετά. Από ότι καταλαβαίνω σύμφωνα με τον τρόπο που έχει υλοποιηθεί η ΓΛΩΣΣΑ, όταν ένας πίνακας είναι παράμετρος, τότε περνάνε σαν παράμετροι από το πρόγραμμα προς το υποπρόγραμμα όλα τα στοιχεία του πίνακα ένα προς ένα. Επειδή το πλήθος των παραμέτρων σε πρόγραμμα και υποπρόγραμμα πρέπει να είναι το ίδιο φοβάμαι πως ο πίνακας θα πρέπει να έχει το ίδιο πλήθος στοιχείων και στα 2.

Πάνω σε αυτό θα ήθελα να ακούσω και άλλες γνώμες.

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

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 5027
    • alkisg@im.sch.gr
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: ΠΙΝΑΚΕΣ ΣΕ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
« Απάντηση #6 στις: 02 Μάρ 2006, 11:02:45 πμ »
Δυστυχώς Γιώργο με το μηχανισμό copy-in/copy-out που επιβάλλει το σχολικό βιβλίο, στο θέμα της υλοποίησης είναι υποχρεωτικό οι πίνακες να έχουν το ίδιο μέγεθος (τυπική/πραγματική παράμετρος).

Αυτό γιατί με το ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ σύμφωνα με το βιβλίο πρέπει να αντιγραφεί όλος ο τοπικός πίνακας (= τυπική παράμετρος) στον "καλώντα" πίνακα (=πραγματική παράμετρος), χωρίς να δίνεται κάποιος τρόπος περιορισμού του μεγέθους που αντιγράφεται. Ακόμα και αν περάσουμε π.χ. το Ν σαν παράμετρο, δεν είναι δυνατόν ένας μεταφραστής να καταλάβει ότι η πρώτη ακέραια παράμετρος αντιστοιχεί στο πλήθος των στοιχείων που πρέπει να αντιγραφούν.

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

Αν η ΓΛΩΣΣΑ ήταν loosely-typed τα πράγματα θα ήταν διαφορετικά, θα ήταν δυνατή η μεταβίβαση πίνακα με διαφορετικό αριθμό στοιχείων.

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

ΑΚ

  • Επισκέπτης
Απ: ΠΙΝΑΚΕΣ ΣΕ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
« Απάντηση #7 στις: 02 Μάρ 2006, 01:46:27 μμ »
 Οι πίνακες είναι ιδίου τύπου (ακέραιου) αλλά διαφορετικού μεγέθους. Επειδή το μέγεθος των πινάκων είναι διαφορετικό θα πρέπει να κάνουμε και ξεχωριστή διαδικασία; Ποιο είναι επομένως το νόημα χρήσης των υποπρογραμμάτων;
Ο πίνακας ορίζεται κανονικά όπως και στο πρόγραμμα στη λίστα δηλώσεων της διαδικασίας.
Το πρόβλημα εδώ είναι άλλο. Δεν μπορείς να χρησιμοποιήσεις την ίδια διαδικασία ταξινόμησης και για τους δυο πίνακες γιατί είναι διαφορετικού τύπου. Θα πρέπει να ορίσεις άλλη διαδικασία ταξινόμησης για τον Α και άλλη για τον Β.


gpapargi

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2450
  • I 'm not young enough to know everything
Απ: ΠΙΝΑΚΕΣ ΣΕ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
« Απάντηση #8 στις: 02 Μάρ 2006, 01:50:01 μμ »
Κι εγώ δεν εκφράστηκα σωστά Άλκη. Όταν έγραψα για "τον τρόπο που έχει υλοποιηθεί η ΓΛΩΣΣΑ" εννούσα τον τρόπο που έχει οριστεί η ΓΛΩΣΣΑ μέσα στο σχολικό βιβλίο.

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

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

Το πράγμα φοβάμαι πως είναι ξεκάθαρο. Ο πίνακας πρέπει να έχει το ίδιο μέγεθος σε πρόγραμμα και υποπρόγραμμα.

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 5027
    • alkisg@im.sch.gr
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: ΠΙΝΑΚΕΣ ΣΕ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
« Απάντηση #9 στις: 02 Μάρ 2006, 02:07:18 μμ »
@AK: Συμφωνώ με το σκεπτικό σου, αλλά δεν είναι τόσο τραγικό όσο ακούγεται. Μπορούμε π.χ. να δηλώσουμε τους πίνακες έτσι ώστε να έχουν το ίδιο μέγεθος και ας χρησιμοποιούμε λιγότερες θέσεις (αυτό που είπε και ο Παναγιώτης παραπάνω - ίσως όχι τόσο εξτρεμιστικά ;)). Τα ίδια πράγματα ισχύουν και στην Pascal (εκτός κι αν επιλέξει κάποιος να περάσει pointer και όχι πίνακα).

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

[glossa]ΔΙΑΔΙΚΑΣΙΑ ΕκτύπωσηΔισδιάστατουΠίνακα(Α)
ΜΕΤΑΒΛΗΤΕΣ
  ΠΡΑΓΜΑΤΙΚΕΣ: Α[?, ?] !Ένα θέμα εδώ, με τι διάσταση πρέπει να δηλωθεί;
  ΑΚΕΡΑΙΕΣ: ι, κ
ΑΡΧΗ
  ΓΙΑ ι από 1 μέχρι ΠάνωΌριοΠίνακα(Α, 1) !Το πάνω όριο της πρώτης διάστασης
    ΓΙΑ κ από 1 μέχρι ΠάνωΌριοΠίνακα(Α, 2) !Το πάνω όριο της δεύτερης διάστασης
      ΓΡΑΨΕ Α[ι, κ]
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ[/glossa]

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

Ένας άλλος τρόπος θα ήταν να έχουμε "μαγικές δηλώσεις", π.χ.
ΠΡΑΓΜΑΤΙΚΕΣ: Α[Ν, Μ]
και αυτόματα να θεωρείται ότι δηλώθηκαν δυο σταθερές, οι Ν και οι Μ, οι οποίες θα είναι διαφορετικές σε κάθε εκτέλεση του υποπρογράμματος, και εκφράζουν τις διαστάσεις του πίνακα... Πάλι δύσκολο να το εξηγήσεις.

Αυτό που προσπαθώ να πω είναι ότι θα δυσκόλευε κι εμάς και τα παιδιά.

kinik

  • Επισκέπτης
Απ: ΠΙΝΑΚΕΣ ΣΕ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
« Απάντηση #10 στις: 03 Μάρ 2006, 11:02:15 πμ »
Αυτό το τρόπο δήλωσης και κλήσης υποπρογράμματος όπου περνάμε τον πίνακα και το μέγεθος του πίνακα το συναντάμε στη C όπου ουσιαστικά το όνομα του πίνακα είναι ένας δείκτης.

Vangelis

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 786
  • Για ακούτε και κανένα μεγαλύτερο!!!
Απ: ΠΙΝΑΚΕΣ ΣΕ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
« Απάντηση #11 στις: 03 Μάρ 2006, 09:09:55 μμ »
Εδώ οι άλλοι σκέφτονται να καταργήσουν το μάθημα και εμείς "μαλώνουμε" για το είδος της γλώσσας προγραμματισμού που πρέπει να χρησιμοποιήσουμε.
Μήπως πρέπει να ξαναδιαβάσουμε την συζήτηση  για το σκοπό του μαθήματος;

Βαγγέλης   

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3147
  • to Iterate is human to Recurse divine
Απ: ΠΙΝΑΚΕΣ ΣΕ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
« Απάντηση #12 στις: 04 Μάρ 2006, 12:49:18 μμ »
Τελικά γνωρίζουμε τι θα γίνει με αυτό το θέμα; Θα καταργηθεί το μάθημα της ΑΕΠΠ και ο καθηγητής πληροφορικής θα έχει υποβοηθητικό ρόλο στο σχολείο? Κάτι σαν διοικητικός υπάλληλος δηλαδή?  Για τι χρονικό όρίζοντα μιλάμε?
 

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

Βαγγέλης
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

xara_pap

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 126
Απ: ΠΙΝΑΚΕΣ ΣΕ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
« Απάντηση #13 στις: 12 Μάρ 2013, 04:31:32 μμ »
ΔΙΑΔΙΚΑΣΙΑ Ταξινόμηση (Πλήθος, ΠΙΝΑΚΑΣ)
ΣΤΑΘΕΡΕΣ
   Ν = 50000  ! μέγιστο πλήθος
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: ΠΙΝΑΚΑΣ[Ν], βοηθ
  ΑΚΕΡΑΙΕΣ : Πλήθος, i, j
ΑΡΧΗ
  ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ Πλήθος
    ΓΙΑ j ΑΠΟ Πλήθος ΜΕΧΡΙ i ΜΕ ΒΗΜΑ -1
      ΑΝ (ΠΙΝΑΚΑΣ[j-1] > ΠΙΝΑΚΑΣ[j]) ΤΟΤΕ ! αύξουσα ταξινόμηση
         βοηθ <- ΠΙΝΑΚΑΣ[j-1]
         ΠΙΝΑΚΑΣ[j-1] <- ΠΙΝΑΚΑΣ[j]
         ΠΙΝΑΚΑΣ[j] <- βοηθ
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ


ερώτημα α.
Πλήθος <- 50
ΚΑΛΕΣΕ Ταξινόμηση (Πλήθος, Α)


ερώτημα β.
Πλήθος <- 1000
ΚΑΛΕΣΕ Ταξινόμηση (Πλήθος, Α)

Δεν μπορούμε στην παραπάνω διαδικασία να δώσουμε ως είσοδο πίνακα μεγαλύτερο από 50.000 θέσεις
Ναι, χαραμίζουμε στην πρώτη περίπτωση 49.950 θέσεις και στην δεύτερη 49.000, ε και τι μ' αυτό;

Με εκτίμηση,

Κυριε Τσιωτάκη,
στο κυρίως πρόγραμμα οι πίνακες Α και Β θα είναι δηλωμένοι για 50000 θέσεις ή Α[50] και Β[100]?
Ευχαριστώ

Καρκαμάνης Γεώργιος

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 1089
Απ: ΠΙΝΑΚΕΣ ΣΕ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
« Απάντηση #14 στις: 15 Μάρ 2013, 11:44:10 μμ »
Θεωρητικά μπορεί να είναι στο πρόγραμμα δηλωμένος ο πίνακας και ως Α[50], και να αντιγράφεται  σε υποπρόγραμμα σε έναν μεγαλύτερο σε μέγεθος πίνακα

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