Κυριακή 27 Φεβρουαρίου 2011

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


Γράψτε συνάρτηση που δέχεται ως παράμετρο τον
ακέραιο πίνακα Α[76, 76] και υπολογίζει το
αποτέλεσμα της παράστασης:
     ( ΜΑΧ+(ΜΙΝ-ΜΟ) ) / 2
όπου:
* ΜΑΧ : η μέγιστη τιμή της 1ης κύριας διαγωνίου,
* ΜΙΝ : η ελάχιστη τιμή της 76ης γραμμής,
* ΜΟ : ο μέσος όρος της 76ης στήλης.

Λύση

     ΣΥΝΑΡΤΗΣΗ ΥΠΟΛ(Α) : ΠΡΑΓΜΑΤΙΚΗ
     ΜΕΤΑΒΛΗΤΕΣ
           ΑΚΕΡΑΙΕΣ: Α[76, 76], κ, σ, ΜΑΧ, ΜΙΝ
           ΠΡΑΓΜΑΤΙΚΕΣ: ΜΟ
     ΑΡΧΗ
           ΜΑΧ <-- Α[1, 1]
           ΓΙΑ κ ΑΠΟ ΜΕΧΡΙ 76
                 ΑΝ Α[κ, κ] > ΜΑΧ ΤΟΤΕ
                       ΜΑΧ <-- Α[κ, κ]
                 ΤΕΛΟΣ_ΑΝ
           ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
           ΜΙΝ <-- Α[76, 1]
           ΓΙΑ κ ΑΠΟ ΜΕΧΡΙ 76
                 ΑΝ Α[76, κ] < ΜΙΝ ΤΟΤΕ
                       ΜΙΝ <-- Α[76, κ]
                 ΤΕΛΟΣ_ΑΝ
           ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
           σ <-- 0
           ΓΙΑ κ ΑΠΟ ΜΕΧΡΙ 76
                 σ <-- σ+Α[κ, 76]
           ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
           ΜΟ <-- σ/76
           ΥΠΟΛ <--  (ΜΑΧ+(ΜΙΝ-ΜΟ))/2
     ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

Σάββατο 26 Φεβρουαρίου 2011

Άσκηση: Φρουρός

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

Λύση

      Αλγόριθμος ΑΣΚ
      Πληθ <-- 0
      Τμ28 <-- 0
      σ <-- 0
      Αρχή_επανάληψης
            Διάβασε Μαθ
            Αν Μαθ > 0 τότε
                 Πληθ <-- Πληθ+1
                 σ <-- σ+Μαθ
                 Αν Μαθ > 28 τότε
                       Τμ28 <-- Τμ28+1
                 Τέλος_αν
            Τέλος_αν
      Μέχρις_ότου Μαθ <= 0
      Αν Πληθ > 0 τότε
            ΜΟ <-- σ/Πληθ
            Εμφάνισε Πληθ, Τμ28, ΜΟ
      αλλιώς
            Εμφάνισε 'Δε δόθηκαν δεδομένα!'
      Τέλος_αν
      Τέλος ΑΣΚ

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

Γράψτε διαδικασία που υπολογίζει το άθροισμα και το
γινόμενο των τιμών του πραγματικού πίνακα Α[9, 18].

Λύση

     ΔΙΑΔΙΚΑΣΙΑ ΑΘΡΓΙΝ(Α, σ, γ)
     ΜΕΤΑΒΛΗΤΕΣ
            ΠΡΑΓΜΑΤΙΚΕΣ: Α[9, 18], σ, γ
            ΑΚΕΡΑΙΕΣ: κ, λ
     ΑΡΧΗ
            σ <-- 0
            γ <-- 1
            ΓΙΑ κ ΑΠΟ 1 ΜΕΧΡΙ 9
                 ΓΙΑ λ ΑΠΟ 1 ΜΕΧΡΙ 18
                       σ <-- σ+Α[κ, λ]
                       γ <-- γ*Α[κ, λ]
                 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
            ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
     ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
      

Παρασκευή 25 Φεβρουαρίου 2011

Υπολογισμός παραστάσεων

Αν  Α = 23, Β = 98, Γ = 'ΑΡΧΗ' και Δ = 'ΤΕΛΟΣ' υπολογίστε την 
τιμή των παρακάτω παραστάσεων
1. (Α <= Β) Ή (Γ >= Δ)
2. (A+1) mod (B-A) > 0
3. (Γ < 'ΤΕΛΟΣ') ΚΑΙ (Δ > 'ΤΡΕΧΩ')

4. (Β-90)^2 div (3*A) > 1

Λύση

1. 
(Α <= Β) Ή (Γ >= Δ) = 
    (23 <= 98) Ή ('ΑΡΧΗ' >= 'ΤΕΛΟΣ') =
    Αληθής Ή Ψευδής = Αληθής
2. (A+1) mod (B-A) > 0 = 
    (23+1) mod (98-23) > 0 =
     24 mod 75 > 0 = 24 > 0 = Αληθής
3. (Γ < 'ΤΕΛΟΣ') ΚΑΙ (Δ > 'ΤΡΕΧΩ') =
    ('ΑΡΧΗ' < 'ΤΕΛΟΣ') ΚΑΙ ('ΤΕΛΟΣ' > 'ΤΡΕΧΩ') =
    Αληθής ΚΑΙ Ψευδής = Ψευδής
4. (Β-90)^2 div (3*A) > 1 = 
    (98-90)^2 div (3*23) > 1 =
    8^2 div 69 > 1 = 68 div 69 > 1 = 
    0 > 1 = Ψευδής
    

Πέμπτη 24 Φεβρουαρίου 2011

Άσκηση : επεξεργασία δοσμένου πλήθους δεδομένων (Για..από..μέχρι)

Γράψτε αλγόριθμο που διαβάζει :
α) το ονοματεπώνυμο,  την ειδικότητα (π.χ ΠΕ19) και τα
    χρόνια υπηρεσίας 135  καθηγητών,
β) υπολογίζει και εμφανίζει:
    * το ονοματεπώνυμο του καθηγητή που έχει τα
       περισσότερα χρόνια υπηρεσίας ανάμεσα στους
       καθηγητές με ειδικότητα ΠΕ19,
    * το ποσοστό (%) των καθηγητών με ειδικότητα
       ΠΕ4
    * το πλήθος των καθηγητών που έχουν τουλάχιστον
       20 αλλά όχι παραπάνω από 26 χρόνια υπηρεσίας.

