ΠΟΛΥΤΕΧΝΕΙΟ
ΚΡΗΤΗΣ Τμήμα Ηλεκτρονικών Μηχ. και Μηχ. Υπολογιστών ΛΟΓ 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
.