lab13grades Άσκηση 2 -Σωστά απελευθερώνετε ολόκληρη τη λίστα και την κεφαλή

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "lab13grades Άσκηση 2 -Σωστά απελευθερώνετε ολόκληρη τη λίστα και την κεφαλή"

Transcript

1 ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ Δεν ελέγχετε αν η createlist εκτελλέστικε σωστά και δεν τερµατίζετε το πρόγραµµα σε διαφορετική -Σωστά βρίσκετε το σηµείο στο οποίο πρέπει να προστεθεί ο κόµβος. -Σωστά τερµατίζετε το loop µε το να κοιτάτε αν επιστρέψατε στην κεφαλή FAIL Δεν ελήφθη άσκηση -Σωστά απελευθερώνετε ολόκληρη τη λίστα και την κεφαλή Προσέξτε τι αρχεία στέλνετε!! - Σωστά κάνετε έλεγχο αν η createlist επέστρεψε NULL. - Σωστή χρήση free για τον κόµβο που πρέπει να αφαιρεθεί. -Σωστός υπολογισµός τον κόµβων που πρέπει να αφαιρεθούν σε κάποια σενάριο Σωστά malloc και τα next/prev να δείχνουν στην κεφαλή -Δεν εισάγετε σωστά το κόµβο στην νέα λίστα -Δεν ελέγχετε αν η creatlist επέστρεψε NULL ώστε να τερµατίζετε το πρόγραµµα σε αυτή τη. -Σωστή εύρεση σηµείου στο οποίο θα προστεθεί ο κόµβος,σωστή malloc αλλά δεν εισάγετε σωστά τους κόµβους. Ενώνετε το κόµβο µε το προηγούµενο και επόµενο κόµβο του current µε αποτέλεσµα να εισάγετε το νέο κόµβο στη θέση του current, η άσκηση δεν ζητούσε να γίνετε αντικατάσταση κόµβου. -Σωστά η συνάρτηση επιστρέφει το πλήθος κόµβων που προστέθηκαν. -Σωστές κλήσεις συναρτήσεων -Σωστή διαγραφή όλων των κόµβων Πριν προσπελάσετε το argv πρέπει να ελέγχετε το argc. - Λάθος χειρισµός στην απελευθέρωση µνήµης. Κάνετε free(current) και στην αµέσως επόµενη επανάληψη υπολογίζετε το current->next. Έπρεπε να είχατε αποθηκεύσει σε βοηθητική µεταβλητή το current->next πριν γίνει το free, και µετά να χρησιµοποιήσετε αυτή τη µεταβλητή. Είναι λάθος να προσπελάσετε ελευθερωµένη µνήµη. - Στη move δε βάζετε σωστά τους δείκτες. Ο last_node δε χρειάζεται καν. Μπορείτε να χρησιµοποιήσετε το head->prev στη θέση του. Σχεδιάστε τη λίστα σας στο χαρτί, και µετά προσπαθήστε πάλι να φτιάξτε τους δείκτες. - Σωστή main. - Σωστός ο έλεγχος για το αν επιστρέφει η createlist NULL τιµή. - Σωστή η εύρεση του κόµβου προς αφαίρεση. - Κάνετε προσπέλαση του current (στο current->next) αφότου έχει γίνει free. Αυτό είναι λάθος. - Σωστή η κλήση των συναρτήσεων. - Η έξοδος του προγράµµατος είναι σωστή. - Σωστή η τοποθέτηση των clearlist για το head και το new_head. - Σωστή αρχικοποίηση της δεύτερης λίστας µέσα στη συνάρτηση. - Σωστή η τοποθέτηση των δεικτών στη νέα λίστα. - Η έξοδος του προγράµµατος είναι σωστή. Page 1

2 Σωστή δέσµευση δυναµικής µνήµης, µε έλεγχο της τιµής επιστροφής της malloc(). - Σωστή µεταφορά κόµβων στη νέα λίστα. - Σωστή επιστροφή της νέας λίστας. - Ο κώδικας ελέγχου για την τιµή του step θα µπορούσε να µπει στη main(), καθώς είναι κοινός και ελέγχει την εγκυρότητα της εισόδου του χρήστη Προσέξτε τι αρχεία στέλνετε!! - Σωστά κάνετε έλεγχο αν η createlist επέστρεψε NULL. - Σωστή χρήση free για τον κόµβο που πρέπει να αφαιρεθεί. -Σωστός υπολογισµός τον κόµβων που πρέπει να αφαιρεθούν σε κάποια σενάριο -Σωστά malloc και τα next/prev να δείχνουν στην κεφαλή -Δεν εισάγετε σωστά το κόµβο στην νέα λίστα -Σωστά ελέγχετε αν η createlist εκτελέστηκε σωστά και τερµατίζετε το πρόγραµµα σε διαφορετική -Δεν βρίσκετε σωστά το σηµείο στο οποίο πρέπει να προστεθεί ο κόµβος. Έχετε κάνει 2 λάθη. Το πρώτο είναι οτι την πρώτη φορά το βάζετε µια θέση µετα απο την επιθυµητή ενώ στη συνέχεια το αριθµό τον τοποθετείτε ανα µία θέση. -Σωστά τερµατίζετε το loop µε το να κοιτάτε αν επιστρέψατε στην κεφαλή -Σωστά απελευθερώνετε ολόκληρη τη λίστα και την κεφαλή FAIL Δεν ελήφθη άσκηση - Ολοκληρώστε τη δεύτερη άσκηση στο σπίτι Δεν ελέγχετε αν η creatlist επέστρεψε NULL ώστε να τερµατίζετε το πρόγραµµα σε αυτή τη. -Δεν εντοπίζετε σωστά το σηµείο που πρέπει να τοποθετηθεί ο κόµβος. Η άσκηση δε ζητούσε να τοποθετείτε κόµβο ανάµεσα σε κάθε ήδη υπάρχον κόµβο. -Σωστή malloc αλλά όταν επιστρέφει NULL πρέπει να τερµατίζει το πρόγραµµα. -Σωστές κλήσεις συναρτήσεων. -Δεν υλοποιείτε τη clearlist Page 2

3 Δεν ελέγχετε αν η createlist εκτελλέστικε σωστά και δεν τερµατίζετε το πρόγραµµα σε διαφορετική -Σωστά βρίσκετε το σηµείο στο οποίο πρέπει να προστεθεί ο κόµβος. -Σωστά τερµατίζετε το loop µε το να κοιτάτε αν επιστρέψατε στην κεφαλή -Σωστά απελευθερώνετε ολόκληρη τη λίστα και την κεφαλή Σωστός ο έλεγχος για το αν επιστρέφει η createlist NULL τιµή. - Σωστή η εύρεση του κόµβου προς αφαίρεση. - Κάνετε προσπέλαση του current (στο current->next) αφότου έχει γίνει free. Αυτό είναι λάθος. - Δεν επιστρέφεται το πλήθος των διεγραµµένων κόµβων. - Σωστή η κλήση των συναρτήσεων. - Η έξοδος του προγράµµατος είναι σωστή. - Ο έλεγχος της τιµής που επιστρέφει η createlist δεν είναι σωστός καθώς το πρόγραµµα θα έπρεπε να τερµατίζει. Η µεταβλητή assist δε χρειάζεται malloc εφόσον αµέσως µετά την βάζετε να δείχνει στο head. - Σωστά επιστρέφετε τον αριθµό των εισαγόµενων κόµβων στη main. - Σωστή αποδέσµευση κόµβων. - Ο έλεγχος της τιµής που επιστρέφει η createlist είναι σωστός. - Σωστά επιστρέφετε τον αριθµό των εισαγόµενων κόµβων στη main. - Στη σειρά 48 κάνετε για δεύτερη φορά αποδέσµευση ίδιου κόµβου µε αποτέλεσµα στην εκτέλεση να σας λέει Error in `./lab13': double free or corruption Δεν ελέγχετε αν η creatlist επέστρεψε NULL ώστε να τερµατίζετε το πρόγραµµα σε αυτή τη. -Σωστή εύρεση σηµείου στο οποίο θα προστεθεί ο κόµβος,σωστή malloc αλλά δεν εισάγετε σωστά τους κόµβους. Ενώνετε το κόµβο µε το προηγούµενο και επόµενο κόµβο του current µε αποτέλεσµα να εισάγετε το νέο κόµβο στη θέση του current, η άσκηση δεν ζητούσε να γίνετε αντικατάσταση κόµβου. -Σωστά η συνάρτηση επιστρέφει το πλήθος κόµβων που προστέθηκαν. -Σωστές κλήσεις συναρτήσεων -Σωστή διαγραφή όλων των κόµβων. Page 3

4 lab13grades Πρώτα έπρεπε να ελέγχετε για έγκυρο αριθµό παραµέτρων (argc) και µετά να χρησιµοποιήσετε µε ασφάλεια το argv[]. - Δεν εκτυπώνετε στην main() τον αριθµό των κόµβων που αφαιρέθηκαν. - Δεν είναι απαραίτητη η χρήση δυο δοµών επανάληψης. Προσπαθήστε να γράψετε µε πιο απλό τρόπο τον αλγόριθµο (µε µία δοµή επανάληψης). - Δεν ελέγχετε την τιµή επιστροφής της malloc(). - Δεν αρχικοποιείτε τους pointers (prev, next) του κόµβου που κάνετε malloc() για τη δεύτερη λίστα. - Όταν φτάνετε στην κεφαλή της λίστας κάνετε exit() αντί να επιστρέψετε από τη συνάρτηση. - Ο κώδικας δεν τερµατίζει Ο έλεγχος της τιµής που επιστρέφει η createlist είναι σωστός. - Σωστά επιστρέφετε τον αριθµό των εισαγόµενων κόµβων στη main. - Στη σειρά 48 κάνετε για δεύτερη φορά αποδέσµευση ίδιου κόµβου µε αποτέλεσµα στην εκτέλεση να σας λέει Error in `./lab13': double free or corruption. -Δεν ελέγχετε αν η createlist εκτελλέστικε σωστά και δεν τερµατίζετε το πρόγραµµα σε διαφορετική -Δεν βρίσκετε σωστά το σηµείο στο οποίο πρέπει να προστεθεί ο κόµβος καθώς το βάζετε πάντα step + 1. Γενικά ο τρόπος που το κάνετε είναι σωστός αλλά θα έπρεπε να κοιτάτε µια θέση πριν για να βάλετε το κόµβο. - Προσθέτετε έναν επιπλέον κόµβο στο τέλος Οριακό -Σωστά τερµατίζετε το loop µε το να κοιτάτε αν επιστρέψατε στην κεφαλή -Δεν κάνετε σωστά την απελευθέρωση της µνήµης. Απελευθερώνετε τον κόµβο και αµέσως µετά κάνετε curr->next το οποίο έχει γίνει free Ο έλεγχος της τιµής που επιστρέφει η createlist είναι σωστός. - Σωστά επιστρέφετε τον αριθµό των εισαγόµενων κόµβων στη main. - Σωστή αποδέσµευση κόµβων. Page 4

