Το ειδικό σύμβολο & εντός... συμβολοσειράς!!!

Ξεκίνησε από George Eco, 11 Ιουλ 2020, 04:35:43 ΜΜ

« προηγούμενο - επόμενο »

George Eco

Παρατήρησα πως στα Επαναληπτικά θέματα ΟΕΦΕ Β φάσης 2020 (απαντήσεις ΟΕΦΕ), αλλά και στις απαντήσεις Πανελληνίων 2020 ο/η συνάδελφος κάνει το εξής:

ΓΡΑΨΕ ' Α Β Γ Δ Ε Ζ Η Θ
&   Ι Κ Λ Μ...'

Ναι καλά καταλάβατε.
ΔΕ τερματίζει τη συμβολοσειρά στη πρώτη γραμμή και τη συνεχίζει από κάτω...

Ερώτηση:
Το & είναι χαρακτήρας εντός ή εκτός της συμβολοσειράς;

ΔΕ δίνω άδικο σε όποιον ή όποια το έγραψε αυτό.
ΞΕΚΑΘΑΡΑ στο βιβλίο λέει πως το ειδικό σύμβολο & ως πρώτος χαρακτήρας σε μία γραμμή, συνεχίζει την από πάνω εντολή. Εδώ μπορεί να πει κάποιος "ΤΕΛΟΣ ΚΟΥΒΕΝΤΑΣ" και θα έχει δίκιο.

Από την άλλη μου κάθεται στο λαιμό.
Κι εμένα και του Διερμηνευτή του Άλκη.

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

ΓΡΑΨΕ ' Α Β Γ Δ Ε Ζ Η Θ',
& ' Ι Κ Λ Μ...'

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

Διότι:
Δοθείσας της παρακάτω εντολής...

ΓΡΑΨΕ ' Α Β Γ Δ Ε Ζ Η Θ
& Ι Κ Λ Μ'

Τι πρέπει να εμφανιστεί στην οθόνη;

α) ' Α Β Γ Δ Ε Ζ Η Θ &  Ι Κ Λ Μ' (δίχως τα εισαγωγικά)

β) ' Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ'  (δίχως τα εισαγωγικά)

γ) ΣΥΝΤΑΚΤΙΚΟ ΣΦΑΛΜΑ

Ακούω απόψεις.  :D

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



vageo

#1
1. Στην οθόνη δεν θα εμφανιστεί τίποτε από τα α), β) και ούτε το  γ) είναι σωστό.
2. Θα εμφανιστεί: Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ
3. Αν θέλεις να εμφανιστεί το:   ' Α Β Γ Δ Ε Ζ Η Θ &  Ι Κ Λ Μ '  πρέπει η εντολή (ΣΤΟ ΓΡΑΠΤΟ) να είναι:
    ΓΡΑΨΕ '  ' Α Β Γ Δ Ε Ζ Η Θ
    & & Ι Κ Λ Μ '  '

4. Το σύμβολο & όταν είναι πρώτο-στην αρχή της 2ης σειράς ΔΕΝ ΑΠΟΤΕΛΕΙ ΧΑΡΑΚΤΗΡΑ, αλλά δηλωτική εντολή, που δηλώνει ότι συνεχίζεται η εκτελεστέα εντολή της προηγούμενης σειράς.

5. " ... και του Διερμηνευτή του Άλκη. ...". Στον Διερμηνευτή του Άλκη όταν η σειρά δεν χωράει (εμφανίζεται μια κόκκινη γραμμή δεξιά για να σου δείξει μέχρι το σημείο που τελειώνει το πλάτος της διαθέσιμης γραμμής) όλη την εντολή ο ειδικός χαρακτήρας & μπαίνει αυτόματα από μόνος του (ΔΕΝ χρειάζεται να τον πληκτρολογήσεις) στην επόμενη γραμμή ακριβώς για να δείξει αυτό που γράφω στο 4.
6. Αν τώρα ΚΑΙ εσύ βάλεις- πληκτρολογήσεις τον χαρακτήρα & τότε πρόκειται για την περίπτωση 3. (είναι σαν να υπάρχουν δύο & ) και γιαυτό στο εμφανίζει μετά το γράμμα Θ θεωρώντας ότι είναι ένας από του χαρακτήρες που ήθελες να εμφανίσεις, αφού βρίσκεται μέσα στα  '      ' (απλά εισαγωγικά).

