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

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

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

Transcript

1 AEM COMMENTS -Δεν έχεις καθόλου σχόλια! Διάβασε το φυλλάδιο. -Πολύ καλή εργασία µε σωστά και επεξηγηµατικά σχόλια. -Πρόσεξε την στοίχισή σου! -Τυπώνεις 1,2,3 αντί για AVAILABLE, RESERVED, LOST. Έπρεπε να βάλεις µια δοµή επιλογής (π.χ. if, switch). -Διόρθωσε την στοίχισή σου! -Δεν έχεις καθόλου σχόλια! Η σύγκριση ανάµεσα σε δύο strings γίνεται µε την συνάρτηση strcmp της βιβλιοθήκης string.h και όχι µε ==. -Η συνάρτηση find_book είναι λάθος. Επιστρέφει πάντα 9 όπως την έχεις. -Δεν καλείς σωστά την συνάρτηση find_book. -Δεν έχεις καθόλου σχόλια! -Διόρθωσε την στοίχισή σου! Page 1

2 lab7 - Έχεις ξεχάσει τον τελεστή & στο δεύτερο όρισµα της τρίτης εντολής scanf στη συνάρτηση main µε αποτέλεσµα να υπάρχει ενδεχόµενο για segmentation fault. Για το λάθος αυτό σε ενηµέρωνε το πρώτο warning. Η σύνταξη της scanf έχει καλυφθεί σε προηγούµενα εργαστήρια. - Τα λανθασµένα αποτελέσµατα στην αναζήτηση οφείλονται στο γεγονός ότι στις εντολές scanf στη συνάρτηση main για την αρχικοποίηση του βιβλίου προς αναζήτηση πρώτα διαβάζεις τον τίτλο του βιβλίου και έπειτα το όνοµα του συγγραφέα. Αντί αυτού, θα έπρεπε να διαβάζεις πρώτα τον συγγραφέα και έπειτα τον τίτλο καθώς αυτή είναι και η µορφή του αρχείου εισόδου. - Καθώς το µέγιστο µέγεθος αλφαριθµητικού είναι ίσο µε 40 χαρακτήρες, στις δύο εντολές scanf της συνάρτησης main, θα έπρεπε να διαβάζεις µέχρι 39 χαρακτήρες. - Η σύνταξη της δεύτερης εντολής scanf στη συνάρτηση main δεν είναι σωστή. Το προσδιοριστικό του εύρους θα πρέπει να βρίσκεται πριν τον χαρακτήρα '' % ''. - Η συνάρτηση find_book δεν έχει υλοποιηθεί σωστά. Η εντολή '' else '' είναι λανθασµένη καθώς, σε περίπτωση που δεν βρεις το βιβλίο στην πρώτη θέση του πίνακα, επιστρέφεις την τιµή 0. Η µη εύρεση του βιβλίου στην πρώτη θέση δεν αποκλείει την ύπαρξη αυτού σε κάποια άλλη θέση. Εποµένως, η εντολή '' return(0) '' θα έπρεπε να βρίσκεται έξω από την εντολή '' for ''. - Στις δύο πρώτες εντολές printf της συνάρτησης print_books το προσδιοριστικό εύρους είναι περιττό. - Η σύγκριση για λεξικογραφική ισότητα µεταξύ αλφαριθµητικών δεν γίνεται µε το τελεστή '' == '' αλλά µε την συνάρτηση strcmp(). - Υπάρχει αλγοριθµικό λάθος στη συνάρτηση find_book. Δες την αντίστοιχη λύση Page 2

3 Πολύ καλή εργασία µε σωστά και επεξηγηµατικά σχόλια. - Ο αριθµός των συνθηκών στη συνάρτηση find_book θα µπορούσε να µειωθεί. Δες την αντίστοιχη λύση. - if (m = 3) σύγκριση όχι ανάθεση. Μην αγνοείς τα warnings του compiler - έχεις και τα δύο return µέσα στη for, οπότε ελέγχει µόνο το πρώτο στοιχείο και µετά επιστρέφει - στo βιβλίο σύγκρισης διαβάζεις πρώτα τον συγγραφέα ενώ στη getdata πρώτα τον τίτλο - Να χρησιµοποιείς περιγραφικά ονόµατα µεταβλητών. Τι είναι το m? ok Page 3

4 Το output αρχείο σου δεν ταιριάζει ακριβώς µε το output αρχείο που σας δίνεται. Από την επόµενη φορά πρέπει να ταιριάζει ακριβώς! -Δεν ακολουθείς τις οδηγίες εκφώνησης της άσκησης. Η κλήση των συναρτήσεων στην main() δεν γίνεται µε την σειρά που ζητείται. -Στην συνάρτηση find_book() θα µπορούσες να κάνεις return 1; κατευθείαν µέσα στην if που συγκρίνεις τα 3 πεδία σου. Έτσι, δεν θα χρειάζονταν η if µέσα στο loop και επιπλέον θα µείωνες και το υπολογιστικό φόρτο του συστήµατος. οριακά -Δεν τυπώνεις το AVAILABILITY. -Δεν έχεις καθόλου σχόλια! Διάβασε το φυλλάδιο οριακά -Το output αρχείο σου δεν ταιριάζει ακριβώς µε το output αρχείο που σας δίνεται. Από την επόµενη φορά πρέπει να ταιριάζει ακριβώς! -Οι δυνατές τιµές που µπορεί να έχει ένα βιβλίο είναι:available, RESERVED, LOST. Γιατί εσύ εκτυπώνεις available και not available? -Δεν υπάρχουν επαρκή σχόλια! Δεν ακολουθείς τις προδιαγραφές πρότυπου σχολιασµού που περιγράφονται στο φυλλάδιο.(διάβασε καλά το φυλλάδιο!) -Το πρόγραµµα σου δεν κάνει compile. -Συντακτικά λάθη (η printf() δεν συντάσσεται έτσι!) -Βασικά λάθη σε συναρτήσεις. Διάβασε καλά την θεωρία! --Πρόσεχε τις παραµέτρους που δίνεις στην συνάρτηση find_book(). -Άσχηµη στοίχιση. -Δεν υπάρχουν σχόλια! Δεν ακολουθείς τις προδιαγραφές πρότυπου σχολιασµού που περιγράφονται στο φυλλάδιο.(διάβασε καλά το φυλλάδιο!) Page 4

5 στη main στη scanf δε χρησιµοποιείς τον τελεστή. για να αναφερθείς στα πεδία του book, αλλά δηλώνεις καινούργιες µεταβλητές. Θα έπρεπε να το χρησιµοποιήσεις όπως φαίνεται στην συνάρτηση getdata - στo βιβλίο σύγκρισης διαβάζεις πρώτα τον τίτλο ενώ ση getdata πρώτα τον συγγραφέα if(books[i].availability == AVAILABLE) κ.ο.κ. Γι αυτό χρησιµοποιούµε enum οριακά - έχεις και τα δύο return µέσα στη for, οπότε ελέγχει µόνο το πρώτο στοιχείο και µετά επιστρέφει if(books[i].availability == AVAILABLE) κ.ο.κ. Και οι τιµές που θα έπρεπε να τυπώνονται είναι AVAILABLE, RESERVED και LOST και όχι available και not available if(books[i].availability == AVAILABLE) κ.ο.κ. Γι αυτό χρησιµοποιούµε enum - Να χρησιµοποιείς περιγραφικά ονόµατα µεταβλητών. Τι είναι το k? -Το πρόγραµµα σου δεν κάνει compile. Γενικά, υπάρχουν λάθη που αναφέρονται σε ύλη προηγούµενων εργαστηρίων. -Βασικά λάθη σε συναρτήσεις. Διάβασε καλά την θεωρία. -Η συνάρτηση find_book() είναι τύπου int. Που δηλώνεται αυτό που επιστρέφει µέσα στην main()? -Η σύγκριση 2 αλφαριθµητικών γίνεται µε την χρήση της συνάρτησης strcmp() και όχι µε = -Στην συνάρτηση find_book() έπρεπε η return 0; να ήταν έξω από την for. Μην ξεχνάς ότι πρέπει να επιστρέφεις 0 αφού πρώτα ελέγξεις όλα σου τα βιβλία! -Άσχηµη στοίχιση. -Δεν υπάρχουν καθόλου σχόλια! Δεν ακολουθείς τις προδιαγραφές πρότυπου σχολιασµού που περιγράφονται στο φυλλάδιο.(διάβασε καλά το φυλλάδιο!) Page 5