Λύση

      Αλγόριθμος Ειδικότητες
      Μεγ <-- -100
      ΠΕ4 <-- 0
      Χρ2026 <-- 0
      Για κ από 1 μέχρι 135
           Διάβασε Ον
           Διάβασε Ειδ
           Διάβασε Χρ
           Αν (Χρ > Μεγ) ΚΑΙ (Ειδ = 'ΠΕ19') τότε
                Μεγ <-- Χρ
                ΟνΜεγ <-- Ον
           Τέλος_αν
           Αν Ειδ = 'ΠΕ4' τότε
                ΠΕ4 <-- ΠΕ4+1
           Τέλος_αν
           Αν (Χρ >= 20) ΚΑΙ (Χρ <= 26) τότε
                Χρ2026 <-- Χρ2026+1
           Τέλος_αν
      Τέλος_επανάληψης
      Αν Μεγ > 0 τότε
           Εμφάνισε ΟνΜεγ
      αλλιώς
           Εμφάνισε 'Δεν υπάρχει κανένας καθηγητής ΠΕ19'
      Τέλος_αν
      ΠΟΣ <-- 100*ΠΕ4/135
      Εμφάνισε Χρ2026, ΠΟΣ
      Τέλος Ειδικότητες

Τρίτη 22 Φεβρουαρίου 2011

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

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

Απάντηση

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

Ερωτήσεις σωστού - λάθους

Ποιές από τις παρακάτω προτάσεις είναι σωστές και ποιές
λάθος;
1. Η επανάληψη που δεν τελειώνει ποτέ παραβιάζει το
    κριτήριο της περατότητας.
2. Η δομή επιλογής επιτρέπει τη διενέργεια ελέγχων κατά
    τη διάρκεια εκτέλεσης των αλγορίθμων.
3. Το διάγραμμα ροής είναι ένας τρόπος αναπαράστασης
    αλγορίθμων που κινδυνεύει να παραβιάσει το κριτήριο
    της καθοριστικότητας.
4. 'Ενας πίνακας καταλαμβάνει μέρος της κύριας μνήμης
    του υπολογιστή.
5. Αν η Μ είναι μια λογική μεταβλητή η εντολή εκχώρησης
       Μ <-- 'Αληθής'
   είναι επιτρεπτή.

 

Απάντηση

1. Σ
2. Σ
3. Λ
4. Σ
5. Λ

Δευτέρα 21 Φεβρουαρίου 2011

Άσκηση : απάντηση σε ερώτηση

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

Λύση

    Αλγόριθμος ΑΣΚ
    Διάβασε Επων
    Διάβασε Τιμή
    ΜΑΧ <-- Τιμή
    ΕπωνΜΑΧ <-- Επων
    ΜΙΝ <-- Τιμή
    ΕπωνΜΙΝ <-- Επων
    σ <--Τιμή
    Πληθ <-- 1
    Εμφάνισε 'Ολοκληρώθηκε η είσοδος;'
    Διάβασε Απ
    Όσο Απ < > 'ΝΑΙ' επανάλαβε
         Διάβασε Επων
         Διάβασε Τιμή
         σ <-- σ+Τιμή
         Πληθ <-- Πληθ+1
         Αν Τιμή > ΜΑΧ τότε
              ΜΑΧ <-- Τιμή
              ΕπωνΜΑΧ <-- Επων
         Τέλος_αν 
         Αν Τιμή < ΜΙΝ τότε
              ΜΙΝ <-- Τιμή
              ΕπωνΜΙΝ <-- Επων
         Τέλος_αν 
         Εμφάνισε 'Ολοκληρώθηκε η είσοδος;'
         Διάβασε Απ
    Τέλος_επανάληψης
     ΜΟ <-- σ/Πληθ
     Εμφάνισε ΕπωνΜΑΧ, ΕπωνΜΙΝ, ΜΟ
    Τέλος ΑΣΚ

Άσκηση : Αναγωγή στη μονάδα

Σε ένα βιβλιοπωλείο υπάρχουν 8 διαφορετικές συσκευασίες
με στυλό μιας συγκεκριμένης μάρκας.Γράψτε αλγόριθμο που
διαβάζει την τιμή πώλησης και το πλήθος των τεμαχίων
κάθε συσκευασίας και υπολογίζει τον αύξοντα αριθμό
(1-8) της πιο συμφέρουσας.

Λύση

    Αλγόριθμος ΑΣΚ
    Διάβασε Τιμή
    Διάβασε Τεμάχια
    ΜΙΝ <-- Τιμή/Τεμάχια
    ΑΑΜΙΝ <-- 1
    Για κ από 2 μέχρι 8
         Διάβασε Τιμή
         Διάβασε Τεμάχια
         Τεμ <-- Τιμή/Τεμάχια
         Αν Τεμ < ΜΙΝ τότε
             ΜΙΝ <-- Τεμ
             ΑΑΜΙΝ <-- κ
         Τέλος_αν
    Τέλος_επανάληψης
    Αποτελέσματα  // ΑΑΜΙΝ //
    Τέλος ΑΣΚ

Σάββατο 19 Φεβρουαρίου 2011

Άσκηση : Για+φρουρός

Σε ένα πρωτάθλημα ποδοσφαίρου συμμετέχουν 16 ομάδες.
Γράψτε πρόγραμμα το οποίο:
α) διαβάζει το όνομα κάθε ομάδας και τα αποτελέσματα
     (Νίκη ή Ισοπαλία ή Ήττα) που έφερε  σε κάποιους
    αγώνες του  πρωταθλήματος (η είσοδος ολοκληρώνεται
    μόλις δοθεί ως τιμή εισόδου η λέξη 'ΤΕΛΟΣ')
β) υπολογίζει και εμφανίζει:
    * το όνομα της ομάδας με τη μεγαλύτερη βαθμολογία,
    * το όνομα της ομάδας με τις λιγότερες ισοπαλίες.
Παρατηρήσεις
* Καμιά ομάδα δεν είχε περισσότερες από 10 ισοπαλίες στους
   αγώνες της.
* Κάθε νίκη αποτιμάται με 3 βαθμούς, η ισοπαλία με 1 ενώ η
   ήττα δε δίνει κανένα βαθμό.
* Δεν απαιτείται κανένας έλεγχος εγκυρότητας των εισερχό-
   μενων δεδομένων.
* Θεωρείστε ότι κάθε ομάδα έδωσε τουλάχιστον ένα αγώνα.


