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

Γενικό Λύκειο => Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον => Μήνυμα ξεκίνησε από: epsilonXi στις 16 Μάι 2019, 03:56:38 μμ

Τίτλος: τελικό διαγώνισμα 2019
Αποστολή από: epsilonXi στις 16 Μάι 2019, 03:56:38 μμ
καλό σας μεσημέρι...

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

αν παρατηρήσετε κάτι στραβό πέραν του γεγονότος ότι το άθροισμα των μορίων ξεπερνάει το 100, ή τέλος πάντως για ό,τι θέλετε, παρακαλώ σχολιάστε
Τίτλος: Απ: τελικό διαγώνισμα 2019
Αποστολή από: Λαμπράκης Μανώλης στις 16 Μάι 2019, 04:59:01 μμ
καλησπέρα, ευχαριστούμε για το διαγώνισμα

να ρωτησω, στο Α5 που ζητάς να μην χρησιμοποιηθεί κανένας λογικός τελεστής, αυτό ισχύει και για το μέχρις ότου ?? για την δομή επιλογής σίγουρα υπάρχει τρόπος, για το μέχρις_ότου γίνεται να μην χρησιμοποιηθεί λογικός τελεστής ?? αν έχει κάποιο κολπάκι να τα ψάξουμε  >:D :police:
Τίτλος: Απ: τελικό διαγώνισμα 2019
Αποστολή από: epsilonXi στις 17 Μάι 2019, 03:40:12 μμ
όταν λέμε «κανένας», εννοούμε «κανένας»

ειδικά το συγκεκριμένο δε θέλει πάρα πολλή φαντασία
Τίτλος: Απ: τελικό διαγώνισμα 2019
Αποστολή από: gpapargi στις 17 Μάι 2019, 04:24:16 μμ
Φαντάζομαι εμφωλεύσεις και λογική μεταβλητή
Τίτλος: Απ: τελικό διαγώνισμα 2019
Αποστολή από: Λαμπράκης Μανώλης στις 17 Μάι 2019, 05:10:34 μμ
Έτσι βγαίνει μια χαρα νομίζω...εγω σκεφτόμουν μήπως υπάρχει κάποιο μαθηματικό τρικ που πραγματοποιεί τον έλεγχο σε μια γραμμή... Πάντως έχω παρατηρήσει πως οι μαθητές ( και οι καθηγητές πολλές φορές) σε τέτοιες ασκήσεις με μετατροπές γενικά, έχουν συχνά απορίες για το τι μπορούν να αλλάξουν για να πετύχουν το τελικό αποτέλεσμα... Δηλαδη αν μπορούν εμφωλευμενα, η απλά αν, η νέες μεταβλητές η ο, τι άλλο σκεφτούν.. Νομίζω γενικά έχουν ένα δίκιο, είναι ασκήσεις που μπορεί να ερμηνευτουν διαφορετικά
Τίτλος: Απ: τελικό διαγώνισμα 2019
Αποστολή από: epsilonXi στις 18 Μάι 2019, 12:56:37 πμ
αντί για τούτο:

αρχή_επανάληψης
...
μέχρις_ότου α<=β και α<=γ

σκέφτομαι τούτο:

αρχή_επανάληψης
   αρχή_επανάληψης
      ...
   μέχρις_ότου α<=β
μέχρις_ότου α<=γ

η εμφώλευση μας δίνει την έννοια του ΚΑΙ


από την άλλη, με τις συγκεκριμένες συνθήκες μπορεί κανείς να το δει και αλγεβρικά, όχι;

αρχή_επανάληψης
...
μέχρις_ότου 2*α<=β+γ
Τίτλος: Απ: τελικό διαγώνισμα 2019
Αποστολή από: bugman στις 18 Μάι 2019, 03:09:01 πμ
για α=0 και β=-1 και γ=2
το 2*α<=β+γ βγαίνει 0<=1 που είναι αληθές
στο εσωτερικό  μέχρις_ότου το α<=β  είναι ψευδές άρα θα γίνει επανάληψη, άρα δεν είναι ισοδύναμο με το "αλγεβρικό". Η εμφώλευση δεν δίνει την έννοια του ΚΑΙ, επειδή η εσωτερική επανάληψη θα εκτελεστεί χωρίς έλεγχο της δεύτερης συνθήκης που είναι στην εξωτερική επανάληψη. Για το λόγο αυτό το ΚΑΙ παίζει το ρόλο ότι οι συνθήκες, και οι δύο, θα εξεταστούν σε ένα σημείο. Ακόμα και να υποθέσουμε το short circuit, αυτό έχει νόημα μόνο αν η πρώτη συνθήκη είναι ψευδής να ακυρώσει τον έλεγχο της δεύτερης, αφού αρκεί η πρώτη ψευδής για να βγάλει αποτέλεσμα ψευδής. Οι μέχρις ότου έχουν το αληθές ως συνθήκη τερματισμού της επανάληψης, άρα για να εξεταστεί η δεύτερη συνθήκη πρέπει η πρώτη να βγει αληθής, και αυτό είναι ανάποδο από την έννοια του short circuit για την ΚΑΙ είναι σωστό (διορθώθηκε). Στη ΓΛΩΣΣΑ δεν μας απασχολεί το short circuit οπότε θέλουμε οι δυο συνθήκες να εκτελούνται μαζί στο ίδιο σημείο, ή έκφραση.  Επίσης η ιδέα "αλγεβρικού" ισοδύναμου πρέπει να αποφεύγεται για δυο ακόμα λόγους. Πρώτος είναι ότι χάνουμε σε αναγνωσιμότητα του κώδικα, και δεύτερος ότι ενδέχεται να έχουμε σε προσθέσεις υπερχείλιση (που δεν θα είχαμε στις απλές συνθήκες).
Τίτλος: Απ: τελικό διαγώνισμα 2019
Αποστολή από: epsilonXi στις 18 Μάι 2019, 05:46:06 μμ
1ον:

(1) α<=β
(2) α<=γ
(3) 2*α<=β+γ

σχετικά με τα «αλγεβρικά» σίγουρα έκανα λάθος, αφού με δεδομένες τις συνθήκες (1) και (2), είναι βέβαιο ότι θα ισχύει και η (3), ενώ με δεδομένη την (3) δεν είναι βέβαιο ότι θα ισχύουν οι (1) και (2), και ντροπή μου που το είπα χθες


2ον:
δεν καταλαβαίνω γιατί τα εμφωλευμένα μέχρις_ότου δε μου δίνουν την έννοια του ΚΑΙ:

αρχή_επανάληψης
  αρχή_επανάληψης
  #label1
    ...
  μέχρις_ότου α<=β
μέχρις_ότου α<=γ
#label2

αφού ο μόνος τρόπος για να βρεθείς εκτός loops, στο label2, θα είναι εφόσον επαληθεύονται ταυτόχρονα ΚΑΙ οι δύο συνθήκες,
ενώ εάν οποιαδήποτε από τις δύο δεν επαληθεύεται, η ροή επαναφέρεται στο ίδιο σημείο, στο label1



Τίτλος: Απ: τελικό διαγώνισμα 2019
Αποστολή από: bugman στις 18 Μάι 2019, 07:11:25 μμ
Εδώ λοιπόν εγώ έχω κάνει λάθος, η ΚΑΙ σε short circuit εξετάζει την δεύτερη συνθήκη μόνο αν η πρώτη βγει αληθές άρα στο παράδειγμα όταν η πρώτη επανάληψη τερματίσει.
Τίτλος: Απ: τελικό διαγώνισμα 2019
Αποστολή από: Άρης Κεσογλίδης στις 27 Μάι 2019, 04:07:11 πμ
Μία λύση που σκέφτηκα είναι να βάλουμε μία νέα μεταβλητή.
Η ΟΣΟ, εκτελείται όσο το  α  είναι μεγαλύτερο τουλάχιστον από ένα από τα β , γ.
Άρα σταματάει όταν το  α  γίνει μικρότερο ή ίσο από τον ελάχιστο των β και γ.

Οπότε λέω :

διάβασε β,γ
α <-  (β+γ) div 2

min <-  α
ΑΝ  β < min  ΤΟΤΕ
      min <-  β
ΤΕΛΟΣ_ΑΝ

ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
      .....(εμφ. ΑΝ)
      .....
ΜΕΧΡΙΣ_ΟΤΟΥ   α <= min

Τίτλος: Απ: τελικό διαγώνισμα 2019
Αποστολή από: epsilonXi στις 27 Μάι 2019, 04:00:58 μμ
καλησπέρα σε όλους,

με τις λύσεις που προτείνω

Τίτλος: Απ: τελικό διαγώνισμα 2019
Αποστολή από: epsilonXi στις 27 Μάι 2019, 04:04:11 μμ
Μία λύση που σκέφτηκα είναι να βάλουμε μία νέα μεταβλητή.
Η ΟΣΟ, εκτελείται όσο το  α  είναι μεγαλύτερο τουλάχιστον από ένα από τα β , γ.
Άρα σταματάει όταν το  α  γίνει μικρότερο ή ίσο από τον ελάχιστο των β και γ.

αμέ, γιατί όχι

τώρα ξαναπαρατηρώ ότι στην έκδοση που ανέβασα έλεγα
α <-- (β+γ) div 2
αλλά στην έκδοση που έδωσα στα παιδιά έλεγα
α <-- β+γ

ώστε η συνθήκη στο ΟΣΟ να είναι εξ αρχής αληθής, και να μη χρειαστούν απανωτές εμφωλεύσεις με ΑΝ και ΜΕΧΡΙΣ_ΤΟΥ
Τίτλος: Απ: τελικό διαγώνισμα 2019
Αποστολή από: panosz στις 27 Μάι 2019, 04:53:07 μμ
καλησπέρα σε όλους,

με τις λύσεις που προτείνω



Καλησπέρα,
Στο Θέμα Α.5:
εκφώνηση: α <-- (β+γ)div2
Στην περίπτωση που δοθούν ίδια β και γ ή διαφέρουν κατά μία μονάδα, τότε η ΟΣΟ δεν εκτελείται ποτέ. Σωστά ?
Αν ναι, τότε στη λύση, μήπως πρέπει να προηγηθεί μια ΑΝ ?

Φιλικά,
Τίτλος: Απ: τελικό διαγώνισμα 2019
Αποστολή από: epsilonXi στις 28 Μάι 2019, 12:27:28 πμ
Στο Θέμα Α.5:
εκφώνηση: α <-- (β+γ)div2
Στην περίπτωση που δοθούν ίδια β και γ ή διαφέρουν κατά μία μονάδα, τότε η ΟΣΟ δεν εκτελείται ποτέ. Σωστά ?
σωστά βέβαια

όπως είπα, η έκδοση που έδωσα τελικά λέει
α <-- β+γ, χωρίς το div 2