Πέμπτη 30 Δεκεμβρίου 2010

Συμπλήρωση κενών

Συμπληρώστε τα κενά που λείπουν στις παρακάτω προτάσεις
1. Ο πολλαπλασιασμός αλά ρωσικά είναι μια μέθοδος
    υπολογισμού του γινομένου δύο ________ ακεραίων.
2. Ένας πίνακας είναι μια συλλογή δεδομένων _____
    τύπου.
3. Οι ________ παράμετροι δίνονται κατά την κλήση
    μιας συνάρτησης ή μιας διαδικασίας.
4. Η γλώσσες PROLOG και _____ είναι ιδανικές για την
    ανάπτυξη εφαρμογών τεχνητής νοημοσύνης.
5. Η εντολή ΔΙΑΒΑΣΕ επιτρέπει την εισαγωγή δεδομένων
    από το _______ του υπολογιστή.




Λύση

1. θετικών
2. ίδιου
3. πραγματικές
4. LISP
5. πληκτρολόγιο

Τετάρτη 29 Δεκεμβρίου 2010

Άσκηση : συνδυασμοί

Σε μια μπουτίκ διατίθενται παντελόνια και φούστες από τρεις
διαφορετικές μάρκες : ΜαρκΑ, ΜαρκΒ και ΜαρκΓ. Το χρώμα
του κάθε ρούχου είναι κόκκινο, πράσινο, μπλε και μαύρο.
Γράψτε πρόγραμμα το οποίο εμφανίζει όλα τα είδη ρούχων
που μπορεί να αγοράσει ένας πελάτης.

Λύση

        ΠΡΟΓΡΑΜΜΑ ΡΟΥΧΑ
        ΜΕΤΑΒΛΗΤΕΣ
              ΑΚΕΡΑΙΕΣ: κ, λ, μ
              ΧΑΡΑΚΤΗΡΕΣ: ΚΑΤ[2], ΧΡ[4], ΜΑΡ[3]
        ΑΡΧΗ
               ΚΑΤ[1] <-- 'παντελόνια'
               ΚΑΤ[2] <-- 'φούστες'
               ΧΡ[1] <-- 'κόκκινο'
               ΧΡ[2] <-- 'πράσινο'
               ΧΡ[3] <-- 'μπλε'
               ΧΡ[4] <-- 'μαύρο'
               ΜΑΡ[1] <-- 'ΜαρκΑ'
               ΜΑΡ[2] <-- 'ΜαρκΒ'
               ΜΑΡ[3] <-- 'ΜαρκΓ'
               ΓΙΑ κ ΑΠΟ 1 ΜΕΧΡΙ 3
                     ΓΙΑ λ ΑΠΟ 1 ΜΕΧΡΙ 2
                           ΓΙΑ μ ΑΠΟ 1 ΜΕΧΡΙ 4
                                 ΓΡΑΨΕ ΜΑΡ[κ],  ΚΑΤ[λ], ΧΡ[μ]
                           ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
                     ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
               ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
        ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ 

Άσκηση : μονοδιάστατοι πίνακες

Θέλετε να προμηθευτείτε μια εξάδα εμφιαλωμένων νερών
(ίδιας χωρητικότητας το καθένα) και διαπιστώνεται ότι
στο σούπερ μάρκετ της γειτονιάς σας εμπορεύεται 13
διαφορετικές μάρκες. Γράψτε πρόγραμμα το οποίο:
α) διαβάζει τις μάρκες των νερών και τις καταχωρεί
    στον αλφαριθμητικό πίνακα Μ[13],
β) διαβάζει τις τιμές πώλησης κάθε εξάδας και τις
    καταχωρεί στον πραγματικό πίνακα Τ[13] (θεωρείστε
    ότι οι τιμές αυτές είναι διαφορετικές μεταξύ τους),
γ) υπολογίζει και εμφανίζει:
    * τη μάρκα της εξάδας που είναι πιο συμφέρουσα
       για αγορά,
    * το μέσο όρο τιμής πώλησης κάθε μπουκαλιού,

Λύση

      ΠΡΟΓΡΑΜΜΑ ΝΕΡΑ
      ΜΕΤΑΒΛΗΤΕΣ
            ΑΚΕΡΑΙΕΣ: κ, ΠΙΟ
            ΧΑΡΑΚΤΗΡΕΣ: Μ[13]
            ΠΡΑΓΜΑΤΙΚΕΣ: Τ[13], ΜΙΚ, Σ, ΜΟ
      ΑΡΧΗ
            ΓΙΑ κ ΑΠΟ 1 ΜΕΧΡΙ 13
                  ΔΙΑΒΑΣΕ Μ[κ]
                  ΔΙΑΒΑΣΕ Τ[κ]
            ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
            ΜΙΚ <-- Τ[1]
            ΠΙΟ <-- 1
            ΓΙΑ κ ΑΠΟ ΜΕΧΡΙ 13
                  ΑΝ Τ[κ] < ΜΙΚ ΤΟΤΕ
                        ΜΙΚ <-- Τ[κ]
                        ΠΙΟ <-- κ
                  ΤΕΛΟΣ_ΑΝ
            ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
            ΓΡΑΨΕ Μ[ΠΙΟ]
            Σ <-- 0
            ΓΙΑ κ ΑΠΟ ΜΕΧΡΙ 13
                  Σ <-- Σ+Τ[κ]/6
            ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
            ΜΟ <-- Σ/13
            ΓΡΑΨΕ ΜΟ
      ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Άσκηση : αναζήτηση σε δυσδιάστατο

Θεωρήστε τον πίνακα Γκολ[15, 30] που περιέχει το πλήθος
των Γκολ που πέτυχαν 15 ποδοσφαιριστές σε 30 αγώνες του
ελληνικού πρωταθλήματος. Γράψτε αλγόριθμο που, με δε-
δομένο τον παραπάνω πίνακα, ελέγχει αν κάποιος ποδο-
σφαιριστής πέτυχε περισσότερα από 20 γκολ και εμφανίζει
κατάλληλο ενημερωτικό μήνυμα.

Λύση

      Αλγόριθμος Ποδόσφαιρο
      Δεδομένα // Γκολ //
      Ελ <-- Ψευδής
      Για κ από 1 μέχρι 15
          Για λ από 1 μέχρι 30
                Αν Γκολ[κ, λ] > 20 τότε
                     Ελ <-- Αληθής
                     ΑΑΠοδ <-- κ
                     ΑΑΑγων <-- λ
                Τέλος_αν
          Τέλος_επανάληψης
      Τέλος_επανάληψης
      Αν Ελ = Αληθής τότε
           Εμφάνισε ΑΑΠοδ, ΑΑΑγων
      αλλιώς
           Εμφάνισε 'Δεν πέτυχε κανένας περισσότερα από 20 γκολ'
      Τέλος_αν
      Τέλος Ποδόσφαιρο

Τρίτη 28 Δεκεμβρίου 2010

Συμπληρώστε τα κενά

Συμπληρώστε τα κενά που λείπουν στις παρακάτω
προτάσεις:
1. Ένα πρόβλημα δεν έχει ποτέ _______ λύση.
2. Μια ____________ διαδικασία είναι ένα σύνολο
    εντολών-βημάτων που παραβιάζει το αλγοριθμικό
    κριτήριο της περατότητας.
3. Οι αλγόριθμοι και οι δομές δεδομένων αποτελούν
    μια ____________ ενότητα.
4. Η επιλογή μιας γλώσσας προγραμματισμού για την
    ανάπτυξη μιας εφαρμογής εξαρτάται από το
    προγραμματιστικό και _______  περιβάλλον της
    εφαρμογής αυτής.
5. Τη μεγαλύτερη προτεραιότητα από όλες τις λογικές
    πράξεις έχει η _______.




Απάντηση

1. προφανή
2. υπολογιστική
3. αδιάσπαστη
4. υπολογιστικό
5. ΟΧΙ

Έλεγχος αλγοριθμικών κριτηρίων

Ποιο ή ποια αλγοριθμικά κριτήρια παραβιάζονται από
το παρακάτω σύνολο εντολών;
     χ <-- 1
     Όσο <= 19 επανάλαβε
           Εμφάνισε χ
           χ <-- χ+2
     Τέλος_επανάληψης
     κ <-- Τ_Ρ(χ-22)
     Εμφάνισε κ

Λύση

      Παραβιάζεται το κριτήριο της καθοριστικότητας. Το χ παίρνει
      διαδοχικά τις τιμές 1, 3, 5, ...., 19, 21. Έτσι ο υπολογισμός
      του  κ είναι αδύνατος, αφού χ - 22 = 21-22 = -1 < 0 και η
      τετραγωνική  ρίζα αυτής   της παράστασης δεν μπορεί να
      υπολογιστεί.

Δευτέρα 27 Δεκεμβρίου 2010

Έλεγχος αλγοριθμικών κριτηρίων

Ποιό ή ποιά αλγοριθμικά κριτήρια παραβιάζει το παρακάτω
σύνολο εντολών;
       χ <-- 1
       Όσο χ < 19 επανάλαβε
            Εμφάνισε χ
            Αν χ < 4 τότε
                  χ <-- χ+3
            αλλιώς_αν χ < 10 τότε
                  χ <-- χ+6
            αλλιώς
                  χ <-- χ-9
            Τέλος_αν
       Τέλος_επανάληψης


Απάντηση


       Παραβιάζεται η περατότητα, γιατί οι τιμές που παίρνει το χ
       είναι 1, 4, 10, 1, 4, 10, 1, 4, 10, ...... κτλ. Έτσι ποτέ δε θα
       ξεπεράσει το 19 και η Όσο..επανάλαβε δε θα τερματιστεί
       ποτέ.