5 -Δεν ελέγχετε αν η createlist εκτελλέστικε σωστά και δεν τερµατίζετε το πρόγραµµα σε διαφορετική -Δεν βρίσκετε σωστά το σηµείο στο οποίο πρέπει να προστεθεί ο κόµβος καθώς το βάζετε πάντα step + 1. Γενικά ο τρόπος που το κάνετε είναι σωστός αλλά θα έπρεπε να κοιτάτε µια θέση πριν για να βάλετε το κόµβο. - Προσθέτετε έναν επιπλέον κόµβο στο τέλος Οριακό -Σωστά τερµατίζετε το loop µε το να κοιτάτε αν επιστρέψατε στην κεφαλή -Δεν κάνετε σωστά την απελευθέρωση της µνήµης. Απελευθερώνετε τον κόµβο και αµέσως µετά κάνετε curr->next το οποίο έχει γίνει free Καλά σχόλια. - Σωστός έλεγχος για αριθµό arguments. - Λάθος προσπέλαση την λίστας µε αποτελέσµα το πρόγραµµα να µην τελειώνει ποτέ. - Σωστή χρήση free για τον κόµβο που πρέπει να αφαιρεθεί Σωστά ελέγχετε αν η createlist εκτελλέστικε σωστά και τερµατίζετε το πρόγραµµα σε διαφορετική -Σωστά βρίσκετε το σηµείο στο οποίο πρέπει να προστεθεί ο κόµβος -Σωστά τερµατίζετε το loop µε το να κοιτάτε αν επιστρέψατε στην κεφαλή FAIL Άδειο tgz -Σωστά απελευθερώνετε ολόκληρη τη λίστα και την κεφαλή Σωστά ελέγχετε την τιµή που επιστρέφει η createlist. Στην addatstep: - Σωστός έλεγχος της τιµής που επιστρέφει η malloc. - Σωστός έλεγχος για να δείτε αν φτάσατε στην κεφαλή της λίστας. Σωστή απελευθέρωση των κόµβων στην clearlist. - Ο έλεγχος της τιµής που επιστρέφει η createlist είναι σωστός. - Σωστά επιστρέφετε τον αριθµό των εισαγόµενων κόµβων στη main. - Σωστή αποδέσµευση κόµβων. - Σωστά ελέγχετε την τιµή που επιστρέφει η createlist. Στην addatstep: - Σωστός έλεγχος της τιµής που επιστρέφει η malloc. - Σωστός έλεγχος για να δείτε αν φτάσατε στην κεφαλή της λίστας. Σωστή απελευθέρωση των κόµβων στην clearlist. Page 5

6 Πρώτα έπρεπε να ελέγχετε για έγκυρο αριθµό παραµέτρων (argc) και µετά να χρησιµοποιήσετε µε ασφάλεια το argv[]. - Δεν ελέγχετε την τιµή επιστροφής της malloc(). - Το σωστό µέγεθος της δυναµικής µνήµης που χρειάζεστε είναι sizeof(listt) και όχι 1. - Δεν αρχικοποιείτε τους pointers (prev, next) του κόµβου που κάνετε malloc() για τη δεύτερη λίστα. - Ο κώδικας τερµατίζει µε segmentation fault λόγω των παραπάνω προβληµάτων. - Δεν καλείτε την clearlist() στη main() για την νέα λίστα Σωστά ελέγχετε αν η creatlist επέστρεψε NULL -Σωστή εύρεση σηµείου στο οποίο θα προστεθεί ο κόµβος -Σωστή malloc και εισαγωγή κόµβου -Σωστά η συνάρτηση επιστρέφει το πλήθος κόµβων που προστέθηκαν. -Σωστές κλήσεις συναρτήσεων -Σωστή διαγραφή όλων των κόµβων. - Σωστή δέσµευση δυναµικής µνήµης, µε έλεγχο της τιµής επιστροφής της malloc(). - Σωστή µεταφορά κόµβων στη νέα λίστα. - Σωστή επιστροφή της νέας λίστας. - Ο κώδικας ελέγχου για την τιµή του step θα µπορούσε να µπει στη main(), καθώς είναι κοινός και ελέγχει την εγκυρότητα της εισόδου του χρήστη Στον έλεγχο της τιµής που επιστρέφει η createlist θα έπρεπε επιπλέο να τερµατίζει το πρόγραµµα. - Γενικά σωστή εύρεση του σηµείου για εισαγωγή κόµβου, αλλά στην αρχή εισάγεις έναν περιττό κόµβο. - Σωστός έλεγχος για να δεις αν έχεις φτάσει στην κεφαλή της λίστας. - Δεν επιστρέφεις τον αριθµό των εισαγόµενων κόµβων στη main. - Η αποδέσµευση κόµβων δε γίνεται σωστά, διότι δεν αποδεσµεύεις όλους τους κόµβους Στην άσκηση 1, αφαιρείτε σωστά τον πρώτο κόµβο, αλλά µετά αφαιρείτε πάντα τον επόµενο αυτού που πρέπει - έχετε λάθος λογική στο loop σας. - Το return plithos++ δεν επιστρέφει αυτό που νοµίζετε. Ξαναδιαβάστε πώς λειτουργεί ο τελεστής ++ - Σωστά κάνετε free - Στη move δεν κάνετε malloc την κεφαλή της λίστας! - Σωστά ελέγχετε το αποτέλεσµα της createlist Page 6

7 Σωστός ο έλεγχος για το αν επιστρέφει η createlist NULL τιµή. - Πρώτα έπρεπε να ελέγχετε για έγκυρο αριθµό παραµέτρων και µετά να χρησιµοποιήσετε µε ασφάλεια το argv[2]. - Σωστή εύρεση του κόµβου προς αφαίρεση. - Κάνετε προσπέλαση του current (στο current->next) αφότου έχει γίνει free. Αυτό είναι λάθος. - Να οργανώνετε τις κλήσεις συναρτήσεων καλύτερα. - Η έξοδος του προγράµµατος δεν δουλεύει σωστά όταν το size είναι πολλαπλάσιο του step. - Σωστή η τοποθέτηση των clearlist για το head και το new_head. - Σωστή αρχικοποίηση της δεύτερης λίστας µέσα στη συνάρτηση. - Δεν έχετε κάνει σωστή ανάθεση των δεικτών µε αποτέλεσµα ο κώδικας να µην τρέχει Καλά σχόλια. - Σωστός έλεγχος για αριθµό arguments. - Λάθος!!! θα έπρεπε να κάνετε έλεγχο αν προσπελάστηκε όλη η λίστα συγκρίνοντας τις διευθύνσεις µνήµης (αφού όλα είναι pointers) και όχι βάσει αρνητικών τιµών αφου η ασκήση δεν σας είπε ότι η λίστα δεν θα έχει αρνητικές τιµές! - Σωστός υπολογισµός τον κόµβων που πρέπει να αφαιρεθούν. - Δεν κάνετε ποτέ free τον κόµβο που πρέπει να αφαιρεθεί. - Σωστή δηµιουργία νέας λίστας. - Σωστή απελευθέρωση µνήµης και για τις δύο λίστες. - Δεν εισάγετε σωστά το κόµβο στην νέα λίστα Καλά σχόλια. - Σωστός έλεγχος για αριθµό arguments. - Λάθος!!! θα έπρεπε να κάνετε έλεγχο αν προσπελάστηκε όλη η λίστα συγκρίνοντας τις διευθύνσεις µνήµης (αφού όλα είναι pointers) και όχι βάσει αρνητικών τιµών αφου η ασκήση δεν σας είπε ότι η λίστα δεν θα έχει αρνητικές τιµές! - Σωστός υπολογισµός τον κόµβων που πρέπει να αφαιρεθούν. - Δεν κάνετε ποτέ free τον κόµβο που πρέπει να αφαιρεθεί. - Σωστή δηµιουργία νέας λίστας. - Σωστή απελευθέρωση µνήµης και για τις δύο λίστες. - Δεν εισάγετε σωστά το κόµβο στην νέα λίστα. Page 7

8 Δεν κάνετε έλεγχο για το αν επιστρέφει η createlist NULL. - Δεν αφαιρείτε τον τελευταίο κόµβο όταν πρέπει. - Δεν χρησιµοποιείτε καθόλου τη free για να αποδεσµεύσετε τον κόµβο που θέλετε από τη λίστα. - Σωστή η σειρά κλήσης των συναρτήσεων. - Η έξοδος του προγράµµατος δεν είναι σωστή για όλες τις περιπτώσεις. - Η συνάρτηση δεν είναι ολοκληρωµένη. Να την συνεχίσετε στο σπίτι. - Δεν έχετε γράψει κώδικα για να εκτυπώνετε τη δεύτερη λίστα και να αποδεσµεύετε τη µνήµη FAIL -Έπρεπε να ελέγχετε αν η creatlist επέστρεψε NULL και να τερµατίζετε το πρόγραµµα σε αυτή τη. -Δεν εντοπίζετε σωστά το σηµείο που πρέπει να προστεθεί o κόµβος. -Σωστή malloc αλλά δεν ελέγχετε άµα επιστρέψει NULL να τερµατίζει το πρόγραµµα. -Δεν εισάγετε σωστά τον κόµβο, κάνετε τελείως λάθος τη σύνδεση. -Η συνάρτηση σας δεν επιστρέφει το πλήθος κόµβων που προστέθηκαν. -Δεν υλοποιείτε τη clearlist Πρώτα έπρεπε να ελέγχετε για έγκυρο αριθµό παραµέτρων (argc) και µετά να χρησιµοποιήσετε µε ασφάλεια το argv[] Δεν ελέγχετε την τιµή επιστροφής της malloc(). - Το σωστό µέγεθος της δυναµικής µνήµης που χρειάζεστε είναι sizeof(listt) και όχι 1. - Δεν αρχικοποιείτε τους pointers (prev, next) του κόµβου που κάνετε malloc() για τη δεύτερη λίστα. - Ο κώδικας τερµατίζει µε segmentation fault λόγω των παραπάνω προβληµάτων. - Δεν καλείτε την clearlist() στη main() για την νέα λίστα. -Σωστά ελέγχετε αν η createlist εκτελέστηκε σωστά και τερµατίζετε το πρόγραµµα σε διαφορετική -Δεν βρίσκετε σωστά το σηµείο στο οποίο πρέπει να προστεθεί ο κόµβος. Έχετε κάνει 2 λάθη. Το πρώτο είναι οτι την πρώτη φορά το βάζετε µια θέση µετα απο την επιθυµητή ενώ στη συνέχεια το αριθµό τον τοποθετείτε ανα µία θέση. -Σωστά τερµατίζετε το loop µε το να κοιτάτε αν επιστρέψατε στην κεφαλή -Σωστά απελευθερώνετε ολόκληρη τη λίστα και την κεφαλή Page 8

