Αποστολέας Θέμα: ΑΣΚΗΣΗ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ (ΕΡΩΤΗΣΕΙΣ)  (Αναγνώστηκε 1321 φορές)

landreou

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 124
ΑΣΚΗΣΗ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ (ΕΡΩΤΗΣΕΙΣ)
« στις: 04 Ιούλ 2013, 01:53:26 μμ »
 Με την βοήθεια του τμηματικού προγραμματισμού να γίνουν τα εξής:

α) Να γίνει διαδικασία Δ η οποία θα διαβάζει έναν πίνακα ακεραίων αριθμών 100 θέσεων και θα τον επιστρέφει στο κύριο πρόγραμμα.

β) Να δημιουργηθεί διαδικασία ΥΠΟΠΡ1 η οποία θα δέχεται έναν πίνακα ακεραίων αριθμών 100 θέσεων καθώς και ένα στοιχείο το οποίο θα αναζητηθεί στον πίνακα και θα επιστρέφει:

1. την πρώτη θέση στην οποία υπάρχει το υπό αναζήτηση στοιχείο και ΑΛΗΘΗΣ, αν αυτό υπάρχει.

2. μηδέν και ΨΕΥΔΗΣ, αν αυτό δεν υπάρχει.

ΔΙΑΔΙΚΑΣΙΑ ΥΠΟΠΡ1(ΠΙΝΑΚΑΣ,ΣΤΟΙΧΕΙΟ,ΠΡΩΤΗ_ΘΕΣΗ,ΥΠΑΡΧΕΙ)
ΜΕΤΑΒΛΗΤΕΣ

          ΑΚΕΡΑΙΕΣ : ΠΙΝΑΚΑΣ[100] ΣΤΟΙΧΕΙΟ,ΠΡΩΤΗ_ΘΕΣΗ,Ι

          ΛΟΓΙΚΕΣ : ΥΠΑΡΧΕΙ

ΑΡΧΗ

        Ι <- 1
 
       ΠΡΩΤΗ_ΘΕΣΗ <- 0

       ΥΠΑΡΧΕΙ <- ΨΕΥΔΗΣ   
 
        ΟΣΟ (Ι<= 100) ΚΑΙ (ΥΠΑΡΧΕΙ=ΨΕΥΔΗΣ) ΕΠΑΝΑΛΑΒΕ

                ΑΝ ΠΙΝΑΚΑΣ[Ι] = ΣΤΟΙΧΕΙΟ ΤΟΤΕ
                           
                              ΥΠΑΡΧΕΙ <- ΑΛΗΘΗΣ
                ΑΛΛΙΩΣ

                              Ι <- Ι + 1

                ΤΕΛΟΣ_ΑΝ

          ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ   

          ΑΝ ΥΠΑΡΧΕΙ = ΨΕΥΔΗΣ ΤΟΤΕ

               ΠΡΩΤΗ_ΘΕΣΗ <- 0

         ΑΛΛΙΩΣ

              ΠΡΩΤΗ_ΘΕΣΗ <- Ι

         ΤΕΛΟΣ_ΑΝ

ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ               

γ) Να δημιουργηθεί διαδικασία ΥΠΟΠΡ 2 η οποία θα δέχεται έναν πίνακα ακεραίων αριθμών 100 θέσεων και το υπό αναζήτηση στοιχείο και θα εμφανίζει όλες τις θέσεις στις οποίες αυτό υπάρχει (αν υπάρχει).

ΔΙΑΔΙΚΑΣΙΑ ΥΠΟΠΡ2(ΠΙΝΑΚΑΣ,ΣΤΟΙΧΕΙΟ,ΠΛΗΘΟΣ)

ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ : ΠΙΝΑΚΑΣ[100] ,ΣΤΟΙΧΕΙΟ, Ι, ΠΛΗΘΟΣ

