Τρίτη, 29 Ιουνίου 2010

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

Γράψτε συνάρτηση που να υπολογίζει το άθροισμα:
      2+4+6+....+108
   
Λύση

      ΣΥΝΑΡΤΗΣΗ  ΑΘΡΟΙΣΜΑ : ΑΚΕΡΑΙΑ
      ΜΕΤΑΒΛΗΤΕΣ
           ΑΚΕΡΑΙΕΣ: λ, Αθρ
      ΑΡΧΗ
            Αθρ <-- 0
            ΓΙΑ λ ΑΠΟ 2 ΜΕΧΡΙ 108 ΜΕ_ΒΗΜΑ 2
                  Αθρ <-- Αθρ+λ
            ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
            ΑΘΡΟΙΣΜΑ <-- Αθρ
      ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

Δευτέρα, 28 Ιουνίου 2010

Άσκηση: βήμα-βήμα εκτέλεση με υποπρογράμματα+μετατροπές

Θεωρήστε το παρακάτω πρόγραμμα
     ΠΡΟΓΡΑΜΜΑ ΑΣΚ
     ΜΕΤΑΒΛΗΤΕΣ
         ΑΚΕΡΑΙΕΣ: μ, λ
         ΠΡΑΓΜΑΤΙΚΕΣ: ρ
     ΑΡΧΗ
          ΔΙΑΒΑΣΕ μ, λ
          ρ <-- Α_Τ(μ-λ)*1.2
          ΓΡΑΨΕ ρ
          ΚΑΛΕΣΕ Δ(μ, λ, ρ)
          ΓΡΑΨΕ ρ
     ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

     ΔΙΑΔΙΚΑΣΙΑ Δ(α, β, γ)
     ΜΕΤΑΒΛΗΤΕΣ
         ΑΚΕΡΑΙΕΣ: α, β
         ΠΡΑΓΜΑΤΙΚΕΣ: γ
     ΑΡΧΗ
          γ <-- α^β-0.3
     ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

α) Ποιά είναι η έξοδος του προγράμματος αν οι τιμές
    εισόδου είναι 2 και 1;
β) Ξαναγράψτε το πρόγραμμα χρησιμοποιώντας
    συνάρτηση αντί διαδικασίας.
γ) Ξαναγράψτε το πρόγραμμα χωρίς τη χρήση υποπρο-
    γραμμάτων.

Λύση

   α)
       μ = 2, λ = 1
       ρ = Α_Τ(μ-λ)*1.2 = Α_Τ(2-1)*1.2 = 1*1.2 = 1.2
       Η ΓΡΑΨΕ τυπώνει :      1.2
       Κλήση της Δ με

               Τυπικές       Πραγματικές      Αρχική
               παραμ.          παραμ.                 τιμή
                  α                   μ                         2
                  β                   λ                         1
                  γ                   ρ                         1.2

                  γ = α^β-0.3 = 2^1-0.3 = 2-0.3 = 1.7
      Μόλις ολοκληρωθεί η Δ έχουμε :  ρ = γ = 1.7
      Η ΓΡΑΨΕ τυπώνει :      1.7

   β)
     ΠΡΟΓΡΑΜΜΑ ΑΣΚ2
     ΜΕΤΑΒΛΗΤΕΣ
         ΑΚΕΡΑΙΕΣ: μ, λ
         ΠΡΑΓΜΑΤΙΚΕΣ: ρ
     ΑΡΧΗ
          ΔΙΑΒΑΣΕ μ, λ
          ρ <-- Α_Τ(μ-λ)*1.2
          ΓΡΑΨΕ ρ
          ρ <-- Δ(μ, λ)
          ΓΡΑΨΕ ρ
     ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

     ΣΥΝΑΡΤΗΣΗ Δ(α, β) : ΠΡΑΓΜΑΤΙΚΗ
     ΜΕΤΑΒΛΗΤΕΣ
         ΑΚΕΡΑΙΕΣ: α, β
     ΑΡΧΗ
         Δ <-- α^β-0.3
     ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

  γ)
     ΠΡΟΓΡΑΜΜΑ ΑΣΚ3
     ΜΕΤΑΒΛΗΤΕΣ
         ΑΚΕΡΑΙΕΣ: μ, λ
         ΠΡΑΓΜΑΤΙΚΕΣ: ρ
     ΑΡΧΗ
          ΔΙΑΒΑΣΕ μ, λ
          ρ <-- Α_Τ(μ-λ)*1.2
          ΓΡΑΨΕ ρ
          ρ <-- μ^λ-0.3
          ΓΡΑΨΕ ρ
     ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

     

       

Άσκηση : Κατασκευάστε τον πίνακα αλήθειας

Κατασκευάστε τον πίνακα αλήθειας της παράστασης
     (Χ ΄Η Υ) ΚΑΙ (ΟΧΙ Ζ Ή ΟΧΙ Λ)

Λύση

Για λόγους συντομίας, συμβολίζουμε με Α την τιμή
Αληθής και Ψ την τιμή Ψευδής. Επιπρόσθετα, έστω
Μ = Χ Ή Υ και Ν = ΟΧΙ Ζ Ή ΟΧΙ Λ.
Ο πίνακας αλήθειας είναι ο ακόλουθος:

Χ       Υ     Ζ        Λ       Μ       Ν         Μ ΚΑΙ Ν
Α      Α      Α       Α       Α        Ψ             Ψ
Α      Α      Α       Ψ       Α        Α             Α
Α      Α      Ψ       Α       Α        Α             Α
Α      Α      Ψ       Ψ       Α        Α             Α
Α      Ψ      Α       Α       Α        Ψ             Ψ
Α      Ψ      Α       Ψ       Α        Α             Α
Α      Ψ      Ψ       Α       Α        Α             Α
Α      Ψ      Ψ       Ψ       Α        Α             Α
Ψ      Α      Α       Α       Α        Ψ             Ψ
Ψ      Α      Α       Ψ       Α        Α             Α
Ψ      Α      Ψ       Α       Α        Α             Α
Ψ      Α      Ψ       Ψ       Α        Α             Α
Ψ      Ψ      Α       Α       Ψ        Ψ             Ψ
Ψ      Ψ      Α       Ψ       Ψ        Α             Ψ
Ψ      Ψ      Ψ       Α       Ψ        Α             Ψ
Ψ      Ψ      Ψ       Ψ       Ψ        Α             Ψ

Κυριακή, 27 Ιουνίου 2010

Άσκηση : Εκτέλεση φυσσαλίδας σε αλφαριθμητικό πίνακα

Δίνεται ο αλφαριθμητικός πίνακας Χ[6] με το ακόλουθο
περιεχόμενο:
      'δύο'    'ένα'    'τρία'    'εκατό'    'πέντε'    'χίλια'
Εκτελέστε τη μέθοδο της φυσσαλίδας (ευθείας
ανταλλαγής) κατά φθίνουσα σειρά και παρουσιάστε
το περιεχόμενο του πίνακα σε κάθε "πέρασμα"

Λύση

     i = 2 (1ο πέρασμα)
          
          'χίλια'    'δύο'     'ένα'     'τρία'      'εκατό'      'πέντε'

     i = 3 (2ο πέρασμα)

          
          'χίλια'    'τρία'     'δύο'    'ένα'      'πέντε'       'εκατό'
  
     i = 4 (3ο πέρασμα)

          
          'χίλια'    'τρία'     'πέντε'    'δύο'      'ένα'       'εκατό'
     
      i = 5 (4ο πέρασμα)    
       
          'χίλια'    'τρία'     'πέντε'    'ένα'      'δύο'        'εκατό'

      i = 6 (5ο πέρασμα)

          
         'χίλια'    'τρία'     'πέντε'    'ένα'      'εκατό'       'δύο'

Σάββατο, 26 Ιουνίου 2010

Διορθώστε τα λάθη