Άσκηση με GOTO

Ξαναγράψτε το παρακάτω σύνολο εντολών έτσι ώστε να
ικανοποιεί τις αρχές του δομημένου προγραμματισμού
          σ <-- 0
          μ <-- 1
       5: ΑΝ μ > 20 ΤΟΤΕ GOTO 15
          α <-- 1
    10: ΔΙΑΒΑΣΕ λ
          α <-- α*λ
          ΑΝ α < 1890 ΤΟΤΕ GOTO 10
          σ <-- σ+α
          μ <-- μ+1
          GOTO 5
    15: ΓΡΑΨΕ σ

Λύση

       σ <-- 0
       μ <-- 1
       ΟΣΟ μ <= 20 ΕΠΑΝΑΛΑΒΕ
            α <-- 1
            ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
                 ΔΙΑΒΑΣΕ λ
                 α <-- α*λ
            ΜΕΧΡΙΣ_ΟΤΟΥ α >= 1890
            σ <-- σ+α
            μ <-- μ+1
       ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
       ΓΡΑΨΕ σ

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

Γράψτε διαδικασία που δέχεται ως παράμετρο έναν ακέραιο
πίνακα Α[12, 34] και υπολογίζει:
* το μέσο όρο των τιμών όλου του πίνακα,
* το πλήθος των στοιχείων που είναι μεγαλύτερα από το 50,
* τη μικρότερη τιμή του πίνακα.

Λύση
 
      ΔΙΑΔΙΚΑΣΙΑ ΔΔ(Α, ΜΟ, ΠΛΗΘ, ΜΙΚ)
      ΜΕΤΑΒΛΗΤΕΣ
            ΑΚΕΡΑΙΕΣ: Α[12, 34], Κ, Λ, Σ, ΠΛΗΘ, ΜΙΚ
            ΠΡΑΓΜΑΤΙΚΕΣ: ΜΟ
      ΑΡΧΗ
            Σ <-- 0
            ΠΛΗΘ <-- 0
            ΜΙΚ <-- Α[1, 1]
            ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ 12
                 ΓΙΑ Λ ΑΠΟ ΜΕΧΡΙ 34
                        Σ <-- Σ+Α[Κ, Λ]
                        ΑΝ Α[Κ, Λ] > 50 ΤΟΤΕ
                             ΠΛΗΘ <-- ΠΛΗΘ+1
                        ΤΕΛΟΣ_ΑΝ
                        ΑΝ Α[Κ, Λ] < ΜΙΚ ΤΟΤΕ
                             ΜΙΚ <-- Α[Κ, Λ]
                        ΤΕΛΟΣ_ΑΝ
                 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
            ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
      ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

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

Γράψτε συνάρτηση που δέχεται δύο αλφαριθμητικές τιμές
Χ, Υ και επιστρέφει την τιμή:
* 0, αν τα Χ, Υ είναι ίσα,
* 1, αν η Χ προηγείται λεξικογραφικά της Υ,
* 2, αν η Υ έπεται λεξικογραφικά της Χ

Λύση

      ΣΥΝΑΡΤΗΣΗ ΕΛΕΓΧΟΣ(Χ, Υ) : ΑΚΕΡΑΙΑ
      ΜΕΤΑΒΛΗΤΕΣ
           ΧΑΡΑΚΤΗΡΕΣ: Χ, Υ
      ΑΡΧΗ
            ΑΝ Χ = Υ ΤΟΤΕ
                 ΕΛΕΓΧΟΣ <-- 0
            ΑΛΛΙΩΣ_ΑΝ Χ < Υ ΤΟΤΕ
                 ΕΛΕΓΧΟΣ <-- 1
            ΑΛΛΙΩΣ
                 ΕΛΕΓΧΟΣ <-- 2
            ΤΕΛΟΣ_ΑΝ
      ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
    

Κυριακή 26 Δεκεμβρίου 2010

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

Γράψτε συνάρτηση που δέχεται ως παράμετρο:
* δύο θετικές πραγματικές τιμές Χ, Υ
* μια αλφαριθμητική τιμή Ζ
και υπολογίζει το αποτέλεσμα:
α) της τετραγωνικής ρίζας του μέσου όρου των Χ, Υ,
    αν Ζ = 'Τ',
β) του ακέραιου μέρους του γινομένου των Χ, Υ,
    αν Ζ = 'Α',
γ) το λογάριθμο της διαφοράς του Υ από το Χ, σε
    οποιαδήποτε άλλη περίπτωση.

Λύση

        ΣΥΝΑΡΤΗΣΗ ΥΠΟΛ(Χ, Υ, Ζ) : ΠΡΑΓΜΑΤΙΚΗ
        ΜΕΤΑΒΛΗΤΕΣ
              ΠΡΑΓΜΑΤΙΚΕΣ: Χ, Υ
              ΧΑΡΑΚΤΗΡΕΣ: Ζ
        ΑΡΧΗ
              ΑΝ Ζ = 'Τ' ΤΟΤΕ
                    ΥΠΟΛ <-- Τ_Ρ( (Χ+Υ)/2 )
              ΑΛΛΙΩΣ_ΑΝ Ζ = 'Α' ΤΟΤΕ
                    ΥΠΟΛ <-- Α_Μ(Χ*Υ)
              ΑΛΛΙΩΣ
                    ΥΠΟΛ <-- ΛΟΓ(Χ-Υ)
              ΤΕΛΟΣ_ΑΝ
        ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

Σάββατο 25 Δεκεμβρίου 2010

Άσκηση : έλεγχος ιδιότητας ανά στήλη

Γράψτε αλγόριθμο που δοθέντος ενός πραγματικού πίνακα
Α[3, 43] υπολογίζει και εμφανίζει το ποσοστό (%) των στηλών
του πίνακα αυτού που περιέχουν τουλάχιστον 7 τιμές μικρότερες
από το 18.5.

Λύση

       Αλγόριθμος ΑΣΚ
       Δεδομένα // Α //
       Πληθ <-- 0
       Για λ από 1 μέχρι 43
             φ <-- 0
             Για κ από 1 μέχρι 3
                   Αν Α[κ, λ] < 18.5 τότε
                          φ <-- φ+1
                   Τέλος_αν
             Τέλος_επανάληψης
             Αν φ >= 7 τότε
                   Πληθ <-- Πληθ+1
             Τέλος_αν
       Τέλος_επανάληψης
       ΠΟΣ <-- 100*Πληθ/43
       Εμφάνισε ΠΟΣ
       Τέλος ΑΣΚ

Παρασκευή 24 Δεκεμβρίου 2010

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

Γράψτε συνάρτηση που δέχεται ως παράμετρο έναν
αλφαριθμητικό πίνακα Α[12, 34] και υπολογίζει πόσες
γραμμές του πίνακα αυτού περιέχουν τουλάχιστον 5 φορές
το γράμμα 'Χ'.

Λύση

       ΣΥΝΑΡΤΗΣΗ Φορές(Α) : ΑΚΕΡΑΙΑ
       ΜΕΤΑΒΛΗΤΕΣ
               ΑΚΕΡΑΙΕΣ: κ, λ, Πληθ, Φ
               ΧΑΡΑΚΤΗΡΕΣ: Α[12, 34]
       ΑΡΧΗ
               Πληθ <-- 0
               ΓΙΑ κ ΑΠΟ 1 ΜΕΧΡΙ 12
                    Φ <-- 0
                    ΓΙΑ λ ΑΠΟ 1 ΜΕΧΡΙ 34
                           ΑΝ Α[κ, λ] = 'Χ' ΤΟΤΕ
                                 Φ <-- Φ+1
                           ΤΕΛΟΣ_ΑΝ
                    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
                    ΑΝ Φ >= 5 ΤΟΤΕ
                           Πληθ <-- Πληθ+1
                    ΤΕΛΟΣ_ΑΝ
               ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
               Φορές <-- Πληθ
       ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

Πέμπτη 23 Δεκεμβρίου 2010

Άσκηση : Εμφωλευμένα Για

Γράψτε αλγόριθμο που τυπώνει όλους τους δυνατούς
συνδυασμούς τιμών των λογικών μεταβλητών Α, Β και Γ.

Λύση

     Αλγόριθμος ΣΥΝΔ
     Τιμ[1] <-- Αληθής
     Τιμ[2] <-- Ψευδής
     Για κ από 1 μέχρι 2
         Για λ από μέχρι 2
             Για μ από μέχρι 2
                  Εμφάνισε 'Α=', Τιμ[κ], 'Β=', Τιμ[λ], 'Γ=', Τιμ[μ]
             Τέλος_επανάληψης
         Τέλος_επανάληψης
     Τέλος_επανάληψης
     Τέλος ΣΥΝΔ

Τρίτη 21 Δεκεμβρίου 2010

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

Γράψτε διαδικασία που δέχεται ως παραμέτρους:
* έναν ακέραιο πίνακα Α[76, 123],
* μια ακέραια τιμή Χ
και ελέγχει αν το Χ περιέχεται μέσα στον πίνακα Α ή όχι.
Η διαδικασία εντοπίζει όλες τις θέσεις του πίνακα που
περιέχουν το Χ και τα αποτελέσματα καταχωρούνται
στο λογικό πίνακα Β[76, 123] που αποτελεί και την
τελευταία παράμετρο της διαδικασίας.

Λύση

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

Συμπλήρωση κενών

Συμπληρώστε τα κενά που λείπουν σε κάθε πρόταση.
1. Ο υπολογισμός εμβαδού τριγώνου είναι ένα επιλύσιμο
    πρόβλημα που ανήκει στην υποκατηγορία των ________
    προβλημάτων.