6 0025 οριακά - χρησιµοποιείς έξτρα παράµετρο τη flag στη find book η οποία δε χρειάζεται και επιπλέον όταν καλείς τη συνάρτηση δεν έχεις αρχικοποιήσει την flag - στo βιβλίο σύγκρισης διαβάζεις πρώτα τον τίτλο ενώ στη getdata πρώτα τον συγγραφέα, µε αποτέλεσµα ακόµα κι αν υπάρχει βιβλίο να µην το βρίσκεις if(books[i].availability == AVAILABLE) κ.ο.κ οριακά -Το πρόγραµµα σου δεν λειτουργεί σωστά για την συνάρτηση find_book(). Η strcmp() επιστρέφει έναν ακέραιο και όχι έναν χαρακτήρα. -Το output αρχείο σου δεν ταιριάζει ακριβώς µε το output αρχείο που σας δίνεται. Από την επόµενη φορά πρέπει να ταιριάζει ακριβώς! -Δεν υπάρχουν σχόλια! Δεν ακολουθείς τις προδιαγραφές πρότυπου σχολιασµού που περιγράφονται στο φυλλάδιο.(διάβασε καλά το φυλλάδιο!) οριακά -Το output αρχείο σου δεν ταιριάζει ακριβώς µε το output αρχείο που σας δίνεται. Από την επόµενη φορά πρέπει να ταιριάζει ακριβώς! -Καλό θα ήταν οι συναρτήσεις που καλούνται στην main() να υλοποιούνται κάτω από την main(). Έτσι ο κώδικας σου είναι πιο ευανάγνωστος. -Δεν υπάρχουν σχόλια! Δεν ακολουθείς τις προδιαγραφές πρότυπου σχολιασµού που περιγράφονται στο φυλλάδιο.(διάβασε καλά το φυλλάδιο!) οριακά -Εκτύπωση περιττών µηνυµάτων! -Τα στοιχεία δεν εκτυπώνονται µε την µορφή που ζητείται. -Το output αρχείο σου δεν ταιριάζει µε το output αρχείο που σας δίνεται. Από την επόµενη φορά πρέπει να ταιριάζει ακριβώς! -Δεν υπάρχουν καθόλου σχόλια! Δεν ακολουθείς τις προδιαγραφές πρότυπου σχολιασµού που περιγράφονται στο φυλλάδιο.(διάβασε καλά το φυλλάδιο!) Page 6

7 0030 πολύ οριακά - σύγκριση µεταξύ συµβολοσειρών κάνουµε µε την strcmp όχι µε == - Μην αφήνεις τόσο µεγάλα κενά ανάµεσα στις συναρτήσεις Το πρόγραµµα σου δεν κάνει compile. Πολλά λάθη που δεν θα έπρεπε να τα κάνεις. -Στην if η συνθήκη θέλει ==, όχι =. Αυτό έπρεπε να το ξέρεις εδώ και καιρό. Υπήρχε και σχετικό warning στο compile. -Όταν χρησιµοποιείς την συνάρτηση strcmp πρέπει να κάνεις include την βιβλιοθήκη string.h -Δεν έχεις καθόλου σχόλια! Διάβασε το φυλλάδιο. -Διόρθωσε την στοίχισή σου! Δεν υπάρχουν επαρκή σχόλια! Δεν ακολουθείς ακριβώς τις προδιαγραφές πρότυπου σχολιασµού που περιγράφονται στο φυλλάδιο. (Διάβασε καλά το φυλλάδιο!) - compilation errors - θα έπρεπε να αναφέρεσαι στα στοιχεία της δοµής nameofvariablestruct.element και όχι element σκέτο - για να συγκρίνεις δύο struct πρέπει να συγκρίνεις ένα ένα τα πεδία τους Page 7

8 Η σύνταξη των τριών εντολών scanf στην συνάρτηση main είναι λανθασµ Γι' αυτό σε ενηµερώνουν τα τρία πρώτα warnings. Το δεύτερο όρισµα στις εντολές δεν µπορεί να είναι µία µεταβλητή τύπου δοµής. Αντί αυτού, θα έπρ να χρησιµοποιήσεις τα αντίστοιχα πεδία από την µεταβλητή newbook ώστε αρχικοποιήσεις κατάλληλα. - Η συνάρτηση find_book δεν έχει υλοποιηθεί σωστά. Η εντολή '' else '' είναι λανθασµένη καθώς, σε περίπτωση που δεν βρεις το βιβλίο στην πρώ θέση του πίνακα, επιστρέφεις την τιµή 0. Η µη εύρεση του βιβλίου στην πρ θέση δεν αποκλείει την ύπαρξη αυτού σε κάποια άλλη θέση. Εποµένως, η '' return(0) '' θα έπρεπε να βρίσκεται έξω από την εντολή '' for ''. - Προσοχή στην στοίχιση Το πρόγραµµα σου δεν κάνει compile. Πολλά λάθη που δεν θα έπρεπε να τα κάνεις. -Δεν ξέρεις να καλείς σωστά συναρτήσεις. -Δεν ξέρεις να συντάσσεις σωστά πρωτότυπα συναρτήσεων. -Η if δεν συντάσσεται έτσι. -Οι συναρτήσεις που έφτιαξες δεν κάνουν αυτά που ζητάει η εκφώνηση. -Διάβασε καλά την θεωρία Αντί για if(books[i].availability == 1) θα ήταν καλύτερα if(books[i].availability == AVAILABLE) κ.ο.κ. Γι'αυτό χρησιµοπούµε enum - Καλή δουλειά 1188 Page 8