Ας θεωρήσουμε την παρακάτω, λανθασμένη, συνάρτηση:
    ΣΥΝΑΡΤΗΣΗ  ΑΡΧ(κ, λ) : ΠΡΑΓΜΑΤΙΚΕΣ
    ΣΤΑΘΕΡΕΣ
          μ <-- 3.2
    ΜΕΤΑΒΛΗΤΕΣ
          ΑΚΕΡΑΙΕΣ: κ
          ΠΡΑΓΜΑΤΙΚΕΣ: λ
    ΑΡΧΗ
          ΑΡΧ <-- μ
          ΑΝ λ > κ ΤΟΤΕ
              ΑΡΧ <-- ΑΡΧ+(λ-κ)
          ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣΣΥΝΑΡΤΗΣΗΣ
Διορθώστε τα λάθη και ξαναγράψτε τη συνάρτηση από
την αρχή.

Απάντηση

    ΣΥΝΑΡΤΗΣΗ  ΑΡΧ(κ, λ) : ΠΡΑΓΜΑΤΙΚΗ
    ΣΤΑΘΕΡΕΣ
          μ = 3.2
    ΜΕΤΑΒΛΗΤΕΣ
          ΑΚΕΡΑΙΕΣ: κ
          ΠΡΑΓΜΑΤΙΚΕΣ: λ, ΤΕΜΡ
    ΑΡΧΗ
          ΤΕΜΡ <-- μ
          ΑΝ λ > κ ΤΟΤΕ
              ΤΕΜΡ <-- ΤΕΜΡ+(λ-κ)
          ΤΕΛΟΣ_ΑΝ
          ΑΡΧ <-- ΤΕΜΡ
    ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
      

Μετατροπές στη φυσσαλίδα

Ας θεωρήσουμε ένα ακέραιο πίνακα Δ[Μ].Γράψτε τη μέθοδο
ευθείας ανταλλαγής (φυσσαλίδα) αντικαθιστώντας:
α) Την εξωτερική Για..από..μέχρι με Όσο
β) Την εσωτερική Για..από..μέχρι με Μέχρις_ότου
γ) Την Αντιμετάθεσε με εντολές εκχώρησης
Παρατήρηση : Η σειρά της ταξινόμησης είναι φθίνουσα.

Λύση

    i <-- 2
    Όσο i <= Μ επανάλαβε
        j <-- M
        Αρχή_επανάληψης
              Αν Δ[j-1] < Δ[j] τότε
                  TEMP <-- Δ[j-1]
                  Δ[j-1] <-- Δ[j]
                  Δ[j] <-- TEMP
              Τέλος_αν
              j <-- j-1
        Μέχρις_ότου   j < i
        i <-- i+1
    Τέλος_επανάληψης

Παρασκευή, 25 Ιουνίου 2010

Άσκηση μετατροπής Αν..τότε σε α) εμφωλευμένες Αν..τότε..αλλιώς β) Αν..τότε..αλλιώς_αν

Ξαναγράψτε με ισοδύναμο τρόπο το παρακάτω σύνολο
εντολών
     Αν μ > 5 τότε
         λ <-- μ+1
     Τέλος_αν
     Αν  (μ <=5) ΚΑΙ (μ > 2) τότε
         λ <-- μ-1
     Τέλος_αν
     Αν (μ <= 2) ΚΑΙ (μ >= 0) τότε
         λ <-- 2*μ
     Τέλος_αν
     Αν μ < 0 τότε
         λ <-- μ^2
     Τέλος_αν
χρησιμοποιώντας:
α) εμφωλευμένες Αν..τότε..αλλιώς
β) την Αν..τότε..αλλιώς_αν

Λύση

α)
     Αν μ > 5 τότε
         λ <-- μ+1
     αλλιώς
         Αν  μ > 2 τότε
              λ <-- μ-1
         αλλιώς
               Αν μ >= 0 τότε
                    λ <-- 2*μ
               αλλιώς
                    λ <-- μ^2
               Τέλος_αν
         Τέλος_αν
     Τέλος_αν


β)
     Αν μ > 5 τότε
         λ <-- μ+1
     αλλιώς_αν μ > 2 τότε
         λ <-- μ-1
     αλλιώς_αν μ >= 0 τότε
         λ <-- 2*μ

     αλλιώς
         λ <-- μ^2
     Τέλος_αν

Άσκηση : Υπολογίστε τις τιμές των παραστάσεων

Αν  κ = 21, λ = -9.2 και μ = 'τάξη', να υπολογίσετε τις
τιμές των παρακάτω παραστάσεων
    1.   ΟΧΙ(κ-λ > 30)
    2.   (μ < 'αρχή') Ή (μ > 'γράμμα')
    3.   (κ mod 22 < 23) KAI (A_T(λ)+1 > Α_Μ(λ))
    4.   ΟΧΙ(μ <= 'τάξη') ΚΑΙ ΟΧΙdiv 91 < > 0)

Λύση

    1.   ΟΧΙ(κ-λ > 30) = ΟΧΙ(21-(-9.2) > 30) =
          ΟΧΙ(30.2 > 30) = ΟΧΙ(Αληθής) = Ψευδής
    2.   (μ < 'αρχή') Ή (μ > 'γράμμα') =
          ('τάξη' < 'αρχή')  Ή ('τάξη' > 'γράμμα') =
          Ψευδής Ή Αληθής = Αληθής
    3.   (κ mod 22 < 23) KAI (A_T(λ)+1 > Α_Μ(λ)) =
          (21 mod 22 < 23) KAI (A_T(-9.2)+1 > Α_Μ(9.2)) =
          (21 < 23) ΚΑΙ (9.2+1 > 9) = (21 < 23) ΚΑΙ (10.2 > 9) =
          Αληθής ΚΑΙ Αληθής = Αληθής
    4.   ΟΧΙ(μ <= 'τάξη') ΚΑΙ ΟΧΙdiv 91 < > 0) =
          ΟΧΙ('τάξη' <= 'τάξη') ΚΑΙ ΟΧΙ(21 div 91 < > 0) =
          ΟΧΙ('τάξη' <= 'τάξη') ΚΑΙ ΟΧΙ(0 < > 0) =
          ΟΧΙ(Αληθής) ΚΑΙ ΟΧΙ(Ψευδής) =
          Ψευδής ΚΑΙ Αληθής = Ψευδής
       

Πέμπτη, 24 Ιουνίου 2010

Άσκηση : Μετατροπή λογικού διαγράμματος σε ψευδογλώσσα

Γράψτε αλγόριθμο σε ψευδογλώσσα που αντιστοιχεί
στο παρακάτω λογικό διάγραμμα









































Λύση

     Αλγόριθμος ΑΣΚ
     σ <-- 91
     Αρχή_επανάληψης
         Διάβασε ρ
         Για λ από 1 μέχρι ρ με_βήμα 2
              Εμφάνισε λ+ρ
         Τέλος_επανάληψης
         Εμφάνισε λ+σ
         σ <-- σ-33
     Μέχρις_ότου σ < 0
     Εμφάνισε σ
     Τέλος ΑΣΚ

Τετάρτη, 23 Ιουνίου 2010

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

Συμπληρώστε τα κενά που λείπουν με τέτοιο τρόπο
ώστε το παρακάτω σύνολο εντολών να υπολογίζει
και να εμφανίζει το γινόμενο των αριθμών που είναι
ανάμεσα στο 12  και στο 88 (συμπεριλαμβανομένων
των άκρων) και  είναι πολλαπλάσια του 4.

       Γινόμενο <-- ___
       Για μ από ____ μέχρι ____ με_βήμα ____
            Γινόμενο <-- ____*____
       Τέλος_επανάληψης
       Εμφάνισε ______

Απάντηση

       Γινόμενο <-- 1
       Για μ από 12 μέχρι 88 με_βήμα 4
            Γινόμενο <-- Γινόμενο*μ
       Τέλος_επανάληψης
       Εμφάνισε Γινόμενο

Ερωτήσεις σωστού λάθους που αφορούν την εντολή Για..από..μέχρι