ΑΡΧΗ
        ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 100

              ΑΝ ΠΙΝΑΚΑΣ[Ι] =  ΣΤΟΙΧΕΙΟ ΤΟΤΕ

                          ΠΛΗΘΟΣ <- ΠΛΗΘΟΣ + 1

              ΤΕΛΟΣ_ΑΝ

         ΤΕΛΟΣ_ΑΠΑΝΑΛΗΨΗΣ

ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ         

δ) Να δημιουργήσετε συνάρτηση ΥΠΟΠΡ3  η οποία θα δέχεται έναν πίνακα ακεραίων αριθμών 100 θέσεων και το υπό αναζήτηση στοιχείο και θα επιστρέφει την τελευταία θέση του πίνακα στην οποία αυτό παρατηρήθηκε. Αν δεν υπάρχει σε καμιά να επιστρέφεται το μηδέν.

ΣΥΝΑΡΤΗΣΗ ΥΠΟΠΡ3(ΠΙΝΑΚΑΣ,ΣΤΟΙΧΕΙΟ) : ΑΚΕΡΑΙΑ
ΜΕΤΑΒΛΗΤΕΣ

          ΑΚΕΡΑΙΕΣ : ΠΙΝΑΚΑΣ[100] ΣΤΟΙΧΕΙΟ,Ι

          ΛΟΓΙΚΕΣ : ΥΠΑΡΧΕΙ

ΑΡΧΗ

        Ι <- 100
 
       ΤΕΛΕΥΤΑΙΑ_ΘΕΣΗ <- 0

       ΥΠΑΡΧΕΙ <- ΨΕΥΔΗΣ   
 
        ΟΣΟ (Ι>= 1) ΚΑΙ (ΥΠΑΡΧΕΙ=ΨΕΥΔΗΣ) ΕΠΑΝΑΛΑΒΕ

                ΑΝ ΠΙΝΑΚΑΣ[Ι] = ΣΤΟΙΧΕΙΟ ΤΟΤΕ
                           
                              ΥΠΑΡΧΕΙ <- ΑΛΗΘΗΣ
                ΑΛΛΙΩΣ

                              Ι <- Ι + 1

                ΤΕΛΟΣ_ΑΝ

          ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ   

          ΑΝ ΥΠΑΡΧΕΙ = ΨΕΥΔΗΣ ΤΟΤΕ

               ΥΠΟΠΡ3 <- 0

         ΑΛΛΙΩΣ

              ΥΠΟΠΡ3 <- Ι

         ΤΕΛΟΣ_ΑΝ

ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ



ε) Να κατασκευαστεί κύριο πρόγραμμα το οποίο, αφού χρησιμοποιήσει τη διαδικασία για την είσοδο του πίνακα, διαβάζει το υπό αναζήτηση στοιχείο. Έπειτα θα εμφανίζει στον χρήστη ένα μενού τριών επιλογών ώστε να διαλέξει το κατάλληλο υποπρόγραμμα αναζήτησης (ανάλογα µε το τι θέλει να κάνει). Μετά από την εκτέλεση κάθε υποπρογράμματος να γίνεται εμφάνιση των αποτελεσμάτων µόνο αν είναι απαραίτητο.

ΠΡΟΓΡΑΜΜΑ ΒΑΣΙΚΟ

ΜΕΤΑΒΛΗΤΕΣ
           ΑΚΕΡΑΙΕΣ : ΠΙΝΑΚΑΣ[100],Ι,ΣΤΟΙΧΕΙΟ,ΠΡΩΤΗ_ΘΕΣΗ,ΤΕΛΕΥΤΑΙΑ_ΘΕΣΗ
           ΛΟΓΙΚΕΣ : ΥΠΑΡΧΕΙ