George Eco

#2
Παράθεση από: vageo στις 16 Ιουλ 2020, 09:57:33 ΜΜ
1. Στην οθόνη δεν θα εμφανιστεί τίποτε από τα α), β) και ούτε το  γ) είναι σωστό.
2. Θα εμφανιστεί: Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ
3. Αν θέλεις να εμφανιστεί το:   ' Α Β Γ Δ Ε Ζ Η Θ &  Ι Κ Λ Μ '  πρέπει η εντολή (ΣΤΟ ΓΡΑΠΤΟ) να είναι:
    ΓΡΑΨΕ '  ' Α Β Γ Δ Ε Ζ Η Θ
    & & Ι Κ Λ Μ '  '

3) Σοβαρά τώρα;  :D Εντάξει! Δε φταις συνάδελφε, δε το διευκρίνισα.
α) ΘΑ ΕΜΦΑΝΙΖΕΙ:  Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ
β) ΘΑ ΕΜΦΑΝΙΖΕΙ:  Α Β Γ Δ Ε Ζ Η Θ & Ι Κ Λ Μ αντίστοιχα.

Εστιάζω στο & εντός ενός string που δε τερματίζεται σε μία γραμμή. Τα εισαγωγικά τα έβαλα για να δείξω πως αυτό που θα εμφανιστεί είναι συμβολοσειρά και το & είναι ΜΕΣΑ σε μία από αυτές.

Κάτσε να το διευκρινίσω, μη μπερδευτεί και κάνας άλλος, δε φταις εσύ συνάδελφε, δική μου αμέλεια.

Πώς όμως δεν είναι συνακτικό σφάλμα τη στιγμή που δε τερματίζεται σωστά ένα string όμως; Διότι λες ότι δεν είναι σωστό το (γ).
Γιατί αλλιώς, αν τερματίζει σωστά το string, λαμβάνοντας το χαρακτήρα & ως ορθή συνέχεια της εντολής στην από κάτω γραμμή, τότε θα πρέπει να δεχτούμε το (β) ως σωστό κι άρα και τη λύση ως σωστή.

Κι αν εγώ θέλω να πω
ΓΡΑΨΕ 'Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ '
και το κάνω
ΓΡΑΨΕ 'Α Β Γ Δ Ε Ζ Η Θ
& Ι Κ Λ Μ'

τότε μου λες πως είναι οκ το β.

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

Και προτείνω πως καλύτερο θα ήταν το εξής:

ΓΡΑΨΕ 'Α Β Γ Δ Ε Ζ Η Θ',
& ' Ι Κ Λ Μ'

το οποίο συνεχίζει ΤΗΝ ΕΝΤΟΛΗ, με ολόκληρα strings, συνενωμένα με κόμμα.

Θα μου πεις, λεπτομέρεια της λεπτομέρειας, αλλά έτσι πρέπει να κάνουμε όταν πρόκειται για μάθημα Πανελληνίων.

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


vageo

1. Ερ.
Παράθεση από: George Eco στις 21 Ιουλ 2020, 12:29:09 ΠΜ
3) Σοβαρά τώρα;  :D Εντάξει! Δε φταις συνάδελφε, δε το διευκρίνισα.
1. Απ.
Παράθεση από: George Eco στις 21 Ιουλ 2020, 12:29:09 ΠΜ
Κάτσε να το διευκρινίσω, μη μπερδευτεί και κάνας άλλος, δε φταις εσύ συνάδελφε, δική μου αμέλεια.
Θα μου πεις, λεπτομέρεια της λεπτομέρειας, αλλά έτσι πρέπει να κάνουμε όταν πρόκειται για μάθημα Πανελληνίων.