Ας θεωρήσουμε την ακόλουθη  δομή επανάληψης :
     Για ζ από Τα μέχρι Τβ με_βήμα Χ
          Εντολές
     Τέλος_επανάληψης
Γράψτε τον αριθμό (1-6) της πρότασης και δίπλα το
γράμμα Σ αν είναι σωστή ή το Λ αν είναι λανθασμένη.
      1. Η περιεχόμενη ομάδα εντολών εκτελείται
          τουλάχιστον μια φορά.
      2. Μπορούμε να προσδιορίσουμε επακριβώς το
         συνολικό πλήθος των επαναλήψεων.
      3. Το Χ πρέπει να είναι θετικό ή αρνητικό.
      4. Για να είναι σωστή η παραπάνω δομή
          επανάληψης θα πρέπει Τα <= Τβ.
      5. Οι Εντολές απαγορεύεται να αλλάζουν την τιμή
          του ζ.
      6. Μόλις ολοκληρωθεί η Για..από..μέχρι, η τιμή του
          ζ είναι μεγαλύτερη από Τβ.

Λύση

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

Τρίτη, 22 Ιουνίου 2010

Άσκηση μετατροπής Αν..τότε..αλλιώς_αν σε α) εμφωλευμένες Αν..τότε..αλλιώς β) Αν..τότε

Ξαναγράψτε (ισοδύναμα) το παρακάτω σύνολο εντολών
      Αν  β = 1 τότε
           Εμφάνισε 'Γ τάξη'
      αλλιώς_αν (β = 3) Ή (β = 18) τότε
           Εμφάνισε 'Ημερήσιου'
      αλλιώς_αν (β = -8) Ή (β = 0) Ή (β = 71) τότε
           Εμφάνισε 'Γενικού'
      αλλιώς
           Εμφάνισε 'Λυκείου'
      Τέλος_αν
χρησιμοποιώντας:
α) εμφωλευμένες Αν..τότε..αλλιώς
β) εντολές Αν..τότε

Λύση

    α)
          Αν  β = 1 τότε
              Εμφάνισε 'Γ τάξη'
          αλλιώς
               Αν (β = 3) Ή (β = 18) τότε
                   Εμφάνισε 'Ημερήσιου'
               αλλιώς
                      Αν (β = -8) Ή (β = 0) Ή (β = 71) τότε
                           Εμφάνισε 'Γενικού'
                      αλλιώς
                           Εμφάνισε 'Λυκείου'
                      Τέλος_αν
               Τέλος_αν
           Τέλος_αν


     β)
           Αν β = 1 τότε
                 Εμφάνισε 'Γ τάξη'
           Τέλος_αν
           Αν (β = 3) Ή (β = 18) τότε
                 Εμφάνισε 'Ημερήσιου'
           Τέλος_αν
           Αν (β = -8) Ή (β = 0) Ή (β = 71) τότε
                 Εμφάνισε 'Γενικού'
           Τέλος_αν
           Αν (β < > 1) ΚΑΙ (β < > 3) ΚΑΙ (β < > 18) ΚΑΙ
                (β < > -8) ΚΑΙ (β < > 0) ΚΑΙ (β < > 71) τότε
                 Εμφάνισε 'Λυκείου'
           Τέλος_αν

Δευτέρα, 21 Ιουνίου 2010

Δώστε εσείς την εκφώνηση της άσκησης

Δίνεται ο παρακάτω αλγόριθμος σε ψευδογλώσσα
     Αλγόριθμος ΑΣΚ
     ζ <-- 1
     Αρχή_επανάληψης
         Διάβασε υ
         Αν υ > 20 τότε
             ζ <-- ζ*υ
         Τέλος_αν
         Εμφάνισε 'Υπάρχουν άλλα δεδομένα;'
         Διάβασε β
     Μέχρις_ότου β = 'ΟΧΙ'
     Εμφάνισε ζ
     Τέλος ΑΣΚ
Ποιά είναι η εκφώνηση του προβλήματος που φιλοδοξεί να
επιλύσει ο παραπάνω αλγόριθμος;

Απάντηση

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

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

Συμπληρώστε τα κενά που λείπουν έτσι ώστε οι
παρακάτω εντολές να γεμίζουν όλο το περιεχόμενο
του πίνακα Β[3, 18] με την τιμή 1.

     Για  γ από ____ μέχρι _____
         Για δ από ____ μέχρι ____
               Β[δ, ___ ] <-- ____
         Τέλος_επανάληψης
     Τέλος_επανάληψης

Λύση

     Για  γ από 1 μέχρι 18
         Για δ από 1 μέχρι 3
               Β[δ, γ ] <-- 1
         Τέλος_επανάληψης
     Τέλος_επανάληψης

Κυριακή, 20 Ιουνίου 2010

Άσκηση : Βήμα-βήμα εκτέλεση εντολών (Για+Μέχρις_ότου)

Αν οι τιμές εισόδου είναι 6, 12 τι θα εμφανίσει το
παρακάτω σύνολο εντολών;
      Διάβασε μ, λ
      Για α από μ-3 μέχρι div 3)
           β <-- α+5
           Αρχή_επανάληψης
                Εμφάνισε α*β, 'α-β',  β < 10
                β <-- β+2
           Μέχρις_ότου β > 10
           Εμφάνισε β
      Τέλος_επανάληψης
      Εμφάνισε α

Λύση

     μ = 6
     λ = 12
     Η Για εκτελείται για όλες τις τιμές του α από μ-3 =
     6-3 = 3 μέχρι λ div 3 = 12 div 3 = 4 με βήμα 1.
     1η επανάληψη της Για (α = 3)
           β = α+5 = 3+5 = 8
           1η επανάληψη της Μέχρις_ότου
               Αφού α*β = 3*8 = 24 και β < 10 = 8 < 10 =
               Αληθής, η Εμφάνισε τυπώνει:
                    24     α-β     Αληθής
               β = β+2 = 8+2 = 10
          2η επανάληψη της Μέχρις_ότου
               Αφού α*β = 3*10 = 30 και β < 10 = 10 < 10 =
               Ψευδής, η Εμφάνισε τυπώνει:
                    30     α-β     Ψευδής
               β = β+2 = 10+2 = 12
          Η Μέχρις_ότου τερματίζεται αφού β > 10 = 12 > 10 =
          Αληθής
          Η Εμφάνισε τυπώνει:            12
     2η επανάληψη της Για (α = 4)
           β = α+5 = 4+5 = 9
           1η επανάληψη της Μέχρις_ότου
               Αφού α*β = 4*9 = 36  και β < 10 = 9 < 10 =
               Αληθής, η Εμφάνισε τυπώνει:
                    36      α-β     Αληθής
               β = β+2 = 9+2 = 11
          Η Μέχρις_ότου τερματίζεται αφού β > 10 = 11 > 10 =
          Αληθής
          Η Εμφάνισε τυπώνει:            11
      Η Για τερματίζεται με α = 5.
      Η Εμφάνισε τυπώνει :         5

Σάββατο, 19 Ιουνίου 2010

Άσκηση : Γέμισμα δυσδιάστατου πίνακα

Γράψτε αλγόριθμο που γεμίζει τον πίνακα Μ[7, 7] ως
εξής:
* στα στοιχεία των δύο κυρίων διαγωνίων εκχωρεί την
   τιμή -1,
* σε όλα τα υπόλοιπα στοιχεία εκχωρεί την τιμή 11.

Λύση

     Αλγόριθμος Γέμισμα
     Για λ από 1 μέχρι 7
         Για ρ από 1 μέχρι 7
             Αν (λ = ρ) Ή (λ+ρ = 8) τότε
                  Μ[λ, ρ] <-- -1
             αλλιώς
                  Μ[λ, ρ] <-- 11
             Τέλος_αν
         Τέλος_επανάληψης
     Τέλος_επανάληψης
     Αποτελέσματα // Μ //
     Τέλος Γέμισμα

Παρασκευή, 18 Ιουνίου 2010

