Σάββατο, 31 Ιουλίου 2010

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

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

Λύση

      ΠΡΟΓΡΑΜΜΑ ΘΕΡΜ
      ΜΕΤΑΒΛΗΤΕΣ
            ΑΚΕΡΑΙΕΣ: πληθ, φ1, σ, φ2
            ΠΡΑΓΜΑΤΙΚΕΣ: ΜΟ, Θ, ΠΟΣ
            ΧΑΡΑΚΤΗΡΕΣ: ΑΠΑΝΤ
      ΑΡΧΗ
            πληθ <-- 0
            φ1 <-- 0
            σ <-- 0
            φ2 <-- 0
            ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
                 ΔΙΑΒΑΣΕ Θ
                 πληθ <-- πληθ+1
                 ΑΝ Θ > 32 ΤΟΤΕ
                      φ1 <-- φ1+1
                 ΤΕΛΟΣ_ΑΝ
                 ΑΝ Θ >= 30 ΤΟΤΕ
                      σ <-- σ+Θ
                      φ2 <-- φ2+1
                 ΤΕΛΟΣ_ΑΝ
                 ΓΡΑΨΕ 'Υπάρχει άλλη πόλη;'
                 ΔΙΑΒΑΣΕ ΑΠΑΝΤ
            ΜΕΧΡΙΣ_ΟΤΟΥ ΑΠΑΝΤ = 'ΟΧΙ'
            ΠΟΣ <-- 100*φ1/πληθ
            ΓΡΑΨΕ ΠΟΣ
            ΑΝ φ2 > 0 ΤΟΤΕ
                  ΜΟ <-- σ/φ2
                  ΓΡΑΨΕ ΜΟ
            ΑΛΛΙΩΣ
                  ΓΡΑΨΕ 'Δεν βρέθηκε καμία πόλη με Θ >= 30'
            ΤΕΛΟΣ_ΑΝ
      ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Διορθώστε τις λανθασμένες προτάσεις

Διορθώστε τις παρακάτω λανθασμένες προτάσεις και
επαναδιατυπώστε τις από την αρχή
1. Τα στοιχεία ενός προβλήματος γίνονται αντιληπτά
    από έναν εξωτερικό παρατηρητή με μια από τις 5
    ανθρώπινες αισθήσεις.
2. Το ελεύθερο κείμενο είναι ένας τρόπος αναπαρά-
    στασης προγραμμάτων.
3. Για την υλοποίηση μιας στοίβας απαιτείται ένας
    δυσδιάστατος πίνακας και δύο δείκτες.
4. Η γλώσσα LOGO είναι κατάλληλη για εφαρμογές
    τεχνητής νοημοσύνης.
5. Η συνάρτηση ΤΕΤΡ(Χ) υπολογίζει την τετραγωνική
    ρίζα του Χ.
6. Μια εντολή ΓΙΑ..ΑΠΟ..ΜΕΧΡΙ τελειώνει πάντοτε
    με τη δεσμευμένη λέξη ΤΕΛΟΣ_ΓΙΑ.
7. Ο πίνακας Χ[3, 11] έχει 14 στοιχεία.
8. Μια συνάρτηση που ελέγχει αν κάτι ισχύει ή όχι
    είναι πραγματικού τύπου.

Απάντηση


1. Τα δεδομένα ενός προβλήματος γίνονται αντιληπτά
    από έναν εξωτερικό παρατηρητή με μια από τις 5
    ανθρώπινες αισθήσεις.
2. Το ελεύθερο κείμενο είναι ένας τρόπος αναπαρά-
    στασης αλγορίθμων.
3. Για την υλοποίηση μιας στοίβας απαιτείται ένας
    μονοδιάστατος πίνακας και ένας δείκτης.
4. Η γλώσσα LISP είναι κατάλληλη για εφαρμογές
    τεχνητής νοημοσύνης.
5. Η συνάρτηση T_P(X) υπολογίζει την τετραγωνική
    ρίζα του Χ.
6. Μια εντολή ΓΙΑ..ΑΠΟ..ΜΕΧΡΙ τελειώνει πάντοτε
    με τη δεσμευμένη λέξη ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ.
7. Ο πίνακας Χ[3, 11] έχει 33 στοιχεία.
8. Μια συνάρτηση που ελέγχει αν κάτι ισχύει ή όχι
    είναι λογικού τύπου.

Άσκηση : απλοποιήστε τις παραστάσεις

Απλοποιήστε τις παρακάτω παραστάσεις:
1. ΟΧΙ ( Χ = 31) =  
2. ΟΧΙ ( (Χ < 11) Ή (Χ > 19) ) =
3. ΟΧΙ ( (Χ > 10) ΚΑΙ  (Χ < 199) ) =

Λύση

     1. Χ < > 31
     2. (Χ > = 11) ΚΑΙ (Χ <= 19)
     3. (Χ <= 10) Ή (Χ >= 199)

Άσκηση : μετατροπές (Για σε Όσο και Μέχρις_ότου)

Δίνεται το παρακάτω σύνολο εντολών
    Για μ από 100 μέχρι 7 με_βήμα -3
         Για ν από 5.1 μέχρι 89.2 με_βήμα 6.5
             Για ρ από 34 μέχρι 12 με_βήμα -2
                  Εμφάνισε μ+ν+ρ
             Τέλος_επανάληψης
         Τέλος_επανάληψης
    Τέλος_επανάληψης
Ξαναγράψτε το με ισοδύναμο τρόπο αντικαθιστώντας:
α) τις δύο πρώτες Για..από..μέχρι με Όσο..επανάλαβε,
β) την τελευταία Για..από..μέχρι με Μέχρις_ότου

Λύση

     μ <-- 100
     Όσο μ >= 7 επανάλαβε
          ν <-- 5.1
          Όσο ν <= 89.2 επανάλαβε
                ρ <-- 34
                Αρχή_επανάληψης
                     Εμφάνισε μ+ν+ρ
                     ρ <-- ρ-2
                Μέχρις_ότου ρ < 12
                ν <-- ν+6.5
          Τέλος_επανάληψης 
          μ <-- μ-3
     Τέλος_επανάληψης

Παρασκευή, 30 Ιουλίου 2010

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

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