9 02186 FAIL FAIL - Το πρόγραµµα σας δεν κάνει compile, έχετε βασικά λάθη. Στη main - Δεν διαβάζετε πουθενά την είσοδο των δεδοµένων. - Ελέγχουµε argc < 4 και µετά παίρνουµε από τον πίνακα argv τα στοιχεία εισόδου argv[1], argv[2], argv[3] - Οι κλήσεις των συναρτήσεων δεν έχουν σωστή σύνταξη (δεν βάζουµε τον τύπο που επιστρέφει, ούτε τους τύπους των παραµέτρων) Στην addatstep - Δεν χρησιµοποιήσατε τη malloc για τη δηµιουργία νέου node - Δεν µετακινείτε καθόλου το curr ώστε να γίνει σωστά η εισαγωγή - Ο έλεγχος της τιµής που επιστρέφει η createlist δεν είναι σωστός καθώς το πρόγραµµα θα έπρεπε να τερµατίζει. Η µεταβλητή assist δε χρειάζεται malloc εφόσον αµέσως µετά την βάζετε να δείχνει στο head. - Σωστά επιστρέφετε τον αριθµό των εισαγόµενων κόµβων στη main. - Σωστή αποδέσµευση κόµβων. - Σωστά ελέγχετε την τιµή που επιστρέφει η createlist. addatstep: - Σωστός έλεγχος για να δείτε αν φτάσατε στην κεφαλή της λίστας. - Δεν ελέγχετε αν η malloc επιστρέφει null! - Λάθος η αρχικοποίηση του current στη for, δεν µετράει τον 1ο κόµβο, πρέπει current=head. - Λάθος στην εισαγωγή νέου κόµβου. Δε θέτετε όλους τους δείκτες που πρέπει. - Επιστρέφει τον αριθµό k αλλά δεν το διαβάζετε-εκτυπώνετε στη main FAIL - Οι οδηγίες του lab ήταν να τρέξετε το πρόγραµµα από τη γραµµή εντολών, να ελέγξετε το πλήθος της εισόδου (argc<4) και να διαβάσετε τα στοιχεία εισόδου από τον πίνακα argv[]. εσείς βάλατε scanf. - Σωστά ελέγχετε την τιµή που επιστρέφει η createlist. addatstep: - Σωστά χρησιµοποιήσατε τη malloc αλλά δεν κάνατε έλεγχο για NULL. - Σωστός έλεγχος για να δείτε αν φτάσατε στην κεφαλή της λίστας. Σωστή απελευθέρωση των κόµβων στην clearlist. - Σωστός έλεγχος του αριθµού των ορισµάτων και σωστή λήψη των τιµών τους. - Σωστή κλήση της createlist, αλλά αλγοριθµικά το παρακάτω είναι εντελώς λάθος head_adress=createlist(size); if(head_adress!=null){ printlist (createlist(size)); } - Εντελώς λάθος είναι και το if (step>=2){ add_result=addatstep(head_adress,step,data); } if (addatstep(head_adress,step,data)==0){ printf("..."); return -2; } - Η addstep αν και έχει κάποια σωστά σηµεία στην λογική της (π.χ. κάνει malloc για κάθε κόµβο που προσθέτει και προσθέτει σωστά τον πρώτο κόµβο) αποτυγχάνει να υλοποιήσει σωστά τον αλγόριθµο. Υλοποιήστε τη στο σπίτι. - Υλοποιήστε την στο σπίτι. Page 9

10 02195 FAIL Δεν ελήφθη άσκηση FAIL Δεν ελήφθη άσκηση Σωστή χρήση argc, argv - Δεν ελέγχετε αν η createlist επέστρεψε NULL. - Σωστή κλήση removeatstep. - Δεν κάνετε free τους κόµβους που αφαιρούνται! - Στη δεύτερη άσκηση, η ανάθεση NULL στην κεφαλή αµέσως µετά το malloc είναι σοβαρό λάθος και οδηγεί σε segmentation fault. Γενικά η δεύτερη άσκηση έχει πολλές ελλείψεις Σωστός ο έλεγχος για το αν επιστρέφει η createlist NULL τιµή. - Σωστή η εύρεση του κόµβου προς αφαίρεση. - Κάνετε προσπέλαση του current (στο current->next) αφότου έχει γίνει free. Αυτό είναι λάθος. - Σωστή η κλήση των συναρτήσεων. - Η έξοδος του προγράµµατος είναι σωστή. - Σωστή η τοποθέτηση των clearlist για το head και το new_head. - Σωστή αρχικοποίηση της δεύτερης λίστας µέσα στη συνάρτηση. - Σωστή η τοποθέτηση των δεικτών στη νέα λίστα. - Η έξοδος του προγράµµατος είναι σωστή Σωστός ο έλεγχος για το αν επιστρέφει η createlist NULL τιµή. - Πρώτα έπρεπε να ελέγχετε για έγκυρο αριθµό παραµέτρων και µετά να χρησιµοποιήσετε µε ασφάλεια το argv[2]. - Σωστή εύρεση του κόµβου προς αφαίρεση. - Κάνετε προσπέλαση του current (στο current->next) αφότου έχει γίνει free. Αυτό είναι λάθος. - Να οργανώνετε τις κλήσεις συναρτήσεων καλύτερα. - Η έξοδος του προγράµµατος δεν δουλεύει σωστά όταν το size είναι πολλαπλάσιο του step. - Σωστή η τοποθέτηση των clearlist για το head και το new_head. - Σωστή αρχικοποίηση της δεύτερης λίστας µέσα στη συνάρτηση. - Δεν έχετε κάνει σωστή ανάθεση των δεικτών µε αποτέλεσµα ο κώδικας να µην τρέχει Καλά σχόλια. - Ξέχασες να κάνεις έλεγχο για arguments µικρότερες σε αριθµό του 3. - Σωστός έλεγχος αν η createlist επέστρεψε NULL. - Λάθος υπολογισµός τον κόµβων που πρέπει να αφαιρεθούν σε κάποια σενάρια (αφαιρείς πάντα το πρώτο στοιχείο κτλ). Πρόσεξε την αρχική τιµή του counter. - Κάνεις προσπέλαση του κόµβου (στο current->next) αφού τον έχεις κάνει free. Αυτό είναι λάθος Σωστά ελέγχετε αν η creatlist επέστρεψε NULL -Σωστή εύρεση σηµείου στο οποίο θα προστεθεί ο κόµβος -Σωστή malloc και εισαγωγή κόµβου -Σωστά η συνάρτηση επιστρέφει το πλήθος κόµβων που προστέθηκαν. -Σωστές κλήσεις συναρτήσεων -Σωστή διαγραφή όλων των κόµβων. Page 10

11 02218 FAIL Έπρεπε να ελέγχετε αν η creatlist επέστρεψε NULL και να τερµατίζετε το πρόγραµµα σε αυτή τη. -Δεν εντοπίζετε σωστά το σηµείο που πρέπει να προστεθεί o κόµβος. -Σωστή malloc αλλά δεν ελέγχετε άµα επιστρέψει NULL να τερµατίζει το πρόγραµµα. -Δεν εισάγετε σωστά τον κόµβο, κάνετε τελείως λάθος τη σύνδεση. -Η συνάρτηση σας δεν επιστρέφει το πλήθος κόµβων που προστέθηκαν. -Δεν υλοποιείτε τη clearlist - Πριν προσπελάσετε το argv πρέπει να ελέγχετε το argc. - Λάθος χειρισµός στην απελευθέρωση µνήµης. Κάνετε free(current) και στην αµέσως επόµενη επανάληψη υπολογίζετε το current->next. Έπρεπε να είχατε αποθηκεύσει σε βοηθητική µεταβλητή το current->next πριν γίνει το free, και µετά να χρησιµοποιήσετε αυτή τη µεταβλητή. Είναι λάθος να προσπελάσετε ελευθερωµένη µνήµη. - Στη move δε βάζετε σωστά τους δείκτες. Ο last_node δε χρειάζεται καν. Μπορείτε να χρησιµοποιήσετε το head->prev στη θέση του. Σχεδιάστε τη λίστα σας στο χαρτί, και µετά προσπαθήστε πάλι να φτιάξτε τους δείκτες. - Σωστή main FAIL Δεν ελήφθη άσκηση FAIL Άδειο tgz Σωστή removeatstep, µπράβο. - Σωστή χρήση argc/argv - Έπρεπε να ελέγχεις στη main αν η createlist επέστρεψε NULL και σε αυτή την να τερµατίζει το πρόγραµµα. - Στη moveatstep ξέχασες να αρχικοποιήσεις το curr - το είχες σωστά στη remove οπότε υποθέτω το έσβησες κατά λάθος. - Σωστή αρχικοποίηση της νέας λίστας και σωστή εισαγωγή στο τέλος της λίστας. Μετά από malloc να ελέγχεις πάντα αν επέστρεψε NULL. - Σωστή κλήση clearlist και στις δύο περιπτώσεις. - Πολύ καλή δουλειά, µπράβο Ολοκληρώστε τη δεύτερη άσκηση στο σπίτι. Page 11

12 02235 FAIL lab13grades - Σωστός έλεγχος του αριθµού των ορισµάτων και σωστή λήψη των τιµών τους. - Σωστή κλήση της createlist, αλλά αλγοριθµικά το παρακάτω είναι εντελώς λάθος head_adress=createlist(size); if(head_adress!=null){ printlist (createlist(size)); } - Εντελώς λάθος είναι και το if (step>=2){ add_result=addatstep(head_adress,step,data); } if (addatstep(head_adress,step,data)==0){ printf("..."); return -2; } Η addstep αν και έχει κάποια σωστά σηµεία στην λογική της (π.χ. κάνει malloc για κάθε κόµβο που προσθέτει και προσθέτει σωστά τον πρώτο κόµβο) αποτυγχάνει να υλοποιήσει σωστά τον αλγόριθµο. Υλοποιήστε τη στο σπίτι. - Υλοποιήστε την στο σπίτι. - Στη removeatstep, δεν αρχικοποιείτε τη µεταβλητή removed_nodes µε αποτέλεσµα να περιέχει τελικά "σκουπίδια" - Δεν κάνετε free τον κόµβο που αφαιρείτε - Στο for loop πρέπει κάθε φορά που "προχωρά" ο κόµβος current να ελέγχετε αν έχει ξαναφτάσει στο head ώστε να τερµατίσει η συνάρτηση, διαφορετικά θα συνεχίσει να κάνει κύκλους στη λίστα και να αφαιρεί κόµβους που δεν πρέπει. - Στη main, δεν ελέγχετε αν η createlist επέστρεψε NULL - Σωστή χρήση argc/argv - Σωστή κλήση της removeatstep και της clearlist. - Στη moveatstep αρχικοποιείτε σωστά τη νέα λίστα, αλλά η εισαγωγή γίνεται στην αρχή, όχι στο τέλος όπως ζητούσαµε. Επίσης, θέτετε µόνο τους δείκτες του νέου κόµβου, αλλά όχι και αυτούς του προηγούµενου και του επόµενου στη λίστα FAIL Δεν ελήφθη άσκηση Δεν κάνετε έλεγχο για το αν επιστρέφει η createlist NULL. - Δεν αφαιρείτε τον τελευταίο κόµβο όταν πρέπει. - Δεν χρησιµοποιείτε καθόλου τη free για να αποδεσµεύσετε τον κόµβο που θέλετε από τη λίστα. - Σωστή η σειρά κλήσης των συναρτήσεων. - Η έξοδος του προγράµµατος δεν είναι σωστή για όλες τις περιπτώσεις. - Η συνάρτηση δεν είναι ολοκληρωµένη. Να την συνεχίσετε στο σπίτι. - Δεν έχετε γράψει κώδικα για να εκτυπώνετε τη δεύτερη λίστα και να αποδεσµεύετε τη µνήµη. Page 12