Δοσμένος πίνακας και ερωτήσεις σωστού λάθους που τον αφορούν

Θεωρήστε τον πίνακα Α[9, 11]. Ποιές από τις παρακάτω
προτάσεις είναι σωστές (Σ) και ποιές λάθος (Λ);
1. Υπάρχει ένα μέγιστο και ένα ελάχιστο στοιχείο.
2. Το συνολικό πλήθος των στοιχείων του πίνακα
    είναι 20.
3. Ο πίνακας έχει 9 γραμμές και 11 στήλες.
4. Η είσοδος των δεδομένων (διάβασμα) μπορεί να
    γίνει γραμμή-γραμμή ή στήλη-στήλη.
5. Το άθροισμα όλων των γραμμών είναι ίσο με το
    άθροισμα όλων των στηλών.

Απάντηση


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

Πέμπτη, 17 Ιουνίου 2010

Άσκηση : Διαδικασία+Συνάρτηση+Πίνακες

Μια επιχείρηση απασχολεί 38 εργαζόμενους.
Κάθε εργαζόμενος  λαμβάνει μηνιαίως ένα σταθερό
χρηματικό ποσό ενώ για κάθε υπερωρία του πληρώνεται
με 3,5 ευρώ.
α) Γράψτε συνάρτηση που δέχεται ως παραμέτρους
    το σταθερό μηνιαίο ποσό που λαμβάνει ένας
    εργαζόμενος της παραπάνω επιχείρησης και το
    πλήθος των υπερωριών (ακεραίου τύπου) που
    έχει κάνει, και υπολογίζει τις συνολικές
    μηνιαίες απολαβές του.
β) Γράψτε διαδικασία που για κάθε υπάλληλο
    της επιχείρησης
    * διαβάζει το όνομά του, το σταθερό μηναίο ποσό
       που  δικαιούται και το πλήθος των υπερωριών του
       έχει κάνει
    * υπολογίζει τις συνολικές μηνιαίες απολαβές του.
    Η διαδικασία πρέπει να καλεί με κατάλληλο τρόπο
    τη συνάρτηση που γράψατε στο ερώτημα α).
γ) Γράψτε πρόγραμμα το οποίο:
    * καλεί με κατάλληλο τρόπο τη διαδικασία που
       γράψατε στο ερώτημα β),
    * εμφανίζει τα ονόματα και τις συνολικές μηνιαίες
       απολαβές των εργαζομένων, με σειρά από τον
       καλύτερα προς τον χειρότερα αμοιβόμενο.
Παρατηρήσεις
1. Δεν απαιτείται έλεγχος εγκυρότητας των
    εισερχόμενων δεδομένων.
2. Οι συνολικές μηνιαίες απολαβές των εργαζομένων
    είναι διαφορετικές μεταξύ τους.

Λύση

    ΠΡΟΓΡΑΜΜΑ ΕΠΙΧ
    ΜΕΤΑΒΛΗΤΕΣ
          ΑΚΕΡΑΙΕΣ: μ, ν
          ΠΡΑΓΜΑΤΙΚΕΣ: ΜΗΝ[38], Β1
          ΧΑΡΑΚΤΗΡΕΣ: ΟΝ[38], Β2
    ΑΡΧΗ
          ΚΑΛΕΣΕ ΜΗΝ_ΟΛΩΝ(ΟΝ, ΜΗΝ)
          ΓΙΑ μ ΑΠΟ 2 ΜΕΧΡΙ 38
               ΓΙΑ ν ΑΠΟ 38 ΜΕΧΡΙ μ ΜΕ_ΒΗΜΑ -1
                    ΑΝ ΜΗΝ[ν-1] < ΜΗΝ[ν] ΤΟΤΕ
                           Β1 <-- ΜΗΝ[ν-1]
                           ΜΗΝ[ν-1] <-- ΜΗΝ[ν]
                           ΜΗΝ[ν] <-- Β1
                           Β2 <-- ΟΝ[ν-1]
                           ΟΝ[ν-1] <-- ΟΝ[ν]
                           ΟΝ[ν] <-- Β2
                    ΤΕΛΟΣ_ΑΝ
               ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
          ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
          ΓΙΑ μ ΑΠΟ 1 ΜΕΧΡΙ 38
               ΓΡΑΨΕ ΟΝ[μ], ΜΗΝ[μ]
          ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

    ΣΥΝΑΡΤΗΣΗ ΜΙΣΘ(Σ, Ω) : ΠΡΑΓΜΑΤΙΚΗ
    ΜΕΤΑΒΛΗΤΕΣ
        ΑΚΕΡΑΙΕΣ: Ω
        ΠΡΑΓΜΑΤΙΚΕΣ: Σ
    ΑΡΧΗ
        ΜΙΣΘ <-- Σ+Ω*3.5
    ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ


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

Τετάρτη, 16 Ιουνίου 2010

Αποτελέσματα VS Γράψε

Κατ΄ αρχήν να ξεκαθαρίσουμε ότι η χρήση της
δήλωσης Αποτελέσματα είναι δυνατή μόνο στους αλγορίθμους
και όχι στα προγράμματα όπου χρησιμοποιούμε μόνο την
εντολή εξόδου ΓΡΑΨΕ.
Η δήλωση Αποτελέσματα  χρησιμοποιείται μόνο όταν στην
εκφώνηση του  αλγορίθμου αναφέρεται :
    ... που υπολογίζει ....
Από την άλλη μεριά, αν στην εκφώνηση της άσκησης
εμπεριέχονται εκφράσεις όπως:
    ... υπολογίζει και τυπώνει...
    ... υπολογίζει και εμφανίζει....
πρέπει να χρησιμοποιηθεί η εντολή Γράψε.
ΠΑΡΑΤΗΡΗΣΗ : Ανεξάρτητα από την εκφώνηση,
σε ένα πρόγραμμα χρησιμοποιούμε πάντοτε και
μόνο την εντολή ΓΡΑΨΕ για την έξοδο
των αποτελεσμάτων.

Παράδειγμα

Εκφώνηση 1η : Γράψτε αλγόριθμο που διαβάζει
τα υψη δύο μαθητών και υπολογίζει  το μικρότερο
ύψος.

       Αλγόριθμος Εκφ1
       Διάβασε Υ1, Υ2
       ΜΙΝ <-- Υ1
       Αν Υ2 < ΜΙΝ τότε
           ΜΙΝ <-- Υ2
       Τέλος_αν
       Αποτελέσματα // ΜΙΝ //
       Τέλος Εκφ1

Εκφώνηση 2η : Γράψτε αλγόριθμο που διαβάζει
τα υψη δύο μαθητών, υπολογίζει  και εμφανίζει
το μικρότερο  ύψος.

       Αλγόριθμος Εκφ2
       Διάβασε Υ1, Υ2
       ΜΙΝ <-- Υ1
       Αν Υ2 < ΜΙΝ τότε
           ΜΙΝ <-- Υ2
       Τέλος_αν
       Γράψε ΜΙΝ
       Τέλος Εκφ2

Δεδομένα VS Διάβασε

Κατ΄ αρχήν να ξεκαθαρίσουμε ότι η χρήση της
δήλωσης Δεδομένα είναι δυνατή μόνο στους αλγορίθμους
και όχι στα προγράμματα όπου χρησιμοποιούμε μόνο την
εντολή εισόδου ΔΙΑΒΑΣΕ.
Σε ένα αλγόριθμο λοιπόν χρησιμοποιούμε τη
δήλωση Δεδομένα μόνο όταν στην εκφώνηση
της άσκησης αναφέρεται:
    δοθέντων των ....
    με δεδομένα τα ....
    δοσμένων των ....
Από την άλλη μεριά, αν στην εκφώνηση της άσκησης
εμπεριέχονται εκφράσεις όπως:
    δέχεται ως είσοδο...
    διαβάζει ....
    εισάγει....
    διαβάζει και καταχωρεί ...