ΑΡΧΗ

           ΓΡΑΨΕ '-------------- ΜΕΝΟΥ -------------- '     
           ΓΡΑΨΕ ' [1] ΓΙΑ ΤΗΝ ΠΡΩΤΗ ΘΕΣΗ         '
           ΓΡΑΨΕ ' [2] ΓΙΑ ΤΗΝ ΤΕΛΕΥΤΑΙΑ ΘΕΣΗ   '
           ΓΡΑΨΕ ' [3] ΓΙΑ ΟΛΕΣ ΤΙΣ ΘΕΣΕΙΣ         '
           ΓΡΑΨΕ '---------------------------------------'
           
           ΓΡΑΨΕ ' ΔΩΣΕ ΣΤΟΙΧΕΙΟ ΓΙΑ ΑΝΑΖΗΤΗΣΗ'
           ΔΑΒΑΣΕ ΣΤΟΙΧΕΙΟ

          ΓΡΑΨΕ ' ΔΩΣΕ ΕΠΙΛΟΓΗ ΄
          ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ

                      ΔΙΑΒΑΣΕ ΕΠΙΛΟΓΗ

          ΜΕΧΡΙΣ_ΟΤΟΥ (ΕΠΙΛΟΓΗ >= 1) ΚΑΙ (ΕΠΙΛΟΓΗ <= 3)
       
           ΑΝ ΕΠΙΛΟΓΗ = 1 ΤΟΤΕ
           
                 ΓΡΑΨΕ ' ΝΑ ΤΥΠΩΘΕΙ ΑΠΟΤΕΛΕΣΜΑ;'
                 
                  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
                              ΔΙΑΒΑΣΕ ΑΠΑΝΤΗΣΗ
                  ΜΕΧΡΙΣ_ΟΤΟΥ ΑΠΑΝΤΗΣΗ='Ν' Η ΑΠΑΝΤΗΣΗ='Ο'
                 
                  ΑΝ ΑΠΑΝΤΗΣΗ = 'Ν' ΤΟΤΕ
                        ΚΑΛΕΣΕ ΥΠΟΠΡ1(ΠΙΝΑΚΑΣ,ΣΤΟΙΧΕΙΟ,ΠΡΩΤΗ_ΘΕΣΗ,ΥΠΑΡΧΕΙ)
                        ΓΡΑΨΕ ΠΡΩΤΗ_ΘΕΣΗ,ΥΠΑΡΧΕΙ
                  ΑΛΛΙΩΣ   
                        ΚΑΛΕΣΕ ΥΠΟΠΡ1(ΠΙΝΑΚΑΣ,ΣΤΟΙΧΕΙΟ,ΠΡΩΤΗ_ΘΕΣΗ,ΥΠΑΡΧΕΙ)
                  ΤΕΛΟΣ_ΑΝ
           ΑΛΛΙΩΣ_ΑΝ ΕΠΙΛΟΓΗ = 2 ΤΟΤΕ

                 ΓΡΑΨΕ ' ΝΑ ΤΥΠΩΘΕΙ ΑΠΟΤΕΛΕΣΜΑ;'
                 
                  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
                              ΔΙΑΒΑΣΕ ΑΠΑΝΤΗΣΗ
                  ΜΕΧΡΙΣ_ΟΤΟΥ ΑΠΑΝΤΗΣΗ='Ν' Η ΑΠΑΝΤΗΣΗ='Ο'
                 
                  ΑΝ ΑΠΑΝΤΗΣΗ = 'Ν' ΤΟΤΕ
                        ΚΑΛΕΣΕ ΥΠΟΠΡ2(ΠΙΝΑΚΑΣ,ΣΤΟΙΧΕΙΟ,ΠΛΗΘΟΣ)
                        ΓΡΑΨΕ ΠΛΗΘΟΣ

                  ΑΛΛΙΩΣ

                        ΚΑΛΕΣΕ ΥΠΟΠΡ2(ΠΙΝΑΚΑΣ,ΣΤΟΙΧΕΙΟ,ΠΛΗΘΟΣ)

                   ΤΕΛΟΣ_ΑΝ
                 
         
            ΑΛΛΙΩΣ
 
                 ΓΡΑΨΕ ' ΝΑ ΤΥΠΩΘΕΙ ΑΠΟΤΕΛΕΣΜΑ;'
                 
                  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
                              ΔΙΑΒΑΣΕ ΑΠΑΝΤΗΣΗ
                  ΜΕΧΡΙΣ_ΟΤΟΥ ΑΠΑΝΤΗΣΗ='Ν' Η ΑΠΑΝΤΗΣΗ='Ο'
                 
                  ΑΝ ΑΠΑΝΤΗΣΗ = 'Ν' ΤΟΤΕ
                        ΤΕΛΕΥΤΑΙΑ_ΘΕΣΗ <- ΥΠΟΠΡ3(ΠΙΝΑΚΑΣ,ΣΤΟΙΧΕΙΟ)
                        ΓΡΑΨΕ ΤΕΛΕΥΤΑΙΑ_ΘΕΣΗ
                  ΑΛΛΙΩΣ
                        ΤΕΛΕΥΤΑΙΑ_ΘΕΣΗ <- ΥΠΟΠΡ3(ΠΙΝΑΚΑΣ,ΣΤΟΙΧΕΙΟ)
                   ΤΕΛΟΣ_ΑΝ 
                     
              ΤΕΛΟΣ_ΑΝ

ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ       
                 
 ΕΡΩΤΗΣΕΙΣ :

