Εργασία 03

(Μπορείτε να κατεβάσετε την εκφώνηση της εργασίας και σε offline εκτυπώσιμη μορφή, εδώ.)

Στόχος της εργασίας είναι να σας βοηθήσει να εξοικειωθείτε με τους βασικούς τελεστές τις γλώσσας C και την εφαρμογή τους τόσο σε ακέραιος όσο και σε πραγματικούς αριθμούς.

Επιπλέον, από αυτή την εργασία θα προσπαθήσουμε να μπούμε στη λογική της εξέλιξης ενός προγράμματος με διαδοχικές προσθήκες. Έτσι λοιπόν, το δεύτερο πρόγραμμα αυτής της εργασίας, θα αποτελέσει την πρώτη έκδοση μιας εφαρμογής, στην οποία, σε επόμενες ενότητες, θα προσθέσουμε χαρακτηριστικά καθώς θα εξοικειώνεστε με επιπλέον δυνατότητες της γλώσσας.

Integer Operations

Δημιουργήστε ένα πρόγραμμα (με όνομα integer-operations.c) το οποίο το οποίο όταν θα εκτελείται θα εμφανίζει προτρεπτικά μηνύματα (prompts) στο χρήστη, ζητώντας του να εισάγει 4 ακέραιους αριθμούς. Στη συνέχεια θα υπολογίζει και θα εμφανίζει στην οθόνη:

  • Το bitwise-and ανάμεσα στους δύο πρώτους.
  • Το bitwise-or ανάμεσα στο τρίτο και το τέταρτο.
  • Το πηλίκο και το υπόλοιπο της ακέραιας διαίρεσης του τρίτου με το τέταρτο.
  • Το μέσο όρο των τεσσάρων αριθμών.

Δείτε και το παράδειγμα εκτέλεσης που ακολουθεί…
(Με μπλε περίγραμμα είναι τα στοιχεία που πληκτρολόγησε ο χρήστης. Ως συνήθως, το ‘Press any key to continue’ δεν είναι μέρος της άσκησης, αλλά εμφανίζεται από το IDE.)

Έξοδος του προγράμματος birthdate.

Προσέξτε

  • Ένας ακέραιος μπορεί να είναι και αρνητικός (όπως στο παραπάνω παράδειγμα εκτέλεσης).
  • Μη μπερδεύετε τους bitwise τελεστές με τους λογικούς.
  • Εξασφαλίστε ότι τα αποτέλεσμα θα υπολογίζονται σωστά και με ακρίβεια. Ο μέσος όρος 4 ακεραίων δεν είναι απαραίτητα κι αυτός ακέραιος.

Calculator v1

Όπως αναφέρθηκε και παραπάνω, αυτό το δεύτερο πρόγραμμα θα αποτελέσει την πρώτη έκδοση (εξ ου και το v1) μιας εφαρμογής την οποία θα εξελίξουμε περαιτέρω σε επόμενες ενότητες. Η βασική ιδέα είναι η υλοποίηση ενός calculator (αριθμητικού υπολογιστή) με αρκετά ενδιαφέροντα χαρακτηριστικά, όπως:

  • υποστήριξη πολλών ειδών πράξεων,
  • αλληλεπίδραση με το χρήστη και συνεχής εκτέλεση,
  • δυνατότητα αποθήκευσης προηγούμενων πράξεων και αποτελεσμάτων

Σε αυτή την πρώτη φάση, θα ασχοληθούμε με την υλοποίηση των βασικών αριθμητικών πράξεων που υποστηρίζονται από τους αντίστοιχους τελεστές που παρουσιάστηκαν στην ενότητα.