πρέπει να χρησιμοποιηθεί η εντολή Διάβασε.
ΠΑΡΑΤΗΡΗΣΗ : Ανεξάρτητα από την εκφώνηση,
σε ένα πρόγραμμα χρησιμοποιούμε πάντοτε και
μόνο την εντολή ΔΙΑΒΑΣΕ για την εισαγωγή
των δεδομένων.

Παράδειγμα

Εκφώνηση 1η : Γράψτε αλγόριθμο που με δεδομένα
τα υψη δύο μαθητών, υπολογίζει και εμφανίζει το
μέσο όρο τους.

       Αλγόριθμος Εκφ1
       Δεδομένα // Υ1, Υ2 //
       Μ <-- (Υ1+Υ2)/2
       Εμφάνισε Μ
       Τέλος Εκφ1

Εκφώνηση 2η : Γράψτε αλγόριθμο που διαβάζει
τα υψη δύο μαθητών, υπολογίζει και εμφανίζει το
μέσο όρο τους.


       Αλγόριθμος Εκφ2
       Διάβασε Υ1, Υ2
       Μ <-- (Υ1+Υ2)/2
       Εμφάνισε Μ
       Τέλος Εκφ2

Τρίτη, 15 Ιουνίου 2010

Άσκηση : Πόσες αντιμεταθέσεις γίνονται;

Δίνεται ακέραιος ταξινομημένος πίνακας Ρ[79]. Αν
εφαρμόσουμε σε αυτόν τη μέθοδο ευθείας ανταλλαγής
(φυσσαλίδα) πόσες αντιμεταθέσεις γειτονικών στοιχείων
θα πραγματοποιηθούν;

Λύση
Υπάρχουν δύο δυνατά σενάρια και απαιτείται περαιτέρω
διερεύνηση.
1η περίπτωση
Αν ο πίνακας είναι ταξινομημένος κατά αύξουσα σειρά
και η φυσσαλίδα προσπαθεί να επιτύχει ταξινόμηση κατά
αύξουσα σειρά, το συνολικό πλήθος των αντιμεταθέσεων
γειτονικών στοιχείων που θα πραγματοποιηθούν είναι 0. Το
ίδιο ισχύει και στην περίπτωση που ο πίνακας είναι ταξινο-
μημένος κατά φθίνουσα σειρά και η φυσσαλίδα προσπαθεί
να επιτύχει ταξινόμηση κατά φθίνουσα σειρά.
2η περίπτωση
Αν ο πίνακας είναι ταξινομημένος κατά αύξουσα σειρά
και η φυσσαλίδα προσπαθεί να επιτύχει ταξινόμηση κατά
φθίνουσα σειρά, το συνολικό πλήθος των αντιμεταθέσεων
γειτονικών στοιχείων που θα πραγματοποιηθούν είναι:
    78+77+76+....+1 = (78*79)/2 = 3081
Το ίδιο ισχύει και στην περίπτωση που ο πίνακας είναι ταξινο-
μημένος κατά φθίνουσα σειρά και η φυσσαλίδα προσπαθεί
να επιτύχει ταξινόμηση κατά αύξουσα σειρά.

Άσκηση : Γέμισμα δυσδιάστατου πίνακα

Γράψτε αλγόριθμο που γεμίζει στήλη-στήλη τον
πίνακα Ρ[4, 5] με τις τιμές 50000, 25000, 12500, κτλ

Λύση

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

Δευτέρα, 14 Ιουνίου 2010

Άσκηση : Εντοπισμός λογικών και συντακτικών λαθών

Αν α, β τα μήκη των πλευρών ενός ορθογωνίου τριγώνου,
 το μήκος γ της υποτείνουσάς του υπολογίζεται με τη