2. Ερ.
Παράθεση από: George Eco στις 21 Ιουλ 2020, 12:29:09 ΠΜ
Εστιάζω στο & εντός ενός string που δε τερματίζεται σε μία γραμμή. Τα εισαγωγικά τα έβαλα για να δείξω πως αυτό που θα εμφανιστεί είναι συμβολοσειρά και το & είναι ΜΕΣΑ σε μία από αυτές.
Πώς όμως δεν είναι συνακτικό σφάλμα τη στιγμή που δε τερματίζεται σωστά ένα string όμως; Διότι λες ότι δεν είναι σωστό το (γ).
Γιατί αλλιώς, αν τερματίζει σωστά το string, λαμβάνοντας το χαρακτήρα & ως ορθή συνέχεια της εντολής στην από κάτω γραμμή, τότε θα πρέπει να δεχτούμε το (β) ως σωστό κι άρα και τη λύση ως σωστή.
2. Απ.
Στο τμήμα εντολών: ΓΡΑΨΕ 'Α Β Γ Δ Ε Ζ Η Θ
                                 & Ι Κ Λ Μ'
ο χαρακτήρας & ΔΕΝ βρίσκεται-ανήκει εντός-στο string.

Αν θέλω να είναι ΕΝΤΟΣ του string τότε πρέπει να γραφεί ως εξής: ΓΡΑΨΕ 'Α Β Γ Δ Ε Ζ Η Θ &
                                                                                                       & Ι Κ Λ Μ'
ή εναλλακτικά αν δεν τον χωράει αυτό που έγραψα στο προηγούμενο: ΓΡΑΨΕ 'Α Β Γ Δ Ε Ζ Η Θ
                                                                                                               & & Ι Κ Λ Μ'
ΔΗΛΑΔΗ όταν ο εκτελεστής εκτελεί μία εντολή-γραμμή (επειδή σε κάθε γραμμή πρέπει να ολοκληρώνεται και μία εντολή σύμφωνα με τη θεωρία του βιβλίου), ΔΕΝ βιάζεται ώστε αμέσως να πει ΛΑΘΟΣ!!! (Συντακτικό λάθος όπως γράφτηκε για το (γ)), αλλά πηγαίνει και στην επόμενη γραμμή μήπως στην αρχή συναντήσει τον χαρακτήρα & και αν δεν τον βρει εκεί τότε φωνάζει "Λάθος".

3. Ερ.
Παράθεση από: George Eco στις 21 Ιουλ 2020, 12:29:09 ΠΜ
Και προτείνω πως καλύτερο θα ήταν το εξής:
ΓΡΑΨΕ 'Α Β Γ Δ Ε Ζ Η Θ',
& ' Ι Κ Λ Μ'
το οποίο συνεχίζει ΤΗΝ ΕΝΤΟΛΗ, με ολόκληρα strings, συνενωμένα με κόμμα.
3. Απ.
Με το παραπάνω τμήμα πράγματι θα εμφανιστεί στην οθόνη: Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ 

ΑΛΛΑ και με το ακόλουθο, σε μία γραμμή, τμήμα: ΓΡΑΨΕ 'Α Β Γ Δ Ε Ζ Η Θ', ' Ι Κ Λ Μ'
επίσης το ίδιο θα εμφανιστεί στην οθόνη, δηλαδή: Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ

Ποια είναι η ΔΙΑΦΟΡΑ; Στην πρώτη περίπτωση τα strings είναι ΔΥΟ, πράγμα που ΔΕΝ το θέλουμε, άρα ΔΕΝ είναι σωστές οι εντολές.
Εκτός και αν το θέλουμε, ανάλογα αν ΔΕΝ μας δεσμεύει η εκφώνηση, οπότε μπορούμε να γράψουμε ΚΑΙ με αυτόν τον τρόπο το τμήμα αυτό των εντολών και να είναι σωστό.

