18
ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ: ΜΕΤΑΠΤΥΧΙΑΚΗ ΕΞΕΙΔΙΚΕΥΣΗ ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ (ΠΛΣ) ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΒΑΣΙΚΕΣ ΕΞΕΙΔΙΚΕΥΣΕΙΣ ΣΕ ΘΕΩΡΙΑ ΚΑΙ ΛΟΓΙΣΜΙΚΟ (ΠΛΣ50) Α' ΤΕΛΙΚΗ ΕΞΕΤΑΣΗ 8 ΙΟΥΝΙΟΥ 2008 – ΑΠΑΝΤΗΣΕΙΣ ΣΤΑ ΘΕΜΑΤΑ ΘΕΜΑ 1 ΜΟΝΑΔΕΣ 2 Ποια τιμή θα επιστρέψει η κλήση της συνάρτησης doSomething(3); int doSomething(int n) { if ( n = 1 ) return 1; return 1 + doSomething(n – 1); } ΑΠΑΝΤΗΣΗ (επιλέξτε μία από τις παρακάτω επιλογές και σημειώστε τη στο φύλλο απαντήσεων) Α Β Γ Δ Ε 1 2 3 4 7 ΘΕΜΑ 2 ΜΟΝΑΔΕΣ 2 Τί θα εμφανίσει στην οθόνη το παρακάτω πρόγραμμα #include <stdio.h> #include <stdlib.h> char *f( char *s) { return( s-- ); } int main(int argc, char *argv){ char *b = “hello world”; b = f ( ++b ); printf(“%s”, b); } ΑΠΑΝΤΗΣΗ (επιλέξτε μία από τις παρακάτω επιλογές και σημειώστε τη στο φύλλο απαντήσεων) Α Β Γ Δ hello world ello world llo world Τίποτε. Θα παράγει σφάλμα αναφοράς μνήμης. ΘΕΜΑ 3 ΜΟΝΑΔΕΣ 4 Ποια πρόταση περιγράφει τη δήλωση της ακόλουθης μεταβλητής p int *(*p[10])(char *); ΑΠΑΝΤΗΣΗ (επιλέξτε μία από τις παρακάτω επιλογές και σημειώστε τη στο φύλλο απαντήσεων) Α Η μεταβλητή p είναι πίνακας που διατηρεί 10 δείκτες προς δείκτη σε συναρτήσεις που λαμβάνουν ως παράμετρο δείκτη προς ακέραιο και επιστρέφουν δείκτη προς χαρακτήρα. Β H μεταβλητή p είναι δείκτης σε πίνακα που διατηρεί 10 δείκτες σε συναρτήσεις που λαμβάνουν ως παράμετρο δείκτη σε χαρακτήρα και επιστρέφουν ακέραιο. Γ Η μεταβλητή p είναι δείκτης σε δείκτη προς πίνακα 10 δεικτών προς συναρτήσεις που λαμβάνουν ως παράμετρο έναν δείκτη προς χαρακτήρα και επιστρέφουν δείκτη προς ακέραιο. Δ Η μεταβλητή p είναι πίνακας που διατηρεί 10 δείκτες προς συναρτήσεις που λαμβάνουν ως παράμετρο δείκτη προς χαρακτήρα και επιστρέφουν δείκτη προς ακέραιο. Ε Καμία από τις παραπάνω. Η δήλωση είναι συντακτικά λάθος.