βοήθεια του Πυθαγόρειου θεωρήματος. Δίνονται οι
παρακάτω λανθασμένες εντολές εκχώρησης, που έχουν
ως στόχο τον υπολογισμό του μήκους γ:
     1.  γ <-- Τ_Ρ(α^2)+β^2
     2.  γ <-- Τ_Ρ(α^2+β^2
     3.  γ <-- Τ_Ρ( (α+β)^2 )
     4.  γ <--  Τ_Ρ α^2+β^2
     5.  γ <-- ΤΡ(α^2+β^2)
Γράψτε τον αριθμό (1-5) της εντολής και δίπλα το
γράμμα Σ (αν το λάθος είναι συντακτικό) ή το
γράμμα Λ (αν το λάθος είναι λογικό).

Λύση

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

Κατηγοριοποίηση προβλημάτων

Δίνονται οι παρακάτω κατηγορίες προβλημάτων
     1.  επιλύσιμα
     2.  ανοικτά
     3.  άλυτα
και τα ακόλουθα προβλήματα
     α. Κυπριακό ζήτημα
     β. Υπολογισμός εμβαδού κύκλου
     γ.  Βράσιμο νερού στους 40 βαθμούς
          Κελσίου
     δ.  Μετατροπή ενός χρηματικού ποσού
          από δολάρια σε ευρώ
Να γράψετε το γράμμα (α-δ) του προβλήματος και
δίπλα τον αριθμό (1-3) της κατηγορίας στην οποία
ανήκει.

Απάντηση

       α. 2
       β. 1
       γ. 3
       δ. 1

Κυριακή, 13 Ιουνίου 2010

Άσκηση : λογικό διάγραμμα (εμφωλευμένες δομές επιλογής)

Γράψτε τον αλγόριθμο σε ψευδογλώσσα που αντιστοιχεί
στο παρακάτω λογικό διάγραμμα

 



















Λύση

     Αλγόριθμος ΑΣΚ
     Διάβασε ν, x, z
     Αν ν > 7 τότε
         Αν x < 0 τότε
              Αν z > 0 τότε
                   Α <-- z
              αλλιώς
                   A <-- x
              Τέλος_αν
         αλλιώς
              Αν x > 1 τότε
                   Α <-- ν
              αλλιώς
                   Α <-- 0
              Τέλος_αν
         Τέλος_αν
     αλλιώς
         Α <-- 1
     Τέλος_αν
     Εμφάνισε Α
     Τέλος ΑΣΚ

Σάββατο, 12 Ιουνίου 2010

Άσκηση : λογικό διάγραμμα (Αν..τότε..αλλιώς_αν+Αν..τότε..αλλιώς)

Κατασκευάστε το λογικό διάγραμμα του παρακάτω
αλγορίθμου
    Αλγόριθμος ΑΣΚ
    Διάβασε μ, ν, ρ
    Αν μ > ν τότε
          Αν μ-ν > 5 τότε
               Α <-- ρ
          αλλιώς
               Α <-- ρ+1
          Τέλος_αν
    αλλιώς_αν μ < ν τότε
          Αν ν-μ > 2 τότε
               Α <-- μ+ρ
          αλλιώς
               Α <-- μ-ρ
          Τέλος_αν
    αλλιώς
          Α <-- ν+ρ
    Τέλος_αν
    Εμφάνισε Α
    Τέλος ΑΣΚ

Λύση

 

Παρασκευή, 11 Ιουνίου 2010

Άσκηση : Μετατροπή λογικού διαγράμματος σε ψευδογλώσσα

Γράψτε τον αλγόριθμο σε ψευδογλώσσα που αντιστοιχεί
στο παρακάτω λογικό διάγραμμα




















Λύση

        Αλγόριθμος Ψευδο
        Διάβασε Ζ
        Επίλεξε Ζ+1
            Περίπτωση 98
                  μ <-- 7
                  Αρχή_επανάληψης
                       Διάβασε Υ
                       μ <-- μ+Υ^3
                  Μέχρις_ότου Υ < 0
            Περίπτωση 73
                  μ <-- 1
                  Όσο μ < 200 επανάλαβε
                        Διάβασε Υ
                        μ <-- μ+Υ
                  Τέλος_επανάληψης
            Περίπτωση αλλιώς
                   μ <-- 2010
        Τέλος_επιλογών
        Εμφάνισε μ
        Τέλος Ψευδο

Άσκηση : Βήμα-βήμα εκτέλεση (Όσο+Μέχρις_ότου)

Τι θα εμφανίσει το παρακάτω σύνολο εντολών,
αν οι τιμές εισόδου είναι 4 και 7;
      Διάβασε Χ, Υ
      α <-- 1
      Όσο α < Χ επανάλαβε
            β <-- 8
            Αρχή_επανάληψης
                 Εμφάνισε α-β, (β-5)*α
                 β <-- β-1
            Μέχρις_ότου  β  < Υ
            Εμφάνισε α+β
            α <-- α+2
      Τέλος_επανάληψης
      Εμφάνισε α, β

Λύση

       Χ = 4, Υ = 7
       α = 1
       1η επανάληψη της  Όσο
            β = 8
            1η επανάληψη της Μέχρις_ότου
                  Επειδή α-β = 1-8 = -7, (β-5)*α = (8-5)*1 = 3
                  η Εμφάνισε τυπώνει :    -7        3
                  β = β-1 = 8-1 = 7
            2η επανάληψη της Μέχρις_ότου
                  Επειδή α-β = 1-7 = -6, (β-5)*α = (7-5)*1 = 2
                  η Εμφάνισε τυπώνει :    -6        2
                  β = β-1 = 8-1 = 6
            Η Μέχρις_ότου τερματίζεται αφού β < Υ = 6 < 7 =
            Αληθής.
            Επειδή α+β = 1+6 = 7, η Εμφάνισε τυπώνει :   7
            α = α+2 = 1+2 = 3
       2η επανάληψη της  Όσο
            β = 8
            1η επανάληψη της Μέχρις_ότου
                  Επειδή α-β = 3-8 = -5, (β-5)*α = (8-5)*3 = 9
                  η Εμφάνισε τυπώνει :    -5        9
                  β = β-1 = 8-1 = 7
            2η επανάληψη της Μέχρις_ότου
                  Επειδή α-β = 3-7 = -4, (β-5)*α = (7-5)*3 = 6
                  η Εμφάνισε τυπώνει :    -4        6
                  β = β-1 = 7-1 = 6
            Η Μέχρις_ότου τερματίζεται αφού β < Υ = 6 < 7 =
            Αληθής.
            Επειδή α+β = 3+6 = 9, η Εμφάνισε τυπώνει :   9
            α = α+2 = 3+2 =5
        Η Όσο τερματίζεται αφού α < Χ = 5 < 4 = Ψευδής.
        Η Εμφάνισε α,β τυπώνει:
              5       6


 
    

Πέμπτη, 10 Ιουνίου 2010

Αναλυτική παρουσιάση της ολίσθησης και τεκμηρίωση του αποτελέσματος που επιφέρει

Ως γνωστόν, ένας αριθμός στο δυαδικό σύστημα είναι
μια ακολουθία από 0 και 1. Όταν θέλουμε να μετατρέ-
ψουμε ένα αριθμό από το δυαδικό σύστημα στο δεκα-
δικό, τον αναλύουμε σε δυνάμεις του 2. Το τελευταίο
ψηφίο έχει βαρύτητα 0 και καθώς προχωράμε προς τα
αριστερά η βαρύτητα αυξάνεται κατά 1 (η βαρύτητα είναι
ο εκθέτης της δύναμης του 2 με την οποία πολλαπλασιάζε-
ται το αντίστοιχο ψηφίο).
Π.χ.   Ο δυαδικός ακέραιος   00011001 είναι ο :
          1*1+0*2+0*4+1*8+1*16 = 25 στο δεκαδικό
          σύστημα αρίθμησης.

Πώς γίνεται η ολίσθηση ενός δυαδικού ακεραίου
προς τα δεξιά κατά μια θέση;
1. Όλα τα ψηφία μετακινούνται προς τα δεξιά κατά
    μια θέση (το τελευταίο ψηφίο χάνεται)
2. Στο κενό που δημιουργείται από την αριστερή
    πλευρά εισάγεται το ψηφίο 0.

Π.χ. Αν ολισθήσουμε τον 00011001 προς τα δεξιά
        κατά μια θέση θα πάρουμε ως αποτέλεσμα
        τον δυαδικό ακέραιο 00001100. Το αποτέλεσμά
        μας είναι ο αριθμός 0*1+0*2+1*4+1*8 = 12 στο
        δεκαδικό σύστημα αρίθμησης. Όμως ισχύει:
             12 = 25 div 2
        Δηλαδή, η ολίσθηση ενός δυαδικού ακέραιου
        προς τα δεξιά κατά  μια θέση, προκαλεί τον
        υποδιπλασιασμό του.
Πώς γίνεται η ολίσθηση ενός δυαδικού ακεραίου
προς τα αριστερά κατά μια θέση;

1. Όλα τα ψηφία μετακινούνται προς τα αριστερά κατά
    μια θέση (το πρώτο ψηφίο χάνεται)
2. Στο κενό που δημιουργείται από τη δεξιά πλευρά
    εισάγεται το ψηφίο 0.


Π.χ. Αν ολισθήσουμε τον 00011001 προς τα αριστερά
        κατά μια θέση θα πάρουμε ως αποτέλεσμα
        τον δυαδικό ακέραιο 00110010. Το αποτέλεσμά
        μας είναι ο αριθμός 0*1+1*2+0*4+0*8+1*16+1*32
        = 50 στο δεκαδικό σύστημα αρίθμησης. Όμως
        ισχύει:
             50 = 25 * 2
        Δηλαδή, η ολίσθηση ενός δυαδικού ακέραιου
        προς τα αριστερά κατά  μια θέση, προκαλεί τον
        διπλασιασμό του.

       
               

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

Ένας διατροφολόγος κάνει μια έρευνα ανάμεσα στα
80 αγόρια - μαθητές της Γ' τάξης ενός ημερήσιου γενικού
λυκείου, προκειμένου να εντοπίσει πιθανές διαταραχές
βάρους. Γράψτε πρόγραμμα σε ΓΛΩΣΣΑ το οποίο:
α) Διαβάζει την κατώτατη (ΚΑΤΩ) και την ανώτατη
    (ΑΝΩ) τιμή που μπορεί να έχει το βάρος ενός
    αγοριού προκειμένου να κυμαίνεται σε φυσιολογικά
    επίπεδα (πρέπει να διασφαλίζεται η εγκυρότητα
    των εισερχόμενων δεδομένων).
β) Διαβάζει το βάρος των 80 αγοριών - μαθητών
    (δεν απαιτείται έλεγχος εγκυρότητας).
γ) Υπολογίζει και εμφανίζει:
     * το πλήθος των αγοριών που είναι υπέρβαρα,
     * το ποσοστό (%) των αγοριών που είναι ελλει-
        ποβαρή,
     * το μέσο όρο βάρους των αγοριών που κινούνται
       σε φυσιολογικά επίπεδα.

Λύση

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

Τετάρτη, 9 Ιουνίου 2010

Άσκηση : Εκτέλεση φυσσαλίδας σε δοσμένο πίνακα

Δίνεται πίνακας Β[6] με τις ακόλουθες τιμές:
      12     31    4     10     -3      8
Εκτελέστε τη μέθοδο της φυσσαλίδας (ευθείας
ανταλλαγής) κατά αύξουσα σειρά και παρουσιάστε
το περιεχόμενο του πίνακα σε κάθε "πέρασμα"

Λύση

     i = 2 (1ο πέρασμα)
           
          -3     12     31     4      10      8

     i = 3 (2ο πέρασμα)

           
          -3     4      12      31     8      10
   
     i = 4 (3ο πέρασμα)

           
          -3     4      8        12     31    10
     
      i = 5 (4ο πέρασμα)    
       
          -3     4      8       10     12    31

      i = 6 (5ο πέρασμα)

           
          -3     4      8       10     12    31
    
         

Άσκηση : εκτέλεση του πολλαπλασιασμού αλά ρωσικά για συγκεκριμένα Μ1, Μ2