Λύση

       ΠΡΟΓΡΑΜΜΑ ΠΟΔΟΣΦΑΙΡΟ
       ΜΕΤΑΒΛΗΤΕΣ
             ΑΚΕΡΑΙΕΣ: κ, Ισοπαλίες, ΜΙΝ, ΜΑΧ, Βαθμ
             ΧΑΡΑΚΤΗΡΕΣ: Απ, ΟΝ, ΟΝΜΑΧ, ΟΝΜΙΝ
       ΑΡΧΗ
             ΜΑΧ <-- -100
             ΜΙΝ <-- 11
             ΓΙΑ κ ΑΠΟ 1 ΜΕΧΡΙ 16
                  ΔΙΑΒΑΣΕ ΟΝ
                  Βαθμ <-- 0
                  Ισοπαλίες <-- 0
                  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
                         ΔΙΑΒΑΣΕ Απ
                         ΑΝ Απ < > 'ΤΕΛΟΣ' ΤΟΤΕ
                             ΑΝ Απ = 'Νίκη' ΤΟΤΕ
                                 Βαθμ <-- Βαθμ+2
                             ΑΛΛΙΩΣ
                                ΑΝ Απ = 'Ισοπαλία' ΤΟΤΕ
                                     Βαθμ <-- Βαθμ+1
                                     Ισοπαλίες <-- Ισοπαλίες+1
                                ΤΕΛΟΣ_ΑΝ
                             ΤΕΛΟΣ_ΑΝ

                         ΤΕΛΟΣ_ΑΝ                         
                  ΜΕΧΡΙΣ_ΟΤΟΥ Απ = 'ΤΕΛΟΣ'
                  ΑΝ Βαθμ > ΜΑΧ ΤΟΤΕ
                        ΜΑΧ <-- Βαθμ
                        ΟΝΜΑΧ <-- ΟΝ
                  ΤΕΛΟΣ_ΑΝ
                  ΑΝ Ισοπαλίες < ΜΙΝ ΤΟΤΕ
                        ΜΙΝ <-- Ισοπαλίες
                        ΟΝΜΙΝ <-- ΟΝ
                  ΤΕΛΟΣ_ΑΝ
             ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
             ΓΡΑΨΕ ΟΝΜΑΧ, ΟΝΜΙΝ
       ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ


Παρασκευή 18 Φεβρουαρίου 2011

Άσκηση : επεξεργασία δοσμένου πλήθους δεδομένων (Για..από..μέχρι)

Γράψτε πρόγραμμα το οποίο:
α) διαβάζει τα ονόματα και το φύλο των 25 μαθητών
     μιας τάξης,
β) υπολογίζει και εμφανίζει:
    * πόσοι μαθητές έχουν το όνομα 'ΝΙΚΟΣ',
    * το ποσοστό (%) επί του συνόλου των μαθητριών
       των κοριτσιών που έχουν το όνομα 'ΜΑΡΙΑ',
    * το πλήθος των αγοριών της τάξης.

Παρατήρηση
Πρέπει να διασφαλίζεται η εγκυρότητα των εισερχόμενων
δεδομένων και συγκεκριμένα ότι:
* Τα ονόματα πρέπει να είναι διάφορα του κενού διαστήματος.
* Το φύλο προσδιορίζεται με τις τιμές Α - αγόρι, Κ - κορίτσι.

Λύση

      ΠΡΟΓΡΑΜΜΑ ΑΣΚ
      ΜΕΤΑΒΛΗΤΕΣ
            ΑΚΕΡΑΙΕΣ: Αγόρια, Κορίτσια, Νικ, Μαρ, κ
            ΠΡΑΓΜΑΤΙΚΕΣ: ΠΟΣ
            ΧΑΡΑΚΤΗΡΕΣ: ΟΝ, Φύλο
      ΑΡΧΗ
             Αγόρια <-- 0
             Κορίτσια <-- 0
             Μαρ <-- 0
             Νικ <-- 0
             ΓΙΑ κ ΑΠΟ 1 ΜΕΧΡΙ 25
                   ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
                      ΔΙΑΒΑΣΕ ΟΝ
                   ΜΕΧΡΙΣ_ΟΤΟΥ ΟΝ < > '  '
                   ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
                      ΔΙΑΒΑΣΕ Φύλο
                   ΜΕΧΡΙΣ_ΟΤΟΥ (Φύλο =  'Α') Ή (Φύλο = 'Κ')
                   ΑΝ Φύλο = 'Α' ΤΟΤΕ
                         Αγόρια <-- Αγόρια+1
                         ΑΝ ΟΝ = 'ΝΙΚΟΣ' ΤΟΤΕ
                               Νικ <-- Νικ+1
                         ΤΕΛΟΣ_ΑΝ
                   ΑΛΛΙΩΣ
                          Κορίτσια <-- Κορίτσια+1
                          ΑΝ ΟΝ = 'ΜΑΡΙΑ' ΤΟΤΕ
                                Μαρ <-- Μαρ+1
                          ΤΕΛΟΣ_ΑΝ
                   ΤΕΛΟΣ_ΑΝ
             ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
             ΓΡΑΨΕ Αγόρια, Νικ
             ΑΝ Κορίτσια > 0 ΤΟΤΕ
                   ΠΟΣ <-- 100*Μαρ/Κορίτσια
                   ΓΡΑΨΕ ΠΟΣ
             ΑΛΛΙΩΣ
                   ΓΡΑΨΕ 'Δεν υπάρχει καμία μαθήτρια!'
             ΤΕΛΟΣ_ΑΝ
      ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Πέμπτη 17 Φεβρουαρίου 2011

Ερωτήσεις σωστού λάθους

Ποιές από τις παρακάτω προτάσεις είναι σωστές (Σ) και ποιές
λάθος (Λ)
1. Η καθοριστικότητα είναι ένα από τα αλγοριθμικά κριτήρια.
2. Η εντολή GOTO προκαλεί την απότομη μεταβολή της ροής
    εκτέλεσης των εντολών ενός προγράμματος.
3. Μια μεταβλητή που δεν έχει πάρει τιμή μέσω μιας εντολής
    εκχώρησης ή ΔΙΑΒΑΣΕ, έχει απροσδιόριστο περιεχόμενο.
4. Οι δυσδιάστατοι πίνακες δεν μπορούν να δοθούν ως
    παράμετροι σε μια διαδικασία.
5. Όλα τα υποπρογράμματα ενεργοποιούνται με τον ίδιο τρόπο.


Απάντηση

1. Σ
2. Σ
3. Σ
4. Λ
5. Λ



Πρόγραμμα+συνάρτηση

α) Γράψτε συνάρτηση ΗΛΙΚΙΑ η οποία δέχεται ως
    παράμετρο το έτος γέννησης ενός ανθρώπου και
    υπολογίζει την ηλικία του.
β) Γράψτε πρόγραμμα που :
    * διαβάζει το έτος γέννησης 130 ανθρώπων,
    * καλώντας τη συνάρτηση ΗΛΙΚΙΑ υπολογίζει την
       ηλικία τους,
    * εμφανίζει την ηλικία αυτή στην οθόνη.
    * υπολογίζει και εμφανίζει πόσοι άνθρωποι έχουν
       ηλικία τουλάχιστον 15 έτη.