9 Γιατί τυπώνεις RESERVER αντί για RESERVED; -Δεν έχεις καθόλου σχόλια! Διάβασε το φυλλάδιο. οριακά - η find book επιστρέφει 0 και 1 ως χαρακτήρες σε µορφή ακεραίου (η ακέραια τιµή τους δηλαδή δεν είναι 0 ή 1 αλλά κάτι άλλο (η ASCII κωδικοποίησή τους) πχ 48 - καλείς τη find book δύο φορές τη µία για να την ελέγξεις στην if, για ποιό λόγο? Μόνο η δεύτερη χρειάζεται if(books[i].availability == AVAILABLE) κ.ο.κ. Γι αυτό χρησιµοποιούµε enum -Το πρόγραµµα σου δεν λειτουργεί σωστά. Ενώ το βιβλίο υπάρχει στην λίστα δεν το βρίσκει και εµφανίζει NOT FOUND. -H scanf() δεν συντάσσεται έτσι όταν διαβάζουµε έναν ακέραιο! -Δεν ακολουθείς τις οδηγίες εκφώνησης της άσκησης. Για την διαθεσιµότητα έπρεπε να εκτυπώνεται η λέξη, όχι η ακέραια τιµή. -Στην συνάρτηση find_book() δεν πρέπει να επιστρέφεις return 2; Για ποιο λόγο το κάνεις? Δεν ζητούνταν κάτι τέτοιο! -Δεν υπάρχουν καθόλου σχόλια! Δεν ακολουθείς τις προδιαγραφές πρότυπου σχολιασµού που περιγράφονται στο φυλλάδιο.(διάβασε καλά το φυλλάδιο!) Page 9

10 1075 -Το output αρχείο σου δεν ταιριάζει ακριβώς µε το output αρχείο που σας δίνεται. Από την επόµενη φορά πρέπει να ταιριάζει ακριβώς! -Πρόσεχε την στοίχιση. -Να χρησιµοποιείς περιγραφικά ονόµατα µεταβλητών Δεν υπάρχει εντολή scanf στη συνάρτηση main για την λήψη του ακεραίου που περιγράφει την κατάσταση του βιβλίου. - Αντί της ακέραιας τιµής που περιγράφει την κατάσταση του βιβλίου, θα ήταν καλ να εκτυπώνεις το αντίστοιχο αλφαριθµητικό πολύ οριακά - βγαίνεις εκτός ορίων πίνακα (< όχι <=) και to for σου τυπώνει σκουπίδια if(books[i].availability == AVAILABLE) κ.ο.κ. Γι'αυτο χρησιµοποιούµε enum - καλύτερο format στο output - καλύτερη στοίχιση - Να χρησιµοποιείς περιγραφικά ονόµατα µεταβλητών.τι είναι d1? -Λάθος αποτελέσµατα. -Τα σχόλια είναι λίγα και δεν βοηθάνε πολύ. Διάβασε το φυλλάδιο Page 10

11 Το πρωτότυπο της συνάρτησης print_books δεν είναι το ίδιο στην δήλωση και στον ορισµό αυτής. Αυτό έχει ως αποτέλεσµα να εµφανίζεται το τελευταίο error. - Το πρόγραµµα δεν κάνει compile λόγω λάθους στη συνάρτηση find_book. Η µεταβλητή book δεν είναι πίνακας οπότε δεν µπορείς να την δεικτοδοτήσεις. - Υπάρχει αλγοριθµικό λάθος στη συνάρτηση find_book. Δες την αντίστοιχη λύση - Στις δύο πρώτες εντολές printf της συνάρτησης print_books το προσδιοριστικό εύρους είναι περιττό. - Το αποτέλεσµα που επιστρέφεται από την συνάρτηση find_book µετά την κλήση αυτής στην main δεν αποθηκεύεται σε κάποια µεταβλητή µε αποτέλεσµα να µην µπορείς να το χρησιµοποιήσεις. - Προσοχή στην στοίχιση. - Η λογική της συνάρτησης find_book θα µπορούσε να απλοποιηθεί εάν ήλεγχες για ισότητα µεταξύ των εκάστοτε πεδίων. Έτσι, θα µπορούσες να µειώσεις τον αριθµό των ελέγχων που πραγµατοποιούνται. - Τα σχόλια των συναρτήσεων δεν συµµορφώνονται µε αυτά του αντίστοιχου φυλλαδίου. Αντί για if(books[i].availability == 1) θα ήταν καλύτερα if(books[i].availability == AVAILABLE) κ.ο.κ. Γι'αυτό χρησιµοπούµε enum - καλό που χρησιµοποιείς switch case αλλά θα ήταν καλύτερα αντί για να χρησιµοποιείς AVAILABLE) κ.ο.κ. Γι αυτό χρησιµοποιούµε enum Page 11

12 Έχεις δηλώσει λάθος την υπογραφή της συνάρτησης find_book. Η δεύτερη παράµετρος δεν θα έπρεπε να είναι τύπου πίνακα. Tο λάθος που εµφανίζεται κατά το compilation οφείλεται στο ότι περνάς ως δεύτερο όρισµα στην κλήση της συνάρτησης µία µεταβλητή που δεν είναι τύπου δείκτη. - Στις εντολές scanf στη συνάρτηση main για την αρχικοποίηση του βιβλίου προς αναζήτηση θα έπρεπε να διαβάζεις πρώτα τον συγγραφέα και έπειτα τον τίτλο καθώς αυτή είναι και η µορφή του αρχείου εισόδου. - Προσοχή στην στοίχιση. -Δεν υπάρχουν επαρκή σχόλια! - Τα λανθασµένα αποτελέσµατα στην αναζήτηση οφείλονται στο γεγονός ότι στις εντολές scanf στη συνάρτηση main για την αρχικοποίηση του βιβλίου προς αναζήτηση πρώτα διαβάζεις τον τίτλο του βιβλίου και έπειτα το όνοµα του συγγραφέα. Αντί αυτού, θα έπρεπε να διαβάζεις πρώτα τον συγγραφέα και έπειτα τον τίτλο καθώς αυτή είναι και η µορφή του αρχείου εισόδου. - Προσοχή στην στοίχιση. Οι αγκύλες '}' πρέπει να είναι στην ίδια στήλη µε την εντολή που '' κλείνουν '' Page 12

13 Αν είχες τη συνθήκη στο for έτσι(i<numbooks && ans=!1) θα δούλευε για το in1.txt - Αντί για if (ans==1) καλύτερα if (ans==availale) κ.ο.κ Γι'αυτό χρησιµοπούµε enum -Το πρόγραµµα σου δεν κάνει compile. Πολλά λογικά και συντακτικά λάθη που αναφέρονται σε ύλη προηγούµενων εργαστηρίων.(π.χ. η scanf() δεν συντάσσεται έτσι όταν διαβάζουµε ένα αλφαριθµητικό) -Βασικά λάθη σε συναρτήσεις. Διάβασε καλά την θεωρία! -Πρόσεχε πολύ την στοίχιση! -Δεν υπάρχουν σχόλια! Δεν ακολουθείς τις προδιαγραφές πρότυπου σχολιασµού που περιγράφονται στο φυλλάδιο.(διάβασε καλά το φυλλάδιο!) -Εκτυπώνεις πολλά περιττά µηνύµατα! Να διαβάζεις πιο προσεκτικά την εκφώνηση! -Τα σχόλια είναι λίγα και δεν βοηθάνε πολύ. Διάβασε το φυλλάδιο Το πρόγραµµα σου δεν λειτουργεί σωστά. Ενώ το βιβλίο υπάρχει στην λίστα δεν το βρίσκει και εµφανίζει NOT FOUND. - O χρήστης πρέπει να δίνει πρώτα τον συγγραφέα και µετά τον τίτλο. -Στην συνάρτηση find_book() έπρεπε η return 0; να ήταν έξω από την for. Μην ξεχνάς ότι πρέπει να επιστρέφεις 0 αφού πρώτα ελέγξεις όλα σου τα βιβλία! -Στην συνάρτηση find_book() δεν πρέπει να επιστρέφεις return -2; Για ποιο λόγο το κάνεις? -Δεν εκτυπώνεται σωστά η διαθεσιµότητα του βιβλίου (πρόσεχε την δοµή της if()). -Το output αρχείο σου δεν ταιριάζει µε το output αρχείο που σας δίνεται. Από την επόµενη φορά πρέπει να ταιριάζει ακριβώς! -Δεν υπάρχουν επαρκή σχόλια! Page 13

14 Το πρόγραµµα δεν έκανε compile λόγω λάθους στην δεύτερη εντολή include. Το header file για την χρήση της συνάρτησης strcmp είναι το string.h. - Η σύνταξη και η χρήση της συνάρτησης strcmp είναι λανθασµένες. Θα πρέπει να ανατρέξεις στο αντίστοιχο manual καθώς επίσης και στα αντίστοιχα παραδείγµα - Δεν έχει υλοποιηθεί το µεγαλύτερο µέρος από την ζητούµενη λειτουργικότητα. Η λογική της συνάρτησης find_book και της συνάρτησης print_books είναι λανθασµ Επίσης, δεν υπάρχουν οι κατάλληλες εντολές στην main για λήψη των στοιχείων του βιβλίου προς αναζήτηση από τον χρήστη. Εποµένως, δεν πραγµατοποιείται αρχικοποίηση των πεδίων της µεταβλητής book. Δες την αντίστοιχη λύση πολύ οριακά - στην print books γιατί κάνεις scanf? Μόνο να τυπώνει θα έπρεπε και εκτός αυτού τα δεδοµένα τα παίρνεις την είσοδο και τα αποθηκεύεις µε την get data - να σχολιάζεις τι κάνουν οι συναρτήσεις σου if(books[i].availability == AVAILABLE) κ.ο.κ. Γι αυτό χρησιµοποιούµε enum -Πολύ καλή εργασία µε σωστά και επεξηγηµατικά σχόλια. -Δεν έχεις καθόλου σχόλια! Διάβασε το φυλλάδιο. Page 14

15 Το πρόγραµµα σου δεν κάνει compile. Γενικά, υπάρχουν λάθη που αναφέρονται σε ύλη προηγούµενων εργαστηρίων (Λείπουν ;,δεν δηλώνεις όλες τις µεταβλητές σου κτλ) -Βασικά λάθη σε συναρτήσεις. Διάβασε καλά την θεωρία. -Στην συνάρτηση find_book() έπρεπε η return 0; να ήταν έξω από την for. Μην ξεχνάς ότι πρέπει να επιστρέφεις 0 αφού πρώτα ελέγξεις όλα σου τα βιβλία! -Άσχηµη στοίχιση. -Δεν υπάρχουν καθόλου σχόλια! Δεν ακολουθείς τις προδιαγραφές πρότυπου σχολιασµού που περιγράφονται στο φυλλάδιο.(διάβασε καλά το φυλλάδιο!) if(books[i].availability == AVAILABLE) κ.ο.κ. Γι αυτό χρησιµοποιούµε enum οριακά - το else{return 0;} δε πρέπει να είναι µέσα στο for γιατί αν δε βρεί το πρώτο βιβλίο τότε επιστρέφει 0 και δεν ελέγχει τα υπόλοιπα - θα έπρεπε να διαβάσεις πρώτα τον τίτλο και µετά τον συγγραφέα στο βιβλίο σύγκρισης - Άσχηµη στοίχιση Η συνθήκη στην δεύτερη εντολή if της συνάρτησης find_book θα έπρεπε να ελέγχει για τον τίτλο και όχι για το όνοµα του συγγραφέα. Αυτό δικαιολογεί και τα λανθασµένα αποτελέσµατα του προγράµµατος. Page 15

16 οριακά -Το πρόγραµµα σου δεν λειτουργεί σωστά. Αυτό οφείλεται σε λογικό λάθος που έχει γίνει στην if() της συνάρτησης find_book(). -Δεν ακολουθείς τις οδηγίες εκφώνησης της άσκησης. Η συνάρτηση print_books δεν επιστρέφει κάτι, οπότε έπρεπε να είχε δηλωθεί ως void. -Όταν διαβάζουµε από το πληκτρολόγιο ένα αλφαριθµητικό µήκους µέχρι 40 χαρακτήρες η σύνταξη της scanf() είναι: scanf("%40s", biblio.author); - Δεν ακολουθείς ακριβώς τις προδιαγραφές πρότυπου σχολιασµού που περιγράφονται στο φυλλάδιο.(διάβασε καλά το φυλλάδιο!) - Τα λανθασµένα αποτελέσµατα στην αναζήτηση οφείλονται στο γεγονός ότι στις εντολές scanf στη συνάρτηση main για την αρχικοποίηση του βιβλίου προς αναζήτηση πρώτα διαβάζεις τον τίτλο του βιβλίου και έπειτα το όνοµα του συγγραφέα. Αντί αυτού, θα έπρεπε να διαβάζεις πρώτα τον συγγραφέα και έπειτα τον τίτλο καθώς αυτή είναι και η µορφή του αρχείου εισόδου. -Εµφανίζονται warnings που έπρεπε να είχαν διορθωθεί. -Το πρόγραµµα σου δεν λειτουργεί σωστά. -Βασικά λάθη σε συναρτήσεις. Δεν δηλώνεις τα πρωτότυπα των συναρτήσεων σου! -Η σύγκριση 2 αλφαριθµητικών γίνεται µε την χρήση της συνάρτησης strcmp() και όχι µε = -Στην συνάρτηση find_book() έπρεπε η return 0; να ήταν έξω από την for. Μην ξεχνάς ότι πρέπει να επιστρέφεις 0 αφού πρώτα ελέγξεις όλα σου τα βιβλία! -Δεν υπάρχουν καθόλου σχόλια! Δεν ακολουθείς τις προδιαγραφές πρότυπου σχολιασµού που περιγράφονται στο φυλλάδιο.(διάβασε καλά το φυλλάδιο!) if(books[i].availability == AVAILABLE) κ.ο.κ. Γι'αυτό χρησιµοπούµε enum - καλύτερο format στο output Page 16

17 Έχεις ξεχάσει τον τελεστή & στο δεύτερο όρισµα της τρίτης εντολής scanf στη συνάρτηση main µε αποτέλεσµα να προκαλείται segmentation fault. Για το λάθος αυτό σε ενηµέρωνε το πρώτο warning. Η σύνταξη της scanf έχει καλυφθεί στα προηγούµενα εργαστήρια. - Η κλήση της συνάρτησης find_book είναι περιττή καθώς αυτή καλείται στην επόµενη γραµµή. οριακά -Δεν ακολουθείς τις οδηγίες εκφώνησης της άσκησης. Για κάθε βιβλίο πρέπει να εκτυπώνεται: AUTHOR: όνοµα συγγραφέα TITLE: τίτλος AVAILABILITY: διαθεσιµότητα Εσύ εκτυπώνεις : AUTHOR: τίτλος TITLE: όνοµα συγγραφέα AVAILABILITY: διαθεσιµότητα -Το output αρχείο σου δεν ταιριάζει ακριβώς µε το output αρχείο που σας δίνεται. Από την επόµενη φορά πρέπει να ταιριάζει ακριβώς! -Εκτύπωση περιττών µηνυµάτων! -Να χρησιµοποιείς περιγραφικά ονόµατα µεταβλητών. Page 17

18 1116 lab7 - Το πρόγραµµα δεν έκανε compile λόγω λάθους στον τύπο της δοµής. Αντί του bookinfot χρησιµοποιούσες το όνοµα bookinfot µε αποτέλεσµα να µην αναγνωρίζονται οι αντίστοιχες µεταβλητές. - Η σύνταξη των τριών εντολών scanf στη συνάρτηση main είναι λανθασµένη. Το αλφαριθµητικό formatstring δεν θα έπρεπε να δίνεται ως κυριολεκτικό. Για την χρήση αυτού µπορείς να δεις την συνάρτηση get_data. Επίσης, στην τρίτη εντολή scanf έχεις ξεχάσει τον τελεστή & στο δεύτερο όρισµα µε αποτέλεσµα να υπάρχει πιθανότητα πρόκλησης segmentation fault. - Η συνάρτηση find_book δεν έχει υλοποιηθεί σωστά. Η εντολή '' return(0) '' εντός της δοµής for είναι λανθασµένη καθώς, σε περίπτωση που δεν βρεις το βιβλίο στην πρώτη θέση του πίνακα, επιστρέφεις την τιµή 0. Η µη εύρεση του βιβλίου στην πρώτη θέση δεν αποκλείει την ύπαρξη αυτού σε κάποια άλλη θέση. Εποµένως, η εντολή '' return(0) '' θα έπρεπε να βρίσκεται έξω από την εντολή '' for - Το τρίτο πεδίο της δοµής bookinfot δεν έχει όνοµα statust αλλά availability. - Η συνάρτηση strcmp χρησιµοποιείται µόνο για την σύγκριση αλφαριθµητικών. Εποµένως, η τρίτη κλήση αυτής στη συνάρτηση find_book δεν είναι σωστή Το πρόγραµµα σου δεν κάνει compile. Έπρεπε να είσαι σε θέση να διορθώσεις το λάθος σου. OK καλά σχόλια και χρησιµοποιείς και switch case που εδώ ταιριάζει Page 18

19 οριακά -Το πρόγραµµα σου δεν λειτουργεί σωστά. Ενώ το βιβλίο υπάρχει στην λίστα δεν το βρίσκει και εµφανίζει NOT FOUND. - O χρήστης πρέπει να δίνει πρώτα τον συγγραφέα και µετά τον τίτλο. -Στην συνάρτηση find_book() έπρεπε η return 0; να ήταν έξω από την for. Μην ξεχνάς ότι πρέπει να επιστρέφεις 0 αφού πρώτα ελέγξεις όλα σου τα βιβλία! -Το output αρχείο σου δεν ταιριάζει µε το output αρχείο που σας δίνεται. Από την επόµενη φορά πρέπει να ταιριάζει ακριβώς! -Να χρησιµοποιείς περιγραφικά ονόµατα µεταβλητών. -Δεν υπάρχουν επαρκή σχόλια! οριακά - Η σειρά κλήσης των διαφόρων συναρτήσεων στη συνάρτηση main είναι λανθασµένη. Επί παραδείγµατι, η συνάρτηση get_data θα έπρεπε να καλείται πριν την συνάρτηση print_books ώστε ο αντίστοιχος πίνακας να έχει αρχικοποιηθεί. Δες την αντίστοιχη λύση. - Η συνάρτηση find_book θα έπρεπε να επιστρέφει την τιµή ' 1 ' σε περίπτωση που το βιβλίο υπάρχει και όχι να εκτυπώνει αντίστοιχο µήνυµα. Η εκτύπωση του µηνύµατος θα έπρεπε να γίνεται στη συνάρτηση main. - Το προσδιοριστικό για το εύρος πεδίου στις συναρτήσεις printf που καλούνται εντός της συνάρτησης find_book είναι περιττό. - Προσοχή στην στοίχιση. OK οριακά -Το output αρχείο σου δεν ταιριάζει ακριβώς µε το output αρχείο που σας δίνεται. Από την επόµενη φορά πρέπει να ταιριάζει ακριβώς! -Δεν ακολουθείς τις οδηγίες εκφώνησης της άσκησης. Η κλήση των συναρτήσεων στην main() δεν γίνεται µε την σειρά που ζητείται. Γιατί την συνάρτηση find_book() την καλείς 2 φορές? 1125 Page 19

20 οριακά -Για την διαθεσιµότητα του βιβλίου εκτυπώνεις µόνο την λέξη AVAILABLE. -Το output αρχείο σου δεν ταιριάζει ακριβώς µε το output αρχείο που σας δίνεται. Από την επόµενη φορά πρέπει να ταιριάζει ακριβώς! -Δεν υπάρχουν καθόλου σχόλια! Δεν ακολουθείς τις προδιαγραφές πρότυπου σχολιασµού που περιγράφονται στο φυλλάδιο.(διάβασε καλά το φυλλάδιο!) οριακά - έχεις και τα δύο return µέσα στη for, οπότε ελέγχει µόνο το πρώτο στοιχείο και µετά επιστρέφει. Γενικά δε χρειάζονται τόσα return. Δες τη λύση if(books[i].availability == AVAILABLE) κ.ο.κ. Γι'αυτό χρησιµοπούµε enum -Το return 0; έπρεπε να είναι έξω από την for. Όπως το έχεις, επιστρέφει 0 αν το πρώτο στοιχείο δεν είναι αυτό που ψάχνουµε. -Πολύ καλά τα σχόλια που βάζεις αλλά προσπάθησε να ακολουθείς τις οδηγίες του φυλλαδίου. -Διόρθωσε την στοίχισή σου! -Πολύ καλά τα σχόλια που βάζεις αλλά προσπάθησε να ακολουθείς τις οδηγίες του φυλλαδίου οριακά -Το output αρχείο σου δεν ταιριάζει ακριβώς µε το output αρχείο που σας δίνεται. Από την επόµενη φορά πρέπει να ταιριάζει ακριβώς! -Να χρησιµοποιείς περιγραφικά ονόµατα µεταβλητών. -Δεν υπάρχουν επαρκή σχόλια! Δεν ακολουθείς ακριβώς τις προδιαγραφές πρότυπου σχολιασµού που περιγράφονται στο φυλλάδιο. (Διάβασε καλά το φυλλάδιο!) 1132 Page 20

21 Προσοχή στην στοίχιση πολύ οριακά - compilation warnings. Μην τα αγνοείς - scanf("%39s",&biblio.onoma_syggrafea) δε θέλει & -if (biblia[i].diathesimotita=book.diathesimotita) σύγκριση όχι ανάθεση - καλύτερο φορµάτ όταν τυπώνεις την έξοδο - Τα σχόλια συναρτήσεων µπαίνουν πριν τη συνάρτηση -Το πρόγραµµα σου δεν κάνει compile! -Δεν υλοποιείς σωστά τις συναρτήσεις σου. -Δεν ακολουθείς τις οδηγίες εκφώνησης της άσκησης! -Δες την λύση της άσκησης. -Δεν ακολουθείς τις προδιαγραφές πρότυπου σχολιασµού που περιγράφονται στο φυλλάδιο.(διάβασε καλά το φυλλάδιο!) οριακά - if (sigkrisi1 <= 0 && sigkrisi2 <= 0 ) θα έπρεπε να είναι ==0, πρόσεξε τί τιµές επιστρέφει η strcmp - στo βιβλίο σύγκρισης διαβάζεις πρώτα τον τίτλο ενώ ση getdata πρώτα τον συγγραφέα, µε αποτέλεσµα ακόµα κι αν υπάρχει βιβλίο να µην το βρίσκεις if(books[i].availability == AVAILABLE) κ.ο.κ. Γι αυτό χρησιµοποιούµε enum Page 21

22 οριακά - Η µεταβλητή book δεν είναι πίνακας για να την αρχικοποιείς NUMBOOKS φορές, οπότε τα αποτελέσµατα στην findbook, σου βγαίνουν λάθος if(books[i].availability == AVAILABLE) κ.ο.κ. Γι'αυτό χρησιµοποιούµε enum - να σχολιάζεις τι κάνουν οι συναρτήσεις σου οριακά -Δεν ακολουθείς τις οδηγίες εκφώνησης της άσκησης. Η συνάρτηση print_books δεν επιστρέφει κάτι, οπότε έπρεπε να είχε δηλωθεί ως void. -Πρόσεχε λίγο την στοίχιση. -Δεν υπάρχουν καθόλου σχόλια! Δεν ακολουθείς τις προδιαγραφές πρότυπου σχολιασµού που περιγράφονται στο φυλλάδιο.(διάβασε καλά το φυλλάδιο!) if(books[i].availability == AVAILABLE) κ.ο.κ. Γι αυτό χρησιµοποιούµε enum - Πρόσεχε τη στοίχιση 1143 Page 22

23 Στην συνάρτηση find_book() θα µπορούσες να κάνεις return 1; κατευθείαν µέσα στην if που συγκρίνεις τα 3 πεδία σου. Έτσι όπως το έχεις αυξάνεις το υπολογιστικό φόρτο του συστήµατος. -Να χρησιµοποιείς περιγραφικά ονόµατα µεταβλητών. -Πρόσεχε την στοίχιση! -Δεν υπάρχουν σχόλια! Δεν ακολουθείς τις προδιαγραφές πρότυπου σχολιασµού που περιγράφονται στο φυλλάδιο.(διάβασε καλά το φυλλάδιο!) -Δεν υπάρχουν καθόλου σχόλια! Δεν ακολουθείς τις προδιαγραφές πρότυπου σχολιασµού που περιγράφονται στο φυλλάδιο.(διάβασε καλά το φυλλάδιο!) -Όταν βάζεις βοηθητικά printf (π.χ. dn mphke, mphke) να τα σβήνεις πριν παραδόσεις τον κώδικα! -Η λέξη RESERVED έπρεπε να είναι µε κεφαλαία, όχι µε µικρά. -Δεν έχεις βάλει καθόλου σχόλια. Διάβασε το φυλλάδιο Οι scanf("%c", lib.author); και scanf("%c", lib.title); θέλανε %s, όχι %c! -To continue δεν χρειαζόταν. -Δεν έχεις καθόλου σχόλια! Διάβασε το φυλλάδιο. Page 23

24 Έχεις ξεχάσει τον τελεστή & στο δεύτερο όρισµα της τρίτης εντολής scanf στη συνάρτηση main µε αποτέλεσµα να προκαλείται segmentation fault. Για το λάθος αυτό σε ενηµέρωνε το πρώτο warning. - Καθώς για τα αλφαριθµητικά στην stuct bookinfot έχει δεσµευτεί χώρος για 40 χαρακτήρες, στις εντολές scanf της συνάρτησης main, θα έπρεπε να διαβάζεις µέχρι 39 χαρακτήρες. - Ο χώρος που έχει δεσµευτεί για τον πίνακα books είναι 5 στοιχεία. στη συνάρτηση print_books προσπελαύνεις 40 στοιχεία µε αποτέλεσµα την πρόσβαση σε θέσεις µνήµης, ενδεχοµένως, δεν ανήκουν στο πρόγραµµά σου. Αυτό µπορεί να προκαλέσει segmentation fault σε αυτό το λάθος οφείλονται τα λανθασµένα αποτελέσµατα κατά την εκτύπωση. - Προσοχή στην στοίχιση. Οι αγκύλες '}' πρέπει να είναι στην ίδια στήλη µε την εντολή που '' κλείνουν ''. -Πολύ καλή εργασία µε σωστά και επεξηγηµατικά σχόλια οριακά -Το output αρχείο σου δεν ταιριάζει ακριβώς µε το output αρχείο που σας δίνεται. Από την επόµενη φορά πρέπει να ταιριάζει ακριβώς! -Στην συνάρτηση find_book() θα µπορούσες να κάνεις return 1; κατευθείαν µέσα στην if που συγκρίνεις τα 3 πεδία σου. Έτσι, δεν θα χρειάζονταν η if µετά το loop και θα µείωνες και το υπολογιστικό φόρτο του συστήµατος. -Δεν υπάρχουν σχόλια! Δεν ακολουθείς τις προδιαγραφές πρότυπου σχολιασµού που περιγράφονται στο φυλλάδιο.(διάβασε καλά το φυλλάδιο!) Page 24

25 1155 οριακά -Η συνάρτηση find_book είναι λάθος. Επιστρέφει πάντα 1 όπως την έχεις. Προσπάθησε να καταλάβεις το λάθος σου. Δες τι τιµή παίρνει κάθε φορά η µεταβλητή res. -Διόρθωσε την στοίχισή σου! οριακά -Εκτυπώνεις µόνο το AUTHOR και καθόλου το TITLE και το AVAILABILITY. -Έπρεπε να τυπώνεις FOUND και όχι FOUNT! Υπάρχει αλγοριθµικό λάθος στη συνάρτηση find_book. Η συνάρτηση strcmp επιστρέφει την τιµή 0 σε περίπτωση που τα δύο αλφαριθµητικά είναι ίδια. Εποµένω θα έπρεπε να υπάρχει ένας έλεγχος για ισότητα µε το µηδέν της τιµή επιστροφής τ συνάρτησης. Δες την αντίστοιχη λύση. if(books[i].availability == AVAILABLE) κ.ο.κ. Γι'αυτο χρησιµοποιούµε enum - δε σχολιάζεις τι κάνουν οι συναρτήσεις σου, σχόλια τύπου" κλήση της συνάρτησης τάδε" δε χρειάζονται γιατί δεν προσφέρουν κάποια πληροφορία. Διάβασε το φυλλάδιο σχολιασµού -Πολύ καλή εργασία µε σωστά και επεξηγηµατικά σχόλια. -Πρόσεξε την στοίχισή σου! Page 25

26 Το πρόγραµµα δεν κάνει compile λόγω έλλειψης µίας αγκύλης '}' στην γραµµή 62. Το λάθος ήταν εύκολα ορατό εάν το πρόγραµµα είχε την σωστή στοίχιση. - Υπάρχουν λάθη σχετικά µε τον ορισµό, την κλήση και την αποθήκευση της τιµής επιστροφής από συνάρτηση. Αυτά αποτελούν ύλη προηγουµένων εργαστηρί - Η σύγκριση για λεξικογραφική ισότητα µεταξύ αλφαριθµητικών δεν γίνεται µε το τελεστή '' == '' αλλά µε την συνάρτηση strcmp(). - Υπάρχουν αλγοριθµικά λάθη στις συναρτήσεις find_book και print_books. Δεν τ αντίστοιχη λύση Για την ανάγνωση αλφαριθµητικών µε χρήση της συνάρτησης scanf χρησιµοποιε το προσδιοριστικό '' %s '' και όχι το προσδιοριστικό '' %c ''. Επίσης, για την ανάγνω ακεραίων δεν χρησιµοποιείται προσδιοριστικό εύρους. - Η συνάρτηση get_data λαµβάνει µόνο ένα όρισµα. Το error κατά το compilation σε ενηµερώνει για το λάθος αυτό. - Η ανάγνωση των στοιχείων του βιβλίου προς αναζήτηση θα έπρεπε να γίνεται στη συνάρτηση main και όχι στη συνάρτηση get_data. - Το παραδοτέο αρχείο θα έπρεπε να λέγεται lab7.c - Προσοχή στην στοίχιση Page 26

27 if(books[i].availability == AVAILABLE) κ.ο.κ. Γι'αυτό χρησιµοπούµε enum - Πρόσεχε λίγο τη στοίχιση -Το return 0; έπρεπε να είναι έξω από την for. Όπως το έχεις, επιστρέφει 0 αν το πρώτο στοιχείο δεν είναι αυτό που ψάχνουµε. -Πολύ καλά τα σχόλια που βάζεις αλλά προσπάθησε να ακολουθείς τις οδηγίες του φυλλαδίου. -Διόρθωσε την στοίχισή σου! Τα {} δεν έχουν καµία λογική! - Το πρόγραµµα δεν κάνει compile καθώς το όρισµα στη συνάρτηση get_data έχει όνοµα books ενώ εσύ το χρησιµοποιείς µε το όνοµα book. - Στις τρεις κλήσεις της εντολής scanf στη συνάρτηση main θα έπρεπε να χρησιµοποιείς την µεταβλητή book και όχι την µεταβλητή books. Επιπλέον, η µεταβλητή i δεν έχει αρχικοποιηθεί οπότε ενδέχεται να προσπελαύνεις θέσεις µνήµης που δεν σου ανήκουν. - Η εκτύπωση των πληροφοριών για κάθε βιβλίο στη συνάρτηση print_books δεν είναι σωστή. Δες την αντίστοιχη λύση. - Προσοχή στην στοίχιση. Οι αγκύλες '}' πρέπει να είναι στην ίδια στήλη µε την εντολή που '' κλείνουν '' Page 27