Λύση

     Αλγόριθμος ΧΩΡΙΟ
     Για λ από 1 μέχρι 320
           Διάβασε Η[λ]
     Τέλος_επανάληψης
     ΜΑΧ <-- Η[1]
     ΜΙΝ <-- Η[1]
     Για λ από 2 μέχρι 320
           Αν Η[λ] > ΜΑΧ τότε
                 ΜΑΧ <-- Η[λ]
           Τέλος_αν
           Αν Η[λ] < ΜΙΝ τότε
                 ΜΙΝ <-- Η[λ]
           Τέλος_αν
     Τέλος_επανάληψης
     ΠΟΣ <-- 100*(ΜΑΧ-ΜΙΝ)/ΜΙΝ
     Αποτελέσματα // ΠΟΣ //
     Τέλος ΧΩΡΙΟ

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

Γράψτε συνάρτηση που δέχεται ως παραμέτρους τους
συντελεστές μιας δευτεροβάθμιας εξίσωσης και επιστρέ-
φει τη λέξη:
  * ΔΥΟ, αν η εξίσωση έχει δύο διαφορετικές λύσεις
  * ΔΙΠΛΗ, αν η εξίσωση έχει μια λύση διπλή
  * ΚΑΜΙΑ, αν η εξίσωση είναι αδύνατη

Λύση

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

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

Γράψτε διαδικασία η οποία δέχεται ως παράμετρο το
μέγεθος μιας γωνίας και υπολογίζει το ημίτονο, το
συνημίτονο, την εφαπτομένη και τη συνεφαπτομένη
της γωνίας αυτής.
Παρατήρηση: Αν η εφαπτομένη ή η συνεφαπτομένη
της γωνίας δεν ορίζονται, στις αντίστοιχες παραμέτρους
αποτελέσματος εκχωρείται η τιμή -1000.

Λύση

     ΔΙΑΔΙΚΑΣΙΑ ΤΡΙΓ_ΜΕΓΕΘΗ(Γ, ΗΜΓ, ΣΥΝΓ, ΕΦΓ, ΣΦΓ)
     ΜΕΤΑΒΛΗΤΕΣ
            ΠΡΑΓΜΑΤΙΚΕΣ: Γ, ΗΜΓ, ΣΥΝΓ, ΕΦΓ, ΣΦΓ
     ΑΡΧΗ
            ΗΜΓ <-- ΗΜ(Γ)
            ΣΥΝΓ <-- ΣΥΝ(Γ)
            ΑΝ ΣΥΝΓ < > 0 ΤΟΤΕ
                   ΕΦΓ <-- ΗΜΓ/ΣΥΝΓ
            ΑΛΛΙΩΣ
                   ΕΦΓ <-- -1000
            ΤΕΛΟΣ_ΑΝ
            ΑΝ ΗΜΓ < > 0 ΤΟΤΕ
                   ΣΦΓ <-- ΣΥΝΓ/ΗΜΓ
            ΑΛΛΙΩΣ
                   ΣΦΓ <-- -1000
            ΤΕΛΟΣ_ΑΝ
     ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

Άσκηση : φρουρός+ψηφία

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

Λύση

      ΠΡΟΓΡΑΜΜΑ ΨΗΦ
      ΜΕΤΑΒΛΗΤΕΣ
           ΑΚΕΡΑΙΕΣ: Χ, ΕΚ, ΔΕΚ, ΜΟΝ, ΑΠΟΤ
      ΑΡΧΗ
            ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
                 ΔΙΑΒΑΣΕ Χ
                 ΑΝ (Χ >= 100) ΚΑΙ (Χ <= 999) ΤΟΤΕ
                      ΕΚ <-- Χ DIV 100
                      ΔΕΚ <-- ( Χ MOD 100) DIV 10
                      MON <-- (Χ MOD 100) MOD 10
                      ΑΠΟΤ <-- ΕΚ^2+ΔΕΚ^2+ΜΟΝ^2
                      ΓΡΑΨΕ ΑΠΟΤ
                 ΤΕΛΟΣ_ΑΝ
            ΜΕΧΡΙΣ_ΟΤΟΥ (Χ < 100) Ή (Χ > 999)
      ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Άσκηση : πίνακας αλήθειας

Κατασκευάστε τον πίνακα αλήθειας της παράστασης
    Π = ΟΧΙ Χ ΚΑΙ Υ Ή ΟΧΙ Ζ

Λύση

Ας συμβολίσουμε με Α την τιμή Αληθής και Ψ την τιμή Ψευδής
 Χ     Υ     Ζ       ΟΧΙ Χ   ΟΧΙ Ζ    ΟΧΙ Χ ΚΑΙ Υ     Π
 Α     Α    Α           Ψ           Ψ                 Ψ                Ψ
 Α     Α    Ψ           Ψ           Α                 Ψ                Α
 Α     Ψ    Α           Ψ           Ψ                 Ψ                Ψ
 Α     Ψ    Ψ           Ψ           Α                 Ψ                Α
 Ψ     Α    Α           Α           Ψ                 Α                Α
 Ψ     Α    Ψ           Α           Α                 Α                Α
 Ψ     Ψ    Α           Α           Ψ                 Ψ                Ψ
 Ψ     Ψ    Ψ           Α           Α                 Ψ                Α

Άσκηση : εντολές εκχώρησης

Γράψτε τις εντολές εκχώρησης που επιτυγχάνουν
τα ακόλουθα:
1) η Α αποκτά ως περιεχόμενο το τριπλάσιο του
    περιεχομένου της Β,
2) η Β αυξάνει το περιεχόμενό της κατά 5,
3) η Α υποδιπλασιάζεται,
4) η Β αποκτά ως περιεχόμενο της το περιεχόμενο
    της Α ελαττωμένο κατά 21,
5) η Α αποκτά ως περιεχόμενό της το υπόλοιπο της
    ακέραιας διαίρεσης του τετραπλασίου περιεχομένου
    της Β με το 8.

Απάντηση

      1) Α <-- 3*Β
      2) Β <-- Β+5
      3) Α <-- Α/2
      4) Β <-- Α-21
      5) Α <-- (4*Β) mod 8

Πέμπτη, 29 Ιουλίου 2010

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

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

Λύση

      ΠΡΟΓΡΑΜΜΑ ΤΑΙΝ
      ΜΕΤΑΒΛΗΤΕΣ
             ΑΚΕΡΑΙΕΣ: κ, Χρ, Ω, Λ, Δ
      ΑΡΧΗ
             ΓΙΑ κ ΑΠΟ 1 ΜΕΧΡΙ 11
                  ΔΙΑΒΑΣΕ Χρ
                  ΚΑΛΕΣΕ Διάρκεια(Χρ, Ω, Λ, Δ)
                  ΓΡΑΨΕ 'Η χρονική διάρκεια της ',κ, ' ταινίας είναι:'
                  ΓΡΑΨΕ Ω, ':', Λ, ':', Δ
             ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
      ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

      ΔΙΑΔΙΚΑΣΙΑ Διάρκεια(Χρ, Ω, Λ, Δ)
      ΜΕΤΑΒΛΗΤΕΣ
            ΑΚΕΡΑΙΕΣ: Χρ, Ω, Λ, Δ
      ΑΡΧΗ
            Ω <-- Χρ DIV 3600
            Λ <-- (Χρ MOD 3600) DIV 60
            Δ <-- (Χρ MOD 3600) MOD 60
      ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