Λύση

          ΠΡΟΓΡΑΜΜΑ ΑΝΘΡΩΠΟΙ
          ΜΕΤΑΒΛΗΤΕΣ
                ΑΚΕΡΑΙΕΣ: κ, ΕΤΟΣ, Ηλ, φ
          ΑΡΧΗ
                φ <-- 0
                ΓΙΑ κ ΑΠΟ 1 ΜΕΧΡΙ 130
                       ΔΙΑΒΑΣΕ ΕΤΟΣ
                       Ηλ <-- ΗΛΙΚΙΑ(ΕΤΟΣ)
                       ΓΡΑΨΕ Ηλ
                       ΑΝ Ηλ >= 15 ΤΟΤΕ
                            φ <-- φ+1
                       ΤΕΛΟΣ_ΑΝ
                ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
                ΓΡΑΨΕ φ
          ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

          ΣΥΝΑΡΤΗΣΗ ΗΛΙΚΙΑ(ΕΤΟΣ) : ΑΚΕΡΑΙΑ
          ΜΕΤΑΒΛΗΤΕΣ
                 ΑΚΕΡΑΙΕΣ: ΕΤΟΣ
          ΑΡΧΗ
                 ΗΛΙΚΙΑ <-- 2011-ΕΤΟΣ
          ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

Τετάρτη 16 Φεβρουαρίου 2011

Άσκηση : Υπολογισμός παράστασης

Γράψτε αλγόριθμο που :
α) διαβάζει έναν ακέραιο Α τέτοιο ώστε 1 <= Α <= 213,
β) διαβάζει έναν ακέραιο Β τέτοιο ώστε 2 <= Β <= 214 και
    Β > Α,
γ) υπολογίζει το αποτέλεσμα της παράστασης
     (Α+2Β)+(2Α+3Β)+....+(100Α+101Β)

Λύση

    Αλγόριθμος Παρ
    Αρχή_επανάληψης
         Διάβασε Α
    Μέχρις_ότου (Α >= 1) ΚΑΙ (Α <= 213)
    Αρχή_επανάληψης
         Διάβασε Β
    Μέχρις_ότου (Β >= 1) ΚΑΙ (Β <= 214) ΚΑΙ
                           (Β > Α)
    σ <-- 0
    Για κ από 1 μέχρι 100
        σ <-- σ+(Α*κ+Β*(κ+1))
    Τέλος_επανάληψης
    Αποτελέσματα //σ //
    Τέλος Παρ

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

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


Λύση

    Αλγόριθμος Εργάτης
    Μικ <-- 100
    φ <-- 0
    Για κ από 1 μέχρι 16
         Αθρ <-- 0
         Για λ από 1 μέχρι 6
               Αρχή_επανάληψης
                   Διάβασε Ω
               Μέχρις_ότου (Ω > 0) ΚΑΙ (Ω <= 12)
               Αθρ <-- Αθρ+Ω
               Αν Ω < Μικ τότε
                    Μικ <-- Ω
                    ΕΜικ <-- κ
                    ΗΜικ <-- λ
               Τέλος_αν
               Αν  Ω > 9 τότε
                    φ <-- φ+1
               Τέλος_αν
         Τέλος_επανάληψης
         ΜΟΕ <-- Αθρ/6
         Εμφάνισε ΜΟΕ
    Τέλος_επανάληψης
    Εμφάνισε  Μικ, ΕΜικ, ΗΜικ, φ
    Τέλος Εργάτης
 


 
     
 
      

Άσκηση : φρουρός

Γράψτε αλγόριθμο που
α) διαβάζει τη μάρκα, το μοντέλο, την ανάλυση σε Mpixels
     και την τιμή  πώλησης κάποιων ψηφιακών φωτογραφικών
    μηχανών (η είσοδος δεδομένων ολοκληρώνεται μόλις
    δοθέι ως μάρκα το κενό διάστημα),
β) υπολογίζει και εμφανίζει:
    * τη μάρκα, το μοντέλο και την ανάλυση της ακριβότερης
       μηχανής,
    * τη μέση τιμή πώλησης των μηχανών,
    * το ποσοστό (%) των μηχανών που είχαν ανάλυση
       μεγαλύτερη από 10 Mpixels και στοίχιζαν το πολύ
       250 ευρώ.

Λύση


       Αλγόριθμος Μηχ
       ΜΑΧ <-- -1
       σ <-- 0
       Πληθ <-- 0
       Φ <-- 0
       Αρχή_επανάληψης
            Διάβασε Μάρκα
            Αν Μάρκα < > '  ' τότε
                 Διάβασε Μοντέλο
                 Διάβασε Ανάλυση, Τιμή
                 Πληθ <-- Πληθ+1
                 σ <-- σ+Τιμή
                 Αν Τιμή > ΜΑΧ τότε

                      ΜΑΧ <-- Τιμή
                      ΜαρΜΑΧ <-- Μάρκα
                      ΜονΜΑΧ <-- Μοντέλο
                      ΑναΜΑΧ <-- Ανάλυση
                 Τέλος_αν
                 Αν (Ανάλυση > 10) ΚΑΙ (Τιμή <= 250) τότε
                       Φ <-- Φ+1
                 Τέλος_αν

           Τέλος_αν
       Μέχρις_ότου Μάρκα = '  '
       Αν Πληθ > 0 τότε
            ΜΟ <-- σ/Πληθ
            ΠΟΣ <-- 100*Φ/Πληθ
            Εμφάνισε ΜαρΜΑΧ, ΜονΜΑΧ, ΑναΜΑΧ
            Εμφάνισε ΜΟ, ΠΟΣ

       αλλιώς
            Εμφάνισε 'Δε δόθηκαν καθόλου δεδομένα'
       Τέλος_αν
       Τέλος Μηχ

Άσκηση : φρουρός

Γράψτε αλγόριθμο που
α) διαβάζει τη μάρκα, το μοντέλο, την ανάλυση σε Mpixels
     και την τιμή  πώλησης κάποιων ψηφιακών φωτογραφικών
    μηχανών (η είσοδος δεδομένων ολοκληρώνεται μόλις
    δοθέι ως μάρκα το κενό διάστημα),
β) υπολογίζει και εμφανίζει:
    * τη μάρκα, το μοντέλο και την ανάλυση της ακριβότερης
       μηχανής,
    * τη μέση τιμή πώλησης των μηχανών,
    * το ποσοστό (%) των μηχανών που είχαν ανάλυση
       μεγαλύτερη από 10 Mpixels και στοίχιζαν το πολύ
       250 ευρώ.