Εκτελέστε τη μέθοδο του πολλαπλασιασμού αλά ρωσικά
για Μ1 = 24 και Μ2 = 29

Λύση

      Μ1             Μ2
       24               29           24
       48               14
       96                7            96
      192               3           192
      384               1           384
                                  
      Άθροισμα =             696

Άσκηση : Πρόγραμμα+Διαδικασία+Συνάρτηση

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

Λύση

    ΠΡΟΓΡΑΜΜΑ ΟΡΘΟΓΩΝΙΟ
    ΜΕΤΑΒΛΗΤΕΣ
          ΠΡΑΓΜΑΤΙΚΕΣ : α, β, εμβαδόν
    ΑΡΧΗ
          ΚΑΛΕΣΕ Διάβασε_αβ(α, β)
          εμβαδόν <-- ΕμΟρθογ(α, β)
          ΓΡΑΨΕ 'Το εμβαδόν του ορθογωνίου είναι:', εμβαδόν
    ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

    ΔΙΑΔΙΚΑΣΙΑ Διάβασε_αβ(α, β)
    ΜΕΤΑΒΛΗΤΕΣ
          ΠΡΑΓΜΑΤΙΚΕΣ: α, β
    ΑΡΧΗ
          ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
                ΔΙΑΒΑΣΕ α, β
          ΜΕΧΡΙΣ_ΟΤΟΥ (α > 0) ΚΑΙ (β > 0)
    ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

    ΣΥΝΑΡΤΗΣΗ ΕμΟρθογ(α, β) : ΠΡΑΓΜΑΤΙΚΗ
    ΜΕΤΑΒΛΗΤΕΣ
          ΠΡΑΓΜΑΤΙΚΕΣ: α, β
    ΑΡΧΗ
          ΕμΟρθογ <-- α*β
    ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

Τρίτη, 8 Ιουνίου 2010

Προσδιορισμός των στοιχείων των 2 κυρίων διαγωνίων

Ας θεωρήσουμε τον πίνακα Τ[Κ, Κ] (Κ θετικός ακέραιος)
Προσδιορίστε τις προϋποθέσεις που πρέπει να πληρούνται
ώστε το στοιχείο Τ[ρ, σ] να ανήκει:
α) στην πρώτη κύρια διαγώνιο
β) στη δεύτερη κύρια διαγώνιο

Απάντηση

α)  ρ = σ
β)  ρ+σ = Κ+1

Προσδιορίστε τον τύπο των μεταβλητών

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

Απάντηση

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

Άσκηση : βήμα-βήμα εκτέλεση (με υποπρογράμματα)

Ποιά είναι η έξοδος του παρακάτω προγράμματος;
     ΠΡΟΓΡΑΜΜΑ ΑΣΚ
     ΜΕΤΑΒΛΗΤΕΣ
           ΑΚΕΡΑΙΕΣ: α, β, μ
           ΠΡΑΓΜΑΤΙΚΕΣ: ρ
     ΑΡΧΗ
           α <-- 4
           β <-- 12
           μ <-- α mod β+1
           ΓΙΑ χ ΑΠΟ α-2 ΜΕΧΡΙ μ ΜΕ_ΒΗΜΑ  μ-3
                 ΚΑΛΕΣΕ Δ(α, β, ρ)
                 ΓΡΑΨΕ α, β, ρ
           ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
           ΓΡΑΨΕ χ
     ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

     ΔΙΑΔΙΚΑΣΙΑ Δ(μ, ν, κ)
     ΣΤΑΘΕΡΕΣ
            α = 1.8
     ΜΕΤΑΒΛΗΤΕΣ
            ΑΚΕΡΑΙΕΣ: μ, ν
            ΠΡΑΓΜΑΤΙΚΕΣ: κ
     ΑΡΧΗ
            μ <-- μ+5
            ν <-- ν+3
            κ <-- Α_Τ(μ-ν)+α
     ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

Λύση

     α = 4
     β = 12
     μ = α mod β+1 = 4 mod 12 + 1 =4+1 = 5
     Η ΓΙΑ εκτελείται για όλες τις τιμές του χ από
    α-2 = 4-2 = 2 μέχρι 5 με βήμα μ-3 = 5-3 = 2.
    1η επανάληψη (χ = 2)
          Κλήση της Δ με μ = α = 4, ν = β = 12, 
                              κ = ρ = απροσδιόριστο
                 μ = μ+5 = 4+5 = 9
                 ν = ν+3 = 12+3 = 15
                 κ = Α_Τ(μ-ν)+α = Α_Τ(9-15)+1.8 = Α_Τ(-6)+1.8
                    = 6+1.8 = 7.8
          Μετά την ολοκλήρωση της διαδικασίας οι τιμές των
          μεταβλητών είναι :
                α = μ = 9
                β = ν = 15
                ρ = κ = 7.8
          Η ΓΡΑΨΕ εμφανίζει:
                9     15     7.8
     2η επανάληψη (χ = 4)
          Κλήση της Δ με μ = α = 9, ν = β = 15, κ = ρ = 7.8
                 μ = μ+5 = 9+5 = 14
                 ν = ν+3 = 15+3 = 18
                 κ = Α_Τ(μ-ν)+α = Α_Τ(14-18)+1.8 = Α_Τ(-4)+1.8
                    = 4+1.8 = 5.8
          Μετά την ολοκλήρωση της διαδικασίας οι τιμές των
          μεταβλητών είναι :
                α = μ = 14
                β = ν = 18
                ρ = κ = 5.8
          Η ΓΡΑΨΕ εμφανίζει:
                14     18     5.8
      Η ΓΙΑ τερματίζεται με χ = 6.
      Η ΓΡΑΨΕ εμφανίζει:   6

Δευτέρα, 7 Ιουνίου 2010

Άσκηση : Καθορισμός απαιτήσεων+Μαθηματική μορφοποίηση προβλήματος

Σε ένα λύκειο το πλήθος των φιλολόγων είναι
τριπλάσιο του πλήθους των καθηγητών πληροφορικής,
ενώ το πλήθος των γυμναστών είναι ίσο με το μισό
του πλήθους των φιλολόγων. Αν το συνολικό πλήθος
των καθηγητών που ανήκουν στις παραπάνω ειδικό-
τητες είναι 11, να βρείτε πόσοι είναι οι φιλόλογοι, οι
καθηγητές πληροφορικής και οι γυμναστές που υπηρετούν
στο σχολείο αυτό.
α) Να πραγματοποιήσετε καθορισμό απαιτήσεων του
    παραπάνω προβλήματος.
β) Να το  μορφοποιήσετε με μαθηματικό τρόπο.

Λύση

α)
      Δεδομένα
          * Το πλήθος των φιλολόγων είναι τριπλάσιο του
              πλήθους των καθηγητών πληροφορικής
          *  Το πλήθος των γυμναστών είναι ίσο με το μισό
              του πλήθους των φιλολόγων
          *  Το συνολικό πλήθος των φιλολόγων, καθηγητών
              πληροφορικής και γυμναστών είναι 11
      Ζητούμενα
          *  Το πλήθος των φιλολόγων
          *  Το πλήθος των καθηγητών πληροφορικής
          *   Το πλήθος των γυμναστών

β)
       Ας συμβολίσουμε με Φ, Π, Γ το πλήθος των φιλο-
       λόγων, καθηγητών πληροφορικής και γυμναστών
       αντίστοιχα. Ισχύουν οι σχέσεις:
            Φ = 3*Π
            Γ = Φ/2
            Φ+Π+Γ = 11
             
    

Άσκηση : Πρόγραμμα+Διαδικασία

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

