05/04/2013

 

ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΩΝ ΜΑΘΗΜΑΤΙΚΩΝ

ΤΕΜ-102: ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ

 

2η ΣΕΙΡΑ ΑΣΚΗΣΕΩΝ

 

Ημερομηνία Παράδοσης: Μέχρι 20/04 στις 24:00. Η παράδοση θα γίνει στέλνοντας με email το αρχείο αναφοράς στην διδάσκουσα ΚΑΙ στο/στη βοηθό της εργαστηριακής ομάδας στην οποία είστε εγγεγραμμένοι.

Το email θα έχει ως subject: C_Lab2_AM_OMx. (π.χ. C_Lab2_1212_OM2)

Θα παραδώσετε κάθε άσκηση σε ξεχωριστό αρχείο με ονόματα: Lab21_ΑΜ.c, Lab22_ΑΜ.c και Lab23_ΑΜ.c όπου ΑΜ είναι ο αριθμός μητρώου σας και ΟΜ η ομάδα σας.

Επίσης θα υπάρχει στην αρχή κάθε προγράμματος σχόλιο της μορφής:

 

/*

* TEM-102 2h Ergastiriaki Askisi

* Onoma: …… (your name)

* A.M. : ….(your AM)

*/

 

1.      Να γίνει πρόγραμμα το οποίο να ζητάει από τον χρήστη δύο ακέραιους αριθμούς (πχ. x, y) και με τη βοήθεια δύο συναρτήσεων που θα κατασκευάσει ο χρήστης να υπολογίζεται a) το αποτέλεσμα της πράξης xy. b) το υπόλοιπο της διαίρεσης του x με το y. Τα αποτελέσματα με αντίστοιχα μηνύματα να επιστρέφονται και να τυπώνονται στο κυρίως πρόγραμμα. Στην συνέχεια να επαληθευθούν οι υπολογισμοί με την χρήση των αντίστοιχων γνωστών συναρτήσεων που περιέχονται σε βιβλιοθήκες της C.     [30 μονάδες]

 

 

2.      Να γίνει πρόγραμμα στο οποίο ο χρήστης θα δημιουργεί μια αναδρομική συνάρτηση για τον υπολογισμό του n-ιοστού όρου μιας αριθμητικής προόδου. Ο πρώτος όρος,  το βήμα και το n θα είναι δεδομένα που θα εισάγει ο χρήστης από το πληκτρολόγιο. Το αποτέλεσμα θα τυπώνεται στο κυρίως πρόγραμμα με ένα αντίστοιχο μήνυμα.      [20 μονάδες]

 

3.      Να γίνει πρόγραμμα που να κάνει την εξής ανάλυση: O χρήστης θα ορίζει δύο αριθμούς όπου, ο πρώτος θα αντιπροσωπεύει τον αριθμό των εργαστηριακών ομάδων ενός μαθήματος (π.χ. s1), ενώ ο δεύτερος θα αντιπροσωπεύει τον αριθμό των εγγεγραμμένων φοιτητών ανά ομάδα (π.χ. s2) (θεωρούμε ίδιο αριθμό φοιτητών για όλες τις ομάδες). Αποθηκεύουμε τους βαθμούς των φοιτητών στην πρώτη εργαστηριακή άσκηση βαθμολογημένες στην κλίμακα (0-100] σε ακέραιες τιμές (τις τιμές τις δίνει ο χρήστης). a) Στην συνέχεια για κάθε εργαστηριακή ομάδα κάνουμε μια ανάλυση του πόσοι φοιτητές είχαν βαθμό μεταξύ (0-5], (5-10], (10-15]…..(95-100] και εμφανίζουμε τα αποτελέσματα σε μορφή πίνακα ως εξής:

 

                       

Range

#students

0-5

0

5-10

2

….

….

95-100

7

 

      b) Δημιουργούμε μία συνάρτηση μέσα στην οποία βρίσκουμε ποια ομάδα είχε τους περισσότερους φοιτητές με βαθμό στο διάστημα (95-100] και      επιστρέφουμε και τυπώνουμε τo αποτέλεσμα στο κυρίως πρόγραμμα.

 

Υπόδειξη: Να δουλέψετε με 2D πίνακες και εντολές επανάληψης έτσι ώστε το πρόβλημα να μπορεί να γενικευτεί για οποιαδήποτε s1, s2 και εύρος κλίμακας βαθμών, με απλή αλλαγή τιμής κάποιων μεταβλητών.     [50 μονάδες]