4. Εν κατακλείδι, συνεχίζω (μέχρι να αλλάξω άποψη) να υποστηρίζω ότι:
Παράθεση από: vageo στις 16 Ιουλ 2020, 09:57:33 ΜΜ
4. Το σύμβολο & όταν είναι πρώτο-στην αρχή της 2ης σειράς ΔΕΝ ΑΠΟΤΕΛΕΙ ΧΑΡΑΚΤΗΡΑ, αλλά δηλωτική ΕΝΤΟΛΗ, που δηλώνει ότι συνεχίζεται η εκτελεστέα εντολή της προηγούμενης σειράς.

Και φυσικά:
Παράθεση από: George Eco στις 21 Ιουλ 2020, 12:29:09 ΠΜ
και ναι, μιλάμε πάντα επί χάρτου, διότι έτσι άλλωστε ορίστηκε η ΓΛΩΣΣΑ.

George Eco

#4
Ωραία! Κατ' αρχάς σ' ευχαριστώ που συμμετέχεις σε αυτή τη διερεύνηση και ανταλλαγή απόψεων.

ΔΗΛΑΔΗ όταν ο εκτελεστής εκτελεί μία εντολή-γραμμή (επειδή σε κάθε γραμμή πρέπει να ολοκληρώνεται και μία εντολή σύμφωνα με τη θεωρία του βιβλίου), ΔΕΝ βιάζεται ώστε αμέσως να πει ΛΑΘΟΣ!!! (Συντακτικό λάθος όπως γράφτηκε για το (γ)), αλλά πηγαίνει και στην επόμενη γραμμή μήπως στην αρχή συναντήσει τον χαρακτήρα & και αν δεν τον βρει εκεί τότε φωνάζει "Λάθος".

Στο βιβλίο, μιλάει για συνέχεια ΕΝΤΟΛΗΣ, όχι συμβολοσειράς, σε από κάτω γραμμή.
Κι εδώ επέρχεται και το πρόβλημά μου. Δεν έχει οριστεί σαφής κανονισμός σύνταξης και δε ξεκαθαρίζεται αν επιτρέπεται μονά εισαγωγικά να κλείσουν σε άλλη γραμμη από κάτω.

Είναι άλλο πράγμα να σπας αυτούσια μέρη μιας εντολής σε δύο γραμμές, κι άλλο πράγμα να σπας μια συμβολοσειρά σε άλλη γραμμή.

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

Ποιος μου λέει ρητά ότι αυτό που λες:

ΓΡΑΨΕ 'Α Β Γ Δ Ε Ζ Η Θ &
& Ι Κ Λ Μ'

δε θα προξενήσει συντακτικό σφάλμα επί χάρτου; Είναι ΣΤΗ ΚΡΙΣΗ ΤΟΥ ΔΙΟΡΘΩΤΗ. Είναι θέμα τύχης. Δεν αφήνω τίποτα στη τύχη.

Τόσο δύσκολο είναι να πει κανεις:

ΓΡΑΨΕ 'Α Β Γ Δ Ε Ζ Η Θ &',
& 'Ι Κ Λ Μ'

και να έχεις ήσυχο το κεφάλι σου δηλαδή; Το παραπάνω πάει με τη θεωρία μια χαρά, στηρίζεται, είναι σωστό.

ΓΡΑΨΕ α, 'ΓΕΙΑ!',β,
& γ, 'Αντίο'

Κι η παραπάνω εντολή μια χαρά είναι.

Αν όμως τη κάνεις:
ΓΡΑΨΕ α, 'ΓΕΙ
& Α!',β,
& γ, 'Αντίο'

αμφιβάλλω αν υπάρχει κάτι που να μπορεί να στηρίξει την ορθότητά της.