Λύση

      ΠΡΟΓΡΑΜΜΑ ΟΜΑΔΑ
      ΜΕΤΑΒΛΗΤΕΣ
             ΑΚΕΡΑΙΕΣ: λ
             ΠΡΑΓΜΑΤΙΚΕΣ: Ηλικία[26], ΜΟ
             ΧΑΡΑΚΤΗΡΕΣ: Ονομ[26], Ον
      ΑΡΧΗ
             ΓΙΑ λ ΑΠΟ 1 ΜΕΧΡΙ 26
                   ΔΙΑΒΑΣΕ Ονομ[λ]
                   ΔΙΑΒΑΣΕ Ηλικία[λ]
             ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
             ΚΑΛΕΣΕ ΥΠΟΛΟΓΙΣΜΟΙ(Ονομ, Ηλικία, ΜΟ, Ον)
             ΓΡΑΨΕ 'Μέσος όρος ηλικίας :', ΜΟ
             ΓΡΑΨΕ 'Νεαρότερος ποδοσφαιριστής :',  Ον
      ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

      ΔΙΑΔΙΚΑΣΙΑ ΥΠΟΛΟΓΙΣΜΟΙ(Ονομ, Ηλικία, ΜΟ, Ον)
      ΜΕΤΑΒΛΗΤΕΣ
             ΑΚΕΡΑΙΕΣ: λ
             ΠΡΑΓΜΑΤΙΚΕΣ: Ηλικία[26], ΜΟ, ΜΙΝ, Α
             ΧΑΡΑΚΤΗΡΕΣ: Ονομ[26], Ον
      ΑΡΧΗ
             Α <--Ηλικία[1]
             ΜΙΝ <-- Ηλικία[1]
             Ον <-- Ονομ[1]
             ΓΙΑ λ ΑΠΟ 2 ΜΕΧΡΙ 26
                   Α <-- Α+Ηλικία[λ]
                   ΑΝ Ηλικία[λ] < ΜΙΝ τότε
                        ΜΙΝ <-- Ηλικία[λ]
                        Ον <-- Ονομ[λ]
                   ΤΕΛΟΣ_ΑΝ
             ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
             ΜΟ <-- Α/26
      ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

Κυκλώστε τις σωστές επιλογές

Δίνονται οι  παρακάτω γλώσσες προγραμματισμού
   1.  C++
   2. C
   3. JAVA
   4. Γλώσσα μηχανής
   5. PROLOG
   6. PASCAL
   7. DBASE
   8. Συμβολική γλώσσα
α) Ποιές από τις γλώσσες αυτές είναι αντικειμενοστραφείς;
β) Ποιές ανήκουν στην κατηγορία των γλωσσών πολύ
    υψηλού επιπέδου;
γ) Ποιές θεωρούνται γλώσσες γενικής χρήσης;

Απάντηση

    α) 1, 3
    β) 5
    γ) 6

Κυριακή, 6 Ιουνίου 2010

Ερωτήσεις πολλαπλής επιλογής εφ' όλης της ύλης

Γράψτε τον αριθμό της κάθε πρότασης (1-16) και δίπλα
το γράμμα (α-δ) που αντιστοιχεί στη σωστή απάντηση

1. Με την έννοια καθορισμός απαιτήσεων εννοούμε
      α. τον επακριβή προσδιορισμό των δεδομένων ενός
          προβλήματος
      β. τον επακριβή προσδιορισμό των ζητουμένων ενός
          προβλήματος
      γ. τον επακριβή προσδιορισμό των δεδομένων και
         των ζητουμένων ενός προβλήματος
      δ. τον επακριβή προσδιορισμό των προδιαγραφών
          ενός προγράμματος

2. Μια επεξεργασία δεδομένων
     α. δεν μπορεί να περιλαμβάνει συγκρίσεις
     β. περιλαμβάνει πάντοτε αριθμητικές πράξεις
     γ. μπορεί να γίνει μόνο με  τη βοήθεια του υπολογιστή
     δ. δίνει ως αποτέλεσμα μια πληροφορία

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

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

5. Ένας πίνακας
    α. καταλαμβάνει ακαθόριστο κομμάτι της κύριας
        μνήμης του υπολογιστή
    β. αποτελείται από δοσμένο πλήθος ετερογενών
        κόμβων
    γ. αποθηκεύεται στη δευτερεύουσα μνήμη του
        υπολογιστή
    δ. έχει ένα και μοναδικό τύπο δεδομένων

6. Η σειριακή αναζήτηση χρησιμοποιείται:
    α. όταν ο πίνακας είναι πολύ μεγάλος
    β. όταν ο πίνακας είναι πολύ μικρός
    γ. όταν ο πίνακας είναι ταξινομημένος
    δ. όταν ο πίνακας είναι ακεραίου τύπου

7. Οι γλώσσες υψηλού επιπέδου
    α. είναι πιο δύσχρηστες από τη γλώσσα μηχανής
    β. μείωσαν το κόστος και το χρόνο παραγωγής
        των προγραμμάτων
    γ. κυκλοφόρησαν πριν από τις συμβολικές
        γλώσσες
    δ. δεν απαιτούν ιδιαίτερες γνώσεις προγραμμα-
        τισμού

8. Η γλώσσα LISP
    α. είναι ιδανική για την εισαγωγή στον προγραμ-
        ματισμό μικρών μαθητών
    β. είναι γλώσσα 4ης γενιάς
    γ. είναι ιδανική για την ανάπτυξη εφαρμογών
       τεχνητής νοημοσύνης
    δ. είναι μια γλώσσα προγραμματισμού κατάλληλη
        για κάθε τομέα εφαρμογών

9. Αν   λ, ρ ακεραίου τύπου και λ < ρ τότε ισχύει:
     α. λ div ρ = 0
     β. λ div ρ = λ
     γ. λ mod ρ = ρ
     δ. λ mod ρ =0

10. Η εντολή ΓΡΑΨΕ Α_Μ(-12.3) εμφανίζει:
     α. 12.3
     β. 12
     γ. -0.3
     δ. -12

11. Αν λ μεταβλητή λογικού τύπου, η εντολή 
         λ <-- 'Νίκος' < 'Καρύδης'
     α. έχει ένα συντακτικό λάθος
     β. έχει ένα λογικό λάθος
     γ. αποδίδει στη μεταβλητή λ την τιμή Ψευδής
     δ. αποδίδει στη μεταβλητή λ την τιμή Αληθής

12. Η εντολή Επίλεξε
     α. είναι δομή απλής επιλογής
     β. είναι δομή σύνθετης επιλογής
     γ. είναι δομή επανάληψης
     δ. είναι δομή πολλαπλής επιλογής

13. Ο πίνακας Ν[12, 6] έχει
     α. 18 κλειδιά
     β. 72 κλειδιά
     γ. 12 στήλες και 6 γραμμές
     δ. δύο κύριες διαγωνίους

14. Αν Ν[13, 111] πίνακας ακεραίου τύπου, Σ1 το άθροισμα
     όλων των γραμμών του και Σ2 το άθροισμα όλων των
     στηλών του, ισχύει η σχέση:
     α. Σ1 = Σ2
     β. Σ1 > Σ2
     γ. Σ1 < Σ2
     δ. Σ1 < > Σ2


15. Μια διαδικασία
     α. υπολογίζει και επιστρέφει τουλάχιστον ένα απο-
         τέλεσμα
     β. δεν μπορεί να περιλαμβάνει περισσότερες από
         μια εντολές εκχώρησης στο όνομά της
     γ. μπορεί να εκτελέσει οποιαδήποτε λειτουργία
     δ. έχει μόνο παραμέτρους εισόδου

16. Μια συνάρτηση
      α. ενεργοποιείται με την εντολή ΚΑΛΕΣΕ
      β. δεν μπορεί να κληθεί μέσα από μια άλλη
          συνάρτηση
      γ. επιστρέφει ακριβώς ένα αποτέλεσμα μέσω
          μιας ξεχωριστής παραμέτρου
      δ. μπορεί να μη δέχεται καθόλου παραμέ-
          τρους

Απάντηση

      1. γ
      2. δ
      3. γ
      4. α
      5. δ
      6. β
      7. β
      8. γ
      9. α
     10. δ  
     11. γ
     12. δ
     13. β
     14. α
     15. γ
     16. δ