ΕΛΛΗΝΙΚΟ(ΑΝΟΙΚΤΟ(ΠΑΝΕΠΙΣΤΗΜΙΟ( … fileΠΛΣ50:(ΒΑΣΙΚΕΣ(ΕΞΕΙΔΙΚΕΥΣΕΙΣ(ΣΕ(ΘΕΩΡΙΑΚΑΙ(ΛΟΓΙΣΜΙΚΟ!,!Α'!ΤΕΛΙΚΗ!ΕΞΕΤΑΣΗ!,!8ΙΟΥΝΙΟΥ2008!

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ΕΛΛΗΝΙΚΟ(ΑΝΟΙΚΤΟ(ΠΑΝΕΠΙΣΤΗΜΙΟ( … fileΠΛΣ50:(ΒΑΣΙΚΕΣ(ΕΞΕΙΔΙΚΕΥΣΕΙΣ(ΣΕ(ΘΕΩΡΙΑΚΑΙ(ΛΟΓΙΣΜΙΚΟ!,!Α'!ΤΕΛΙΚΗ!ΕΞΕΤΑΣΗ!,!8ΙΟΥΝΙΟΥ2008!

 

ΕΛΛΗΝΙΚΟ  ΑΝΟΙΚΤΟ  ΠΑΝΕΠΙΣΤΗΜΙΟ  ΠΡΟΓΡΑΜΜΑ  ΣΠΟΥΔΩΝ:  ΜΕΤΑΠΤΥΧΙΑΚΗ  ΕΞΕΙΔΙΚΕΥΣΗ  ΣΤΑ  ΠΛΗΡΟΦΟΡΙΑΚΑ  ΣΥΣΤΗΜΑΤΑ  (ΠΛΣ)  ΘΕΜΑΤΙΚΗ  ΕΝΟΤΗΤΑ:  ΒΑΣΙΚΕΣ  ΕΞΕΙΔΙΚΕΥΣΕΙΣ  ΣΕ  ΘΕΩΡΙΑ  ΚΑΙ  ΛΟΓΙΣΜΙΚΟ  (ΠΛΣ50)  

 

Α'  ΤΕΛΙΚΗ  ΕΞΕΤΑΣΗ  -­‐  8  ΙΟΥΝΙΟΥ  2008  –  ΑΠΑΝΤΗΣΕΙΣ  ΣΤΑ  ΘΕΜΑΤΑ    

ΘΕΜΑ  1   ΜΟΝΑΔΕΣ  2  Ποια  τιμή  θα  επιστρέψει  η  κλήση  της  συνάρτησης  doSomething(3);    int doSomething(int n) { if ( n = 1 ) return 1; return 1 + doSomething(n – 1); }

ΑΠΑΝΤΗΣΗ  (επιλέξτε  μία  από  τις  παρακάτω  επιλογές  και  σημειώστε  τη  στο  φύλλο  απαντήσεων)  Α   Β   Γ   Δ   Ε  

1   2   3   4   7  

 

ΘΕΜΑ  2   ΜΟΝΑΔΕΣ  2  Τί  θα  εμφανίσει  στην  οθόνη  το  παρακάτω  πρόγραμμα  #include <stdio.h> #include <stdlib.h> char *f( char *s) { return( s-- ); } int main(int argc, char *argv){ char *b = “hello world”; b = f ( ++b ); printf(“%s”, b); }

ΑΠΑΝΤΗΣΗ  (επιλέξτε  μία  από  τις  παρακάτω  επιλογές  και  σημειώστε  τη  στο  φύλλο  απαντήσεων)  Α   Β   Γ   Δ    

hello  world   ello  world   llo  world   Τίποτε.  Θα  παράγει  σφάλμα  αναφοράς  μνήμης.    

 

 

ΘΕΜΑ  3   ΜΟΝΑΔΕΣ  4  Ποια  πρόταση  περιγράφει  τη  δήλωση  της  ακόλουθης  μεταβλητής  p  int *(*p[10])(char *);

ΑΠΑΝΤΗΣΗ  (επιλέξτε  μία  από  τις  παρακάτω  επιλογές  και  σημειώστε  τη  στο  φύλλο  απαντήσεων)  Α   Η  μεταβλητή  p  είναι  πίνακας  που  διατηρεί  10  δείκτες  προς  δείκτη  σε  συναρτήσεις  που  λαμβάνουν  ως  

παράμετρο  δείκτη  προς  ακέραιο  και  επιστρέφουν  δείκτη  προς  χαρακτήρα.  

Β   H  μεταβλητή  p  είναι  δείκτης  σε  πίνακα  που  διατηρεί  10  δείκτες  σε  συναρτήσεις  που  λαμβάνουν  ως  παράμετρο  δείκτη  σε  χαρακτήρα  και  επιστρέφουν  ακέραιο.    

Γ   Η  μεταβλητή  p  είναι  δείκτης  σε  δείκτη  προς  πίνακα  10  δεικτών  προς  συναρτήσεις  που  λαμβάνουν  ως  παράμετρο  έναν  δείκτη  προς  χαρακτήρα  και  επιστρέφουν  δείκτη  προς  ακέραιο.  

Δ   Η  μεταβλητή  p  είναι  πίνακας  που  διατηρεί  10  δείκτες  προς  συναρτήσεις  που  λαμβάνουν  ως  παράμετρο  δείκτη  προς  χαρακτήρα  και  επιστρέφουν  δείκτη  προς  ακέραιο.  

Ε   Καμία  από  τις  παραπάνω.  Η  δήλωση  είναι  συντακτικά  λάθος.  

Page 2: ΕΛΛΗΝΙΚΟ(ΑΝΟΙΚΤΟ(ΠΑΝΕΠΙΣΤΗΜΙΟ( … fileΠΛΣ50:(ΒΑΣΙΚΕΣ(ΕΞΕΙΔΙΚΕΥΣΕΙΣ(ΣΕ(ΘΕΩΡΙΑΚΑΙ(ΛΟΓΙΣΜΙΚΟ!,!Α'!ΤΕΛΙΚΗ!ΕΞΕΤΑΣΗ!,!8ΙΟΥΝΙΟΥ2008!

  ΠΛΣ50:  ΒΑΣΙΚΕΣ  ΕΞΕΙΔΙΚΕΥΣΕΙΣ  ΣΕ  ΘΕΩΡΙΑ  ΚΑΙ  ΛΟΓΙΣΜΙΚΟ  -­‐  Α'  ΤΕΛΙΚΗ  ΕΞΕΤΑΣΗ  -­‐  8  ΙΟΥΝΙΟΥ  2008  

 

2    

 

ΘΕΜΑ  4   ΜΟΝΑΔΕΣ  4  Ποιά  από  τις  παρακάτω  συναρτήσεις  εκτελεί  την  ίδια  λειτουργία  με  την  f  .  int f(char *s, char c) { char *s1 = s; while (*s1) { if (*s1 != c ) { ++s1; continue; } return s1 - s; } return -1; }

ΑΠΑΝΤΗΣΗ  (επιλέξτε  μία  από  τις  παρακάτω  επιλογές  και  σημειώστε  τη  στο  φύλλο  απαντήσεων)  Α   int f1(char *s, char c){

char *s1 = s; while (*s1++ != c && *s1) continue; if (*s1) return s1 - s; return -1; }

Β   int f2(char *s, char c){ char *s1; for (s1 = s; *s1 && (*s1 != c); ++s1) ; return *s1 ? s1-s: -1; }

Γ   int f3(char *s, char c) { char *s1 = s; for (;;) if ( *s1 && *s1++ == c ) return s1 - s; return -1; }

Δ   int f4(char *s, char c){ char *s1 = s; while (*++s1 != c && *s1) continue; if (*s1) return s1 - s -1 ; return -1; }

ΘΕΜΑ  5   ΜΟΝΑΔΕΣ  3  Ποια  είναι  η  τιμή  του  a[5]  μετά  την  εκτέλεση  του  ακόλουθου  κώδικα,  όταν  Ν=15;  for (i = 0; i < N; i++) a[i] = N-1 - i; for (i = 0; i < N; i++) a[i] = a[a[i]];

ΑΠΑΝΤΗΣΗ  (επιλέξτε  μία  από  τις  παρακάτω  επιλογές  και  σημειώστε  τη  στο  φύλλο  απαντήσεων)  Α   Β   Γ   Δ   Ε  

5 9     0     1     14  

 

ΘΕΜΑ  6   ΜΟΝΑΔΕΣ  5  

Υποθέστε  ότι  σε  μια  στοίβα  εκτελείται  μια  ακολουθία  λειτουργιών  που  απαρτίζεται  από  λειτουργίες  push  και  pop  (με  οποιαδήποτε  εναλλαγή  μεταξύ  τους).  Οι  λειτουργίες  push  τοποθετούν  με  τη  σειρά  τους  αριθμούς  0  μέχρι  9.  Οι  λειτουργίες  pop  εμφανίζουν  την  τιμή  που  αφαιρέθηκε  από  τη  στοίβα.  Ποια  από  τις  ακόλουθες  σειρές  τιμών  δε  θα  μπορούσε  να  εμφανιστεί;  

Page 3: ΕΛΛΗΝΙΚΟ(ΑΝΟΙΚΤΟ(ΠΑΝΕΠΙΣΤΗΜΙΟ( … fileΠΛΣ50:(ΒΑΣΙΚΕΣ(ΕΞΕΙΔΙΚΕΥΣΕΙΣ(ΣΕ(ΘΕΩΡΙΑΚΑΙ(ΛΟΓΙΣΜΙΚΟ!,!Α'!ΤΕΛΙΚΗ!ΕΞΕΤΑΣΗ!,!8ΙΟΥΝΙΟΥ2008!

  ΠΛΣ50:  ΒΑΣΙΚΕΣ  ΕΞΕΙΔΙΚΕΥΣΕΙΣ  ΣΕ  ΘΕΩΡΙΑ  ΚΑΙ  ΛΟΓΙΣΜΙΚΟ  -­‐  Α'  ΤΕΛΙΚΗ  ΕΞΕΤΑΣΗ  -­‐  8  ΙΟΥΝΙΟΥ  2008  

 

3    

ΑΠΑΝΤΗΣΗ  (επιλέξτε  μία  από  τις  παρακάτω  επιλογές  και  σημειώστε  τη  στο  φύλλο  απαντήσεων)  Α   Β   Γ   Δ  

4  3  2  1  0  9  8  7  6  5   4  6  8  7  5  3  2  9  1  0   2  5  7  6  4  8  9  3  0  1   4  3  2  1  0  5  6  7  8  9  

 

ΘΕΜΑ  7   ΜΟΝΑΔΕΣ  4  Έστω  ότι  μια  στοίβα  υλοποιείται  με  τον  πίνακα  s[0..10].  Στη  στοίβα  αυτή  ένα  στοιχείο  δε  σβήνεται  από  τον  πίνακα  όταν  εξάγεται  από  τη  στοίβα,  αλλά  αλλάζει  μόνον  η  τιμή  της  μεταβλητής  που  δείχνει  την  κορυφή  της  στοίβας.  Θεωρήστε  την  ακόλουθη  σειρά  ενεργειών  στη  στοίβα,  κατά  την  οποία  ένα  γράμμα  αντιστοιχεί  στην  λειτουργία  push  για  αυτό  το  γράμμα  και  ένας  αστερίσκος  αντιστοιχεί  στη  λειτουργία  pop  από  τη  στοίβα.   L A * S T I * N * F I R * S T * * O U * T * * * * * *

Ποια  είναι  τα  περιεχόμενα  των  θέσεων  s[0]  μέχρι  s[4]  μετά  την  ολοκλήρωση  της  παραπάνω  ακολουθίας  λειτουργιών;  

ΑΠΑΝΤΗΣΗ  (επιλέξτε  μία  από  τις  παρακάτω  επιλογές  και  σημειώστε  τη  στο  φύλλο  απαντήσεων)  Α   Β   Γ   Δ   Ε  

L    S    T    F    T   L    S    T    F    Ι   L    A    S    F    O   L    S    T    N    I   L    A    S    T    I    

ΘΕΜΑ  8   ΜΟΝΑΔΕΣ  3  Ποια  τιμή  θα  επιστρέψει  η  παρακάτω  συνάρτηση  εάν  κληθεί  με  είσοδο  τη  ρίζα  του  παρακάτω  δυαδικού  δένδρου;     int puzzle(link x) { if (x == NULL) return 0; else return max(puzzle(x->left), puzzle(x->right)); }

 10

2 9

8

0

16

7

21

3  

ΑΠΑΝΤΗΣΗ  (επιλέξτε  μία  από  τις  παρακάτω  επιλογές  και  σημειώστε  τη  στο  φύλλο  απαντήσεων)  Α     Β   Γ   Δ   E  

0   3   16   10   8  

 

ΘΕΜΑ  9   ΜΟΝΑΔΕΣ  5  

Έστω  το  δυαδικό  δένδρο  αναζήτησης  του  παρακάτω  σχήματος.  Ποια  θα  είναι  η  τελική  μορφή  του  δένδρου  μετά  την  εισαγωγή  των  κόμβων  7,  1,  55,  29  και  19  και  τη  διαγραφή  των  κόμβων  8,  37  και  15  με  αυτή  τη  σειρά;  Στην  περίπτωση  διαγραφής  της  ρίζας  ενός  δένδρου/υποδένδρου  ακολουθείστε  την  προσέγγιση  του  βιβλίου  «Introduction  to  Algorithms»  (ΑΠ0).  

Page 4: ΕΛΛΗΝΙΚΟ(ΑΝΟΙΚΤΟ(ΠΑΝΕΠΙΣΤΗΜΙΟ( … fileΠΛΣ50:(ΒΑΣΙΚΕΣ(ΕΞΕΙΔΙΚΕΥΣΕΙΣ(ΣΕ(ΘΕΩΡΙΑΚΑΙ(ΛΟΓΙΣΜΙΚΟ!,!Α'!ΤΕΛΙΚΗ!ΕΞΕΤΑΣΗ!,!8ΙΟΥΝΙΟΥ2008!

  ΠΛΣ50:  ΒΑΣΙΚΕΣ  ΕΞΕΙΔΙΚΕΥΣΕΙΣ  ΣΕ  ΘΕΩΡΙΑ  ΚΑΙ  ΛΟΓΙΣΜΙΚΟ  -­‐  Α'  ΤΕΛΙΚΗ  ΕΞΕΤΑΣΗ  -­‐  8  ΙΟΥΝΙΟΥ  2008  

 

4    

 

50

15 62

5820

60

5

37

91

24

83

 

 Χρησιμοποιήστε  το  χώρο  στο  φύλο  απαντήσεων  για  να  δώσετε  την  απάντησή  σας    

Σωστή  απάντηση    

50

19 62

5820

60

5 91

243 55

1 29

7

   

 

ΘΕΜΑ  10   ΜΟΝΑΔΕΣ  4  

Σχεδιάστε  το  Δυαδικό  Δέντρο  Αναζήτησης  που  θα  δημιουργηθεί  εάν  εισάγετε  σε  ένα  αρχικά  κενό  δέντρο  δεκατέσσερα  αντικείμενα  χαρακτήρων  με  τις  παρακάτω  τιμές  για  τα  κλειδιά  τους  και  με  τη  σειρά  που  δίνεται  ακολούθως  (αγνοήστε  τα  κενά):  HOW  ARE  YOU  TODAY  Θεωρείστε  ότι  στην  περίπτωση  που  οι  τιμές  δύο  αντικειμένων  είναι  ίδιες  το  αντικείμενο  που  δεν  έχει  τοποθετηθεί  ακόμα  στο  δένδρο  τοποθετείται  στο  αριστερό  υποδένδρο  (μονάδες  2).  Στη  συνέχεια  δώστε  την  preorder  διαπέραση  για  το  δέντρο  που  κατασκευάσατε  (μονάδες  2).  

Page 5: ΕΛΛΗΝΙΚΟ(ΑΝΟΙΚΤΟ(ΠΑΝΕΠΙΣΤΗΜΙΟ( … fileΠΛΣ50:(ΒΑΣΙΚΕΣ(ΕΞΕΙΔΙΚΕΥΣΕΙΣ(ΣΕ(ΘΕΩΡΙΑΚΑΙ(ΛΟΓΙΣΜΙΚΟ!,!Α'!ΤΕΛΙΚΗ!ΕΞΕΤΑΣΗ!,!8ΙΟΥΝΙΟΥ2008!

  ΠΛΣ50:  ΒΑΣΙΚΕΣ  ΕΞΕΙΔΙΚΕΥΣΕΙΣ  ΣΕ  ΘΕΩΡΙΑ  ΚΑΙ  ΛΟΓΙΣΜΙΚΟ  -­‐  Α'  ΤΕΛΙΚΗ  ΕΞΕΤΑΣΗ  -­‐  8  ΙΟΥΝΙΟΥ  2008  

 

5    

Χρησιμοποιήστε  το  χώρο  στο  φύλο  απαντήσεων  για  να  δώσετε  την  απάντησή  σας    

Το  δυαδικό  δέντρο  αναζήτησης  που  δημιουργείται  είναι  το  εξής:  

 H

A O

OE

O

A

D

W

R Y

U Y

T

 preorder  διαπέραση:    HAAEDOOOWRUTYΥ  

 

ΘΕΜΑ  11   ΜΟΝΑΔΕΣ  5  

Σχεδιάστε  έναν  αλγόριθμο  ταξινόμησης  n  τυχαίων  ακέραιων  αριθμών  ο  οποίος  να  χρησιμοποιεί,  ως  δομή  δεδομένων  για  την  ταξινόμηση,  ένα  δυαδικό  δένδρο  αναζήτησης  (μονάδες  3).    Η  πολυπλοκότητα  χρόνου  εκτέλεσης  για  τη  καλύτερη  και  την  χειρότερη  περίπτωση  του  αλγορίθμου  που  σχεδιάσατε  θα  πρέπει  να  είναι  Θ(nlgn)  και  Θ(n2),  αντίστοιχα.  Να  αναφέρετε  με  σύντομη  απόδειξη  τις  πολυπλοκότητες  για  τους  χρόνους  καλύτερης  και  χειρότερης  περίπτωσης  του  αλγορίθμου  που  σχεδιάσατε  (μονάδες  2).  Χρησιμοποιήστε  το  χώρο  στο  φύλο  απαντήσεων  για  να  δώσετε  την  απάντησή  σας    Ο  αλγόριθμος  είναι  ο  εξής:    TREE-­‐SORT(A)  Έστω  ότι  T  είναι  ένα  άδειο  δυαδικό  δένδρο  αναζήτησης  και  Α  ένας  πίνακας  που  περιέχει  τους  τυχαίους  ακέραιους  αριθμούς  for  i  ←  1  to  n            do  TREE-­‐INSERT(T,  A[i  ])  INORDER-­‐TREE-­‐WALK(root[T  ])    Χειρότερη  περίπτωση:  Θ(n2).   Ισχύει  όταν  δημιουγείται  μια  γραμμική  αλυσίδα  κόμβων  από  την  επαναλαμβανόμενη  εισαγωγή  κόμβων  μέσω  της  συνάρτησης  TREE-­‐INSERT.  Καλύτερη   περίπτωση:   Θ(nlgn).   Ισχύει   όταν   δημιουργείται   ένα   δυαδικό   δένδρο   με   ύψος   Θ(lgn)   από   την  επαναλαμβανόμενη  εισαγωγή  κόμβων  μέσω  της  συνάρτησης  TREE-­‐INSERT.  

       

Page 6: ΕΛΛΗΝΙΚΟ(ΑΝΟΙΚΤΟ(ΠΑΝΕΠΙΣΤΗΜΙΟ( … fileΠΛΣ50:(ΒΑΣΙΚΕΣ(ΕΞΕΙΔΙΚΕΥΣΕΙΣ(ΣΕ(ΘΕΩΡΙΑΚΑΙ(ΛΟΓΙΣΜΙΚΟ!,!Α'!ΤΕΛΙΚΗ!ΕΞΕΤΑΣΗ!,!8ΙΟΥΝΙΟΥ2008!

  ΠΛΣ50:  ΒΑΣΙΚΕΣ  ΕΞΕΙΔΙΚΕΥΣΕΙΣ  ΣΕ  ΘΕΩΡΙΑ  ΚΑΙ  ΛΟΓΙΣΜΙΚΟ  -­‐  Α'  ΤΕΛΙΚΗ  ΕΞΕΤΑΣΗ  -­‐  8  ΙΟΥΝΙΟΥ  2008  

 

6    

ΘΕΜΑ  12   ΜΟΝΑΔΕΣ  4  Δίδεται  το  ακόλουθο  ΔΡΔ.  

 

Π1

Π2

Αποθήκη 1 Αποθήκη 2

Μ1

Μ2

Μ3

Μ4

Μ5

Π2

A,B

C

D

E,B

F

G

H

J

G

I

 Ποιες  από  τις  παρακάτω  προτάσεις  είναι  αληθείς;  

ΑΠΑΝΤΗΣΗ  (επιλέξτε  όσες  από  τις  παρακάτω  επιλογές  είναι  σωστές  και  σημειώστε  τις  στο  φύλλο  απαντήσεων)  Α   Η  πηγή  Π1  μπορεί  να  είναι  λογισμικό  (πρόγραμμα).  

Β   Η  ροή  εξόδου  του  Μ1  δεν  μπορεί  να  περιέχει  το  δεδομένο  Β.  

Γ   Ο  μετασχηματισμός  Μ2  μπορεί  να  είναι  κέντρο  δοσοληψιών.  

Δ   Ο  μετασχηματισμός  Μ4  είναι  περιττός.  

Ε   Ο  μετασχηματισμός  Μ5  είναι  περιττός.  

ΣΤ   Η  αποθήκη  2  δεν  μπορεί  να  είναι  υποσύνολο  της  αποθήκης  1.  

 

ΘΕΜΑ  13   ΜΟΝΑΔΕΣ  3  Έστω  το  παρακάτω  ΔΜΚ    που  αναπαριστά  τις  καταστάσεις  ενός  λογισμικού  ανελκυστήρα  με  αυτόματες  πόρτες.    

Αναµονή

Κλέισιµο πόρτας

Άνοιγµα πόρτας

Επιλογή ορόφου

1

2

3

4

5

6

 Ποια  είναι  η  σωστή  επιλογή  καταστάσεων  και  γεγονότων;  

ΑΠΑΝΤΗΣΗ  (επιλέξτε  μία  από  τις  παρακάτω  επιλογές  και  σημειώστε  τη  στο  φύλλο  απαντήσεων)  Α   1:  επιλογή  ορόφου,  2:  επιλογή  λάθος  ορόφου,  3:  πόρτες  έκλεισαν,  4:  κίνηση  ανελκυστήρα,  5:  πρόβλημα  

εκκίνησης,  6:  επιλογή  ορόφου  

Β   1:  επιλογή  λάθους  ορόφου,  2:  πόρτες  δεν  κλείνουν,  3:  πόρτες  έκλεισαν,  4:  Έλεγχος  παραβίασης  βάρους,  5:  άφιξη,  6:  πόρτες  άνοιξαν  

Γ   1:  επιλογή  τρέχοντος  ορόφου,  2:  πόρτες  δεν  κλείνουν,  3:  πόρτες  έκλεισαν,  4:  κίνηση  ανελκυστήρα,  5:  άφιξη,  6:  

Page 7: ΕΛΛΗΝΙΚΟ(ΑΝΟΙΚΤΟ(ΠΑΝΕΠΙΣΤΗΜΙΟ( … fileΠΛΣ50:(ΒΑΣΙΚΕΣ(ΕΞΕΙΔΙΚΕΥΣΕΙΣ(ΣΕ(ΘΕΩΡΙΑΚΑΙ(ΛΟΓΙΣΜΙΚΟ!,!Α'!ΤΕΛΙΚΗ!ΕΞΕΤΑΣΗ!,!8ΙΟΥΝΙΟΥ2008!

  ΠΛΣ50:  ΒΑΣΙΚΕΣ  ΕΞΕΙΔΙΚΕΥΣΕΙΣ  ΣΕ  ΘΕΩΡΙΑ  ΚΑΙ  ΛΟΓΙΣΜΙΚΟ  -­‐  Α'  ΤΕΛΙΚΗ  ΕΞΕΤΑΣΗ  -­‐  8  ΙΟΥΝΙΟΥ  2008  

 

7    

πόρτες  άνοιξαν  

Δ   1:  επιλογή  ισογείου,  2:πόρτες  παραμένουν  ανοιχτές,  3:  πόρτες  μισόκλειστες,  4:  διαδικασίες  έκτακτης  ανάγκης,  5:  τέλος  εκτάκτων  διαδικασιών,  6:    πόρτες  άνοιξαν  

Ε   1:  επιλογή  τρέχοντος  ορόφου,  2:  πρόβλημα  πόρτας,    3:  κίνηση  ανελκυστήρα,  4:  τέλος  κίνησης,    5:  άφιξη,  6:    επιλογή  ορόφου  

 

ΘΕΜΑ  14   ΜΟΝΑΔΕΣ  5  Εστω  το  ακόλουθο  ΔΔΠ.  

 Ποιο  από  τα  παρακάτω  ΔΡΔ  αντιστοιχεί  σε  αυτό  το  ΔΔΠ  σύμφωνα  με  τη  μεθοδολογία  δομημένης  ανάλυσης  και  σχεδίασης;  

ΑΠΑΝΤΗΣΗ  (επιλέξτε  μία  από  τις  παρακάτω  επιλογές  και  σημειώστε  τη  στο  φύλλο  απαντήσεων)    

Α  

 

Β  

Μ1

Μ2

Μ3

Μ4

Μ5

Μ6

A

B

C

D F

H

I

J

E

 

Page 8: ΕΛΛΗΝΙΚΟ(ΑΝΟΙΚΤΟ(ΠΑΝΕΠΙΣΤΗΜΙΟ( … fileΠΛΣ50:(ΒΑΣΙΚΕΣ(ΕΞΕΙΔΙΚΕΥΣΕΙΣ(ΣΕ(ΘΕΩΡΙΑΚΑΙ(ΛΟΓΙΣΜΙΚΟ!,!Α'!ΤΕΛΙΚΗ!ΕΞΕΤΑΣΗ!,!8ΙΟΥΝΙΟΥ2008!

  ΠΛΣ50:  ΒΑΣΙΚΕΣ  ΕΞΕΙΔΙΚΕΥΣΕΙΣ  ΣΕ  ΘΕΩΡΙΑ  ΚΑΙ  ΛΟΓΙΣΜΙΚΟ  -­‐  Α'  ΤΕΛΙΚΗ  ΕΞΕΤΑΣΗ  -­‐  8  ΙΟΥΝΙΟΥ  2008  

 

8    

Γ  

 

Δ  

 

 

ΘΕΜΑ  15   ΜΟΝΑΔΕΣ  4  Ένα  πληροφοριακό  σύστημα  χρησιμοποιεί  ένα  μητρώο  χρηστών  για  να  πιστοποιεί  τους  χρήστες  του.  Οι  υποψήφιοι  νέοι  (δυνητικοί)  χρήστες  υποβάλλουν  τα  στοιχεία  τους  και  το  σύστημα  τα  συγκρίνει  με  αυτά  που  είναι  καταχωρημένα  στο  μητρώο  εγγεγραμμένων  χρηστών  του.  Η  εγγραφή  θεωρείται  επιτυχής  όταν  τα  στοιχεία  του  νέου  χρήστη  δεν  υπάρχουν  ήδη  στο  μητρώο  εγγεγραμμένων  χρηστών.  Σε  περίπτωση  επιτυχούς  εγγραφής  το  σύστημα  ενημερώνει  τον  ενδιαφερόμενο  με  τα  προσωπικά  του  στοιχεία  πρόσβασης  και  ενημερώνει  κατάλληλα  το  μητρώο  εγγεγραμμένων  χρηστών  ώστε  να  μην  είναι  δυνατή  η  εγγραφή  άλλου  χρήστη  με  τα  ίδια  στοιχεία.  Στην  αντίθετη  περίπτωση  το  σύστημα  ενημερώνει  τον  ενδιαφερόμενο  ότι  δεν  είναι  επιτρεπτή  η  εγγραφή  του.  Με  ποια  στοιχεία  πρέπει  να  συμπληρωθούν  οι  Ροές  [1  -­‐  4]  ώστε  το  ακόλουθο  Δ.Ρ.Δ.  να  περιγράφει  την  παραπάνω  διαδικασία;  

Page 9: ΕΛΛΗΝΙΚΟ(ΑΝΟΙΚΤΟ(ΠΑΝΕΠΙΣΤΗΜΙΟ( … fileΠΛΣ50:(ΒΑΣΙΚΕΣ(ΕΞΕΙΔΙΚΕΥΣΕΙΣ(ΣΕ(ΘΕΩΡΙΑΚΑΙ(ΛΟΓΙΣΜΙΚΟ!,!Α'!ΤΕΛΙΚΗ!ΕΞΕΤΑΣΗ!,!8ΙΟΥΝΙΟΥ2008!

  ΠΛΣ50:  ΒΑΣΙΚΕΣ  ΕΞΕΙΔΙΚΕΥΣΕΙΣ  ΣΕ  ΘΕΩΡΙΑ  ΚΑΙ  ΛΟΓΙΣΜΙΚΟ  -­‐  Α'  ΤΕΛΙΚΗ  ΕΞΕΤΑΣΗ  -­‐  8  ΙΟΥΝΙΟΥ  2008  

 

9    

 

ΑΠΑΝΤΗΣΗ  (επιλέξτε  μία  από  τις  παρακάτω  επιλογές  και  σημειώστε  τη  στο  φύλλο  απαντήσεων)  Α   (1):  ΑΦΜ,  Όνομα,  Έτος  Γέννησης,  (2):  ΑΦΜ,  Όνομα,  Έτος  Γέννησης,  

Πατρώνυμο,  (3):  ΑΦΜ,  (4):  Μήνυμα  Β   (1):  ΑΦΜ,  Όνομα,  Έτος  Γέννησης  (2):  Όνομα  πρόσβασης,  Κωδικός  πρόσβασης,  (3):  ΑΦΜ,  

(4):  Μήνυμα  Γ   (1):  Όνομα,  Έτος  Γέννησης  (2):  Όνομα  πρόσβασης,  Κωδικός  πρόσβασης  (3):  Όνομα  πρόσβασης,  Κωδικός  

πρόσβασης    (4):  Μήνυμα  Δ   (1):  Όνομα,  Έτος  Γέννησης  (2):  Όνομα  πρόσβασης  (3):  ΑΦΜ,  (4):  ΑΦΜ  

Ε   (1):  Όνομα,  Έτος  Γέννησης  (2):  Μήνυμα  (3):  Όνομα,  (4):  ΑΦΜ  

 

ΘΕΜΑ  16   ΜΟΝΑΔΕΣ  5  Δίνονται  δύο  διαγράμματα  ροής  δεδομένων  από  τη  γραπτή  εργασία  Ε6,  ως  ακολούθως  

ΧΡΗΣΤΗΣ (ΠΛΗΚΤΡΟΛΟΓΙΟ)

ΧΡΗΣΤΗΣ (ΟΘΟΝΗ)

MENU

CHOICE

MEASUREMENTS ARCHIVE

MRECORD

T2ADD TO

ARCHIVE

T3DISPLAY

MEASUREMENTS

CHOICE=1

CHOICE=2

ΧΡΗΣΤΗΣ (ΠΛΗΚΤΡΟΛΟΓΙΟ)

MDATA

MRECORD

DRECORD

 

ΧΡΗΣΤΗΣ (ΠΛΗΚΤΡΟΛΟΓΙΟ)

ΧΡΗΣΤΗΣ (ΟΘΟΝΗ)

MENU

CHOICE

MRECORD

T2ADD TO

ARCHIVE

T3DISPLAY

MEASUREMENTS

CHOICE=1

CHOICE=2

ΧΡΗΣΤΗΣ (ΠΛΗΚΤΡΟΛΟΓΙΟ)

MDATA

DRECORD

    (Α)   (Β)  Να  γράψετε  την  περιγραφή  των  λειτουργικών  απαιτήσεων  Τ2  και  Τ3  στην  περίπτωση  του  διαγράμματος  (Α)  και  στην  περίπτωση  του  διαγράμματος  (Β)  με  τη  μορφή  "Περιγραφή  -­‐  Είσοδος  -­‐  Επεξεργασία  -­‐  Εξοδος"  Χρησιμοποιήστε  το  χώρο  στο  φύλο  απαντήσεων  για  να  δώσετε  την  απάντησή  σας    

Περίπτωση  (Α)  

Page 10: ΕΛΛΗΝΙΚΟ(ΑΝΟΙΚΤΟ(ΠΑΝΕΠΙΣΤΗΜΙΟ( … fileΠΛΣ50:(ΒΑΣΙΚΕΣ(ΕΞΕΙΔΙΚΕΥΣΕΙΣ(ΣΕ(ΘΕΩΡΙΑΚΑΙ(ΛΟΓΙΣΜΙΚΟ!,!Α'!ΤΕΛΙΚΗ!ΕΞΕΤΑΣΗ!,!8ΙΟΥΝΙΟΥ2008!

  ΠΛΣ50:  ΒΑΣΙΚΕΣ  ΕΞΕΙΔΙΚΕΥΣΕΙΣ  ΣΕ  ΘΕΩΡΙΑ  ΚΑΙ  ΛΟΓΙΣΜΙΚΟ  -­‐  Α'  ΤΕΛΙΚΗ  ΕΞΕΤΑΣΗ  -­‐  8  ΙΟΥΝΙΟΥ  2008  

 

10    

Απαίτηση  1  Περιγραφή:  Ο  χρήστης  δίνει  από  το  πληκτρολόγιο  δεδομένα  μετρήσεων  και  το  λογισμικό  τα  αποθηκεύει  σε  αρχείο  Είσοδοι:  τα  δεδομένα  μετρήσεων  από  το  πληκτρολόγιο  Επεξεργασία:  ετοιμασία  της  εγγραφής  Εξοδοι:  το  ενημερωμένο  αρχείο  με  τα  δεδομένα  μετρήσεων    Απαίτηση  2  Περιγραφή:  Διάβασμα  και  απεικόνιση  των  δεδομένων  μετρήσεων  στην  οθόνη  Είσοδοι:  τα  δεδομένα  μετρήσεων  από  το  αρχείο  Επεξεργασία:  ετοιμασία  της  εμφάνισης  των  δεδομένων  Εξοδοι:  τα  δεδομένα  μετρήσεων  στην  οθόνη    Περίπτωση  (Β)  Απαίτηση  1  (όπως  ακριβώς  πριν)    Απαίτηση  2  Περιγραφή:  Διάβασμα  και  απεικόνιση  των  δεδομένων  μετρήσεων  στην  οθόνη  Είσοδοι:  τα  δεδομένα  μετρήσεων  από  τον  χρήστη  Επεξεργασία:  ετοιμασία  της  εμφάνισης  των  δεδομένων  Εξοδοι:  τα  δεδομένα  μετρήσεων  στην  οθόνη    

 

ΘΕΜΑ  17   ΜΟΝΑΔΕΣ  6  Δίνονται  και  πάλι  τα  δύο  διαγράμματα  ροής  δεδομένων  από  τη  γραπτή  εργασία  Ε6:  

ΧΡΗΣΤΗΣ (ΠΛΗΚΤΡΟΛΟΓΙΟ)

ΧΡΗΣΤΗΣ (ΟΘΟΝΗ)

MENU

CHOICE

MEASUREMENTS ARCHIVE

MRECORD

T2ADD TO

ARCHIVE

T3DISPLAY

MEASUREMENTS

CHOICE=1

CHOICE=2

ΧΡΗΣΤΗΣ (ΠΛΗΚΤΡΟΛΟΓΙΟ)

MDATA

MRECORD

DRECORD

 

ΧΡΗΣΤΗΣ (ΠΛΗΚΤΡΟΛΟΓΙΟ)

ΧΡΗΣΤΗΣ (ΟΘΟΝΗ)

MENU

CHOICE

MRECORD

T2ADD TO

ARCHIVE

T3DISPLAY

MEASUREMENTS

CHOICE=1

CHOICE=2

ΧΡΗΣΤΗΣ (ΠΛΗΚΤΡΟΛΟΓΙΟ)

MDATA

DRECORD

    (Α)   (Β)  Να  κατασκευάσετε  τα  αντίστοιχα  ΔΔΠ  και  να  σχολιάσετε  τη  διαφορά  τους.  Χρησιμοποιήστε  το  χώρο  στο  φύλο  απαντήσεων  για  να  δώσετε  την  απάντησή  σας    

Για  το  (Α)  

Page 11: ΕΛΛΗΝΙΚΟ(ΑΝΟΙΚΤΟ(ΠΑΝΕΠΙΣΤΗΜΙΟ( … fileΠΛΣ50:(ΒΑΣΙΚΕΣ(ΕΞΕΙΔΙΚΕΥΣΕΙΣ(ΣΕ(ΘΕΩΡΙΑΚΑΙ(ΛΟΓΙΣΜΙΚΟ!,!Α'!ΤΕΛΙΚΗ!ΕΞΕΤΑΣΗ!,!8ΙΟΥΝΙΟΥ2008!

  ΠΛΣ50:  ΒΑΣΙΚΕΣ  ΕΞΕΙΔΙΚΕΥΣΕΙΣ  ΣΕ  ΘΕΩΡΙΑ  ΚΑΙ  ΛΟΓΙΣΜΙΚΟ  -­‐  Α'  ΤΕΛΙΚΗ  ΕΞΕΤΑΣΗ  -­‐  8  ΙΟΥΝΙΟΥ  2008  

 

11    

MAIN

Get_CHOICE Validate_C Run2 Run3

CHOICE

CH

OIC

E=1

CHOICE=2 CHOICECHOICE

Calc MRECORD

Put MRECORD

MR

ECO

RD

Get MDATA

MDA

TA

MD

ATA

MRECORD

Get MRECORD

Calc DRECORD

Put DRECORD

MRE

CORD DRECORD

MRECORD

DRECORD

 Για  το  (Β)  

MAIN

Get_CHOICE Validate_C

Run2

Run3

CHOICE

CHOICE=1

CHOICE=2

CHOI

CE

CHOICE

Calc MRECORD

MR

ECO

RD

Get MDATA

MDA

TA MD

ATA

Calc DRECORD

Put DRECORD

MRE

CORD DRECORD

MRECORD

DRECORD

 Παρατηρούμε  ότι  στη  δεύτερη  περίπτωση  η  κλήση  της  "Run2"  γίνεται  είτε  κατευθείαν  από  το  μενού,  είτε  από  την  Run3.  Αυτό  οφείλεται  στο  γεγονός  ότι  στην  περίπτωση  αυτή  οι  μετασχηματισμοί  Τ2  και  Τ3  δεν  επικοινωνούν  μέσω  της  αποθήκης  δεδομένων,  αλλά  άμεσα.  Στην  πράξη  αυτό  σημαίνει  ότι  κάθε  φορά  που  θα  καλείται  η  Run3  για  να  εμφανίσει  μετρήσεις,  θα  καλείται  και  η  Run2  για  να  τις  διαβάσει,  πράγμα  που  δεν  είναι  πρακτικό  από  την  πλευρά  του  χρήστη.  

 

ΘΕΜΑ  18   ΜΟΝΑΔΕΣ  3  Δίνεται  ο  παρακάτω  κατευθυνόμενος  γράφος.    

 Βρείτε  τη  σειρά  με  την  οποία  επισκέπτεται  ο  αλγόριθμος  depth-­‐first  search  τις  κορυφές  (η  σειρά  αφορά  το  πότε  κάθε  κορυφή  γίνεται  "γκρι"  με  βάση  την  σημειογραφία  του  ΑΠ0),  θεωρώντας  ότι  ο  depth-­‐first  search  επιλέγει  τις  κορυφές  με  λεξικογραφική  προτεραιότητα.    

ΑΠΑΝΤΗΣΗ  (επιλέξτε  μία  από  τις  παρακάτω  επιλογές  και  σημειώστε  τη  στο  φύλλο  απαντήσεων)  Α     Β   Γ     Δ   E  

ΑΔΗΒΓΕΘΖΙ   ΑΒΓΔΕΖΗΘΙ   ΑΔΒΓΕΖΗΘΙ   ΑΔΒΓΕΖΗΙΘ   ΑΔΓΒΕΖΗΘΙ  

   

Α  

Β  

Γ   Δ  Ε   Ζ  

Η  

Θ  

Ι  

Page 12: ΕΛΛΗΝΙΚΟ(ΑΝΟΙΚΤΟ(ΠΑΝΕΠΙΣΤΗΜΙΟ( … fileΠΛΣ50:(ΒΑΣΙΚΕΣ(ΕΞΕΙΔΙΚΕΥΣΕΙΣ(ΣΕ(ΘΕΩΡΙΑΚΑΙ(ΛΟΓΙΣΜΙΚΟ!,!Α'!ΤΕΛΙΚΗ!ΕΞΕΤΑΣΗ!,!8ΙΟΥΝΙΟΥ2008!

  ΠΛΣ50:  ΒΑΣΙΚΕΣ  ΕΞΕΙΔΙΚΕΥΣΕΙΣ  ΣΕ  ΘΕΩΡΙΑ  ΚΑΙ  ΛΟΓΙΣΜΙΚΟ  -­‐  Α'  ΤΕΛΙΚΗ  ΕΞΕΤΑΣΗ  -­‐  8  ΙΟΥΝΙΟΥ  2008  

 

12    

ΘΕΜΑ  19   ΜΟΝΑΔΕΣ  4  

Δίνεται  ο  παρακάτω  κατευθυνόμενος  μη  κυκλικός  γράφος.  Εφαρμόστε  τον  αλγόριθμο  TOPOLOGICAL-­‐SORT  στον  συγκεκριμένο  γράφο  και  βρείτε  τη  σειρά  τοποθέτησης  των  κόμβων  στην  τελική  διάταξη,  θεωρώντας  ότι  ο  depth-­‐first  search  επιλέγει  τις  κορυφές  με  λεξικογραφική  προτεραιότητα.  Ποια  είναι  η  θέση  του  κόμβου  Ε  σε  αυτή  τη  σειρά;  

 

ΑΠΑΝΤΗΣΗ  (επιλέξτε  μία  από  τις  παρακάτω  επιλογές  και  σημειώστε  τη  στο  φύλλο  απαντήσεων)  Α     Β   Γ   Δ   E  

2   3   4   5   6  

 Η  τελική  διάταξη  των  κόμβων  στον  αλγόριθμο  TOPOLOGICAL-­‐SORT  βασίζεται  στο  πότε  οι  κόμβοι  γίνονται  "μαύροι"  σύμφωνα  με  τη  σημειογραφία  του  ΑΠ0.  Στο  παρακάτω  σχήμα  φαίνονται  οι  δύο  χρόνοι  που  αφορούν  κάθε  κόμβο,  δηλαδή  πότε  αυτός  γίνεται  γκρι  και  πότε  γίνεται  μαύρος.  

 Με  βάση  τους  παραπάνω  χρόνους,  η  διάταξη  των  κόμβων  είναι  η  εξής:  ΒàΓàΑàΔàΕàΖàΗàΘàΙ      

ΘΕΜΑ  20   ΜΟΝΑΔΕΣ  6  Έχουμε  τρεις  στύλους,  Α,  Β  και  Γ,  και  τρεις  δίσκους,  έναν  μεγάλο,  έναν  μεσαίο  και  έναν  μικρό.  Οι  δίσκοι  βρίσκονται  αρχικά  στον  αριστερό  στύλο,  όπως  φαίνεται  παρακάτω,  με  τον  μεγάλο  δίσκο  κάτω,  και  τον  μικρό  επάνω.    

 Μπορούμε  να  μετακινούμε  έναν  δίσκο  από  έναν  στύλο  σε  έναν  άλλο,  με  την  προϋπόθεση  ότι  στην  προηγούμενη  του  θέση  ήταν  ο  κορυφαίος  δίσκος  του  στύλου,  ενώ  στη  νέα  του  θέση  δεν  θα  βρίσκεται  πάνω  από  άλλον  μικρότερο  δίσκο.  Για  την  περιγραφή  των  διατάξεων  των  δίσκων  χρησιμοποιούμε  το  συμβολισμό  [Χ,Υ,Ζ],  όπου  Χ  ο  στύλος  όπου  βρίσκεται  ο  μεγάλος  δίσκος,  Υ  ο  στύλος  που  βρίσκεται  ο  μεσαίος  δίσκος  και  Ζ  ο  στύλος  όπου  βρίσκεται  ο  μικρός  δίσκος,  Χ,Υ,Ζ∈{Α,Β,Γ}.  Ζητείται   να   κατασκευάσετε   το   γράφο   που   περιγράφει   όλες   τις   δυνατές   τοποθετήσεις   των   δίσκων   στους   τρεις  στύλους.   Κάθε   κόμβος   του   γράφου  θα  αντιστοιχεί  σε  μια  διάταξη   των  δίσκων  στους  στύλους,   ενώ  δύο  κόμβοι  θα  

Α   Β   Γ  

Α  

Β  

Γ   Δ  Ε   Ζ  

Η  

Θ  

Ι  

1/14  15/18  

16/17   2/13  3/12  

5/10  

4/11  7/8  

6/9  

Α  

Β  

Γ   Δ  Ε   Ζ  

Η  

Θ  

Ι  

Page 13: ΕΛΛΗΝΙΚΟ(ΑΝΟΙΚΤΟ(ΠΑΝΕΠΙΣΤΗΜΙΟ( … fileΠΛΣ50:(ΒΑΣΙΚΕΣ(ΕΞΕΙΔΙΚΕΥΣΕΙΣ(ΣΕ(ΘΕΩΡΙΑΚΑΙ(ΛΟΓΙΣΜΙΚΟ!,!Α'!ΤΕΛΙΚΗ!ΕΞΕΤΑΣΗ!,!8ΙΟΥΝΙΟΥ2008!

  ΠΛΣ50:  ΒΑΣΙΚΕΣ  ΕΞΕΙΔΙΚΕΥΣΕΙΣ  ΣΕ  ΘΕΩΡΙΑ  ΚΑΙ  ΛΟΓΙΣΜΙΚΟ  -­‐  Α'  ΤΕΛΙΚΗ  ΕΞΕΤΑΣΗ  -­‐  8  ΙΟΥΝΙΟΥ  2008  

 

13    

συνδέονται  με  ακμή  εάν  είναι  δυνατόν  να  πάμε  από  τη  μία  διάταξη  στην  άλλη  με  μία  μόνο  μετακίνηση  δίσκου.    Για  παράδειγμα,  η  αρχική  κατάσταση  είναι  η  [Α,Α,Α],  ενώ  αν  μετακινήσουμε  τον  μικρό  δίσκο  στον  στύλο  Γ,  έχουμε  την   κατάσταση   [Α,Α,Γ].   Οι   δύο   αυτές   καταστάσεις   συνδέονται   με   ακμή,   όπως   φαίνεται   στο   παρακάτω   σχήμα.  Σημειώνεται  ότι  οι  ακμές  του  γράφου  είναι  μη  κατευθυνόμενες,  μιας  και  οποιαδήποτε  μετακίνηση  δίσκου  μπορεί  να  αντιστραφεί.  

 Για  λόγους  οικονομίας  χώρου  ζητείται  να  περιγράψετε  το  γράφο  με  λίστες  γειτνίασης,  δίνοντας  για  κάθε  κόμβο  του  γράφου,  τους  απέναντι  κόμβους  των  προσπιπτουσών  ακμών.  Για  παράδειγμα,  η  λίστα  γειτνίασης  του  κόμβου  [Α,Α,Α]  είναι  η  εξής:  [Α,Α,Α]à[Α,Α,Β],  [Α,Α,Γ]  Σημείωση:  Το  πλήθος  των  κόμβων  του  γράφου  είναι  27,  μιας  και  κάθε  δίσκος  μπορεί  να  βρίσκεται  σε  3  διαφορετικές  θέσεις.  Χρησιμοποιήστε  το  χώρο  στο  φύλο  απαντήσεων  για  να  δώσετε  την  απάντησή  σας    

ΑΠΑΝΤΗΣΗ  

 [Α,Α,Α]  à[Α,Α,Β],  [Α,Α,Γ]  [Α,Α,Β]  à[Α,Α,Α],  [Α,Α,Γ],  [Α,Γ,Β]  [Α,Α,Γ]  à[Α,Α,Α],  [Α,Α,Β],  [Α,Β,Γ]  [Α,Β,Α]  à[Α,Β,Β],  [Α,Β,Γ],  [Α,Γ,Α]  [Α,Β,Β]  à[  Α,Β,Α],  [Α,Β,Γ],  [Γ,Β,Β]  [Α,Β,Γ]  à[Α,Β,Α],  [Α,Β,Β],  [Α,Α,Γ]  [Α,Γ,Α]  à[Α,Β,Α],  [Α,Γ,Β],  [Α,Γ,Γ]  [Α,Γ,Β]  à[Α,Α,Β],  [Α,Γ,Α],  [Α,Γ,Γ]  [Α,Γ,Γ]  à[Α,Γ,Α],  [Α,Γ,Β],  [Β,Γ,Γ]  [Β,Α,Α]  à[Β,Α,Β],  [Β,Α,Γ],  [Γ,Α,Α]  [Β,Α,Β]  à[Β,Α,Α],  [Β,Α,Γ],  [Β,Γ,Β]  [Β,Α,Γ]  à[Β,Α,Α],  [Β,Α,Β],  [Β,Β,Γ]  [Β,Β,Α]  à[Β,Β,Β],  [Β,Β,Γ],  [Β,Γ,Α]  [Β,Β,Β]  à[Β,Β,Α],  [Β,Β,Γ]  [Β,Β,Γ]  à[Β,Β,Α],  [Β,Β,Β],  [Β,Α,Γ]  [Β,Γ,Α]  à[Β,Γ,Β],  [Β,Γ,Γ],  [Β,Β,Α]  [Β,Γ,Β]  à[Β,Γ,Α],  [Β,Γ,Γ],  [Β,Α,Β]  [Β,Γ,Γ]  à[Β,Γ,Α],  [Β,Γ,Β],  [Α,Γ,Γ]  [Γ,Α,Α]  à[Β,Α,Α],  [Γ,Α,Β],  [Γ,Α,Γ]  [Γ,Α,Β]  à[Γ,Α,Α],  [Γ,Α,Γ],  [Γ,Γ,Β]  [Γ,Α,Γ]  à[Γ,Α,Α],  [Γ,Α,Β],  [Γ,Β,Γ]  [Γ,Β,Α]  à[Γ,Β,Β],  [Γ,Β,Γ],  [Γ,Γ,Α]  [Γ,Β,Β]  à[Α,Β,Β],  [Γ,Β,Α],  [Γ,Β,Γ]  [Γ,Β,Γ]  à[Γ,Α,Γ],  [Γ,Β,Α],  [Γ,Β,Β]  [Γ,Γ,Α]  à[Γ,Β,Α],  [Γ,Γ,Β],  [Γ,Γ,Γ]  [Γ,Γ,Β]  à[Γ,Α,Β],  [Γ,Γ,Α],  [Γ,Γ,Γ]  [Γ,Γ,Γ]  à[Γ,Γ,Α],  [Γ,Γ,Β]  

 

ΘΕΜΑ  21   ΜΟΝΑΔΕΣ  3  

Δίνονται  οι  παρακάτω  τρεις  γράφοι.  Σε  κάθε  έναν  από  αυτούς  θέλετε  να  βρείτε  την  ελάχιστη  απόσταση  όλων  των  κόμβων  από  τον  κόμβο  Α.  Για  κάθε  ένα  από  τους  τρεις  διαθέσιμους  αλγόριθμους  εύρεσης  ελάχιστων  αποστάσεων  σε  γράφους  (Bellman-­‐Ford,  DAG-­‐SHORTEST-­‐PATHS  και  Dijkstra)  διαλέξτε  έναν  γράφο  ο  οποίος  να  είναι  κατάλληλος  για  να  αποτελέσει  είσοδο  στον  αλγόριθμο  αυτό.  

[Α,Α,Α]   [Α,Α,Γ]  

Page 14: ΕΛΛΗΝΙΚΟ(ΑΝΟΙΚΤΟ(ΠΑΝΕΠΙΣΤΗΜΙΟ( … fileΠΛΣ50:(ΒΑΣΙΚΕΣ(ΕΞΕΙΔΙΚΕΥΣΕΙΣ(ΣΕ(ΘΕΩΡΙΑΚΑΙ(ΛΟΓΙΣΜΙΚΟ!,!Α'!ΤΕΛΙΚΗ!ΕΞΕΤΑΣΗ!,!8ΙΟΥΝΙΟΥ2008!

  ΠΛΣ50:  ΒΑΣΙΚΕΣ  ΕΞΕΙΔΙΚΕΥΣΕΙΣ  ΣΕ  ΘΕΩΡΙΑ  ΚΑΙ  ΛΟΓΙΣΜΙΚΟ  -­‐  Α'  ΤΕΛΙΚΗ  ΕΞΕΤΑΣΗ  -­‐  8  ΙΟΥΝΙΟΥ  2008  

 

14    

     

ΑΠΑΝΤΗΣΗ  (Σημειώστε  στο  φύλλο  απαντήσεων  σε  ποιο  γράφο  πιστεύετε  ότι  αντιστοιχεί  κάθε  αλγόριθμος)  Bellman-­‐Ford   DAG-­‐SHORTEST-­‐

PATHS  Dijkstra  

Γράφος  Β.    Ο  αλγόριθμος  Χρησιμοποιείται  σε  οποιονδήποτε  γράφο.  Σε  περίπτωση  που  υπάρχει  αρνητικός  κύκλος  επιστρέφει  αποτυχία.  

Γράφος  Α.    Ο  αλγόριθμος  χρησιμοποιείται  μόνο  σε  ακυκλικούς  γράφους,  ανεξαρτήτως  αν  έχουν  αρνητικά  βάρη  ή  όχι.  

Γράφος  Γ.    Ο  αλγόριθμος  χρησιμοποιείται  μόνο  σε  γράφους  με  θετικά  βάρη,  ανεξαρτήτως  εάν  έχουν  κύκλο  ή  όχι.  

 

ΘΕΜΑ  22   ΜΟΝΑΔΕΣ  4  

Έστω  τα  σύνολα  θετικών  ακεραίων  αριθμών  Α  και  Β,  τέτοια  ώστε  Α={2,3,4,5}  και  Β={1,2,3,4}.  Μπορείτε  να  αναδιατάξετε  τα  σύνολα  αυτά  με  όποιον  τρόπο  θέλετε.  Έστω  ai  το  i-­‐οστό  στοιχείο  του  συνόλου  Α  μετά  την  αναδιάταξη  και  bi  το  i-­‐οστό  στοιχείο  του  συνόλου  Β  μετά  την  αναδιάταξη.  Στόχος  σας  είναι  να  μεγιστοποιήσετε  το  

γινόμενο  ∏ =

4

1ibiia .  Ποια  είναι  η  μέγιστη  τιμή  του  γινομένου  αυτού  που  μπορείτε  να  πετύχετε;  

ΑΠΑΝΤΗΣΗ  (επιλέξτε  μία  από  τις  παρακάτω  επιλογές  και  σημειώστε  τη  στο  φύλλο  απαντήσεων)  Α    34.560   Β    96.000   Γ    720.000   Δ    3.750.000   Ε    18.750.000  

    Γ      

 

ΘΕΜΑ  23   ΜΟΝΑΔΕΣ  6  

Έστω  ο  παρακάτω  γράφος  με  τα  αντίστοιχα  βάρη  στις  ακμές  του.  Επίσης,  οι  π-­‐τιμές  και  οι  d-­‐τιμές  που  έχουν  υπολογιστεί  στα  πλαίσια  του  αλγόριθμου  του  Dijkstra.  Θα  μπορούσαν  αυτές  οι  τιμές  να  αποτελούν  αποτέλεσμα  ορθής  εκτέλεσης  του  αλγορίθμου  του  Dijkstra  στον  παρακάτω  γράφο;  Εάν  όχι,  για  ποιό  λόγο;  (μονάδες  4)  Εάν  ναι,  είναι  αυτές  οι  τιμές  οι  μοναδικές  ορθές  τιμές  που  θα  μπορούσαν  να  προκύψουν;  (μονάδες  2)  

1  Α   Β  

Γ   Δ  

3   -­‐2   1  

3  

1  Α   Β  

Γ   Δ  

3   -­‐2   1  

3  

1  Α   Β  

Γ   Δ  

3   2   1  

3  

Α   Β  

Γ  

Page 15: ΕΛΛΗΝΙΚΟ(ΑΝΟΙΚΤΟ(ΠΑΝΕΠΙΣΤΗΜΙΟ( … fileΠΛΣ50:(ΒΑΣΙΚΕΣ(ΕΞΕΙΔΙΚΕΥΣΕΙΣ(ΣΕ(ΘΕΩΡΙΑΚΑΙ(ΛΟΓΙΣΜΙΚΟ!,!Α'!ΤΕΛΙΚΗ!ΕΞΕΤΑΣΗ!,!8ΙΟΥΝΙΟΥ2008!

  ΠΛΣ50:  ΒΑΣΙΚΕΣ  ΕΞΕΙΔΙΚΕΥΣΕΙΣ  ΣΕ  ΘΕΩΡΙΑ  ΚΑΙ  ΛΟΓΙΣΜΙΚΟ  -­‐  Α'  ΤΕΛΙΚΗ  ΕΞΕΤΑΣΗ  -­‐  8  ΙΟΥΝΙΟΥ  2008  

 

15    

s

a

e

c

b

f

d

5

7

8

4

3

3

37

2

d=0π=NIL

d=5π=s

d=8π=a

d=7π=s

d=10π=c

d=8π=s

d=11π=c

 

ΑΠΑΝΤΗΣΗ  Χρησιμοποιήστε  το  χώρο  στο  φύλο  απαντήσεων  για  να  δώσετε  την  απάντησή  σας    Οι   π-­‐τιμές   και   οι   d-­‐τιμές   που  φαίνονται   παραπάνω  αποτελούν   αποτέλεσμα   ορθής   εκτέλεσης   του   αλγορίθμου   του  Dijkstra  στον  παραπάνω  γράφο.  Υπάρχει  ένα  ακόμα  πιθανό  αποτέλεσμα:  ο  κόμβος  d  μπορεί  να  έχει  π-­‐τιμή  ίση  με  b.  Αυτό  γίνεται  διότι  οι  κόμβοι  b  και  c   έχουν   την   ίδια   d-­‐τιμή,   και   επομένως   ήταν   και   οι   δύο   ταυτόχρονα   στην   ουρά   προτεραιότητας   με   την   ίδια  προτεραιότητα,  όταν  ο  κόμβος  c  επιστράφηκε  από  την  EXTRACTMIN  κλήση.  Έτσι,  θα  μπορούσε  να  είχε  επιστραφεί  ο  κόμβος  c  αντί  του  κόμβου  b.  

ΘΕΜΑ  24   ΜΟΝΑΔΕΣ  4  Ποιο  από  τα  παρακάτω  όρια  είναι  αληθές  για  τη  συνάρτηση  2n;  

ΑΠΑΝΤΗΣΗ  (επιλέξτε  μία  από  τις  παρακάτω  επιλογές  και  σημειώστε  τη  στο  φύλλο  απαντήσεων)  Α   Β   Γ   Δ   E  

Ο(3n)   Θ(3n)   Ω(3n)   Κανένα   Όλα  

 

ΘΕΜΑ  25   ΜΟΝΑΔΕΣ  3  Δώστε  τα  ασυμπτωτικά  άνω  και  κάτω  όρια  για  την  παρακάτω  αναδρομική  συνάρτηση:  T(n)  =  16T(n/4)  +  n2  

ΑΠΑΝΤΗΣΗ  Χρησιμοποιήστε  το  χώρο  στο  φύλο  απαντήσεων  για  να  δώσετε  την  απάντησή  σας    T(n)  =  16T(n/4)  +  n2  =  Θ(n2  lg  n).  Είναι  μια  ακόμη  περίπτωση  αλγορίθμου  «διαίρει  και  βασίλευε»με  a  =  16,  b  =  4,  f  (n)  =  n2,  and  nlogb

a  =  nlog416  =  n2.  Αφού    

n2  =  Θ(nlog416),  από  τη  δεύτερη  περίπτωση  του  Θεωρήματος  Κυριαρχίας  προκύπτει  ότι  T(n)  =  Θ(n2  lg  n).  

           

Page 16: ΕΛΛΗΝΙΚΟ(ΑΝΟΙΚΤΟ(ΠΑΝΕΠΙΣΤΗΜΙΟ( … fileΠΛΣ50:(ΒΑΣΙΚΕΣ(ΕΞΕΙΔΙΚΕΥΣΕΙΣ(ΣΕ(ΘΕΩΡΙΑΚΑΙ(ΛΟΓΙΣΜΙΚΟ!,!Α'!ΤΕΛΙΚΗ!ΕΞΕΤΑΣΗ!,!8ΙΟΥΝΙΟΥ2008!

  ΠΛΣ50:  ΒΑΣΙΚΕΣ  ΕΞΕΙΔΙΚΕΥΣΕΙΣ  ΣΕ  ΘΕΩΡΙΑ  ΚΑΙ  ΛΟΓΙΣΜΙΚΟ  -­‐  Α'  ΤΕΛΙΚΗ  ΕΞΕΤΑΣΗ  -­‐  8  ΙΟΥΝΙΟΥ  2008  

 

16    

ΘΕΜΑ  26   ΜΟΝΑΔΕΣ  3  Έστω  η  κάτωθι  συνάρτηση  mx    #include <stdio.h> struct node { int n; struct node* next; }; int mx (struct node *n, int v){ if (n == NULL) return(v); if ( n->n >= v) return( mx(n->next, n->n) ); else return( mx(n->next, v) ); } int doMx (struct node *n){ if (n) return mx(n->next, n->n) ; return -1; }

 Ποιες  από  τις  παρακάτω  περιπτώσεις  ελέγχου  πρέπει  να  ληφθούν  υπ΄όψιν  όταν  πρόκειται  να  ελεγχθεί  η  συνάρτηση  doMx  με  τη  προσέγγιση  των  συνοριακών  τιμών.  (Σημ:  οι  αγκύλες    {}  σηματοδοτούν  συνδεδεμένη  λίστα  )  

ΑΠΑΝΤΗΣΗ  (επιλέξτε  όσες  από  τις  παρακάτω  επιλογές  είναι  σωστές  και  σημειώστε  τις  στο  φύλλο  απαντήσεων)  Α   Β   Γ   Δ   Ε  

({1})   ({8,  5,  13,  44,  2})   ({23,  5,  7,  7,  7,  90})   ({1,2,2,2,2,2,1})   ({3,6,5,6,2})  

 

ΘΕΜΑ  27   ΜΟΝΑΔΕΣ  3  Έστω  η  συνάρτηση    

     int isGreekLicensePlate( char *a, int n);

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

ΑΠΑΝΤΗΣΗ  (επιλέξτε  μία  από  τις  παρακάτω  επιλογές  και  σημειώστε  τη  στο  φύλλο  απαντήσεων)  Α   Β   Γ   Δ   Ε  

3   4   5   6   7  

                   

Page 17: ΕΛΛΗΝΙΚΟ(ΑΝΟΙΚΤΟ(ΠΑΝΕΠΙΣΤΗΜΙΟ( … fileΠΛΣ50:(ΒΑΣΙΚΕΣ(ΕΞΕΙΔΙΚΕΥΣΕΙΣ(ΣΕ(ΘΕΩΡΙΑΚΑΙ(ΛΟΓΙΣΜΙΚΟ!,!Α'!ΤΕΛΙΚΗ!ΕΞΕΤΑΣΗ!,!8ΙΟΥΝΙΟΥ2008!

  ΠΛΣ50:  ΒΑΣΙΚΕΣ  ΕΞΕΙΔΙΚΕΥΣΕΙΣ  ΣΕ  ΘΕΩΡΙΑ  ΚΑΙ  ΛΟΓΙΣΜΙΚΟ  -­‐  Α'  ΤΕΛΙΚΗ  ΕΞΕΤΑΣΗ  -­‐  8  ΙΟΥΝΙΟΥ  2008  

 

17    

ΘΕΜΑ  28   ΜΟΝΑΔΕΣ  6  Έστω  η  συνάρτηση    

int triangleType(int a,int b, int c)

η  οποία  αποφαίνεται  αν  ένα  τρίγωνο  με  μήκη  πλευρών  a,  b  και  c    είναι    σκαληνό,  ισοσκελές  ή  ισόπλευρο  επιστρέφοντας  1,  2,  3  αντίστοιχα.  Σε  περίπτωση  που  η  είσοδος  δεν  μπορεί  να  σχηματίσει  τρίγωνο  η  συνάρτηση  επιστρέφει  -­‐1  .    Αναφέρετε  τουλάχιστον  5  κλάσεις  ισοδύναμων  τιμών  που  απαιτούνται  για  τον  έλεγχο  της  συνάρτησης  triangleType  σύμφωνα  με  τη  στρατηγική  του  μαύρου  κουτιού.    Υπενθυμίζεται  ότι  σύμφωνα  με  την  τριγωνική  ανισότητα  το  άθροισμα  των  μηκών  δύο  οποιωνδήποτε  πλευρών  ενός  τριγώνου  στο  επίπεδο,  είναι  μεγαλύτερο  από  το  μήκος  της  τρίτης  πλευράς  

ΑΠΑΝΤΗΣΗ    Χρησιμοποιήστε  το  χώρο  στο  φύλο  απαντήσεων  για  να  δώσετε  την  απάντησή  σας    

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

1. Σκαληνό  τρίγωνο,  με  κριτήριο  a  +  b  >  c  και  a  <  b  <  c  2. Ισοσκελές  τρίγωνο,  με  κριτήριο  a  +  b  >  c  (αν  a  =  b)  3. Ισόπλευρο  τρίγωνο,  με  κριτήριο  a  =  b  =  c  (a  >  0)  

Άκυρες  κλάσεις  1. Σκαληνό  τρίγωνο  με  a  +  b  <=  c  και  a  <  b  <  c  2. Ισοσκελές  τρίγωνο,  με  a  +  b  <  c    και  a  =  b  3. Μήκος  πλευράς  ίσο  με  0  4. Μήκος  πλευράς  αρνητικό  5. Είσοδος  χαρακτήρα  (π.χ.  ‘a’)  αντί  ακεραίου  (επειδή  πρόκειται  για  τη  C).    

 

 

ΘΕΜΑ  29   ΜΟΝΑΔΕΣ  3  Έστω  οι  ορισμοί     typedef struct node* link; struct node { int key; link next; }; link list, x; int c;

Θεωρούμε  ότι  ο  δείκτης  list  δείχνει  στον  πρώτο  κόμβο  μιας  λίστας  με  θετικά  κλειδιά,  της  οποίας  ο  τελευταίος  κόμβος  έχει  στο  πεδίο  next  τιμή  NULL.  Ποια  από  τα  παρακάτω  τμήματα  κώδικα  κάνουν  αυτό  που  λέει  η  περιγραφή  που  βρίσκεται  αριστερά  τους;  

ΑΠΑΝΤΗΣΗ  (επιλέξτε  όσες  από  τις  παρακάτω  επιλογές  είναι  σωστές  και  σημειώστε  τις  στο  φύλλο  απαντήσεων)  Α   Υπολογισμός  

πλήθους  στοιχείων  λίστας  

x = list; c = 0; for (c = 0; x != NULL; x = x->next) c++;

Β   Διαγραφή  2ου  κόμβου  

link x = malloc(sizeof *t); x->key = 17; x->next = list->next->next; list->next->next = x;

Γ   Εισαγωγή  νέου  κόμβου  μετά  τον  2ο  

x = list->next; list->next = list->next->next;

Page 18: ΕΛΛΗΝΙΚΟ(ΑΝΟΙΚΤΟ(ΠΑΝΕΠΙΣΤΗΜΙΟ( … fileΠΛΣ50:(ΒΑΣΙΚΕΣ(ΕΞΕΙΔΙΚΕΥΣΕΙΣ(ΣΕ(ΘΕΩΡΙΑΚΑΙ(ΛΟΓΙΣΜΙΚΟ!,!Α'!ΤΕΛΙΚΗ!ΕΞΕΤΑΣΗ!,!8ΙΟΥΝΙΟΥ2008!

  ΠΛΣ50:  ΒΑΣΙΚΕΣ  ΕΞΕΙΔΙΚΕΥΣΕΙΣ  ΣΕ  ΘΕΩΡΙΑ  ΚΑΙ  ΛΟΓΙΣΜΙΚΟ  -­‐  Α'  ΤΕΛΙΚΗ  ΕΞΕΤΑΣΗ  -­‐  8  ΙΟΥΝΙΟΥ  2008  

 

18    

free(x);

Δ   Υπολογισμός  μέγιστου  στοιχείου  λίστας  

x = list; c = -1; for (c = -1; x != NULL; x = x->next) if (x->key > c) c = x->key;

 

ΘΕΜΑ  30   ΜΟΝΑΔΕΣ  4  Έστω  οι  ορισμοί     typedef struct node* link; struct node { int key; link l, r; }; link tree;

 Ποια  από  τα  παρακάτω  τμήματα  κώδικα  υπολογίζουν  και  επιστρέφουν  αυτό  που  λέει  η  περιγραφή  που  βρίσκεται  αριστερά  τους;  

ΑΠΑΝΤΗΣΗ  (επιλέξτε  όσες  από  τις  παρακάτω  επιλογές  είναι  σωστές  και  σημειώστε  τις  στο  φύλλο  απαντήσεων)  Α   Το  ύψος  του  

δέντρου  int mystery (link x) { if (x == NULL) return 0; else return x->key + mystery (x->l) + mystery (x->r); }

Β   Πάντα  την  ίδια  τιμή.  

int mystery (link x) { if (x == NULL) return 0; else return (mystery (x->l)> mystery (x->r)? mystery (x->l): mystery (x->r)); }

Γ   Το  άθροισμα  των  κλειδιών  του  δένδρου.    

int mystery (link x) { if (x == NULL) return 0; else return 1 + (mystery (x->l)> mystery (x->r)? mystery (x->l): mystery (x->r)); }

Δ   Τη  μεγαλύτερη  τιμή  του  δένδρου.    

int mystery (link x) { if (x == NULL) return 0; else return ((mystery (x->l)> mystery (x->r)? mystery (x->l): mystery (x->r)) < x->key? x->key: (mystery (x->l)> mystery (x->r)? mystery (x->l): mystery (x->r)));

}