Τρίτη, 27 Ιουλίου 2010

Άσκηση: Κλιμακωτός+Για..από..μέχρι

Σε ένα σούπερ μάρκετ δίνεται η δυνατότητα αγοράς
εμφιαλωμένων νερών μάρκας ΝΝΝ με κλιμακωτή χρέωση
για τους πελάτες. Πιο συγκεκριμένα, η χρέωση για κάθε εξάδα
εμφιαλωμένων νερών καθορίζεται από τον πίνακα που
ακολουθεί:
         Πλήθος εξάδων                        Τιμή εξάδας (ευρώ)
         Από 1 έως και 5                                      1,75
         Από 6 έως και 9                                      1,62
         Από 10 και πάνω                                     1,51
Την πρώτη ημέρα της προσφοράς, 85 πελάτες προμηθεύτηκαν εξάδες
νερού ΝΝΝ από το συγκεκριμένο σουπερ μάρκετ. Γράψτε πρόγραμμα
το οποίο:
α) διαβάζει πόσες εξάδες νερό αγόρασε κάθε πελάτης,
β) υπολογίζει και εμφανίζει τη χρέωση κάθε πελάτη.

Λύση

       ΠΡΟΓΡΑΜΜΑ ΝΕΡΑ
       ΜΕΤΑΒΛΗΤΕΣ
              ΑΚΕΡΑΙΕΣ: Εξ, κ
              ΠΡΑΓΜΑΤΙΚΕΣ: Χρ
       ΑΡΧΗ
              ΓΙΑ κ ΑΠΟ 1 ΜΕΧΡΙ 85
                     ΔΙΑΒΑΣΕ Εξ
                     ΑΝ Εξ <= 5 ΤΟΤΕ
                          Χρ <-- Εξ*1.75
                     ΑΛΛΙΩΣ_ΑΝ Εξ <= 9 ΤΟΤΕ
                          Χρ <-- 5*1.75+(Εξ-5)*1.62
                     ΑΛΛΙΩΣ
                          Χρ <-- 5*1.75+4*1.62+(Εξ-9)*1.51
                     ΤΕΛΟΣ_ΑΝ
                     ΓΡΑΨΕ 'Χρέωση', κ, ' πελάτη:', Χρ, ' ευρώ'
              ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
       ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Δευτέρα, 26 Ιουλίου 2010

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

Γράψτε αλγόριθμο που :
α) διαβάζει τα ονόματα και τα ύψη βουνοκορφών της Ευρώπης
    (η είσοδος τερματίζεται μόλις δοθεί η απάντηση 'Ο' στην υπο-
    βαλλόμενη προς το χρήστη ερώτηση 'Υπάρχει άλλη βουνοκορφή
    προς επεξεργασία;'),
β) υπολογίζει και εμφανίζει:
    * το πλήθος των βουνοκορφών που επεξεργαστήκατε,
    * το όνομα της χαμηλότερης βουνοκορφής,
    * πόσες βουνοκορφές είχαν ύψος τουλάχιστον 1000 μέτρα.
Παρατήρηση: Ο αλγόριθμος πρέπει να διασφαλίζει την εγκυρό-
τητα των εισερχόμενων δεδομένων και συγκεκριμένα ότι:
  * τα ονόματα είναι διάφορα του κενού διαστήματος,
  * τα ύψη των βουνοκορφών είναι θετικοί αριθμοί που δεν
     υπερβαίνουν το 2000.

Λύση

     Αλγόριθμος ΒΟΥΝΑ
     Πληθ <-- 0
     ΜΙΚ <-- 2001
     Φ <-- 0
     Αρχή_επανάληψης
         Αρχή_επανάληψης
             Διάβασε ΟΝ
         Μέχρις_ότου ΟΝ < > '   '
         Αρχή_επανάληψης
             Διάβασε Ύψος
         Μέχρις_ότου (Ύψος > 0) ΚΑΙ (Ύψος <= 1200)
         Πληθ <--  Πληθ+1
         Αν Ύψος < ΜΙΚ τότε
              ΜΙΚ <-- Ύψος
              ΟΝΜΙΚ <-- ΟΝ
         Τέλος_αν
         Αν ΄Υψος >= 1000 τότε
               Φ <-- Φ+1
         Τέλος_αν
         Εμφάνισε 'Υπάρχει άλλη βουνοκορφή προς επεξεργασία;'
         Διάβασε Απ
     Μέχρις_ότου Απ = 'Ο'
     Εμφάνισε Πληθ, ΟΝΜΙΚ, Φ
     Τέλος ΒΟΥΝΑ

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

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

Λύση

     ΠΡΟΓΡΑΜΜΑ ΠΑΙΧΝΙΔΙΑ
     ΜΕΤΑΒΛΗΤΕΣ
           ΠΡΑΓΜΑΤΙΚΕΣ: Τιμή, ΠΟΣ, ΜΟ, ΑΘΡ, ΜΑΧ
           ΑΚΕΡΑΙΕΣ: Πλήθος,  Φ, ΝοΜΑΧ
     ΑΡΧΗ
           ΑΘΡ <-- 0
           Πλήθος <-- 0
           Φ <-- 0
           ΜΑΧ <-- -1000
           ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
                 ΔΙΑΒΑΣΕ Τιμή
                 ΑΝ Τιμή > 0 ΤΟΤΕ
                      Πλήθος <-- Πλήθος+1
                      ΑΘΡ <-- ΑΘΡ+Τιμή
                      ΑΝ Τιμή > ΜΑΧ ΤΟΤΕ
                             ΜΑΧ <-- Τιμή
                             ΝοΜΑΧ <-- Πλήθος
                      ΤΕΛΟΣ_ΑΝ
                      ΑΝ Τιμή > 20 ΤΟΤΕ
                             Φ <-- Φ+1
                      ΤΕΛΟΣ_ΑΝ
                 ΤΕΛΟΣ_ΑΝ
           ΜΕΧΡΙΣ_ΟΤΟΥ Τιμή <= 0
           ΑΝ Πλήθος > 0 ΤΟΤΕ
                 ΜΟ <-- ΑΘΡ/Πλήθος
                 ΠΟΣ <-- 100*Φ/Πλήθος
                 ΓΡΑΨΕ Πλήθος, ΑΘΡ, ΝοΜΑΧ, ΠΟΣ, ΜΟ
           ΑΛΛΙΩΣ
                 ΓΡΑΨΕ 'Δε δόθηκαν δεδομένα!'
           ΤΕΛΟΣ_ΑΝ
     ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Κυριακή, 25 Ιουλίου 2010

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