Είναι αυθαίρετη η τομή της συμβολοσειράς με αυτό το τρόπο, πολύ απλά διότι δεν εμφανίζεται ΠΟΥΘΕΝΑ κάτι τέτοιο στα βιβλία εξεταστέας ύλης και μη. Διόρθωσέ με αν κάνω λάθος συνάδελφε, το έχεις δει πουθενά;


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

ΓΡΑΨΕ 'Α Β Γ Δ Ε Ζ Η Θ',
& ' Ι Κ Λ Μ'
Με το παραπάνω τμήμα πράγματι θα εμφανιστεί στην οθόνη: Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ

ΑΛΛΑ και με το ακόλουθο, σε μία γραμμή, τμήμα: ΓΡΑΨΕ 'Α Β Γ Δ Ε Ζ Η Θ', ' Ι Κ Λ Μ'
επίσης το ίδιο θα εμφανιστεί στην οθόνη, δηλαδή: Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ

Ποια είναι η ΔΙΑΦΟΡΑ;


Καμία!!!! Στα λόγια μου έρχεσαι! Καμία! Αυτά τα δύο εκτελούν ακριβώς το ίδιο και τα έβαλα ως παράδειγμα!
Φαντάσου αυτό σε μία συμβολοσειρά που ΔΕ χωράει σε μία γραμμή. Με ασφάλεια το ΙΔΙΟ πράγμα σε δύο γραμμές. ΚΑΜΙΑ διαφορά!

ΓΡΑΨΕ 'Α Β Γ Δ Ε Ζ Η Θ',
& ' Ι Κ Λ Μ'

ΓΡΑΨΕ 'Α Β Γ Δ Ε Ζ Η Θ', ' Ι Κ Λ Μ'

Καμία διαφορά.

Η διαφορά γίνεται με το:


ΓΡΑΨΕ 'Α Β Γ Δ Ε Ζ Η Θ
& Ι Κ Λ Μ'

Εδώ κόψαμε συμβολοσειρά σε δύο γραμμές. Δεν υπάρχει επαρκής τεκμηρίωση συντακτικού στο αν επιτρέπεται αυτό.
Κι εξού κι ο προβληματισμός μου, αλλά κι εναλλακτική πρόταση που δίνω.


Κοίτα, ελπίζω πως δε θα πέσει κάτι ΤΕΤΟΙΟ σε θέμα Πανελληνίων, αλλά με αφηρημένη την εκσφαλμάτωση, δε ξέρεις ποτέ τι σου ξημερώνει.
Και γι' αυτό άνοιξα και τη συζήτηση άλλωστε.


Στο λέω στην ίδια φιλοσοφία του παρακάτω:

ΠΡΟΓΡΑΜΜΑ ΑΒΓ
ΜΕΤΑΒΛΗΤΕΣ
ΠΡΑΓΜΑΤΙΚΕΣ: α
ΑΡΧΗ
!  α <- 12   Αυτό εδώ είναι λάθος σελ 132 κάτω αριστερή υπόδειξη σε κόκκινο πλαίσιο.
   α <- 12 * 1.0
  ΓΡΑΨΕ α
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Θεωρώ λογικό να πω, πως οι συγγραφείς λέγοντας...

"Σε μια εντολή
εκχώρησης η μεταβλητή
και η έκφραση πρέπει να
είναι του ιδίου τύπου."

...εννοούσαν πως δε μπορείς να κάνεις τα παρακάτω...

ακέραια <- λογική
πραγματική <- λογική
χαρακτήρας <- λογική
πραγματική <- χαρακρήρας
χαρακτήρας <- πραγματική
ακέραια <- χαρακτήρας
χαρακτήρας <- ακέραια

...αλλά τους διέφυγε να ξεκαθαρίσουν το...

πραγμαιτκή <- ακέραια

...με αποτέλεσμα να αιωρείται στον αέρα αυτό και για να είσαι σίγουρος, να πρέπει να πολλαπλασιάζεις με το 1.0 κάθε φορά;! Έλεος.

