Αποστολέας Θέμα: κάθε εμφωλευμένη ΑΝ γίνεται και με απλές ΑΝ;  (Αναγνώστηκε 2881 φορές)

dionissis

  • Οπαδός
  • **
  • Μηνύματα: 13
Αυτό δεν ισχυέι πάντοτε, όπως στο παρακάτω παράδειγμα:

ΑΝ Χ <> 0 ΚΑΙ Υ<> 0 ΤΟΤΕ
   ΑΝ Χ MOD Υ = 0 Ή Υ MOD X = 0 ΤΟΤΕ
       ΓΡΑΨΕ 'ΠΟΛΛΑΠΛΑΣΙΑ'
   ΑΛΛΙΩΣ
       ΓΡΑΨΕ 'ΟΧΙ ΠΟΛΛΑΠΛΑΣΙΑ'
   ΤΕΛΟΣ_ΑΝ
ΑΛΛΙΩΣ
   ΓΡΑΨΕ 'ΚΑΠΟΙΟΣ ΜΗΔΕΝ'
ΤΕΛΟΣ_ΑΝ

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3168
  • to Iterate is human to Recurse divine
Απ: κάθε εμφωλευμένη ΑΝ γίνεται και με απλές ΑΝ;
« Απάντηση #1 στις: 30 Απρ 2010, 10:40:10 πμ »
Δεν κατάλαβα, το παρακάτω εννοείς?

ΑΝ (Χ <> 0 ΚΑΙ Υ<> 0) ΚΑΙ (Χ MOD Υ = 0 Ή Υ MOD X = 0) ΤΟΤΕ
   ΓΡΑΨΕ 'ΠΟΛΛΑΠΛΑΣΙΑ'
ΤΕΛΟΣ_ΑΝ

ΑΝ (Χ <> 0 ΚΑΙ Υ<> 0) ΚΑΙ (Χ MOD Υ <> 0 ΚΑΙ Υ MOD X <> 0) ΤΟΤΕ
   ΓΡΑΨΕ 'ΟΧΙ ΠΟΛΛΑΠΛΑΣΙΑ'
ΤΕΛΟΣ_ΑΝ

ΑΝ (Χ = 0 Η Υ= 0)ΤΟΤΕ
   ΓΡΑΨΕ 'ΚΑΠΟΙΟΣ ΜΗΔΕΝ'
ΤΕΛΟΣ_ΑΝ
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

dionissis

  • Οπαδός
  • **
  • Μηνύματα: 13
Απ: κάθε εμφωλευμένη ΑΝ γίνεται και με απλές ΑΝ;
« Απάντηση #2 στις: 30 Απρ 2010, 05:11:20 μμ »
Αν το Χ=0 ή το Υ=0 δεν γίνονται οι δύο πρώτες ΑΝ, αφού θα ελεγχθούν και διαιρέσεις με παρονομαστή το μηδέν (0).

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3168
  • to Iterate is human to Recurse divine
Απ: κάθε εμφωλευμένη ΑΝ γίνεται και με απλές ΑΝ;
« Απάντηση #3 στις: 30 Απρ 2010, 05:23:22 μμ »
Είσαι σίγουρος ότι δε γίνεται?
Η δεύτερη συνθήκη δεν χρειάζεται να ελεγθεί αν η πρώτη είναι ψευδής.
Δεν λέει πουθενά ότι ισχύει στη ΓΛΩΣΣΑ κάτι τέτοιο αλλά ούτε ότι δεν ισχύει, από την υλοποίηση εξαρτάται
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

dionissis

  • Οπαδός
  • **
  • Μηνύματα: 13
Απ: κάθε εμφωλευμένη ΑΝ γίνεται και με απλές ΑΝ;
« Απάντηση #4 στις: 30 Απρ 2010, 05:39:06 μμ »
η μετατροπή αυτή σε απλές ΑΝ δεν δουλεύει ούτε στη Γλωσσομάθεια  ούτε στη Γλώσσα, αλλά απ' ότι θυμάμαι σε κάποιες γλώσσες ισχύει αυτό που λες. Το θέμα είναι τι απαντάνε οι μαθητές σε μία τέτοια ερώτηση;

Παρακαλώ θα ήθελα την γνώμη και άλλων συναδέλφων
Ευχαριστώ

sstergou

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 983
  • Program or be Programmed
    • pseudoglossa.gr
Απ: κάθε εμφωλευμένη ΑΝ γίνεται και με απλές ΑΝ;
« Απάντηση #5 στις: 30 Απρ 2010, 06:06:19 μμ »
Η ερώτηση στην ουσία είναι το αν στην γλώσσα/ψευδογλώσσα έχουμε πλήρη ή μερική αποτίμηση των συνθηκών.

Είχαν γίνει διάφορες κουβέντες στο παρελθόν με την πιο διεξοδική που θυμάμαι να ήταν αυτή : https://alkisg.mysch.gr/steki/index.php?topic=752.0

Προσωπικά κατά την διδασκαλία του μαθήματος θεωρώ ότι υπάρχει πλήρης αποτίμηση των συνθηκών (π.χ. σε ασκήσεις με πίνακες όπου υπάρχει παραβίαση των ορίων)για διδακτικούς λόγους και αφού το βιβλίο αφήνει χωρίς ανάλυση το συγκεκριμένο ζήτημα.
Στάθης Στέργου - sstergouATgmailDOTcom - http://www.pseudoglossa.gr

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3168
  • to Iterate is human to Recurse divine
