Αποστολέας Θέμα: Μετατροπή σε δομές αν  (Αναγνώστηκε 1209 φορές)

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

  • Ομάδα διαγωνισμάτων 2017
  • *
  • Μηνύματα: 462
Μετατροπή σε δομές αν
« στις: 24 Ιούλ 2013, 05:05:52 μμ »
Καλησπέρα σε όλους

ήθελα να ρωτήσω το εξής.  έχουμε το παρακάτω τμήμα αλγορίθμου

Αν κ>0 τότε
     εμφάνισε "α"
αλλιώς
      αν λ>0 τότε
            εμφάνισε "β"
      αλλιώς
             εμφάνισε "γ"
τέλος_αν

για να απαλείψουμε την εμφωλευμένη δομή μπορούμε να γράψουμε το εξής?

αν κ>0 τότε
     εμφάνισε "α"
αλλιώς_αν κ<=0 και λ>0 τότε
      εμφάνισε "β"
αλλιώς
       εμφάνισε "γ"
τέλος_αν

1η ερώτηση --> το τμήμα αλλιώς είναι σωστά τοποθετημένο???καλύπτει τις περιπτωσεις που δεν καλύπτονται με τις παραπάνω συνθήκεςή μήπως αντί του αλλιώς χρειάζεται αλλιώς_αν κ<=0 και λ<=0 ???

2η ερώτηση --> στο αλλιώς_αν μπορούμε να γράψουμε αλλιώς_αν λ>0, με την λογική ότι το κ<=0 το έχουμε ελέγξει στην παραπάνω συνθήκη???? 

3η ερώτηση --> αν μπορούμε να κάνουμε το 2, τότε θα έχουμε

αν κ>0 τότε
   εμφάνισε "α"
αλλιώς_αν λ>0 τότε
   εμφάνισε "β"
αλλιώς
   εμφανισε γ"

μπορούμε να έχουμε αρχικά έλεγχο για μία μεταβλητή στο Αν και στη συνέχεια έλεγχο για μία δεύτερη στο αλλιώς_αν (όπως στο παράδειγμα)?? Με τη δομή Αν...αλλιως_αν....αλλώς  δεν καλύπτουμε περιπτώσεις της ίδιας μεταβλητής, δηλαδή στις συνθήκες δεν πρέπει καπου να υπάρχει και η κ στο παράδειγμά μας????

περιμένω τις απόψεις σας, γιατί έχω κολλήσει λιγάκι

ευχαριστώ

petrosp13

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 2083
Απ: Μετατροπή σε δομές αν
« Απάντηση #1 στις: 24 Ιούλ 2013, 06:58:13 μμ »
Αν σχεδιάσεις το διάγραμμα του πρώτου κώδικα σου και του τελευταίου, θα δεις ότι είναι ακριβώς το ίδιο, οπότε δεν χρειάζονται οι περιττοί έλεγχοι!
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

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

  • Ομάδα διαγωνισμάτων 2017
  • *
  • Μηνύματα: 462
Απ: Μετατροπή σε δομές αν
« Απάντηση #2 στις: 24 Ιούλ 2013, 08:15:17 μμ »
συμφωνώ, απλά μου φαίνεται περίεργη δομή πχ

Αν χ>0 τότε
    εμφάνισε "α"
Αλλιώς_αν κ>0
     εμφανισε "β"
αλλιώς
     εμφάνισε "γ"
τέλος_αν

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

petrosp13

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 2083
Απ: Μετατροπή σε δομές αν
« Απάντηση #3 στις: 25 Ιούλ 2013, 07:57:28 πμ »
H πρώτη συνθήκη όμως σου αποκλείει το 1/3 των περιπτώσεων του χ και οι υπόλοιπες 2/3 θεωρούνται σίγουρες από εκεί και πέρα, οπότε δεν χρειάζεται να ελεγχθούν και ελέγχονται μόνο αυτά που χρειάζεται
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

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

  • Ομάδα διαγωνισμάτων 2017
  • *
  • Μηνύματα: 462
Απ: Μετατροπή σε δομές αν
« Απάντηση #4 στις: 05 Μάρ 2014, 12:55:20 μμ »
ήθελα να τσεκάρω μία μετατροπή σχετική μα τα παραπάνω, δεν ανοίγω νέο θέμα

αν κ>0 τότε
    αν λ>0 τότε
         εντολές 1
    αλλιώς
         εντολές 2
     τέλος_αν
αλλιώς_αν π<0 τότε
    αν λ=0 τότε
       εντολές 2
    αλλιώς
        εντολές 1
   τέλος_αν
αλλιώς
   εντολές 1
τέλος_αν

είναι ισοδύναμο με

αν (κ>0 και λ>0) ή (κ<=0 και π<0 και λ <>0) ή (κ<=0 και π>=0 ) τότε
   εντολές 1
αλλιώς_αν (κ>0 και λ<=0) ή (κ<=0 και π<0 και λ=0) τότε
   ενολές 2
τέλος_αν

σωστά  ή χάνω κάτι ???

ευχαριστώ