Και όχι, δεν υπάρχει ΑΡΙΘΜΗΤΙΚΟΣ τύπος στη ΓΛΩΣΣΑ.

Κάνουμε όλοι ( ; )  τα στραβά μάτια σε αυτό τόσα χρόνια.
Αλλά ΑΥΤΟ, όπως και το θέμα που αναπτύσσω, καταλήγουν σε ένα από τα ΒΑΣΙΚΑ προβλήματα του μαθήματος. Κακός ορισμός της θεωρητικής αυτής γλώσσας προγραμματισμού επί χάρτου, που λέγεται ΓΛΩΣΣΑ.

vageo

" ... Στο βιβλίο, μιλάει για συνέχεια ΕΝΤΟΛΗΣ, όχι συμβολοσειράς, σε από κάτω γραμμή.  ... "

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

" ... Ποια είναι η ΔΙΑΦΟΡΑ;

Καμία!!!! Στα λόγια μου έρχεσαι! Καμία! Αυτά τα δύο εκτελούν ακριβώς το ίδιο και τα έβαλα ως παράδειγμα!
Φαντάσου αυτό σε μία συμβολοσειρά που ΔΕ χωράει σε μία γραμμή. Με ασφάλεια το ΙΔΙΟ πράγμα σε δύο γραμμές. ΚΑΜΙΑ διαφορά! ... "

Μα εγώ ΔΕΝ ΕΓΓΡΑΨΑ ότι δεν υπάρχει διαφορά, αντιθέτως την περιγράφω λίγο πιο κάτω.

bugman

Όταν λέει ότι το & στην επόμενη γραμμή σημαίνει ένωση γραμμών, τότε αυτό συμβαίνει κατά το scanning του προγράμματος για τον επόμενο χαρακτήρα. Ουσιαστικά όταν βλέπει αλλαγή γραμμής κοιτάει ένα ακόμα χαρακτήρα να δει αν είναι το & και αν είναι τα πετάει και πάει στον επόμενο χαρακτήρα. Σαν να μην υπήρχε ποτέ η αλλαγή γραμμής. Αυτό το κάνει να είναι ανεξάρτητο από το τι γράφουμε. Έτσι και το αλφαριθμητικό μπορεί να σπάσει σε περισσότερες γραμμές.

vageo

Ναι, νομίζω ότι μπορεί να περιγραφεί και έτσι και συμφωνώ με

Παράθεση από: bugman στις 23 Ιουλ 2020, 01:28:27 ΠΜ
Όταν λέει ότι το & στην επόμενη γραμμή σημαίνει ένωση γραμμών, τότε αυτό συμβαίνει κατά το scanning του προγράμματος για τον επόμενο χαρακτήρα. Ουσιαστικά όταν βλέπει αλλαγή γραμμής κοιτάει ένα ακόμα χαρακτήρα να δει αν είναι το & και αν είναι τα πετάει και πάει στον επόμενο χαρακτήρα. Σαν να μην υπήρχε ποτέ η αλλαγή γραμμής. Αυτό το κάνει να είναι ανεξάρτητο από το τι γράφουμε. Έτσι και το αλφαριθμητικό μπορεί να σπάσει σε περισσότερες γραμμές.

ΚΑΙ  bugman νομίζω ότι δέχεται αυτό που γράφω (ή όχι;).
Πάντα βέβαια σημασία έχει αυτό που θα πούμε στην τάξη να είναι και το σωστό (όσο γίνεται σύμφωνα με το βιβλίο) και όχι να συμφωνήσουμε εμείς.

George Eco

