Κυριακή 22 Μαρτίου 2015

ΛΥΣΕΙΣ ΔΙΑΓΩΝΙΣΜΑΤΟΣ 22/3/2015

ΘΕΜΑ Α:

(Α1)  Λ - Σ - Λ - Σ - Λ - Σ - Λ - Σ - Σ - Λ

(Α2)

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

2. Οι βασικές λειτουργίες (ή αλλιώς πράξεις) επί των δομών δεδομένων είναι οι ακόλουθες:
  • Προσπέλαση 
  • Εισαγωγή 
  • Διαγραφή 
  • Αναζήτηση 
  • Ταξινόμηση 
  • Αντιγραφή 
  • Συγχώνευση
  • Διαχωρισμός 
 Οι τυπικές επεξεργασίες επί των πινάκων είναι:
  • Υπολογισμός αθροισμάτων στοιχείων του πίνακα.
  • Εύρεση του μέγιστου ή του ελάχιστου στοιχείου.
  • Ταξινόμηση των στοιχείων του πίνακα.
  • Αναζήτηση ενός στοιχείου του πίνακα.
  • Συγχώνευση δύο πινάκων.
3. Με αυτό το κριτήριο διακρίνουμε:
  • Γλώσσες γενικής χρήσης, θεωρητικά κάθε γλώσσα γενικής χρήσης μπορεί να χρησιμοποιηθεί για την επίλυση οποιουδήποτε προβλήματος. Στην πράξη ωστόσο κάθε γλώσσα έχει σχεδιαστεί για να ανταποκρίνεται καλύτερα σε ορισμένη κατηγορία προβλημάτων. Διακρίνονται σε:
    • Γλώσσες επιστημονικής κατεύθυνσης (science-oriented languages) π.χ. FORTRAN
    • Γλώσσες εμπορικής κατεύθυνσης (business-oriented languages) π.χ. COBOL.
    Ας σημειωθεί ότι ορισμένες γλώσσες τα καταφέρνουν εξίσου καλά και στους δύο προηγούμενους τομείς π.χ. BASIC, Pascal.
  • Γλώσσες προγραμματισμού συστημάτων (system programming languages) π.χ. C.
  • Γλώσσες τεχνητής νοημοσύνης (artificial intelligence languages) π.χ. LISP, PROLOG.
  • Γλώσσες ειδικής χρήσης. Πρόκειται για γλώσσες που χρησιμοποιούνται σε ειδικές περιοχές εφαρμογών όπως π.χ. στα γραφικά με υπολογιστή, στη ρομποτική, στη σχεδίαση ολοκληρωμένων κυκλωμάτων, στα Συστήματα Διοίκησης Βάσεων Δεδομένων, στην εκπαίδευση μέσω υπολογιστή κ.α
4. Το λεξιλόγιο αποτελείται από ένα υποσύνολο όλων των ακολουθιών που δημιουργούνται από τα στοιχεία του αλφαβήτου, τις λέξεις που είναι δεκτές από την γλώσσα.Τυπικό είναι το σύνολο των κανόνων που ορίζει τις μορφές με τις οποίες μία λέξη είναι αποδεκτή. Η σημασιολογία (Semantics) είναι το σύνολο των κανόνων που καθορίζει το νόημα των λέξεων και κατά επέκταση των εκφράσεων και προτάσεων που χρησιμοποιούνται σε μία γλώσσα.

(Α3)  1 - e      2 - b     3 - c     4 - a     5 - d


(Α4) 

1.

Κ  0
Αρχή_επανάληψης
          Κ  Κ + 1
Μέχρις_ότου Α[K]= 17 ή Κ = 45




2.
Για x από 1 μέχρι 23
       Αντιμετάθεσε A[x+22] , A[24-x]
Τέλος_επανάληψης

3.
Για i από 2 μέχρι 8 με_βήμα 1
       Για j από 50 μέχρι i με_βήμα -1
              Εντολές ταξινόμησης φυσαλίδας
       Τέλος_επανάληψης
Τέλος_επανάληψης


4.


Για j από 1 μέχρι 25

       A[9,j]  0

Τέλος_επανάληψης


Για i από 1 μέχρι 15

       A[i,3]  7

Τέλος_επανάληψης


