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

Μέγεθος: 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

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

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 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 Ανάγκη για Δυναμική Μνήμη Στατική Μνήμη Μέχρι τώρα χρησιμοποιούσαμε

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή εκτελέσιμου κώδικα σε διεργασίες

Εισαγωγή εκτελέσιμου κώδικα σε διεργασίες 0x375 - Thessaloniki Tech Talks Sessions Event 0x2 19 Μαρτίου 2010 Περιεχόμενα 1 Εισαγωγή 2 Η κλήση συστήματος ptrace 3 Νήματα 4 Το πρόγραμμα εισαγωγής κώδικα prez 5 Επίλογος Γιατί; Πολλές φορές θέλουμε

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

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

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

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

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

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

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

Εισαγωγή στις Συναρτήσεις

Εισαγωγή στις Συναρτήσεις Εισαγωγή στις Συναρτήσεις Η φιλοσοφία σχεδίασης της C βασίζεται στη χρήση των συναρτήσεων. Έχουμε ήδη δει και χρησιμοποιήσει πολλές συναρτήσεις που έχει το σύστημα, όπως είναι οι printf(), scanf(),αλλά

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Εισαγωγή Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Βιβλιογραφία "C Προγραμματισμός", Deitel & Deitel, Πέμπτη Έκδοση, Εκδόσεις

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

Διάλεξη 20: Χαμηλού Επιπέδου Προγραμματισμός II

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

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

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

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

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

Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο 2009 2010

Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο 2009 2010 Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο 2009 2010 Καθηγητής. Γουνόπουλος Άσκηση 1 Σκοπός της εργασίας αυτής είναι η κατανόηση της εσωτερικής λειτουργίας

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

Υπολογιστής - Λογισμικό

