Εξεταστική περιόδος Σεπτεμβρίου 2000

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

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

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

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

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

Σεπτεμβρίου 2000

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

Γράψτε σε C μια συνάρτηση που να δέχεται ως όρισμα δύο χρονικές στιγμές t1, t2 με t1 < t2 εκφρασμένες ως ώρες, λεπτά, δευτερόλεπτα και να επιστρέφει το χρόνο σε δευτερόλεπτα που μεσολαβεί ανάμεσα στα t1, t2. Γράψτε ένα απλό πρόγραμμα για τον έλεγχο της λειτουργίας της συνάρτησης αυτής. Να ορίσετε και να χρησιμοποιήσετε βοηθητικές συναρτήσεις για να αποφύγετε την επανάληψη κώδικα.

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

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

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

Η γλώσσα επισημείωσης HTML χρησιμοποιεί την ακολουθία "<tag ...>" για να προσδιορίσει χαρακτηριστικά του κειμένου. Να γράψετε ένα πρόγραμμα σε C που να διαβάζει HTML ως χαρακτήρες από την είσοδό του μέχρι να τερματιστεί το αρχείο εισόδου. Το πρόγραμμα θα εμφανίζει στην έξοδό του το κείμενο της εισόδου χωρίς τις ακολουθίες επισημείωσης. Παράδειγμα:
Είσοδος:
<html><body><h1>Εισαγωγή</h1> Κείμενο της εισαγωγής</body></html>

Έξοδος:
Εισαγωγή Κείμενο της εισαγωγής

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

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

Να γράψετε σε C ένα πρόγραμμα που να διαβάζει από την είσοδό του α) τον αριθμό των αθλητών που λαμβάνουν μέρος σε ένα άθλημα και β) για κάθε αθλητή το επώνυμό του (μέχρι 20 χαρακτήρες) και την επίδοσή του (ως αριθμό κινητής υποδιαστολής). Στο τέλος το πρόγραμμα να τυπώνει ξανά τους αθλητές και τις επιδόσεις τους εμφανίζοντας τρία αστεράκια πλάι στο όνομα του αθλητή με την καλύτερη (μικρότερη) επίδοση. Τα στοιχεία του κάθε αθλητή να φυλαχτούν σε μια δομή (struct) της C. Το πρόγραμμα πρέπει να μπορεί να χειριστεί θεωρητικά απεριόριστο αριθμό αθλητών με τη χρήση δυναμικής μνήμης. Το όνομα και η επίδοση του αθλητή μπορούν να διαβαστούν με τη συμβολοσειρά της scanf "%s %g".

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

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