2. Με την εντολή _____________ αντιμεταθέτουμε το
    περιεχόμενο δύο ματβλητών.
3. Αν η περιεχόμενη ομάδα εντολών σε μια Αν..τότε είναι
    μονομελής, το __________ μπορεί να παραληφθεί.
4. Τα συντακτικά λάθη είναι πιο _________ να εντοπιστούν
    από τα λογικά λάθη σε ένα πρόγραμμα.
5. Για να προσδιορίσουμε τη θέση του ελαχίστου μιας
    συγκεκριμένης γραμμής ενός δυσδιάστατου πίνακα, πρέπει
    να καθορίσουμε τον αύξοντα αριθμό της ________ στην
    οποία ανήκει.
 


Απάντηση


1. Ο υπολογισμός εμβαδού τριγώνου είναι ένα επιλύσιμο
    πρόβλημα που ανήκει στην υποκατηγορία των δομημένων
    προβλημάτων.
2. Με την εντολή Αντιμετάθεσε αντιμεταθέτουμε το
    περιεχόμενο δύο μεταβλητών.
3. Αν η περιεχόμενη ομάδα εντολών σε μια Αν..τότε είναι
    μονομελής, το Τέλος_αν μπορεί να παραληφθεί.
4. Τα συντακτικά λάθη είναι πιο εύκολο να εντοπιστούν
    από τα λογικά λάθη σε ένα πρόγραμμα.
5. Για να προσδιορίσουμε τη θέση του ελαχίστου μιας
    συγκεκριμένης γραμμής ενός δυσδιάστατου πίνακα, πρέπει
    να καθορίσουμε τον αύξοντα αριθμό της στήλης στην
    οποία ανήκει.
 

Άσκηση : Αναζήτηση

Γράψτε αλγόριθμο που με δεδομένα
* έναν ακέραιο πίνακα Α[121],
* μια ακέραια τιμή Ν τέτοια ώστε 1 <= Ν <= 120,
* μια ακέραια τιμή Μ τέτοια ώστε  2 <= Μ <= 121 και
   Ν < Μ,
* μια ακέραια τιμή Χ
ελέγχει αν το Χ περιέχεται ή όχι μέσα στο τμήμα του
πίνακα που ξεκινάει από τη θέση Ν και τελειώνει στη θέση Μ.

Λύση

        Αλγόριθμος Αναζ
        Δεδομένα // Α, Ν, Μ , Χ //
        done <-- Ψευδής
        position <-- 0
        i <-- N
        Όσο (i <= M) KAI  (done = Ψευδής) επανάλαβε
               Αν Α[ i ] = X τότε
                    done <-- Αληθής
                    position <-- i
               αλλιώς
                    i <-- i+1
               Τέλος_αν
        Τέλος_επανάληψης
        Αν done = Αληθής τότε
               Εμφάνισε 'Βρέθηκε στη θέση :', position
        αλλιώς
               Εμφάνισε 'Δε βρέθηκε καθόλου!'
        Τέλος_αν
        Τέλος Αναζ

Άσκηση : Συγχώνευση πινάκων

Ας θεωρήσουμε τους αλφαριθμητικούς πίνακες  Α[20], Β[20]
και Γ[20]. Γράψτε αλγόριθμο που συγχωνεύει τους τρεις αυτούς
πίνακες σε ένα δυσδιάστατο πίνακα Δ[20, 3], έτσι ώστε τα στοιχεία
των Α, Β , Γ να τοποθετηθούν στην 1η, 2η και 3η στήλη αντίστοιχα.

Λύση

     Αλγόριθμος Συγχ
     Δεδομένα // Α, Β, Γ //
     Για κ από 1 μέχρι 20
            Δ[κ, 1] <-- Α[κ]
            Δ[κ, 2] <-- Β[κ]
            Δ[κ, 3] <-- Γ[κ]
     Τέλος_επανάληψης
     Αποτελέσματα // Δ //
     Τέλος Συγχ

Κυριακή 19 Δεκεμβρίου 2010

Άσκηση : διαχωρισμός πίνακα

Γράψτε αλγόριθμο που δοθέντος ενός πραγματικού πίνακα
Ζ[90, 2], αντιγράφει τα περιεχόμενα:
* της 1ης στήλης του Ζ στον πραγματικό πίνακα Χ[90],
* της 2ης στήλης του Ζ στον πραγματικό πίνακα Υ[90].

Λύση

        Αλγόριθμος Διαχ
        Δεδομένα // Ζ //
        Για λ από 1 μέχρι 90
              Χ[λ] <-- Ζ[λ, 1]
              Υ[λ] <-- Ζ[λ, 2]
        Τέλος_επανάληψης
        Αποτελέσματα // Χ, Υ //
        Τέλος Διαχ

Συμπλήρωση κενών

Συμπληρώστε τα κενά που λείπουν από τις παρακάτω προτάσεις
1. Μια από τις σκοπιές από τις οποίες εξετάζει η Πληροφορική
    τα δεδομένα είναι και αυτή των __________ προγραμματισμού.
2. Τα δεδομένα τύπου ΧΑΡΑΚΤΗΡΕΣ αποκαλούνται και ____.
3. Οι συμβολικές γλώσσες είναι στενά συνδεδεμένες με την
    ______________ του υπολογιστή.
4. Η δομή σύνθετης επιλογής υλοποιείται με την εντολή
    ____________.
5. Αν Ν περιττός θετικός ακέραιος, το κεντρικό στοιχείο
    του πίνακα Α[Ν, Ν] είναι το _______________.

Απάντηση
1. Μια από τις σκοπιές από τις οποίες εξετάζει η Πληροφορική
    τα δεδομένα είναι και αυτή των γλωσσών προγραμματισμού.
2. Τα δεδομένα τύπου ΧΑΡΑΚΤΗΡΕΣ αποκαλούνται και 
     αλφαριθμητικά.
3. Οι συμβολικές γλώσσες είναι στενά συνδεδεμένες με την 
    αρχιτεκτονική του υπολογιστή.
4. Η δομή σύνθετης επιλογής υλοποιείται με την εντολή
    ΑΝ..ΤΟΤΕ..ΑΛΛΙΩΣ.
5. Αν Ν περιττός θετικός ακέραιος, το κεντρικό στοιχείο
    του πίνακα Α[Ν, Ν] είναι το Α[ (Ν+1) DIV 2, (N+1) DIV 2].

Σάββατο 18 Δεκεμβρίου 2010

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

Γράψτε διαδικασία που δέχεται ως παραμέτρους τρεις πραγματικές
τιμές Χ, Υ, Ζ και υπολογίζει την τιμή των παραστάσεων:
α) |Χ - Υ|+εφΖ
β) ημΧ-συν(Υ+Ζ)

Λύση

      ΔΙΑΔΙΚΑΣΙΑ Δ(Χ, Υ, Ζ, ΑΠ1, ΑΠ2)
      ΜΕΤΑΒΛΗΤΕΣ
             ΠΡΑΓΜΑΤΙΚΕΣ: Χ, Υ, Ζ, ΑΠ1, ΑΠ2
      ΑΡΧΗ
             ΑΠ1 <-- Α_Τ(Χ-Υ)+ΕΦ(Ζ)
             ΑΠ2 <-- ΗΜ(Χ)-ΣΥΝ(Υ+Ζ)
      ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
    
    

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

Γράψτε συνάρτηση δέχεται ως παράμετρο τρεις ακέραιους
Χ, Υ, Ζ και ελέγχει αν κάποιος από αυτούς ισούται με το
γινόμενο των δύο άλλων.

Λύση

       ΣΥΝΑΡΤΗΣΗ ΕΛΕΓΧΟΣ(Χ, Υ, Ζ) : ΛΟΓΙΚΗ
       ΜΕΤΑΒΛΗΤΕΣ
              ΑΚΕΡΑΙΕΣ: Χ, Υ, Ζ
       ΑΡΧΗ
              ΑΝ (Χ = Υ*Ζ) Ή (Υ = Χ*Ζ) Ή (Ζ = Χ*Υ) ΤΟΤΕ
                    ΕΛΕΓΧΟΣ <-- ΑΛΗΘΗΣ
              ΑΛΛΙΩΣ
                    ΕΛΕΓΧΟΣ <-- ΨΕΥΔΗΣ
              ΤΕΛΟΣ_ΑΝ
       ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

Άσκηση : δυσδιάστατος πίνακας (επεξεργασία δοσμένης γραμμής και στήλης)

Γράψτε πρόγραμμα το οποίο:
α) διαβάζει 260 ακέραιες τιμές και τις καταχωρεί στήλη-στήλη
    στον δισδιάστατο πίνακα Α[20, 13],
β) υπολογίζει και εμφανίζει:
     * πόσα στοιχεία της 6ης στήλης είναι μηδενικά,
     * πόσα στοιχεία της 1ης γραμμής είναι θετικά.

Λύση

       ΠΡΟΓΡΑΜΜΑ ΠΙΝ
       ΜΕΤΑΒΛΗΤΕΣ
             ΑΚΕΡΑΙΕΣ: Α[20, 13], Κ, Λ, ΜΗΔ, ΘΕΤ
       ΑΡΧΗ
             ΓΙΑ Λ ΑΠΟ 1 ΜΕΧΡΙ 13
                   ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ 20
                         ΔΙΑΒΑΣΕ Α[Κ, Λ]
                   ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
             ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
             ΜΗΔ <-- 0
             ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ 20
                   ΑΝ Α[Κ, 6] = 0 ΤΟΤΕ
                         ΜΗΔ <-- ΜΗΔ+1
                   ΤΕΛΟΣ_ΑΝ
             ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
             ΓΡΑΨΕ ΜΗΔ
             ΘΕΤ <-- 0
             ΓΙΑ Λ ΑΠΟ ΜΕΧΡΙ 13
                   ΑΝ Α[1, Λ] > 0 ΤΟΤΕ
                         ΘΕΤ <-- ΘΕΤ+1
                   ΤΕΛΟΣ_ΑΝ
             ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
             ΓΡΑΨΕ ΘΕΤ
       ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Άσκηση : δυσδιάστατος πίνακας (επεξεργασία δοσμένης γραμμής και στήλης)