Υπολογιστής - Λογισμικό 1 2 Υπολογιστής - Λογισμικό Ο υπολογιστής είναι μία μηχανή η οποία επεξεργάζεται δεδομένα με ένα σύνολο εντολών που λέγονται προγράμματα. Ο υπολογιστής αποτελείται από διάφορα τμήματα (πληκτρολόγιο, μνήμη,

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

Πώς γίνεται το debug? Το debug γίνεται με δύο τρόπους, ως επί το πλείστον. Τουλάχιστον, εγώ δύο έμαθα, και αυτούς αναφέρω.

Πώς γίνεται το debug? Το debug γίνεται με δύο τρόπους, ως επί το πλείστον. Τουλάχιστον, εγώ δύο έμαθα, και αυτούς αναφέρω. Τι είναι το debug μαμα? Με απλά λόγια, debug (αποσφαλμάτωση αλλά που να κάθεσαι να το πεις), είναι η διαδικασία εντοπισμού και διόρθωσης σφαλμάτων που υπάρχουν σε κώδικα (ασχέτως γλώσσας προγραμματισμού).

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

Διάλεξη 5η: Εντολές Επανάληψης

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

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

Εργαστήριο Λειτουργικών Συστημάτων 8o εξάμηνο, Ροή Υ, ΗΜΜΥ

Εργαστήριο Λειτουργικών Συστημάτων 8o εξάμηνο, Ροή Υ, ΗΜΜΥ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εργαστήριο Λειτουργικών Συστημάτων 8o εξάμηνο, Ροή Υ, ΗΜΜΥ Σχεδιασμός και υλοποίηση υποδομής σημείωσης διεργασιών στον

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

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

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Αλφαριθμητικά και Αρχεία Αλφαριθμητικά (strings) Αρχεία (files) τα βασικά στοιχεία Αλφαριθμητικά της C Συμβολοσειρές (= ακολουθίες

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

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 2 ο Τύποι Δεδοµένων Δήλωση Μεταβλητών Έξοδος Δεδοµένων Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Μνήµη και Μεταβλητές Σχέση Μνήµης Υπολογιστή και Μεταβλητών Η µνήµη (RAM) ενός

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

Διάλεξη 2η: Αλγόριθμοι και Προγράμματα

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

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

Μεταφερσιμότητα Τα προγράμματα μεταφέρονται εύκολα σε διαφορετικά λειτουργικά συστήματα

Μεταφερσιμότητα Τα προγράμματα μεταφέρονται εύκολα σε διαφορετικά λειτουργικά συστήματα Η ΓΛΩΣΣΑ C Η C είναι μια γλώσσα προγραμματισμού υψηλού επιπέδου η οποία αναπτύχθηκε στις αρχές της δεκαετίας του 70 από τον Dennis Ritchie στα Bell Labs. Η σημερινή μορφή της γλώσσας ακολουθεί το πρότυπο

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

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07 Ακαδ έτος 2007-2008 ΠΛΗΡΟΦΟΡΙΚΗ Ι Φερεντίνος 22/11/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με ΑΜ σε 3, 7, 8 & 9 22/11/07 Παράδειγμα με if/else if και user input: import javautil*; public class Grades public

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

Κεφάλαιο VΙ: Προσπέλαση Αρχείων. 5.1 Αρχεία δεδομένων.

Κεφάλαιο VΙ: Προσπέλαση Αρχείων. 5.1 Αρχεία δεδομένων. Κεφάλαιο VΙ: Προσπέλαση Αρχείων. 5.1 Αρχεία δεδομένων. Έως τώρα σε ένα πρόγραμμα έχουμε μάθει να εισάγουμε δεδομένα από το πληκτρολόγιο χρησιμοποιώντας την συνάρτηση scanf() και να εκτυπώνουμε δεδομένα

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

2.2.3 Η εντολή Εκτύπωσε

2.2.3 Η εντολή Εκτύπωσε 2.2.3 Η εντολή Εκτύπωσε Η εντολή Εκτύπωσε χρησιµοποιείται προκειµένου να εµφανίσουµε κάτι στην οθόνη του υπολογιστή. Για τον λόγο αυτό ονοµάζεται και εντολή εξόδου. Ισοδύναµα µπορεί να χρησιµοποιηθεί και

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

ΑΣΚΗΣΗ 1. Structural Programming

ΑΣΚΗΣΗ 1. Structural Programming ΑΣΚΗΣΗ 1 Structural Programming Στην άσκηση αυτή θα υλοποιήσετε σε C ένα απλό πρόγραµµα Βάσης εδοµένων το οποίο θα µπορούσε να χρησιµοποιηθεί από την γραµµατεία ενός πανεπιστηµίου για την αποθήκευση και

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

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Nα κατασκευάσουν πίνακες από δεδομένα. Να κατασκευάσουν συναρτήσεις με πίνακες. Να κάνουν χρήση

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

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

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 2: Τύποι δεδομένων και εμφάνιση στοιχείων...33

ΚΕΦΑΛΑΙΟ 2: Τύποι δεδομένων και εμφάνιση στοιχείων...33 ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος του συγγραφέα... 13 Πρόλογος του καθηγητή Τιμολέοντα Σελλή... 15 ΚΕΦΑΛΑΙΟ 1: Εργαλεία γλωσσών προγραμματισμού...17 1.1 Γλώσσες προγραμματισμού τρίτης γεννεάς... 18 τι είναι η γλώσσα

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

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 07 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και

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

ΠΛΗ111. Ανοιξη 2005. Μάθηµα 7 ο. έντρο. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης

ΠΛΗ111. Ανοιξη 2005. Μάθηµα 7 ο. έντρο. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης ΠΛΗ111 οµηµένος Προγραµµατισµός Ανοιξη 2005 Μάθηµα 7 ο έντρο Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης έντρο Ορισµός Υλοποίηση µε Πίνακα Υλοποίηση µε είκτες υαδικό έντρο

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

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 06 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και

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

1. ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C++

1. ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C++ Email: liliadis@fmenr.duth.gr 1. ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C++ Τα προγράµµατα αποτελούνται από εντολές οι οποίες γράφονται σε έναν απλό επεξεργαστή που προσφέρει και το Περιβάλλον της Visual C++. Οι εντολές

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

ΔΙΑΓΩΝΙΣΜΑ Α. ΣΤΗΛΗ Α 1. Γλώσσα µηχανής 2. Συµβολική γλώσσα 3. Γλώσσες υψηλού επιπέδου 4. Γλώσσες 4 ης γενιάς

ΔΙΑΓΩΝΙΣΜΑ Α. ΣΤΗΛΗ Α 1. Γλώσσα µηχανής 2. Συµβολική γλώσσα 3. Γλώσσες υψηλού επιπέδου 4. Γλώσσες 4 ης γενιάς ΔΙΓΩΝΙΣΜ Θέµα ο A. Να γράψετε τον αριθµό καθεµιάς από τις παρακάτω προτάσεις και δίπλα το γράµµα Σ αν είναι σωστή ή το γράµµα Λ αν είναι λανθασµένη.. Τα ονόµατα και οι κωδικοί προϊόντων µπορούν να αποθηκευτούν

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

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 3-2

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 3-2 Εισαγωγή στην C Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Σύνταξη και Σηµασιολογία της C Σχολιασµός Μεταβλητές / Σταθερές Τύποι εδοµένων και Τελεστές Βιβλίο µαθήµατος: Chapter 2,, Sec.

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

Διάλεξη 13: Δομές Δεδομένων ΙΙ (Ταξινομημένες Λίστες)

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

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

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client ΕΣΔ 516 Τεχνολογίες Διαδικτύου Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client Περιεχόμενα Περιεχόμενα Javascript και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις

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

Κεφάλαιο 8.6. Πίνακες ΙI ( ιάλεξη 16) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 8.6. Πίνακες ΙI ( ιάλεξη 16) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 8.6 Πίνακες ΙI ( ιάλεξη 16) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 16-1 Πίνακες - Επανάληψη Στην προηγούµενη διάλεξη κάναµε µια εισαγωγή στην δοµή δεδοµένων Πίνακας Σε ένα πίνακα ένα σύνολο αντικειµένων

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΗΡΕΣΙΩΝ) 2004

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΗΡΕΣΙΩΝ) 2004 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΗΡΕΣΙΩΝ) 2004 ΘΕΜΑ 1ο ΕΚΦΩΝΗΣΕΙΣ Α. Να γράψετε στο τετράδιό σας τον αριθµό καθεµιάς από τις

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

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων 2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ 29 ΜΑΪΟΥ 2013 ΕΚΦΩΝΗΣΕΙΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ 29 ΜΑΪΟΥ 2013 ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ Α ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ 29 ΜΑΪΟΥ 2013 ΕΚΦΩΝΗΣΕΙΣ Α1. Να γράψετε στο τετράδιό σας τον αριθµό καθεµιάς από τις παρακάτω προτάσεις 1-6 και

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