My bad vageo. Περασμένα μεσάνυχτα που απαντώ αυτά παθαίνω.
Λοιπόν μου είπες:
Ποια είναι η ΔΙΑΦΟΡΑ; Στην πρώτη περίπτωση τα strings είναι ΔΥΟ, πράγμα που ΔΕΝ το θέλουμε, άρα ΔΕΝ είναι σωστές οι εντολές.
Εκτός και αν το θέλουμε, ανάλογα αν ΔΕΝ μας δεσμεύει η εκφώνηση, οπότε μπορούμε να γράψουμε ΚΑΙ με αυτόν τον τρόπο το τμήμα αυτό των εντολών και να είναι σωστό.


Όταν από μία εκφώνηση θα σου λέει να εμφανίζει μήνυμα μπλα μπλά, δε σε εμποδίζει κανεις να σπάσεις το string. Αν σου λέει χρησιμοποιώντας μόνο μία συμβολοσειρά η άσκηση, ας φροντίσεις καλύτερα να χωράει στη γραμμή, δε νομίζω να περιορίσουν ποτέ έτσι τα παιδιά όμως, αλλά αυτό που λες είναι σωστό. Αν η εκφώνηση εμποδίζει το να σπάσεις το string, οκ κι εγώ δε ξέρω εκεί αν θα το έκανα αυτό. Σε περίπτωση που ΔΕ σε εμποδίζει όμως, ο ασφαλής δρόμος, είναι ο καλύτερος πιστεύω,  μέχρι να υπάρξει διευκρίνιση.

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

Δε νομίζω να πέσει θέμα που να μας δημιουργήσει θέμα με αυτό το σημείο, αλλά σε γενικές γραμμές ξαναλέω, κατανοώ απόλυτα το γιατί το χρησιμοποίησε έτσι ο συνάδελφος στη λύση του ΟΕΦΕ, αλλά δε παύει να είναι αυθαίρετη εικασία ότι μπορεί να το χρησιμοποιήσει έτσι. Και με θλίβει που αναγκάζομαι να ψειρίζω τόσο πολύ τα πράγματα και δεν έχω ένα έγχειρίδιο για τη ΓΛΩΣΣΑ από το Υπουργείο που να καλύπτει τα πάντα.

ΔΕ ΞΕΡΕΤΕ ΠΟΣΟ ΘΕΛΩ να πω ότι έχετε απόλυτο δίκιο πάμε παρακάτω. Δε μπορώ. Κι 99,9% να είμαι σίγουρος. Αν υπάρχει 0.1% πιθανότητα ή και 0.00001% πιθανότητα κάποιος εξεταστής να κόψει από αυτό, είναι κάτι που δε θέλω να κάνουν τα παιδιά μου. Ειλικρινά δε θέλω να αφήνω τίποτα με αμφιβολίες.

Σκέπτομαι μήπως στείλω ερωτήσεις σε κάποιον αρμόδιο φορέα. Όχι ότι περιμένω απάντηση της προκοπής, αλλά απλά τουλάχιστο να πω ότι έκανα το καθήκον μου.


bugman

Για τη ΓΛΩΣΣΑ δεν φτιάχτηκε ένα υπόδειγμα διερμηνευτή, από αυτούς που έδωσαν την σύνταξη. Οπότε λογικό είναι εδώ να κάνουμε υποθέσεις για το πως υλοποιείται το ενωτικό γραμμών.
Να σκεφτεί κανείς ότι στη Python υπάρχει όριο 80 χαρακτήρων στη γραμμή (με τις εσοχές).
Έχει και \ στο τέλος της γραμμής και κανόνες για σπάσιμο εκφράσεων!
class Rectangle(Blob):

    def __init__(self, width, height,
                 color='black', emphasis=None, highlight=0):
        if (width == 0 and height == 0 and
                color == 'red' and emphasis == 'strong' or
                highlight > 100):
            raise ValueError("sorry, you lose")
        if width == 0 and height == 0 and (color == 'red' or
                                           emphasis is None):
            raise ValueError("I don't think so -- values are %s, %s" %
                             (width, height))
        Blob.__init__(self, width, height,
                      color, emphasis, highlight)