Συγκεκριμένα, θα δημιουργήστε ένα πρόγραμμα (με όνομα calculator-v1.c) το οποίο όταν θα εκτελείται θα εμφανίζει προτρεπτικά μηνύματα (prompts) στο χρήστη, ζητώντας του να εισάγει 2 αριθμούς (όχι απαραίτητα ακέραιους). Στη συνέχεια, θα υπολογίζει και θα εμφανίζει το άθροισμά τους, τη διαφορά τους, το γινόμενο και το πηλίκο τους. Για την εμφάνιση των αποτελεσμάτων θα χρησιμοποιούνται 8 δεκαδικά ψηφία.

Δείτε και το παράδειγμα εκτέλεσης που ακολουθεί...
(Με μπλε περίγραμμα είναι τα στοιχεία που πληκτρολόγησε ο χρήστης. Ως συνήθως, το ‘Press any key to continue’ δεν είναι μέρος της άσκησης, αλλά εμφανίζεται από το IDE.)

Έξοδος του προγράμματος format-specifiers.

Προσέξτε

  • Τους τύπους δεδομένων και τa αντίστοιχα format specifiers.
  • Τον ορισμό αριθμού ψηφιών.

Δοκιμάστε

  • Εισάγετε θετικούς και αρνητικούς αριθμούς.
  • Εισάγετε αριθμούς κινητής υποδιαστολής χωρίς δεκαδικά ψηφία, χωρίς ψηφία μπροστά από την υποδιαστολή, κ.λπ.

Οδηγίες

Δώστε προσοχή, ώστε η λειτουργικότητα των προγραμμάτων να είναι ακριβώς όπως περιγράφεται. Δίνοντας αντίστοιχα δεδομένα με αυτά που βλέπετε στα παραδείγματα εκτέλεσης θα πρέπει να παίρνετε αντίστοιχα αποτελέσματα. Επίσης, βέβαια, δοκιμάστε και τη λειτουργία των προγραμμάτων με διαφορετικά δεδομένα.

Για κάθε ερώτηση δημιουργείστε ένα καινούριο αρχείο.

Παραδοτέα

Όπως και για τις προηγούμενες ενότητες, πέρα από τον κώδικα, θα πρέπει να δημιουργήστε και μια μικρή αναφορά, η οποία θα περιέχει:

  • Πληροφορίες σχετικά με το ποια εργαλεία (editor ή/και IDE) χρησιμοποιήσατε.
  • Παραδείγματα εκτέλεσης σε μορφή screenshots (όπως παραπάνω στην περιγραφή των προγραμμάτων).
  • Παρατηρήσεις, προβλήματα που συναντήσατε και γενικά ο,τιδήποτε θέλετε να σχολιάσετε σχετικά με την υλοποίησή σας.

Τοποθετήστε, τα αρχεία πηγαίου κώδικα (μόνο τον πηγαίο κώδικα, όχι τα αρχεία αντικειμενικού κώδικα ή/και εκτελέσιμα) και την αναφορά σε έναν κατάλογο. Συμπιέστε τον κατάλογο και ανεβάστε τον στην πλατφόρμα.

Screenshots

Για να πάρετε screenshots στα Windows χρησιμοποιείστε το πλήκτρο Print Screen (PrtScr). Αυτό έχει ως αποτέλεσμα τη δημιουργία μιας εικόνας με ολόκληρη την επιφάνεια εργασίας την οποία μπορείτε να επικολλήσετε σε οποιοδήποτε πρόγραμμα επεξεργασία εικόνας ή και κατευθείαν στον επεξεργαστή κειμένου.

Αν θέλετε να ‘τραβήξετε’ μόνο το ενεργό παράθυρο (και για να μη μπλέκετε με μετέπειτα επεξεργασία εικόνας) χρησιμοποιείστε το συνδυασμό πλήκτρων Alt + Print Screen.

Όσοι δουλεύετε σε Mac ή Linux, θα πρέπει να κάνετε μια mini αναζήτηση στο διαδίκτυο, καθώς δεν έχω άμεση πρόσβαση σε τέτοια πλατφόρμα για να δοκιμάσω.