ΚΕΦΑΛΑΙΟ 2 Παράδειγμα 3 Παράδειγμα 5 Παράδειγμα 6 ΔΤ3 ΔΤ4 151

ΚΕΦΑΛΑΙΟ 2 Παράδειγμα 3 Παράδειγμα 5 Παράδειγμα 6  ΔΤ3 ΔΤ4  151 ΚΕΦΑΛΑΙΟ 2 Παράδειγμα 3 Σε ένα μετεωρολογικό κέντρο χρειάζεται να βρεθεί η μέγιστη και η ελάχιστη θερμοκρασία από τις μέσες ημερήσιες θερμοκρασίες ενός μήνα. Να γραφεί ένας αλγόριθμος που θα διαβάζει τη

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

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

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

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

Κεφάλαιο 5ο: Εντολές Επανάληψης

Κεφάλαιο 5ο: Εντολές Επανάληψης Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου Κεφάλαιο 5ο: Εντολές Επανάληψης Η διαδικασία της επανάληψης είναι ιδιαίτερη συχνή, αφού πλήθος προβληµάτων µπορούν να επιλυθούν µε κατάλληλες

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

ΠΡΟΓΡΜΜΑΤΑ ΣΕ C. Γράψτε σε γλώσσα προγραμματισμού C τη συνάρτηση:

ΠΡΟΓΡΜΜΑΤΑ ΣΕ C. Γράψτε σε γλώσσα προγραμματισμού C τη συνάρτηση: ΠΡΟΓΡΜΜΑΤΑ ΣΕ C Γράψτε σε γλώσσα προγραμματισμού C τη συνάρτηση: int b_to_d(int dyad[16]) που δέχεται ως είσοδο έναν θετικό ακέραιο δυαδικό αριθμό με τη μορφή πίνακα δυαδικών ψηφίων και επιστρέφει τον

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

ΣΤΟΙΧΕΙΑ ΤΗΣ ΓΛΩΣΣΑΣ C++ Constructors, Destructors, Pointers IO Streams, File Streams

