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

Γενικό Λύκειο => Γ΄ Λυκείου => Μήνυμα ξεκίνησε από: semaphore στις 27 Μαΐ 2021, 06:40:37 μμ

Τίτλος: Θεωρητική Άσκηση
Αποστολή από: semaphore στις 27 Μαΐ 2021, 06:40:37 μμ
Καλησπέρα σε όλους,
Παραθέτω μία άσκηση συμπλήρωσης κενών. Οποιαδήποτε γνώμη και διόρθωση όπως πάντα είναι δεκτή.

Τίτλος: Απ: Θεωρητική Άσκηση
Αποστολή από: sotos στις 29 Μαΐ 2021, 12:20:20 πμ
απάντηση  από την άσκηση??
(Μαθητής) :laugh:
Τίτλος: Απ: Θεωρητική Άσκηση
Αποστολή από: Γιαννούλης Γιώργος στις 29 Μαΐ 2021, 12:49:07 μμ
semaphore, παρατηρώ ότι μέσα στα κενά (πχ στο Οσο) πρέπει να βάλουμε εκφράσεις, άρα πρέπει να αλλάξει η εκφώνηση. Επίσης με τη φυσιολογική ροη της λύσης δεν θα δουλέψει εάν δε δόσουμε πότε πάνω από ένα συνεχόμενο γιατί δεν θα μπει στο 1ο Αν. Τέλος δεν νομίζω ότι είναι σωστό να βάλουμε στο ΠΡ <- 1 στην αρχή, γιατί αν ο προηγούμενος είναι 1 θα μπορούσε να είναι είτε επειδή όντως ήταν το 1 που έδωσαν στην προηγούμενη επανάληψη ή είναι απλά η 1η επανάληψη που μπαίνουμε. Τέλος προσωπικά θα έβαζα στο εμφωλευμένο Αν ανάποδα τις 2 περιπτώσεις γιατί μου φαίνεται πιο 'καθαρός' κώδικας.
Πάντως για τελική λύση στα κενά που δίνονται νομίζω ότι η ακόλουθη κάνει τη δουλειά.

ΠΡΟΓΡΑΜΜΑ Α1
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: ΠΛ_ΜΑΧ_ΣΥΝ, ΜΑΧ_ΣΥΝ, ΠΛ, ΠΡ, Χ
ΑΡΧΗ
  ΠΛ_ΜΑΧ_ΣΥΝ <- 0
  ΜΑΧ_ΣΥΝ <- 0                                                               !10
  ΠΛ <- 0
  ΠΡ <- 1
  ΔΙΑΒΑΣΕ Χ
  ΟΣΟ Χ > 0 ΕΠΑΝΑΛΑΒΕ                                                         !9
    ΑΝ Χ = ΠΡ Η ΜΑΧ_ΣΥΝ = 0 ΤΟΤΕ                                              !1
      ΠΛ <- ΠΛ + 1
      ΑΝ ΠΛ >= ΠΛ_ΜΑΧ_ΣΥΝ ΚΑΙ Χ > ΜΑΧ_ΣΥΝ ΤΟΤΕ                              !2 3
        ΠΛ_ΜΑΧ_ΣΥΝ <- ΠΛ                                                      !4
        ΜΑΧ_ΣΥΝ <- Χ
      ΑΛΛΙΩΣ_ΑΝ ΠΛ > ΠΛ_ΜΑΧ_ΣΥΝ ΤΟΤΕ
        ΠΛ_ΜΑΧ_ΣΥΝ <- ΠΛ
        ΜΑΧ_ΣΥΝ <- Χ                                                          !5
      ΤΕΛΟΣ_ΑΝ
      ΠΡ <- Χ                                                                 !6
    ΑΛΛΙΩΣ
      ΠΡ <- Χ
      ΠΛ <- 1                                                                 !7
    ΤΕΛΟΣ_ΑΝ
    ΔΙΑΒΑΣΕ Χ                                                                 !8
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΡΑΨΕ ΠΛ_ΜΑΧ_ΣΥΝ, ΜΑΧ_ΣΥΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Τίτλος: Απ: Θεωρητική Άσκηση
Αποστολή από: semaphore στις 03 Ιουν 2021, 07:01:48 πμ
semaphore, παρατηρώ ότι μέσα στα κενά (πχ στο Οσο) πρέπει να βάλουμε εκφράσεις, άρα πρέπει να αλλάξει η εκφώνηση. Επίσης με τη φυσιολογική ροη της λύσης δεν θα δουλέψει εάν δε δόσουμε πότε πάνω από ένα συνεχόμενο γιατί δεν θα μπει στο 1ο Αν. Τέλος δεν νομίζω ότι είναι σωστό να βάλουμε στο ΠΡ <- 1 στην αρχή, γιατί αν ο προηγούμενος είναι 1 θα μπορούσε να είναι είτε επειδή όντως ήταν το 1 που έδωσαν στην προηγούμενη επανάληψη ή είναι απλά η 1η επανάληψη που μπαίνουμε. Τέλος προσωπικά θα έβαζα στο εμφωλευμένο Αν ανάποδα τις 2 περιπτώσεις γιατί μου φαίνεται πιο 'καθαρός' κώδικας.
Πάντως για τελική λύση στα κενά που δίνονται νομίζω ότι η ακόλουθη κάνει τη δουλειά.

ΠΡΟΓΡΑΜΜΑ Α1
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: ΠΛ_ΜΑΧ_ΣΥΝ, ΜΑΧ_ΣΥΝ, ΠΛ, ΠΡ, Χ
ΑΡΧΗ
  ΠΛ_ΜΑΧ_ΣΥΝ <- 0
  ΜΑΧ_ΣΥΝ <- 0                                                               !10
  ΠΛ <- 0
  ΠΡ <- 1
  ΔΙΑΒΑΣΕ Χ
  ΟΣΟ Χ > 0 ΕΠΑΝΑΛΑΒΕ                                                         !9
    ΑΝ Χ = ΠΡ Η ΜΑΧ_ΣΥΝ = 0 ΤΟΤΕ                                              !1
      ΠΛ <- ΠΛ + 1
      ΑΝ ΠΛ >= ΠΛ_ΜΑΧ_ΣΥΝ ΚΑΙ Χ > ΜΑΧ_ΣΥΝ ΤΟΤΕ                              !2 3
        ΠΛ_ΜΑΧ_ΣΥΝ <- ΠΛ                                                      !4
        ΜΑΧ_ΣΥΝ <- Χ
      ΑΛΛΙΩΣ_ΑΝ ΠΛ > ΠΛ_ΜΑΧ_ΣΥΝ ΤΟΤΕ
        ΠΛ_ΜΑΧ_ΣΥΝ <- ΠΛ
        ΜΑΧ_ΣΥΝ <- Χ                                                          !5
      ΤΕΛΟΣ_ΑΝ
      ΠΡ <- Χ                                                                 !6
    ΑΛΛΙΩΣ
      ΠΡ <- Χ
      ΠΛ <- 1                                                                 !7
    ΤΕΛΟΣ_ΑΝ
    ΔΙΑΒΑΣΕ Χ                                                                 !8
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΡΑΨΕ ΠΛ_ΜΑΧ_ΣΥΝ, ΜΑΧ_ΣΥΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ


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