Γράψτε αλγόριθμο που, δοθέντος ενός ακέραιου πίνακα
Β[10, 98]:
α) διαβάζει μια ακέραια τιμή Ν τέτοια ώστε 1 <= Ν <= 7,
β) υπολογίζει και εμφανίζει:
    * το ελάχιστο της Ν - στης γραμμής και τον αύξοντα
       αριθμό (1-98) της στήλης στην οποία βρίσκεται,
    * το μέγιστο στοιχείο της Ν - στης στήλης και τον αύξοντα
       αριθμό (1-10) της γραμμής στην οποία βρίσκεται.
Παρατήρηση : Θεωρείστε ότι όλες οι τιμές του Β είναι διαφορετικές
μεταξύ τους.

Λύση

       Αλγόριθμος ΔυσΠιν
       Δεδομένα // Β //
       Αρχή_επανάληψης
              Διάβασε Ν
       Μέχρις_ότου (Ν >= 1) ΚΑΙ (Ν <= 7)
       Μικ <-- Β[Ν, 1]
       ΘΜικ <-- 1
       Για λ από μέχρι 98
             Αν Β[Ν, λ] < Μικ τότε
                  Μικ <-- Β[Ν, λ]
                  ΘΜικ <-- λ
             Τέλος_αν
       Τέλος_επανάληψης
       Εμφάνισε Μικ, ΘΜικ
       Μεγ <-- Β[1, Ν]
       ΘΜεγ <-- 1
       Για λ από μέχρι 10
             Αν Β[λ, Ν] > Μεγ τότε
                  Μεγ  <-- Β[λ, Ν]
                  ΘΜεγ <-- λ
             Τέλος_αν
       Τέλος_επανάληψης
       Εμφάνισε Μεγ, ΘΜεγ
       Τέλος ΔυσΠιν

Τετάρτη 15 Δεκεμβρίου 2010

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

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

Λύση

      ΣΥΝΑΡΤΗΣΗ Έλεγχος(Α) : ΛΟΓΙΚΗ
      ΜΕΤΑΒΛΗΤΕΣ
             ΑΚΕΡΑΙΕΣ: Α[9, 9]
      ΑΡΧΗ
             ΑΝ Α[5, 5] MOD 2 = 1 TOTE
                    Έλεγχος <-- ΑΛΗΘΗΣ
             ΑΛΛΙΩΣ
                    Έλεγχος <-- ΨΕΥΔΗΣ
             ΤΕΛΟΣ_ΑΝ
      ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ 

Δευτέρα 13 Δεκεμβρίου 2010

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

Διορθώστε τις παρακάτω λανθασμένες προτάσεις και επαναδια-
τυπώστε τις με σωστό τρόπο
1. Οι κόμβοι μιας δυναμικής δομής καταλαμβάνουν συνεχόμενες
    θέσεις στη μνήμη του υπολογιστή.
2. Ο αλγόριθμος είναι ένα μέσο παραγωγής δεδομένων.
3. Η γλώσσα ALGOL είναι κατάλληλη για προγραμματισμό σε
    κατανεμημένα περιβάλλοντα.
4. To όνομα μιας συμβολικής σταθεράς πρέπει να ξεκινάει με ψηφίο.
5. Τα δεδομένα ενός προβλήματος μπορούν να γίνουν αντιληπτά
    μόνο με την όραση ή την ακοή.
 



Απάντηση


1. Οι κόμβοι μιας στατικής δομής καταλαμβάνουν συνεχόμενες
    θέσεις στη μνήμη του υπολογιστή.
2. Ο αλγόριθμος είναι ένα μέσο παραγωγής πληροφοριών.
3. Η γλώσσα JAVA είναι κατάλληλη για προγραμματισμό σε 
    κατανεμημένα περιβάλλοντα.
4. To όνομα μιας συμβολικής σταθεράς πρέπει να ξεκινάει με γράμμα.
5. Τα δεδομένα ενός προβλήματος μπορούν να γίνουν αντιληπτά
    με μία από τις 5 ανθρώπινες αισθήσεις.

Παρασκευή 10 Δεκεμβρίου 2010

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

Γράψτε διαδικασία που δέχεται ως παράμετρο ένα θετικό
ακέραιο Ν και υπολογίζει :
* το πλήθος των πολλαπλασίων του 6,
* το πλήθος των αριθμών που δεν είναι πολλαπλάσια του
  5,
στο ακέραιο διάστημα [1, Ν].

Λύση

      ΔΙΑΔΙΚΑΣΙΑ Υπολ(Ν, φ1, φ2)
      ΜΕΤΑΒΛΗΤΕΣ
             ΑΚΕΡΑΙΕΣ:  φ1, φ2, Ν, λ
      ΑΡΧΗ
             φ1 <-- 0
             φ2 <-- 0
             ΓΙΑ λ ΑΠΟ 1 ΜΕΧΡΙ Ν
                  ΑΝ λ MOD 6 = 0 ΤΟΤΕ
                       φ1 <-- φ1+1
                  ΤΕΛΟΣ_ΑΝ
                  ΑΝ λ MOD 5 < >  0 ΤΟΤΕ
                       φ2 <-- φ2+1
                  ΤΕΛΟΣ_ΑΝ
             ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
      ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

   

Πέμπτη 9 Δεκεμβρίου 2010

Άσκηση : γέμισμα πίνακα

Γράψτε αλγόριθμο που γεμίζει τον πίνακα Α[4, 7],
γραμμή-γραμμή, με όλες τις περιττές τιμές από το
1 μέχρι το 30.

Λύση

     Αλγόριθμος ΓεμΠιν
     μ <-- 1
     Για κ από 1 μέχρι 4
         Για λ από 1 μέχρι 7
               Α[κ, λ] <-- μ
               μ <-- μ+2
         Τέλος_επανάληψης
     Τέλος_επανάληψης
     Αποτελέσματα // Α //
     Τέλος ΓεμΠιν

Άσκηση : γέμισμα πίνακα

Γράψτε αλγόριθμο που γεμίζει τον πίνακα Α[50] με τις
άρτιες τιμές που υπάρχουν στο ακέραιο διάστημα [1, 100].

Λύση

    α' τρόπος

     Αλγόριθμος ΓεμΠιν
     Για κ από 1 μέχρι 50
          Α[κ] <-- 2*κ
     Τέλος_επανάληψης
     Αποτελέσματα // Α //
     Τέλος ΓεμΠιν

     β' τρόπος


     Αλγόριθμος ΓεμΠιν
     λ <-- 1
     Για κ από 1 μέχρι 100
          Αν κ mod 2 = 0 τότε
                Α[λ] <-- κ
                λ <-- λ+1
          Τέλος_αν
     Τέλος_επανάληψης
     Αποτελέσματα // Α //
     Τέλος ΓεμΠιν

Τετάρτη 8 Δεκεμβρίου 2010

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

Γράψτε διαδικασία που δέχεται ως παράμετρο τον
πραγματικό πίνακα Α[9, 9] και αντιγράφει τα στοιχεία:
* της 1ης κυρίας διαγωνίου στον πίνακα Β[9],
* της 2ης κυρίας διαγωνίου στον πίνακα Γ[9].

Λύση

     ΔΙΑΔΙΚΑΣΙΑ αντιγρ(Α, Β, Γ)
     ΜΕΤΑΒΛΗΤΕΣ
           ΑΚΕΡΑΙΕΣ: κ
           ΠΡΑΓΜΑΤΙΚΕΣ: Α[9, 9], Β[9], Γ[9]
     ΑΡΧΗ
           ΓΙΑ κ ΑΠΟ 1 ΜΕΧΡΙ 9
                 Β[κ] <-- Α[κ, κ]
                 Γ[κ] <-- Α[κ, 10-κ]
           ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

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

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

Γράψτε συνάρτηση που δέχεται ως παράμετρο έναν
αλφαριθμητικό πίνακα Α[18, 18] και δύο ακέραιες
τιμές Γ, Σ και επιστρέφει την τιμή:
* 0, αν το στοιχείο Α[Γ, Σ] ανήκει στην
   1η κύρια διαγώνιο του πίνακα,
* 1, αν το στοιχείο Α[Γ, Σ] ανήκει στην
   2η κύρια διαγώνιο,
* 2, σε οποιαδήποτε άλλη περίπτωση.

Λύση

      ΣΥΝΑΡΤΗΣΗ Έλεγχος(Α, Γ, Σ) : ΑΚΕΡΑΙΑ
      ΜΕΤΑΒΛΗΤΕΣ
           ΧΑΡΑΚΤΗΡΕΣ: Α[18, 18]
           ΑΚΕΡΑΙΕΣ: Γ, Σ
      ΑΡΧΗ
           ΑΝ Γ = Σ ΤΟΤΕ
                  Έλεγχος <-- 0
           ΑΛΛΙΩΣ_ΑΝ Γ+Σ = 19 ΤΟΤΕ
                  Έλεγχος <--1
           ΑΛΛΙΩΣ
                  Έλεγχος <--2
           ΤΕΛΟΣ_ΑΝ
      ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

Δευτέρα 6 Δεκεμβρίου 2010

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