Απ: κάθε εμφωλευμένη ΑΝ γίνεται και με απλές ΑΝ;
« Απάντηση #6 στις: 30 Απρ 2010, 07:26:43 μμ »
Κανονικά αποτιμώνται όλες οι συνθήκες στη ΓΛΩΣΣΑ, δεν ήθελα να αμφισβητήσω αυτό
Αυτό που ήθελα να πω είναι πως στο αντι-παράδειγμα που έδωσες για να αποδείξεις τον ισχυρισμό σου πατάς πάνω σε ένα ζήτημα που είναι θέμα "υλοποίησης"  και όχι καθαρά αλγοριθμικής. Έτσι σε μια γλώσσα που επιτρέπει short-circuit evaluation αυτό που θα έλεγες δεν ισχύει. Θα προτιμούσα ένα παράδειγμα που να ισχύει πάντου και να είναι πιο "αλγοριθμικό" ας πούμε.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

amichail

  • Βετεράνος
  • ****
  • Μηνύματα: 98
Απ: κάθε εμφωλευμένη ΑΝ γίνεται και με απλές ΑΝ;
« Απάντηση #7 στις: 03 Μάι 2010, 08:49:09 μμ »
Ένα απλοϊκό παράδειγμα είναι αν έχεις μία boolean μεταβλητή που παίρνει τιμές 0 ή 1 (true ή false) και θες να την αντιστρέψεις.
Ο κώδικας:
Αν Α=0 Τότε
    Α←1
Αλλιώς_Αν Α=1
   Α←0
Τέλος_Αν
δουλεύει
ενώ ο κώδικας:
Αν Α=0 Τότε
   Α←1
Τέλος_Αν
Αν Α=1 Τότε
  Α←0
Τέλος_Αν
προφανώς δεν δουλεύει στην περίπτωση που Α=0 καθώς θα εκτελεστούν σειριακά και οι δύο εντολές.
Κρίσιμο δηλαδή είναι αν επηρεάζεται η συνθήκη από την εκτέλεση της εντολής.
Βέβαια εδώ η εμφωλευμένη Αν είναι περιττή καθώς ισχύει μόνο μία από τις δύο συνθήκες.
Τροποποιήστε για μεταβλητή με παραπάνω τιμές  :D

Για μένα θα πω μόνο ότι είμαι ο τύπος του δασκάλου που αν κάνω ένα μάθημα για 50η φορά θα αλλάξω για 52η φορά τις σημειώσεις μου

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3168
  • to Iterate is human to Recurse divine
Απ: κάθε εμφωλευμένη ΑΝ γίνεται και με απλές ΑΝ;
« Απάντηση #8 στις: 03 Μάι 2010, 09:01:09 μμ »
Με μια απλή Αν...Τότε

Αν 1=1 Τότε
   Α <-- (Α +1) mod 2
Τέλος_Αν
 :D
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

pgrontas

  • Ομάδα διαγωνισμάτων 2016
  • *
  • Μηνύματα: 1328
  • There are always possibilities...
Απ: κάθε εμφωλευμένη ΑΝ γίνεται και με απλές ΑΝ;
« Απάντηση #9 στις: 03 Μάι 2010, 09:40:25 μμ »
Πάντως το κάθε της αρχικής ερώτησης είναι βαριά κουβέντα. Μπορεί όπως  ανέφερε ο/η amihail να σου βάλει μία εκχώρηση ή ένα διάβασε μέσα στην εξωτερική αν και πριν την εσωτερική που να τροποποιεί μία από τις μεταβλητές που συμμετέχουν στις συνθήκες. Κάτι τέτοιο δεν μπορεί να αναπαρασταθεί σε έκφραση οπότε και η εμφωλευμένη/πολλαπλή αν δεν μπορει να μετατραπεί σε απλές.
« Τελευταία τροποποίηση: 03 Μάι 2010, 09:56:27 μμ από pgrontas »
A man provided with paper, pencil, and rubber, and subject to strict discipline is in effect a universal machine - Alan Turing

droopy

  • Θαμώνας
  • ***
  • Μηνύματα: 38
  • you know what... i'm happy
Απ: κάθε εμφωλευμένη ΑΝ γίνεται και με απλές ΑΝ;
« Απάντηση #10 στις: 17 Ιαν 2011, 05:35:17 μμ »
Νομίζω ότι το παράδειγμα:
Αν Α=0 Τότε
    Α←1
Αλλιώς_Αν Α=1
   Α←0
Τέλος_Αν

 μετατρέπεται με απλές αν

flag ← 1
Αν Α=0 Τότε
   Α←1
 flag ← 0
Τέλος_Αν
Αν Α=1 ΚΑΙ flag = 1 ΤΟΤΕ
 Α←0
Τέλος_Αν

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3168
  • to Iterate is human to Recurse divine
Απ: κάθε εμφωλευμένη ΑΝ γίνεται και με απλές ΑΝ;
« Απάντηση #11 στις: 17 Ιαν 2011, 05:44:44 μμ »
λογικό είναι, χρειάζεσαι τιμή σημαία
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr