Γενικό Λύκειο > Δομές δεδομένων

Λάθη στις εκφωνήσεις και λύσεις των ασκήσεων στην ουρά και στην στοίβα

(1/4) > >>

geprgia:
ΠΑΡΑΔΕΙΓΜΑ 4 ΣΕΛ17 στο συμπληρωματικό Εκπαιδ. Υλικό

Η εκφώνηση δεν είναι σαφής:π.χ. δεν λέει αν οι διαδρομές Πειραιάς-Αίγινα είναι πολλαπλές ή μια. Το καταλαβαίνουμε ότι πρόκειται για πολλαπλές από την λύση και ειδικά από την αρχικοποίηση του πλ1 έξω απ το μενου και του πλ2 εντός δηλ συνολικες επιβιβάσεις για τον Πειραιά και κάθε φορά αποβιβάσεις για την Αίγινα.
 Το πλ2 των αποβιβάσεων στην Αίγινα δεν ζητειται στην εκφώνηση παρόλα αυτα υπολογιεται και μάλιστα με έναν πλεονασμό διότι η μεταβλητή top  δείχνει πόσα πλοια βρίσκονται εντός του πλοιου και λογικά θα αποβιβαστούν.

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

petrosp13:
Η διαδρομή είναι μια, απλά επιβιβάζονται πολλά αυτοκίνητα και αυτό μετράει το πλήθος
Το μενού είναι για να επιλέξει ο χρήστης αν θα γίνει επιβίβαση ή αποβίβαση
Αν επιλέξει επιβίβαση, τότε υπάρχουν 2 περιπτώσεις για να ολοκληρωθεί
-Να μην υπάρχει άλλο αυτοκίνητο (γι'αυτό και η εμφωλευμένη ερώτηση)
-Να γεμίσει το πλοίο

geprgia:

--- Παράθεση από: petrosp13 στις 18 Φεβ 2021, 03:21:29 μμ ---Η διαδρομή είναι μια, απλά επιβιβάζονται πολλά αυτοκίνητα και αυτό μετράει το πλήθος
Το μενού είναι για να επιλέξει ο χρήστης αν θα γίνει επιβίβαση ή αποβίβαση
Αν επιλέξει επιβίβαση, τότε υπάρχουν 2 περιπτώσεις για να ολοκληρωθεί
-Να μην υπάρχει άλλο αυτοκίνητο (γι'αυτό και η εμφωλευμένη ερώτηση)
-Να γεμίσει το πλοίο

--- Τέλος παράθεσης ---

Από που εξάγεις το συμπέρασμα ότι η διαδρομή είναι μια ;Γιατί η εκφώνηση δεν λέει κάτι τέτοιο...

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

Μάλλον δεν κατάλαβες την παρατήρηση μου...

geprgia:
Στην άσκηση Ε7 του βιβλίου των Λύσεων:

Στην εκφώνηση αναφέρει: "Η επαναληπτική διαδικασία ολοκληρώνεται, όταν εκτυπωθούν όλα τα αρχεία που έχουν τοποθετηθεί στην ουρά".

Λογικά η διαδικασία θα τελείωνε όταν εμπρός=0 και πίσω =0  ( ή εναλλακτικά ανάλογα με την υλοποίηση όταν εμπρός> πίσω)

Ωστόσο η λύση εισάγει δυνατότητα τερματισμού από τον χρήστη με την επιλογή 'Τ' (Τέλος, για έξοδο από το πρόγραμμα)!!!...

Έτσι μπορεί κάποιος να τερματίσει πριν εκτυπωθουν ολα τα αρχεία με την επιλογη Ἐ', αν πριν την επιλογη 'Ε' πατήσει 'Τ'

geprgia:
Στην άσκηση Ε7 του βιβλίου των Λύσεων:
μηδενίζει τους δείκτες εμπρός και πίσω έξω από τη Αν. Αυτό είναι πλεονασμός διότι στην πρωτη περίπτωση της Αν όταν η ουρα είναι άδεια, οι δείκτες είναι ήδη μηδέν, και στη δεύτερη όπου το στοιχείο είναι ένα, μετά την εξαγωγή του μηδενίζονται .

ΑΝ επ = 'Ε' ΤΟΤΕ
 αθρ <- 0
 ΑΝ (αρχ = 0 ΚΑΙ τελος = 0) ΤΟΤΕ
 ΓΡΑΨΕ ' Δεν υπάρχει αρχείο για εκτύπωση...'
 ΑΛΛΙΩΣ_ΑΝ αρχ = τελος ΤΟΤΕ
 ΓΡΑΨΕ 'Εκτύπωση ', πίνακας_αρχειων[αρχ]
  πίνακας_αρχειων[αρχ] <- "" !για παρακ/θηση των τιμών του πίνακα
 τελος <- 0
 αρχ <- 0
    αθρ <- αθρ + 1
  ΑΛΛΙΩΣ
    ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
     ΓΡΑΨΕ 'Εκτύπωση ', πίνακας_αρχειων[αρχ]
      πίνακας_αρχειων[αρχ] <- "" !για παρακ/θηση των τιμών του πίνακα
       αρχ <- αρχ + 1
        αθρ <- αθρ + 1
      ΜΕΧΡΙΣ_ΟΤΟΥ (αρχ > τελος)
    ΤΕΛΟΣ_ΑΝ
    ΓΡΑΨΕ 'Εκτυπώθηκαν συνολικά ', αθρ, ' αρχεία'
 τελος <- 0
 αρχ <- 0
 ΤΕΛΟΣ_ΑΝ

Οπότε ο μηδενισμός των δεικτών θα έπρεπε να μπει αμέσως μετά την επανάληψης και εντος την τρίτης περίπτωσης της αν.

ΑΝ επ = 'Ε' ΤΟΤΕ
 αθρ <- 0
 ΑΝ (αρχ = 0 ΚΑΙ τελος = 0) ΤΟΤΕ
 ΓΡΑΨΕ ' Δεν υπάρχει αρχείο για εκτύπωση...'
 ΑΛΛΙΩΣ_ΑΝ αρχ = τελος ΤΟΤΕ
 ΓΡΑΨΕ 'Εκτύπωση ', πίνακας_αρχειων[αρχ]
  πίνακας_αρχειων[αρχ] <- "" !για παρακ/θηση των τιμών του πίνακα
 τελος <- 0
 αρχ <- 0
    αθρ <- αθρ + 1
  ΑΛΛΙΩΣ
    ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
     ΓΡΑΨΕ 'Εκτύπωση ', πίνακας_αρχειων[αρχ]
      πίνακας_αρχειων[αρχ] <- "" !για παρακ/θηση των τιμών του πίνακα
       αρχ <- αρχ + 1
        αθρ <- αθρ + 1
      ΜΕΧΡΙΣ_ΟΤΟΥ (αρχ > τελος)
     τελος <- 0
     αρχ <- 0
    ΤΕΛΟΣ_ΑΝ
    ΓΡΑΨΕ 'Εκτυπώθηκαν συνολικά ', αθρ, ' αρχεία'

 ΤΕΛΟΣ_ΑΝ

Πλοήγηση

[0] Λίστα μηνυμάτων

[#] Επόμενη σελίδα

Μετάβαση στην πλήρη έκδοση