13 lab13grades Πρώτα έπρεπε να ελέγχετε για έγκυρο αριθµό παραµέτρων (argc) και µετά να χρησιµοποιήσετε µε ασφάλεια το argv[]. - Δεν εκτυπώνετε στην main() τον αριθµό των κόµβων που αφαιρέθηκαν. - Δεν είναι απαραίτητη η χρήση δυο δοµών επανάληψης. Προσπαθήστε να γράψετε µε πιο απλό τρόπο τον αλγόριθµο (µε µία δοµή επανάληψης). - Δεν ελέγχετε την τιµή επιστροφής της malloc(). - Δεν αρχικοποιείτε τους pointers (prev, next) του κόµβου που κάνετε malloc() για τη δεύτερη λίστα. - Όταν φτάνετε στην κεφαλή της λίστας κάνετε exit() αντί να επιστρέψετε από τη συνάρτηση. - Ο κώδικας δεν τερµατίζει Σωστός ο έλεγχος για το αν επιστρέφει η createlist NULL τιµή. - Σωστή η εύρεση του κόµβου προς αφαίρεση. - Κάνετε προσπέλαση του current (στο current->next) αφότου έχει γίνει free. Αυτό είναι λάθος. - Δεν επιστρέφεται το πλήθος των διεγραµµένων κόµβων. - Σωστή η κλήση των συναρτήσεων. - Η έξοδος του προγράµµατος είναι σωστή Δεν ελέγχετε αν η creatlist επέστρεψε NULL ώστε να τερµατίζετε το πρόγραµµα σε αυτή τη. -Δεν εντοπίζετε σωστά το σηµείο που πρέπει να τοποθετηθεί ο κόµβος. Η άσκηση δε ζητούσε να τοποθετείτε κόµβο ανάµεσα σε κάθε ήδη υπάρχον κόµβο. -Σωστή malloc αλλά όταν επιστρέφει NULL πρέπει να τερµατίζει το πρόγραµµα. -Σωστές κλήσεις συναρτήσεων. -Δεν υλοποιείτε τη clearlist - Στην άσκηση 1, αφαιρείτε σωστά τον πρώτο κόµβο, αλλά µετά αφαιρείτε πάντα τον επόµενο αυτού που πρέπει - έχετε λάθος λογική στο loop σας. - Το return plithos++ δεν επιστρέφει αυτό που νοµίζετε. Ξαναδιαβάστε πώς λειτουργεί ο τελεστής ++ - Σωστά κάνετε free - Στη move δεν κάνετε malloc την κεφαλή της λίστας! - Σωστά ελέγχετε το αποτέλεσµα της createlist - Στη removeatstep, δεν αρχικοποιείτε τη µεταβλητή removed_nodes µε αποτέλεσµα να περιέχει τελικά "σκουπίδια" - Δεν κάνετε free τον κόµβο που αφαιρείτε - Στο for loop πρέπει κάθε φορά που "προχωρά" ο κόµβος current να ελέγχετε αν έχει ξαναφτάσει στο head ώστε να τερµατίσει η συνάρτηση, διαφορετικά θα συνεχίσει να κάνει κύκλους στη λίστα και να αφαιρεί κόµβους που δεν πρέπει. - Στη main, δεν ελέγχετε αν η createlist επέστρεψε NULL - Σωστή χρήση argc/argv - Σωστή κλήση της removeatstep και της clearlist. - Στη moveatstep αρχικοποιείτε σωστά τη νέα λίστα, αλλά η εισαγωγή γίνεται στην αρχή, όχι στο τέλος όπως ζητούσαµε. Επίσης, θέτετε µόνο τους δείκτες του νέου κόµβου, αλλά όχι και αυτούς του προηγούµενου και του επόµενου στη λίστα. Page 13

14 lab13grades - Καλά σχόλια. - Σωστός έλεγχος για αριθµό arguments αλλά λάθος έλεγχος του argv. Το argv[1] είναι δείκτης. Δεν είναι δυνατό να είναι µικρότερος του µηδενός. Έπρεπε να µετατρέψετε το string σε ακέραιο και να ελέγχετε αυτό. - Λάθος υπολογισµός τον κόµβων που πρέπει να αφαιρεθούν σε κάποια σενάριο (π.χ../lab /lab13 4 1). Γενικά ο κώδικάς σας είναι αρκετά µπερδεµένος και δυσνόητος. ΜΗ ΧΡΗΣΙΜΟΠΟΙΕΙΤΕ flags. Είναι πολύ κακή τακτική. Ακόµη χειρότερο είναι το ότι χρησιµοποιήσατε το όνοµα flag και όχι κάτι περιγραφικό που να µας λέει τι σκοπό εξυπηρετεί αυτή η µεταβλητή. Δοκιµάστε να ξανακάνετε την άσκηση, χωρίς flag, και µε λιγότερο κώδικα. - Εντολές µετά από break σε loop δεν εκτελούνται ποτέ! - Σωστή χρήση free για τον κόµβο που πρέπει να αφαιρεθεί. - Κάντε και τη δεύτερη άσκηση στο σπίτι. - Καλά σχόλια. - Σωστός έλεγχος για αριθµό arguments αλλά λάθος έλεγχος του argv. Το argv[1] είναι δείκτης. Δεν είναι δυνατό να είναι µικρότερος του µηδενός. Έπρεπε να µετατρέψετε το string σε ακέραιο και να ελέγχετε αυτό. - Λάθος υπολογισµός τον κόµβων που πρέπει να αφαιρεθούν σε κάποια σενάριο (π.χ../lab /lab13 4 1). Γενικά ο κώδικάς σας είναι αρκετά µπερδεµένος και δυσνόητος. ΜΗ ΧΡΗΣΙΜΟΠΟΙΕΙΤΕ flags. Είναι πολύ κακή τακτική. Ακόµη χειρότερο είναι το ότι χρησιµοποιήσατε το όνοµα flag και όχι κάτι περιγραφικό που να µας λέει τι σκοπό εξυπηρετεί αυτή η µεταβλητή. Δοκιµάστε να ξανακάνετε την άσκηση, χωρίς flag, και µε λιγότερο κώδικα. - Εντολές µετά από break σε loop δεν εκτελούνται ποτέ! - Σωστή χρήση free για τον κόµβο που πρέπει να αφαιρεθεί. - Κάντε και τη δεύτερη άσκηση στο σπίτι FAIL - Σωστός έλεγχος του πλήθους των ορισµάτων από την γραµµή εντολών. - Σωστή λήψη τιµών για τα ορίσµατα argv[1] - argv[3]. - Σωστή χρήση της createlist αλλά δεν ελέγχεις εάν αυτή επιστρέφει NULL. - Σωστή χρήση της printlist. - Η addstep είναι εντελώς λάθος και ηµιτελής. * Προσπάθησε να υλοποιήσεις την addstep και την clearlist στο σπίτι FAIL - Σωστά ελέγχετε την τιµή που επιστρέφει η createlist. addatstep: - Σωστός έλεγχος για να δείτε αν φτάσατε στην κεφαλή της λίστας. - Δεν ελέγχετε αν η malloc επιστρέφει null! - Λάθος η αρχικοποίηση του current στη for, δεν µετράει τον 1ο κόµβο, πρέπει current=head. - Λάθος στην εισαγωγή νέου κόµβου. Δε θέτετε όλους τους δείκτες που πρέπει. - Επιστρέφει τον αριθµό k αλλά δεν το διαβάζετε-εκτυπώνετε στη main Σωστά ελέγχετε αν η createlist εκτελλέστικε σωστά και τερµατίζετε το πρόγραµµα σε διαφορετική -Σωστά βρίσκετε το σηµείο στο οποίο πρέπει να προστεθεί ο κόµβος -Σωστά τερµατίζετε το loop µε το να κοιτάτε αν επιστρέψατε στην κεφαλή -Σωστά απελευθερώνετε ολόκληρη τη λίστα και την κεφαλή Page 14

15 02275 lab13grades - Σωστή χρήση argc, argv - Δεν ελέγχετε αν η createlist επέστρεψε NULL. - Σωστή κλήση removeatstep. - Δεν κάνετε free τους κόµβους που αφαιρούνται! - Στη δεύτερη άσκηση, η ανάθεση NULL στην κεφαλή αµέσως µετά το malloc είναι σοβαρό λάθος και οδηγεί σε segmentation fault. Γενικά η δεύτερη άσκηση έχει πολλές ελλείψεις Οι οδηγίες του lab ήταν να τρέξετε το πρόγραµµα από τη γραµµή εντολών, να ελέγξετε το πλήθος της εισόδου (argc<4) και να διαβάσετε τα στοιχεία εισόδου από τον πίνακα argv[]. εσείς βάλατε scanf. - Σωστά ελέγχετε την τιµή που επιστρέφει η createlist. addatstep: - Σωστά χρησιµοποιήσατε τη malloc αλλά δεν κάνατε έλεγχο για NULL. - Σωστός έλεγχος για να δείτε αν φτάσατε στην κεφαλή της λίστας. Σωστή απελευθέρωση των κόµβων στην clearlist. Page 15

Sheet2. Σωστή, και µπράβο που µεριµνήσατε για λίστες διαφορετικών µεγεθών.

Sheet2. Σωστή, και µπράβο που µεριµνήσατε για λίστες διαφορετικών µεγεθών. Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ Δεν κάνει compile και το λάθος είναι σηµαντικό: Το head1 είναι δείκτης σε struct, εποµένως η προσπέλαση πεδίου γίνεται 321 FAIL µε head1->next και όχι head1.next. Επιπλέον, έχετε λάθος

Διαβάστε περισσότερα

FAIL PASS PASS οριακά

FAIL PASS PASS οριακά AEM 0001 0002 COMMENTS οριακά -Το πρόγραµµά σου δουλεύει λάθος για τις εισόδους: 7 -Δεν έχεις µεριµνήσει για την περίπτωση step=1. Μπορούσες να θεωρήσεις ειδική περίπτωση και να την υλοποιείς σε άλλον

Διαβάστε περισσότερα

Δείτε τώρα και πώς θα έπρεπε να ήταν το παραπάνω: Page 1

Δείτε τώρα και πώς θα έπρεπε να ήταν το παραπάνω: Page 1 Επειδή αρκετοί εξακολουθείτε να βάζετε σχόλια στην ίδια γραµµή αλλά πολύ πιο "δεξιά" από τον κώδικα που σχολιάζουν, δείτε παρακάτω πώς µοιάζει ένα τέτοιο πρόγραµµα σε συµβατικό terminal. Όπως έχουµε πει

Διαβάστε περισσότερα

- Το πρόγραµµα σας δίνει τα αναµενόµενα αποτελέσµατα.

- Το πρόγραµµα σας δίνει τα αναµενόµενα αποτελέσµατα. Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ 1349 FAIL Δεν ελήφθη άσκηση 1482 1556 1559 1562 1563 1565 1566 FAIL - Στην initialize πρέπει να κάνετε έλεγχο αν η malloc αποτυγχάνει για κάθε κλήση της, άρα και για δέσµευση χώρου για

Διαβάστε περισσότερα

Στην clearlist: - Όλα ok. οριακό PASS

Στην clearlist: - Όλα ok. οριακό PASS Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ Στη main: - Αποθηκεύετε το αποτέλεσµα της removepart στη µεταβλητή curr, αλλά στην κλήση της clearlist µετά περνάτε την παλιά κεφαλή της λίστας (µεταβλητή list) η οποία δεν είναι πια

Διαβάστε περισσότερα

Sheet2. - Άσκηση 1 οκ - Άσκηση 2 οκ. Σκέψου πώς θα µπορούσες να την

Sheet2. - Άσκηση 1 οκ - Άσκηση 2 οκ. Σκέψου πώς θα µπορούσες να την AEM ΒΑΘΜΟΣ ΣΧΟΛΙΑ 1413. Σκέψου πώς θα µπορούσες να την 1417 κάνεις χωρίς χρήση της βοηθητικής µεταβλητής curr - Πρώτη άσκηση οκ - Στη δεύτερη άσκηση το free(head) δεν έπρεπε να είναι στο else, αλλά να

Διαβάστε περισσότερα

ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ. 812 PASS Καλή δουλειά

ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ. 812 PASS Καλή δουλειά ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ 812 Καλή δουλειά 887 926 FAIL 1040 FAIL Μη αναγνωρίσιµο φορµατ 1060 1138 FAIL Ηµιτελές - Άσχηµα ονόµατα µεταβλητών/πεδίων που κάνουν δυσνόητο τον κώδικα. Μη χρησιµοποιείτε µεταβλητές

Διαβάστε περισσότερα

lab13grades 449 PASS 451 PASS PASS FAIL 1900 FAIL Page 1

lab13grades 449 PASS 451 PASS PASS FAIL 1900 FAIL Page 1 ΑΕΜ ΒΑΘΜΟΣ 449 PASS 451 PASS 476-1733 PASS 1779-1899 FAIL 1900 FAIL Page 1 1901 PASS 1904 PASS 1908 PASS 1909 PASS 1910 - Page 2 1911 PASS 1914 Οριακό PASS 1915 PASS 1926 PASS Page 3 1927 PASS 1928 Οριακό