Λύση




       Αλγόριθμος Μηχ
       ΜΑΧ <-- -1
       σ <-- 0
       Πληθ <-- 0
       Φ <-- 0
       Αρχή_επανάληψης
            Διάβασε Μάρκα
            Αν Μάρκα < > '  ' τότε
                 Διάβασε Μοντέλο
                 Διάβασε Ανάλυση, Τιμή
                 Πληθ <-- Πληθ+1
                 σ <-- σ+Τιμή
                 Αν Τιμή > ΜΑΧ τότε
                      ΜΑΧ <-- Τιμή
                      ΜαρΜΑΧ <-- Μάρκα
                      ΜονΜΑΧ <-- Μοντέλο
                      ΑναΜΑΧ <-- Ανάλυση
                 Τέλος_αν
                 Αν (Ανάλυση > 10) ΚΑΙ (Τιμή <= 250) τότε
                       Φ <-- Φ+1
                 Τέλος_αν
           Τέλος_αν
       Μέχρις_ότου Μάρκα = '  '
       Αν Πληθ > 0 τότε
            ΜΟ <-- σ/Πληθ
            ΠΟΣ <-- 100*Φ/Πληθ
            Εμφάνισε ΜαρΜΑΧ, ΜονΜΑΧ, ΑναΜΑΧ
            Εμφάνισε ΜΟ, ΠΟΣ
       αλλιώς
            Εμφάνισε 'Δε δόθηκαν καθόλου δεδομένα'
       Τέλος_αν
       Τέλος Μηχ

Τρίτη 15 Φεβρουαρίου 2011

Ερωτήσεις σωστού λάθους

Ποιές από τις παρακάτω προτάσεις είναι σωστές (Σ) και
ποιές λάθος (Λ)
1. Μια συνάρτηση έχει υποχρεωτικά παραμέτρους.
2. Το όνομα μιας διαδικασίας υπόκειται στους κανόνες
    ονοματολογίας των μεταβλητών και των συμβολικών
    σταθερών.
3. Ο μικρότερος μονοδιάστατος πίνακας έχει 1 στοιχείο.
4. Μια κατάσταση που χρήζει αντιμετώπισης αλλά έχει
    προφανή λύση δεν αποτελεί πρόβλημα.
5. Όταν μια ομάδα εντολών δεν ολοκληρώνεται μετά από
    ένα πεπερασμένο αριθμό βημάτων, αποκαλείται
    υπολογιστική διαδικασία.


Απάντηση

1. Λ
2. Σ
3. Λ
4. Σ
5. Σ

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

Γράψτε αλγόριθμο που διαβάζει την οικογενειακή κατάσταση
(Α - άγαμος, Δ - διαζευμένος, Ε - έγγαμος, Χ - χήρος) και την
ηλικία 118 ανδρών και υπολογίζει:
α) το ποσοστό (%) των έγγαμων,
β) το ποσοστό (%) επί του συνόλου των άγαμων που έχουν
    ηλικία μεγαλύτερη από 40 έτη,
γ) το μέσο όρο ηλικίας των διαζευμένων,
δ) το πλήθος των χήρων.

Παρατήρηση 
Ο αλγόριθμος πρέπει να διασφαλίζει ότι:
* οι ηλικίες είναι θετικοί αριθμοί που δεν υπερβαίνουν το 95,
* η τιμή εισόδου για την οικογενειακή κατάσταση είναι ένας
    από τους χαρακτήρες Α, Δ, Ε και Χ.

Λύση


      Αλγόριθμος Ανδρες
      Εγγ <-- 0
      Χηρ <-- 0
      Αγαμ <-- 0
      σ <-- 0
      Διαζ <-- 0
      Φ40 <-- 0
      Για κ από 1 μέχρι 118
            Αρχή_επανάληψης
                  Διάβασε Κατ
            Μέχρις_ότου (Κατ = 'Α') Ή (Κατ = 'Δ') Ή
                                  (Κατ = 'Ε') Ή (Κατ = 'Χ')
            Αρχή_επανάληψης
                  Διάβασε Ηλ
            Μέχρις_ότου (Ηλ > 0 ) ΚΑΙ (Ηλ <= 95) 
            Αν Κατ = 'Α' τότε
                  Αγαμ <-- Αγαμ+1
                  Αν Ηλ > 40 τότε
                       Φ40 <-- Φ40+1
                  Τέλος_αν
            αλλιώς_αν Κατ = 'Ε' τότε
                  Εγγ <-- Εγγ+1
            αλλιώς_αν Κατ = 'Δ' τότε
                  σ <-- σ+Ηλ
                  Διαζ <-- Διαζ+1
            αλλιώς     ! Χ
                  Χηρ <-- Χηρ+1
            Τέλος_αν
      Τέλος_επανάληψης
      ΠΟΣΕγγ <-- 100*Εγγ/118
      Εμφάνισε ΠΟΣΕγγ, Χηρ
      Αν Διαζ > 0 τότε
           ΜΟ <-- σ/Διαζ
           Εμφάνισε ΜΟ
      αλλιώς
           Εμφάνισε 'Δεν υπάρχει κανένας διαζευμένος'
      Τέλος_αν
      Αν Αγαμ > 0 τότε
           ΠΟΣΑγαμ <-- 100*Φ40/Αγαμ
           Εμφάνισε ΠΟΣΑγαμ
      αλλιώς
           Εμφάνισε 'Δεν υπάρχει κανένας άγαμος'
      Τέλος_αν
      Τέλος Ανδρες


 

 
   

Δευτέρα 14 Φεβρουαρίου 2011

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

Γράψτε αλγόριθμο που:
α) διαβάζει 150 άρτιους θετικούς ακεραίους και
    τους καταχωρεί στον ακέραιο πίνακα Ψ[10, 5, 3],
β) υπολογίζει :
    * τη μικρότερη τιμή,
    * το μέσο όρο όλου του πίνακα,
    * το ποσοστό (%) των στοιχείων του που είναι
       μικρότερα από το 88.

Λύση

     Αλγόριθμος ΑΣΚ
     Για κ από 1 μέχρι 10
        Για λ από 1 μέχρι 5
             Για μ από 1 μέχρι 3
                 Αρχή_επανάληψης
                      Διάβασε Ψ[κ, λ, μ]
                 Μέχρις_ότου (Ψ[κ, λ, μ] > 0) ΚΑΙ
                           (Ψ[κ, λ, μ] mod 2 = 0)
             Τέλος_επανάληψης
        Τέλος_επανάληψης
     Τέλος_επανάληψης
      Μικ <-- Ψ[1, 1, 1]
      σ <-- 0
      φ <-- 0
      Για κ από 1 μέχρι 10
        Για λ από 1 μέχρι 5
             Για μ από 1 μέχρι 3
                Αν Ψ[κ, λ, μ] < Μικ τότε
                     Μικ <-- Ψ[κ, λ, μ]
                Τέλος_αν
                σ <-- σ+Ψ[κ, λ, μ]
                Αν Ψ[κ, λ, μ] < 88 τότε
                     φ <-- φ+1
                Τέλος_αν
             Τέλος_επανάληψης
        Τέλος_επανάληψης
     Τέλος_επανάληψης
     ΜΟ <-- σ/150
     ΠΟΣ <-- 100*φ/150
     Εμφάνισε Μικ, ΜΟ, ΠΟΣ
     Τέλος ΑΣΚ

