Τετάρτη 26 Νοεμβρίου 2014

Κυκλώστε τα σωστά

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

Απαντήσεις

2, 3, 4

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

Ποιες από τις παρακάτω προτάσεις είναι σωστές και ποιες λάθος;
1. Ο μεταγλωττιστής είναι απαραίτητος για τη μετάφραση ενός
    προγράμματος σε γλώσσα μηχανής.
2. Το λογικό διάγραμμα είναι ένας γραφικός τρόπος αναπαράστασης
    ενός αλγορίθμου.
3. Ο δομημένος προγραμματισμός στηρίζεται στη χρήση των δομών
    ακολουθίας, επιλογής και επανάληψης.
4. Τα λογικά λάθη σ' ένα πρόγραμμα εντοπίζονται ευκολότερα από
     τα συντακτικά.
5. Η γλώσσα COBOL είναι 4ης γενιάς.

Απαντήσεις

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




Μετατροπή

Ξαναγράψτε το παρακάτω σύνολο εντολών
χρησιμοποιώντας μια μόνο Μέχρις_ότου
και μια εντολή Εμφάνισε

     Για κ από 12 μέχρι 19 με_βήμα 9
          Για λ από 22 μέχρι 13 με_βήμα -15
              Για μ από 2 μέχρι 170 με_βήμα 200
                  Για ρ από 45 μέχρι 17 με_βήμα -50
                          Εμφάνισε (λ*κ+ρ)^μ
                  Τέλος_επανάληψης
              Τέλος_επανάληψης
          Τέλος_επανάληψης
     Τέλος_επανάληψης

Λύση
   
      Για κ από 12 μέχρι 19 με_βήμα 9
            Εμφάνισε (22*κ+45)^2
      Τέλος_επανάληψης
    

Μετατροπή

Ξαναγράψτε το παρακάτω σύνολο εντολών με ισοδύναμο
τρόπο αντικαθιστώντας τις εμφωλευμένες δομές επιλογής
με μια Αν..τότε. 
Περιορισμός : Ο μοναδικός λογικός τελεστής που μπορείτε
να χρησιμοποιήσετε είναι ο ΚΑΙ
           Αν Α > 10 τότε
               Αν (Β < 5) Ή (Β = 5) τότε
                    Αν Α_Τ(Γ) < Γ τότε
                         Εμφάνισε Α, Β, Γ
                    αλλιώς
                         Αν ΟΧΙ (Γ mod 6 = 2) τότε
                                Εμφάνισε Α+Β+Γ
                         Τέλος_αν
                    Τέλος_αν
               Τέλος_αν
           Τέλος_αν

Απάντηση
Ξέρουμε ότι Α_Τ(Γ) <= Γ για κάθε τιμή του Γ, κατά συνέπεια
η εντολή  Εμφάνισε Α, Β, Γ δεν εκτελείται ποτέ. Έτσι έχουμε:

 Αν (Α > 10) ΚΑΙ (Β <= 5) ΚΑΙ (Γ mod 6 < > 2) τότε
            Εμφάνισε Α+Β+Γ                        
 Τέλος_αν



Παρασκευή 21 Νοεμβρίου 2014

Έξοδος αποτελεσμάτων

Τι θα εμφανίσει το παρακάτω σύνολο εντολών;
     Για κ από 10 μέχρι 20 με_βήμα 10
         Για λ από 30 μέχρι 10 με_βήμα -10
             Για μ από 20 μέχρι 25 με_βήμα 4
                  Εμφάνισε (κ+λ) div 4 + μ
             Τέλος_επανάληψης
         Τέλος_επανάληψης
     Τέλος_επανάληψης

Λύση

κ = 10
     λ = 30
          μ = 20
                Αφού (κ+λ) div 4 + μ = (10+30) div 4 + 20 =
                          40 div 4 + 20 = 10+20 = 30
           μ = 24
                Αφού (κ+λ) div 4 + μ = (10+30) div 4 + 24 =
                          40 div 4 + 24 = 10+24 = 34
     λ = 20
          μ = 20
                Αφού (κ+λ) div 4 + μ = (10+20) div 4 + 20 =
                          30 div 4 + 20 = 7+20 = 27
           μ = 24
                Αφού (κ+λ) div 4 + μ = (10+20) div 4 + 24 =
                          30 div 4 + 24 = 7+24 = 31
     λ = 10
          μ = 20
                Αφού (κ+λ) div 4 + μ = (10+10) div 4 + 20 =
                         20 div 4 + 20 = 5+20 = 25
           μ = 24
                Αφού (κ+λ) div 4 + μ = (10+10) div 4 + 24 =
                          20 div 4 + 24 = 5+24 = 29