Δίνεται το παρακάτω τμήμα προγράμματος στο οποίο έχουν
αριθμηθεί οι γραμμές:
   1   ΔΙΑΒΑΣΕ Χ
   2   κ <-- 12
   3   λ <-- 4
   4   ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
   5        ΕΠΙΛΕΞΕ κ-λ
   6             ΠΕΡΙΠΤΩΣΗ 8
   7                μ <-- κ*λ
   8             ΠΕΡΙΠΤΩΣΗ 6
   9                μ <-- κ DIV λ
 10             ΠΕΡΙΠΤΩΣΗ 3
 11                μ <-- κ MOD λ
 12             ΠΕΡΙΠΤΩΣΗ ΑΛΛΙΩΣ
 13                μ <-- (κ+λ)^2
 14         ΤΕΛΟΣ_ΕΠΙΛΟΓΩΝ
 15         κ <-- κ-Χ
 16         Χ <-- Χ+1
 17   ΜΕΧΡΙΣ_ΟΤΟΥ κ+2  <=  λ
Επίσης δίνεται υπόδειγμα πίνακα με συμπληρωμένη την
αρχική τιμή της μεταβλητής Χ.

     Αριθμός        Χ        κ        λ      μ    
     γραμμής
          1               2
         ...                ...       ...     ...       ...      
Να μεταφέρετε τον πίνακα στο τετράδιό σας και εκτε-
λώντας το τμήμα προγράμματος, να τον συμπληρώσετε
με αρχική τιμή Χ = 2 που ήδη φαίνεται στον πίνακα.
Για κάθε εντολή εκχώρησης τιμής που εκτελείται
να γράψετε σε νέα γραμμή του πίνακα:
   α. Τον αριθμό της γραμμής που βρίσκεται η εντολή
       (στην πρώτη στήλη)
   β. Τη νέα τιμή  της μεταβλητής η οποία επηρεάζεται από
       την εντολή (στην αντίστοιχη στήλη).

Λύση

     Χ = 2
     κ = 12
     λ = 4
     1η επανάληψη
            Αφού κ-λ = 12-4 = 8
                μ = κ*λ = 12*4 = 48
            κ = κ-Χ = 12-2 = 10
            Χ = Χ+1 = 2+1 = 3
     2η επανάληψη
            Αφού κ-λ = 10-4 = 6
                 μ = κ DIV λ = 10 DIV 4 = 2
            κ = κ-Χ = 10-3 = 7
            Χ = Χ+1 = 3+1 = 4
     3η επανάληψη
            Αφού κ-λ = 7-4 = 3
                 μ = κ MOD λ = 7 MOD 4  = 3
            κ = κ-Χ = 7-4 = 3
            Χ = Χ+1 = 4+1 = 5
     4η επανάληψη
            Αφού κ-λ = 3-4 = -1
                 μ = (κ+λ)^2 = (3+4)^2 = 7^2 = 49
            κ = κ-Χ = 3-5 = -2
            Χ = Χ+1 = 5+1 = 6
     Αφού κ+2 <= λ = -2+2 <= 4 = 0 <= 4 = ΑΛΗΘΗΣ, η
     ΜΕΧΡΙΣ_ΟΤΟΥ τερματίζεται.
     Κατά συνέπεια ο πίνακας συμπληρωμένος έχει ως εξής:
      
     Αριθμός        Χ        κ        λ      μ    
     γραμμής
          1               2
          2                        12
          3                                   4
          7                                           48
        15                        10
        16               3
          9                                            2
        15                         7
        16               4
        11                                            3
        15                         3
        16               5
        13                                          49
        15                        -2
        16               6

Σάββατο, 24 Ιουλίου 2010

Άσκηση : Βήμα-βήμα εκτέλεση εντολών με υπόδειγμα πίνακα τιμών (Όσο+Αν..τότε..αλλιώς)

Δίνεται το παρακάτω τμήμα προγράμματος στο οποίο έχουν
αριθμηθεί οι γραμμές:
   1   ΔΙΑΒΑΣΕ Χ, Υ
   2   κ <-- 21-Χ
   3   λ <-- Υ+4
   4   ΟΣΟ κ < λ ΕΠΑΝΑΛΑΒΕ
   5        ΑΝ   κ^2+1 < 39 ΤΟΤΕ
   6                μ <-- κ+λ+7
   7        ΑΛΛΙΩΣ
   8                μ <-- κ-λ+3
   9        ΤΕΛΟΣ_ΑΝ
 10         ν <-- 4*μ
 11         κ <-- κ+3
 12   ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Επίσης δίνεται υπόδειγμα πίνακα με συμπληρωμένες
τις αρχικές τιμές των μεταβλητών Χ, Υ.

     Αριθμός        Χ        Υ       κ        λ      μ      ν
     γραμμής
          1               18       6
         ...                ...       ...     ...       ...      ...     ...

Να μεταφέρετε τον πίνακα στο τετράδιό σας και εκτε-
λώντας το τμήμα προγράμματος, να τον συμπληρώσετε
με αρχικές τιμές Χ = 18 και Υ = 6 που ήδη φαίνονται στον
πίνακα. Για κάθε εντολή εκχώρησης τιμής που εκτελείται
να γράψετε σε νέα γραμμή του πίνακα:
   α. Τον αριθμό της γραμμής που βρίσκεται η εντολή
       (στην πρώτη στήλη)
   β. Τη νέα τιμή  της μεταβλητής η οποία επηρεάζεται από
       την εντολή (στην αντίστοιχη στήλη).

