Το Στέκι των Πληροφορικών

Γενικό Λύκειο => Αλγοριθμική και Προγραμματισμός => Ψευδογλώσσα => Μήνυμα ξεκίνησε από: Sergio στις 26 Φεβ 2011, 10:54:36 πμ

Τίτλος: Χρήσιμα χαρακτηριστικά του διαδικτυακού pseudoglossa
Αποστολή από: Sergio στις 26 Φεβ 2011, 10:54:36 πμ
Ίσως είναι προφανές για τους υπόλοιπους, εγώ όμως το παρατήρησα όταν το χρειάστηκα και επειδή είναι ιδαίτερα χρήσιμο είπα να το τονίσω:

1. οι μαθητές μου δουλεύουν λύσεις τους στο σπίτι και στη συνέχεια μπορούμε να τις δούμε στο εργαστήριο αφού οι εργασίες αποθηκεύονται κεντρικά, επομένως είναι προσπελάσιμες από οπουδήποτε
2. το περιβάλλον είναι διαθέσιμο οπουδήποτε υπάρχει πρόσβαση στο ιντερνετ, ανεξαρτήτως πλατφόρμας.. Χαρακτηριστικό που εκτίμησα ιδιαίτερα σήμερα που το χρησιμοποίησα από το safari του imac

Ευχαριστώ Στάθη ;)
Τίτλος: Απ: Χρήσιμα χαρακτηριστικά του διαδικτυακού pseudoglossa
Αποστολή από: sstergou στις 26 Φεβ 2011, 12:18:31 μμ
Να σαι καλά Σέργιε :)

Το αρχείο εισόδου το κοίταξες καθόλου;
Τίτλος: Απ: Χρήσιμα χαρακτηριστικά του διαδικτυακού pseudoglossa
Αποστολή από: Sergio στις 26 Φεβ 2011, 02:45:10 μμ
Το αρχείο εισόδου το κοίταξες καθόλου;

Ναι, το κοίταξα και δουλεύει τέλεια !  Το μόνο .."πρόβλημα".. είναι ότι σε δηλωτική  εντολή της μορφής:

Δεδομένα //Ν, ΠΙΝ//

και με αρχείο εισόδου:

5
5
1
3
2
4

ενώ "αγόγγυστα" δέχεται το 5 ως τιμή του Ν, δε συνεχιζει να "αναθέσει" τις επόμενες τιμές (5 1 3 2 4) στους κόμβους του πίνακα ΠΙΝ, παρά ζητάει το πλήθος των στοιχείων του πίνακα προκειμένου να προχωρήσει.  Αφού του δοθεί βέβαια το πλήθος των στοιχείων, στη συνέχεια προχωράει αυτόματα και γεμίζει τον πίνακα από το αρχείο εισόδου..