Γράψτε συνάρτηση που δέχεται ως παράμετρο
τον πραγματικό πίνακα Α[54, 62] και υπολογίζει
το αποτέλεσμα της παράστασης  (Χ-1)^2+Υ, όπου
* Χ : το μέγιστο στοιχείο της 16ης γραμμής,
* Υ : η θέση (1-54) του ελαχίστου της 5ης στήλης

Λύση

    ΣΥΝΑΡΤΗΣΗ ΥΠΟΛ(Α) : ΠΡΑΓΜΑΤΙΚΗ
    ΜΕΤΑΒΛΗΤΕΣ
          ΠΡΑΓΜΑΤΙΚΕΣ: Α[54, 62], Χ, ΜΙΝ
          ΑΚΕΡΑΙΕΣ: κ, Υ
    ΑΡΧΗ
          Χ <-- Α[16, 1]
          ΓΙΑ κ ΑΠΟ ΜΕΧΡΙ 62
               ΑΝ Α[16, κ] > Χ ΤΟΤΕ
                     Χ <-- Α[16, κ]
               ΤΕΛΟΣ_ΑΝ
         ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
         ΜΙΝ <-- Α[1, 5]
         Υ <-- 1
         ΓΙΑ κ ΑΠΟ ΜΕΧΡΙ 54
               ΑΝ Α[κ, 5] < ΜΙΝ ΤΟΤΕ
                     ΜΙΝ <-- Α[κ, 5]
                     Υ <-- κ
               ΤΕΛΟΣ_ΑΝ
         ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
         ΥΠΟΛ <-- (Χ-1)^2+Υ
    ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

Άσκηση : Γέμισμα πίνακα

Γράψτε αλγόριθμο που γεμίζει τον πίνακα Α[4, 4] με τις
ακόλουθες τιμές:
     91    -1       -2        -3
     1      91      -1        -2
     2       1       91       -1
     3       2        1        91

Λύση

       Αλγόριθμος Γεμ
       Για λ από 1 μέχρι 4
            Για μ από 1 μέχρι 4
                  Αν λ = μ τότε
                       Α[λ, μ] <-- 91
                  αλλιώς
                       Α[λ, μ] <-- λ-μ
                  Τέλος_αν
            Τέλος_επανάληψης
       Τέλος_επανάληψης
       Αποτελέσματα // Α //
       Τέλος Γεμ

Κυριακή 5 Δεκεμβρίου 2010

Άσκηση : Γέμισμα πίνακα

Γράψτε αλγόριθμο που γεμίζει τον πίνακα Α[3, 4] με
τις παρακάτω τιμές
       1        4        9        16
       4        7        12      19
       9        12      17      24
 
Λύση

      Αλγόριθμος Γεμ
      Για κ από 1 μέχρι 3
           Για λ από 1 μέχρι 4
                 Α[κ, λ] <-- κ^2+λ^2-1
           Τέλος_επανάληψης
      Τέλος_επανάληψης
      Αποτελέσματα // Α //
      Τέλος Γεμ

Παρασκευή 3 Δεκεμβρίου 2010

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

Γράψτε συνάρτηση που δέχεται ως παράμετρο τον
ακέραιο πίνακα Α[12, 27] και υπολογίζει το αποτέλεσμα
της παράστασης   Χ+2*Υ, όπου
     Χ : το γινόμενο των μέσων όρων ανά στήλη
     Υ : το άθροισμα των ελαχίστων ανά γραμμή

Λύση

     ΣΥΝΑΡΤΗΣΗ ΥΠΟΛ(Α) : ΠΡΑΓΜΑΤΙΚΗ
     ΜΕΤΑΒΛΗΤΕΣ
           ΑΚΕΡΑΙΕΣ: Α[12, 27], κ, λ, Μικ, Αθρ, Υ
           ΠΡΑΓΜΑΤΙΚΕΣ: ΜΟ, Χ
     ΑΡΧΗ
           Χ <-- 1
           ΓΙΑ λ ΑΠΟ 1 ΜΕΧΡΙ 27
                 Αθρ <-- 0
                 ΓΙΑ κ ΑΠΟ 1 ΜΕΧΡΙ 12
                       Αθρ <-- Αθρ+Α[κ, λ]
                 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
                 ΜΟ <-- Αθρ/12
                 Χ <-- Χ*ΜΟ
           ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
           Υ <-- 0
           ΓΙΑ κ ΑΠΟ ΜΕΧΡΙ 12
                 Μικ <-- Α[κ, 1]
                 ΓΙΑ λ ΑΠΟ ΜΕΧΡΙ 27
                       ΑΝ Α[κ, λ] < Μικ ΤΟΤΕ
                             Μικ <-- Α[κ, λ]
                       ΤΕΛΟΣ_ΑΝ
                 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
                 Υ <-- Υ+Μικ
           ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
           ΥΠΟΛ <-- Χ+2*Υ
     ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

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

Γράψτε διαδικασία που δέχεται ως παράμετρο έναν
ακέραιο πίνακα Μ[4, 5] και αντιγράφει τα περιεχόμενα
της 4ης στήλης στον ακέραιο πίνακα Ζ[4].

Λύση

      ΔΙΑΔΙΚΑΣΙΑ ΑΝΤΙΓΡ(Μ, Ζ)
      ΜΕΤΑΒΛΗΤΕΣ
            ΑΚΕΡΑΙΕΣ: Μ[4, 5], Ζ[4], λ
      ΑΡΧΗ
            ΓΙΑ λ ΑΠΟ 1 ΜΕΧΡΙ 4
                  Ζ[λ] <-- Μ[λ, 4]
            ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
      ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

Άσκηση : Δυσδιάστατος πίνακας

Γράψτε πρόγραμμα το οποίο:
α) διαβάζει 12 ακέραιες τιμές και τις καταχωρεί στον
     πίνακα  Β[3, 4] στήλη-στήλη,
β) αλλάζει όλα τα στοιχεία της 1ης στήλης σε -1,
γ) αλλάζει όλα τα στοιχεία της 2ης γραμμής σε  0,
δ) εμφανίζει τον πίνακα Β στήλη - στήλη.

Λύση

    ΠΡΟΓΡΑΜΜΑ ΔΥΣΔ
    ΜΕΤΑΒΛΗΤΕΣ
          ΑΚΕΡΑΙΕΣ: κ, λ, Β[3, 4]
    ΑΡΧΗ
             ΓΙΑ λ ΑΠΟ 1 ΜΕΧΡΙ 4
                  ΓΙΑ κ ΑΠΟ 1 ΜΕΧΡΙ 3
                        ΔΙΑΒΑΣΕ Β[κ, λ]
                  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
             ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
             ΓΙΑ κ ΑΠΟ 1 ΜΕΧΡΙ 3
                  Β[κ, 1] <-- -1
             ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
             ΓΙΑ λ ΑΠΟ 1 ΜΕΧΡΙ 4
                  Β[2, λ] <-- 0
             ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
             ΓΙΑ κ ΑΠΟ 1 ΜΕΧΡΙ 3
                  ΓΙΑ λ ΑΠΟ 1 ΜΕΧΡΙ 4
                        ΓΡΑΨΕ Β[κ, λ]
                  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
             ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Άσκηση : προσδιορίστε το περιεχόμενο του πίνακα

Ποιο είναι το περιεχόμενο του πίνακα Α[2, 2] μετά την
εκτέλεση των παρακάτω εντολών
    Για κ από 1 μέχρι 2
        Για λ από 2 μέχρι 1 με_βήμα -1
              Α[κ, λ] <-- (κ+λ)^2-1
        Τέλος_επανάληψης
   Τέλος_επανάληψης

Λύση

     κ = 1
          λ = 2
                Α[κ, λ] = Α[1, 2] = (1+2)^2-1 = 3^2-1 = 9-1 = 8
          λ = 1
                Α[κ, λ] = Α[1, 1] = (1+1)^2-1 = 2^2-1 = 4-1 = 3
     κ =2
          λ = 2
                Α[κ, λ] = Α[2, 2] = (2+2)^2-1 = 4^2-1 = 16-1 = 15
          λ = 1
                Α[κ, λ] = Α[2, 1] = (2+1)^2-1 = 3^2-1 = 9-1 = 8
    Κατά συνέπεια το περιεχόμενο του πίνακα είναι το ακόλουθο:
            3           8
            8         15

 
  

Άσκηση : τετραγωνικός πίνακας

Δίνεται πίνακας Α[12, 12] ακεραίου τύπου. Γράψτε αλγόριθμο
που με δεδομένο τον παραπάνω πίνακα, υπολογίζει το
άθροισμα των τετραγώνων των στοιχείων της 1ης κυρίας
διαγωνίου.

Λύση

      Αλγόριθμος ΤΕΤΡΑΓΩΝ
      Δεδομένα // Α //
      Αθρ <-- 0
      Για κ από 1 μέχρι 12
            Αθρ <-- Αθρ+Α[κ, κ]^2
      Τέλος_επανάληψης
      Αποτελέσματα // Αθρ //
      Τέλος ΤΕΤΡΑΓΩΝ

Τετάρτη 1 Δεκεμβρίου 2010

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

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

 


Απαντήσεις

1. Ο τετραγωνισμός του κύκλου είναι άλυτο πρόβλημα.
2. Το βήμα μιας εντολής Για..από..μέχρι είναι σταθερά ή
     μεταβλητή ή παράσταση ακέραιου ή πραγματικού 
     τύπου.
3. Μια από τις περιπτώσεις στις οποίες συνιστάται η
    μέθοδος της σειριακής αναζήτησης είναι όταν η
    αναζήτηση στον πίνακα γίνεται σπάνια.
4. Πρόγραμμα είναι ένας αλγόριθμος διατυπωμένος σε
    μια γλώσσα προγραμματισμού.\
