Εργαστήριο 1 - C Recap / Debugging
Προθεσμία τελικής παράδοσης: Κυριακή 31/3, 23:59.
Καλώς ήρθατε στο πρώτο εργαστήριο του μαθήματος Δομές Δεδομένων και Τεχνικές Προγραμματισμού! Για οποιαδήποτε απορία προκύψει κατα την διάρκεια του εργαστηρίου, επικοινωνήστε με τον υπεύθυνο ή κάποιον απο τους βοηθούς. Καλή αρχή!
1. Κατεβάστε τον κώδικα του εργαστηρίου
Όπως σε όλα τα εργαστήρια, ο κώδικας δίνεται μέσω Git. Για να τον κατεβάσετε:
- Επισκεφτείτε τον παρακάτω σύνδεσμο: https://classroom.github.com/a/SNNqkM5u
- Δεν θα σας ζητηθεί ξανά αντιστοίχιση account (εφόσον το έχετε ήδη κάνει)
- Αναλυτικές οδηγίες, αν χρειάζεστε, υπάρχουν στο Εισαγωγικό Εργαστήριο.
- Αφού ολοκληρώσετε το προηγούμενο βήμα, κατεβάστε με
git clone
το προσωπικό σας repository (όπου<username>
το username σας στο github):git clone https://github.com/chatziko-k08/2024-lab-1-<username>
2. Δημιουργία ενός απλού προγράμματος και Makefile
- Δημιουργήστε το directory
programs/hello
, προσθέστε ένα αρχείοhello.c
που να υλοποιεί ένα πρόγραμμα που απλά τυπώνειHello, world
. - Αντιγράψτε το
programs/minmax/Makefile
στο directory που φτιάξατε και τροποποιήστε το ώστε να κάνει compile τοhello.c
- Δοκιμάστε να το κάνετε compile από το τερματικό
- Τροποποιήστε το αρχείο
.vscode/settings.json
ώστε το VS Code να κάνει compile του πρόγραμμα που φτιάξατε- δοκιμάστε να κάνετε compile με
Ctrl-Shift-B
- και debug με
F5
- δοκιμάστε να κάνετε compile με
- Από την περιοχή
Source Control
του VS Code, κάντε commit τα νέα αρχεία - Από το
...
menu στην ίδια περιοχή επιλέξτεPush
- ελέγξτε στο github.com ότι το repository περιέχει τις αλλαγές σας
3. C recap exercises
- Στο directory
programs/recap
υπάρχουν αρχεία κώδικα με ελλείψεις και λάθη. Διορθώστε τα ώστε το πρόγραμμα να τρέχει χωρίς μηνύματα λάθους.- όπως και προηγουμένως, τροποποιήστε το
.vscode/settings.json
για να κάνετε compile τοrecap
- όπως και προηγουμένως, τροποποιήστε το
- Κάντε commit και push τις αλλαγές όπως και στην προηγούμενη άσκηση
4. Generic max
- Στο directory
generic_max
υπάρχει υλοποιημένη μια συνάρτησηgeneric_max
που επιστρέφει το μέγιστο από δύο ορίσματα οποιουδήποτε τύπου (μέσωvoid*
) - Προσπαθήστε να καταλάβετε πώς δουλεύει η συνάρτηση
- Τροποποιήστε τη
main
ώστε να τυπώνει το μέγιστο (αλφαβητικά) από 2 stringsaaa
καιzzz
- Τροποποιήστε το
stats.h
module, προσθέτωντας τη συνάρτησηgeneric_max
- Τροποιήστε το αρχείο
generic_max.c
, αφαιρώντας τη συνάρτηση και καλώντας την υλοποίηση του module.
Παράδοση
Ολα τα αρχεία που φτιάξατε πρέπει να τα κάνετε commit
και push
στο github. Αν επιθυμείτε, μπορείτε να
συνεχίσετε να τα δουλεύετε και μετά τη λήξη του εργαστηρίου, μέχρι την τελική ημερομηνία παράδοσης.