28 Το πρόγραµµα σου δεν κάνει compile. Πολλά λάθη που δεν θα έπρεπε να τα κάνεις. -Δεν ξέρεις να καλείς σωστά συναρτήσεις. -Δεν ξέρεις να συντάσσεις σωστά πρωτότυπα συναρτήσεων. -Οι συναρτήσεις δεν δηλώνονται η µία µέσα στην άλλη! -Δεν δηλώνεις όλες τις µεταβλητές που χρησιµοποιείς! -Διόρθωσε την στοίχισή σου! Τα {} δεν έχουν καµία λογική! -Δεν έχεις καθόλου σχόλια! Διάβασε το φυλλάδιο. -Διάβασε καλά την θεωρία. -exist==find_book( books, zitoumeno_vivlio); ανάθεση έπρεπε να κάνειςόχι σύγκριση - οι συµβολοσειρές συγκρίνονται µε strcmp, οχι µε == -Segmantation fault οριακά -Το output αρχείο σου δεν ταιριάζει ακριβώς µε το output αρχείο που σας δίνεται. Από την επόµενη φορά πρέπει να ταιριάζει ακριβώς! -Δεν ακολουθείς ακριβώς τις προδιαγραφές πρότυπου σχολιασµού που περιγράφονται στο φυλλάδιο.(διάβασε καλά το φυλλάδιο!) Page 28