5. Κάθε πρόγραμμα σε ΓΛΩΣΣΑ τελειώνει με τη
   δεσμευμένη λέξη ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ.

Δευτέρα 29 Νοεμβρίου 2010

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

Γράψτε πρόγραμμα σε ΓΛΩΣΣΑ το οποίο:
α) διαβάζει τις επωνυμίες 8 μεταφορικών εταιρειών και
     τις καταχωρεί σε κατάλληλο πίνακα,
β) διαβάζει το πλήθος των πακέτων που διακίνησε κάθε
     εταιρεία για κάθε μήνα του χρόνου που πέρασε,
γ) υπολογίζει και εμφανίζει:
     * πόσες εταιρείες διακίνησαν περισσότερα από 12000
        πακέτα κατά τη διάρκεια της προηγούμενης χρονιάς,
     * τις επωνυμίες των εταιρειών που διακίνησαν το
        μικρότερο πλήθος δεμάτων κατά το μήνα Νοέμβριο.

Λύση

      ΠΡΟΓΡΑΜΜΑ Εταιρείες
      ΜΕΤΑΒΛΗΤΕΣ
             ΧΑΡΑΚΤΗΡΕΣ: ΕΤ[8]
             ΑΚΕΡΑΙΕΣ: ΔΕΜ[8, 12], κ, λ, σ, Φ12, Μικ
      ΑΡΧΗ
             ΓΙΑ κ ΑΠΟ 1 ΜΕΧΡΙ 8
                    ΔΙΑΒΑΣΕ ΕΤ[κ]
             ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
             ΓΙΑ κ ΑΠΟ ΜΕΧΡΙ 8
                  ΓΙΑ λ ΑΠΟ 1 ΜΕΧΡΙ 12
                      ΔΙΑΒΑΣΕ ΔΕΜ[κ, λ]
                  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
             ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
             Φ12 <-- 0
             ΓΙΑ κ ΑΠΟ ΜΕΧΡΙ 8
                  σ <-- 0
                  ΓΙΑ λ ΑΠΟ ΜΕΧΡΙ 12
                      σ <-- σ+ΔΕΜ[κ, λ]
                  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
                  ΑΝ σ > 12000 ΤΟΤΕ
                       Φ12 <-- Φ12+1
                  ΤΕΛΟΣ_ΑΝ
             ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
             ΓΡΑΨΕ Φ12
             Μικ <-- ΔΕΜ[1, 11]
             ΓΙΑ κ ΑΠΟ ΜΕΧΡΙ 8
                  ΑΝ ΔΕΜ[κ, 11] < Μικ ΤΟΤΕ
                       Μικ <-- ΔΕΜ[κ, 11]
                  ΤΕΛΟΣ_ΑΝ
             ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
             ΓΙΑ κ ΑΠΟ ΜΕΧΡΙ 8
                  ΑΝ ΔΕΜ[κ, 11] = Μικ ΤΟΤΕ
                       ΓΡΑΨΕ ΕΤ[κ]
                  ΤΕΛΟΣ_ΑΝ
             ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
      ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
  

Σάββατο 27 Νοεμβρίου 2010

Άσκηση : δυσδιάστατος πίνακας (επεξεργασία δοσμένης γραμμής και στήλης)

Θεωρήστε τον πίνακα ΠΤΗΣΗ[16, 12] που περιέχει τις
ώρες πτήσης 16 πιλότων για κάθε μήνα του προηγούμενου
έτους. Γράψτε αλγόριθμο που, με δεδομένο τον παραπάνω
πίνακα, υπολογίζει και εμφανίζει:
α) το ετήσιο σύνολο των ωρών πτήσης για τον 7ο πιλότο,
β) τον αύξοντα αριθμό (1-16) του πιλότου που έκανε τις
     περισσότερες ώρες πτήσης κατά τη διάρκεια του
     Φεβρουαρίου.

Λύση

     Αλγόριθμος Πιλότοι
     Δεδομένα // ΠΤΗΣΗ //
     σ <-- 0
     Για λ από 1 μέχρι 12
          σ <-- σ+ΠΤΗΣΗ[7, λ]
     Τέλος_επανάληψης
     Εμφάνισε σ
     Μεγ <-- ΠΤΗΣΗ[1, 2]
     ΑΑΜεγ <-- 1
     Για λ από 2 μέχρι 16
          Αν ΠΤΗΣΗ[λ, 2] > Μεγ τότε
                Μεγ <-- ΠΤΗΣΗ[λ, 2]
                ΑΑΜεγ <-- λ
          Τέλος_αν
     Τέλος_επανάληψης
      Εμφάνισε ΑΑΜεγ
     Τέλος Πιλότοι

Πέμπτη 25 Νοεμβρίου 2010

Άσκηση: Βρείτε τα λάθη

Το παρακάτω σύνολο εντολών υπολογίζει το γινόμενο Γ
50 θετικών και περιττών ακεραίων τιμών και εμφανίζει
στην οθόνη το τετράγωνο του Γ. Ωστόσο υπάρχουν
αρκετά λάθη, τόσο συντακτικά όσο και λογικά. Εντοπίστε
το καθένα από αυτά.

     Γ <-- 0
     Για κ από 1 μέχρι_και 50
          Αρχή_επανάληψης
              Διάβασε Χ
          Μέχρις_ότου (Χ <= 0) Ή mod 2 = 0)
          Γ <-- Γ*Χ
     Τέλος_επανάληψης
     Τύπωσε Γ*2

Λύση

    * Γ <-- 0 : λογικό λάθος (η αρχική τιμή πρέπει να είναι 1)
    * μέχρι_και : συντακτικό λάθος (σωστό είναι το μέχρι)
    * Η συνθήκη της Μέχρις ότου αποτελεί λογικό λάθος
       (σωστό : (Χ > 0) ΚΑΙ (Χ mod 2 = 1) )
    * Τύπωσε Γ*2 : συντακτικό λάθος στην Τύπωσε
       (σωστό : Εκτύπωσε) και λογικό λάθος στο Γ*2
       (σωστό Γ^2)

Εξαφανίστε την GOTO

Ξαναγράψτε το παρακάτω σύνολο εντολών έτσι ώστε
να ικανοποιεί τις αρχές του δομημένου προγραμματισμού
        Α <-- 0
    10: ΔΙΑΒΑΣΕ Χ
         ΑΝ Χ <= 0 ΤΟΤΕ GOTO 10
         A <-- A+X
         AN A <= 10000 TOTE GOTO 10
         AN A < 15000 TOTE GOTO 20
         AN A < 25000 TOTE  GOTO 30
         ΓΡΑΨΕ 'γ'
         GOTO 40
    20: ΓΡΑΨΕ 'α'
          GOTO 40
    30: ΓΡΑΨΕ 'β'
    40: ΓΡΑΨΕ 'ΤΕΛΟΣ'

Λύση

     Α <-- 0
     ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
          ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
                ΔΙΑΒΑΣΕ Χ
          ΜΕΧΡΙΣ_ΟΤΟΥ Χ > 0
          Α <-- Α+Χ
     ΜΕΧΡΙΣ_ΟΤΟΥ Α > 10000
     ΑΝ  Α < 15000 ΤΟΤΕ
          ΓΡΑΨΕ 'α'
     ΑΛΛΙΩΣ_ΑΝ Α < 25000 ΤΟΤΕ
          ΓΡΑΨΕ 'β'
     ΑΛΛΙΩΣ
          ΓΡΑΨΕ 'γ'
     ΤΕΛΟΣ_ΑΝ
     ΓΡΑΨΕ 'ΤΕΛΟΣ'

      

Τετάρτη 24 Νοεμβρίου 2010

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

Η ώρα Ελλάδας είναι 1,5 ώρα πίσω από την αντίστοιχη
του Ιράν. Γράψτε διαδικασία που δέχεται ως παραμέτρους
την ώρα Ελλάδας (σε 24ωρη μορφή, ώρα και λεπτά) και
υπολογίζει την αντίστοιχη ώρα Ιράν.

Λύση

     ΔΙΑΔΙΚΑΣΙΑ ΙΡΑΝ(ΩΕ, ΛΕ, ΩΙ, ΛΙ)
     ΜΕΤΑΒΛΗΤΕΣ
           ΑΚΕΡΑΙΕΣ: ΩΕ, ΛΕ, ΩΙ, ΛΙ, ΔΙΑΦ
     ΑΡΧΗ
           ΑΝ ΛΕ < 30 ΤΟΤΕ
                ΛΙ <-- ΛΕ+30
                ΔΙΑΦ <-- 0
           ΑΛΛΙΩΣ
                ΛΙ <-- ΛΕ-30
                ΔΙΑΦ <-- 1
           ΤΕΛΟΣ_ΑΝ
           ΑΝ ΩΕ <= 21 ΤΟΤΕ
                ΩΙ <-- ΩΕ+1+ΔΙΑΦ
           ΑΛΛΙΩΣ_ΑΝ ΩΕ = 22 ΤΟΤΕ
                ΩΙ <-- ΩΕ+1+ΔΙΑΦ
                ΑΝ ΩΙ = 24 ΤΟΤΕ
                     ΩΙ <-- 0
                ΤΕΛΟΣ_ΑΝ
           ΑΛΛΙΩΣ     ! ΩΕ = 23
                ΩΙ <-- ΔΙΑΦ
           ΤΕΛΟΣ_ΑΝ      
     ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

Τρίτη 23 Νοεμβρίου 2010

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

