Εισαγωγή στον Προγραμματισμό - Ακ. έτος 2024-25 (CEID_22Υ103)
[ΕΑ-2] Εργαστήριο 2ης εβδομάδας (Αντικείμενο)
Α) Δράσεις
Θα εκτελέσετε τις παρακάτω Δράσεις με την σειρά που παρατίθενται.
[Δ1] - ολοκλήρωση του Εργαστηρίου της 1ης Εβδομάδας
Θα πρέπει να ολοκληρώσετε επιτυχώς τις δράσεις του Εργαστηρίου της 1ης Εβδομάδας. Χωρίς αυτό δεν έχει νόημα να πάτε στις επόμενες Δράσεις.
[Δ2] – Ανάπτυξη 1ης έκδοσης του προγράμματος Add2Numbers
Αναπτύξτε την 1η έκδοση του προγράμματος Add2Numbers αξιοποιώντας μόνο συναρτήσεις της βασικής βιβλιοθήκης (printf() and scanf()). Στην έκδοση αυτή δεν χρησιμοποιούμε δική μας συνάρτηση.
Για να έχει καλύτερο αποτέλεσμα για εσάς η διαδικασία προσπαθήστε να αναπτύξετε το πρόγραμμα αφού μελετήσετε πρώτα τις διαφάνειες και χωρίς να κάνετε copy paste από τον κώδικα που αναπτύξαμε στην διάλεξη. Αν χρειαστεί ανατρέξτε να λύσετε το πρόβλημα που θα συναντήσετε και συνεχίστε πάλι γράφοντας μόνοι σας κώδικα.
[Δ3] – Ανάπτυξη 2ης έκδοσης του προγράμματος Add2Numbers
Αναπτύξτε την 2η έκδοση του προγράμματος Add2Numbers την οποία χρησιμοποιήσαμε για να δώσουμε τα συνθετικά μιας συνάρτησης. Χρησιμοποιήστε πρώτα την συνάρτηση getNumber() και μετά βάλτε και την συνάρτηση sum(). Χρησιμοποιήστε τον κώδικα για να κατανοήσετε τις έννοιες δήλωση συνάρτησης, ορισμός συνάρτησης, κλήση συνάρτησης, ορίσματα συνάρτησης και επιστρεφόμενη τιμή.
[Δ4] – Δημιουργία αρχείου τύπου .pdf που περιέχει τον πηγαίο κώδικα
Οδηγίες θα βρείτε στο DevCpp-GeneratePDF.pdf
B) Οδηγίες
Αξιοποιήστε το Φροντιστήριο και το εργαστήριο για να λύσετε τις απορίες που θα σας δημιουργηθούν στην διαδικασία εκτέλεσης των δράσεων [Δ1]-[Δ4].
Δεν χρειάζεται στη φάση αυτή να γνωρίζετε περισσότερα πράγματα από αυτά που αναφέραμε για τα στοιχεία της γλώσσας που χρησιμοποιούμε στο πρόγραμμα Add2Numbers. Θα τα δούμε σιγά-σιγά στις επόμενες εβδομάδες.
Γ) Δράσεις για μετά την ολοκλήρωση των [Δ1]-[Δ4]
Βελτιώσεις για μια καλύτερη εκδοχή της getNumber
[Δ5] - Βελτίωση που αφορά το όνομα της συνάρτησης
Τώρα που ξέρουμε πως υπάρχουν και αριθμοί κινητής υποδιαστολής απλής ακρίβειας (float) και αριθμοί κινητής υποδιαστολής διπλής ακρίβειας (double) μπορούμε (και είναι καλύτερο) να δώσουμε ως όνομα στην getNumber() το getInteger ή απλά getInt. Αυτό θα μας επιτρέψει να ορίσουμε αργότερα (σε άλλη άσκηση που πιθανόν να χρειάζεται) άλλες δύο συναρτήσεις τις getFloat() και getDouble().
[Δ6] - Βελτίωση που αφορά τη λειτουργικότητα
Μια καλύτερη εκδοχή της συνάρτησης είναι να έχουμε τη δυνατότητα να την καλούμε και να μην εμφανίζει πάντα την φράση "Dose arithmo:", ή ότι εσείς έχετε βάλει μέσα στην printf στο σώμα της, αλλά μια διαφορετική φράση την οποία εσείς θα ορίζετε όταν την καλείτε. Αυτό μας δίνει μια πιο επαναχρησιμοποιήσιμη συνάρτηση.
Για να το πετύχουμε αυτό θα πρέπει:
Α) να δηλώσουμε τη συνάρτηση όπως παρακάτω, και
int getInt(char message[]); // απλά αντιγράφετε. Τη σημασία θα τη δούμε αργότερα όταν
//μιλήσουμε για πίνακες (arrays)
Β) να αντικαταστήσουμε μέσα στο σώμα της την
printf("Dose arithmo:");
με την
printf(message);
Αυτό θα έχει ως αποτέλεσμα η getInt να εμφανίσει στην οθόνη ότι περάσουμε ως όρισμα στην κλήση της.
Με βάση την παραπάνω δήλωση και τον αντίστοιχο ορισμό μπορείτε να καλέσετε τη συνάρτηση για παράδειγμα όπως παρακάτω
num1 = getInt(“Dose 1o akeraio”);
num2 = getInt(“Dose 2o akeraio”);
Προσέξτε την εφαρμογή της αφαιρετικότητας που σας επιτρέπει να γράψετε στην main τι θέλετε να κάνει το σύστημα χωρίς να ασχοληθείτε με το πως, κρύβοντας με τον τρόπο αυτό τις λεπτομέρειες χρήσης της snanf.
Σχόλια (1)