29 Η scanf() δεν συντάσσεται έτσι! -Το πρόγραµµα σου δεν δουλεύει σωστά! -Στην συνάρτηση find_book() έπρεπε η return 0; να ήταν έξω από την for. Μην ξεχνάς ότι πρέπει να επιστρέφεις 0 αφού πρώτα ελέγξεις όλα σου τα βιβλία! -Να χρησιµοποιείς περιγραφικά ονόµατα µεταβλητών. -Δεν υπάρχουν σχόλια! Δεν ακολουθείς τις προδιαγραφές πρότυπου σχολιασµού που περιγράφονται στο φυλλάδιο.(διάβασε καλά το φυλλάδιο!) - στo βιβλίο σύγκρισης διαβάζεις πρώτα τον τίτλο ενώ ση getdata πρώτα τον συγγραφέα, µε αποτέλεσµα ακόµα κι αν υπάρχει βιβλίο να µην το βρίσκεις if(books[i].availability == AVAILABLE) κ.ο.κ. Γι αυτό χρησιµοποιούµε enum -Πολύ καλή εργασία µε σωστά και επεξηγηµατικά σχόλια. Page 29

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

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

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

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

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

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

FAIL PASS PASS οριακά

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

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

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

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

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

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

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

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

Βαθμός Σχόλια. 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. - Στην συνθήκη

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

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

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

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

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

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

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

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

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

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

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

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