Λύση

     Χ = 18, Υ = 6
     κ = 21-Χ = 21-18 = 3
     λ = Υ+4 = 6+4 = 10
     1η επανάληψη
            Αφού κ^2+1 < 39 = 3^2+1 < 39 = 10 < 39 = ΑΛΗΘΗΣ
                 μ = κ+λ+7 = 3+10+7 = 20
            ν = 4*μ = 4*20 = 80
            κ = κ+3 = 3+3 = 6
     2η επανάληψη
            Αφού κ^2+1 < 39 = 6^2+1 < 39 = 37 < 39 = ΑΛΗΘΗΣ
                 μ = κ+λ+7 = 6+10+7 = 23
            ν = 4*μ = 4*23 = 92
            κ = κ+3 = 6+3 = 9
     3η επανάληψη
            Αφού κ^2+1 < 39 = 9^2+1 < 39 = 82 < 39 = ΨΕΥΔΗΣ
                 μ = κ-λ+3 = 9-10+3 = 2
            ν = 4*μ = 4*2 = 8
            κ = κ+3 = 9+3 = 12
     Αφού κ < λ = 12 < 10 = ΨΕΥΔΗΣ, η ΟΣΟ τερματίζεται.
     Κατά συνέπεια ο πίνακας συμπληρωμένος έχει ως εξής:
      
     Αριθμός        Χ        Υ       κ        λ      μ      ν
     γραμμής
          1               18       6
          2                                   3
          3                                            10
          6                                                    20
         10                                                            80
         11                                  6
          6                                                    23
         10                                                            92
         11                                  9
          8                                                   2
         10                                                            8
         11                                12

        

Θέματα απολυτήριων εξετάσεων Δ' τάξης Εσπερινού Γενικού Λυκείου και Εσπερινού ΕΠΑΛ (Ομάδας Β') 2010







\

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

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

Λύση

      ΠΡΟΓΡΑΜΜΑ ΟΔΟΙ
      ΜΕΤΑΒΛΗΤΕΣ
            ΧΑΡΑΚΤΗΡΕΣ: ΟΔ[20], ΟΝ
            ΑΚΕΡΑΙΕΣ: Πληθ, Κ
      ΑΡΧΗ
            Πληθ <-- 0
            ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
                  ΔΙΑΒΑΣΕ ΟΝ
                  ΑΝ ΟΝ < > '   ' ΤΟΤΕ
                       Πληθ <-- Πληθ+1
                       ΟΔ[Πληθ] <-- ΟΝ
                  ΤΕΛΟΣ_ΑΝ
            ΜΕΧΡΙΣ_ΟΤΟΥ (Πληθ = 20) Ή (ΟΝ = '   ')
            ΑΝ Πληθ > 0 ΤΟΤΕ
                   ΓΙΑ Κ ΑΠΟ Πληθ ΜΕΧΡΙ 1 ΜΕ_ΒΗΜΑ -1
                        ΓΡΑΨΕ ΟΔ[Κ]
                   ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
            ΑΛΛΙΩΣ
                   ΓΡΑΨΕ 'Δε δόθηκαν καθόλου δεδομένα!'
            ΤΕΛΟΣ_ΑΝ
      ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Θέματα απολυτήριων εξετάσεων Γ' τάξης Ημερήσιου Γενικού Λυκείου 2010



































Θέματα επαναληπτικών απολυτήριων εξετάσεων Γ' τάξης Ημερήσιου Γενικού Λυκείου 2010








Σχολιασμός των θεμάτων για τις Επαναληπτικές Απολυτήριες εξετάσεις Ημερήσιου Γενικού Λυκείου 2010

Βατά σε γενικές γραμμές τα θέματα, ωστόσο θα' θελα να
κάνω ορισμένες επισημάνσεις.

ΘΕΜΑ Α
* Το ερώτημα Α2 βασίζεται σε άσκηση από το τετράδιο
   μαθητή του σχολικού βιβλίου (κεφάλαιο 8)
* Κάπως παράδοξο είναι το γεγονός να ζητείται ανάπτυξη
   προγράμματος σε υποερώτημα του 1ου θέματος (Α3)

ΘΕΜΑ Β
Και αυτή τη φορά ζητείται να συμπληρωθεί υπόδειγμα
πίνακα τιμών και λαμβάνοντας υπόψιν τα 2α θέματα των
δύο τελευταίων ετών (τόσο στο ημερήσιο όσο και στο
εσπερινό γενικό λύκειο), καταλήγουμε στο συμπέρασμα
ότι πάει να παγιωθεί ως ασκησιακό ζητούμενο από τους
υποψηφίους. Ωστόσο η άσκηση συμπληρώνεται:
* από τη σχεδίαση ενός λογικού διαγράμματος (μειωμένης
   ωστόσο δυσκολίας),
* από τη μετατροπή της ΟΣΟ σε ΜΕΧΡΙΣ_ΟΤΟΥ (εδώ
   πρέπει να ληφθεί υπόψιν η εκφώνηση της άσκησης που
   μας ενημερώνει ότι οι τιμές εισόδου είναι θετικές και
   έτσι δεν απαιτείται ο έλεγχος ΑΝ z < > 0 TOTE πριν
   από τη συγγραφή της ΜΕΧΡΙΣ_ΟΤΟΥ)

ΘΕΜΑ Γ
Μια απλή διαδικασία θα' λεγα χωρίς κάτι το ιδιαίτερο.
Αξίζει ωστόσο να σημειωθεί ότι για πρώτη φορά στα
χρονικά του μαθήματος ζητείται η συγγραφή μόνο του
υποπρογράμματος και όχι του κυρίου προγράμματος
που το καλεί!

ΘΕΜΑ Δ
Αρκετά εύκολο για 4ο θέμα, δεν μπορεί να προβληματίσει
ένα καλά διαβασμένο υποψήφιο.

Λύσεις Επαναληπτικών Απολυτήριων εξετάσεων Γ' τάξης Ημερήσιου Γενικού Λυκείου 2010

ΘΕΜΑ Α
Α1.
    1. ΑΛΗΘΗΣ
    2. ΑΛΗΘΗΣ
    3. ΨΕΥΔΗΣ
    4. ΑΛΗΘΗΣ
    5. ΨΕΥΔΗΣ
    6. ΑΛΗΘΗΣ
    7. ΨΕΥΔΗΣ

Α2.
     ΑΝ (βαθμολογία >= 17) ΚΑΙ (βαθμολογία <= 20) ΤΟΤΕ
          ΓΡΑΨΕ 'ΑΡΙΣΤΑ'
     ΑΛΛΙΩΣ_ΑΝ βαθμολογία >= 15 ΤΟΤΕ
          ΓΡΑΨΕ 'ΠΟΛΥ ΚΑΛΑ'
     ΑΛΛΙΩΣ_ΑΝ βαθμολογία >= 13 ΤΟΤΕ
          ΓΡΑΨΕ 'ΚΑΛΑ'
     ΑΛΛΙΩΣ_ΑΝ βαθμολογία >= 10  ΤΟΤΕ
          ΓΡΑΨΕ 'ΜΕΤΡΙΑ'
     ΑΛΛΙΩΣ
          ΓΡΑΨΕ 'ΑΠΟΡΡΙΠΤΕΤΑΙ'
     ΤΕΛΟΣ_ΑΝ

