Κυριακή 9 Ιανουαρίου 2011

Άσκηση : δυσδιάστατος πίνακας (μετρητής ιδιότητας+άθροισμα ανά γραμμή)

1. Γράψτε πρόγραμμα το οποίο:
α) διαβάζει τους 18 βαθμούς τριμήνου που πήραν οι 27 μαθητές
    της Α' τάξης ενός γυμνασίου, και καταχωρεί τα δεδομένα αυτά
    σε κατάλληλο πίνακα,
β) υπολογίζει και εμφανίζει πόσοι μαθητές είχαν μέσο όρο
    βαθμολογίας στα πρώτα 9 μαθήματα μεγαλύτερο από τον
    αντίστοιχο μέσο όρο τους στα 9 τελευταία.
Παρατήρηση : Το πρόγραμμα πρέπει να διασφαλίζει την
εγκυρότητα των εισερχόμενων δεδομένων.

Λύση

       ΠΡΟΓΡΑΜΜΑ ΓΥΜΝ
       ΜΕΤΑΒΛΗΤΕΣ
             ΑΚΕΡΑΙΕΣ: ΒΑΘΜ[27, 18], Κ, Λ, σ, ΠΛΗΘ
             ΠΡΑΓΜΑΤΙΚΕΣ : ΜΟ1, ΜΟ2
       ΑΡΧΗ
             ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ 27
                  ΓΙΑ Λ ΑΠΟ 1 ΜΕΧΡΙ 18
                        ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
                               ΔΙΑΒΑΣΕ ΒΑΘΜ[Κ, Λ]
                        ΜΕΧΡΙΣ_ΟΤΟΥ (ΒΑΘΜ[Κ, Λ] >= 0) ΚΑΙ 
                                                    (ΒΑΘΜ[Κ, Λ] <= 20)
                  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
             ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
             ΠΛΗΘ <-- 0
             ΓΙΑ Κ ΑΠΟ ΜΕΧΡΙ 27
                  σ <-- 0
                  ΓΙΑ Λ ΑΠΟ ΜΕΧΡΙ 9
                        σ <-- σ+ΒΑΘΜ[Κ, Λ]
                  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
                  ΜΟ1 <-- σ/9
                  σ <-- 0
                  ΓΙΑ Λ ΑΠΟ 10 ΜΕΧΡΙ 18
                        σ <-- σ+ΒΑΘΜ[Κ, Λ]
                  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
                  ΜΟ2 <-- σ/9
                  ΑΝ ΜΟ1 > ΜΟ2 ΤΟΤΕ
                         ΠΛΗΘ <-- ΠΛΗΘ+1
                  ΤΕΛΟΣ_ΑΝ
             ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
             ΓΡΑΨΕ ΠΛΗΘ
       ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Σάββατο 8 Ιανουαρίου 2011

Άσκηση : συγγραφή συνάρτησης

Γράψτε συνάρτηση που δέχεται ως παράμετρο τον
ακέραιο πίνακα Α[76, 76] και ελέγχει αν όλα τα
στοιχεία της 2ης κυρίας διαγωνίου είναι ταξινομημένα
κατά αύξουσα σειρά ή όχι.

Λύση

       ΣΥΝΑΡΤΗΣΗ ΔΙΑΓ(Α) : ΛΟΓΙΚΗ
       ΜΕΤΑΒΛΗΤΕΣ
             ΑΚΕΡΑΙΕΣ: Α[76, 76], Κ
             ΛΟΓΙΚΕΣ: ΕΛ
       ΑΡΧΗ
             ΕΛ <-- ΑΛΗΘΗΣ
             Κ <-- 1
             ΟΣΟ (Κ <= 75) ΚΑΙ (ΕΛ = ΑΛΗΘΗΣ) ΕΠΑΝΑΛΑΒΕ
                   ΑΝ Α[Κ, 77-Κ] > Α[Κ+1, 76-Κ] ΤΟΤΕ
                         ΕΛ <-- ΨΕΥΔΗΣ
                   ΑΛΛΙΩΣ
                         Κ <-- Κ+1
                   ΤΕΛΟΣ_ΑΝ
             ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
             ΔΙΑΓ <-- ΕΛ
       ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

Άσκηση : συγγραφή διαδικασίας

Γράψτε διαδικασία που δέχεται ως παράμετρο έναν
αλφαριθμητικό πίνακα Α[82] και αντιμεταθέτει το
πρώτο με το δεύτερο μισό ολόκληρου του πίνακα.

Λύση

      ΔΙΑΔΙΚΑΣΙΑ ΑΝΤΙΜ(Α)
      ΜΕΤΑΒΛΗΤΕΣ
            ΧΑΡΑΚΤΗΡΕΣ: Α[82], ΒΟΗΘ
            ΑΚΕΡΑΙΕΣ: Κ
      ΑΡΧΗ
            ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ 41
                 ΒΟΗΘ <-- Α[Κ]
                 Α[Κ] <-- Α[83-Κ]
                 Α[83-Κ] <-- ΒΟΗΘ
            ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
      ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

Παρασκευή 7 Ιανουαρίου 2011

Άσκηση : πίνακας συχνοτήτων

Γράψτε αλγόριθμο που:
α) διαβάζει τα τελευταία δύο ψηφία των αριθμών δελτίου
    ταυτότητας κάποιων πολιτών (η είσοδος δεδομένων
    ολοκληρώνεται μόλις δοθεί μια αρνητική τιμή ή μηδέν),