Μέσα στο σκληρό σας δίσκο υπάρχουν φωτογραφίες,
βίντεο, μουσική και κείμενα. Γράψτε διαδικασία
που διαβάζει το είδος (Φ - φωτογραφία, Β - βίντεο,
Μ - μουσική, Κ - κείμενο) κάθε αρχείου που υπάρχει
σ' αυτό το δίσκο (η είσοδος δεδομένων ολοκληρώνεται
μόλις δοθεί ως είδος το γράμμα 'Τ') και υπολογίζει
το πλήθος των φωτογραφιών, βίντεο, κειμένων και μουσικών
αρχείων.
Παρατήρηση : Πρέπει να διασφαλίζεται η εγκυρότητα των
εισερχόμενων δεδομένων.

Λύση

     ΔΙΑΔΙΚΑΣΙΑ  ΔΙΣΚΟΣ (Φωτ, Βιν, Μουσικ, Κειμ)
     ΜΕΤΑΒΛΗΤΕΣ
           ΑΚΕΡΑΙΕΣ: Φωτ, Βιν, Μουσικ, Κειμ
           ΧΑΡΑΚΤΗΡΕΣ: Είδος
     ΑΡΧΗ
           Φωτ <-- 0
           Βιν <-- 0
           Μουσικ <-- 0
           Κειμ <-- 0
           ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
                 ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
                     ΔΙΑΒΑΣΕ Είδος
                ΜΕΧΡΙΣ_ΟΤΟΥ (Είδος = 'Φ') Ή (Είδος = 'Β') Ή 
                              (Είδος = 'Μ') Ή (Είδος = 'Κ') Ή (Είδος = 'Τ')
                ΑΝ Είδος < > 'Τ' ΤΟΤΕ
                      ΑΝ Είδος = 'Φ' ΤΟΤΕ
                            Φωτ <-- Φωτ+1
                      ΑΛΛΙΩΣ_ΑΝ Είδος = 'Β' ΤΟΤΕ
                            Βιν <-- Βιν+1
                      ΑΛΛΙΩΣ_ΑΝ Είδος = 'Μ' ΤΟΤΕ
                            Μουσικ <-- Μουσικ+1
                      ΑΛΛΙΩΣ
                            Κειμ <-- Κειμ+1
                      ΤΕΛΟΣ_ΑΝ
                ΤΕΛΟΣ_ΑΝ
           ΜΕΧΡΙΣ_ΟΤΟΥ Είδος = 'Τ'
     ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

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

Διορθώστε τις παρακάτω  λανθασμένες προτάσεις και
επαναδιατυπώστε τις με σωστό τρόπο.
1. Στα υπολογιστικά προβλήματα  η τελική απάντηση
     είναι ένα ΝΑΙ ή ένα ΟΧΙ.
2. Όταν γράφουμε ένα αλγόριθμο χρησιμοποιώντας
    φυσική γλώσσα κατά βήματα, κινδυνεύουμε να
    παραβιάσουμε το κριτήριο της περατότητας.
3. Μια από τις περιπτώσεις που προτιμούμε τη
    σειριακή αναζήτηση είναι όταν ο πίνακας είναι
    μεγάλου μεγέθους.
4. Οι συμβολικές γλώσσες λέγονται και γλώσσες
    4ης γενιάς.
5. Ο τελεστής < > είναι λογικός.
6. Η εντολή Για..από..μέχρι είναι ιδανική για τη
    δημιουργία προγραμμάτων που λειτουργούν με
    μενού.
7. Ο πίνακας Β[12, 10]  έχει 120 στοιχεία ακεραίου
    τύπου.
8. Οι συναρτήσεις γράφονται πριν από το κύριο
    πρόγραμμα και οι διαδικασίες μετά.


 


Απάντηση

1. Στα προβλήματα  απόφασης η τελική απάντηση
     είναι ένα ΝΑΙ ή ένα ΟΧΙ.
2. Όταν γράφουμε ένα αλγόριθμο χρησιμοποιώντας    
    φυσική γλώσσα κατά βήματα, κινδυνεύουμε να
    παραβιάσουμε το κριτήριο της καθοριστικότητας.
3. Μια από τις περιπτώσεις που προτιμούμε τη
    σειριακή αναζήτηση είναι όταν ο πίνακας είναι
    μικρού μεγέθους.
4. Οι συμβολικές γλώσσες λέγονται και γλώσσες
    χαμηλού επιπέδου.
5. Ο τελεστής < > είναι συγκριτικός.
6. Η εντολή Μέχρις_ότου είναι ιδανική για τη
    δημιουργία προγραμμάτων που λειτουργούν με
    μενού.7. Ο πίνακας Β[12, 10]  έχει 120 στοιχεία ίδιου
    τύπου.
8. Τόσο οι συναρτήσεις όσο και οι διαδικασίες γράφονται  
    μετά από το κύριο πρόγραμμα.

Δευτέρα 22 Νοεμβρίου 2010

Βρείτε τα συντακτικά και τα λογικά λάθη

Οι παρακάτω εντολές εκχώρησης φιλοδοξούν να
υπολογίσουν το μήκος Ζ της υποτείνουσας ορθογωνίου
τριγώνου με μήκη πλευρών Χ και Υ, χωρίς ωστόσο να
το καταφέρνουν. Γράψτε τον αριθμό της εντολής και
δίπλα τη λέξη Συντακτικό ή Λογικό, ανάλογα με το
λάθος που υπάρχει στην κάθε εντολή.
     1.  Ζ <-- Τ_Ρ(Χ^2)+Υ^2
     2.  Ζ <-- ΤΡ(Χ^2+Υ^2)
     3.  Ζ <-- Τ_Ρ( (Χ+Υ)^2 )
     4.  Ζ <-- Τ_Ρ(Χ^2+Υ^2
     5.  Ζ <-- Τ_Ρ(Χ2+Υ2)

Απάντηση

      1. Λογικό
      2. Συντακτικό
      3. Λογικό
      4. Συντακτικό
      5. Συντακτικό

Συγγραφή συνάρτησης

Στην Γ' τάξη ενός ημερήσιου γενικού λυκείου φοιτούν
132 μαθητές. Γράψτε συνάρτηση που δέχεται ως παραμέτρους:
* τον πραγματικό πίνακα ΥΨΗ[132], που περιέχει τα ύψη των
   μαθητών,
* τον λογικό πίνακα ΦΥΛΟ[132], που περιέχει το φύλο των
   μαθητών ( ΑΛΗΘΗΣ - αγόρι, ΨΕΥΔΗΣ - κορίτσι),
* τον πραγματικό πίνακα ΒΑΡΗ[132], που περιέχει τα βάρη
   των μαθητών
και υπολογίζει το ποσοστό (%) επί του συνόλου των αγοριών,
των μαθητών που έχουν ύψος τουλάχιστον 1.65 και ζυγίζουν
το πολύ 68 κιλά.
Παρατήρηση : Αν ο υπολογισμός του ποσοστού δεν είναι
εφικτός, η συνάρτηση επιστρέφει την τιμή -1.

Λύση

ΣΥΝΑΡΤΗΣΗ Ποσοστό(ΥΨΗ, ΦΥΛΟ, ΒΑΡΗ) : ΠΡΑΓΜΑΤΙΚΗ
ΜΕΤΑΒΛΗΤΕΣ
      ΠΡΑΓΜΑΤΙΚΕΣ: ΥΨΗ[132], ΒΑΡΗ[132]
      ΛΟΓΙΚΕΣ: ΦΥΛΟ[132]
      ΑΚΕΡΑΙΕΣ: Λ, Φ, ΑΓΟΡΙΑ
ΑΡΧΗ
       ΑΓΟΡΙΑ <-- 0
       Φ <-- 0
       ΓΙΑ Λ ΑΠΟ 1 ΜΕΧΡΙ 132
          ΑΝ ΦΥΛΟ[Λ] = ΑΛΗΘΗΣ ΤΟΤΕ
                ΑΓΟΡΙΑ <-- ΑΓΟΡΙΑ+1
                ΑΝ (ΥΨΗ[Λ] >= 1.65) ΚΑΙ (ΒΑΡΗ[Λ] <= 68) ΤΟΤΕ
                     Φ <-- Φ+1
               ΤΕΛΟΣ_ΑΝ
          ΤΕΛΟΣ_ΑΝ
       ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
       ΑΝ ΑΓΟΡΙΑ > 0 ΤΟΤΕ
             Ποσοστό <-- 100*Φ/ΑΓΟΡΙΑ
       ΑΛΛΙΩΣ
             Ποσοστό <-- -1
       ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

Κυριακή 21 Νοεμβρίου 2010

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

Σε ένα πάρτυ διασκεδάζουν 230 άτομα. Γράψτε διαδικασία
που δέχεται ως παράμετρο έναν ακέραιο πίνακα Η[230] που
περιέχει τις ηλικίες των ατόμων αυτών και υπολογίζει πόσα
από αυτά έχουν ηλικία 18, 19, 20, 21, ...., 46 έτη.

Λύση

      ΔΙΑΔΙΚΑΣΙΑ Ηλικίες(Η, Αποτ)
      ΜΕΤΑΒΛΗΤΕΣ
            ΑΚΕΡΑΙΕΣ: Η[230], Αποτ[29], Θ, λ
      ΑΡΧΗ
            ΓΙΑ λ ΑΠΟ 1 ΜΕΧΡΙ 29
                   Αποτ[λ] <-- 0
            ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
            ΓΙΑ λ ΑΠΟ ΜΕΧΡΙ 230
                  ΑΝ (Η[λ] >= 18) ΚΑΙ (Η[λ] <= 46) ΤΟΤΕ
                      Θ <-- Η[λ]-17
                      Αποτ[Θ] <-- Αποτ[Θ]+1
                  ΤΕΛΟΣ_ΑΝ
            ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
      ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

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

Γράψτε συνάρτηση που δέχεται μια αριθμητική
μεταβλητή Χ και ελέγχει αν το περιεχόμενό της
είναι ακέραιο ή όχι. Αν το Χ περιέχει ακέραια
τιμή η συνάρτηση επιστρέφει το τετραπλάσιο της,
σε διαφορετική περίπτωση επιστρέφει το τετράγωνο
της.

Λύση

      ΣΥΝΑΡΤΗΣΗ ΥΠΟΛ(Χ) : ΠΡΑΓΜΑΤΙΚΗ
      ΜΕΤΑΒΛΗΤΕΣ
             ΠΡΑΓΜΑΤΙΚΕΣ: Χ
      ΑΡΧΗ
             ΑΝ Α_Μ(Χ) = Χ ΤΟΤΕ
                   ΥΠΟΛ <-- 4*Χ
             ΑΛΛΙΩΣ
                   ΥΠΟΛ <-- Χ^2
             ΤΕΛΟΣ_ΑΝ
      ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

Σάββατο 20 Νοεμβρίου 2010

Άσκηση: Φρουρός+απάντηση σε ερώτηση

Σε ένα τουρνουά σκακιού, εστιάζουμε την προσοχή μας
σε εκείνες τις παρτίδες που ολοκληρώθηκαν με νίκη
ενός εκ των δύο παικτών. Γράψτε πρόγραμμα σε ΓΛΩΣΣΑ
το οποίο:
α) διαβάζει το πλήθος των κινήσεων που απαιτήθηκαν προκει-
     μένου να ολοκληρωθεί καθεμιά από τις παραπάνω παρτίδες
     (η είσοδος δεδομένων ολοκληρώνεται μόλις δοθεί η απάντηση
     'ΟΧΙ' στην υποβαλλόμενη προς το χρήστη ερώτηση 'Υπάρχει
     άλλη παρτίδα;' ή όταν το εισαγόμενο πλήθος απαιτούμενων
     κινήσεων είναι μη θετικό),