Α3.
      ΠΡΟΓΡΑΜΜΑ Π3
      ΜΕΤΑΒΛΗΤΕΣ
           ΑΚΕΡΑΙΕΣ: Α[5, 7], Κ, Ρ
           ΠΡΑΓΜΑΤΙΚΕΣ: Β[10], Χ
      ΑΡΧΗ
           ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ 5
               ΓΙΑ Ρ ΑΠΟ 1 ΜΕΧΡΙ 7
                     Α[Κ, Ρ] <-- Κ+Ρ
               ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
           ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
           Χ <-- 300
           ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ 10
                Β[Κ] <-- Χ
                Χ <-- Χ/2
           ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
      ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Α4. Βλέπε σχολικό βιβλίο, σελ. 220

Α5. Βλέπε σχολικό βιβλίο, σελ. 60

ΘΕΜΑ Β

Β1.


Β2. 
          αριθμός              x                  y                 z
          γραμμής
                1                  150              35
                5                                                          35
                8                                                          10
                9                   35
              10                                       10
                8                                                           5
                9                   10
              10                                        5
                8                                                           0
                9                     5
              10                                        0

Β3.
        ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
              z <-- x MOD y
              x <-- y
              y <-- z
        ΜΕΧΡΙΣ_ΟΤΟΥ z = 0 

ΘΕΜΑ Γ

     ΔΙΑΔΙΚΑΣΙΑ ΕΛΕΓΧΟΣ(Χ)
     ΜΕΤΑΒΛΗΤΕΣ
           ΧΑΡΑΚΤΗΡΕΣ: Χ[1000, 3], ΟΝ, ΣΥΝΘ, Ν1, Ν2
           ΑΚΕΡΑΙΕΣ: ΑΑ, Κ
           ΛΟΓΙΚΕΣ: ΒΡΕΘ
     ΑΡΧΗ
           ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
                ΔΙΑΒΑΣΕ ΟΝ
                ΔΙΑΒΑΣΕ ΣΥΝΘ
                ΒΡΕΘ <-- ΨΕΥΔΗΣ
                Κ <-- 1
                ΟΣΟ (Κ <= 1000) ΚΑΙ (ΒΡΕΘ = ΨΕΥΔΗΣ)
                                                       ΕΠΑΝΑΛΑΒΕ
                       ΑΝ (Χ[Κ, 1] = ΟΝ) ΚΑΙ (Χ[Κ, 2] = ΣΥΝΘ) ΤΟΤΕ
                             ΒΡΕΘ <-- ΑΛΗΘΗΣ
                             ΑΑ <-- Κ
                       ΑΛΛΙΩΣ
                             Κ <-- Κ+1
                       ΤΕΛΟΣ_ΑΝ
                ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
                ΑΝ ΒΡΕΘ = ΨΕΥΔΗΣ ΤΟΤΕ
                      ΓΡΑΨΕ 'ΛΑΘΟΣ ΟΝΟΜΑ ΠΡΟΣΒΑΣΗΣ Ή ΣΥΝΘΗΜΑΤΙΚΟ'
                ΤΕΛΟΣ_ΑΝ
           ΜΕΧΡΙΣ_ΟΤΟΥ ΒΡΕΘ = ΑΛΗΘΗΣ
           ΓΡΑΨΕ 'ΚΑΛΩΣ ΗΡΘΑΤΕ'
           ΑΝ Χ[ΑΑ, 3] = 'Α' ΤΟΤΕ
                ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
                      ΔΙΑΒΑΣΕ Ν1
                      ΔΙΑΒΑΣΕ Ν2
                ΜΕΧΡΙΣ_ΟΤΟΥ Ν1 = Ν2
                Χ[ΑΑ, 2] <-- Ν1
                Χ[ΑΑ, 3] <-- 'Σ'
           ΤΕΛΟΣ_ΑΝ
     ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

ΘΕΜΑ Δ
     
     Αλγόριθμος ΘΕΜΑ_Δ
     Δεδομένα // Μ //
     Μολ <-- 0
     Για κ από 1 μέχρι 5000
          Αν Μ[κ] = -1 τότε
               Μολ <-- Μολ+1
          Τέλος_αν
     Τέλος_επανάληψης
     Εμφάνισε 'Πλήθος μολυσμένων :', Μολ
      Αν  Μ[1] = 0 τότε
            Αν Μ[2] = -1 τότε
                 Μ[1] <-- 1
            Τέλος_αν
     Τέλος_αν
     Για κ από 2 μέχρι 4999 τότε
            Αν Μ[κ] = 0 τότε
                Αν Μ[κ-1] = -1 τότε
                     Μ[κ] <-- Μ[κ]+1
                Τέλος_αν
                Αν Μ[κ+1] = -1 τότε
                     Μ[κ] <-- Μ[κ]+1
                Τέλος_αν
            Τέλος_αν
     Τέλος_επανάληψης
     Αν Μ[5000] = 0 τότε
          Αν Μ[4999] = -1 τότε
               Μ[5000] <-- 1
          Τέλος_αν
     Τέλος_αν
     Πληθ <-- 0
     ΒΡΕΘ <-- Ψευδής
     κ <-- 1
     Όσο (κ <= 5000) ΚΑΙ (ΒΡΕΘ = Ψευδής) επανάλαβε
           Αν Μ[κ] = -1 τότε
                Πληθ <-- Πληθ+1
           αλλιώς
                Πληθ <-- 0
           Τέλος_αν
           Αν Πληθ = 2 τότε
                 ΒΡΕΘ <-- Αληθής
                 Θ <-- κ-1
           Τέλος_αν
           Κ <-- Κ+1
     Τέλος_επανάληψης
     Αν ΒΡΕΘ = Αληθής τότε
          Εμφάνισε  'Υπάρχει σημαντική εστία μόλυνσης', Θ
     αλλιώς
          Εμφάνισε 'Δεν υπάρχει σημαντική εστία μόλυνσης'
     Τέλος_αν
     Αποτελέσματα // Μ //
     Τέλος ΘΕΜΑ_Δ

Παρασκευή, 23 Ιουλίου 2010

Ερωτήσεις πολλαπλής επιλογής

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

2. Ποιά από τις παρακάτω  είναι σκοπιά από την οποία
    η Πληροφορική μελετάει τους αλγορίθμους
    α. Υλικού
    β. Λογισμικού
    γ. Τεχνητής νοημοσύνης
    δ. Εμπορευσιμότητας

3. Το πρόβλημα υπολογισμού της περιμέτρου ενός
     ορθογώνιου παραλληλογράμμου είναι:
    α. ανοικτό
    β. επιλύσιμο
    γ. απόφασης
    δ. βελτιστοποίησης