κ = 20
     λ = 30
          μ = 20
                Αφού (κ+λ) div 4 + μ = (20+30) div 4 + 20 =
                          50 div 4 + 20 = 12+20 = 32
           μ = 24
                Αφού (κ+λ) div 4 + μ = (20+30) div 4 + 24 =
                          50 div 4 + 24 = 12+24 = 36
     λ = 20
          μ = 20
                Αφού (κ+λ) div 4 + μ = (20+20) div 4 + 20 =
                          40 div 4 + 20 = 10+20 = 30
           μ = 24
                Αφού (κ+λ) div 4 + μ = (20+20) div 4 + 24 =
                          40 div 4 + 24 = 10+24 = 34
     λ = 10
          μ = 20
                Αφού (κ+λ) div 4 + μ = (20+10) div 4 + 20 =
                         30 div 4 + 20 = 7+20 = 27
           μ = 24
                Αφού (κ+λ) div 4 + μ = (20+10) div 4 + 24 =
                          30 div 4 + 24 = 7+24 = 31
   


   



Πέμπτη 20 Νοεμβρίου 2014

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

Επιλέξτε τη σωστή απάντηση
1. Η ιδανική δομή επανάληψης για τη δημιουργία
    προγράμματος με μενού λειτουργιών είναι η
    α. Μέχρις_ότου
    β. Όσο..επανάλαβε
    γ. Για..από..μέχρι
    δ. Αν..τότε..αλλιώς_αν

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

3. Η ιδανική γλώσσα προγραμματισμού για τη 
    δημιουργία εφαρμογών τεχνητής νοημοσύνης
    είναι η :
    α. JAVA
    β. LISP
    γ. SQL
    δ. ALGOL

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

Απαντήσεις

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



Σάββατο 15 Νοεμβρίου 2014

Συγγραφή διαδικασίας

Γράψτε διαδικασία η οποία δέχεται ως παραμέτρους
δύο ακέραιους αριθμούς Α, Β και εμφανίζει ένα
χαρακτηρισμό για τα πρόσημα τους.
Για παράδειγμα αν Α = 7, Β = -2 θα εμφανίζεται
το μήνυμα:
      Ο πρώτος είναι θετικός και ο δεύτερος αρνητικός
Για παράδειγμα αν Α = -17, Β = 0 θα εμφανίζεται
το μήνυμα:
      Ο πρώτος είναι αρνητικός και ο δεύτερος μηδέν

Λύση

ΔΙΑΔΙΚΑΣΙΑ ΠΡΟΣΗΜΑ(Α, Β)
ΜΕΤΑΒΛΗΤΕΣ
        ΑΚΕΡΑΙΕΣ: Α, Β
ΑΡΧΗ
        ΑΝ Α > 0 ΤΟΤΕ
             ΑΝ Β > 0 ΤΟΤΕ
                  ΓΡΑΨΕ 'Ο πρώτος είναι θετικός και'
                  ΓΡΑΨΕ 'ο δεύτερος είναι θετικός'
             ΑΛΛΙΩΣ_ΑΝ Β = 0 ΤΟΤΕ
                  ΓΡΑΨΕ 'Ο πρώτος είναι θετικός και'
                  ΓΡΑΨΕ 'ο δεύτερος είναι μηδέν'
             ΑΛΛΙΩΣ
                  ΓΡΑΨΕ 'Ο πρώτος είναι θετικός και'
                  ΓΡΑΨΕ 'ο δεύτερος είναι αρνητικός'
             ΤΕΛΟΣ_ΑΝ
        ΑΛΛΙΩΣ_ΑΝ Α = 0 ΤΟΤΕ
             ΑΝ Β > 0 ΤΟΤΕ
                  ΓΡΑΨΕ 'Ο πρώτος είναι μηδέν και'
                  ΓΡΑΨΕ 'ο δεύτερος είναι θετικός'
             ΑΛΛΙΩΣ_ΑΝ Β = 0 ΤΟΤΕ
                  ΓΡΑΨΕ 'Ο πρώτος είναι μηδέν και'
                  ΓΡΑΨΕ 'ο δεύτερος είναι μηδέν'
             ΑΛΛΙΩΣ
                  ΓΡΑΨΕ 'Ο πρώτος είναι μηδέν και'
                  ΓΡΑΨΕ 'ο δεύτερος είναι αρνητικός'
             ΤΕΛΟΣ_ΑΝ
        ΑΛΛΙΩΣ
              ΑΝ Β > 0 ΤΟΤΕ
                  ΓΡΑΨΕ 'Ο πρώτος είναι αρνητικός και'
                  ΓΡΑΨΕ 'ο δεύτερος είναι θετικός'
             ΑΛΛΙΩΣ_ΑΝ Β = 0 ΤΟΤΕ
                  ΓΡΑΨΕ 'Ο πρώτος είναι αρνητικός και'
                  ΓΡΑΨΕ 'ο δεύτερος είναι μηδέν'
             ΑΛΛΙΩΣ
                  ΓΡΑΨΕ 'Ο πρώτος είναι αρνητικός και'
                  ΓΡΑΨΕ 'ο δεύτερος είναι αρνητικός'
             ΤΕΛΟΣ_ΑΝ
        ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