Αποστολέας Θέμα: Διαδικασία και στοιχεία πινάκων  (Αναγνώστηκε 2769 φορές)

pthomop

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 313
Διαδικασία και στοιχεία πινάκων
« στις: 15 Απρ 2009, 10:54:34 πμ »
Καλημέρα παιδιά. Ειναι επιτρεπτό να στείλω μεμονωμένα κάποιο στοιχείο του πίνακα σε μια διαδικασία? Για παράδειγμα:

Κώδικας: [Επιλογή]
Για i απο 1 μέχρι 10
  Διαβασε Α[Ι]
  Κάλεσε ΔΙΑΔ(Α[i],sum)
Tελος_επαναληψης

Κάνοντας την υπόθεση το στοχείο του πίνακα να προστεθεί με κάποιες άλλες τυπικές μεταβλητές της διαδικασίας και να επιστραφεί το άθροισμά τους.
Συνάδελφος μου είπε οτι κατι τετοιο δεν είναι επιτρεπτό. Εσεις τι λετε ?
« Τελευταία τροποποίηση: 15 Απρ 2009, 11:51:41 πμ από sstergou »

sstergou

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 986
Απ: Διαδικασία και στοιχεία πινάκων
« Απάντηση #1 στις: 15 Απρ 2009, 11:28:02 πμ »
Μπορείς, μόνο που πρέπει κατά την κλήση της διαδικασίας να στείλεις ένα μόνο στοιχείο και όχι όλο τον πίνακα, δηλαδή στο συγκεκριμένο παράδειγμα :
Κώδικας: [Επιλογή]
Κάλεσε Διαδ(α[i], sum)
edit: Απ'ότι είδα αυτό έχεις γράψει κι εσύ, αλλά επειδή δεν το έχεις βάλει ανάμεσα σε περιοχή κώδικα
Κώδικας: [Επιλογή]
[code][\code] το smf νομίζει ότι γράφεις bbcode και έτσι σου έφαγε τις αγκύλες και το i. Το διορθώνω
« Τελευταία τροποποίηση: 15 Απρ 2009, 03:12:38 μμ από sstergou »

gpapargi

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2465
  • I 'm not young enough to know everything
Απ: Διαδικασία και στοιχεία πινάκων
« Απάντηση #2 στις: 15 Απρ 2009, 12:17:08 μμ »
Το στοιχείο του πίνακα είναι μεταβλητή, άρα μπορείς όπως μπορείς για κάθε μεταβλητή.
Αυτό από συντακτική άποψη.
Η δική μου ένσταση αφορά καθαρά τη φιλοσοφία του τμηματικού προγραμματισμού. Γιατί να κάνεις κάτι με υποπρόγραμμα τη στιγμή που γίνεται απλούστερα χωρίς αυτό;
Ο τμηματικός προγραμματισμός είναι για να κάνουμε τη ζωή μας ευκολότερη και όχι για να εισάγουμε δυσκολία με τεχνητό τρόπο.

pthomop

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 313
Απ: Διαδικασία και στοιχεία πινάκων
« Απάντηση #3 στις: 15 Απρ 2009, 06:10:28 μμ »
Eυχαριστώ για την απάντηση. Περσι στο 3ο  Θέμα μερικά παιδιά χρησιμοποίησαν πίνακα με τα αυτοκίνητα και έστελναν το στοιχείο του πίνακα στην διαδικασία για τον υπολογισμό της χρέωσης.

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

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 1142
Απ: Διαδικασία και στοιχεία πινάκων
« Απάντηση #4 στις: 16 Απρ 2009, 12:39:32 πμ »
όταν περνάμε στοιχείο πινάκα σε υποπρόγραμμα, χρειάζεται προσοχη κατά την δήλωση του υποπρογράμματος όπου η αντίστοιχη τυπική παράμετρος που θα δεχτεί το στοιχείο του πινάκα να είναι μεταβλητή και όχι στοιχείο πίνακα.

NickTG

  • Νέος
  • *
  • Μηνύματα: 5
Απ: Διαδικασία και στοιχεία πινάκων
« Απάντηση #5 στις: 10 Απρ 2021, 05:49:19 μμ »
Δεν ξέρω αν πρέπει να ανοίξω καινούριο θέμα.
Επείδη είναι κάτι αντίστοιχο (και επειδη εκανα και κοπο να το βρω το θεμα :P )..

Αν εχω εναν δισδιάστατο πίνακα μπορώ να στελνω σε διαδικασια καποια γραμμη και αυτη να τη διαχειριζεται σαν μονοδιαστατο?