4. Αν ο πίνακας Α[67] είναι ταξινομημένος
    α. το μικρότερο στοιχείο του είναι το Α[1] και το
        μεγαλύτερο το Α[67]
    β. το μικρότερο στοιχείο του είναι το Α[67] και το
        μεγαλύτερο το Α[1]
    γ. το μικρότερο στοιχείο είναι το Α[1] ή το Α[67]
    δ. δεν υπάρχει μέγιστο και ελάχιστο στοιχείο

5. Η συνάρτηση που δέχεται ως παραμέτρους τα μήκη
    α, β των πλευρών ορθογωνίου τριγώνου και υπολογίζει
    το μήκος της υποτείνουσάς του, είναι τύπου:
    α. ΑΚΕΡΑΙΑ
    β. ΛΟΓΙΚΗ
    γ. ΧΑΡΑΚΤΗΡΑΣ
    δ. ΠΡΑΓΜΑΤΙΚΗ

Απάντηση

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

Διορθώστε τις προτάσεις και επαναδιατυπώστε τις

Διορθώστε τις παρακάτω λανθασμένες προτάσεις και
επαναδιατυπώστε τις
1. Ο υπολογισμός του εμβαδού ενός τριγώνου είναι
       παράδειγμα ανοικτού προβλήματος.
   2. Το κριτήριο της εισόδου διασφαλίζει ότι μία ή
       περισσότερες τιμές δεδομένων εισέρχονται σε
       έναν αλγόριθμο.
   3. Οι πίνακες είναι μια εγγραφή δεδομένων.
   4. Η γλώσσα COBOL είναι κατάλληλη για την
       ανάπτυξη επιστημονικών και μαθηματικών
       εφαρμογών.
   5. Η συνάρτηση ΣΥΝΗΜ υπολογίζει το συνημίτονο
       μιας γωνίας.
   6. Σε μια Για..από,..μέχρι, δεν επιτρέπεται μηδενικό
       βήμα γιατί τότε παραβιάζεται το κριτήριο της
       καθοριστικότητας.
   7. Η σειριακή αναζήτηση είναι μια μέθοδος αναζήτησης
       που μπορεί να εφαρμοστεί μόνο όταν ο πίνακας
       είναι ταξινομημένος.
   8. Μια διαδικασία μπορεί να κληθεί μόνο μέσα από
       το κύριο πρόγραμμα.

Απάντηση

   1. Ο υπολογισμός του εμβαδού ενός τριγώνου είναι
       παράδειγμα επιλύσιμου προβλήματος.
   2. Το κριτήριο της εισόδου διασφαλίζει ότι καμία, μία ή
       περισσότερες τιμές δεδομένων εισέρχονται σε
       έναν αλγόριθμο.
   3. Οι πίνακες είναι μια δομή δεδομένων.
   4. Η γλώσσα COBOL είναι κατάλληλη για την
       ανάπτυξη εμπορικών εφαρμογών.
   5. Η συνάρτηση ΣΥΝ υπολογίζει το συνημίτονο
       μιας γωνίας.
   6. Σε μια Για..από,..μέχρι, δεν επιτρέπεται μηδενικό
       βήμα γιατί τότε παραβιάζεται το κριτήριο της
       περατότητας.
   7. Η δυαδική αναζήτηση είναι μια μέθοδος αναζήτησης
       που μπορεί να εφαρμοστεί μόνο όταν ο πίνακας
       είναι ταξινομημένος.
   8. Μια διαδικασία μπορεί να κληθεί μέσα από  το κύριο
       πρόγραμμα ή άλλο υποπρόγραμμα.




 

Άσκηση : Μετατροπές

Ξαναγράψτε το παρακάτω σύνολο εντολών
       Για λ από 2 μέχρι 23 με_βήμα 11
         Διάβασε ψ
         Αν ψ < 10 τότε
               ζ <-- ψ+34
         αλλιώς
                Αν ψ < 21 τότε
                     ζ <-- ζ-1
                αλλιώς
                     ζ <-- ζ+99
                Τέλος_αν
          Τέλος_αν
          Εμφάνισε ζ
    Τέλος_επανάληψης
αντικαθιστώντας :
α) την Για..από..μέχρι με Μέχρις_ότου
β) τις εμφωλευμένες Αν..τότε..αλλιώς με Αν..τότε

Λύση

    λ <-- 2
    Αρχή_επανάληψης
        Διάβασε ψ
        Αν ψ < 10 τότε
               ζ <-- ψ+34
        Τέλος_αν
        Αν (ψ >= 10) ΚΑΙ (ψ < 21) τότε
               ζ <-- ζ-1
        Τέλος_αν
        Αν ψ >= 21 τότε         
               ζ <-- ζ+99
        Τέλος_αν
        Εμφάνισε ζ
        λ <-- λ+11
    Μέχρις_ότου λ > 23

Πέμπτη, 22 Ιουλίου 2010

Συμπλήρωση κενών (χωρίς να δίνονται οι δυνατές επιλογές)

Συμπληρώστε τα κενά που λείπουν
1. Η διατύπωση ενός προβλήματος πρέπει να διακρίνεται
    από σαφήνεια και ________.
2. Το αλγοριθμικό κριτήριο της ______ διασφαλίζει ότι
    ο αλγόριθμος ολοκληρώνεται μετά από πεπερασμένο
    αριθμό βημάτων-εντολών.
3. Η δομή επιλογής είναι μια _______ συνιστώσα.
4. Η ___________ είναι μια λειτουργία επί των δομών
    δεδομένων που αποτελεί το αντίστροφο του διαχω-
    ρισμού.
5. Για να είναι εφικτή η ταξινόμηση των κόμβων α1, α2,
    α3, ..., αν είναι απαραίτητη η ύπαρξη μιας συνάρτησης
    ________.
6. Η γλώσσα FORTRAN είναι μια γλώσσα ____ επιπέδου.
7. Τα μεταφραστικά προγράμματα είναι δύο ειδών :
    οι μεταγλωττιστές και οι _______.
8. Ένα από τα μειονεκτήματα των πινάκων είναι ότι απαιτούν
    _______.
9. Για τον προσδιορισμό του στοιχείου ενός δυσδιάστατου
    πίνακα απαιτούνται δύο ______.
10. Το πέρασμα τιμών ανάμεσα στο κύριο πρόγραμμα και
       στα υποπρογράμματα γίνεται με τη βοήθεια ______.