[1]  ΤΑ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ  ΕΧΟΥΝ ΚΑΠΟΙΟ ΛΑΘΟΣ ;

[2] ΤΙ ΕΝΝΟΕΙ ΕΜΦΑΝΙΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΜΟΝΟ ΑΝ ΕΙΝΑΙ ΑΠΑΡΑΙΤΗΤΟ ;
      ΕΓΩ ΜΕΤΑ ΑΠΟ ΚΑΘΕ ΕΠΙΛΟΓΗ ΡΩΤΑΩ ΑΝ ΘΕΛΕΙ Ο ΧΡΗΣΤΗΣ ΝΑ ΒΓΟΥΝ ΑΠΟΤΕΛΕΣΜΑΤΑ ΚΑΙ
      ΜΕΤΑ ΤΥΠΩΝΣ Η ΜΟΝΟ ΚΑΛΩ ΤΟ ΥΠΟΠΡΟΓΡΑΜΜΑ.

ΣΗΜΕΙΩΣΗ :
ΕΝΝΟΕΙΤΑΙ ΤΑ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ΤΑ ΒΑΖΩ ΜΕΤΑ ΤΟ ΤΕΛΟΣ ΤΟΥ ΚΥΡΙΩΣ ΠΡΟΓΡΑΜΜΑΤΟΣ
       

« Τελευταία τροποποίηση: 04 Ιούλ 2013, 02:43:07 μμ από landreou »

petrosp13

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 2313
Απ: ΑΣΚΗΣΗ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ (ΕΡΩΤΗΣΕΙΣ)
« Απάντηση #1 στις: 04 Ιούλ 2013, 02:09:22 μμ »
Ευκολάκι
 :)
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

landreou

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 124
Απ: ΑΣΚΗΣΗ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ (ΕΡΩΤΗΣΕΙΣ)
« Απάντηση #2 στις: 04 Ιούλ 2013, 02:44:19 μμ »
Δες φιλε λιγο τη λύση μήπως κάνω καποιο λάθος.

Αποστολάτος Άκης

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 87
Απ: ΑΣΚΗΣΗ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ (ΕΡΩΤΗΣΕΙΣ)
« Απάντηση #3 στις: 04 Ιούλ 2013, 07:19:19 μμ »
Με την βοήθεια του τμηματικού προγραμματισμού να γίνουν τα εξής:

α) Να γίνει διαδικασία Δ η οποία θα διαβάζει έναν πίνακα ακεραίων αριθμών 100 θέσεων και θα τον επιστρέφει στο κύριο πρόγραμμα.