Διαβάστε περισσότερα

403 FAIL Λάθος στο πακετάρισµα του αρχείου.

403 FAIL Λάθος στο πακετάρισµα του αρχείου. ΑΕΜ ΒΑΘΜΟΣ 357 FAIL Λάθος στο πακετάρισµα του αρχείου. ΣΧΟΛΙΑ 400 FAIL 402 Έπρεπε να στείλετε ΜΟΝΟ το lab11.c Λάθος αλγόριθµος. Αµέσως µόλις συναντήστε κόµβο όπου το curr->number είναι διάφορο του number,

Διαβάστε περισσότερα

lab14grades ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ

lab14grades ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ 00497 lab14grades - Σωστός έλεγχος του argc για όλες τις περιπτώσεις. - Θα έπρεπε να καλέσεις τη συνάρτηση strlen_r και στην περίπτωση του κενού string, strlen_r("\0"). - Σωστή χρήση

Διαβάστε περισσότερα

Sheet2 Α.Μ FAIL. οριακό PASS. - Έπρεπε να χρησιµοποιήσετε συναρτήσεις από τη string.h

Sheet2 Α.Μ FAIL. οριακό PASS. - Έπρεπε να χρησιµοποιήσετε συναρτήσεις από τη string.h Α.Μ. 1375 FAIL 1413 1417 1420 1421 FAIL 1422 FAIL 1424 1425 FAIL 1426 FAIL - Πρώτα να ελέγχετε αν η malloc επέστρεψε NULL και µετά να προσπαθείτε να προσπελάσετε τη δεσµευµένη µνήµη - Όταν διαβάζετε string

Διαβάστε περισσότερα

Sheet1_2. - Δεν απελευθερώνεις τη δυναµικά δεσµευµένη µνήµη. - Η έξοδος του προγράµµατός σου δεν είναι ακριβώς όπως ζητούσε η άσκηση.

Sheet1_2. - Δεν απελευθερώνεις τη δυναµικά δεσµευµένη µνήµη. - Η έξοδος του προγράµµατός σου δεν είναι ακριβώς όπως ζητούσε η άσκηση. Sheet1_2 AEM 0001 0002 0003 0004 0006 COMMENTS - Segmentation fault λόγω λάθους στην αναδροµή. Δες τη λύση, αλλά προσπάθησε να το ξανακάνεις και στο σπίτι για εξ - Πρόσεχε λίγο τη στοίχιση - Καλή δουλειά

Διαβάστε περισσότερα

lab9grades Άσκηση 1 - Σωστοί τύποι (παραµέτρων και επιστρεφόµενης τιµής) της series_cosh.

lab9grades Άσκηση 1 - Σωστοί τύποι (παραµέτρων και επιστρεφόµενης τιµής) της series_cosh. ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ - Μέτρια σχόλια. 00497 PASS - Σωστοί τύποι (παραµέτρων και επιστρεφόµενης τιµής) της factorial. - Σωστοί τύποι (παραµέτρων και επιστρεφόµενης τιµής) της series_cosh. - Καλά ονόµατα µεταβλητών

Διαβάστε περισσότερα

Sheet1_2 FAIL. - To πρόγραµµα δεν κάνει compile Δεν παρέδωσε FAIL

Sheet1_2 FAIL. - To πρόγραµµα δεν κάνει compile Δεν παρέδωσε FAIL AEM 0001 0002 0003 COMMENTS οριακά -Η σταθερά για το µέγιστο µέγεθος του πίνακα έπρεπε να έχει τιµή 101 και όχι 100. -Έπρεπε να δεσµέυσεις δυναµικά και την µνήµη του αρχικού string και να το κάνεις free

Διαβάστε περισσότερα

lab11 - Να εκτυπώνεις πιο κατατοπιστικά µηνύµατα λάθους. Αν είναι όλα ίδια, δεν είναι ξεκάθαρο ποιο αρχείο έχει πρόβληµα.

lab11 - Να εκτυπώνεις πιο κατατοπιστικά µηνύµατα λάθους. Αν είναι όλα ίδια, δεν είναι ξεκάθαρο ποιο αρχείο έχει πρόβληµα. Α. Μ. Βαθμός Σχόλια 1183 FAIL - Πρώτα ελέγχουµε το argc και µετά κάνουµε προσπάθεια να προσπελάσουµε το argv. - Λάθος στην ανάγνωση του πρώτου αρχείου. Κάθε φορά που κάνεις fgetc διαβάζεις τον επόµενο

Διαβάστε περισσότερα

Βαθμός Σχόλια. lab5 PASS PASS PASS PASS PASS. Οριακά PASS - Καλή δουλειά

Βαθμός Σχόλια. lab5 PASS PASS PASS PASS PASS. Οριακά PASS - Καλή δουλειά Α. Μ. Βαθμός Σχόλια 1183 1194 1238 1239 1240 1241 - Καλή δουλειά 1242 1243 1244 1245 - Κακή χρήση συναρτήσεων. Κάνεις τον ίδιο έλεγχο και εντός και εκτός της συνάρτησης. Θα έπρεπε να έχεις βρεί ένα τρόπο

Διαβάστε περισσότερα

Βαθμός Σχόλια. lab PASS 1194 PASS 1238 PASS 1239 PASS

Βαθμός Σχόλια. lab PASS 1194 PASS 1238 PASS 1239 PASS lab7 Α. Μ. Βαθμός Σχόλια 1183 1194 1238 1239 1240 1241 1242 1243 1244 1246 - Η συνθήκη του do/while είναι λάθος µε αποτέλεσµα να µπορεί ο χρήστης να βάζει στοιχεία περισσότερα του SIZE. - Στην συνθήκη

Διαβάστε περισσότερα

Βαθμός Σχόλια. lab6 PASS PASS. - Πολύ καλή δουλειά, αλλά προσπάθησε να κάνεις την άσκηση χρησιµοποιώντας συναρτήσεις από το string.

Βαθμός Σχόλια. lab6 PASS PASS. - Πολύ καλή δουλειά, αλλά προσπάθησε να κάνεις την άσκηση χρησιµοποιώντας συναρτήσεις από το string. Α. Μ. Βαθμός Σχόλια 1183 1194 1238 1239 1240 1241 1242 1243 - Πολύ καλή δουλειά κατά τα άλλα, µπράβο. - Πολύ καλή δουλειά, αλλά προσπάθησε να κάνεις την άσκηση χρησιµοποιώντας συναρτήσεις από το string.h

Διαβάστε περισσότερα

Βαθμός Σχόλια. lab8. οριακά PASS 1194 PASS

Βαθμός Σχόλια. lab8. οριακά PASS 1194 PASS Α. Μ. Βαθμός Σχόλια 1183 1194 1195 FAIL 1238 1239 - Άσχηµα ονόµατα µεταβλητών (s, t) - Δε δεσµεύεις αρκετή µνήµη για τις λέξεις που αποθηκεύονται στον πίνακα (και γι αυτό τελικά το πρόγραµµά σου κάνει

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΝΑΠΤΥΞΗ ΚΑΙ ΣΧΕΔΙΑΣΗ ΛΟΓΙΣΜΙΚΟΥ Η γλώσσα προγραμματισμού C ΕΡΓΑΣΤΗΡΙΟ 2: Εκφράσεις, πίνακες και βρόχοι 14 Απριλίου 2016 Το σημερινό εργαστήριο

Διαβάστε περισσότερα

lab7 PASS -Δεν έχεις καθόλου σχόλια! Διάβασε το φυλλάδιο. PASS -Πολύ καλή εργασία µε σωστά και επεξηγηµατικά σχόλια. -Πρόσεξε την στοίχισή σου!

lab7 PASS -Δεν έχεις καθόλου σχόλια! Διάβασε το φυλλάδιο. PASS -Πολύ καλή εργασία µε σωστά και επεξηγηµατικά σχόλια. -Πρόσεξε την στοίχισή σου! AEM 0001 0002 0003 COMMENTS -Δεν έχεις καθόλου σχόλια! Διάβασε το φυλλάδιο. -Πολύ καλή εργασία µε σωστά και επεξηγηµατικά σχόλια. -Πρόσεξε την στοίχισή σου! -Τυπώνεις 1,2,3 αντί για AVAILABLE, RESERVED,

Διαβάστε περισσότερα

Sheet PASS 1426 PASS 1428 PASS. Page 1

Sheet PASS 1426 PASS 1428 PASS. Page 1 Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ -Δεν εκτελείτε κάποιο loop για το πλήθος των επαναλήψεων που 1413 FAIL θα κληθεί η ανάγνωση και η εγγραφή από το αρχείο. -Το άνοιγµα και κλείσιµο του αρχείου γίνεται σωστά. Έχετε αποστείλει

Διαβάστε περισσότερα

lab10grades - Το αποτέλεσµα της τοµής θα έπρεπε να εµφανίζετε µέσα σε εισαγωγικά "Helo".

lab10grades - Το αποτέλεσµα της τοµής θα έπρεπε να εµφανίζετε µέσα σε εισαγωγικά Helo. ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ - Δεν χρησιµοποιείτε καλά ονόµατα µεταβλητών και παραµέτρων στις συναρτήσεις. - Σωστή χρήση της fgets. - Σωστός εντοπισµός του \n και αντικατάσταση µε \0. - Ο χαρακτήρας τερµατισµού \0

Διαβάστε περισσότερα

ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσμία: 17/1/14, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσμία: 17/1/14, 22:00 ΣΕΤ ΑΣΚΗΣΕΩΝ 4 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2013-2014 Προθεσμία: 17/1/14, 22:00 Περιεχόμενα Διαδικαστικά Οδηγίες Αποστολής Εκφώνηση άσκησης (Στάδιο 0, Στάδιο 1, Στάδιο 2, Στάδιο 3, Στάδιο

Διαβάστε περισσότερα

ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσµία: 13/1/13, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσµία: 13/1/13, 22:00 ΣΕΤ ΑΣΚΗΣΕΩΝ 4 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2012-2013 Προθεσµία: 13/1/13, 22:00 Περιεχόµενα Διαδικαστικά Εκφώνηση άσκησης (Στάδιο 0, Στάδιο 1, Στάδιο 2, Στάδιο 3, Στάδιο 4, Στάδιο 5) Οδηγίες

Διαβάστε περισσότερα

Μ.Σ. lab12grades FAIL. η συνθήκη για έξοδο είναι και αυτή σωστή. Οριακό PASS. στα string. - σωστή και η κλήση της συνάρτησης.

Μ.Σ. lab12grades FAIL. η συνθήκη για έξοδο είναι και αυτή σωστή. Οριακό PASS. στα string. - σωστή και η κλήση της συνάρτησης. ΒΑΘΜΟΣ ΣΧΟΛΙΑ - στην malloc που χρησιµοποιήσατε, δεν έχετε αφήσει χώρο για το \0 και χρησιµοποιείτε sizeof µε λάθος τρόπο. Στο τέλος που βάζετε το \0 είναι στην πραγµατικότητα σε µνήµη που δεν έχετε δεσµεύσει

Διαβάστε περισσότερα

lab6grades ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ Διαδικαστικά: Όλα οκ.

lab6grades ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ Διαδικαστικά: Όλα οκ. ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ Διαδικαστικά: Όλα οκ. 449 451 οριακό PASS οριακό PASS, αλλά τα ονόµατα σταθερών γράφονται πάντα µε κεφαλαία για να ξεχωρίζουν. Το max έπρεπε να ήταν MAX. - Ονόµατα µεταβλητών: Καλά, εκτός

Διαβάστε περισσότερα

ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσµία: 22/12/2016, 21:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσµία: 22/12/2016, 21:00 ΣΕΤ ΑΣΚΗΣΕΩΝ 4 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2016-2017 Προθεσµία: 22/12/2016, 21:00 Διαδικαστικά Η εργασία αυτή µπορεί να γίνει σε οµάδες µέχρι 2 ατόµων. Δεν είναι απαραίτητο να συνεργαστείτε

Διαβάστε περισσότερα

Κεφάλαιο Αλφαριθμητικές Σειρές Χαρακτήρων (Strings) (Διάλεξη 20) 1) Strings στη C

Κεφάλαιο Αλφαριθμητικές Σειρές Χαρακτήρων (Strings) (Διάλεξη 20) 1) Strings στη C Κεφάλαιο 9.1-9.2 Αλφαριθμητικές Σειρές Χαρακτήρων (Strings) (Διάλεξη 20) 1) Strings στη C Ένα string είναι μία ακολουθία αλφαριθμητικών χαρακτήρων, σημείων στίξης κτλ. Π.χ. Hello How are you? 121212 *Apple#123*%