Βήμα-βήμα εκτέλεση με υποπρογράμματα

Ποιό είναι το αποτέλεσμα του παρακάτω προγράμματος
   ΠΡΟΓΡΑΜΜΑ ΑΣΚ
   ΜΕΤΑΒΛΗΤΕΣ
       ΑΚΕΡΑΙΕΣ: Κ, Λ
       ΛΟΓΙΚΕΣ : Χ
   ΑΡΧΗ
        ΓΙΑ Κ ΑΠΟ 4 ΜΕΧΡΙ 19 ΜΕ_ΒΗΜΑ 7
             Λ <-- ΒΒ(Κ)
             ΓΡΑΨΕ Λ
             ΚΑΛΕΣΕ ΔΔ(Κ, Λ, Χ)
             ΓΡΑΨΕ Κ. Λ. Χ
        ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
        ΓΡΑΨΕ  Κ > 24, ΟΧΙ(Χ)
   ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

   ΣΥΝΑΡΤΗΣΗ ΒΒ(Ρ) : ΑΚΕΡΑΙΑ
   ΜΕΤΑΒΛΗΤΕΣ
         ΑΚΕΡΑΙΕΣ: Ρ, Β
   ΑΡΧΗ
         Β <-- Ρ+2
         ΑΝ Β < 7 ΤΟΤΕ
               ΒΒ <-- 2*Β
         ΑΛΛΙΩΣ_ΑΝ Β < 14 ΤΟΤΕ
               ΒΒ <-- Β+1
         ΑΛΛΙΩΣ
               ΒΒ <-- Β
         ΤΕΛΟΣ_ΑΝ
   ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

   ΔΙΑΔΙΚΑΣΙΑ ΔΔ(α, β, γ)
   ΜΕΤΑΒΛΗΤΕΣ
        ΑΚΕΡΑΙΕΣ: α, β
        ΛΟΓΙΚΕΣ: γ
   ΑΡΧΗ
         β <-- α+6
         ΑΝ β MOD 2 = 0 ΤΟΤΕ
               γ <-- ΑΛΗΘΗΣ
         ΑΛΛΙΩΣ
               γ  <-- ΨΕΥΔΗΣ
         ΤΕΛΟΣ_ΑΝ
   ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

Λύση

      Κ = 4
            Κλήση της ΒΒ με Ρ = Κ = 4
                Β = Ρ+2 = 4+2 = 6
                Αφού Β < 7 = 6 < 7 = ΑΛΗΘΗΣ έχουμε:
                     ΒΒ = 2*Β = 2*6 = 12
            Λ = ΒΒ(Κ) = 12
            Η ΓΡΑΨΕ εμφανίζει :     12
           
            Κλήση της ΔΔ με α = Κ = 4, β = Λ = 12,
            γ = Χ = απροσδιόριστο

                 β =  α+6 =  4+6 = 10
                Αφού β MOD 2 = 10  MOD 2 = 0 έχουμε:
                       γ = ΑΛΗΘΗΣ
            Μόλις ολοκληρωθεί η ΔΔ έχουμε:
                        Λ = β = 10
                        Χ = γ = ΑΛΗΘΗΣ
             Η ΓΡΑΨΕ εμφανίζει:                 
                   4             10            ΑΛΗΘΗΣ
      Κ = 11
            Κλήση της ΒΒ με Ρ = Κ = 11
                Β = Ρ+2 = 11+2 = 13
                Αφού Β < 7 = 13 < 7 = ΨΕΥΔΗΣ,
                          Β < 14 = 13 < 14 = ΑΛΗΘΗΣ
                έχουμε:
                     ΒΒ = Β+1 = 13+1 = 14
            Λ = ΒΒ(Κ) = 14
            Η ΓΡΑΨΕ εμφανίζει :     14
           
            Κλήση της ΔΔ με α = Κ = 11, β = Λ = 14,
            γ = Χ = ΑΛΗΘΗΣ

                 β =  α+6 =  11+6 = 17
                Αφού β MOD 2 = 17 MOD 2 = 1 έχουμε:
                       γ = ΨΕΥΔΗΣ
            Μόλις ολοκληρωθεί η ΔΔ έχουμε:
                        Λ = β = 17

                        Χ = γ = ΨΕΥΔΗΣ
             Η ΓΡΑΨΕ εμφανίζει:                 
                   11             17            ΨΕΥΔΗΣ
      Κ = 18
            Κλήση της ΒΒ με Ρ = Κ = 18
                Β = Ρ+2 = 18+2 = 20
                Αφού Β < 7 = 20 < 7 = ΨΕΥΔΗΣ,
                          Β < 14 = 20 < 14 = ΨΕΥΔΗΣ
                έχουμε:
                     ΒΒ = Β = 20

            Λ = ΒΒ(Κ) = 20
            Η ΓΡΑΨΕ εμφανίζει :     20
           
            Κλήση της ΔΔ με α = Κ = 18, β = Λ = 20,
            γ = Χ = ΨΕΥΔΗΣ


                 β =  α+6 =  18+6 =24
                Αφού β MOD 2 = 24 MOD 2 = 0 έχουμε:
                       γ = ΑΛΗΘΗΣ

            Μόλις ολοκληρωθεί η ΔΔ έχουμε:
                        Λ = β = 24

                        Χ = γ = ΑΛΗΘΗΣ
             Η ΓΡΑΨΕ εμφανίζει:                 
                   18             24            ΑΛΗΘΗΣ
      Η ΓΙΑ τερματίζεται με Κ = 25.
      Αφού Κ > 24 = 25 > 24 = ΑΛΗΘΗΣ και ΟΧΙ(Χ) =
      ΟΧΙ(ΑΛΗΘΗΣ) = ΨΕΥΔΗΣ, η ΓΡΑΨΕ εμφανίζει:
             ΑΛΗΘΗΣ      ΨΕΥΔΗΣ
 

 

    

                


Παρασκευή 11 Φεβρουαρίου 2011

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

Γράψτε διαδικασία που δέχεται ως παράμετρο έναν ακέραιο
πίνακα ΒΑΘΜ[27, 14] που περιέχει τους βαθμούς τριμήνου
των 27 μαθητών μιας τάξης σε 14 μαθήματα, και υπολογίζει
πόσα 16άρια, 17άρια, 18άρια, 19άρια και 20άρια έχει
κάθε μαθητής.