Φαντάζομαι ότι αυτό είναι αναπόφευκτο αφού δεν υπάρχει τρόπος αντιστοίχισης του Ν με το μέγεθος του πίνακα :(  Οπότε τι άλλο να κάνει; Το ζητάει !!
Τίτλος: Απ: Χρήσιμα χαρακτηριστικά του διαδικτυακού pseudoglossa
Αποστολή από: sstergou στις 26 Φεβ 2011, 05:07:14 μμ
Έτσι είναι Σέργιε... Δυστυχώς δεν υπάρχει τρόπος (ή εγώ τουλάχιστον δεν βρήκα κάποιον) για να γίνει αυτή η αντιστοίχιση.

By the way αν εσύ (ή κάποιος άλλος) παρατηρήσεις κάτι περίεργο καλό είναι να το αναφέρεις. Έχω εντοπίσει ένα πρόβλημα και ετοιμάζομαι να το φτιάξω οπότε αν υπάρχουν και άλλα καλό είναι να βγει μια νέα έκδοση που να τα λύνει όλα μαζί.

Τίτλος: Απ: Χρήσιμα χαρακτηριστικά του διαδικτυακού pseudoglossa
Αποστολή από: Sergio στις 05 Μάρ 2011, 09:22:50 πμ
Είναι αλήθεια πως δεν υπάρχει τρόπος αντιστοίχης του Π με το Ν..

Μία σκέψη μου ήρθε μόλις που ίσως μπορούσε να βοηθήσει. 

Αν δημιουργούσες εσύ μία "σύμβαση" της μορφής:

1. Στο αρχείο εισόδου, κάθε τιμή γράφεται σε ξεχωριστή γραμμή. 
2. Εφόσον οι τιμές αφορούν σε πίνακα, τότε "μπορούν" να γραφούν στην ίδια γραμμή, με τη μορφή λίστας. 
3. Το πλήθος των στοιχείων ορίζει και το μέγεθος του πίνακα
4. Η παραπάνω διαδικασία ΔΕΝ ακυρώνει τη δήλωση της μεταβλητής Ν στα δεδομένα, αφού αυτή χρειάζεται και αλλού (Για ι από 1 μέχρι Ν κ.λπ)

Εδώ βέβαια τίθεται το θέμα.. ποιός θα είναι ο separator. Θα μπορούσε να είναι το κενό.  Αν όμως είναι λίστα χαρακτήρων και κάποια τιμή περιλαμβάνει το κενό; Θα μπορούσε να είναι το κόμμα.  Και πάλι (ίσως) το ίδιο θέμα υφίσταται (λεκτικό με δύο λέξεις και κόμμα ανάμεσά τους).  Ίσως να επιλέγαμε κάποιον "σπάνιο" χαρακτήρα για separator, όπως το |
π.χ. Δεδομένα //Π, Ν//
με αρχείο εισόδου:
Στάθης Στέργου | Νίκος Αδαμόπουλος | Άλκης Γεωργόπουλος | Σέργιος Φανίκος | Παναγιώτης Τσιωτάκης
5

Άλλη λύση (λιγότερο κομψή) θα ήταν να γράφονται τα στοιχεία της λίστας (του πίνακα) σε ξεχωριστές γραμμές, αλλά να υπάρχουν "keywords" που να οριοθετούν τα στοιχεία ενός πίνακα (TOP - BOTTOM)
π.χ. Δεδομένα //Π, Ν//
με αρχείο εισόδου:
TOP
Στάθης Στέργου
Νίκος Αδαμόπουλος
Άλκης Γεωργόπουλος
Σέργιος Φανίκος
Παναγιώτης Τσιωτάκης
BOTTOM
5

Δεν ξέρω.. εσύ αξιολογείς, εσύ αποφασίζεις..

Μια ίδέα έριξα (ή δύο;)
Τίτλος: Απ: Χρήσιμα χαρακτηριστικά του διαδικτυακού pseudoglossa
Αποστολή από: alkisg στις 05 Μάρ 2011, 10:16:02 πμ
Και μια τρίτη ιδέα είναι να γράφονται σε ξεχωριστές γραμμές αλλά στην πρώτη γραμμή να μπαίνει λίστα με τις διαστάσεις του πίνακα.
Π.χ. το παρακάτω για διασδιάστατο πίνακα Α[2, 2]:
Κώδικας: [Επιλογή]
2 2
Στάθης
Σέργιος
Άλκης
Φανή
Τίτλος: Απ: Χρήσιμα χαρακτηριστικά του διαδικτυακού pseudoglossa
Αποστολή από: Sergio στις 05 Μάρ 2011, 11:25:53 πμ
Πληρέστερη η ιδέα του Άλκη..

Έτσι φαίνεται εύκολα και η διάσταση του πίνακα (μονοδιάστατος, δισδιάστατος).  Και ενώ η διάσταση δε χρειάζεται να φανεί αφού ο pseudoglossa αντιλαμβάνεται τη διάσταση του πίνακα..

/*
Για παράδειγμα, στον παρακάτω κώδικα:

Αλγόριθμος Τεστ
Δεδομένα //Π, Ν, Μ//
Σ ←  0
Για ι από 1 μέχρι Μ
   Για κ από 1 μέχρι Ν
      Σ ←  Σ + Π[ι, κ]
   Τέλος_επανάληψης
Τέλος_επανάληψης
Αποτελέσματα //Σ//
Τέλος Τεστ

.. αντιλαμβάνεται ότι ο πίνακας είναι δισδιάστατος και ζητάει να οριστεί το πλήθος για γραμμές και στήλες. 
*/


..αυτό που δε μπορεί να ξέρει, είναι πόσες είναι οι γραμμές και πόσες οι στήλες (δεδομένου ότι ένας δισδιάστατος με 6 στοιχεία μπορεί να είναι είτε ο Π[2, 3] είτε ο Π[3, 2], για να μην πούμε για τις "εκφυλισμένες" περιπτώσεις Π[1, 6] & Π[6, 1])

Επομένως νομίζω ότι, επιπλέον της παρατήρησης του Άλκη οπου επεκτείνει τη "σύμβαση" με:

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

αρκεί ( ; ) η "σύμβαση" να επεκταθεί με τους επιπλέον όρους..

6. οι τιμές παρατίθενται η μία κάτω απο την άλλη, ώστε η ανάθεση να γίνεται όπως τα στοιχεία είναι φυλαγμένα στη μνήμη, για παράδειγμα, σε πίνακα Π[2, 3]:
Π[1, 1]
Π[1, 2]
Π[1, 3]
Π[2, 1]
Π[2, 2]
Π[2, 3]


7. για όποιον ΔΕΝ ακολουθεί τη σύμβαση, ο pseudoglossa, συμπεριφέρεται όπως τώρα.. εμφανίζοντας παράθυρο διαλόγου προκειμένου να πάρει τις τιμές που ορίζουν τα μεγέθη για τις διαστάσεις υτου πίνακα

Φαντάζομαι βέβαια πως όλα τα παραπάνω ορίζονται "εντός" των επικεφαλίδων [top] & [bottom]
Τίτλος: Απ: Χρήσιμα χαρακτηριστικά του διαδικτυακού pseudoglossa
Αποστολή από: Sergio στις 05 Μάρ 2011, 11:42:43 πμ
Φαντάζομαι βέβαια πως όλα τα παραπάνω ορίζονται "εντός" των επικεφαλίδων [top] & [bottom]

ή και ΟΧΙ..

ΠΑΝΤΑ να ισχύει ο όρος 5, οπότε καταργείται ΚΑΙ ο όρος 7, και η αναγκαιότητα για keywords οριοθέτησης.

νομίζω;
Τίτλος: Απ: Χρήσιμα χαρακτηριστικά του διαδικτυακού pseudoglossa
Αποστολή από: Sergio στις 05 Μάρ 2011, 06:06:58 μμ
Στάθη,

το "Αποθήκευση" και το "Αποθήκευση ως" κάνουν το ίδιο ή κάτι δεν κατάλαβα;
Τίτλος: Απ: Χρήσιμα χαρακτηριστικά του διαδικτυακού pseudoglossa
Αποστολή από: Sergio στις 05 Μάρ 2011, 06:34:46 μμ
Στάθη,

όταν δηλώνεται πίνακας στα δεδομένα, το περιβάλλον ζητάει το μέγεθός του πλήθος των στοιχείων του (καλώς.. προς το παρόν, ελπίζω ;) ).  Σε εκείνο το σημείο, εφόσον συμπληρωθεί ο κατάλληλος αριθμός, θα βόλευε πολύ το enter να "μεταφράζεται" σε εισαγωγή και το cancel σε διακοπή για να μην .. ψάχνουμε ποντίκι..
Τίτλος: Απ: Χρήσιμα χαρακτηριστικά του διαδικτυακού pseudoglossa
Αποστολή από: sstergou στις 06 Απρ 2011, 10:35:57 μμ
Παιδιά ντρέπομαι  :-[ Τώρα είδα όλα αυτά τα μηνύματα με τις προτάσεις.... (έχω επιλέξει να ειδοποιούμαι για τον συγκεκριμένο πίνακα αλλά δεν πήρα κανένα email).

Θα μελετήσω αυτά που γράψατε για το αρχείο εισόδου.

Σέργιε τα enter - escape είναι εύκολο να μπουν σε αυτό το παράθυρο.

Η διαφορά του "αποθήκευση" με το "αποθήκευση ως" είναι ότι με το τελευταίο δημιουργείται νέα εγγραφή (νέος αλγόριθμος) απλά βγαίνει το ίδιο πλαίσιο διαλόγου.

Αν πατήσεις σκέτο αποθήκευση και αλλάξεις το όνομα τότε απλά κάνει ένα rename.