Διαβάστε περισσότερα

Λύσεις για τις ασκήσεις του lab5

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

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής

ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής Στο εργαστήριο αυτό θα δούμε πώς ορίζονται και πώς χρησιμοποιούνται οι συμβολοσειρές στην C. Επίσης, θα μελετήσουμε κάποιες από τις συναρτήσεις

Διαβάστε περισσότερα

-Δεν έχεις σχόλια, καλό θα ήταν να έχεις πιο περιγραφικό σχόλιο στην αρχή

-Δεν έχεις σχόλια, καλό θα ήταν να έχεις πιο περιγραφικό σχόλιο στην αρχή Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ Λάθος θέµα e-mail. -Πολύ καλή προσπάθεια, σωστά αποτελέσµατα χωρίς λάθη αλλά µε Υπάρχει µια προειδοποίηση σχετικά µε την εκτύπωση printf της θέσης. -Ωραία περιγραφικά σχόλια, αλλα καλό

Διαβάστε περισσότερα

lab7grades -Σωστή χρήση της sprintf -Σωστά ανιχνεύετε τον χαρακτήρα που πρέπει να αφαιρέσετε. -Σωστή µεταφορά στοιχείων µια θέση αριστερά.

lab7grades -Σωστή χρήση της sprintf -Σωστά ανιχνεύετε τον χαρακτήρα που πρέπει να αφαιρέσετε. -Σωστή µεταφορά στοιχείων µια θέση αριστερά. 00497 Άσκηση1 -Σωστή στοίχιση. -Σωστή χρήση σταθερών. -Σωστά ονόµατα µεταβλητών. -Σωστή χρήση της sprintf. Το sprintf(formatstring, "%%%ds", INIT_SIZE 1); αρκεί να γραφτεί µια φορά. -Σωστή χρήση των συναρτήσεων

Διαβάστε περισσότερα

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Δυναμική Διαχείριση Μνήμης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανάγκη για Δυναμική Μνήμη Στατική Μνήμη Μέχρι τώρα χρησιμοποιούσαμε

Διαβάστε περισσότερα

lab2 -Στην printf να βάζεις \n έτσι ώστε να αλλάζει γραµµή όποτε σου εµφανίζει κάποιο µήνυµα.

lab2 -Στην printf να βάζεις \n έτσι ώστε να αλλάζει γραµµή όποτε σου εµφανίζει κάποιο µήνυµα. Α. Μ. Βαθμός Σχόλιο 1183 lab2 - Πολύ καλή δουλειά κατά τα άλλα 1194 1238 1239 FAIL 1240 1241 1242 1243 1244 1245 1246 - πολύ καλό (*υπάρχουν οι τελεστές = ). Ο κώδικας είναι καλά σχολιασµένος -

Διαβάστε περισσότερα

lab2grades - Στη scanf υπολογίζετε τουλάχιστον 5 χαρακτήρες %5.2f προδιαγραφές που ζητούνται στην εκφώνηση. -

lab2grades - Στη scanf υπολογίζετε τουλάχιστον 5 χαρακτήρες %5.2f προδιαγραφές που ζητούνται στην εκφώνηση. - Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ 1375 - Καλή στοίχηση, σωστά ονόµατα µεταβλητών, όµως δεν έχετε δηλώσει ως σταθερές το ΦΠΑ και την τιµή ανά τετραγωνικό µέτρο για τη µοκέτα. - Στη scanf υπολογίζετε τουλάχιστον 5 χαρακτήρες

Διαβάστε περισσότερα

to post PASS PASS FAIL

to post PASS PASS FAIL AEM COMMENTS - Να δίνεις περιγραφικά ονόµατα σε όλες τις µεταβλητές (τι είναι τα k, flag, temp?) - Το.katastash πρέπει να γίνεται reset σε 0 στην euresh_grammatos, µετά από κάθε κλήση στη search_the_word.

Διαβάστε περισσότερα

Στοίβες με Δυναμική Δέσμευση Μνήμης

Στοίβες με Δυναμική Δέσμευση Μνήμης ΕΠΛ 231 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ 10/02/10 Παύλος Αντωνίου Στοίβες με Δυναμική Δέσμευση Μνήμης Στοίβα: Στοίβα είναι μια λίστα που έχει ένα επιπλέον περιορισμό. Ο περιορισμός είναι ότι οι εισαγωγές

Διαβάστε περισσότερα

- Ο τελευταίος έλεγχος στη συνάρτηση είναι περιττός. Αν έχει φτάσει µέχρι εκεί το πρόγραµµα, τότε αναγκαστικά το µήκος είναι >= του PASSWD_MIN_LEN.

- Ο τελευταίος έλεγχος στη συνάρτηση είναι περιττός. Αν έχει φτάσει µέχρι εκεί το πρόγραµµα, τότε αναγκαστικά το µήκος είναι >= του PASSWD_MIN_LEN. 7/1/2014 ΣΗΜΑΝΤΙΚΗ ΑΝΑΚΟΙΝΩΣΗ: Όπως ακούσατε και στο σηµερινό µάθηµα, θα υπάρξει ειδική ρύθµιση όσον αφορά τις εξετάσεις για όσους φοιτητές δεν πληρούν τις προϋποθέσεις είτε για τα quiz είτε για τις απουσίες

Διαβάστε περισσότερα

Εισαγωγή στον Προγραμματισμό (με. τη C)

Εισαγωγή στον Προγραμματισμό (με. τη C) Υποχρεωτικό Μάθημα 3 ου Εξαμήνου Χειμερινό Εξάμηνο Ακ. Έτους 20 Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Εισαγωγή στον Προγραμματισμό (με τη C) Διδάσκουσα: Φατούρου Παναγιώτα faturu [at] csd.uoc.gr

Διαβάστε περισσότερα

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Πίνακες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Πίνακες Πολλές φορές θέλουμε να κρατήσουμε στην μνήμη πολλά αντικείμενα

Διαβάστε περισσότερα

Πανεπιστήµιο Θεσσαλίας, THMMY HY120, Σεπτέµβριος 2015 ΟΝΟΜΑΤΕΠΩΝΥΜΟ:

Πανεπιστήµιο Θεσσαλίας, THMMY HY120, Σεπτέµβριος 2015 ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΟΝΟΜΑΤΕΠΩΝΥΜΟ: AEM: ΜΕΡΟΣ Α: ΕΡΩΤΗΣΕΙΣ ΠΟΛΛΑΠΛΩΝ ΕΠΙΛΟΓΩΝ [15 µονάδες] ΣΗΜΑΝΤΙΚΕΣ ΔΙΕΥΚΡΙΝΙΣΕΙΣ: Επιλέξτε ΜΙΑ σωστή απάντηση για κάθε ερώτηση. Λάθος απαντήσεις βαθµολογούνται αρνητικά Σε ερωτήσεις που

Διαβάστε περισσότερα

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 2:Αλφαριθμητικές Σειρές Χαρακτήρων (Strings)- Επανάληψη Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγικές Έννοιες σε Strings(Αρχικοποίηση, Ανάγνωση & Εκτύπωση) Πίνακες από Strings

Διαβάστε περισσότερα

Δείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 9.8

Δείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 9.8 Δείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 1000 1001 1002 1003 1004 1005 12 9.8 9976 3 1010 26 1006 1007 1008 1009 1010 1011 16 125 1299 a 13 1298 Δήλωση Δήλωση Τύπος

Διαβάστε περισσότερα

Εργαστήριο 5. Εαρινό Εξάμηνο

Εργαστήριο 5. Εαρινό Εξάμηνο Τομέας Υλικού και Αρχιτεκτονικής Υπολογιστών ΗΥ134 - Εισαγωγή στην Οργάνωση και Σχεδίαση Η/Υ 1 Εργαστήριο 5 Εαρινό Εξάμηνο 2012-2013 Στό χόι τόυ εργαστηρι όυ Χρήση στοίβας Αναδρομή Δομές δεδομένων Δυναμική

Διαβάστε περισσότερα

Sheet1_2. - Δεν υπάρχουν σχόλια συναρτήσεων - Να χρησιµοποιείς πιο περιγραφικά ονόµατα µεταβλητών (και σίγουρα όχι απλούς χαρακτήρες όπως c, d) Page 1

Sheet1_2. - Δεν υπάρχουν σχόλια συναρτήσεων - Να χρησιµοποιείς πιο περιγραφικά ονόµατα µεταβλητών (και σίγουρα όχι απλούς χαρακτήρες όπως c, d) Page 1 AEM 0001 0002 0003 0004 0005 0006 0007 COMMENTS οριακά -Υπολογίζεις λάθος τα στατιστικά. -Δεν βάζεις τα σχόλια µε βάση τις προδιαγραφές του φυλλαδίου. -Πρόσεξε λίγο την στοίχιση σε κάποια σηµεία. - Τα

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 8: Πολυδιάστατοι Πίνακες και Δυναμική Δέσμευση Μνήμης

ΕΡΓΑΣΤΗΡΙΟ 8: Πολυδιάστατοι Πίνακες και Δυναμική Δέσμευση Μνήμης ΕΡΓΑΣΤΗΡΙΟ 8: Πολυδιάστατοι Πίνακες και Δυναμική Δέσμευση Μνήμης Στο εργαστήριο αυτό θα μελετήσουμε τον τρόπο με τον οποίο ορίζουμε στην C πολυδιάστατους πίνακες και θα δούμε πώς μπορούμε να δεσμεύουμε

Διαβάστε περισσότερα

lab9grades -Έπρεπε να χρησιµοποιήσεις την sprintf για το formatting των strings.

lab9grades -Έπρεπε να χρησιµοποιήσεις την sprintf για το formatting των strings. ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ 449 οριακό PASS - Η µεταβλητή aukswn_aritmos είναι περιττή. Μπορούσες να χρησιµοποιήσεις i+1 στη θέση της. - Σωστή αριθµητική δεικτών - Καλή στοίχιση, σχόλια 451 PASS -Καλή στοίχιση -Καλά

Διαβάστε περισσότερα

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 6: Διαχείριση Μνήμης & Δυναμικές Δομές Δεδομένων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Δυναμικές Δομές Δεδομένων Γενικά Δυναμική Δέσμευση/Αποδέσμευση Μνήμης Δομή τύπου structure

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής

ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής Στο εργαστήριο αυτό θα δούμε πώς ορίζονται και πώς χρησιμοποιούνται οι συμβολοσειρές στην C. Επίσης, θα μελετήσουμε κάποιες από τις συναρτήσεις