Λύση

      ΔΙΑΔΙΚΑΣΙΑ Τριμ(ΒΑΘΜ, Αποτ)
      ΜΕΤΑΒΛΗΤΕΣ
              ΑΚΕΡΑΙΕΣ: ΒΑΘΜ[27, 14], κ, λ, Αποτ[27, 5], β, θ
      ΑΡΧΗ
              ΓΙΑ κ ΑΠΟ 1 ΜΕΧΡΙ 27
                   ΓΙΑ λ ΑΠΟ 1 ΜΕΧΡΙ 5
                          Αποτ[κ, λ] <-- 0
                   ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
              ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
              ΓΙΑ κ ΑΠΟ ΜΕΧΡΙ 27
                   ΓΙΑ λ ΑΠΟ ΜΕΧΡΙ 14
                          β <-- ΒΑΘΜ[κ, λ]
                          ΑΝ (β >= 16) ΚΑΙ (β <= 20) ΤΟΤΕ
                                 θ <-- β-15
                                 Αποτ[κ, θ] <-- Αποτ[κ, θ]+1
                          ΤΕΛΟΣ_ΑΝ
                   ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
              ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
      ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

Πέμπτη 10 Φεβρουαρίου 2011

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

Δίνονται κάποιες αριθμημένες (1-6) επεξεργασίες δεδομένων
που υλοποιούνται με τη βοήθεια συναρτήσεων.
     1. Υπολογισμός του μεγαλύτερου μισθού σε μια εταιρεία.
     2. Έλεγχος αν ένας πίνακας έχει όλα τα στοιχεία του θετικά.
     3. Υπολογισμός του ποσοστού (%) της έκπτωσης που 
         πραγματοποιήθηκε κατά την αγορά κάποιου προϊόντος.
     4. Υπολογισμός του συνολικού πλήθους των μελών μιας 
         οικογένειας.
     5. Έλεγχος αν δύο μαθητές έχουν το ίδιο ύψος ή όχι.
     6. Μετατροπή ενός μικρού γράμματος της ελληνικής
         αλφαβήτας σε κεφαλαίο.
Δίνονται και οι παρακάτω τύποι συναρτήσεων:
     α. ΑΚΕΡΑΙΑ
     β. ΠΡΑΓΜΑΤΙΚΗ
     γ. ΛΟΓΙΚΗ
     δ. ΧΑΡΑΚΤΗΡΑΣ
Γράψτε τον αριθμό της συνάρτησης (1-6) και δίπλα το γράμμα
(α-δ) του τύπου τον οποίο πρέπει να έχει.

Απάντηση

1. β
2. γ
3. β
4. α
5. γ
6. δ

Ερωτήσεις σωστού λάθους

Ποιές από τις παρακάτω προτάσεις είναι σωστές και ποιές
λάθος.
1. Η παράμετρος είναι μια ιδιαίτερη περίπτωση μεταβλητής.
2. Σε μια μεταβλητή πραγματικού τύπου μπορούμε να
    εκχωρήσουμε και το αποτέλεσμα μιας ακέραιας
    αριθμητικής παράστασης.
3. Μια συνάρτηση μπορεί να επιτελέσει οποιαδήποτε
    λειτουργία.
4. Ένα επιλύσιμο πρόβλημα μπορεί να ανήκει και στην
    κατηγορία των προβλημάτων βελτιστοποίησης.
5. Ένας αλγόριθμος μπορεί υπό προϋποθέσεις να μην
    τελειώνει ποτέ.



Απάντηση

1. Σ
2. Σ
3. Λ
4. Σ
5. Λ

Τετάρτη 9 Φεβρουαρίου 2011

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

Γράψτε αλγόριθμο που, με δεδομένο τον πραγματικό πίνακα
Α[50, 30], αντιγράφει τα στοιχεία των άρτιων γραμμών του
πίνακα αυτού στον πραγματικό πίνακα Β[25, 30] και τα
στοιχεία των περιττών γραμμών του Α στον πραγματικό
πίνακα Γ[25, 30].

Λύση

      Αλγόριθμος Διαχ
      Δεδομένα // Α //
      μ <-- 1
      ξ <-- 1
      Για κ από 1 μέχρι 50
          Για λ από 1 μέχρι 30
              Αν κ mod 2 = 0 τότε
                    Β[μ, λ] <-- Α[κ, λ]
                    Αν λ = 30 τότε
                         μ <-- μ+1
                    Τέλος_αν
              αλλιώς
                    Γ[ξ, λ] <-- Α[κ, λ]
                    Αν λ = 30 τότε
                         ξ <-- ξ+1
                    Τέλος_αν
              Τέλος_αν
          Τέλος_επανάληψης
      Τέλος_επανάληψης
      Αποτελέσματα // Β, Γ //
      Τέλος Διαχ  

Τρίτη 8 Φεβρουαρίου 2011

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

Διορθώστε τις παρακάτω προτάσεις και επαναδιατυπώστε τις
με σωστό τρόπο
1. Μερικές γλώσσες προγραμματισμού αποκαλούν ορίσματα
    τις πραγματικές παραμέτρους.
2. Η εμβέλεια των ονομάτων μιας διαδικασίας είναι καθολική.
3. Τα λογικά λάθη εντοπίζονται κατά τη μεταγλώττιση του
    προγράμματος.
4. Το αποτέλεσμα της μεταγλώττισης του πηγαίου προγράμματος
    είναι το εκτελέσιμο πρόγραμμα.
5. Η σειριακή αναζήτηση αποκαλείται και δίγραμμη μέθοδος.



Απάντηση

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

Αντιστοίχηση

Δίνονται οι παρακάτω προτάσεις
     1. μεταβλητή
     2. περατότητα
     3. συμβολική σταθερά
     4. αποτελεσματικότητα
     5. είσοδος
     6. ΓΡΑΨΕ
     7. ΛΟΓΙΚΕΣ
     8. έξοδος
και :
     α. στοιχείο γλώσσας προγραμματισμού
     β. αλγοριθμικό κριτήριο
Γράψτε τον αριθμό  (1-5) και δίπλα το γράμμα στο οποίο αντιστοιχεί.

Λύση

    1. α
    2. β
    3. α
    4. β
    5. β
    6. α
    7. α
    8. β

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

Γράψτε διαδικασία που δέχεται ως παράμετρο:
* έναν πραγματικό πίνακα Β[12, 8],
* μια λογική τιμή Μ
και διαχωρίζει :
* οριζόντια τον πίνακα Β στους πραγματικούς πίνακες
   Γ[5, 8] και  Δ[7, 8], αν Μ = ΑΛΗΘΗΣ
* κατακόρυφα τον πίνακα Β στους πραγματικούς πίνακες
   Ζ[12, 5] και Η[12, 3], αν Μ = ΨΕΥΔΗΣ