β) υπολογίζει και εμφανίζει:
     * τον αύξοντα αριθμό της παρτίδας που ολοκληρώθηκε με
        το μικρότερο πλήθος κινήσεων από όλες τις άλλες,
     * το ποσοστό (%) των παρτίδων που ολοκληρώθηκαν με το
        πολύ 110 κινήσεις.
Παρατηρήσεις
Ι. Το ανώτερο πλήθος κινήσεων που απαιτήθηκε για την ολοκλήρωση
    μιας παρτίδας ήταν 225.
ΙΙ. Θεωρείστε ότι  δόθηκαν δεδομένα για τουλάχιστον μια παρτίδα.

Λύση


      ΠΡΟΓΡΑΜΜΑ Σκάκι
      ΜΕΤΑΒΛΗΤΕΣ
            ΑΚΕΡΑΙΕΣ: Κιν, Μικ, Φ, Πλήθος, ΑΑΜικ
            ΧΑΡΑΚΤΗΡΕΣ: Απ
            ΠΡΑΓΜΑΤΙΚΕΣ: ΠΟΣ
      ΑΡΧΗ
            Πλήθος <-- 0
            Μικ <-- 226
            Φ <-- 0
            ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
                 ΔΙΑΒΑΣΕ Κιν
                 ΑΝ Κιν > 0 ΤΟΤΕ
                       Πλήθος <-- Πλήθος+1
                       ΑΝ Κιν < Μικ ΤΟΤΕ
                            Μικ <-- Κιν
                            ΑΑΜικ <-- Πλήθος
                       ΤΕΛΟΣ_ΑΝ
                       ΑΝ Κιν <= 110 ΤΟΤΕ
                            Φ <-- Φ+1
                       ΤΕΛΟΣ_ΑΝ
                 ΤΕΛΟΣ_ΑΝ
                 ΓΡΑΨΕ 'Υπάρχει άλλη παρτίδα;'
                 ΔΙΑΒΑΣΕ Απ
            ΜΕΧΡΙΣ_ΟΤΟΥ (Απ = 'ΟΧΙ') Ή (Κιν <= 0)
            ΠΟΣ <-- 100*Φ/Πλήθος
            ΓΡΑΨΕ ΑΑΜικ, ΠΟΣ
      ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Παρασκευή 19 Νοεμβρίου 2010

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

Γράψτε διαδικασία που :
α) διαβάζει τις τιμές πώλησης κάποιων βιβλίων (η είσοδος
     δεδομένων ολοκληρώνεται μόλις δοθεί ως τιμή ένας μη
     θετικός αριθμός),
β) υπολογίζει:
    * το πλήθος των βιβλίων που εξετάστηκαν,
    * το ποσοστό (%) των βιβλίων που είχαν τιμή πώλησης
       μεγαλύτερη από 12 ευρώ,
    * τη μέση τιμή πώλησης των βιβλίων.
Παρατήρηση
Αν δε δοθούν καθόλου δεδομένα, και τα τρία αποτελέσματα
πρέπει να γίνουν ίσα με -1.

Λύση

      ΔΙΑΔΙΚΑΣΙΑ Βιβλία(Πλήθος, ΠΟΣ, ΜΟ)
      ΜΕΤΑΒΛΗΤΕΣ
             ΑΚΕΡΑΙΕΣ: Πλήθος, Φ
             ΠΡΑΓΜΑΤΙΚΕΣ: ΜΟ, Τιμή, ΠΟΣ, σ
      ΑΡΧΗ
             Πλήθος <-- 0
             Φ <-- 0
             σ <-- 0
             ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
                  ΔΙΑΒΑΣΕ Τιμή
                  ΑΝ Τιμή > 0 ΤΟΤΕ
                         Πλήθος <-- Πλήθος+1
                         σ <-- σ+Τιμή
                         ΑΝ Τιμή > 12 ΤΟΤΕ
                               Φ <-- Φ+1
                         ΤΕΛΟΣ_ΑΝ
                  ΤΕΛΟΣ_ΑΝ
             ΜΕΧΡΙΣ_ΟΤΟΥ Τιμή <= 0
             ΑΝ Πλήθος > 0 ΤΟΤΕ
                   ΠΟΣ <-- 100*Φ/Πλήθος
                   ΜΟ <-- σ/Πλήθος
             ΑΛΛΙΩΣ
                   Πλήθος <-- -1
                   ΠΟΣ <-- -1
                   ΜΟ <-- -1
             ΤΕΛΟΣ_ΑΝ
      ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

Άσκηση : Μενού επιλογών

Γράψτε αλγόριθμο που παρέχει το ακόλουθο μενού
λειτουργιών
     1. Υπολογισμός του ποσοστού των αρτίων αριθμών
          από 1 έως και Ν
     2. Υπολογισμός πλήθους περιττών από 1 έως και Ν
     3. Υπολογισμός μέσου όρου Ν τυχαίων θετικών αριθμών
     4. Έξοδος
Αν η επιλογή του χρήστη είναι 1 ή 2 ή 3, διαβάζεται
ένας θετικός αριθμός Ν,  γίνεται ο αντίστοιχος υπολογισμός
και εμφανίζονται τα αποτελέσματα στην οθόνη. Όταν η
επιλογή είναι 4 (και μόνο τότε) ο αλγόριθμος τερματίζεται.
Παρατηρήσεις
Ι. Αν η επιλογή είναι 3, ο αλγόριθμος διαβάζει Ν τιμές
   εισόδου, διασφαλίζοντας ότι είναι θετικοί αριθμοί.
ΙΙ. Ο αλγόριθμος πρέπει να διασφαλίζει την εγκυρότητα των
     εισερχόμενων δεδομένων.

Λύση

      Αλγόριθμος Μενού
      Αρχή_επανάληψης
           Εμφάνισε '1. Ποσοστό αρτίων από 1 έως και Ν'
           Εμφάνισε '2. Πλήθος περιττών από 1 έως και Ν'
           Εμφάνισε '3. Μέσος όρος Ν τυχαίων θετικών'
           Εμφάνισε '4. Έξοδος'
           Αρχή_επανάληψης
                 Εμφάνισε 'Δώσε επιλογή:'
                 Διάβασε Επ
           Μέχρις_ότου (Επ >= 1) ΚΑΙ (Επ <= 4)
           Αν Επ < > 4 τότε
                Αρχή_επανάληψης
                      Διάβασε Ν
                Μέχρις_ότου Ν > 0
           Τέλος_αν
           Αν Επ = 1 τότε
                Αρτ <-- 0
                Για λ από 1 μέχρι Ν
                    Αν λ mod 2 = 0 τότε
                         Αρτ <-- Αρτ+1
                    Τέλος_αν
                Τέλος_επανάληψης
                ΠΟΣ <-- 100*Αρτ/Ν
                Εμφάνισε ΠΟΣ
           αλλιώς_αν Επ = 2 τότε
                Περ <-- 0
                Για λ από 1 μέχρι Ν
                    Αν λ mod 2 = 1 τότε
                         Περ <-- Περ+1
                    Τέλος_αν
                Τέλος_επανάληψης
                Εμφάνισε Περ
           αλλιώς_αν Επ = 3 τότε
                σ <-- 0
                Για λ από 1 μέχρι Ν
                    Αρχή_επανάληψης
                        Διάβασε Χ
                    Μέχρις_ότου Χ > 0

                    σ <-- σ+Χ
                Τέλος_επανάληψης
                ΜΟ <-- σ/Ν
                Εμφάνισε
ΜΟ
          αλλιώς   ! Επ = 4
                Εμφάνισε 'Τερματισμός λειτουργιών'
          Τέλος_αν  
      Μέχρις_ότου Επ = 4
      Τέλος Μενού