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

Save this PDF as:
 WORD  PNG  TXT  JPG

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

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

Transcript

1 Α.Μ FAIL FAIL 1422 FAIL FAIL 1426 FAIL - Πρώτα να ελέγχετε αν η malloc επέστρεψε NULL και µετά να προσπαθείτε να προσπελάσετε τη δεσµευµένη µνήµη - Όταν διαβάζετε string να προσδιορίζετε µέγεθος στο %s - Λάθος στον υπολογισµό του µήκους. Έπρεπε να αφαιρείτε διευθύνσεις, όχι χαρακτήρες - Τι είναι η le3h και γιατί τι διαβάζετε από το πληκτρολόγιο? - Το πρόγραµµα δεν κάνει τίποτα. - Τι σκοπό εξυπηρετεί η µεταβλητή flag? Θα βοηθούσε πολύ να της είχατε δώσει ένα όνοµα που περιγράφει τη λειτουργία της, ή τουλάχιστον να βάζατε ένα σχόλιο σε εκείνο το σηµείο. Γενικά δε µπορώ να καταλάβω γιατί ελέγχετε κεφαλαία και µικρά γράµµατα. Τι σχέση έχουν µε την άσκηση? - Το πρόγραµµα φαίνεται να µπαίνει σε endless loop. - Έπρεπε να χρησιµοποιήσετε συναρτήσεις από τη string.h. - Το τέλος του string δεν είναι στο LINESIZE αλλά εκεί που βρίσκεται το \0. - Έπρεπε να ελέγχετε για NULL και µετά το realloc. - Στείλατε το backup αρχείο του Kate αντί για το lab9.c - Να χρησιµοποιείτε περιγραφικά ονόµατα µεταβλητών/συναρτήσεων/τύπων. Τι είναι τα t, p? - Δεν πρέπει να ελέγχετε για isalpha. Δεν υπάρχει καµία εγγύηση ότι η πρόταση δεν περιέχει κι άλλου είδους χαρακτήρες (ψηφία, τελείες, κόµµατα, κτλ) - Το τέλος ενός string είναι εκεί που βρίσκεται το \0 κι όχι το LINESIZE. - Έπρεπε να χρησιµοποιήσετε συναρτήσεις από τη string.h - Σωστή διαχείριση δεικτών κατά τα άλλα. - Να κάνετε έλεγχο για NULL µετά από κάθε malloc. - Δεν αποδεσµεύσατε όλη τη δυναµικά δεσµευµένη µνήµη. - Πολύ καλή προσπάθεια - Πόσο µεγάλη θα ήταν η συνθήκη του if σου αν είχαµε 100 διαχωριστικούς χαρακτήρες? Η άσκηση απαιτούσε τη χρήση συναρτήσεων από τη string.h πράγµα που δεν έκανες. - το j έπρεπε να ξεκινάει από 1, γιατί η θέση 0 του πίνακα περιέχει ήδη δεδοµένα. - Δε δικαιολογείται να κάνετε λάθη στη σύνταξη της for! Έπρεπε να είχατε γράψει for ( ; j<=i; j++) και όχι for (j<=i ; j++; ). Γενικά ότι κάνετε σε αυτό το for είναι λάθος. Το *addr είναι πάντα η ίδια τιµή και δεν είναι καν αυτό που πρέπει να εκτυπώνεται. - Το while loop είναι ατέρµονο γιατί στην περίπτωση ι==0 δεν αλλάζετε το addr. - Ακόµη κι αν διορθώσετε αυτό, θα κάνει segfault γιατί όταν το addr γίνει NULL δε βγαίνετε άµεσα από το loop. - Στο sep δεν έπρεπε να περιλαµβάνονται κόµµα/τελεία - Μετά από malloc/realloc, να κάνετε πάντα έλεγχο για NULL - Η strtok καταστρέφει το αρχικό string αλλά και τη χρησιµοποιείτε λάθος.. Γενικά δε χρησιµοποιείτε σωστά τις συναρτήσεις string. Για ποιο λόγο κάνατε strcspn(sentence, "") αντί να χρησιµοποιήσετε απλά την strlen? - Να δίνετε περιγραφικά ονόµατα σε µεταβλητές/τύπους. Τι είναι το v? Δείγµα παπαγαλίας από τις διαφάνειες? Η εκφώνηση σας πρότεινε το όνοµα words για τον πίνακα, δεν υπήρχε λόγος να το αγνοήσετε. - Δεν έχετε κάνει κάτι άλλο πέρα από δέσµευση µνήµης. - Καλή δουλειά όσον αφορά ζητήµατα µνήµης, αλλά δε χρησιµοποιείτε συναρτήσεις από τη string.h όπως απαιτούσε η εκφώνηση. Page 1

2 1428 FAIL 1429 FAIL FAIL Η strtok δεν είναι καλή επιλογή γιατί καταστρέφει την αρχική πρόταση. - Ποιος ο λόγος για τον έλεγχο isalpha? Δεν είναι απαραίτητο να αποτελείται µόνο από γράµµατα ή διαχωριστικά η πρόταση. - Τι είναι το temp? Να δίνετε περιγραφικά ονόµατα σε µεταβλητές - Στη γραµµή 49, αντί για &sentence[0] µπορούσατε να είχατε γράψει απλά sentence. Είναι ακριβώς το ίδιο πράγµα. - Δεν αλλάζετε το µέγεθος του words (µε realloc) - Δεν εκτυπώνετε τίποτα - Δεν απελευθερώνετε τη δυναµικά δεσµευµένη µνήµη - Το όνοµα του αρχείου έπρεπε να είναι lab9.c - Έπρεπε και η απόσταση και οι διευθύνσεις να υπολογιστούν µε χρήση συναρτήσεων strings και όχι διατρέχοντας το string ένα-ένα χαρακτήρα - Το µέγεθος στο %s στο scanf έπρεπε να είναι 99 κι όχι 100! - Να ελέγχετε για NULL µετά από κάθε malloc. - Είστε σε καλό δρόµο αλγοριθµικά, αλλά θέλει δουλειά ακόµη. - Το όνοµα του αρχείου έπρεπε να είναι lab9.c - Δε χρησιµοποιείτε συναρτήσεις από τη string.h όπως απαιτούσε η άσκηση - Όταν ένα string έχει µέγεθος LINESIZE, ο τελευταίος χαρακτήρας είναι στη θέση LINESIZE-1. Έπρεπε να το ξέρετε αυτό! Επιπλέον, ο τελευταίος χρήσιµος χαρακτήρας του string είναι ο αµέσως προηγούµενος του \0, οπότε σε κάθε περίπτωση ΔΕΝ πρέπει να διατρέχετε µέχρι το LINESIZE. - Δεν υπολογίζετε την απόσταση. - Να διαβάζετε προσεκτικά την εκφώνηση. Σας έλεγε ότι το βήµα 6 έπρεπε να γίνει ξεχωριστά από τα προηγούµενα βήµατα. - Στο sep δεν έπρεπε να περιλαµβάνονται κόµµα/τελεία - Μετά από malloc/realloc, να κάνετε πάντα έλεγχο για NULL - Η strtok καταστρέφει το αρχικό string αλλά και τη χρησιµοποιείτε λάθος.. Γενικά δε χρησιµοποιείτε σωστά τις συναρτήσεις string. Για ποιο λόγο κάνατε strcspn(sentence, "") αντί να χρησιµοποιήσετε απλά την strlen? - Να δίνετε περιγραφικά ονόµατα σε µεταβλητές/τύπους. Τι είναι το v? Δείγµα παπαγαλίας από τις διαφάνειες? Η εκφώνηση σας πρότεινε το όνοµα words για τον πίνακα, δεν υπήρχε λόγος να το αγνοήσετε. - Για το sentence προσδιορίσατε µέγεθος 20, οπότε έπρεπε να το διαβάζετε µε %19s κι όχι µε %20s. - Να διαβάζετε ΟΛΟΚΛΗΡΗ την εκφώνηση. Το LINESIZE έπρεπε να είναι Να κάνετε έλεγχο για NULL µετά από κάθε malloc. - Στη συνθήκη του while συγκρίνετε το sentence που είναι δείκτης µε το '\0' που είναι χαρακτήρας! - Το printf είναι λάθος. Έπρεπε να διατρέχετε ολόκληρο πίνακα! Page 2

3 1438 FAIL 1440 FAIL 1442 FAIL 1444 FAIL 1445 FAIL FAIL 1453 FAIL Δε δικαιολογείται να κάνετε λάθη στη σύνταξη της for! Έπρεπε να είχατε γράψει for ( ; j<=i; j++) και όχι for (j<=i ; j++; ). Γενικά ότι κάνετε σε αυτό το for είναι λάθος. Το *addr είναι πάντα η ίδια τιµή και δεν είναι καν αυτό που πρέπει να εκτυπώνεται. - Το while loop είναι ατέρµονο γιατί στην περίπτωση ι==0 δεν αλλάζετε το addr. - Ακόµη κι αν διορθώσετε αυτό, θα κάνει segfault γιατί όταν το addr γίνει NULL δε βγαίνετε άµεσα από το loop. - Καλή δουλειά όσον αφορά ζητήµατα µνήµης, αλλά δε χρησιµοποιείτε συναρτήσεις από τη string.h όπως απαιτούσε η εκφώνηση. - Η strtok δεν είναι καλή επιλογή γιατί καταστρέφει την αρχική πρόταση. - Ποιος ο λόγος για τον έλεγχο isalpha? Δεν είναι απαραίτητο να αποτελείται µόνο από γράµµατα ή διαχωριστικά η πρόταση. - Τι είναι το temp? Να δίνετε περιγραφικά ονόµατα σε µεταβλητές - Στη γραµµή 49, αντί για &sentence[0] µπορούσατε να είχατε γράψει απλά sentence. Είναι ακριβώς το ίδιο πράγµα. - Δεν αλλάζετε το µέγεθος του words (µε realloc) - Δεν εκτυπώνετε τίποτα - Δεν απελευθερώνετε τη δυναµικά δεσµευµένη µνήµη - Όταν διαβάζετε string να προσδιορίζετε µέγεθος στο %s - Να χρησιµοποιείτε περιγραφικά ονόµατα µεταβλητών. Τι σηµαίνει v? - Δεν έπρεπε καν να υπάρχει το v. Τα δεδοµένα αποθηκεύονται στον πίνακα arxi. - Το πρόγραµµα δεν κάνει πολλά πέρα των malloc/free - Να κάνετε έλεγχο για NULL µετά από χρήση malloc - Το πρόγραµµα δεν κάνει πολλά πράγµατα πέρα του malloc και free - Δεν υπάρχει καµία εγγύηση ότι θα χρησιµοποιηθούν όλα τα κελιά του words. Το loop δεν έπρεπε να πηγαίνει µέχρι LINESIZE/2. - Την ανάθεση στα πεδία του words έπρεπε να την κάνετε µέσα σε loop όχι απέξω. Θα βοηθούσε αν είχατε καλή στοίχιση - Το πρόγραµµα δεν εκτυπώνει αποτελέσµατα και τα printf που έχετε σε σχόλια δε δείχνουν να έχετε καταλάβει τι έπρεπε να εκτυπωθεί και πώς. - Να κάνετε έλεγχο για NULL µετά από χρήση malloc - Το πρόγραµµα δεν κάνει πολλά πράγµατα πέρα του malloc και free - Το όνοµα του αρχείου έπρεπε να είναι lab9.c - Δε χρησιµοποιείτε συναρτήσεις από τη string.h όπως απαιτούσε η άσκηση - Όταν ένα string έχει µέγεθος LINESIZE, ο τελευταίος χαρακτήρας είναι στη θέση LINESIZE-1. Έπρεπε να το ξέρετε αυτό! Επιπλέον, ο τελευταίος χρήσιµος χαρακτήρας του string είναι ο αµέσως προηγούµενος του \0, οπότε σε κάθε περίπτωση ΔΕΝ πρέπει να διατρέχετε µέχρι το LINESIZE. - Άσχηµη στοίχιση - Μετά από χρήση strncpy πρέπει να θέτετε πάντα το '\0' - Πολύ καλή προσπάθεια Page 3

4 FAIL 1458 FAIL FAIL 1461 FAIL Δεν υπάρχει καµία εγγύηση ότι θα χρησιµοποιηθούν όλα τα κελιά του words. Το loop δεν έπρεπε να πηγαίνει µέχρι LINESIZE/2. - Την ανάθεση στα πεδία του words έπρεπε να την κάνετε µέσα σε loop όχι απέξω. Θα βοηθούσε αν είχατε καλή στοίχιση - Το πρόγραµµα δεν εκτυπώνει αποτελέσµατα και τα printf που έχετε σε σχόλια δε δείχνουν να έχετε καταλάβει τι έπρεπε να εκτυπωθεί και πώς. - Δεν έχετε κάνει κάτι άλλο πέρα από δέσµευση µνήµης. - Να προσδιορίζεις πάντα µέγεθος στο %s όταν διαβάζεις string. - Η άσκηση δεν κάνει πολλά πράγµατα πέρα της δέσµευσης µνήµης - Τι είναι το adr2 και γιατί δεσµεύετε µνήµη γι'αυτό? Για το words έπρεπε να είχατε δεσµεύσει µνήµη δυναµικά. - Η συνθήκη στο while είναι λάθος. Δεν υπάρχει εγγύηση ότι θα γεµίσουν όλες οι θέσεις του πίνακα words. Ακόµη χειρότερα, πάτε µέχρι και LINESIZE/2 το οποίο σηµαίνει ότι βγαίνετε εκτός ορίων του words. - Το πρόγραµµα δεν εκτυπώνει τίποτα όσον αφορά τον αλγόριθµο εύρεσης των θέσεων - Να αποδεσµεύετε πάντα τη δυναµικά δεσµευµένη µνήµη του προγράµµατος. - Καλή δουλειά όσον αφορά ζητήµατα µνήµης, αλλά δε χρησιµοποιείτε συναρτήσεις από τη string.h όπως απαιτούσε η εκφώνηση. - Όταν διαβάζετε string να προσδιορίζετε µέγεθος στο %s - Να χρησιµοποιείτε περιγραφικά ονόµατα µεταβλητών. Τι σηµαίνει v? - Δεν έπρεπε καν να υπάρχει το v. Τα δεδοµένα αποθηκεύονται στον πίνακα arxi. - Το πρόγραµµα δεν κάνει πολλά πέρα των malloc/free - Αν η malloc επιστρέψει NULL, το πρόγραµµα δεν πρέπει να συνεχίζει την εκτέλεση! - Μετά από χρήση strncpy πρέπει να θέτετε το '\0'. - Καλά σκεφτήκατε να ελέγχετε για NULL κατά την εκτύπωση, αλλά ελέγχετε τη λάθος ποσότητα. - Να προσδιορίζεις πάντα µέγεθος στο %s όταν διαβάζεις string - Να ελέγχεις για NULL µετά από κάθε malloc - Τρέξε το πρόγραµµα µέσω gdb για να βρεις το λάθος - Να αποδεσµεύεις όλη τη δυναµικά δεσµευµένη µνήµη - Έπρεπε να διαβάζετε το διαχωριστικό από το πληκτρολόγιο, κι όχι να χρησιµοποιείτε το "HIC" - Βρίσκετε µόνο την πρώτη λέξη και µετά το loop δεν ανανεώνει τις τιµές των µεταβλητών για να µπορέσετε να βρείτε και τις υπόλοιπες. - Μετά τη χρήση strncpy πρέπει πάντα να θέτετε το '\0' - Δεν υπάρχει καµία εγγύηση ότι ο πίνακας words θα έχει γεµισµένα όλα τα κελιά του. Τα loops δεν έπρεπε να πηγαίνουν µέχρι LINESIZE. - Δεν απελευθερώνετε όλη τη δυναµικά δεσµευµένη µνήµη. Page 4

5 1465 FAIL 1466 FAIL FAIL 1469 FAIL Το πρόγραµµα δεν κάνει compile. Προσθέτετε pointer σε pointer, πράγµα που απαγορεύεται. - Τι είναι αυτό? : while (words->word < (words->word + LINESIZE)) Δε συγκρίνουµε ποτέ string µε <, αλλά µε strcmp. Στη συγκεκριµένη άσκηση δεν έπρεπε καν να συγκρίνετε strings. - Το words είναι πίνακας. Το words->word αναφέρεται πάντα στο πρώτο στοιχείο του, οπότε οι αναθέσεις που κάνετε στο loop γίνονται πάντα στο ίδιο στοιχείο. - Μετά από χρήση strncpy να θέτετε πάντα το '\0' - Μη γράφετε ποτέ τόσο πολύ κώδικα χωρίς να τον τεστάρετε κάθε τόσο για να βεβαιώνεστε ότι δουλεύει σωστά. - Δεν αποδεσµεύετε σωστά τη δυναµικά δεσµευµένη µνήµη -Μετά από malloc να κάνετε πάντα έλεγχο για NULL - Το µέγεθος στο %s έπρεπε να είναι 99 κι όχι Γιατί έχετε βάλει ολόκληρη πρόταση στο scanf? Άλλο ζητούσε η εκφώνηση. - Τι σκοπό εξυπηρετούν τα δύο for? - Δεν έχετε κάνει κάτι ιδιαίτερο πέρα των malloc/free - Αν η malloc επιστρέψει NULL, το πρόγραµµα δεν πρέπει να συνεχίζει την εκτέλεση! - Μετά από χρήση strncpy πρέπει να θέτετε το '\0'. - Καλά σκεφτήκατε να ελέγχετε για NULL κατά την εκτύπωση, αλλά ελέγχετε τη λάθος ποσότητα. - Τι είναι το g? Να χρησιµοποιείς περιγραφικά ονόµατα µεταβλητών - Λάθος format specifier στο τελευταίο printf. Έπρεπε να εκτυπώνεις το *words[j].point το οποίο είναι χαρακτήρας. Να διαβάζεις προσεκτικά τα warnings του compiler - Δε χρησιµοποιείς σωστά το malloc. Πρέπει να πολλαπλασιάζεις το πλήθος των θέσεων που θες να δεσµεύσεις µε το µέγεθός τους. - Μετά από malloc/realloc, να ελέγχεις πάντα για NULL - Να προσδιορίζεις πάντα µέγεθος στο %s όταν διαβάζεις strings - Πρόσεχε τη στοίχιση! - Γιατί κάνεις παντού typecast? στον αλγόριθµο - Σωστό το struct αλλά φαίνεται να παπαγαλίσατε τις διαφάνειες. Αλλάζετε το όνοµα του struct µε typedef αλλά µετά δεν το χρησιµοποιείτε παντού. Τι όνοµα είναι το b??? Να δίνετε περιγραφικά ονόµατα! - Λάθος µέγεθος στο %s. Έπρεπε να είναι %99s, όχι %100s - Μετά από malloc να ελέγχετε πάντα για NULL - Λάθος λογική. Το i σας λέει πού είναι ο διαχωριστικός χαρακτήρας, όχι πού είναι η λέξη. Έπρεπε να το αυξάνετε κατά 1 µετά την strcspn. Επίσης, αφού το υπολογίζετε (έστω και µε λάθος) γιατί δε θέτετε και το πεδίο len? - Το j πηγαίνει µέχρι LINESIZE και το χρησιµοποιείτε για να διατρέξετε το words το οποίο όµως έχει µέγεθος LINESIZE/2! - Μην κολλάτε στη διάτρεξη των strings κατά ένα χαρακτήρα τη φορά! Επίσης, το τέλος του string είναι εκεί που βρίσκεται το \0 κι όχι στο LINESIZE. - Το πρόγραµµα δεν εκτυπώνει αποτελέσµατα και δε δείχνετε αν ξέρετε να προσπελάσετε τα πεδία που struct για εκτύπωση. - Δεν έχετε διατυπώσει καλά τον έλεγχο για NULL µετά τη malloc. Έτσι όπως το κάνατε (µε εµφωλευµένα if), αν είχατε καµια 10αριά malloc, πόσα tab πιο µέσα θα κατέληγε ο κώδικάς σας? Καλύτερα να ελέγχετε αν είναι NULL, κι αν ναι, να τερµατίζετε το πρόγραµµα ή τη συνάρτηση. - Μπράβο που αποδεσµεύετε τη µνήµη και για τα.word, αλλά προσέξτε: δεν έχουν γεµίσει όλα τα κελιά του pinakas_words, οπότε δεν έπρεπε να πηγαίνετε µέχρι LINESIZE. Page 5

6 1472 FAIL FAIL 1479 FAIL FAIL Πρώτα να ελέγχετε αν η malloc επέστρεψε NULL και µετά να προσπαθείτε να προσπελάσετε τη δεσµευµένη µνήµη - Όταν διαβάζετε string να προσδιορίζετε µέγεθος στο %s - Λάθος στον υπολογισµό του µήκους. Έπρεπε να αφαιρείτε διευθύνσεις, όχι χαρακτήρες - Τι είναι η le3h και γιατί τι διαβάζετε από το πληκτρολόγιο? - Το πρόγραµµα δεν κάνει τίποτα. - Δεν υπολογίζετε την απόσταση. - Να διαβάζετε προσεκτικά την εκφώνηση. Σας έλεγε ότι το βήµα 6 έπρεπε να γίνει ξεχωριστά από τα προηγούµενα βήµατα. - Μην αγνοείτε τα warnings. Δεν έχετε κάνει #include το string.h - Απαράδεκτη στοίχιση! - Συγκρίνετε θέση πίνακα (i) µε περιεχόµενα ('\0'). Δε δικαιολογούνται τέτοια λάθη! - Πολλά προβλήµατα στην άσκηση. - Μην αγνοείτε τα warnings. Δεν έχετε κάνει #include το string.h - Απαράδεκτη στοίχιση! - Συγκρίνετε θέση πίνακα (i) µε περιεχόµενα ('\0'). Δε δικαιολογούνται τέτοια λάθη! - Πολλά προβλήµατα στην άσκηση. - Δεν έχετε διατυπώσει καλά τον έλεγχο για NULL µετά τη malloc. Έτσι όπως το κάνατε (µε εµφωλευµένα if), αν είχατε καµια 10αριά malloc, πόσα tab πιο µέσα θα κατέληγε ο κώδικάς σας? Καλύτερα να ελέγχετε αν είναι NULL, κι αν ναι, να τερµατίζετε το πρόγραµµα ή τη συνάρτηση. - Μπράβο που αποδεσµεύετε τη µνήµη και για τα.word, αλλά προσέξτε: δεν έχουν γεµίσει όλα τα κελιά του pinakas_words, οπότε δεν έπρεπε να πηγαίνετε µέχρι LINESIZE. - Το πρόγραµµα δεν κάνει compile - Το µέγεθος στο %s έπρεπε να είναι 99, κι όχι Να ελέγχετε για NULL µετά από κάθε malloc - Δεν κάνετε πολλά πράγµατα στο αλγοριθµικό κοµµάτι - Η αρχικοποίηση του characters θα µπορούσε να είχε γίνει πιο απλά: char - Μετά από malloc να ελέγχετε πάντα για NULL - Στην κλήση της strpbrk έχετε βάλει ανάποδα τις παραµέτρους - Λάθος λογική. Μην κολλάτε στη διάτρεξη των string κατά ένα χαρακτήρα τη φορά! Το i έπρεπε να αυξάνεται µε βάση το µήκος της λέξης που εντοπίστηκε κι όχι µε ++. Επίσης, αν δε βρεθούν οι διαχωριστικοί χαρακτήρες στο string, πρέπει να τερµατίζει το loop. Τέλος, µην ξεχνάτε ότι το string ουσιαστικά τελειώνει εκεί που είναι το \0 κι ΟΧΙ στο LINESIZE. - Στο realloc, γιατί κάνατε typecast το words σε (void*)? Είναι λάθος. - Ο αλγόριθµος έχει κάποια σωστά στοιχεία αλλά θέλει δουλειά ακόµη. Page 6

7 FAIL 1492 FAIL 1493 FAIL FAIL - Έπρεπε να διαβάζετε το διαχωριστικό από το πληκτρολόγιο, κι όχι να χρησιµοποιείτε το "HIC" - Βρίσκετε µόνο την πρώτη λέξη και µετά το loop δεν ανανεώνει τις τιµές των µεταβλητών για να µπορέσετε να βρείτε και τις υπόλοιπες. - Μετά τη χρήση strncpy πρέπει πάντα να θέτετε το '\0' - Δεν υπάρχει καµία εγγύηση ότι ο πίνακας words θα έχει γεµισµένα όλα τα κελιά του. Τα loops δεν έπρεπε να πηγαίνουν µέχρι LINESIZE. - Δεν απελευθερώνετε όλη τη δυναµικά δεσµευµένη µνήµη. - Στο τέλος έπρεπε να εκτυπώνετε το χαρακτήρα στη διεύθυνση (words+i)->beg κι όχι το string. - Το µέγεθος στο %s στο scanf έπρεπε να είναι 99 κι όχι 100! - Να ελέγχετε για NULL µετά από κάθε malloc. - Είστε σε καλό δρόµο αλγοριθµικά, αλλά θέλει δουλειά ακόµη. - Δεν κατασκευάσατε φάκελο για να βάλετε µέσα το lab9.c. Να ακολουθείτε τις οδηγίες. - Λάθος στη σύνταξη της malloc. Τι σχέση έχει το (int *)? Μην παπαγαλίζετε τις διαφάνειες. - Δεν έχετε κάνει κάτι πέρα της δέσµευσης µνήµης. - Το πρόγραµµα δεν κάνει compile. Μην περιµένετε µέχρι τελευταία στιγµή για να κάνετε compile! Το λάθος που δεν προλάβατε να διορθώσετε ήταν τα άγκιστρο από if που ελέγχουν το αποτέλεσµα του malloc. - Το πρόγραµµα δεν κάνει compile. Προσθέτετε pointer σε pointer, πράγµα που απαγορεύεται. - Τι είναι αυτό? : while (words->word < (words->word + LINESIZE)) Δε συγκρίνουµε ποτέ string µε <, αλλά µε strcmp. Στη συγκεκριµένη άσκηση δεν έπρεπε καν να συγκρίνετε strings. - Το words είναι πίνακας. Το words->word αναφέρεται πάντα στο πρώτο στοιχείο του, οπότε οι αναθέσεις που κάνετε στο loop γίνονται πάντα στο ίδιο στοιχείο. - Μετά από χρήση strncpy να θέτετε πάντα το '\0' - Μη γράφετε ποτέ τόσο πολύ κώδικα χωρίς να τον τεστάρετε κάθε τόσο για να βεβαιώνεστε ότι δουλεύει σωστά. - Δεν αποδεσµεύετε σωστά τη δυναµικά δεσµευµένη µνήµη - Το αρχείο έπρεπε να λέγεται lab9.c - Η παράµετρος της strcspn δεν έπρεπε να είναι κάθε φορά η ίδια, γιατί τότε θα βρίσκει σε κάθε επανάληψη το ίδιο αποτέλεσµα. - Μην κολλάτε στη διάτρεξη των string ένα χαρακτήρα τη φορά! Χρησιµοποιείστε έξυπνα τα αποτελέσµατα των συναρτήσεων για strings για να βρείτε πότε να τερµατίσει η επανάληψη. - Τι σκοπό εξυπηρετεί η µεταβλητή flag? Θα βοηθούσε πολύ να της είχατε δώσει ένα όνοµα που περιγράφει τη λειτουργία της, ή τουλάχιστον να βάζατε ένα σχόλιο σε εκείνο το σηµείο. Γενικά δε µπορώ να καταλάβω γιατί ελέγχετε κεφαλαία και µικρά γράµµατα. Τι σχέση έχουν µε την άσκηση? - Το πρόγραµµα φαίνεται να µπαίνει σε endless loop. - Έπρεπε να χρησιµοποιήσετε συναρτήσεις από τη string.h. Μην κολλάτε στη διάτρεξη strings κατά ένα χαρακτήρα τη φορά! - Το τέλος του string δεν είναι στο LINESIZE αλλά εκεί που βρίσκεται το \0. - Έπρεπε να ελέγχετε για NULL και µετά το realloc. - Το πρόγραµµα δεν κάνει compile. Μην περιµένετε µέχρι τελευταία στιγµή για να κάνετε compile! Το λάθος που δεν προλάβατε να διορθώσετε ήταν τα άγκιστρο από if που ελέγχουν το αποτέλεσµα του malloc. Page 7

8 Μετά από malloc να κάνετε πάντα έλεγχο για NULL. - Το wordadd είναι char *. Γιατί έχετε sizeof(struct infot) στο malloc του? - Δεδοµένου ότι το sentence δεν αλλάζει µέσα στο loop, η συνθήκη του while θα είναι πάντα αληθής και η επανάληψη δε θα τερµατίσει ποτέ. πάντως FAIL 1511 FAIL - Το αρχείο έπρεπε να λέγεται lab9.c - Η παράµετρος της strcspn δεν έπρεπε να είναι κάθε φορά η ίδια, γιατί τότε θα βρίσκει σε κάθε επανάληψη το ίδιο αποτέλεσµα. - Μην κολλάτε στη διάτρεξη των string ένα χαρακτήρα τη φορά! Χρησιµοποιείστε έξυπνα τα αποτελέσµατα των συναρτήσεων για strings για να βρείτε πότε να τερµατίσει η επανάληψη. - Στείλατε το backup αρχείο του Kate αντί για το lab9.c - Να χρησιµοποιείτε περιγραφικά ονόµατα µεταβλητών/συναρτήσεων/τύπων. Τι είναι τα t, p? - Δεν πρέπει να ελέγχετε για isalpha. Δεν υπάρχει καµία εγγύηση ότι η πρόταση δεν περιέχει κι άλλου είδους χαρακτήρες (ψηφία, τελείες, κόµµατα, κτλ) - Το τέλος ενός string είναι εκεί που βρίσκεται το \0 κι όχι το LINESIZE. - Έπρεπε να χρησιµοποιήσετε συναρτήσεις από τη string.h - Σωστή διαχείριση δεικτών κατά τα άλλα. - Να χρησιµοποιείτε περιγραφικά ονόµατα µεταβλητών. Τι σηµαίνει a? - Μετά από κάθε malloc να κάνετε έλεγχο για NULL - Μετά από χρήση strncpy να θέτε πάντα το '\0' - Το τελευταίο for στο πρόγραµµα είναι τραγικό... - Να χρησιµοποιείτε περιγραφικά ονόµατα µεταβλητών. Τι σηµαίνει a? - Μετά από κάθε malloc να κάνετε έλεγχο για NULL - Μετά από χρήση strncpy να θέτε πάντα το '\0' - Το τελευταίο for στο πρόγραµµα είναι τραγικό... - Να χρησιµοποιείτε περιγραφικά ονόµατα µεταβλητών. Τι σηµαίνει temp? - Μετά από χρήση strncpy να θέτετε πάντα το '\0'. - Μη σκέφτεστε ότι τα strings τα διατρέχουµε πάντα ένα-ένα χαρακτήρα. Στη συγκεκριµένη περίπτωση δε θέλουµε να το κάνουµε αυτό, οπότε η συνθήκη σας είναι λάθος. - Δεν αποδεσµεύετε τη δυναµικά δεσµευµένη µνήµη, - Το πρόγραµµα δεν κάνει compile - Το µέγεθος στο %s έπρεπε να είναι 99, κι όχι Να ελέγχετε για NULL µετά από κάθε malloc - Δεν κάνετε πολλά πράγµατα στο αλγοριθµικό κοµµάτι - Τι είναι τα c, s? Να δίνετε περιγραφικά ονόµατα στις µεταβλητές σας. - Το words->address είναι πάντα το πρώτο στοιχείο του πίνακα. Φαίνεται να µην έχετε καταλάβει καλά τη µορφή της δοµής. Page 8

9 1512 FAIL Πολύ καλή προσπάθεια 1515 FAIL - Στείλατε το lab Πολύ καλή προσπάθεια 1519 FAIL - Στείλατε το lab FAIL - Σωστό το struct αλλά φαίνεται να παπαγαλίσατε τις διαφάνειες. Αλλάζετε το όνοµα του struct µε typedef αλλά µετά δεν το χρησιµοποιείτε παντού. Τι όνοµα είναι το b??? Να δίνετε περιγραφικά ονόµατα! - Λάθος µέγεθος στο %s. Έπρεπε να είναι %99s, όχι %100s - Μετά από malloc να ελέγχετε πάντα για NULL - Λάθος λογική. Το i σας λέει πού είναι ο διαχωριστικός χαρακτήρας, όχι πού είναι η λέξη. Έπρεπε να το αυξάνετε κατά 1 µετά την strcspn. Επίσης, αφού το υπολογίζετε (έστω και µε λάθος) γιατί δε θέτετε και το πεδίο len? - Το j πηγαίνει µέχρι LINESIZE και το χρησιµοποιείτε για να διατρέξετε το words το οποίο όµως έχει µέγεθος LINESIZE/2! - Μην κολλάτε στη διάτρεξη των strings κατά ένα χαρακτήρα τη φορά! Επίσης, το τέλος του string είναι εκεί που βρίσκεται το \0 κι όχι στο LINESIZE. - Το πρόγραµµα δεν εκτυπώνει αποτελέσµατα και δε δείχνετε αν ξέρετε να προσπελάσετε τα πεδία που struct για εκτύπωση. - Καλά σκέφτηκες να ελέγχεις για NULL κατά την εκτύπωση, αλλά ελέγχεις τη λάθος ποσότητα. - Καλό είναι να εκτυπώνεις κι ένα µήνυµα λάθους όταν η malloc επιστρέφει NULL - Μετά από malloc να κάνετε πάντα έλεγχο για NULL. - Στο strstr έπρεπε να χρησιµοποιείτε το diaxwristiko αντί για "HIC" - Μετά από χρήση strncpy πρέπει να θέτετε πάντα το '\0' - Στο τελικό for δεν πρέπει να πηγαίνετε µέχρι LINESIZE - δεν έχει απαραίτητα τόσα γεµισµένα κελιά ο πίνακας. - Να κάνετε έλεγχο για NULL µετά από κάθε malloc. - Δεν αποδεσµεύσατε όλη τη δυναµικά δεσµευµένη µνήµη. - Να χρησιµοποιείτε περιγραφικά ονόµατα µεταβλητών. Τι σηµαίνει temp? - Μετά από χρήση strncpy να θέτετε πάντα το '\0'. - Μη σκέφτεστε ότι τα strings τα διατρέχουµε πάντα ένα-ένα χαρακτήρα. Στη συγκεκριµένη περίπτωση δε θέλουµε να το κάνουµε αυτό, οπότε η συνθήκη σας είναι λάθος. - Δεν αποδεσµεύετε τη δυναµικά δεσµευµένη µνήµη, - Η αρχικοποίηση του characters θα µπορούσε να είχε γίνει πιο απλά: char - Μετά από malloc να ελέγχετε πάντα για NULL - Στην κλήση της strpbrk έχετε βάλει ανάποδα τις παραµέτρους - Λάθος λογική. Μην κολλάτε στη διάτρεξη των string κατά ένα χαρακτήρα τη φορά! Επίσης, αν δεν υπάρχουν πια οι χαρακτήρες στο string, πρέπει να τερµατίζει το loop. Μην ξεχνάτε ότι το string ουσιαστικά τελειώνει εκεί που είναι το \0 κι ΟΧΙ στο LINESIZE. - Στο realloc, γιατί κάνατε typecast το words σε (void*)? Είναι λάθος. - Δε θέτετε την απόσταση - Δεν απελευθερώνετε τη δυναµικά δεσµευµένη µνήµη Page 9

10 Στο τέλος έπρεπε να εκτυπώνετε το χαρακτήρα στη διεύθυνση (words+i)->beg κι όχι το string. - Μετά από malloc να κάνετε πάντα έλεγχο για NULL. - Το wordadd είναι char *. Γιατί έχετε sizeof(struct infot) στο malloc του? - Δεδοµένου ότι το sentence δεν αλλάζει µέσα στο loop, η συνθήκη του while θα είναι πάντα αληθής και η επανάληψη δε θα τερµατίσει ποτέ. πάντως FAIL 1537 FAIL FAIL 1541 FAIL Άσχηµη στοίχιση - Μετά από χρήση strncpy πρέπει να θέτετε πάντα το '\0' - Πολύ καλή προσπάθεια - Τι είναι τα c, s? Να δίνετε περιγραφικά ονόµατα στις µεταβλητές σας. - Το words->address είναι πάντα το πρώτο στοιχείο του πίνακα. Φαίνεται να µην έχετε καταλάβει καλά τη µορφή της δοµής. - Καλή δουλειά όσον αφορά ζητήµατα µνήµης, αλλά δε χρησιµοποιείτε συναρτήσεις από τη string.h όπως απαιτούσε η εκφώνηση. - Ο αλγόριθµος έχει κάποια σωστά στοιχεία αλλά θέλει δουλειά ακόµη. -Μετά από malloc να κάνετε πάντα έλεγχο για NULL - Το µέγεθος στο %s έπρεπε να είναι 99 κι όχι Γιατί έχετε βάλει ολόκληρη πρόταση στο scanf? Άλλο ζητούσε η εκφώνηση. - Τι σκοπό εξυπηρετούν τα δύο for? - Δεν έχετε κάνει κάτι ιδιαίτερο πέρα των malloc/free - Δε θέτετε την απόσταση - Δεν απελευθερώνετε τη δυναµικά δεσµευµένη µνήµη - Μετά από malloc να κάνετε πάντα έλεγχο για NULL. - Στο strstr έπρεπε να χρησιµοποιείτε το diaxwristiko αντί για "HIC" - Μετά από χρήση strncpy πρέπει να θέτετε πάντα το '\0' - Στο τελικό for δεν πρέπει να πηγαίνετε µέχρι LINESIZE - δεν έχει απαραίτητα τόσα γεµισµένα κελιά ο πίνακας. - Για το sentence προσδιορίσατε µέγεθος 20, οπότε έπρεπε να το διαβάζετε µε %19s κι όχι µε %20s. - Να διαβάζετε ΟΛΟΚΛΗΡΗ την εκφώνηση. Το LINESIZE έπρεπε να είναι Να κάνετε έλεγχο για NULL µετά από κάθε malloc. - Στη συνθήκη του while συγκρίνετε το sentence που είναι δείκτης µε το '\0' που είναι χαρακτήρας! - Το printf είναι λάθος. Έπρεπε να διατρέχετε ολόκληρο πίνακα! Page 10

11 FAIL 1550 FAIL - Τι είναι το adr2 και γιατί δεσµεύετε µνήµη γι'αυτό? Για το words έπρεπε να είχατε δεσµεύσει µνήµη δυναµικά. - Η συνθήκη στο while είναι λάθος. Δεν υπάρχει εγγύηση ότι θα γεµίσουν όλες οι θέσεις του πίνακα words. Ακόµη χειρότερα, πάτε µέχρι και LINESIZE/2 το οποίο σηµαίνει ότι βγαίνετε εκτός ορίων του words. - Το πρόγραµµα δεν εκτυπώνει τίποτα όσον αφορά τον αλγόριθµο εύρεσης των θέσεων - Να αποδεσµεύετε πάντα τη δυναµικά δεσµευµένη µνήµη του προγράµµατος. - Δεν κατασκευάσατε φάκελο για να βάλετε µέσα το lab9.c. Να ακολουθείτε τις οδηγίες. - Λάθος στη σύνταξη της malloc. Τι σχέση έχει το (int *)? Μην παπαγαλίζετε τις διαφάνειες. - Να προσδιορίζετε πάντα µέγεθος στο %s - Δεν έχετε κάνει κάτι πέρα της δέσµευσης µνήµης. - Το όνοµα του αρχείου έπρεπε να είναι lab9.c - Έπρεπε και η απόσταση και οι διευθύνσεις να υπολογιστούν µε χρήση συναρτήσεων strings και όχι διατρέχοντας το string ένα-ένα χαρακτήρα Page 11

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

char name[5]; /* define a string of characters */

char name[5]; /* define a string of characters */ Συµβολοσειρές (Strings) Συµβολοσειρά (string) είναι µια σειρά αλφαριθµητικών χαρακτήρων (γενικά εκτυπώσιµων συµβόλων ASCII). Όταν λέµε σειρά εννοούµε διαδοχικές θέσεις µνήµης που µπορούν να αντιµετωπισθούν

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Προγραµµατισµός Ι Αλφαριθµητικά Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Προγραµµατισµός Ι 1 Νικόλαος Δ.

Προγραµµατισµός Ι Αλφαριθµητικά Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Προγραµµατισµός Ι 1 Νικόλαος Δ. Αλφαριθµητικά Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι 1 Αλφαριθµητικά - Εισαγωγή Ένα αλφαριθµητικό (string) είναι µία

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

οριακό PASS 402 PASS Πολύ σωστά, µπράβο οριακό PASS

οριακό PASS 402 PASS Πολύ σωστά, µπράβο οριακό PASS ΑΕΜ ΒΑΘΜΟΣ 357 402 Πολύ σωστά, µπράβο ΣΧΟΛΙΑ Λάθος στον υπολογισµό του πλήθους αστερίσκων. Δε µετράτε αυτούς της "κάτω" σειράς, οπότε το αποτέλεσµα δεν είναι σωστό. Η πράξη που κάνετε στη main είναι λάθος

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

ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ, ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ

ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ, ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ, ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2016-2017 ΕΡΓΑΣΙΑ ΕΞΑΜΗΝΟΥ Ποιος πρέπει να ολοκληρώσει αυτή την εργασία? Φοιτητές έτους >= 2 που

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

lab10grades Άσκηση 2η: - Δεν κάνει compile: Δείτε την λύση και ξανα προσπαθήστε τα υπόλοιπα στο σπίτι.

lab10grades Άσκηση 2η: - Δεν κάνει compile: Δείτε την λύση και ξανα προσπαθήστε τα υπόλοιπα στο σπίτι. ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ 449???? Άσκηση 1η: - Καλή δουλειά! Μπράβο - Σωστή στοίχιση - Σωστά σχόλια - Σωστός ορισµός των πεδίων struct - Σωστή υλοποίηση της init_books - Σωστή υλοποίηση της add_book_info: Εναλλακτικά,

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

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

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

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

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

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ 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;

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

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

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εργαστήριο 9η εβδομάδα. Κοζάνη, 2 Δεκεμβρίου 2008. Δίνονται παραδείγματα που αποσαφηνίζουν και συμπληρώνουν όσα αναφέρθηκαν στο μάθημα σχετικά με τις δομές

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

lab3grades οριακό PASS

lab3grades οριακό PASS ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ - Αποστολή email: διαδικαστικά οκ, αλλά στείλατε την άσκηση µε δέκα λεπτά καθυστέρηση. Στο µέλλον τόσο µεγάλη καθυστέρηση θα είναι λόγος για fail γιατί η άσκηση θα θεωρείται εκπρόθεσµη.

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

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

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

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

ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ. for (παράσταση_1; παράσταση_2; παράσταση_3) εντολή επόμενη εντολή

ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ. for (παράσταση_1; παράσταση_2; παράσταση_3) εντολή επόμενη εντολή ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ for (παράσταση_1; παράσταση_2; παράσταση_3) εντολή επόμενη εντολή παράσταση_1 = Παράσταση Αρχικοποίησης παράσταση_2 = Παράσταση Ελέγχου Επανάληψης παράσταση_3 = Παράσταση Ενημέρωσης

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

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

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

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

Τεχνολογία και Προγραμματισμός Υπολογιστών. Η γλώσσα προγραμματισμού C

Τεχνολογία και Προγραμματισμός Υπολογιστών. Η γλώσσα προγραμματισμού C Τεχνολογία και Προγραμματισμός Υπολογιστών Η γλώσσα προγραμματισμού C Με μια ματιά Τύπος Πίνακα Μεταβλητές με ενδείκτη Αλφαριθμητικά - Πίνακες Δισδιάστατος Πολυδιάστατος Πίνακας 2 2 Τύπος Πίνακα Σύνθετος

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

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Τρίτη Διάλεξη Εντολές Επιλογής και Επανάληψης Εντολές επιλογής Εντολή if Η πιο απλή μορφή της if συντάσσεται ως εξής: if ( συνθήκη ) Οι εντολές μέσα στα άγκιστρα αποτελούν

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

Προγραμματισμός Ι. Είσοδος/Έξοδος. Δημήτρης Μιχαήλ. Ακ. Έτος 2009-2010. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Είσοδος/Έξοδος. Δημήτρης Μιχαήλ. Ακ. Έτος 2009-2010. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Είσοδος/Έξοδος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2009-2010 Είσοδος/Έξοδος Μέχρι τώρα όποτε θέλαμε να διαβάσουμε χρησιμοποιούσαμε πάντα

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΝΑΠΤΥΞΗ ΚΑΙ ΣΧΕ ΙΑΣΗ ΛΟΓΙΣΜΙΚΟΥ Η γλώσσα προγραµµατισµού C ΕΡΓΑΣΤΗΡΙΟ 1: Εισαγωγή στην C Βασικά στοιχεία 24 Απριλίου 2015 Το σηµερινό

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

υναµικές οµές εδοµένων

υναµικές οµές εδοµένων υναµικές οµές εδοµένων Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: υναµικές οµές εδοµένων Γενικά υναµική έσµευση Μνήµης οµή τύπου structure αυτοαναφορικές δοµές Η δήλωση typedef στη C Αναπαράσταση

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

Διάλεξη 8η: Αλφαριθμητικά (strings)

Διάλεξη 8η: Αλφαριθμητικά (strings) Διάλεξη 8η: Αλφαριθμητικά (strings) Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) strings CS100, 2016-2017

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

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

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

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

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

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

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

Χpήσιµες Βιβλιοθήκες της γλώσσας C

Χpήσιµες Βιβλιοθήκες της γλώσσας C Χpήσιµες Βιβλιοθήκες της γλώσσας C Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Συναρτήσεις Επεξεργασίας Συµβολοσειρών (strings) που Παρέχονται από τη Βιβλιοθήκη Συναρτήσεις Ελέγχου

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

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

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

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

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

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

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

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

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

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

ΣΕΛΙ Α 1 ΚΕΦΑΛΑΙΟ 1 - ΑΡΧΙΚΑ

ΣΕΛΙ Α 1 ΚΕΦΑΛΑΙΟ 1 - ΑΡΧΙΚΑ ΣΕΛΙ Α 1 ΚΕΦΑΛΑΙΟ 1 - ΑΡΧΙΚΑ Πως αλλάζω γλώσσα; 1 ος τρόπος Συνδυασµός πλήκτρων αριστερό Ctrl + Shift 2 ος τρόπος Από την ένδειξη γλώσσας στην γραµµή εργασιών Πως βάζω τον τόνο ; (Εφόσον βρίσκοµαι στα

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

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

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

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

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5.1 Εισαγωγή στους αλγορίθμους 5.1.1 Εισαγωγή και ορισμοί Αλγόριθμος (algorithm) είναι ένα πεπερασμένο σύνολο εντολών οι οποίες εκτελούν κάποιο ιδιαίτερο έργο. Κάθε αλγόριθμος

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

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δρ. Κόννης Γιώργος Πανεπιστήμιο Κύπρου - Τμήμα Πληροφορικής Προγραμματισμός Στόχοι 1 Να περιγράψουμε τις έννοιες του Υπολογιστικού Προβλήματος και του Προγράμματος/Αλγορίθμου

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

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια: Εργαστήριο 6: 6.1 Δομές Επανάληψης Βρόγχοι (Loops) Όταν θέλουμε να επαναληφθεί μια ομάδα εντολών τη βάζουμε μέσα σε ένα βρόχο επανάληψης. Το αν θα (ξανα)επαναληφθεί η εκτέλεση της ομάδας εντολών καθορίζεται

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

Προγραμματισμός συστημάτων UNIX/POSIX. Θέμα επιλεγμένο από τους φοιτητές: Προγραμματιστικές τεχνικές που στοχεύουν σε επιδόσεις

Προγραμματισμός συστημάτων UNIX/POSIX. Θέμα επιλεγμένο από τους φοιτητές: Προγραμματιστικές τεχνικές που στοχεύουν σε επιδόσεις Προγραμματισμός συστημάτων UNIX/POSIX Θέμα επιλεγμένο από τους φοιτητές: Προγραμματιστικές τεχνικές που στοχεύουν σε επιδόσεις Βελτιστοποιήσεις με στόχο τις επιδόσεις Σε αρκετές περιπτώσεις δεν αρκεί να

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

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

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

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

ΣΕΤ ΑΣΚΗΣΕΩΝ 1. Προθεσμία: Τετάρτη 9/11/2016, 21:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 1. Προθεσμία: Τετάρτη 9/11/2016, 21:00 ΣΕΤ ΑΣΚΗΣΕΩΝ 1 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2016-2017 Προθεσμία: Τετάρτη 9/11/2016, 21:00 Διαβάστε πριν ξεκινήσετε Διαβάστε ΟΛΗ την εκφώνηση προσεκτικά και σχεδιάστε το πρόγραμμά σας στο

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

ΣΥΝΟΠΤΙΚΟΣ ΟΔΗΓΟΣ ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C

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

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

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

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 5ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 Η ΕΝΤΟΛΗ for Με την εντολή for δημιουργούμε βρόχους επανάληψης σε

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ 4 ο ΣΕΤ ΑΣΚΗΣΕΩΝ Οι ασκήσεις αυτού του φυλλαδίου καλύπτουν τα παρακάτω θέματα: Δείκτες Δομές Το τέταρτο σύνολο

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

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

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

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

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

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

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

ΘΕΜΑΤΑ ΕΞΕΤΑΣΗΣ ΚΑΙ ΑΠΑΝΤΗΣΕΙΣ ΤΟΥΣ

ΘΕΜΑΤΑ ΕΞΕΤΑΣΗΣ ΚΑΙ ΑΠΑΝΤΗΣΕΙΣ ΤΟΥΣ ΘΕΜΑΤΑ ΕΞΕΤΑΣΗΣ ΚΑΙ ΑΠΑΝΤΗΣΕΙΣ ΤΟΥΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΞΕΤΑΣΤΙΚΗ ΠΕΡΙΟ ΟΣ: ΙΟΥΝΙΟΥ 5 Ι ΑΣΚΩΝ: Ε. ΚΟΦΙ ΗΣ Όλα τα ερωτήµατα είναι ισοδύναµα. Καλή επιτυχία! ΘΕΜΑ ο a) Βρείτε την αναπαράσταση

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

Έστω ένας πίνακας με όνομα Α δέκα θέσεων : 1 η 2 η 3 η 4 η 5 η 6 η 7 η 8 η 9 η 10 η

Έστω ένας πίνακας με όνομα Α δέκα θέσεων : 1 η 2 η 3 η 4 η 5 η 6 η 7 η 8 η 9 η 10 η Μονοδιάστατοι Πίνακες Τι είναι ο πίνακας γενικά : Πίνακας είναι μια Στατική Δομή Δεδομένων. Δηλαδή συνεχόμενες θέσεις μνήμης, όπου το πλήθος των θέσεων είναι συγκεκριμένο. Στις θέσεις αυτές καταχωρούμε

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

Ινστιτούτο Επαγγελµατική Κατάρτιση Κορυδαλλού "ΤΕΧΝΙΚΟΣ ΣΥΣΤΗΜΑΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ" (Ερωτήσεις Πιστοποίησης στην γλώσσα προγραµµατισµού C)

Ινστιτούτο Επαγγελµατική Κατάρτιση Κορυδαλλού ΤΕΧΝΙΚΟΣ ΣΥΣΤΗΜΑΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ (Ερωτήσεις Πιστοποίησης στην γλώσσα προγραµµατισµού C) Ινστιτούτο Επαγγελµατική Κατάρτιση Κορυδαλλού "ΤΕΧΝΙΚΟΣ ΣΥΣΤΗΜΑΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ" (Ερωτήσεις Πιστοποίησης στην γλώσσα προγραµµατισµού C) ΚΑΤΑΛΟΓΟΣ ΕΡΩΤΗΣΕΩΝ ΕΡΩΤΗΣΕΙΣ ΕΙ ΙΚΩΝ ΓΝΩΣΕΩΝ (γλώσσα προγραµµατισµού

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

Διάλεξη 5: Δείκτες και Συναρτήσεις

Διάλεξη 5: Δείκτες και Συναρτήσεις Τμήμα Πληροφορικής Πανεπιστήμιο Κύπρου ΕΠΛ132 Αρχές Προγραμματισμού II Διάλεξη 5: Δείκτες και Συναρτήσεις (Κεφάλαιο 11, KNK-2ED) Δημήτρης Ζεϊναλιπούρ http://www.cs.ucy.ac.cy/courses/epl132 5-1 Περιεχόμενο

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

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 3 η : Επίλυση Προβληµάτων Χειµερινό Εξάµηνο 2011

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 3 η : Επίλυση Προβληµάτων Χειµερινό Εξάµηνο 2011 Εισαγωγή στον Προγραµµατισµό Διάλεξη 3 η : Επίλυση Προβληµάτων Χειµερινό Εξάµηνο 2011 Τελεστής σύντοµης ανάθεσης Τελεστής σύντοµης ανάθεσης (shorthand assignment operator) µεταβλητή = µεταβλητή τελεστής

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

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

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

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

Εισαγωγή στον προγραμματισμό. Τμήμα Πληροφορικής & Επικοινωνιών ΤΕΙ Σερρών Εργαστήριο 2

Εισαγωγή στον προγραμματισμό. Τμήμα Πληροφορικής & Επικοινωνιών ΤΕΙ Σερρών Εργαστήριο 2 Εισαγωγή στον προγραμματισμό Τμήμα Πληροφορικής & Επικοινωνιών ΤΕΙ Σερρών Εργαστήριο 2 Δομή Προγράμματος Όλα τα προγράμματα που γράψαμε έχουν λίγο πολύ την ακόλουθη μορφή: Κάποιος κώδικας εδώ main( ) {

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

Εκφώνηση άσκησης. Η Κρεμάλα σαν παιχνίδι. Ανάλυση. Μέρος Α Αναφoρά, ανάλυση τακτικής. Υλοποίηση του παιχνιδιού «Κρεμάλα»

Εκφώνηση άσκησης. Η Κρεμάλα σαν παιχνίδι. Ανάλυση. Μέρος Α Αναφoρά, ανάλυση τακτικής. Υλοποίηση του παιχνιδιού «Κρεμάλα» ΚΡΕΜΑΛΑ Project 7 1 Εκφώνηση άσκησης Υλοποίηση του παιχνιδιού «Κρεμάλα» Το Project αυτό συνίσταται στην κατασκευή ενός προγράμματος σεναρίου κελύφους, που θα υλοποιεί το γνωστό παιχνίδι «Κρεμάλα» με δυνατότητα

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

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

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

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

Εργαστηριακή Άσκηση 1

Εργαστηριακή Άσκηση 1 Εργαστηριακή Άσκηση 1 Επανάληψη προγραμματισμού Βασικοί Αλγόριθμοι Είσοδος τιμών από το πληκτρολόγιο Σε όλα τα προγράμματα που θα γράψουμε στην συνέχεια του εξαμήνου θα χρειαστεί να εισάγουμε τιμές σε

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

Δομή Προγράμματος C++, Χειρισμός Μεταβλητών και Συναρτήσεις Εισόδου - Εξόδου

Δομή Προγράμματος C++, Χειρισμός Μεταβλητών και Συναρτήσεις Εισόδου - Εξόδου Εργαστήριο 2: Δομή Προγράμματος C++, Χειρισμός Μεταβλητών και Συναρτήσεις Εισόδου - Εξόδου Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η ανάλυση των βασικών χαρακτηριστικών της Γλώσσας Προγραμματισμού

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

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

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Μαθήματα από τα εργαστήρια

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Μαθήματα από τα εργαστήρια ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Μαθήματα από τα εργαστήρια ΕΡΓΑΣΤΗΡΙΟ 1 Μαθήματα από το πρώτο εργαστήριο Δημιουργία αντικειμένου Scanner Scanner input = new Scanner(System.in); Το αντικείμενο

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

Οικονοµικό Πανεπιστήµιο Αθηνών. Τµήµα Πληροφορικής. Φθινοπωρινό Εξάµηνο 2015. Δοµές Δεδοµένων - Εργασία 2. Διδάσκων: E. Μαρκάκης

Οικονοµικό Πανεπιστήµιο Αθηνών. Τµήµα Πληροφορικής. Φθινοπωρινό Εξάµηνο 2015. Δοµές Δεδοµένων - Εργασία 2. Διδάσκων: E. Μαρκάκης Οικονοµικό Πανεπιστήµιο Αθηνών Τµήµα Πληροφορικής Φθινοπωρινό Εξάµηνο 2015 Δοµές Δεδοµένων - Εργασία 2 Διδάσκων: E. Μαρκάκης Ταξινόµηση και Ουρές Προτεραιότητας Σκοπός της 2 ης εργασίας είναι η εξοικείωση

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

Συµβολοσειρές - Strings

Συµβολοσειρές - Strings Συµβολοσειρές - Strings 1 Συµβολοσειρέςστην C/C++ 2 Χαρακτήρες 'a', 'z', '0', Χαρακτήρες σαν int 'z' επίσης αναπαριστά την ακεραία τιµή του χαρακτήρα z Strings-Συµβολοσειρές Σειρές από χαρακτήρες σαν µια

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

Διάλεξη 9: Δυναμική Δέσμευση Μνήμης

Διάλεξη 9: Δυναμική Δέσμευση Μνήμης Τμήμα Πληροφορικής Πανεπιστήμιο Κύπρου ΕΠΛ132 Αρχές Προγραμματισμού II Διάλεξη 9: Δυναμική Δέσμευση Μνήμης (Κεφάλαιο 17.1-17.4, KNK-2ED) Δημήτρης Ζεϊναλιπούρ http://www.cs.ucy.ac.cy/courses/epl132 9-1

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

ΕΡΓΑΣΤΗΡΙΟ 4: Μεταβλητές, Δομές Ελέγχου και Επανάληψης

ΕΡΓΑΣΤΗΡΙΟ 4: Μεταβλητές, Δομές Ελέγχου και Επανάληψης ΕΡΓΑΣΤΗΡΙΟ 4: Μεταβλητές, Δομές Ελέγχου και Επανάληψης Στο εργαστήριο αυτό, θα εξοικειωθούμε με τους τύπους δεδομένων που μας παρέχει η γλώσσα C, θα χρησιμοποιήσουμε τις δομές επανάληψης (for, while, do...while),

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

Πληροφορική & Τηλεπικοινωνίες. K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Χειμερινό Εξάμηνο

Πληροφορική & Τηλεπικοινωνίες. K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Χειμερινό Εξάμηνο Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Χειμερινό Εξάμηνο 2015 2016 Ι. Ιωαννίδης Άσκηση 3: Αποθήκευση κατά στήλες Προθεσμία: 25 Ιανουαρίου 2016, 11:59μμ Ο σκοπός της εργασίας

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

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

Προγραμματισμός Ι. Εγγραφές. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Εγγραφές Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Η Ανάγκη Ομαδοποίησης Πολλές φορές έχουμε πληροφορίες διαφορετικού τύπου οι οποίες όμως έχουν μεγάλη

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

Περιεχόμενα. Πρόλογος... 17

Περιεχόμενα. Πρόλογος... 17 Περιεχόμενα Πρόλογος... 17 Κεφάλαιο 1: Εισαγωγή... 19 Πώς να διαβάσετε αυτό το βιβλίο... 20 Η γλώσσα C Ιστορική αναδρομή... 22 Τα χαρακτηριστικά της C... 23 C Μια δομημένη γλώσσα... 23 C Μια γλώσσα για

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

#define, 70, 575 #elif, 580 #else, 580 #endif, 580 #error, 584 #if, 580 #ifdef, 583 #ifndef, 580, 583 #include, 70, 227, 574 #undef, 579

#define, 70, 575 #elif, 580 #else, 580 #endif, 580 #error, 584 #if, 580 #ifdef, 583 #ifndef, 580, 583 #include, 70, 227, 574 #undef, 579 Ευρετήριο Η γλώσσα C σε βάθος # #define, 70, 575 #elif, 580 #else, 580 #endif, 580 #error, 584 #if, 580 #ifdef, 583 #ifndef, 580, 583 #include, 70, 227, 574 #undef, 579 A abs(), 625 AND, 64 ASCII πίνακας

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

ΗΥ101: Εισαγωγή στην Πληροφορική

ΗΥ101: Εισαγωγή στην Πληροφορική Δρ. Χρήστος Ηλιούδης Τι είναι η ; Η διαδικασία του προγραμματισμού είναι μία πολύπλοκη διαδικασία που συχνά οδηγεί σε λάθη (πραγματοποιείται από ανθρώπους!!!). Τα προγραμματιστικά λάθη λέγονται bugs και

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

Συναρτήσεις πρότυπης βιβλιοθήκης 1. Μερικές συνήθεις συναρτήσεις βιβλιοθήκης int atoi(const char *p) int fclose(file *fp)

Συναρτήσεις πρότυπης βιβλιοθήκης 1. Μερικές συνήθεις συναρτήσεις βιβλιοθήκης int atoi(const char *p) int fclose(file *fp) Συναρτήσεις πρότυπης βιβλιοθήκης Στο πρώτο μέρος δίνονται, με αλφαβητική σειρά, μερικές από τις πιο συνηθισμένες συναρτήσεις βιβλιοθήκης που συνοδεύουν τους σύγχρονους μεταγλωττιστές της C. Κάτω από το

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

Προγραμματισμός Η/Υ. Ενότητα 9: Ειδικά θέματα Δομών Δεδομένων

Προγραμματισμός Η/Υ. Ενότητα 9: Ειδικά θέματα Δομών Δεδομένων Προγραμματισμός Η/Υ Ενότητα 9: Νίκος Καρακαπιλίδης, Καθηγητής Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Σκοποί ενότητας Κατανόηση της έννοιας της Δομής

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου) ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου) 1. Εισαγωγή Χαρακτηριστικά της γλώσσας Τύποι δεδοµένων Γλώσσα προγραµµατισµού

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

Ασκήσεις - Μελέτες περίπτωσης για το μάθημα Προγραμματισμός II

Ασκήσεις - Μελέτες περίπτωσης για το μάθημα Προγραμματισμός II Ασκήσεις - Μελέτες περίπτωσης για το μάθημα Προγραμματισμός II (1) Να καταστρωθεί πρόγραμμα, το οποίο θα διαβάζει δύο αλφαριθμητικά από το πληκτρολόγιο και θα τα μεταβιβάζει στη συνάρτηση str_index(char

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

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python Εισαγωγή στην Επιστήμη Υπολογιστών Εισαγωγή στην Python Β Μέρος Δομή Ελέγχου if-elif-else Επαναληπτική Δομή Ελέγχου while Επαναληπτική Δομή Ελέγχου for Αλληλεπίδραση χρήστη-προγράμματος Συναρτήσεις Η δομή

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

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μάθημα 7ο Τμήμα Διοίκησης Επιχειρήσεων Παλαιό ΕΠΔΟ α εξάμηνο Β. Φερεντίνος Δείκτες (Pointers) (1) 142 Κάθε μεταβλητή, εκτός από την τιμή της, έχει και μία συγκεκριμένη διεύθυνση

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

242 -ΕισαγωγήστουςΗ/Υ

242 -ΕισαγωγήστουςΗ/Υ 1 242 -ΕισαγωγήστουςΗ/Υ ΤµήµαΜαθηµατικών, Πανεπιστήµιο Ιωαννίνων Άρτια Α.Μ. (0-2-4-6-8) 2 ήλωση: Πίνακες στην ΕΑΓ δηλωση ( [1 : 1, 1 : 2,..., 1: ν ] ) παραταξη ; Π.χ.: δηλωση

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

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

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

επιµέλεια Θοδωρής Πιερράτος

επιµέλεια Θοδωρής Πιερράτος Βασικές έννοιες προγραµµατισµού Η ύλη που αναπτύσσεται σε αυτό το κεφάλαιο είναι συναφής µε την ύλη που αναπτύσσεται στο 2 ο κεφάλαιο. Όπου υπάρχουν διαφορές αναφέρονται ρητά. Προσέξτε ιδιαίτερα, πάντως,

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

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

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

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

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ενότητα 3: Πίνακες, Δομές και Δυναμική Διαχείριση Μνήμης Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons

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