Διαβάστε περισσότερα

Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf("%u\n", x); Β. unsigned char

Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf(%u\n, x); Β. unsigned char ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εξετάσεις Β Περιόδου 2015 (8/9/2015) ΟΝΟΜΑΤΕΠΩΝΥΜΟ:................................................................................ Α.Μ.:...............................................

Διαβάστε περισσότερα

lab4grades Παράδοση ασκήσεων: -Όλα καλά Άσκηση 1η: -Σωστή 357 PASS

lab4grades Παράδοση ασκήσεων: -Όλα καλά Άσκηση 1η: -Σωστή 357 PASS ΑΕΜ ΒΑΘΜΟΣ -Όλα καλά ΣΧΟΛΙΑ η: -Σωστή 357 PASS η: -Ο κώδικας για την είσοδο του µητρώου πρέπει να δοµηθεί αλλιώς γιατί εµφανίζει λάθος πριν καν δοθεί για πρώτη φορά το µητρώο. -Σωστή στοίχιση, µοναδική

Διαβάστε περισσότερα

Φροντιστήριο 4 Σκελετοί Λύσεων

Φροντιστήριο 4 Σκελετοί Λύσεων Φροντιστήριο 4 Σκελετοί Λύσεων 1. Ο ζητούμενος ΑΤΔ μπορεί να υλοποιηθεί ως εξής: (i) Διαδοχική χορήγηση μνήμης Υποθέτουμε ότι οι λίστες μας έχουν μέγιστο μέγεθος max και χρησιμοποιούμε τη δομή type elements[max];

Διαβάστε περισσότερα

Διάλεξη 13η: Δυναμική Διαχείρηση Μνήμης, μέρος 1

Διάλεξη 13η: Δυναμική Διαχείρηση Μνήμης, μέρος 1 Διάλεξη 13η: Δυναμική Διαχείρηση Μνήμης, μέρος 1 Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Μνήμη I CS100,

Διαβάστε περισσότερα

Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 12-1 Ανασκόπηση οµής Προγράµµατος µε Συναρτήσεις #include 1 void PrintMessage (); Πρότυπο ( ήλωση) Συνάρτησης (

Διαβάστε περισσότερα

lab5grades Διαδικαστικά: όλα οκ, αλλά καθυστερήσατε στην αποστολή. Να προσέχετε να στέλνετε τις ασκήσεις σας εντός της προθεσµίας.

lab5grades Διαδικαστικά: όλα οκ, αλλά καθυστερήσατε στην αποστολή. Να προσέχετε να στέλνετε τις ασκήσεις σας εντός της προθεσµίας. ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ Διαδικαστικά: όλα οκ, αλλά καθυστερήσατε στην αποστολή. Να προσέχετε να στέλνετε τις ασκήσεις σας εντός της προθεσµίας. : 449 οριακό - Λάθος στους υπολογισµούς. Σε κάθε µία επανάληψη

Διαβάστε περισσότερα

lab6grades - Δεν έχετε δηλώσει το βαθµό βάσης ως σταθερά. - Το µήνυµα εισόδου θέλει χαρακτήρα κενού ' ' στο τέλος και όχι TAB '\t'.

lab6grades - Δεν έχετε δηλώσει το βαθµό βάσης ως σταθερά. - Το µήνυµα εισόδου θέλει χαρακτήρα κενού ' ' στο τέλος και όχι TAB '\t'. 00497 PASS - Τα ονόµατα των µεταβλητών θα µπορούσαν να ήταν λίγο πιο περιγραφικά. - Το µήκος του πίνακα θα έπρεπε να δωθεί ως σταθερά πριν τη main µε την εντολή #define SIZE 5 και όχι ως const. - Πολύ

Διαβάστε περισσότερα

Άσκηση 2: -Δεν παραδόθηκε. Το εµαιλ είχε λάθος θέµα. Έπρεπε να είναι CE120 lab6

Άσκηση 2: -Δεν παραδόθηκε. Το εµαιλ είχε λάθος θέµα. Έπρεπε να είναι CE120 lab6 Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ Λάθος όνοµα αρχείου.το επίθετο βάζουµε όχι το όνοµα. 1058 FAIL -Έχεις συντακτικά λάθη και προειδοποιήσεις στο πρόγραµµα σου. -Υπαρξη σχολίου στη πρώτη γραµµή. -Σωστή δήλωση και χρήση

Διαβάστε περισσότερα

Sheet3_2. Τα literals (3.0, 1.5, κτλ) πρέπει να ορίζονται ως σταθερές.

Sheet3_2. Τα literals (3.0, 1.5, κτλ) πρέπει να ορίζονται ως σταθερές. AEM LAB2 0001 Δεν είναι στοιχισµένες σωστά οι εντολές µέσα στη main. 0002 Η απόδειξη εκτυπώνεται όλη σε µία γραµµή, όχι όπως ζητά η εκφώνηση: Να χρησιµοποιείς \n στο printf. 0003 0004 Οι µεταβλητές πρέπει

Διαβάστε περισσότερα

Νήµατα. Πολύ σηµαντικό

Νήµατα. Πολύ σηµαντικό Νήµατα Πολύ σηµαντικό 1 Νήµατα (συν.) Σηµαντικό 2 Νήµατα vs ιεργασίες Νήµατα ιεργασίες Χώρος εδοµένων Περιγραφητές Αρχείων fork exit exec Σήµατα Κοινός. Ότι αλλάζει το 1 νήµα το βλέπουν/ αλλάζουν και τα

Διαβάστε περισσότερα

Διάλεξη 2: Επανάληψη Προγραμματισμού Συμβολοσειρές (strings) Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 2: Επανάληψη Προγραμματισμού Συμβολοσειρές (strings) Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 2: Επανάληψη Προγραμματισμού Συμβολοσειρές (strings) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Εισαγωγικές Έννοιες σε Strings - Πίνακες από Strings - Συναρτήσεις

Διαβάστε περισσότερα

lab5grades ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ ΑΣΚΗΣΗΣ ΑΛΛΑ ΣΧΟΛΙΑ

lab5grades ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ ΑΣΚΗΣΗΣ ΑΛΛΑ ΣΧΟΛΙΑ 00497 PASS 02103 PASS - Δεν έχει γίνει καθόλου χρήση σταθερών όπως έχουµε ζητήσει να γίνεται για όλες τις σταθερές τιµές. - Υπάρχουν σχόλια αλλά θα µπορούσαν να ήταν πιο επεξηγηµατικά και λίγο περισσότερα

Διαβάστε περισσότερα

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 14 η Διαχείριση Μνήμης και Δομές Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη

Διαβάστε περισσότερα

ΣΕΤ ΑΣΚΗΣΕΩΝ 2. Προθεσµία: 15/11/09, 23:59

ΣΕΤ ΑΣΚΗΣΕΩΝ 2. Προθεσµία: 15/11/09, 23:59 ΣΕΤ ΑΣΚΗΣΕΩΝ 2 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2009-20010 Προθεσµία: 15/11/09, 23:59 Στόχοι Χρήση συναρτήσεων Χρήση µονοδιάστατων πινάκων Διαχείριση συµβολοσειρών Φορµαρισµένη έξοδος δεδοµένων

Διαβάστε περισσότερα

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C Εισαγωγή στην C Μορφή Προγράµµατος σε γλώσσα C Τµήµα Α Με την εντολή include συµπεριλαµβάνω στο πρόγραµµα τα πρότυπα των συναρτήσεων εισόδου/εξόδου της C.Το αρχείο κεφαλίδας stdio.h είναι ένας κατάλογος

Διαβάστε περισσότερα

ΕΠΛ232 Προγραμματιστικές Τεχνικές και Εργαλεία Δυναμική Δέσμευση Μνήμης και Δομές Δεδομένων (Φροντιστήριο)

ΕΠΛ232 Προγραμματιστικές Τεχνικές και Εργαλεία Δυναμική Δέσμευση Μνήμης και Δομές Δεδομένων (Φροντιστήριο) ΕΠΛ232 Προγραμματιστικές Τεχνικές και Εργαλεία Δυναμική Δέσμευση Μνήμης και Δομές Δεδομένων (Φροντιστήριο) Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου http://www.cs.ucy.ac.cy/courses/epl232 Το μάθημα αυτό

Διαβάστε περισσότερα

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης Η συνάρτηση printf() Η συνάρτηση printf() χρησιμοποιείται για την εμφάνιση δεδομένων στο αρχείο εξόδου stdout (standard output stream), το οποίο εξ ορισμού συνδέεται με την οθόνη Η συνάρτηση printf() δέχεται

Διαβάστε περισσότερα

Κατ οίκον Εργασία 2 Σκελετοί Λύσεων

Κατ οίκον Εργασία 2 Σκελετοί Λύσεων Κατ οίκον Εργασία 2 Σκελετοί Λύσεων Άσκηση 1 Ο ζητούμενος ΑΤΔ μπορεί να υλοποιηθεί ως μια ακολουθία από στοιχεία τύπου window συνοδευόμενη από τις πράξεις: MakeNewWindow(L,w) Destroy(L,w) SwitchTo(L,w)

Διαβάστε περισσότερα

Κεφάλαιο : Επαναλήψεις (for, do-while)