Για i από 13 μέχρι 15

        Για j από 1 μέχρι 25

               A[i,j]  A[i,j] + 2

        Τέλος_επανάληψης

Τέλος_επανάληψης




(Α5)

1.




Top = 3
Ψηφιακή Σχεδίαση

Δίκτυα Υπολογιστών

Τεχνητή Νοημοσύνη





Top = 4
Δομές Δεδομένων

Ψηφιακή Σχεδίαση

Δίκτυα Υπολογιστών

Τεχνητή Νοημοσύνη









Top = 1
Τεχνητή Νοημοσύνη

δε μπορούν να γίνουν 2 ακόμη απωθήσεις επειδή θα συμβεί υποχείλιση

2.
Για i από 1 μέχρι 5
        Για j από 1 μέχρι 5
                Αν i=j ή i=6-j τότε

                      A[i,j]  7
                αλλιώς
                     A[i,j]  2
                Τέλος_αν  
         Τέλος_επανάληψης
Τέλος_επανάληψης


ΘΕΜΑ Β:

(Β1)

10
0
-5
1
801
3
4
9
28
35
22
5
-50
0
25
0
13
268
327
-8




(Β2)



Κ  0
Για i από 1 μέχρι 20
       Αν Α[i] mod 2 = 0 τότε
             Β[Κ]  Α[i]
             Κ  Κ + 1
       Τέλος_αν
Τέλος_επανάληψης
Για i από 1 μέχρι 20
       Αν Α[i] mod 2 = 1 τότε
             Β[Κ]  Α[i]
             Κ  Κ + 1
       Τέλος_αν
Τέλος_επανάληψης






(Β3)



Για i από 1 μέχρι 2
       Για j από 1 μέχρι 4
              B[j,i]  Α[i,j]
       Τέλος_επανάληψης
Τέλος_επανάληψης






(Β4)



1, 2, 3, 3
3, 4, 5, 5
5, 6, 2, 2
7, 8, 8, 8
9, 10, 1, 1



ΘΕΜΑ Γ:

Αλγόριθμος ΘΕΜΑ_Γ
Για i από 1 μέχρι 22
       Διάβασε ΟΝ[i]
       Για j από 1 μέχρι 4
             Αρχή_επανάληψης
                       Διάβασε Β[i,j]
            Μέχρις_ότου Β[i,j]  0 και Β[i,j]  100
       Τέλος_επανάληψης
Τέλος_επανάληψης
max  -1
Για i από 1 μέχρι 22
       sum  0
       Για j από 1 μέχρι 4
              sum  sum + Β[i,j]
       Τέλος_επανάληψης
       αθρ[i]  sum
       Εμφάνισε sum
       sum_all  sum_all + sum
      Αν sum > max τότε
            max  sum
            team_max  ΟΝ[i]
      Τέλος_αν
Τέλος_επανάληψης
Εμφάνισε team_max
μο  sum_all/22
κοντά  Α_Τ(αθρ[1] - μο)
Για i από 2 μέχρι 22
       Αν Α_Τ(αθρ[i] - μο) > κοντά τότε
             κοντά  Α_Τ(αθρ[i] - μο)
       Τέλος_αν
Τέλος_επανάληψης
Για i από 1 μέχρι 22
       Αν Α_Τ(αθρ[i] - μο) = κοντά τότε
             Εμφάνισε ΟΝ[i]
       Τέλος_αν
Τέλος_επανάληψης
max  Β[1,1]
team_max  ΟΝ[1]
move  1
Για i από 1 μέχρι 22
       Για j από 1 μέχρι 4
              Αν Β[i,j] > max τότε
                    max  Β[i,j]
                     team_max  ΟΝ[i]
                     move  j
        Τέλος_αν
    Τέλος_επανάληψης
Τέλος_επανάληψης
Εμφάνισε team_max,move
Τέλος ΘΕΜΑ_Γ



ΘΕΜΑ Δ:



ΠΡΟΓΡΑΜΜΑ ΘΕΜΑ_Δ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣijΠ[100,7]sumposm
  ΠΡΑΓΜΑΤΙΚΕΣΜΟ[100]temp1
  ΧΑΡΑΚΤΗΡΕΣA[100]ονtemp2
  ΛΟΓΙΚΕΣυπάρχει