ΣΤΟΙΧΕΙΑ ΤΗΣ ΓΛΩΣΣΑΣ C++ Constructors, Destructors, Pointers IO Streams, File Streams ΣΤΟΙΧΕΙΑ ΤΗΣ ΓΛΩΣΣΑΣ C++ Constructors, Destructors, Pointers IO Streams, File Streams CONSTRUCTORS DESTRUCTORS Η κλάση mystring class mystring private: char s[100]; public: char *GetString(); void SetString(char

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

Shell Scripts: loops / if / test

Shell Scripts: loops / if / test Shell Scripts: loops / if / test Loops with for while until for variable in list_of_values ne while εντολή (επιτυχής) ne until εντολή (επιτυχής) ne For in exi times apo ayti ti lista in 1 2 alla kai alles

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

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

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

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

Βήματα: μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων. Δομές Δεδομένων + Αλγόριθμοι = Προγράμματα

Βήματα: μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων. Δομές Δεδομένων + Αλγόριθμοι = Προγράμματα Απλά Προγράμματα Βήματα: 1. Καθορισμός παράστασης δεδομένων στη μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων Δομές Δεδομένων + Αλγόριθμοι = Προγράμματα Οι Βασικοί κανόνες Κατανόηση

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

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

2 ο ΦΥΛΛΑΔΙΟ ΑΣΚΗΣΕΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C Δημοκρίτειο Πανεπιστήμιο Θράκης Πολυτεχνική Σχολή Τμήμα Μηχανικών Παραγωγής & Διοίκησης Ακαδ. έτος 2015-2016 Τομέας Συστημάτων Παραγωγής Εξάμηνο A Αναπληρωτής Καθηγητής Στέφανος Δ. Κατσαβούνης 20 ΟΚΤ 2015

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

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

Προγραμματισμός Ι. Κλάσεις και Αντικείμενα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Κλάσεις και Αντικείμενα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Κλάσεις Η γενική μορφή μιας κλάσης είναι η εξής: class class-name { private data and

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

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008 Παράδειγμα: Μηχανή για Εισιτήρια 2 Ορισμός Κλάσεων Σύνταξη κλάσης: πεδία, κατασκευαστές, μέθοδοι Ένας αυτόματος εκδότης εισιτηρίων είναι μια μηχανή που δέχεται χρήματα και εκδίδει ένα εισιτήριο. Εκδίδει

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

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΧΗΜΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΟ ΚΕΝΤΡΟ Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού Μάθημα 2ο Aντώνης Σπυρόπουλος v2_061015 Οροι που

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

12. ΑΛΦΑΡΙΘΜΗΤΙΚΑ. υο είδη αλφαριθµητικών Τα αλφαριθµητικά της C πίνακες τύπου char Ta αντικείµενα της κλάσης string

12. ΑΛΦΑΡΙΘΜΗΤΙΚΑ. υο είδη αλφαριθµητικών Τα αλφαριθµητικά της C πίνακες τύπου char Ta αντικείµενα της κλάσης string 12. ΑΛΦΑΡΙΘΜΗΤΙΚΑ υο είδη αλφαριθµητικών Τα αλφαριθµητικά της C πίνακες τύπου char Ta αντικείµενα της κλάσης string Aλφαριθµητικά της C int main() const int max=80; char str[max); //κάθε char δεσµεύει

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

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

Προγραμματισμός Ι. Προεπεξεργαστής. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Προεπεξεργαστής Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Διαδικασία Μεταγλώττισης πρόγραµµα επεξεργασίας κειµένου if a

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

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ομή Επανάληψης

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ομή Επανάληψης ΕΠ.1 Να αναπτυχθεί αλγόριθμος που θα εκτυπώνει τους διψήφιους άρτιους ακέραιους. Η άσκηση στην ουσία θα πρέπει να εκτυπώσει του αριθμούς 10, 12, 14,.,96, 98. Μεμιαπρώτηματιάθαμπορούσαμενατηνλύσουμεμετοναπροσπελάσουμετιςτιμές

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

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΩΤΗΣΕΙΣ 1. Τι καλείται ψευδοκώδικας; 2. Τι καλείται λογικό διάγραμμα; 3. Για ποιο λόγο είναι απαραίτητη η τυποποίηση του αλγόριθμου; 4. Ποιες είναι οι βασικές αλγοριθμικές δομές; 5. Να περιγράψετε τις

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

Τα δεδομένα στη C++ χωρίζονται σε 3 κατηγορίες: τους αριθμούς (numbers), τους χαρακτήρες (characters) και τις συμβολοσειρές (strings).

Τα δεδομένα στη C++ χωρίζονται σε 3 κατηγορίες: τους αριθμούς (numbers), τους χαρακτήρες (characters) και τις συμβολοσειρές (strings). Για να λύσουμε ένα πρόβλημα στη C++ χρειαζόμαστε δυο βασικές έννοιες. Η μια είναι οι οδηγίες εντολές, ο αλγόριθμος δηλαδή, που πρέπει να ακολουθήσουμε για να λύσουμε το πρόβλημά μας και η άλλη είναι τα

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

Υλοποίηση Λιστών. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα:

Υλοποίηση Λιστών. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Υλοποίηση Λιστών Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ευθύγραμμές Απλά και Διπλά Συνδεδεμένες Λίστες Κυκλικές Απλά και Διπλά Συνδεδεμένες Λίστες Τεχνικές Μείωσης Μνήμης ΕΠΛ 231 Δομές

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

Διάλεξη 10: Δομές Δεδομένων Ι (Στοίβες & Ουρές)

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

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

Κεφάλαιο 2.1-2.4: Εισαγωγή στην C: (Διαλέξεις 3-4)

Κεφάλαιο 2.1-2.4: Εισαγωγή στην C: (Διαλέξεις 3-4) Κεφάλαιο 2.1-2.4: Εισαγωγή στην C (Διαλέξεις 3-4) Περιεχόμενα Εισαγωγή στην C: Σύνταξη και Σημασιολογία σχόλια μεταβλητές και σταθερές τύποι δεδομένων Μετά αυτές τις δυο διαλέξεις θα μπορείτε να γράψετε

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

Παιχνίδια σε Javascript

Παιχνίδια σε Javascript Παιχνίδια σε Javascript Μάθημα 1ο Μια Γρήγορη Εισαγωγή στη Γλώσσα Τα Εργαλεία Την Javascript μπορούμε (όπως και την HTML) να τη γράψουμε σε ένα απλό συντάκτη κειμένου, ή σε ένα περιβάλλον όπως το Bluefish

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

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

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

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

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

Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΚΦΩΝΗΣΕΙΣ 1 Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ 1 ο ΕΚΦΩΝΗΣΕΙΣ Α. Να γράψετε στο τετράδιό σας τον αριθµό καθεµιάς από τις παρακάτω προτάσεις 1-5 και δίπλα τη

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

Κεφάλαιο Πέµπτο: Η Εξάσκηση

Κεφάλαιο Πέµπτο: Η Εξάσκηση Κεφάλαιο Πέµπτο: Η Εξάσκηση 1. Γενικά Η εξάσκηση στο Εργαστήριο προϋποθέτει τη γνώση των εντολών (τουλάχιστον) τις οποίες καλείται ο σπουδαστής κάθε φορά να εφαρµόσει. Αυτές παρέχονται µέσω της Θεωρίας

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

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

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

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

Εισαγωγή στη γλώσσα προγραμματισμού JAVA. Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών

Εισαγωγή στη γλώσσα προγραμματισμού JAVA. Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών Εισαγωγή στη γλώσσα προγραμματισμού JAVA Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών Το πρώτο φλιτζάνι Java Λίστα με τα απαραίτητα Το πρώτο μου πρόγραμμα(hello World) Συνεχίζοντας

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

ΠΛΗ111. Ανοιξη 2005. Μάθηµα 3 ο. Συνδεδεµένες Λίστες. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης

ΠΛΗ111. Ανοιξη 2005. Μάθηµα 3 ο. Συνδεδεµένες Λίστες. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης ΠΛΗ111 οµηµένος Προγραµµατισµός Ανοιξη 2005 Μάθηµα 3 ο Συνδεδεµένες Λίστες Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης Ανασκόπηση ΟΑΤ λίστα Ακολουθιακή λίστα Συνδεδεµένη λίστα

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

5. ΣΥΝΑΡΤΗΣΕΙΣ. (Πρόχειρο σχέδιο - Μαθήµατος 3) p23-29. 5.1 Συναρτήσεις, που δεν επιστρέφουν κάποια τιµή

5. ΣΥΝΑΡΤΗΣΕΙΣ. (Πρόχειρο σχέδιο - Μαθήµατος 3) p23-29. 5.1 Συναρτήσεις, που δεν επιστρέφουν κάποια τιµή (Πρόχειρο σχέδιο - Μαθήµατος 3) p23-29 5. ΣΥΝΑΡΤΗΣΕΙΣ 5.1 Συναρτήσεις, που δεν επιστρέφουν κάποια τιµή Η συνάρτηση είναι void, δεν επιστρέφει κάποια τιµή. //Oρισµός συνάρτησης χωρίς παραµέτρους // 12.

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

Διάλεξη 6: Δείκτες και Πίνακες

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

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

ΓΕΝΙΚΟ ΛΥΚΕΙΟ ΚΑΡΠΕΝΗΣΙΟΥ ΙΩΡΟ ΕΠΑΝΑΛΗΠΤΙΚΟ ΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ 16/12/2008. Τµήµα ΓΤ2 Όνοµα:...

ΓΕΝΙΚΟ ΛΥΚΕΙΟ ΚΑΡΠΕΝΗΣΙΟΥ ΙΩΡΟ ΕΠΑΝΑΛΗΠΤΙΚΟ ΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ 16/12/2008. Τµήµα ΓΤ2 Όνοµα:... ΓΕΝΙΚΟ ΛΥΚΕΙΟ ΚΑΡΠΕΝΗΣΙΟΥ ΙΩΡΟ ΕΠΑΝΑΛΗΠΤΙΚΟ ΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ 16/12/2008 Τµήµα ΓΤ2 Όνοµα:... ΘΕΜΑ 1 ο. Α) Να γράψετε στο φύλλο απαντήσεών σας Σ εάν κρίνετε ότι η πρόταση είναι σωστή και

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

Προγραµµατισµός Η/Υ. Μέρος2

Προγραµµατισµός Η/Υ. Μέρος2 Προγραµµατισµός Η/Υ Μέρος2 Περιεχόμενα Επανάληψη Βασικών Σύμβολων Διαγραμμάτων Ροής Αλγόριθμος Ψευδοκώδικας Παραδείγματα Αλγορίθμων Γλώσσες προγραμματισμού 2 Επανάληψη Βασικών Σύμβολων Διαγραμμάτων Ροής

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

Προγραμματιστικές Ασκήσεις, Φυλλάδιο 1

Προγραμματιστικές Ασκήσεις, Φυλλάδιο 1 ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΕ C Προγραμματιστικές Ασκήσεις, Φυλλάδιο Εκφώνηση: 9/3/0 Παράδοση: 5/4/0,.59 Άσκηση 0 η : Το πρόβλημα της βελόνας του Buffon Θέμα της εργασίας

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

Εντολές της LOGO (MicroWorlds Pro)

Εντολές της LOGO (MicroWorlds Pro) Εντολές της LOGO (MicroWorlds Pro) Εντολές εμφάνισης (εξόδου) και αριθμητικές πράξεις δείξε Εμφανίζει στην οθόνη έναν αριθμό, το αποτέλεσμα πράξεων, μια λέξη ή μια λίστα (ομάδα) λέξεων. δείξε 200 200 δείξε

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

Παραδείγματα Χρήσης του DrJava

Παραδείγματα Χρήσης του DrJava Παραδείγματα Χρήσης του DrJava Version 1.1 Επιμέλεια: Κόγιας Δημήτρης, Χαράλαμπος Πατρικάκης, Εργαστήριο Αντικειμενοστραφούς προγραμματισμού [1] Πίνακας Περιεχομένων Κεφάλαιο 1. Προγράμματα για εξάσκηση...

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΙΟΙΚΗΣΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΙΟΙΚΗΣΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΙΑΧΕΙΡΙΣΗ Ε ΟΜΕΝΩΝ ΚΑΙ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ (Β ΕΞΑΜΗΝΟ) ιδάσκων: Επ. Καθηγητής Γρηγόρης Χονδροκούκης ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΟΣ Η ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

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

ΑΤΜ PROJECT ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ 2011-2012. Άννα Τριανταφύλλου ΑΕΜ : 456. επιβλέπων καθηγητής: Μηνάς Δασυγένης

ΑΤΜ PROJECT ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ 2011-2012. Άννα Τριανταφύλλου ΑΕΜ : 456. επιβλέπων καθηγητής: Μηνάς Δασυγένης Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΑΤΜ PROJECT Άννα Τριανταφύλλου ΑΕΜ : 456 επιβλέπων καθηγητής: Μηνάς Δασυγένης Περιεχόμενα 1. 2. 3.

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

Κεφάλαιο 2.1-2.4: Εισαγωγή στην C. ( ιαλέξεις 3-4) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 2.1-2.4: Εισαγωγή στην C. ( ιαλέξεις 3-4) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 2.1-2.4: Εισαγωγή στην C ( ιαλέξεις 3-4) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Περιεχόµενα Εισαγωγή στην C: Σύνταξη και Σηµασιολογία σχόλια µεταβλητές και σταθερές τύποι δεδοµένων Μετά αυτές τις δυο διαλέξεις

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

Δομές Δεδομένων. Ενότητα 4: Ο ΑΤΔ Λίστα & Υλοποίηση Λίστας με σειριακή αποθήκευση- Ο ΑΤΔ Συνδεδεμένη Λίστα- Υλοποίηση ΑΤΔ Συνδεδεμένη Λίστα με πίνακα

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

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