Εξεταστική περιόδος Ιανουαρίου 2000

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

Τμήμα Πληροφοριακών και Επικοινωνιακών Συστημάτων

Σχεδιασμός και Υλοποίηση Λογισμικού

Διδάσκων: Επίκ. Καθηγητής Διομήδης Σπινέλλης

Εξεταστική περίοδος

Ιανουαρίου 2000

Θέμα 1ο: (2.5 βαθμοί)

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

Θέμα 2ο: (2.5 βαθμοί)

Προσδιορίστε, σε όχι περισσότερο από μια σελίδα, τις απαιτήσεις λογισμικού για ένα σύστημα παρακολούθησης δανεισμού βιβλίων από τη βιβλιοθήκη.

Θέμα 3ο: (2 βαθμοί)

Να γράψετε ένα πρόγραμμα σε C που να διαβάζει χαρακτήρες από την είσοδό του μέχρι να τερματιστεί το αρχείο εισόδου. Στο τέλος το πρόγραμμα πρέπει να εμφανίζει ένα μήνυμα αν στο αρχείο εισόδου οι παρενθέσεις και οι αγκύλες που ανοίγουν δεν ταυτίζονται αριθμητικά με αυτές που κλείνουν σύμφωνα με το παρακάτω παράδειγμα:

Λάθος: στο αρχείο εμφανίζονται 5 Σ(Σ και 4 Σ)Τ.

Λάθος: στο αρχείο εμφανίζονται 12 Σ{Σ και 15 Σ}Τ.

Το πρόγραμμα δε χρειάζεται να ελέγχει τη σειρά με την οποία εμφανίζονται τα στοιχεία (π.χ. κλείσιμο πριν από άνοιγμα).

Θέμα 4ο: (3 βαθμοί)

Να γράψετε σε C ένα πρόγραμμα που να διαβάζει από την είσοδό του θετικούς ακέραιους αριθμούς μέχρι να συναντήσει το -1. Στο τέλος το πρόγραμμα να τυπώνει πόσες φορές εμφανίστηκε ο κάθε αριθμός. Ο κάθε αριθμός μαζί με τις φορές που έχει εμφανιστεί να φυλαχτεί σε μια δομή (struct) της C. Το πρόγραμμα πρέπει να μπορεί να χειριστεί θεωρητικά απεριόριστο αριθμό στοιχείων με τη χρήση δυναμικής μνήμης. Παράδειγμα:

Είσοδος: 545 79334 2 143 545 79334 79334 934744 934744 -1

Έξοδος:
545: 2
79334: 3
2: 1
143: 1
934744: 2

Διάρκεια εξέτασης 2,5 ώρες

Καλή επιτυχία!