ΑΡΧΗ
 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 100
         ΔΙΑΒΑΣΕ A[i]
         ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 7
                ΑΝ j <= 6 ΤΟΤΕ
                      ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
                                  ΔΙΑΒΑΣΕ Π[i,j]
                      ΜΕΧΡΙΣ_ΟΤΟΥ Π[i,j] >= 0 ΚΑΙ Π[i,j] <= 100
               ΑΛΛΙΩΣ
                     ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
                                 ΔΙΑΒΑΣΕ Π[i,j]
                    ΜΕΧΡΙΣ_ΟΤΟΥ (Π[i,j] >= 0 ΚΑΙ Π[i,j] <= 100Η Π[i,j]= -1
              ΤΕΛΟΣ_ΑΝ
         ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 100
         sum 
 0
         ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 6
                 sum 
 sum + Π[i,j]
         ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
         ΜΟ[i] 
 sum/6
         ΓΡΑΨΕ A[i]ΜΟ[i]
 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
 ΔΙΑΒΑΣΕ ον
 υπάρχει 
 ΨΕΥΔΗΣ
 i 
 1
 ΟΣΟ i <= 100 ΚΑΙ υπάρχει = ΨΕΥΔΗΣ ΕΠΑΝΑΛΑΒΕ
          ΑΝ ον = A[i] ΤΟΤΕ
                 υπάρχει 
ΑΛΗΘΗΣ
                 pos 
 i
          ΑΛΛΙΩΣ
                 i 
 i + 1
          ΤΕΛΟΣ_ΑΝ
 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
 ΑΝ υπάρχει = ΑΛΗΘΗΣ ΤΟΤΕ
         m 
 0
         ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 100
                 ΑΝ ΜΟ[pos] > ΜΟ[i] ΤΟΤΕ
                        m 
 m + 1
                ΤΕΛΟΣ_ΑΝ
         ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
         ΓΡΑΨΕ ΜΟ[pos]m
 ΑΛΛΙΩΣ
         ΓΡΑΨΕ 'δε βρέθηκε'
 ΤΕΛΟΣ_ΑΝ
 ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 100
         ΓΙΑ j ΑΠΟ 100 ΜΕΧΡΙ i ΜΕ_ΒΗΜΑ -1
                 ΑΝ ΜΟ[j-1] < ΜΟ[j] ΤΟΤΕ
                         temp1 
 ΜΟ[j-1]
                         ΜΟ[j-1] 
 ΜΟ[j]
                         ΜΟ[j] 
 temp1
                         temp2 
 A[j-1]
                        A[j-1] 
A[j]
                        A[j] 
temp2
                 ΑΛΛΙΩΣ
                       ΑΝ ΜΟ[j-1] = ΜΟ[j] ΤΟΤΕ
                               ΑΝ A[j-1] > A[j] ΤΟΤΕ
                                       temp2 
 A[j-1]
                                       A[j-1] 
 A[j]
                                       A[j] 
 temp2
                               ΤΕΛΟΣ_ΑΝ
                       ΤΕΛΟΣ_ΑΝ
                 ΤΕΛΟΣ_ΑΝ
          ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10
         ΓΡΑΨΕ A[i]
 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
 m 
 0
 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 100
         ΑΝ Π[i,7] <> -1 ΤΟΤΕ
                m 
 m + 1
         ΤΕΛΟΣ_ΑΝ
 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
 ΓΡΑΨΕ m
 m 
← 0
 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 100
         ΑΝ Π[i,7] = 20 ΤΟΤΕ
                 υπάρχει 
 ΨΕΥΔΗΣ
                 j 
 1
                ΟΣΟ j <= 6 ΚΑΙ υπάρχει = ΨΕΥΔΗΣ ΕΠΑΝΑΛΑΒΕ
                         ΑΝ Π[i,j] = 20 ΤΟΤΕ
                                 υπάρχει 
 ΑΛΗΘΗΣ
                         ΑΛΛΙΩΣ
                                  j 
 j + 1
                         ΤΕΛΟΣ_ΑΝ
                ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
                ΑΝ υπάρχει = ΑΛΗΘΗΣ ΤΟΤΕ
                       m 
← m + 1
                ΤΕΛΟΣ_ΑΝ
          ΤΕΛΟΣ_ΑΝ
 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
 ΓΡΑΨΕ m
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