![]() |
ΠΟΛΥΤΕΧΝΕΙΟ
ΚΡΗΤΗΣ Τμήμα Ηλεκτρονικών Μηχ. και Μηχ. Υπολογιστών ΛΟΓ 102: Τεχνολογία Λογισμικού
Ι |
| Ημερομηνία παράδοσης: | Τρίτη 7 Μαρτίου 2000 |
| Ποσοστό επί της συνολικής βαθμολογίας: |
10% |
Η παράδοση των ασκήσεων μπορεί να γίνει με έναν από τους ακόλουθους τρόπους κατά σειρά προτίμησης:
Να γραφεί ένα πρόγραμμα σε C το οποίο να ζητάει από το χρήστη ένα φυσικό αριθμό n και να εκτυπώνει τους πρώτους αριθμούς μεταξύ 1 και n. Μπορείτε να χρησιμοποιήσετε οποιονδήποτε τρόπο υπολογισμού των πρώτων αριθμών, αρκεί το αποτέλεσμα να είναι σωστό.
Ένα παράδειγμα χρήσης του προγράμματος δίνεται παρακάτω, όπου τα στοιχεία που εισάγει ο χρήστης φαίνονται υπογραμμισμένα.
Give me a number: 42 The prime numbers between 1 and 42 are: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41.
Οι πρώτοι αριθμοί θα πρέπει να εμφανίζονται με τον τρόπο που φαίνεται στο παράδειγμα, δηλαδή:
Κατάλληλο διαγνωστικό μήνυμα θα πρέπει να εμφανίζεται σε περίπτωση εσφαλμένης εισόδου από το χρήστη.
Να υλοποιηθούν σε C οι ακόλουθες συναρτήσεις, χρησιμοποιώντας δείκτες σε χαρακτήρες.
int my_strlen (const char * s);
Υπολογίζει το πλήθος των χαρακτήρων της συμβολοσειράς
s, χωρίς να μετρά τον καταληκτικό χαρακτήρα'\0'.
void my_strcpy (char * s1, const char * s2);
Αντιγράφει τη συμβολοσειρά
s2στη συμβολοσειράs1, υποθέτοντας ότι ηs1διαθέτει τον απαραίτητο χώρο.
Να υλοποιηθεί σε C η ακόλουθη συνάρτηση με δύο τρόπους: πρώτα χρησιμοποιώντας πίνακες και μετά χρησιμοποιώντας δείκτες σε χαρακτήρες.
void my_strrev (char * s);
Αντιστρέφει επί τόπου τη συμβολοσειρά
s. Αν π.χ. κληθεί η συνάρτηση με αρχική τιμή της συμβολοσειράς"hello", τότε μετά την κλήση η τιμή της συμβολοσειράς θα πρέπει να είναι"olleh".
nickie@softlab.ntua.gr).
21/2/2000
.