Κεφάλαιο : Επαναλήψεις (for, do-while) Κεφάλαιο 5.4-5.11: Επαναλήψεις (for, do-while) 10-1 Εντολές Επανάληψης που θα καλυφθούν σήµερα while(){ τελεστές postfix/prefix (++, --,...) και σύνθετοι τελεστές Παραδείγµατα Σήµερα for(){ Η εντολές break/continue;

Διαβάστε περισσότερα

Δομημένος Προγραμματισμός

Δομημένος Προγραμματισμός ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα: Συναρτήσεις θεωρία Δ. Ε. Μετάφας Τμ. Ηλεκτρονικών Μηχ. Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Οι εντολές ελέγχου της ροής ενός προγράμματος.

Οι εντολές ελέγχου της ροής ενός προγράμματος. Κεφάλαιο ΙΙI: Οι εντολές ελέγχου της ροής ενός προγράμματος 31 Εντολές ελέγχου της ροής Στο παρόν κεφάλαιο ασχολούμαστε με την σύνταξη των εντολών της C οι οποίες εισάγουν λογική και ελέγχουν την ροή εκτέλεσης

Διαβάστε περισσότερα

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: 7/1/2014, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: 7/1/2014, 22:00 ΣΕΤ ΑΣΚΗΣΕΩΝ 3 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2013-2014 Προθεσµία: 7/1/2014, 22:00 Περιεχόµενα Διαβάστε πριν ξεκινήσετε Εκφώνηση άσκησης 1 Οδηγίες αποστολής άσκησης Πριν ξεκινήσετε (ΔΙΑΒΑΣΤΕ

Διαβάστε περισσότερα

Δομές Δεδομένων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων. Τμήμα Εφαρμοσμένης Πληροφορικής

Δομές Δεδομένων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων. Τμήμα Εφαρμοσμένης Πληροφορικής Ενότητα 5: Δείκτες και Δυναμική Δέσμευση- Αποδέσμευση Μνήμης στη C/ Υλοποίηση ΑΤΔ Συνδεδεμένη Λίστα με δείκτες /Ένα πακέτο για τον ΑΤΔ Συνδεδεμένη Λίστα Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν

Διαβάστε περισσότερα

Κεφάλαιο Αλφαριθµητικές Σειρές Χαρακτήρων (Strings)

Κεφάλαιο Αλφαριθµητικές Σειρές Χαρακτήρων (Strings) Κεφάλαιο 9.1-9.2 Αλφαριθµητικές Σειρές Χαρακτήρων (Strings) ( ιάλεξη 19) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 1) Strings στη C Ένα string είναι µία ακολουθία αλφαριθµητικών χαρακτήρων, σηµείων στίξης κτλ. Π.χ.

Διαβάστε περισσότερα

Ανάπτυξη και Σχεδίαση Λογισμικού

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Δυναμική Κατανομή Μνήμης Δυναμική εκχώρηση μνήμης Σωρός Συναρτήσεις malloc(), calloc(), realloc(), free() Δυναμικές δομές

Διαβάστε περισσότερα

ΣΕΤ ΑΣΚΗΣΕΩΝ 4 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ Προθεσµία: 9/1/2015, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 4 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ Προθεσµία: 9/1/2015, 22:00 ΣΕΤ ΑΣΚΗΣΕΩΝ 4 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2014-2015 Προθεσµία: 9/1/2015, 22:00 Διαβάστε πριν ξεκινήσετε Διαβάστε την εκφώνηση προσεκτικά. Ολοκληρώστε κάθε ένα στάδιο πριν προχωρήσετε

Διαβάστε περισσότερα

Οργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Ασκήσεις 7: Πρόγραμμα Συνδεδεμένης Λίστας και Διαδικασιών. Μανόλης Γ.Η.

Οργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Ασκήσεις 7: Πρόγραμμα Συνδεδεμένης Λίστας και Διαδικασιών. Μανόλης Γ.Η. ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Οργάνωση Υπολογιστών Ασκήσεις 7: Πρόγραμμα Συνδεδεμένης Λίστας και Διαδικασιών Μανόλης Γ.Η. Κατεβαίνης Τμήμα Επιστήμης Υπολογιστών Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Εργαστήριο 4: Υλοποίηση Αφηρημένου Τύπου Δεδομένων: Ταξινομημένη Λίστα

Εργαστήριο 4: Υλοποίηση Αφηρημένου Τύπου Δεδομένων: Ταξινομημένη Λίστα Εργαστήριο 4: Υλοποίηση Αφηρημένου Τύπου Δεδομένων: Ταξινομημένη Λίστα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Λίστες -Υλοποίηση ταξινομημένης λίστας με δυναμική δέσμευση μνήμης ΕΠΛ035

Διαβάστε περισσότερα

lab7grades ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ

lab7grades ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ 449 Η strcpy αντιγράφει µια γραµµή, οπότε δεν έπρεπε να βρίσκεται µέσα σε διπλό loop. Η εκτύπωση δεν έπρεπε να βρίσκεται µέσα στο loop που γίνεται η αντιγραφή, αλλά να είναι ανεξάρτητη

Διαβάστε περισσότερα

Προγραμματισμός Ι (ΗΥ120)

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 9: Συναρτήσεις Ορισμός συναρτήσεων () { /* δήλωση μεταβλητών */ /* εντολές ελέγχου/επεξεργασίας */ o Μια συνάρτηση ορίζεται δίνοντας

Διαβάστε περισσότερα

Επεξεργασία Αρχείων Κειµένου

Επεξεργασία Αρχείων Κειµένου Επεξεργασία Αρχείων Κειµένου Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Αρχεία Κειµένου Γενικά Συναρτήσεις Επεξεργασίας Αρχείων Κειµένου ΕΠΛ 132 Αρχές Προγραµµατισµού ΙΙ 1 Αρχεία Γενικά

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ (ΤΛ2007 )

Προγραμματισμός Η/Υ (ΤΛ2007 ) Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2014-15

Διαβάστε περισσότερα

lab4grades Παρακαλούµε µη γράφετε σχόλια στα ελληνικά!

lab4grades Παρακαλούµε µη γράφετε σχόλια στα ελληνικά! 02103 - Κατα σύµβαση οι σταθερές είναι δηλωµένες µε ΚΕΦΑΛΑΙΑ - Λάθος χρήση της scanf. Το γεγονός ότι η scanf είναι αρκετά "έξυπνη" δεν σηµαίνει ότι το µοτίβο που χρησιµοποιήσατε είναι σωστό. Έπρεπε να

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΟΝΟΜΑΤΕΠΩΝΥΜΟ:

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΟΝΟΜΑΤΕΠΩΝΥΜΟ: Θέμα 1ο I. Δίνεται το παρακάτω τμήμα αλγορίθμου. Να εξετάσετε αν ικανοποιεί τα αλγοριθμικά κριτήρια. Γράψε 'Δώσε

Διαβάστε περισσότερα

Η βασική συνάρτηση προγράμματος main()

Η βασική συνάρτηση προγράμματος main() Η βασική συνάρτηση προγράμματος main() HEADER FILES main(){ ΔΗΛΩΣΕΙΣ ΜΕΤΑΒΛΗΤΩΝ ΕΝΤΟΛΕΣ (σειριακές, επιλογής ή επανάληψης) ΕΠΙΣΤΡΕΦΟΜΕΝΟΣ ΤΥΠΟΣ (return 0;) Συναρτήσεις Η συνάρτηση είναι ένα υποπρόγραμμα

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΝΑΠΤΥΞΗ ΚΑΙ ΣΧΕΔΙΑΣΗ ΛΟΓΙΣΜΙΚΟΥ Η γλώσσα προγραμματισμού C ΕΡΓΑΣΤΗΡΙΟ 3: Πίνακες, βρόχοι, συναρτήσεις 1 Ιουνίου 2017 Το σημερινό εργαστήριο

Διαβάστε περισσότερα

lab5 -Ο κώδικάς σου είναι σωστός αλλά από εδώ και στο εξής προσπάθησε να βάζεις σχόλια στην µορφή που ζητάει το φυλλάδιο

lab5 -Ο κώδικάς σου είναι σωστός αλλά από εδώ και στο εξής προσπάθησε να βάζεις σχόλια στην µορφή που ζητάει το φυλλάδιο AEM 0001 0002 0003 0004 0005 0006 0007 0008 0009 0012 COMMENTS -Ο κώδικάς σου είναι σωστός αλλά από εδώ και στο εξής προσπάθησε να βάζεις σχόλια στην µορφή που ζητάει το φυλλάδιο commenting_standard.pdf.

Διαβάστε περισσότερα

Τα ονόµατα των φακέλων πρέπει να έχουν το επίθετά σας και όχι τα username που χρησιµοποιείτε στα εργαστήρια.

Τα ονόµατα των φακέλων πρέπει να έχουν το επίθετά σας και όχι τα username που χρησιµοποιείτε στα εργαστήρια. Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ Άσκηση 1η - Θα µπορούσατε να κάνετε µία do while για τον έλεγχο της επιλογής και κατά συνέπεια, µια printf/scanf για την επιλογή - ΛΑΘΟΣ: δηλώσατε το τύπο της επιλογής σαν char ενώ θα

Διαβάστε περισσότερα

Κεφάλαιο 5.4-5.11: Επαναλήψεις (oι βρόγχοιfor, do-while) (Διάλεξη 10) Εντολές Επανάληψης που θα καλυφθούν σήμερα

Κεφάλαιο 5.4-5.11: Επαναλήψεις (oι βρόγχοιfor, do-while) (Διάλεξη 10) Εντολές Επανάληψης που θα καλυφθούν σήμερα Κεφάλαιο 5.4-5.11: Επαναλήψεις (oι βρόγχοιfor, do-while) (Διάλεξη 10) 10-1 Εντολές Επανάληψης που θα καλυφθούν σήμερα Διάλεξη 9 - Δευτέρα while() τελεστές postfix/prefix (++, --,...) και σύνθετοι τελεστές

Διαβάστε περισσότερα

Διάλεξη 07: Λίστες Ι Υλοποίηση & Εφαρμογές

Διάλεξη 07: Λίστες Ι Υλοποίηση & Εφαρμογές Διάλεξη 07: Λίστες Ι Υλοποίηση & Εφαρμογές Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ευθύγραμμες Απλά Συνδεδεμένες Λίστες (εισαγωγή, εύρεση, διαγραφή) Ευθύγραμμες Διπλά Συνδεδεμένες Λίστες

Διαβάστε περισσότερα

Κεφάλαιο , 3.2: Συναρτήσεις II. (Διάλεξη 12)

Κεφάλαιο , 3.2: Συναρτήσεις II. (Διάλεξη 12) Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II (Διάλεξη 12) 12-1 Ανασκόπηση Δομής Προγράμματος με Συναρτήσεις 1 void PrintMessage (); Πρότυπο (Δήλωση) Συνάρτησης (Δηλώνουν τι επιπλέον συναρτήσεις θα χρησιμοποιήσουμε

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 «Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #4 2 Γενικά Στο Τετράδιο #4 του Εργαστηρίου θα αναφερθούμε σε θέματα διαχείρισης πινάκων

Διαβάστε περισσότερα

Διάλεξη 12: Λίστες Υλοποίηση & Εφαρμογές. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 12: Λίστες Υλοποίηση & Εφαρμογές. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 12: Λίστες Υλοποίηση & Εφαρμογές Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Ευθύγραμμες Απλά Συνδεδεμένες Λίστες (εύρεση, εισαγωγή, διαγραφή) - Σύγκριση Συνδεδεμένων Λιστών με Πίνακες

Διαβάστε περισσότερα

Βαθμός Σχόλιο. lab3_grades

Βαθμός Σχόλιο. lab3_grades Α. Μ. Βαθμός Σχόλιο 1183 1194 - Το πρόγραµµα πέφτει σε ατέρµονο loop γιατί στο while δεν έχει scanf ώστε να διαβάζει νέα επιλογή, η τιµή της επιλογής δε µπορεί να γίνει ποτέ 5 ή 6 για να τερµατίσει. -

Διαβάστε περισσότερα

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ Σκοπός της Άσκησης Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η ανάλυση των βασικών χαρακτηριστικών της Γλώσσας

Διαβάστε περισσότερα

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ ΣΤΑΘΕΡΕΣ είναι τα μεγέθη που δεν μεταβάλλονται κατά την εκτέλεση ενός αλγόριθμου. Εκτός από τις αριθμητικές σταθερές (7, 4, 3.5, 100 κλπ), τις λογικές σταθερές (αληθής και ψευδής)

Διαβάστε περισσότερα

Προγραμματισμός Ι (ΗΥ120)

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 8: Πίνακες, Αλφαριθμητικά Πίνακες Ο πίνακας είναι μια ειδική δομή για την αποθήκευση μιας σειράς από δεδομένα του ίδιου τύπου. Η δήλωση ενός πίνακα γίνεται όπως για μια

Διαβάστε περισσότερα

Ενδεικτική περιγραφή μαθήματος

Ενδεικτική περιγραφή μαθήματος ΜΑΘΗΜΑ: ΔΙΔΑΣΚΩΝ: ΤΜΗΜΑ: Προγραμματισμός Η/Υ Συνδουκάς Δημήτριος Διοίκησης Επιχειρήσεων (Γρεβενά) Ενδεικτική περιγραφή μαθήματος 1. Εισαγωγή: Εισαγωγή στον προγραμματισμό, γλώσσες προγραμματισμού, μεταγλωτιστές.

Διαβάστε περισσότερα

lab3grades - Δεν παραδόθηκε. - Προσπαθήστε να κάνετε την άσκηση στο σπίτι.

lab3grades - Δεν παραδόθηκε. - Προσπαθήστε να κάνετε την άσκηση στο σπίτι. 02103 FAIL προγράµµατος µε κενές γραµµές -Δεν έχετε συµπεριλάβει καθόλου σχόλια!!! -Τα ονόµατα των σταθερών είναι µε ΚΕΦΑΛΑΙΑ. Επίσης, το 20 και το 1000 έπρεπε να είναι αποθηκευµένα σε σταθερές. - Έχετε

Διαβάστε περισσότερα