to post PASS PASS FAIL

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

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

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

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

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

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

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

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

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 Οριακό

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

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

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

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

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

lab13grades Άσκηση 2 -Σωστά απελευθερώνετε ολόκληρη τη λίστα και την κεφαλή ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ 00497 -Δεν ελέγχετε αν η createlist εκτελλέστικε σωστά και δεν τερµατίζετε το πρόγραµµα σε διαφορετική -Σωστά βρίσκετε το σηµείο στο οποίο πρέπει να προστεθεί ο κόµβος. -Σωστά τερµατίζετε

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

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

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο Αλφαριθμητικές Σειρές Χαρακτήρων (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*%

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

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

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

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

Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ. οριακό PASS

Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ. οριακό PASS Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ 321 οριακό 1058 FAIL - Καλή δουλειά γενικά. - Πρόσεχε λίγο τα ονόµατα συναρτήσεων/µεταβλητών. Για παράδειγµα, το όνοµα integer δεν είναι καθόλου καλό γιατί δεν περιγράφει τι κάνει η

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

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

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

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

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 Ηµιτελές - Άσχηµα ονόµατα µεταβλητών/πεδίων που κάνουν δυσνόητο τον κώδικα. Μη χρησιµοποιείτε µεταβλητές

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

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

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

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

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

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

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

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

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

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

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

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

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

Δεν έστειλες την άσκηση 1, και αυτό που έστειλες ήταν σκέτο αρχείο, όχι το tgz που ζητούσε η εκφώνηση.

Δεν έστειλες την άσκηση 1, και αυτό που έστειλες ήταν σκέτο αρχείο, όχι το tgz που ζητούσε η εκφώνηση. Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ Οκ 321 PASS -Το σχόλιο στην αρχή του προγράµµατος δεν είναι περιγραφικό. -Προσπάθησε να χρησιµοποιείς πιο περιγραφικά ονόµατα µεταβλητών για να αποφεύγεις και τα πολλά σχόλια στον κώδικα.

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

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

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

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

scanf() scanf() stdin scanf() printf() int float double %lf float

scanf() scanf() stdin scanf() printf() int float double %lf float Εισαγωγή Στον Προγραµµατισµό «C» Είσοδος Δεδοµένων Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Η συνάρτηση scanf() Η συνάρτηση

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

- Σωστή χρήση του προσδιοριστή const για την σταθερά pi. Καλό θα ήταν επιλέξετε κεφαλαία γράµµατα για το όνοµα της σταθεράς.

- Σωστή χρήση του προσδιοριστή const για την σταθερά pi. Καλό θα ήταν επιλέξετε κεφαλαία γράµµατα για το όνοµα της σταθεράς. ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ - Σωστή χρήση του προσδιοριστή const για την σταθερά p. Καλό θα ήταν επιλέξετε κεφαλαία γράµµατα για το όνοµα της σταθεράς. - Στην printf("enter radius: \n"); ο χαρακτήρας αλλαγής γραµµής

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

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

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

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

Κεφάλαιο ΙV: Δείκτες και πίνακες. 4.1 Δείκτες.

Κεφάλαιο ΙV: Δείκτες και πίνακες. 4.1 Δείκτες. Κεφάλαιο ΙV: Δείκτες και πίνακες. 4.1 Δείκτες. Η C, όπως έχουμε αναφέρει, είναι μια γλώσσα προγραμματισμού υψηλού επιπέδου η οποία αναπτύχθηκε για πρώτη φορά το 1972 από τον Dennis Ritchie στα AT&T Bell

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

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

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

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

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

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

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

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

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

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

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

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

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

Παράδοση άσκησης: Εστάλη με καθυστέρηση. Να μην επαναληφθεί Προσέξτε τις νέες οδηγίες για την ονομασία του φακέλου.

Παράδοση άσκησης: Εστάλη με καθυστέρηση. Να μην επαναληφθεί Προσέξτε τις νέες οδηγίες για την ονομασία του φακέλου. ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ Παράδοση άσκησης: Εστάλη με καθυστέρηση. Να μην επαναληφθεί Προσέξτε τις νέες οδηγίες για την ονομασία του φακέλου. 357 - Σωστά αποτελέσματα - Περιγραφικά ονόματα μεταβλητών. - Δεν έχετε

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

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις 3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις 5 Απριλίου 01 1 Πίνακες Είδαμε ότι δηλώνοντας μία μεταβλητή κάποιου συγκεκριμένου τύπου δεσμεύουμε μνήμη κατάλληλη για να αποθηκευτεί μία οντότητα

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

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

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

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

Επανάληψη για τις Τελικές εξετάσεις

Επανάληψη για τις Τελικές εξετάσεις Επανάληψη για τις Τελικές εξετάσεις ( ιάλεξη 21) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Εισαγωγή Το µάθηµα EPL032 έχει ως βασικό στόχο την επίλυση προβληµάτων πληροφορικής µε την χρήση της γλώσσας προγραµµατισµού

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

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

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

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

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

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

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

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

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

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

Sheet PASS 1426 PASS 1428 PASS. Page 1

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

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

Μεθόδων Επίλυσης Προβλημάτων

Μεθόδων Επίλυσης Προβλημάτων ΕΠΛ 032.3: 3: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 14 Αλφαριθμητικές Σειρές Χαρακτήρων (Strings)

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

Επανάληψη για τις Τελικές εξετάσεις. (Διάλεξη 24) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ

Επανάληψη για τις Τελικές εξετάσεις. (Διάλεξη 24) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ Επανάληψη για τις Τελικές εξετάσεις (Διάλεξη 24) Εισαγωγή Το μάθημα EPL032 έχει ως βασικό στόχο την επίλυση προβλημάτων πληροφορικής με την χρήση της γλώσσας προγραμματισμού C. Επομένως πρέπει: Nα κατανοήσετε

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

ΣΧΟΛΙΑ ΓΙΑ ΤΟ LAB 1. Sheet3_2

ΣΧΟΛΙΑ ΓΙΑ ΤΟ LAB 1. Sheet3_2 ΣΧΟΛΙΑ ΓΙΑ ΤΟ LAB 1 Ασκήσεις που είναι µαρκαρισµένες µε οριακά, δεν είναι επαρκούς ποιότητας για να περάσουν. Ο λόγος που τελικά παίρνουν είναι επειδή αυτό ήταν το πρώτο εργαστήρ και κάποια λάθη και δυσκολίες

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

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

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

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

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Μεταβλητές,

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

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

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

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

ΑΕΜ ή username. Sheet2

ΑΕΜ ή username. Sheet2 ΑΕΜ ή username ΒΑΘΜΟΣ 357 ΣΧΟΛΙΑ - Σωστοί τύποι και περιγραφικά ονόµατα µεταβλητών. Αν το price_euro το είχατε price_euro_liter (όπως κάνατε και µε το price_dollar_gallon) δε θα χρειαζόταν καν διευκρινιστικό

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Η γλώσσα προγραμματισμού C

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Χειρισμός χαρακτήρων, συμβολοσειρές Συμβολοσειρές Συμβολοσειρά ονομάζουμε μια οποιαδήποτε ακολουθία αλφαριθμητικών χαρακτήρων: «Κώστας», «Κώστας Βασιλάκης», «Δαιδάλου 23» Στην

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

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

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

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

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

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

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

lab3_all Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ

lab3_all Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ 1375 1389 1413 - Γράφετε αρκετά καθαρά τον κώδικα, µπράβο! Έχετε δώσει καλά ονόµατα στις µεταβλητές και ορίζετε ως σταθερές τις τιµές ταχυτήτων των κυνηγών - Μετατρέπετε όλο το χρόνο

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

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

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

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

Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ 321 FAIL

Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ 321 FAIL Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ 321 FAIL Άσκηση 1η: - Δεν βάζετε σχόλια στην αρχή του κώδικα - Στοίχιση οκ, τα ονόµατα των µεταβλητών καλό είναι να είναι πιο περιγραφικά - Δεν χρησιµοποιείτε #define για να ορίσετε

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

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

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

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

Παράδοση άσκησης: οκ, αλλά προσέξτε τις νέες οδηγίες για την ονοµασία του φακέλου.

Παράδοση άσκησης: οκ, αλλά προσέξτε τις νέες οδηγίες για την ονοµασία του φακέλου. ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ Άσκηση 1: -Σωστά αποτελέσµατα και σωστή έξοδος. -Δεν έχετε περιορισµό στην scanf για την ανάγνωση strings. Δηµιουργείτε το format του string µε χρήση της µεθόδου µε το sprintf αλλά δεν

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

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Αναφορά

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

Κεφάλαιο 4: Συνθήκες Έλεγχου (if-else, switch) και Λογικοί τελεστές / παραστάσεις. (Διάλεξη 8)

Κεφάλαιο 4: Συνθήκες Έλεγχου (if-else, switch) και Λογικοί τελεστές / παραστάσεις. (Διάλεξη 8) Κεφάλαιο 4: Συνθήκες Έλεγχου (if-else, switch) και Λογικοί τελεστές / παραστάσεις (Διάλεξη 8) 8-1 Τι θα δούμε σήμερα Η εντολή if else Η εντολή if else ιf - -else H εντολή switch Λογικές παραστάσεις Σχεσιακοί

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

Κεφάλαιο 8.7. Πίνακες & Συναρτήσεις ( ιάλεξη 17) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 8.7. Πίνακες & Συναρτήσεις ( ιάλεξη 17) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 8.7 Πίνακες & Συναρτήσεις ( ιάλεξη 17) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 17-1 Εισαγωγή Στις προηγούµενες διαλέξεις µάθαµε πώς να δηλώνουµε, αρχικοποιούµε και να επεξεργαζόµαστε πίνακες. Σήµερα θα µελετήσουµε

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

Η γλώσσα προγραμματισμού C

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Εισαγωγή στη C Λίγα λόγια για την C Γλώσσα προγραμματισμού υψηλού επιπέδου. Σχεδιάστηκε και υλοποιήθηκε από τον Dennis Richie στις αρχές της δεκαετίας του 1970 (Bell Labs). Η

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

Εισαγωγή στον Προγραµµατισµό. Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ

Εισαγωγή στον Προγραµµατισµό. Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Εισαγωγή στον Προγραµµατισµό Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Συναρτήσεις 19.11.16 Β. Ντουφεξή 2 Προβλήματα: Οσο μεγαλώνουν τα προγράμματα, γίνονται πιο πολύπλοκα.

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

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

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

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

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011 Εισαγωγή στον Προγραµµατισµό Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011 Hello World /* Αρχείο hello.c * Εµφανίζει στην οθόνη το * µήνυµα hello world */ #include

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

CE 120. Φροντιστήριο 14/10/2011

CE 120. Φροντιστήριο 14/10/2011 CE 120 Φροντιστήριο 14/10/2011 1 Απολογισµός εργαστηρίου Βρείτε το τµήµα σας στη σελίδα του µαθήµατος. Να ξέρετε τον Α.Μ. σας πριν το επόµενο εργαστήριο. Φτιάξτε ένα καλογραµµένο αρχείο σαν το errors.txt

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

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

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

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

Προγραμματισμό για ΗΜΥ

Προγραμματισμό για ΗΜΥ ΕΠΛ 034: Εισαγωγή στον Προγραμματισμό για ΗΜΥ Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 3 Εισαγωγή στην C Θέματα ιάλεξης Σύνταξη και Σημασιολογία

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

Κεφάλαιο 8.7. Πολυδιάστατοι Πίνακες (Διάλεξη 19)

Κεφάλαιο 8.7. Πολυδιάστατοι Πίνακες (Διάλεξη 19) Κεφάλαιο 8.7 Πολυδιάστατοι Πίνακες (Διάλεξη 19) Πολυδιάστατοι πίνακες Μέχρι τώρα μιλούσαμε για Μονοδιάστατους Πίνακες. ή π.χ. int age[5]= {31,28,31,30,31; για Παράλληλους πίνακες, π.χ. int id[5] = {1029,1132,1031,9991,1513;

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

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

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

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

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εργαστήριο 1η εβδομάδα. Κοζάνη, 5 Οκτωβρίου 2007. Βασικά στοιχεία γραφής προγραμμάτων με τη C: α) Case Sensitive!!! β) Δυνατότητα εισαγωγής σχολίων με /*

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

Κεφάλαιο 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 (); Πρότυπο ( ήλωση) Συνάρτησης (

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

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος http://www.teiser.gr/icd/staff/lantzos lantzos@teiser.gr 1 Μονοδιάστατοι Πίνακες (tables) Μια συλλογή μεταβλητών ίδιου τύπου οι οποίες είναι αποθηκευμένες

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

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

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

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

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

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

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

abistarakis PASS - Σωστή κατασκευή tgz και ονοµασία αρχείων

abistarakis PASS - Σωστή κατασκευή tgz και ονοµασία αρχείων Στις επόµενες σελίδες µπορείτε να δείτε ενδεικτικούς βαθµούς και σχόλια για το lab1. Επειδή αυτό ήταν το πρώτο εργαστήριο, οι βαθµοί δε θα µετρήσουν (δηλαδή όποιος βαθµολογήθηκε µε fail δε θα πάρει απουσία)

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

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Αλφαριθμητικά Αλφαριθμητικά (strings) Ένα αλφαριθμητικό είναι μια ακολουθία αλφαβητικών

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

Γλώσσα Προγραμματισμού C++ Εισαγωγή - Μια πρώτη ματιά

Γλώσσα Προγραμματισμού C++ Εισαγωγή - Μια πρώτη ματιά Γλώσσα Προγραμματισμού C++ Εισαγωγή - Μια πρώτη ματιά Βασικά χαρακτηριστικά αναπτύχθηκε ως επέκταση της C το 1979 υπερσύνολο της C γλώσσα γενικού σκοπού, γρήγορη, Αντικειμενοστραφής προγραμματισμός (Object

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

ΣΕΤ ΑΣΚΗΣΕΩΝ 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) Οδηγίες

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

Πίνακες. 1 Πίνακες. 30 Μαρτίου 2014

Πίνακες. 1 Πίνακες. 30 Μαρτίου 2014 Πίνακες 0 Μαρτίου 014 1 Πίνακες Είδαμε ότι δηλώνοντας μία μεταβλητή κάποιου συγκεκριμένου τύπου δεσμεύουμε μνήμη κατάλληλη για να αποθηκευτεί μία οντότητα του συγκεκριμένου τύπου. Στην περίπτωση που θέλουμε

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

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 1 Είσοδος/ Έξοδος Σε σχεδόν όλα τα προγράµµατα πρέπει να πάρουµε κάποια δεδοµένα και να δώσουµε

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

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Ορισμός

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

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

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

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

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

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

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

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: Πέµπτη 17/12/2015, 22:00

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

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

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

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Βασικά Στοιχεία Το αλφάβητο της C Οι βασικοί τύποι της C Δηλώσεις μεταβλητών Είσοδος/Έξοδος Βασικές εντολές της C Αλφάβητο

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

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

Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη. Εργαστήριο 4: 4.1 Η Δομή Ελέγχου if Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη. Γενική Μορφή: Παρατηρήσεις:

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

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

Προγραμματισμός Ι. Δείκτες. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Δείκτες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Τι είναι ο δείκτης Ένας δείκτης είναι μια μεταβλητή που περιέχει μια διεύθυνση μνήμης. Θυμηθείτε πως

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

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

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

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