Λύση

      ΔΙΑΔΙΚΑΣΙΑ ΔΙΑΧ(Β, Μ, Γ, Δ, Ζ, Η)
      ΜΕΤΑΒΛΗΤΕΣ
           ΑΚΕΡΑΙΕΣ: κ, λ
           ΠΡΑΓΜΑΤΙΚΕΣ: Β[12, 8], Γ[5, 8],  Δ[7, 8],
                                          Ζ[12, 5], Η[12, 3]
           ΛΟΓΙΚΕΣ: Μ
      ΑΡΧΗ
           ΑΝ Μ = ΑΛΗΘΗΣ ΤΟΤΕ
                 ΓΙΑ κ ΑΠΟ 1 ΜΕΧΡΙ 5
                       ΓΙΑ λ ΑΠΟ 1 ΜΕΧΡΙ 8
                             Γ[κ, λ] <-- Β[κ, λ]
                       ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
                 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
                 ΓΙΑ κ ΑΠΟ 1 ΜΕΧΡΙ 7
                       ΓΙΑ λ ΑΠΟ 1 ΜΕΧΡΙ 8
                             Δ[κ, λ] <-- Β[κ+5, λ]
                       ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

                 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
           ΑΛΛΙΩΣ
                  ΓΙΑ κ ΑΠΟ 1 ΜΕΧΡΙ 12
                       ΓΙΑ λ ΑΠΟ 1 ΜΕΧΡΙ 5
                             Ζ[κ, λ] <-- Β[κ, λ]
                       ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

                 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
                 ΓΙΑ κ ΑΠΟ 1 ΜΕΧΡΙ 12
                       ΓΙΑ λ ΑΠΟ 1 ΜΕΧΡΙ 3
                             Η[κ, λ] <-- Β[κ, λ+5]
                       ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

                 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
           ΤΕΛΟΣ_ΑΝ
      ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

Έλεγχος ιδιότητας σε δυσδιάστατο πίνακα

Γράψτε αλγόριθμο που ελέγχει αν όλα τα στοιχεία του
ακέραιου πίνακα Χ[6, 4] είναι θετικά και εμφανίζει
κατάλληλο ενημερωτικό μήνυμα.

Λύση

    α' τρόπος

      Αλγόριθμος Ιδιότητα
      Δεδομένα // Χ //
      Φ <-- 0
      Για κ από 1 μέχρι 6
          Για λ από 1 μέχρι 4
                Αν Χ[κ, λ] > 0 τότε
                     Φ <-- Φ+1
                Τέλος_αν
          Τέλος_επανάληψης
      Τέλος_επανάληψης
      Αν Φ = 24 τότε
           Εμφάνισε 'Ολα τα στοιχεία είναι θετικά'
      αλλιώς
           Εμφάνισε 'Δεν είναι όλα τα στοιχεία θετικά'
      Τέλος_αν
      Τέλος Ιδιότητα

    β' τρόπος

      Αλγόριθμος Ιδιότητα
      Δεδομένα // Χ //
      Ελ <-- Αληθής
      κ <-- 1
      Όσο (κ <= 6) ΚΑΙ (Ελ = Αληθής) επανάλαβε
           λ <-- 1
           Όσο (λ <= 4) ΚΑΙ (Ελ = Αληθής) επανάλαβε
                 Αν Χ[κ, λ] <= 0 τότε
                      Ελ <-- Ψευδής
                 αλλιώς
                      λ <-- λ+1
                 Τέλος_αν
          Τέλος_επανάληψης
          Αν Ελ = Αληθής τότε
                 κ<-- κ+1
          Τέλος_αν
      Τέλος_επανάληψης
      Αν Ελ = Αληθής τότε
           Εμφάνισε 'Ολα τα στοιχεία είναι θετικά'
      αλλιώς
           Εμφάνισε 'Δεν είναι όλα τα στοιχεία θετικά'
      Τέλος_αν
      Τέλος Ιδιότητα

 

Δευτέρα 7 Φεβρουαρίου 2011

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

Μετατρέψτε την παρακάτω συνάρτηση σε διαδικασία
    ΣΥΝΑΡΤΗΣΗ Φ(Α, Β) : ΠΡΑΓΜΑΤΙΚΗ
    ΜΕΤΑΒΛΗΤΕΣ
         ΑΚΕΡΑΙΕΣ: Α, Β
    ΑΡΧΗ
          Α <-- Α+1
          Β <-- Β*2
          Φ <-- Α^Β
    ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

Λύση

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

Κυριακή 6 Φεβρουαρίου 2011

Μετατροπές

Ξαναγράψτε το παρακάτω σύνολο εντολών
      Για κ από 1 μέχρι 76
          Για μ από 78 μέχρι 54 με_βήμα -3
               Αν κ+μ > 50 τότε
                     λ <-- 8
                     Όσο λ <= 99 επανάλαβε
                           Εμφάνισε λ+κ-μ
                           λ <-- λ+2
                     Τέλος_επανάληψης
               αλλιώς_αν κ+μ > 45 τότε
                     λ <-- 123
                     Αρχή_επανάληψης
                          Εμφάνισε  μ^λ+κ
                          λ <-- λ-7
                     Μέχρις_ότου λ < 6
               αλλιώς
                     Εμφάνισε 2011
               Τέλος_αν
          Τέλος_επανάληψης
      Τέλος_επανάληψης
  αντικαθιστώντας:
  α) την πρώτη Για..από..μέχρι με Όσο..επανάλαβε
  β) τη δεύτερη Για..από..μέχρι με Μέχρις_ότου
  γ) την Αν..τότε..αλλιώς_αν με εντολές Αν..τότε
  δ) την Όσο..επανάλαβε με Μέχρις_ότου
  ε) τη Μέχρις_ότου με Όσο..επανάλαβε


Λύση


     κ <-- 1
     Όσο κ <= 76 επανάλαβε
          μ <-- 78
          Αρχή_επανάληψης
               Αν κ+μ > 50 τότε
                     λ <-- 8
                     Αρχή_επανάληψης
                           Εμφάνισε λ+κ-μ
                           λ <-- λ+2
                     Μέχρις_ότου λ > 99
               Τέλος_αν
               Αν (κ+μ <= 50) ΚΑΙ (κ+μ > 45)τότε
                     λ <-- 123
                     Όσο λ >= 6 επανάλαβε
                          Εμφάνισε  μ^λ+κ
                          λ <-- λ-7
                     Τέλος_επανάληψης
               Τέλος_αν
               Αν κ+μ <= 45
                     Εμφάνισε 2011
               Τέλος_αν
               μ <-- μ-3
          Μέχρις_ότου μ < 54
          κ <-- κ+1
      Τέλος_επανάληψης