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

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

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

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

Διδάσκων: Διομήδης Σπινέλλης

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

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

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

Γράψτε σε C τη συνάρτηση strrev που δέχεται ως όρισμα ένα δείκτη σε χαρακτήρες τερματισμένους με Σ\0Τ (συμβολοσειρά) και αντιστρέφει τη σειρά των χαρακτήρων της συμβολοσειράς. Αν για παράδειγμα η συμβολοσειρά πριν την κλήση τής strrev είναι "live" μετά την κλήση της πρέπει να είναι "evil". Γράψτε ένα απλό πρόγραμμα για τον έλεγχο της λειτουργίας της συνάρτησης αυτής.

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

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

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

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

a 12.2\%

e 9.3\%

k 7.3\%

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

Ο παρακάτω κώδικας ορίζει έναν πίνακα αντιστοιχίας ανάμεσα σε χαρακτήρες του λατινικού αλφαβήτου και τον αντίστοιχο κώδικα Morse:

struct s_morse {
        char c;			/* Character code */
        char *morse;		/* Morse code */
} morse_table[] = {
        'A', ".-",
        'B', "-...",
        'C', "-.-.", 
       /* [...] complete table follows */
};

Να γράψετε ένα πρόγραμμα σε C που να διαβάζει χαρακτήρες από την είσοδό του μέχρι να τερματιστεί το αρχείο εισόδου. Για κάθε χαρακτήρα να τυπώνει (με τη χρήση του morse_table) τον αντίστοιχο κώδικα Morse.

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

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