Εστω ενας πινακας ακεραιων πχ. ΔΙΣΔΙΑΣΤΑΤΟΣ[10,25]
πχ για τη ι-η γραμμη (ισως η  γραμμη να δινεται απο το χρηστη ή οτιδηποτε) μπορω να κανω :
....
ΓΙΑ ι ΑΠΟ 3 ΜΕΧΡΙ 7
  ΚΑΛΕΣΕ ΔΙΑΔ(ΔΙΣΔΙΑΣΤΑΤΟΣ[ι])
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
...
ΔΙΑΔΙΚΑΣΙΑ ΔΙΑΔ(ΜΟΝ_ΠΙΝ)
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: ΜΟΝ_ΠΙΝ[25]
ΑΡΧΗ
 
  ΓΡΑΨΕ "......................."
 
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
...
Φανταζομαι οχι?
Δηλαδη ασχετως με το τι θελω να κανω σε εναν δισδιαστατο μεσω συναρτησης ή διαδικασίας παντα πρεπει να στελνω ολοκληρο τον δισδιαστατο και μετα αναλογα παιζω με γραμμες και στηλες?

Ευχαριστώ..

andreas_p

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 1067
Απ: Διαδικασία και στοιχεία πινάκων
« Απάντηση #6 στις: 10 Απρ 2021, 09:30:56 μμ »
ΟΧΙ !

ΓΙΑ ι ΑΠΟ 3 ΜΕΧΡΙ 7
  ΚΑΛΕΣΕ ΔΙΑΔ(ΔΙΣΔΙΑΣΤΑΤΟΣ[ι])
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
...
ΔΙΑΔΙΚΑΣΙΑ ΔΙΑΔ(ΜΟΝ_ΠΙΝ)
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: ΜΟΝ_ΠΙΝ[25]
ΑΡΧΗ
 
  ΓΡΑΨΕ "......................."
 
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
.
ΝΑΙ.

ΓΙΑ ι ΑΠΟ 3 ΜΕΧΡΙ 7
  ΚΑΛΕΣΕ ΔΙΑΔ(ΔΙΣΔΙΑΣΤΑΤΟΣ, ι)
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
...
ΔΙΑΔΙΚΑΣΙΑ ΔΙΑΔ(ΠΙΝ, Γ)
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: ΠΙΝ[10,25], Γ
ΑΡΧΗ
 
  ΓΡΑΨΕ "......................."
 
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
...

NickTG

  • Νέος
  • *
  • Μηνύματα: 5
Απ: Διαδικασία και στοιχεία πινάκων
« Απάντηση #7 στις: 11 Απρ 2021, 01:53:16 πμ »
Άρα η εκφώνηση του τύπου :

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

Είναι λανθασμένη?

petrosp13

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 2349
Απ: Διαδικασία και στοιχεία πινάκων
« Απάντηση #8 στις: 11 Απρ 2021, 01:59:19 πμ »
Λανθασμένη δεν είναι αλλά απαιτεί να αντιγράψεις τον δισδιάστατο σε μονοδιάστατο, να καλέσεις το υποπρόγραμμα και να αντιγράψεις τον μονοδιάστατο πίσω στον δισδιάστατο!!
Εκτός αν εννοείς ότι θα ταξινομεί κάθε γραμμή (ή στήλη), οπότε η μόνη αλλαγή είναι ότι θα αντιγράφεις μέσα σε επανάληψη την γραμμή (ή στήλη) σε μονοδιάστατο, θα καλείς το υποπρόγραμμα και θα αντιγράφεις τελικά πίσω τον μονοδιάστατο στην γραμμή (ή στήλη)
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

ripper

  • Νέος
  • *
  • Μηνύματα: 8
Απ: Διαδικασία και στοιχεία πινάκων
« Απάντηση #9 στις: 11 Απρ 2021, 03:06:24 μμ »
Φανταζομαι οχι?
Δηλαδη ασχετως με το τι θελω να κανω σε εναν δισδιαστατο μεσω συναρτησης ή διαδικασίας παντα πρεπει να στελνω ολοκληρο τον δισδιαστατο και μετα αναλογα παιζω με γραμμες και στηλες?

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

Κώδικας: [Επιλογή]
ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ 10
  ΚΑΛΕΣΕ ΔΙΑΔ(ΔΙΣΔΙΑΣΤΑΤΟΣ,ι)
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
...
ΔΙΑΔΙΚΑΣΙΑ ΔΙΑΔ(Π,Ι)
ΜΕΤΑΒΛΗΤΕΣ
  ......
ΑΡΧΗ
  ΑΘΡ <- 0
  ΓΙΑ Ξ ΑΠΟ 1 ΜΕΧΡΙ 25
      ΑΘΡ <- ΑΘΡ + Π[Ι,Ξ]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
   ΓΡΑΨΕ ΑΘΡ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ



Κώδικας: [Επιλογή]
ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ 10
  ΓΙΑ Ξ ΑΠΟ 1 ΜΕΧΡΙ 25
      ΝΕΟ[Ξ] <- ΔΙΣΔΙΑΣΤΑΤΟΣ[Ι,Ξ]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ         
  ΚΑΛΕΣΕ ΔΙΑΔ(ΝΕΟ)
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
...
ΔΙΑΔΙΚΑΣΙΑ ΔΙΑΔ(Π)
ΜΕΤΑΒΛΗΤΕΣ
  ...
ΑΡΧΗ
  ΑΘΡ <- 0
  ΓΙΑ Ξ ΑΠΟ 1 ΜΕΧΡΙ 25
      ΑΘΡ <- ΑΘΡ + Π[Ξ]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
   ΓΡΑΨΕ ΑΘΡ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

NickTG

  • Νέος
  • *
  • Μηνύματα: 5
Απ: Διαδικασία και στοιχεία πινάκων
« Απάντηση #10 στις: 14 Απρ 2021, 01:14:19 πμ »
Ευχαριστω πολύ παιδια.
Καταλαβα αρα ειτε η αντιγραφη σε εναν νεο πινακα, ειτε το να στειλω ολοκληρο το δισδιαστατο ειναι αναγκαστικό ..
Αρα η γλωσσα δουλευει με "πραγματικους-αληθινους" πινακες και οχι πινακες που μπορουν να εχουν πινακες για στοιχεια τους

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

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 1142
Απ: Διαδικασία και στοιχεία πινάκων
« Απάντηση #11 στις: 16 Απρ 2021, 10:03:22 πμ »
Ευχαριστω πολύ παιδια.
Καταλαβα αρα ειτε η αντιγραφη σε εναν νεο πινακα, ειτε το να στειλω ολοκληρο το δισδιαστατο ειναι αναγκαστικό ..
Αρα η γλωσσα δουλευει με "πραγματικους-αληθινους" πινακες και οχι πινακες που μπορουν να εχουν πινακες για στοιχεια τους
Ως προς το κομμάτι της αντιγραφής πίνακα σε γενικές γραμμές ισχύει:
- ένας μονοδιάστατος πίνακας μπορεί να αντιγραφεί σε έναν μονοδιάστατο ή σε μια γραμμή/στήλη ενός δισδιάστατου

- ένας δισδιάστατος πίνακα μπορεί να αντιγραφεί ολόκληρος ή μέρος του σε έναν δισδιάστατο πίνακα

-μια γραμμή/στήλη ενός δισδιάστατου πίνακα μπορεί να αντιγραφεί σε έναν μονοδιάστατο πίνακα

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

Γενικά καλό είναι να θυμόμαστε το πως λειτουργεί η ΓΛΩΣΣΑ για τις ανάγκες του μαθήματος και όχι ως μια πραγματική γλώσσα προγραμματισμού που σαφώς αντιμετωπίζουν τους πίνακες με άλλη λογική


George Eco

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 421
Απ: Διαδικασία και στοιχεία πινάκων
« Απάντηση #12 στις: 16 Απρ 2021, 10:27:30 πμ »

Γενικά καλό είναι να θυμόμαστε το πως λειτουργεί η ΓΛΩΣΣΑ για τις ανάγκες του μαθήματος και όχι ως μια πραγματική γλώσσα προγραμματισμού που σαφώς αντιμετωπίζουν τους πίνακες με άλλη λογική

Νομίζω πως ο κος Καρκαμάνης το έθεσε τέλεια το θέμα. Συμφωνώ 100% μαζί του και δεν έχω να συμπληρώσω κάτι. Πρέπει πάντα να έχουμε κατά νου τα πλαίσια του μαθήματος και τους στόχους του, οι οποίοι άλλωστε εξετάζονται και στις Πανελλήνιες αν μη τι άλλο!

NickTG

  • Νέος
  • *
  • Μηνύματα: 5
Απ: Διαδικασία και στοιχεία πινάκων
« Απάντηση #13 στις: 16 Απρ 2021, 12:07:59 μμ »
Αν ήταν ξεκάθαρο τι ισχύει για τη "λειτουργία" της ΓΛΩΣΣΑΣ δε θα διαφωνούσα. .. ( κάποιοι συμφωνούμε κάποιοι όχι, σεβαστά όλα )
μην επεκταθουμε όλοι μας όμως ο καθένας με την αποψη του για θέματα που δεν είναι της παρούσης και δε θα καταλήξουν και κάπου..
Ευχαριστώ πολύ για τις διευκρινίσεις.