β) Να δημιουργηθεί διαδικασία ΥΠΟΠΡ1 η οποία θα δέχεται έναν πίνακα ακεραίων αριθμών 100 θέσεων καθώς και ένα στοιχείο το οποίο θα αναζητηθεί στον πίνακα και θα επιστρέφει:

1. την πρώτη θέση στην οποία υπάρχει το υπό αναζήτηση στοιχείο και ΑΛΗΘΗΣ, αν αυτό υπάρχει.

2. μηδέν και ΨΕΥΔΗΣ, αν αυτό δεν υπάρχει.

ΔΙΑΔΙΚΑΣΙΑ ΥΠΟΠΡ1(ΠΙΝΑΚΑΣ,ΣΤΟΙΧΕΙΟ,ΠΡΩΤΗ_ΘΕΣΗ,ΥΠΑΡΧΕΙ)
ΜΕΤΑΒΛΗΤΕΣ

          ΑΚΕΡΑΙΕΣ : ΠΙΝΑΚΑΣ[100] ΣΤΟΙΧΕΙΟ,ΠΡΩΤΗ_ΘΕΣΗ,Ι

          ΛΟΓΙΚΕΣ : ΥΠΑΡΧΕΙ

ΑΡΧΗ

        Ι <- 1
 
       ΠΡΩΤΗ_ΘΕΣΗ <- 0

       ΥΠΑΡΧΕΙ <- ΨΕΥΔΗΣ   
 
        ΟΣΟ (Ι<= 100) ΚΑΙ (ΥΠΑΡΧΕΙ=ΨΕΥΔΗΣ) ΕΠΑΝΑΛΑΒΕ

                ΑΝ ΠΙΝΑΚΑΣ[Ι] = ΣΤΟΙΧΕΙΟ ΤΟΤΕ
                           
                              ΥΠΑΡΧΕΙ <- ΑΛΗΘΗΣ
                ΑΛΛΙΩΣ

                              Ι <- Ι + 1

                ΤΕΛΟΣ_ΑΝ

          ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ   

          ΑΝ ΥΠΑΡΧΕΙ = ΨΕΥΔΗΣ ΤΟΤΕ

               ΠΡΩΤΗ_ΘΕΣΗ <- 0

         ΑΛΛΙΩΣ

              ΠΡΩΤΗ_ΘΕΣΗ <- Ι

         ΤΕΛΟΣ_ΑΝ

ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ               

γ) Να δημιουργηθεί διαδικασία ΥΠΟΠΡ 2 η οποία θα δέχεται έναν πίνακα ακεραίων αριθμών 100 θέσεων και το υπό αναζήτηση στοιχείο και θα εμφανίζει όλες τις θέσεις στις οποίες αυτό υπάρχει (αν υπάρχει).

ΔΙΑΔΙΚΑΣΙΑ ΥΠΟΠΡ2(ΠΙΝΑΚΑΣ,ΣΤΟΙΧΕΙΟ,ΠΛΗΘΟΣ) // Δε χρειάζεται να το επιστρέψεις στο πρόγραμμα. Η διαδικασία αυτή τυπώνει...

ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ : ΠΙΝΑΚΑΣ[100] ,ΣΤΟΙΧΕΙΟ, Ι, ΠΛΗΘΟΣ

ΑΡΧΗ
        ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 100

              ΑΝ ΠΙΝΑΚΑΣ[Ι] =  ΣΤΟΙΧΕΙΟ ΤΟΤΕ

                          ΠΛΗΘΟΣ <- ΠΛΗΘΟΣ + 1
// ΛΑΘΟΣ... Η Εκφώνηση θέλει να εμφανίζεις άρα ΓΡΑΨΕ Ι
              ΤΕΛΟΣ_ΑΝ

         ΤΕΛΟΣ_ΑΠΑΝΑΛΗΨΗΣ

ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ         

