Μετατροπή Δομών Επιλογής

Ξεκίνησε από Someone, 23 Φεβ 2006, 06:24:51 ΜΜ

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

Someone

Α) Πως μπορώ να μετατρέψω τον αλγόριθμο
....
ΑΝ Συνθήκη ΤΟΤΕ
  ομάδα_εντολών1
ΑΛΛΙΩΣ
  ομάδα_εντολών2
ΤΕΛΟΣ_ΑΝ
....

με απλές δομές επιλογής (ΑΝ..ΤΟΤΕ..ΤΕΛΟΣ_ΑΝ)

Β) Πως μπορώ να μεταρέψω τον αλγόριθμο
....
ΑΝ Συνθήκη1 ΤΟΤΕ
  ομάδα_εντολών1
ΑΛΛΙΩΣ_ΑΝ Συνθήκη2 ΤΟΤΕ
  ομάδα_εντολών2
ΑΛΛΙΩΣ
  ομάδα_εντολών3
ΤΕΛΟΣ_ΑΝ
...

με απλές δομές επιλογής (ΑΝ..ΤΟΤΕ..ΤΕΛΟΣ_ΑΝ)

andreas_p

A)

ΑΝ Συνθήκη ΤΟΤΕ
  ομάδα_εντολών1
ΤΕΛΟΣ_ΑΝ

ΑΝ  OXI Συνθήκη  ΤΟΤΕ
  ομάδα_εντολών2
ΤΕΛΟΣ_ΑΝ



Β)

ΑΝ Συνθήκη1 ΤΟΤΕ
  ομάδα_εντολών1
ΤΕΛΟΣ_ΑΝ

AN OXI(Συνθήκη1)  KAI  Συνθήκη2  ΤΟΤΕ
   ομάδα_εντολών2
ΤΕΛΟΣ_ΑΝ

AN OXI(Συνθήκη1)  KAI  ΟΧΙ(Συνθήκη2)  ΤΟΤΕ
  ομάδα_εντολών3
ΤΕΛΟΣ_ΑΝ

George

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

Παράδειγμα το 3ο θέμα του 2002
ΑΝ Υ>Α ΤΟΤΕ
   Υ <-  Υ-Α
ΑΛΛΙΩΣ_ΑΝ Υ=0 ΤΟΤΕ
   ΕΜΦΑΝΙΣΕ Α
ΑΛΛΙΩΣ
   Ποσό  <-  Α-Υ
   ΕΜΦΑΝΙΣΕ Ποσό
   Υ <-  0
ΤΕΛΟΣ_ΑΝ

Η μετατροπή του σε απλές επιλογές όπως παρακάτω είναι λάθος
ΑΝ Υ>Α ΤΟΤΕ
   Υ <-  Υ-Α
ΤΕΛΟΣ_ΑΝ
ΑΝ ΟΧΙ (Υ>Α) ΚΑΙ Υ=0 ΤΟΤΕ
   ΕΜΦΑΝΙΣΕ Α
ΤΕΛΟΣ_ΑΝ
ΑΝ ΟΧΙ (Υ>Α) ΚΑΙ  ΟΧΙ ( Υ=0) ΤΟΤΕ
   Ποσό <-  Α-Υ
   ΕΜΦΑΝΙΣΕ Ποσό
   Υ <-  0
ΤΕΛΟΣ_ΑΝ

kyramas

για το α)

κ<-ΨΕΥΔΗΣ
ΑΝ Σ ΤΟΤΕ
  κ<-ΑΛΗΘΗΣ
  εντολές_1
ΤΕΛΟΣ_ΑΝ
ΑΝ ΟΧΙ κ ΤΟΤΕ
  εντολές_2
ΤΕΛΟΣ_ΑΝ

για το β)
κ<-ΨΕΥΔΗΣ
ΑΝ Σ1 ΤΟΤΕ
  κ<-ΑΛΗΘΗΣ
  εντολές_1
ΤΕΛΟΣ_ΑΝ
ΑΝ (ΟΧΙ κ) ΚΑΙ Σ2 ΤΟΤΕ
  κ<-ΑΛΗΘΗΣ
  εντολές_2
ΤΕΛΟΣ_ΑΝ
ΑΝ ΟΧΙ κ ΤΟΤΕ
  εντολές_3
ΤΕΛΟΣ_ΑΝ

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

Παρατήρηση:
α)Ο έλεγχος των συνθηκών πρέπει να γίνεται μία μόνο φορά
β) Πρέπει πάντα να έχουμε μία μόνο είσοσο
σε μπλοκ εντολών

landreou

Αρα κινούμαστε με βάση αυτά ;

Δηλαδή :

για το α)
ΑΝ Συνθήκη ΤΟΤΕ
  ομάδα_εντολών1
ΑΛΛΙΩΣ
  ομάδα_εντολών2
ΤΕΛΟΣ_ΑΝ
-----------------------μετατροπη (α) -----------------------
κ<-ΨΕΥΔΗΣ
ΑΝ Σ ΤΟΤΕ
  κ<-ΑΛΗΘΗΣ
  εντολές_1
ΤΕΛΟΣ_ΑΝ
ΑΝ ΟΧΙ κ ΤΟΤΕ
  εντολές_2
ΤΕΛΟΣ_ΑΝ
----------------------------------------------------------------
-----------------------μετατροπη (β) -----------------------
κ<-ΨΕΥΔΗΣ
ΑΝ Σ1 ΤΟΤΕ
  κ<-ΑΛΗΘΗΣ
  εντολές_1
ΤΕΛΟΣ_ΑΝ
ΑΝ (ΟΧΙ κ) ΚΑΙ Σ2 ΤΟΤΕ
  κ<-ΑΛΗΘΗΣ
  εντολές_2
ΤΕΛΟΣ_ΑΝ
ΑΝ ΟΧΙ κ ΤΟΤΕ
  εντολές_3
ΤΕΛΟΣ_ΑΝ
----------------------------------------------------------------

Λαμπράκης Μανώλης

Καλημέρα σε όλους

ήθελα να ρωτήσω η μετατροπή με την λογική μεταβλητή καλύπτει την περίπτωση όπου μεταβέλεται η μεταβλητή της συνθήκη ??

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

ευχαριστώ