Απάντηση

    1. ακρίβεια
    2. περατότητας
    3. αλγοριθμική
    4. συγχώνευση
    5. διάταξης
    6. υψηλού
    7. διερμηνευτές
    8. μνήμη
    9. δείκτες
  10. παραμέτρων

Τετάρτη, 21 Ιουλίου 2010

Ερωτήσεις σωστού-λάθους (εφ' όλης της ύλης)

Ποιές από τις παρακάτω προτάσεις είναι σωστές (Σ) και
ποιές λάθος (Λ)
1. Το περιεχόμενο της πραγματικής μεταβλητής Υ είναι
     ακέραιο μόνο όταν Α_Μ(Υ) = Υ.
2.  Μια κατάσταση με προφανή λύση δεν αποτελεί
     πρόβλημα.
3.  Η συνθήκη 'ΠΑΤΕΡΑΣ' < 'ΜΗΤΕΡΑ' είναι Αληθής.
4.  Τη μεγαλύτερη προτεραιότητα από όλους τους
      αριθμητικούς τελεστές έχει η διαίρεση (/).
5.   Η ιεραρχία των λογικών τελεστών είναι μικρότερη από
      αυτή των συγκριτικών.
6.   Η έκφραση μιας εντολής ΕΠΙΛΕΞΕ πρέπει να είναι
      υποχρεωτικά ακεραίου τύπου.
7.   Κάθε εντολή ΟΣΟ..ΕΠΑΝΑΛΑΒΕ μπορεί να
      μετατραπεί σε ΜΕΧΡΙΣ_ΟΤΟΥ και το αντίστροφο.
8.   Υπό προϋποθέσεις, τα στοιχεία ενός πίνακα μπορεί
       να είναι ετερογενή.
9.   Κάθε υποπρόγραμμα υπολογίζει και επιστρέφει τουλάχιστον
      ένα αποτέλεσμα.
10. Η διεύθυνση επιστροφής μιας διαδικασίας είναι μοναδική.

Απάντηση

    1.  Σ
    2.  Σ
    3.  Λ
    4.  Λ
    5.  Σ
    6.  Λ
    7.  Σ
    8.  Λ
    9.  Λ
   10. Σ

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

Γράψτε αλγόριθμο που:
α) διαβάζει τα έτη γέννησης 120 ατόμων,
β) υπολογίζει τις ηλικίες τους για το 2010,
γ) εμφανίζει τους αύξοντες αριθμούς (1-120) και τις
    ηλικίες των ατόμων, κατά φθίνουσα σειρά ως προς
    τις ηλικίες.

Λύση

    Αλγόριθμος ΑΣΚ
    Για λ από 1 μέχρι 120
        Διάβασε ΕΓΕΝ[λ]
        Νο[λ] <-- λ
    Τέλος_επανάληψης
    Για λ από 1 μέχρι 120
        Η[λ] <-- 2010-ΕΓΕΝ[λ]
    Τέλος_επανάληψης
    Για λ από 2 μέχρι 120
         Για κ από 120 μέχρι λ με_βήμα -1
              Αν Η[κ-1] < Η[κ] τότε
                   Β1 <-- Η[κ-1]
                   Η[κ-1] <-- Η[κ]
                   Η[κ] <-- Β1
                   Β2 <-- Νο[κ-1]
                   Νο[κ-1] <-- Νο[κ]
                   Νο[κ] <-- Β2
              Τέλος_αν
         Τέλος_επανάληψης
    Τέλος_επανάληψης
    Για λ από 1 μέχρι 120
        Εμφάνισε Νο[λ], Η[λ]
    Τέλος_επανάληψης

    Τέλος ΑΣΚ

Συμπληρώστε τις σχέσεις

Έστω Μ, Ν ακέραιες μεταβλητές. Συμπληρώστε τα κενά
στις παρακάτω σχέσεις:
     1.  (15*Ν+20*Μ) div 5 =
     2.  (15*N+20*M) mod 5 =
     3.  (6*N+12*M) div 3 =
     4.  (6*N+12*M) mod 3 =
     5.  (N^2+M^2) div (N^2+M^2+1) = 
     6.  (N^2+M^2) mod (N^2+M^2+1) =
    
Απάντηση

     1.  (15*Ν+20*Μ) div 5 = 5*(3*Ν+4*Μ) div 5 = 3*Ν+4*Μ
     2.  (15*N+20*M) mod 5 =  5*(3*Ν+4*Μ) mod 5 = 0
     3.  (6*N+12*M) div 3 = 3*(2*N+4*M) div 3 = 2*N+4*M
     4.  (6*N+12*M) mod 3 = 3*(2*N+4*M) mod 3 = 0
     5.  (N^2+M^2) div (N^2+M^2+1) = 0
     6.  (N^2+M^2) mod (N^2+M^2+1) = N^2+M^2

Άσκηση σε δυσδιάστατο πίνακα

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

Λύση

    ΠΡΟΓΡΑΜΜΑ ΑΣΚ
    ΜΕΤΑΒΛΗΤΕΣ
         ΑΚΕΡΑΙΕΣ: Γ[2, 11], λ, μ, Α, Θ, Σ
         ΠΡΑΓΜΑΤΙΚΕΣ: ΜΟΘ, ΠΟΣΑ
    ΑΡΧΗ
         ΓΙΑ λ ΑΠΟ 1 ΜΕΧΡΙ 11
            ΓΙΑ μ ΑΠΟ 1 ΜΕΧΡΙ 2
                 ΔΙΑΒΑΣΕ Γ[μ, λ]
            ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
         ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
         Α <-- 0
         Θ <-- 0
         Σ <-- 0
         ΓΙΑ μ ΑΠΟ 1 ΜΕΧΡΙ 2
            ΓΙΑ λ ΑΠΟ 1 ΜΕΧΡΙ 11
                 ΑΝ Γ[μ, λ] < 0 ΤΟΤΕ
                      Α <-- Α+1
                 ΤΕΛΟΣ_ΑΝ
                 ΑΝ Γ[μ, λ] > 0 ΤΟΤΕ
                      Θ <-- Θ+1
                      Σ <-- Σ+Γ[μ, λ]
                 ΤΕΛΟΣ_ΑΝ
            ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
         ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
         ΠΟΣΑ <-- 100*Α/22
         ΓΡΑΨΕ 'Ποσοστό αρνητικών :', ΠΟΣΑ, '%'
         ΑΝ Θ > 0 ΤΟΤΕ
               ΜΟΘ <-- Σ/Θ
               ΓΡΑΨΕ 'Μέσος όρος θετικών :', ΜΟΘ
         ΑΛΛΙΩΣ
               ΓΡΑΨΕ 'Δεν υπάρχουν καθόλου θετικές τιμές!'
         ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