δ) Να δημιουργήσετε συνάρτηση ΥΠΟΠΡ3  η οποία θα δέχεται έναν πίνακα ακεραίων αριθμών 100 θέσεων και το υπό αναζήτηση στοιχείο και θα επιστρέφει την τελευταία θέση του πίνακα στην οποία αυτό παρατηρήθηκε. Αν δεν υπάρχει σε καμιά να επιστρέφεται το μηδέν.

ΣΥΝΑΡΤΗΣΗ ΥΠΟΠΡ3(ΠΙΝΑΚΑΣ,ΣΤΟΙΧΕΙΟ) : ΑΚΕΡΑΙΑ
ΜΕΤΑΒΛΗΤΕΣ

          ΑΚΕΡΑΙΕΣ : ΠΙΝΑΚΑΣ[100] ΣΤΟΙΧΕΙΟ,Ι

          ΛΟΓΙΚΕΣ : ΥΠΑΡΧΕΙ

ΑΡΧΗ

        Ι <- 100
 
       ΤΕΛΕΥΤΑΙΑ_ΘΕΣΗ <- 0

       ΥΠΑΡΧΕΙ <- ΨΕΥΔΗΣ   
 
        ΟΣΟ (Ι>= 1) ΚΑΙ (ΥΠΑΡΧΕΙ=ΨΕΥΔΗΣ) ΕΠΑΝΑΛΑΒΕ

                ΑΝ ΠΙΝΑΚΑΣ[Ι] = ΣΤΟΙΧΕΙΟ ΤΟΤΕ
                           
                              ΥΠΑΡΧΕΙ <- ΑΛΗΘΗΣ
                ΑΛΛΙΩΣ

                              Ι <- Ι + 1 // Ι <-- Ι - 1

                ΤΕΛΟΣ_ΑΝ

          ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ   

          ΑΝ ΥΠΑΡΧΕΙ = ΨΕΥΔΗΣ ΤΟΤΕ

               ΥΠΟΠΡ3 <- 0

         ΑΛΛΙΩΣ

              ΥΠΟΠΡ3 <- Ι

         ΤΕΛΟΣ_ΑΝ

ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ



ε) Να κατασκευαστεί κύριο πρόγραμμα το οποίο, αφού χρησιμοποιήσει τη διαδικασία για την είσοδο του πίνακα, διαβάζει το υπό αναζήτηση στοιχείο. Έπειτα θα εμφανίζει στον χρήστη ένα μενού τριών επιλογών ώστε να διαλέξει το κατάλληλο υποπρόγραμμα αναζήτησης (ανάλογα µε το τι θέλει να κάνει). Μετά από την εκτέλεση κάθε υποπρογράμματος να γίνεται εμφάνιση των αποτελεσμάτων µόνο αν είναι απαραίτητο.

ΠΡΟΓΡΑΜΜΑ ΒΑΣΙΚΟ

ΜΕΤΑΒΛΗΤΕΣ
           ΑΚΕΡΑΙΕΣ : ΠΙΝΑΚΑΣ[100],Ι,ΣΤΟΙΧΕΙΟ,ΠΡΩΤΗ_ΘΕΣΗ,ΤΕΛΕΥΤΑΙΑ_ΘΕΣΗ
           ΛΟΓΙΚΕΣ : ΥΠΑΡΧΕΙ