β) υπολογίζει τη συχνότητα εμφάνισης των τιμών
    30, 31, ...., 78, 79, 80 ανάμεσα στα εισερχόμενα δεδομένα.

Λύση

     Αλγόριθμος ΑΣΚ
     Για κ από 1 μέχρι 51
         Φ[κ] <-- 0
     Τέλος_επανάληψης
     Αρχή_επανάληψης
           Διάβασε Ψ
           Αν Ψ > 0 τότε
                Αν (Ψ >= 30) ΚΑΙ (Ψ <= 80) τότε
                     Θ <-- Ψ-29
                     Φ[Θ] <-- Φ[Θ]+1
                Τέλος_αν
           Τέλος_αν
     Μέχρις_ότου Ψ <= 0
     Αποτελέσματα // Φ //
     Τέλος ΑΣΚ

Διόρθωση λανθασμένων προτάσεων

Διορθώστε τις παρακάτω λανθασμένες προτάσεις και
επαναδιατυπώστε τις με σωστό τρόπο.
1. Μια εντολή Για..από..μέχρι εκτελεί μία ή περισσότερες
    επαναλήψεις.
2. Η εντολή Αν..τότε χρησιμοποιείται όταν τα επιμέρους
    ενδεχόμενα είναι τουλάχιστον τρία.
3. Το πρόβλημα υπολογισμού της περιμέτρου ενός
    ορθογωνίου παραλληλογράμμου είναι ανοικτό.
4. Η συνάρτηση ΣΥΝ της ΓΛΩΣΣΑΣ υπολογίζει το
    άθροισμα κάποιων τιμών.
5. Αν ο πίνακας Α[300] είναι ταξινομημένος, το
    μεγαλύτερο στοιχείο του είναι το Α[300].



Απάντηση



1. Μια εντολή Για..από..μέχρι εκτελεί καμία ή περισσότερες
    επαναλήψεις.
2. Η εντολή Αν..τότε..αλλιώς_αν χρησιμοποιείται όταν τα 
    επιμέρους  ενδεχόμενα είναι τουλάχιστον τρία.
3. Το πρόβλημα υπολογισμού της περιμέτρου ενός
    ορθογωνίου παραλληλογράμμου είναι επιλύσιμο.
4. Η συνάρτηση ΣΥΝ της ΓΛΩΣΣΑΣ υπολογίζει το 
    συνημίτονο μιας γωνίας.
5. Αν ο πίνακας Α[300] είναι ταξινομημένος, το 
    μεγαλύτερο στοιχείο του είναι το Α[300] ή το Α[1].

Πέμπτη 6 Ιανουαρίου 2011

Άσκηση : πίνακας συχνοτήτων

Γράψτε πρόγραμμα το οποίο:
α) διαβάζει τα ύψη (σε εκατοστά) των μαθητών μιας τάξης
    (η είσοδος δεδομένων ολοκληρώνεται μόλις δοθεί η
    απάντηση 'ΟΧΙ' στην υποβαλλόμενη προς το χρήστη
    ερώτηση 'Υπάρχει άλλος μαθητής;')
β) υπολογίζει και εμφανίζει πόσοι από αυτούς έχουν ύψος
    160, 161, ...., 175 εκατοστά.

Λύση

      ΠΡΟΓΡΑΜΜΑ ΥΨΗ
      ΜΕΤΑΒΛΗΤΕΣ
             ΧΑΡΑΚΤΗΡΕΣ: ΑΠ
             ΑΚΕΡΑΙΕΣ: Φ[16],  Θ, κ, Υ
      ΑΡΧΗ
             ΓΙΑ κ ΑΠΟ 1 ΜΕΧΡΙ 16
                    Φ[κ] <-- 0
             ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
             ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
                    ΔΙΑΒΑΣΕ Υ
                    ΑΝ (Υ >= 160) ΚΑΙ (Υ <= 175) ΤΟΤΕ
                            Θ <-- Υ-159
                            Φ[Θ] <-- Φ[Θ]+1
                    ΤΕΛΟΣ_ΑΝ
                    ΓΡΑΨΕ 'Υπάρχει άλλος μαθητής;'
                    ΔΙΑΒΑΣΕ ΑΠ
             ΜΕΧΡΙΣ_ΟΤΟΥ ΑΠ = 'ΟΧΙ'
             ΓΙΑ κ ΑΠΟ 1 ΜΕΧΡΙ 16
                   ΓΡΑΨΕ Φ[κ]
             ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
      ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Κυριακή 2 Ιανουαρίου 2011

ΕΥΧΕΣ

ΠΡΟΓΡΑΜΜΑ ΕΥΧΕΣ
ΣΤΑΘΕΡΕΣ
       Χ = 'ΕΥΤΥΧΙΣΜΕΝΟ'
       Υ = ' ΚΑΙ ΔΗΜΙΟΥΡΓΙΚΟ'
       Ζ =  2010
ΜΕΤΑΒΛΗΤΕΣ
       ΑΚΕΡΑΙΕΣ: ΝΕΟ
ΑΡΧΗ
       ΝΕΟ <-- Ζ+1
       ΓΡΑΨΕ Χ, Υ, ' ΤΟ ', ΝΕΟ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