ΑΡΧΗ

           ΓΡΑΨΕ '-------------- ΜΕΝΟΥ -------------- '     
           ΓΡΑΨΕ ' [1] ΓΙΑ ΤΗΝ ΠΡΩΤΗ ΘΕΣΗ         '
           ΓΡΑΨΕ ' [2] ΓΙΑ ΤΗΝ ΤΕΛΕΥΤΑΙΑ ΘΕΣΗ   '
           ΓΡΑΨΕ ' [3] ΓΙΑ ΟΛΕΣ ΤΙΣ ΘΕΣΕΙΣ         '
           ΓΡΑΨΕ '---------------------------------------'
           
           ΓΡΑΨΕ ' ΔΩΣΕ ΣΤΟΙΧΕΙΟ ΓΙΑ ΑΝΑΖΗΤΗΣΗ'
           ΔΑΒΑΣΕ ΣΤΟΙΧΕΙΟ

          ΓΡΑΨΕ ' ΔΩΣΕ ΕΠΙΛΟΓΗ ΄
          ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ

                      ΔΙΑΒΑΣΕ ΕΠΙΛΟΓΗ

          ΜΕΧΡΙΣ_ΟΤΟΥ (ΕΠΙΛΟΓΗ >= 1) ΚΑΙ (ΕΠΙΛΟΓΗ <= 3)
       
           ΑΝ ΕΠΙΛΟΓΗ = 1 ΤΟΤΕ
           
                 ΓΡΑΨΕ ' ΝΑ ΤΥΠΩΘΕΙ ΑΠΟΤΕΛΕΣΜΑ;'
                 
                  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
                              ΔΙΑΒΑΣΕ ΑΠΑΝΤΗΣΗ
                  ΜΕΧΡΙΣ_ΟΤΟΥ ΑΠΑΝΤΗΣΗ='Ν' Η ΑΠΑΝΤΗΣΗ='Ο'
                 
                  ΑΝ ΑΠΑΝΤΗΣΗ = 'Ν' ΤΟΤΕ
                        ΚΑΛΕΣΕ ΥΠΟΠΡ1(ΠΙΝΑΚΑΣ,ΣΤΟΙΧΕΙΟ,ΠΡΩΤΗ_ΘΕΣΗ,ΥΠΑΡΧΕΙ)
                        ΓΡΑΨΕ ΠΡΩΤΗ_ΘΕΣΗ,ΥΠΑΡΧΕΙ
                  ΑΛΛΙΩΣ   
                        ΚΑΛΕΣΕ ΥΠΟΠΡ1(ΠΙΝΑΚΑΣ,ΣΤΟΙΧΕΙΟ,ΠΡΩΤΗ_ΘΕΣΗ,ΥΠΑΡΧΕΙ)
                  ΤΕΛΟΣ_ΑΝ
           ΑΛΛΙΩΣ_ΑΝ ΕΠΙΛΟΓΗ = 2 ΤΟΤΕ

                 ΓΡΑΨΕ ' ΝΑ ΤΥΠΩΘΕΙ ΑΠΟΤΕΛΕΣΜΑ;'
                 
                  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
                              ΔΙΑΒΑΣΕ ΑΠΑΝΤΗΣΗ
                  ΜΕΧΡΙΣ_ΟΤΟΥ ΑΠΑΝΤΗΣΗ='Ν' Η ΑΠΑΝΤΗΣΗ='Ο'
                 
                  ΑΝ ΑΠΑΝΤΗΣΗ = 'Ν' ΤΟΤΕ
                        ΚΑΛΕΣΕ ΥΠΟΠΡ2(ΠΙΝΑΚΑΣ,ΣΤΟΙΧΕΙΟ,ΠΛΗΘΟΣ)
                        ΓΡΑΨΕ ΠΛΗΘΟΣ

                  ΑΛΛΙΩΣ

                        ΚΑΛΕΣΕ ΥΠΟΠΡ2(ΠΙΝΑΚΑΣ,ΣΤΟΙΧΕΙΟ,ΠΛΗΘΟΣ)

                   ΤΕΛΟΣ_ΑΝ
                 
         
            ΑΛΛΙΩΣ
 
                 ΓΡΑΨΕ ' ΝΑ ΤΥΠΩΘΕΙ ΑΠΟΤΕΛΕΣΜΑ;'
                 
                  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
                              ΔΙΑΒΑΣΕ ΑΠΑΝΤΗΣΗ
                  ΜΕΧΡΙΣ_ΟΤΟΥ ΑΠΑΝΤΗΣΗ='Ν' Η ΑΠΑΝΤΗΣΗ='Ο'
                 
                  ΑΝ ΑΠΑΝΤΗΣΗ = 'Ν' ΤΟΤΕ
                        ΤΕΛΕΥΤΑΙΑ_ΘΕΣΗ <- ΥΠΟΠΡ3(ΠΙΝΑΚΑΣ,ΣΤΟΙΧΕΙΟ)
                        ΓΡΑΨΕ ΤΕΛΕΥΤΑΙΑ_ΘΕΣΗ
                  ΑΛΛΙΩΣ
                        ΤΕΛΕΥΤΑΙΑ_ΘΕΣΗ <- ΥΠΟΠΡ3(ΠΙΝΑΚΑΣ,ΣΤΟΙΧΕΙΟ)
                   ΤΕΛΟΣ_ΑΝ 
                     
              ΤΕΛΟΣ_ΑΝ

ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ       
                 
Όσο για το πρόγραμμα, χρειάζεται καλύτερη εκφώνηση...

landreou

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 124
Απ: ΑΣΚΗΣΗ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ (ΕΡΩΤΗΣΕΙΣ)
« Απάντηση #4 στις: 05 Ιούλ 2013, 08:04:16 πμ »
ΔΙΑΔΙΚΑΣΙΑ ΥΠΟΠΡ2(ΠΙΝΑΚΑΣ,ΣΤΟΙΧΕΙΟ,ΠΛΗΘΟΣ) // Δε χρειάζεται να το επιστρέψεις στο πρόγραμμα. Η διαδικασία αυτή τυπώνει...

ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ : ΠΙΝΑΚΑΣ[100] ,ΣΤΟΙΧΕΙΟ, Ι, ΠΛΗΘΟΣ

ΑΡΧΗ
        ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 100

              ΑΝ ΠΙΝΑΚΑΣ[Ι] =  ΣΤΟΙΧΕΙΟ ΤΟΤΕ

                          ΠΛΗΘΟΣ <- ΠΛΗΘΟΣ + 1
             // ΛΑΘΟΣ... Η Εκφώνηση θέλει να εμφανίζεις άρα ΓΡΑΨΕ Ι
              ΤΕΛΟΣ_ΑΝ

         ΤΕΛΟΣ_ΑΠΑΝΑΛΗΨΗΣ

ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ         

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

Αποστολάτος Άκης

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 87
Απ: ΑΣΚΗΣΗ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ (ΕΡΩΤΗΣΕΙΣ)
« Απάντηση #5 στις: 05 Ιούλ 2013, 02:17:38 μμ »


Αν δε βάλω την παραμετρο πλήθος τοτε ετσι και αλλιώς θα τυπώνει η διαδικασία ( έτσι την πριν ) αλλα αφού λέει τα αποτελέσματα
να εμφανίζονται μονο αν είναι απαραίτητο γιαυτό και την έβαλα ώστε αν απαντά ναι ο χρήστης να τυπώνεται η μεταβλητή αυτή που
μεταβιβάζει στο πρόγραμμα η διαδικασία . Εκτός αν έχω καταλάβει λάθος αυτό που λέει
Μετά από την εκτέλεση κάθε υποπρογράμματος να γίνεται εμφάνιση των αποτελεσμάτων µόνο αν είναι απαραίτητο
Αν δε βάλεις Γραψε στη διαδικασια δεν ειναι αυτονόητο ότι τυπώνει ειτε βάλεις είτε δε βαλεις παράμετρο. Η εκφώνηση λέει ότι πρεπει να ΤΥΠΩΝΕΙΣ όλες τις θέσεις. Όσο για το "εμφάνιζει όταν είναι απαραίτητο", σου έγραψα και πριν ότι δεν είναι καλη η εκφώνηση.... Μπορει να ερμηνευτει κατά το δοκούν.
Πάντως δεν έχει λογική να καλέις ένα υποπρόγραμμα για τον υπολογισμο μιας τιμής και μετά να μην την τυπώνεις (ή να τη χρησιμοποιείς για καποιον άλλο υπολογισμό...)