ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Τ.Ε.Ι ΚΑΒΑΛΑΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ: ΑΝΙΧΝΕΥΣΗ ΟΜΟΙΟΤΗΤΑΣ ΠΡΟΓΡΑΜΜΑΤΩΝ C++ ΓΕΩΡΓΟΠΟΥΛΟΣ ΑΝΤΩΝΗΣ

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

Download "ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Τ.Ε.Ι ΚΑΒΑΛΑΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ: ΑΝΙΧΝΕΥΣΗ ΟΜΟΙΟΤΗΤΑΣ ΠΡΟΓΡΑΜΜΑΤΩΝ C++ ΓΕΩΡΓΟΠΟΥΛΟΣ ΑΝΤΩΝΗΣ"

Transcript

1 Τ.Ε.Ι ΚΑΒΑΛΑΣ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ: ΑΝΙΧΝΕΥΣΗ ΟΜΟΙΟΤΗΤΑΣ ΠΡΟΓΡΑΜΜΑΤΩΝ C++ ΓΕΩΡΓΟΠΟΥΛΟΣ ΑΝΤΩΝΗΣ ΕΠΙΒΛΕΠΩΝ: ΠΑΠΑΔΑΚΗΣ ΣΤΕΛΙΟΣ ΚΑΒΑΛΑ 2010

2 ΠΕΡΙΛΗΨΗ Το θέμα της αντιγραφής / λογοκλοπής είναι ένα φαινόμενο που εμφανίζεται συνέχεια στον ακαδημαϊκό χώρο και αποτελεί ένα από τα σημαντικότερα προβλήματα που αντιμετωπίζει το εκπαιδευτικό προσωπικό για την σωστή και ορθή αξιολόγηση των εργασιών που παραδίδονται από τους φοιτητές. Σήμερα υπάρχουν αρκετά προγράμματα που μπορούν να βοηθήσουν στην εύρεση των ομοιοτήτων, όπου το καθένα κάνει διαφορετική προσέγγιση του προβλήματος. Στην εργασία παρουσιάζεται ένας διαφορετικός τρόπος εύρεσης αντιγραφών / λογοκλοπών, του FIN (Fuzzy Interval Numbers). Στο πρώτο μέρος της εργασίας γίνεται παρουσίαση των διαφόρων προγραμμάτων ευρέσεων ομοιοτήτων, μετά γίνεται παρουσίαση της έννοιας του FIN και τέλος παρουσίαση των λεπτομερειών ανάπτυξης εφαρμογής ευρέσεως ομοιοτήτων σε προγράμματα πηγαίου κώδικα που κάνει χρήση του FIN. 1

3 ΕΥΧΑΡΙΣΤΙΕΣ Καταρχήν θα ήθελα να ευχαριστήσω τον επιβλέπων καθηγητή μου Παπαδάκη Στέλιο για την βοήθεια που μου παρείχε για την ομαλή εκπόνηση της πτυχιακής καθώς και όλους τους καθηγητές μου στο τμήμα της Βιομηχανικής πληροφορικής για τα εφόδια που μου έδωσαν. Την οικογένειά και του φίλους μου που με υποστήριξε καθ' όλη την διάρκεια της συγγραφής της πτυχιακής μου εργασίας. Επίσης θέλω να ευχαριστήσω την γραμματεία της σχολής για την γραμματειακή υποστήριξη που μου παρείχε και που βοήθησε να ξεπεραστούν όλα τα διαδικαστικά θέματα που συναντήθηκαν. Γεωργόπουλος Αντώνης 2

4 ΠΕΡΙΕΧΟΜΕΝΑ ΣΚΟΠΟΣ 4 ΣΤΟΧΟΣ 4 ΤΙ ΕΙΝΑΙ ΛΟΓΟΚΛΟΠΗ 5 FUZZY INTERVAL NUMBERS - ΑΣΑΦΗ ΣΥΝΟΛΑ ΑΡΙΘΜΩΝ 10 ΑΠΑΙΤΗΣΕΙΣ 15 ΠΡΟΔΙΑΓΡΑΦΕΣ 15 ΔΙΑΔΙΚΑΣΙΕΣ ΚΑΙ ΔΙΑΓΡΑΜΜΑΤΑ ΡΟΗΣ 16 ΠΕΡΙΓΡΑΦΗ ΚΩΔΙΚΑ 27 ΒΙΒΛΙΟΓΡΑΦΙΑ 32 3

5 Σκοπός Πολλές φορές οι σπουδαστές κάνουν χρήση πηγαίου κώδικα που το έχουν γράψει άλλοι συνάδελφοί τους, πραγματοποιώντας μερικές αλλαγές όπως αλλάζοντας τα ονόματα των μεταβλητών ή την σειρά με την οποία εμφανίζονται οι διάφορες συναρτήσεις. Συχνά αυτές οι αλλαγές δεν μπορούν να εντοπιστούν με οπτικό έλεγχο ή το μέγεθος του κώδικά κάνει αδύνατο τον έλεγχο. Για αυτό τον λόγο κρίνεται απαραίτητη η δημιουργία ενός εργαλείου που θα μπορεί βοηθήσει τον καθηγητή στην εύρεση των ομοίων πηγαίων κωδίκων. Να σημειωθεί ότι είναι εργαλείο και τα αποτελέσματα από το πρόγραμμα δεν θα πρέπει ποτέ να θεωρηθούν απόλυτα. Μπορεί να υπάρχουν κώδικες που μπορεί να είναι όμοιοι αλλά δεν σημαίνει ότι ο ένας είναι αντιγραφή του άλλου. Το πρόγραμμα μέσω σημασιολογικού και όχι λεξικογραφικού ελέγχου θα προσπαθήσει να ελέγξει και να βρει πηγαίους κώδικες που είναι όμοιοι μεταξύ τους και που μπορεί να θεωρηθούν αντιγραφή. Στόχος Για να γίνει εφικτή ο σωστός έλεγχος των αρχείων πηγαίου κώδικα θα γίνει χρήση της τεχνολογίας των FIN, που σε σχέση με την απόσταση που έχουν τα FIN του κάθε αρχείου πηγαίου κώδικα μπορούν να εντοπιστούν οι όμοιοι μεταξύ τους. Δηλαδή, θα γίνεται μία σημασιολογική έρευνα μέσα στον κώδικα για να χωριστεί σε σημασιολογικές έννοιες και μετά βάση των αποτελεσμάτων της έρευνας θα εξάγεται το FIN του κάθε αρχείου. Υπολογίζοντας την απόσταση των FIN μεταξύ τους μπορούμε να διαπιστώσουμε ποιοι πηγαίοι κώδικες μπορούν να θεωρηθούν όμοιοι μεταξύ τους. 4

6 Τι είναι λογοκλοπή Λογοκλοπή είναι η ηθελημένη ή αθέμιτη αναπαραγωγή (αντιγραφή, παράφραση, προσαρμογή κτλ) δουλειάς που έχει παραχθεί από άλλο πρόσωπο χωρίς την απαιτούμενη αναγνώριση με σκοπό την ακαδημαϊκό συμφέρον. Επιτρέποντας θεμιτά ή αθέμιτα τέτοια αναπαραγωγή να συμβεί μπορεί επίσης να θεωρηθεί λογοκλοπή. Τι είναι Λογοκλοπή εαυτού Λογοκλοπή εαυτού συμβαίνει όταν ένας φοιτητής επαναχρησιμοποιήσει μέρος ή ολόκληρη εργασία που προηγουμένως είχε δοθεί για ακαδημαϊκή βαθμολογία και την παραδίδει σαν μέρος μίας άλλης εργασίας Παραδείγματα για το πως οι φοιτητές διαπράττουν λογοκλοπή Σε φυσική γλώσσα (έκθεση) εργασία, οι φοιτητές είναι υποχρεωμένοι να αναγνωρίσουν την πηγή και την και να αναφέρουν το συγγραφέα του υλικού που δεν είχε αρχικά συγγραφεί από αυτούς, χρησιμοποιώντας εισαγωγικά όπου είναι σωστό και ορθό αναφοράς. Εδώ αναφέρονται μερικά παραδείγματα λογοκλοπής σε εκθέσεις. Αντιγραφή δουλειάς ενός άλλου φοιτητή (ή μέρος αυτής) και παραδίδοντάς την σαν δική τους. Ένας φοιτητής που επιτρέπει έναν άλλο φοιτητή να αντιγράψει την δουλειά τους είναι επίσης υποκείμενος για λογοκρισία. Αντιγράφοντας υλικό από μία ή περισσότερες πηγές χωρίς ορθή αναγνώριση. Παραφράζοντας κείμενο από μία ή περισσότερες πηγές χωρίς την σωστή απαιτούμενη ένδειξη και αναγνώριση. Κλέβοντας κάποιου άλλου δουλειά και παραδίδοντάς την σαν δική τους. Βάζοντας κάποιον άλλο να κάνει την δουλειά, ή αγοράζοντας μία έκθεση από μία τράπεζα εκθέσεων στο διαδίκτυο. 5

7 Επαναπαράδοση εργασίας που είχε παλιά κατατεθεί για ακαδημαϊκή βαθμολογία. Συνεργασία μεταξύ δύο ή περισσοτέρων φοιτητών για να φτιάξουν μία εργασία όταν δεν επιτρέπεται. Παραδείγματα για το πως οι φοιτητές διαπράττουν λογοκλοπή σε προγράμματα υπολογιστών Σε εργασίες πηγαίου κώδικα, οι φοιτητές ζητούνται να αναγνωρίσουν την πηγή και πατρότητα του πηγαίου κώδικα που δεν είχε αρχικά εκδοθεί από αυτούς, μέσα στον κώδικα (σαν σχόλιο) και στην απαιτούμενη βιβλιογραφία. Παρακάτω αναφέρονται μερικά παραδείγματα λογοκλοπής σε κώδικα πηγής εργασίες που αναγνωρίστηκαν από τους Cosma και Joy (2006). Αναπαραγωγή/αντιγραφή πηγαίου κώδικα χωρίς να γίνουν αλλαγές και παροχή ορθή αναγνώρισης. Ελάχιστα ή μέτρια προσαρμογή πηγαίου κώδικα που έχει συγγραφεί από κάποιον άλλο χωρίς την παροχή ορθή αναγνώρισης. Μετατρέποντας ολόκληρο ή μέρος ενός άλλου πηγαίου κώδικα σε όμοια προγραμματιστική γλώσσα. Χρησιμοποιώντας προγράμματα που παράγουν κώδικα για την δημιουργία κώδικα χωρίς την παροχή αναγνώρισης αυτής της πληροφορίας Πληρώνοντας κάποιον άλλο να φτιάξει το πρόγραμμα. Συνεργασία με κάποιον άλλο φοιτητή για όταν αυτό δεν επιτρέπεται. Προγράμματα ανάλυσης κειμένου Παρακάτω αναφέρονται μερικά προγράμματα που μπορούν να χρησιμοποιηθούν για να βρουν αντιγραφή / λογοκλοπή σε απλό κείμενο (όπως εκθέσεις) 6

8 Εμπορικά εργαλεία Turnitin είναι μία υπηρεσία ανίχνευσης αντιγραφής/λογοκλοπής στο διαδίκτυο, που ηλεκτρονικά ελέγχει εργασίες φοιτητών με άλλες ηλεκτρονικές πηγές συμπεριλαμβάνοντας εργασίες άλλων φοιτητών. Είναι η επίσημη υπηρεσία ευρέσεως λογοκλοπής του JISC (Joint Information Systems Committee). MyDropBox είναι μία σουίτα από εργαλεία στο διαδίκτυο που περιέχει ένα σύστημα εντοπισμού λογοκλοπής, ένα εργαλείο για σημείωση και σχολιασμό. CopyCatch Gold χρησιμοποιείται σε πολλά εκπαιδευτικά ιδρύματα για πολλά χρόνια. Στοχεύει περισσότερο σε εύρεση συμπαιγνίας. Το CopyChecker, που έρχεται δωρεάν μαζί με το CopyCatch Gold, είναι σχεδιασμένο να χρησιμοποιείτε από του φοιτητές για να μάθουν το πως να χρησιμοποιούν πηγές κατάλληλα. Essay Verification Engine (EVE ) Είναι ένα εργαλείο που βρίσκεται στο Διαδίκτυο από την CaNexus που συγκρίνει εργασίες φοιτητών με άλλες σελίδες και επιστρέφει δεσμούς από τους οποίους οι φοιτητές μπορεί να έχουν λογοκοπήσει. Το Eve δεν είναι δωρεάν υπηρεσία. Glatt Plagiarism Screening Program είναι λογισμικό ευρέσεων λογοκλοπής διαθέσιμο για αγορά μόνο σε CD. Αποθηκεύει πληροφορίες για το ύφος σύνταξης του κάθε φοιτητή και χρησιμοποιεί αυτή την πληροφορία για να καθορίσει αυτούς που έχουν διαπράξει λογοκλοπή από τους μη. Αυτό το λογισμικό μπορεί να είναι χρήσιμο σε περιπτώσεις όπου η αρχική πηγή δεν μπορεί να βρεθεί. Δωρεάν Εργαλεία PRAISE (Plotted Ring of Analysed Information for Similarity Exploration) Είναι δωρεάν εργαλείο για εντοπισμό ομοιοτήτων μεταξύ εγγράφων. Το PRAISE λειτουργεί μαζί με το VAST και ζευγάρια 7

9 από όμοια έγγραφα που έχουν ανιχνευτεί από το PRAISE μπορούν να διαλεχτούν για περαιτέρω ερεύνα στο VAST. VAST είναι ένα δωρεάν λογισμικό που δημιουργεί διαδραστικές οπτικοποίησεις για να μπορεί κάποιος να δει ομοιότητες μεταξύ δύο εγγράφων. Είναι σχεδιασμένο να χρησιμοποιείτε με άλλα εργαλεία εντοπισμού για να βοηθήσει στην έρευνα για το μέγεθος και την βαρύτητα της ομοιότητας που έχει εντοπιστεί από εργαλεία όπως το PRAISE. Εργαλεία εύρεσης ομοιοτήτων σε πηγαίο κώδικα Παρακάτω αναφέρονται τα διασημότερα προγράμματα ευρέσεως ομοιοτήτων για πηγαίο κώδικα. JPlag υπόσχεται να βρει ομοιότητες μεταξύ πολλαπλών αρχείων πηγαίου κώδικα. Το JPlag αναπτύχθηκε από τον Guido Malpohl το Τώρα υποστηρίζει Java, C#, C, C++, Scheme και κείμενο φυσικής γλώσσας. Το JPlag είναι δωρεάν αλλά οι χρήστες του χρειάζεται να δημιουργήσουν έναν λογαριασμό. Το JPlag χρησιμοποιεί μία παραλλαγή του αλγορίθμου σύγκρισης Karp-Rabin που αναπτύχθηκε από την Wise, αλλά έχουν προστεθεί διάφορες βελτιστοποιήσεις για να βελτιώσει την αποδοτικότητα του χρόνου εκτέλεσης. MOSS (Measure Of Software Similarity) αναπτύχθηκε από τον Alex Aiken το Το MOSS ψάχνει ομοιότητες σε διαφορετικές γλώσσες προγραμματισμού όπως: C, C++, Java, Pascal, Ada, ML, Lisp, και Scheme. Το MOSS είναι δωρεάν αλλά οι χρήστες πρέπει να δημιουργήσουν έναν λογαριασμό. ΤΟ PMD είναι ένα ανοιχτού κώδικα εργαλείο που παρέχει ένα ανιχνευτή Αντιγραφής/Επικόλλησης (Copy/Paste Detector CPD) για να βρίσκει πιστό αντίγραφο κώδικα και χρησιμοποιεί τον Karp-Rabin αλγόριθμο. Λειτουργεί με Java, JSP, C, C++, Fortan και PHP κώδικες. Επίσης παρέχει καθοδήγηση για το πως μπορούν να προστεθούν άλλες γλώσσες προγραμματισμού στο εργαλείο. Σε αντίθεση με τα JPlag, MOSS, και Sherlock αυτό το εργαλείο δεν στοχεύει αποκλειστικά στο να βρίσκει ομοιότητες σε 8

10 εργασίες φοιτητών αλλά λειτουργεί καλά εάν χρησιμοποιηθεί. Ομοίως με το Jplag, το CPD χρησιμοποιεί μία διαφοροποίηση του Karp-Rabin αλγορίθμου ανεπτυγμένου από την Wise. Οι σχεδιαστές του PMD παρέχουν άριστη υποστήριξη και τεκμηρίωση για το εργαλείο. Επειδή είναι ένας ανιχνευτής αντιγραφής κώδικα, αυτό το εργαλείο ψάχνει τα αρχεία για ίδιο κώδικα, επιστρέφοντας κώδικα που είναι ίδιος μέσα στο ίδιο το αρχείο. Αλλά, είναι επιτυχές στο να επιστρέφει όμοιο κώδικα που βρίσκεται σε διαφορετικά αρχεία και μπορεί να χρησιμοποιηθεί σαν εργαλείο για να ελέγχει ομοιότητες σε πηγαίου κώδικα αρχεία. CodeMatch είναι ένας εμπορικός ανιχνευτής πηγαίου κώδικα που ισχυρίζεται ότι έχει καλύτερο αλγόριθμο σε σχέση με τα προαναφερθέντα προγράμματα. Το CodeMatch αυτή την στιγμή υποστηρίζει της παρακάτω γλώσσες προγραμματισμού: Basic, C, C++, C#, Delphi, Flash ActionScropt, Java, JavaScript, MASM, Pascal, Perl, PHP, PowerBuilder, Ruby, SQL, Verilog και VHDL. 9

11 Fuzzy Interval Numbers - Ασαφή Σύνολα Αριθμών FIN (Fuzzy Interval Numbers) στα ελληνικά Ασαφή Σύνολα Αριθμών μοιάζουν με ασαφή σύνολα αλλά δεν είναι ασαφή σύνολα. Τα FIN παρουσιάστηκαν από τον Κύριο Καμπουρλάζο σαν εργαλεία για την μοντελοποίηση περίπλοκων συστημάτων. Γενικευμένα σύνολα Ένα γενικευμένο σύνολο του ύψους h((0,1]) είναι μία χαρτογράφηση που δίνεται από 1. Αν x 1 < x 2 (θετικά γενικευμένο σύνολο) τότε h [ x 1, x ] h, x1 x x2 ( x) ώ 0, 2. Αν x 1 > x 2 (αρνητικά γενικευμένο σύνολο) τότε h [ x 1, x ] h, x1 x x2 ( x) ώ 0, 3. Αν x 1 = x 2 (εκφυλισμένο γενικευμένο σύνολο) τότε { h, h} x 1 ( x) 0, διαφορετικά x [ x h 1, x ] Το σύνολο από όλα τα γενικευμένα θετικά σύνολα του ύψους h υποδηλώνεται από από όλα τα αρνητικά γενικευμένα σύνολα από h M h M, το σύνολο, το σύνολο από όλα τα εκφυλισμένο γενικευμένα σύνολα από h M 0 και το σύνολο από όλων των γενικευμένων συνόλων από M h M h - M h 0 M h. Δύο συναρτήσεις, που πρόκειται να χρησιμοποιηθούν αργότερα,ορίζονται: Συνάρτηση support χαρτογραφεί ένα γενικευμένο σύνολο στο αντίστοιχα συμβατικό σύνολο, support([x 1,x 2 ] h )= [x 1,x 2 ] για θετικά, support([x 1,x 2 ] h )= [x 2, x 1 ] για αρνητικά και support([x 1,x 2 ] h )= {x 1 } για εκφυλισμένο γενικευμένο σύνολα. Συνάρτηση sign: M h { 1,0, 1} χαρτογραφεί ένα θετικά γενικευμένο σύνολο στο +1, ένα αρνητικά γενικευμένο σύνολο στο -1 και ένα εκφυλισμένο γενικευμένο σύνολο στο 0. 10

12 Fuzzy Interval Numbers: Ορισμός και Ερμηνεία Ένα θετικό Fuzzy Interval Number (FIN) είναι μία συνεχόμενη συνάρτηση F: ( 0, 1} h M σύνολο από όλους τους θετικούς FIN υποδηλώνεται από F +. Ομοίως υποδηλώνονται τα εκφυλισμένα και αρνητικά FINs.. Το Έστω έναν πληθυσμό (ένα διάνυσμα) x = [x 1,x 2,,x N ] από πραγματικούς αριθμούς, ταξινομημένους σε αύξουσα σειρά, ένα FIN μπορεί να υπολογιστεί εφαρμόζοντας τον CALFIN αλγόριθμο που δίδεται παρακάτω. Στο παρακάτω σχέδιο παρουσιάζεται ένα FIN, υπολογισμένο από τον πληθυσμό 86 τιμών. Έστω ένα FIN, ένα «κόψιμο» σε ένα δεδομένο ύψος h ((0,1 ]) ορίζει έναν γενικευμένο σύνολο, υποδηλωμένο από F(h). Στο σχέδιο παρακάτω, F(0,25) είναι το γενικευμένο σύνολο[a,b] 0,25 αναπαριστώμενο από Oacbdx. Ένα επακόλουθο του αλγόριθμου CALFIN είναι το επόμενο: Έστω F(1) = {m 1 }, περίπου Ν/2 από τις τιμές είναι μικρότερες από m 1 και Ν/2 είναι μεγαλύτερες από m 1. Έστω ότι F(0,5) = [p 1/2,q 1,2 ] 0,5, περίπου Ν/4 των τιμών του x βρίσκονται μέσα στο [p 1/2,m 1 ] και Ν/4 στο [m 1,q 1/2 ]. Γενικότερα: για κάθε h ((0,1]) περίπου 100(1-h)% από τις Ν τιμές του x βρίσκονται μέσα στην support(f(h)). 11

13 Αλγόριθμος CALFIN Έστω ένα διάνυσμα από πραγματικούς αριθμούς x = [x 1,x 2,..,x N ] έτσι x 1 x... 2 x n. Ένα FIN μπορεί να κατασκευαστεί από τον παρακάτω αλγόριθμο CALFIN, όπου dim(x) υποδηλώνει την διάσταση του διανύσματος π.χ. dim([2,-1])= 2, dim([-3,4,0,-1,7]) = 5 κοκ. 1. Έστω x ένα διάνυσμα από πραγματικούς αριθμούς 2. Ταξινόμησε κατά αύξουσα σειρά τους αριθμούς στο διάνυσμα x. 3. Αρχικά διάνυσμα pts είναι κενό. 4. Συνάρτηση calfin(x){ 5. while (dim(x) 1) 6. medi := median(x) 1 7. Εισήγαγε medi μέσα στον διάνυσμα pts 8. x_left := στοιχεία μέσα στο διάνυσμα x που είναι μικρότερα από τον αριθμό του median(x) 9. x_right := στοιχεία μέσα στο διάνυσμα x που είναι μεγαλύτερα από τον αριθμό του median(x) 10. calfin(x_left) 11. calfin(x_right) 12. endwhile 13. }//function calfin(x) 14. Ταξινόμησε το διάνυσμα pts κατά αύξουσα σειρά 15. Αποθήκευσε στο διάνυσμα val, dim(pts)/2 αριθμούς από το 0 μέχρι το 1 με βήμα 2/dim(pts) ακολουθούμενο από άλλο ένα dim(pts)/2 αριθμούς από το 1 μέχρι το 0 με βήμα 2/dim(pts) 1 O median(x) του διανύσματος x = [x1,x2,..,xn] ορίζεται έτσι ώστε να είναι ένας αριθμός όπου οι μισοί αριθμοί του Ν, [x1,x2,..,xn ] να είναι μικρότεροι από το median (x) και οι άλλοι μισοί αριθμοί να είναι μεγαλύτεροι από το median(x). Για παράδειγμα, ο median(x1,x2,x3) με x1 x.x 2 3 ισούται με x x2, ενώ ο median(x1,x2,x3,x4) με 1 x2. x3 x4 υπολογίζεται median(x1,x2,x3,x4) = (x2 + x3,)/2. 12

14 FIN απεικόνιση πηγαίου κώδικα Η απεικόνιση του πηγαίου κώδικα σε FIN γίνεται ακολούθως. Πρώτα από όλα πρέπει να γίνει ένα σημασιολογικός διαχωρισμός του κώδικά. Πρέπει να διαχωριστούν όλα τα στιγμιότυπα τύπου (Token) που υπάρχουν μέσα στον κώδικα. Στιγμιότυπο τύπου μπορεί να είναι: 1. Τελεστές π.χ. +, -, <<,? κτλ 2. Οποιοσδήποτε συνδυασμός από αριθμούς και γράμματα που μπορεί να θεωρηθεί σωστός από τον μεταγλωττιστή πχ int, cout, for, i, ChAr1 3. Εισαγωγές βιβλιοθηκών όπως #include <iostream> αλλά το #include θεωρείται από μόνο του ένα στιγμιότυπο τύπου και οτιδήποτε περιέχεται μέσα < > θεωρείται ξεχωριστό στιγμιότυπο τύπου. 4. Οι αριθμοί π.χ. 15, 2005, Όλοι οι ορμαθοί χαρακτήρα θεωρούνται στιγμιότυπα τύπου πχ Hello World Όλα τα σχόλια παραλείπονται δηλαδή οτιδήποτε μετά από // και μεταξύ /* */. Αφότου γίνει ο διαχωρισμός όλως των στιγμιότυπων τύπου γίνεται απαρίθμηση των επαναλήψεων τους μέσα στον κώδικα. Έστω ο παρακάτω κώδικας: #include <iostream.h> main () { int a = 5, b = 2; for (int i = 0; i < 10; i++) cout << (a + b + i) << endl; cout << Hello World << endl; } 13

15 Τα στιγμιότυπα τύπου του κώδικα είναι τα εξής: #include ( ) + ++, ; < << <iostream.h> = a b cout endl for i int main { } Hello World Αφού γίνει η απαρίθμηση του κάθε στιγμιότυπο θα γίνει εφαρμογή του αλγορίθμου CALFIN πάνω στα αποτελέσματα. 14

16 Απαιτήσεις Token Δημιουργία Token Διαχωρισμός σημασιολογικών εννοιών Διαχωρισμός Token FIN Δημιουργία FIN Γραφική απεικόνιση FIN Επέκταση FIN Προδιαγραφές Δημιουργία FIN Σύνθεση FIN Σύνθεση Σημείων FIN Επέκταση FIN Εκτύπωση Fin Εύρεση τελεστή Εύρεση διπλού τελεστή: Εύρεση Token Αποθήκευση Token 15

17 Διαδικασίες και Διαγράμματα Ροής Create_Fin Είσοδος: Το αρχείο πηγαίου κώδικα Έξοδος: To Fin του αρχείου. Προδιαγραφή: Δημιουργία Fin του προγράμματος. Η Create_Fin χωρίζει τον πηγαίο κώδικα σε token. Καλεί όποτε χρειάζεται την Save_Token για αποθηκεύσει το token που έχει βρει. Στο τέλος συνθέτει τον Fin καλώντας την MakeFin. Διάγραμμα Ροής 16

18 MakeFIN Είσοδος: Πίνακας με τους αριθμούς συχνότητας του κάθε Token. Έξοδος: Ο Fin του προγράμματος Προδιαγραφή: Δημιουργία Fin. Η MakeFIN καλεί την MakeFINPts για να δημιουργήσει τα x της γραφικής παράστασης του πηγαίου κώδικα και στην συνέχεια συμπληρώνει τα y. Διάγραμμα Ροής 17

19 makefinpts Είσοδος: Πίνακας με τους αριθμούς συχνότητας του κάθε Token. Έξοδος: Προδιαγραφή: Δημιουργία Fin. Η makefinpts κάνει χρήση του αλγόριθμου CALFIN για να δημιουργήσει τα x της γραφικής παράστασης του FIN του πηγαίου κώδικα. Διάγραμμα Ροής 18

20 ExpandFIN Είσοδος: Τον FIN που πρέπει να αλλαχθεί, Το μέγιστο μήκος FIN Έξοδος: Ο καινούργιος FIN Προδιαγραφή: Επέκταση FIN. H ExpandFIN καλείται όταν υπάρχουν FIN με διαφορετικό μήκος, όπου συμπληρώνει τα ενδιάμεσα στοιχεία που λείπουν από τον μικρότερα FIN σε σχέση με τον μεγαλύτερο, για να γίνει σωστά η σύγκριση μεταξύ τους. Διάγραμμα Ροής 19

21 CallCreateFin Είσοδος: Πίνακας με τα αρχεία προς έλεγχο. Έξοδος:- Προδιαγραφή: Δημιουργία FIN. Η CallCreateFin καλείται καλεί την CreateFIN για να συνθέσει τον FIN του κάθε αρχείου, στην συνέχεια αν χρειάζεται επεκτείνει τους μικρότερου μήκους FIN στον μεγαλύτερο με την ExpandFIN. Τέλος εκτυπώνει τον FIN στο Excel. Διάγραμμα Ροής 20

22 PublishFin Είσοδος: Τα FIN του κάθε πηγαίου κώδικα. Έξοδος: Γραφικές παραστάσεις στο Excel Προδιαγραφή: Γραφική απεικόνιση του κάθε FIN. H PublishFin δημιουργεί την γραφική απεικόνιση του κάθε FIN στο Excel Διάγραμμα Ροής: 21

23 MakeRange: Είσοδος: Οι γραμμές και οι στήλες στο Excel: Έξοδος: Το εύρος τιμών του διαγράμματος στο Excel Προδιαγραφή: Γραφική απεικόνιση του κάθε FIN. Η MakeRange καλείται για να δημιουργήσει το εύρος τιμών του διαγράμματος στο Excel. Διάγραμμα Ροής: 22

24 Save_Token Είσοδος: Το Token που έχει βρεθεί Έξοδος; - Προδιαγραφή: Διαχωρισμός Token. Η Save_Token αποθηκεύει τα token που βρίσκονται σε έναν vector και παράλληλα απαριθμεί την συχνότητα εμφάνισής τους. Διάγραμμα Ροής 23

25 isoperator: Είσοδος: Χαρακτήρας από το αρχείο πηγαίου κώδικα. Έξοδος: Αληθές η Ψευδές Απαίτηση: Δημιουργία Token Προδιαγραφή: Διαχωρισμός σημασιολογικών εννοιών Η isoperator ελέγχει αν ένας χαρακτήρας είναι operator ή όχι και επιστρέφει το ανάλογο αποτέλεσμα. Διάγραμμα Ροής 24

26 isdoperator: Είσοδος: Χαρακτήρας από το αρχείο πηγαίου κώδικα. Έξοδος: Αληθές η Ψευδές Προδιαγραφή: Διαχωρισμός σημασιολογικών εννοιών H isdoperator ελέγχει αν ένας συνδυασμός χαρακτήρων είναι διπλός operator ή όχι και επιστρέφει το ανάλογο αποτέλεσμα. Διάγραμμα Ροής 25

27 FindToken Είσοδος: Αρχή Πίνακα, Τέλος Πίνακα, Τιμή αναζήτησης. Έξοδος: Θέση αναζητούμενης τιμής. Προδιαγραφή: Διαχωρισμός Token Η FindToken ψάχνει να βρει το ζητούμενο Token. Αν δεν το βρει επιστρέφει την πρώτη θέση του πίνακα. Διάγραμμα Ροής 26

28 Περιγραφή Κώδικα Στην συγκεκριμένη εφαρμογή του FIN μετράμε την συχνότητα εμφάνισης του κάθε token που υπάρχει μέσα στον πηγαίο κώδικα C++. Τα token που το πρόγραμμα έχει φτιαχτεί να αναγνωρίζει είναι: όλοι οι τελεστές της C++, οποιοσδήποτε συνδυασμός γραμμάτων ή αριθμών που θα μπορούσε να θεωρηθεί μεταβλητή, αριθμός, όνομα συνάρτησης κτλ. Όλα τα σχόλια παραλείπονται δηλαδή ότι βρίσκεται μετά από // ή ενδιάμεσα /* */, τα κενά και οι αλλαγές γραμμής. Μερικά παραδείγματα token: Void, int, double Giwrgos5, x, antwnhs, prgmxptn ++, -, >, (, ; 185, 0,.567, c, \n #include, <iostream.h> «Hello World» Στην συνέχεια δημιουργείται ένας πίνακας με τις συχνότητες εμφάνισης του κάθε Token, παραδείγματος χάριν για τον παρακάτω κώδικα #include <iostream.h> main () { int a = 5, b = 2; for (int i = 0; i < 10; i++) } cout << (a + b + i) << endl; 27

29 Μετά τον χωρισμό token θα δημιουργηθεί ο παρακάτω πίνακας. #include 1 ( 3 ) , ; 4 < 1 << 2 <iostream.h> 1 = 3 a 2 b 2 cout 1 endl 1 for 1 i 4 int 2 main 1 { 1 } 1 28

30 Στην συνέχεια γίνεται εφαρμογή του αλγόριθμου CALFIN στον παραπάνω πίνακα και δημιουργείται η παρακάτω γραφική παράσταση. Κώδικας 1 1,2 1 0,8 0,6 Κώδικας 1 0,4 0, Η χρησιμότητα των FIN μπορεί να γίνει περισσότερο ευδιάκριτη στο παρακάτω παράδειγμα. Έστω ότι έχουμε δύο κώδικες, ο πρώτος είναι κώδικας που έχουμε αναφέρει παραπάνω (Κώδικας 1) και παρακάτω παραθέτουμε έναν παρόμοιο κώδικα. #include <iostream.h> main() { int timh1 = 5, timh2 = 2; for (int step=0;step<10;step++) cout<<(timh1+timh2+step)<<endl; } Θα μπορούσαμε να εξάγουμε το συμπέρασμα ότι αυτοί οι δύο κώδικες είναι διαφορετικοί μεταξύ τους, αλλά αν γίνει εφαρμογή του προγράμματος στους δύο κώδικες θα τα καταλήξουμε με τους εξής πίνακες συχνοτήτων. 29

31 Πίνακες συχνοτήτων Κώδικας 1 #include 1 #include 1 ( 3 ( 3 ) 3 ) , 1, ; 4 ; 4 < 1 < 1 << 2 << 2 <iostream.h> 1 <iostream.h> 1 = 3 = 3 a 2 cout 1 b 2 endl 1 cout 1 for 1 endl 1 int 2 for 1 main 1 i 4 step 4 int 2 timh1 2 main 1 timh2 2 { 1 { 1 } 1 } 1 30

32 Μετά την εφαρμογή και στους δύο πίνακες εμφάνισης συχνοτήτων του κάθε κώδικα του αλγορίθμου CALFIN παίρνουμε τις παρακάτω γραφικές παραστάσεις 1,2 1 0,8 0,6 Κώδικας 1 Κώδικας 2 0,4 0, Ενώ στην αρχή φαίνεται ότι οι δύο κώδικες είναι διαφορετικοί μεταξύ τους, στο φαίνεται ότι είναι όμοιοι, απλά έχουν διαφορετική σύνταξη. Η εφαρμογή των FIN στην ανίχνευση ομοίων πηγαίων κωδίκων, έχει ακαδημαϊκό ενδιαφέρον γιατί μπορεί να χρησιμοποιηθεί από το εκπαιδευτικό προσωπικό για τυχόν αντιγραφές που μπορεί να έχουν κάνει οι φοιτητές. Να σημειωθεί ότι τα αποτελέσματα της εφαρμογής πότε δεν μπορούν να χρησιμοποιηθούν σαν απόδειξη ότι ένας ή περισσότεροι πηγαίοι κώδικες είναι αντιγραφή μεταξύ τους. Η εφαρμογή έχει περισσότερο ρόλο να λειτουργήσει ως ένα εργαλείο για το εκπαιδευτικό προσωπικό στην ένδειξη πιθανών αντιγραφών. 31

33 Βιβλιογραφία Ιστότοποι Άρθα BCI07.pdf

34 Εφαρμογές Word 2003 Κειμενογράφος Εργασίας Smart Draw 2010 Δημιουργία Διαγραμμάτων Ροής Excel 2003 Παρουσίαση Γραφικών Παραστάσεων Borland C++ Builder 6 Ανάπτυξη Κώδικα 33

Ηλεκτρονικοί Υπολογιστές

Ηλεκτρονικοί Υπολογιστές ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 9: Πίνακες στη C++ Ζαχαρούλα Ανδρεοπούλου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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

Πληροφορική 2. Γλώσσες Προγραμματισμού

Πληροφορική 2. Γλώσσες Προγραμματισμού Πληροφορική 2 Γλώσσες Προγραμματισμού 1 2 Γλώσσες προγραμματσιμού Επιτρέπουν την κωδικοποίηση των αλγορίθμων Η εκτέλεση ενός προγράμματος θα πρέπει να δίνει τα ίδια αποτελέσματα με την νοητική εκτέλεση

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

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

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

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

Μεταγλωττιστές. Ενότητα 6: Λεκτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Μεταγλωττιστές. Ενότητα 6: Λεκτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Μεταγλωττιστές Ενότητα 6: Λεκτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

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

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Δομή του προγράμματος. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Δομή του προγράμματος. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Άδειες Χρήσης ΥΠΟΛΟΓΙΣΤΕΣ ΙI Δομή του προγράμματος Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης Το παρόν εκπαιδευτικό υλικό υπόκειται

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

Πληροφορική 2. Αλγόριθμοι

Πληροφορική 2. Αλγόριθμοι Πληροφορική 2 Αλγόριθμοι 1 2 Τι είναι αλγόριθμος; Αλγόριθμος είναι ένα διατεταγμένο σύνολο από σαφή βήματα το οποίο παράγει κάποιο αποτέλεσμα και τερματίζεται σε πεπερασμένο χρόνο. Ο αλγόριθμος δέχεται

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

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

Δομημένος Προγραμματισμός Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Δομημένος Προγραμματισμός Ενότητα 1: Εισαγωγή Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά Το έργο

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

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

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

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

Εισαγωγή στην Αριθμητική Ανάλυση

Εισαγωγή στην Αριθμητική Ανάλυση Εισαγωγή στην Αριθμητική Ανάλυση Εισαγωγή στη MATLAB ΔΙΔΑΣΚΩΝ: ΓΕΩΡΓΙΟΣ ΑΚΡΙΒΗΣ ΒΟΗΘΟΙ: ΔΗΜΗΤΡΙΑΔΗΣ ΣΩΚΡΑΤΗΣ, ΣΚΟΡΔΑ ΕΛΕΝΗ E-MAIL: SDIMITRIADIS@CS.UOI.GR, ESKORDA@CS.UOI.GR Τι είναι Matlab Είναι ένα περιβάλλον

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

Πρόβλημα είναι μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής.

Πρόβλημα είναι μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής. Κεφάλαιο 2 - Πρόβλημα 2.1.1. Η έννοια του προβλήματος Πρόβλημα είναι μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής. 2.1.2. Κατηγορίες προβλημάτων

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

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

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 6. Περιβάλλοντα Ανάπτυξης Εφαρμογών. ΚΕΦΑΛΑΙΟ 6 Περιβάλλοντα Ανάπτυξης Εφαρμογών. Α Γενικού Λυκείου

ΚΕΦΑΛΑΙΟ 6. Περιβάλλοντα Ανάπτυξης Εφαρμογών. ΚΕΦΑΛΑΙΟ 6 Περιβάλλοντα Ανάπτυξης Εφαρμογών. Α Γενικού Λυκείου 49 Διδακτικές ενότητες 6.1 Γλώσσες και εργαλεία προγραμματισμού 6.2 Σύγχρονα προγραμματιστικά περιβάλλοντα Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν την ανάγκη ύπαρξης τόσο

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

Μεταγλωττιστές Ενότητα 1: Εισαγωγή

Μεταγλωττιστές Ενότητα 1: Εισαγωγή Μεταγλωττιστές Ενότητα 1: Εισαγωγή Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες,

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

Τύποι δεδομένων, τελεστές, μεταβλητές

Τύποι δεδομένων, τελεστές, μεταβλητές Τύποι δεδομένων, τελεστές, μεταβλητές Βασικά στοιχεία της γλώσσας Η Java χαρακτηρίζεται από ένα αρκετά καλά οργανωμένο σύνολο εντολών κι ένα μέρος της επιτυχίας της οφείλεται στα διάφορα APIs (βιβλιοθήκες)

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

Οντοκεντρικός Προγραμματισμός

Οντοκεντρικός Προγραμματισμός Οντοκεντρικός Προγραμματισμός Ενότητα 5: H ΓΛΩΣΣΑ C++ Πίνακες & Δείκτες ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πίνακες Πίνακες Τα στοιχεία

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

ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ. Στην εξοικείωση με τη διαδικασία κατασκευής ενός Λεξικού Αναλυτή κάνοντας χρήση του lex.

ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ. Στην εξοικείωση με τη διαδικασία κατασκευής ενός Λεξικού Αναλυτή κάνοντας χρήση του lex. ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ 5 Ο Εργαστηριακό Μάθημα Δημιουργία Νέων Λεξικών Αναλυτών Σκοπός: Το μάθημα αυτό αναφέρεται: Στην εξοικείωση με τη διαδικασία κατασκευής ενός Λεξικού Αναλυτή κάνοντας χρήση του lex. Στην

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

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Εργαστήριο 1 Εισαγωγή στη C Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Διαδικαστικά Ιστοσελίδα μαθήματος: http://eclass.uoa.gr/courses/f30/ Υποχρεωτική παρακολούθηση: Παρασκευή 14:00 16:00 στην

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

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

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

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

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 3 : Γλώσσες προγραμματισμού. Δρ.

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 3 : Γλώσσες προγραμματισμού. Δρ. 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Πληροφορική II Ενότητα 3 : Γλώσσες προγραμματισμού Δρ. Γκόγκος Χρήστος 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Χρηματοοικονομικής

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

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

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

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

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Εντολές for, while, do-while Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Εντολές for, while, do-while Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Άδειες Χρήσης ΥΠΟΛΟΓΙΣΤΕΣ ΙI Εντολές for, while, do-while Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης Το παρόν εκπαιδευτικό υλικό υπόκειται

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

ΑΣΚΗΣΗ. Δημιουργία Ευρετηρίων Συλλογής Κειμένων

ΑΣΚΗΣΗ. Δημιουργία Ευρετηρίων Συλλογής Κειμένων Γλωσσική Τεχνολογία Ακαδημαϊκό Έτος 2011-2012 Ημερομηνία Παράδοσης: Στην εξέταση του μαθήματος ΑΣΚΗΣΗ Δημιουργία Ευρετηρίων Συλλογής Κειμένων Σκοπός της άσκησης είναι η υλοποίηση ενός συστήματος επεξεργασίας

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

Εισαγωγή. Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής

Εισαγωγή. Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής Εισαγωγή Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής Μεταγλωττιστής Αρχικό πρόγραμμα (source program) Μεταγλωττιστής Τελικό πρόγραμμα (object program) Διαγνωστικά μηνύματα Μεταγλωττιστής Παίρνει σαν

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

ΕΡΩΤΗΣΕΙΣ ΑΞΙΟΛΟΓΗΣΗΣ

ΕΡΩΤΗΣΕΙΣ ΑΞΙΟΛΟΓΗΣΗΣ Α) Να γράψετε στο τετράδιό σας τον αριθμό κάθε πρότασης και δίπλα το γράμμα "Σ", αν είναι σωστή, ή το γράμμα "Λ", αν είναι λανθασμένη. (Μονάδες 25) 1. Ένα αδόμητο πρόβλημα είναι ταυτόχρονα και ανοικτό

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

ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΕΙΣ

ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΕΙΣ ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΕΙΣ. ΚΑΤΕΥΘΥΝΣΗ ΔΙΟΙΚΗΣΗΣ ΤΟΥΡΙΣΤΙΚΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ ΚΑΙ ΕΠΙΧΕΙΡΗΣΕΩΝ ΦΙΛΟΞΕΝΙΑΣ Πληροφορική I "Προγραμματισμός" B. Φερεντίνος

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

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

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

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

'Ασκηση 1: Στατικός Κατακερματισμός. Εισαγωγή. Ρουτίνες υλοποίησης κατακερματισμού. (Ημερομηνία Παράδοσης: Παρασκευή, 16/5/2008, 5μμ) HT_Init()

'Ασκηση 1: Στατικός Κατακερματισμός. Εισαγωγή. Ρουτίνες υλοποίησης κατακερματισμού. (Ημερομηνία Παράδοσης: Παρασκευή, 16/5/2008, 5μμ) HT_Init() Πληροφορική & Τηλεπικοινωνίες K18 Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο 2008 Αν. Καθηγητής Δημήτρης Γουνόπουλος Καθηγητής Γιάννης Ιωαννίδης 'Ασκηση 1: Στατικός Κατακερματισμός (Ημερομηνία

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

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL 8.1. Εισαγωγή ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PACAL Πως προέκυψε η γλώσσα προγραμματισμού Pascal και ποια είναι τα γενικά της χαρακτηριστικά; Σχεδιάστηκε από τον Ελβετό επιστήμονα της Πληροφορικής Nicklaus Wirth to

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

Προγραμματισμός Υπολογιστών με C++

Προγραμματισμός Υπολογιστών με C++ Προγραμματισμός Υπολογιστών με C++ 1η διάλεξη (2012-13) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Γιατί να μάθει κανείς C++; Απαιτούμενο προσόν για πολλές θέσεις εργασίας. Υψηλού επιπέδου προγραμματισμός.

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

Στοιχειώδης προγραμματισμός σε C++

Στοιχειώδης προγραμματισμός σε C++ Στοιχειώδης προγραμματισμός σε C++ Σύντομο Ιστορικό. Το πρόγραμμα Hello World. Ο τελεστής εξόδου. Μεταβλητές και δηλώσεις τους. Αντικείμενα, μεταβλητές, σταθερές. Ο τελεστής εισόδου. Θεμελιώδεις τύποι.

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

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

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

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

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Προβλήματα, αλγόριθμοι, ψευδοκώδικας Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι

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

Σχηματίζοντας Γραφικές Παραστάσεις για Ημίτονο και Συνημίτονο και Ελέγχοντας Περιορισμούς σε Συστάδες Καρτών Τόμπολας

Σχηματίζοντας Γραφικές Παραστάσεις για Ημίτονο και Συνημίτονο και Ελέγχοντας Περιορισμούς σε Συστάδες Καρτών Τόμπολας ΕΡΓΑΣΙΑ 2 Σχηματίζοντας Γραφικές Παραστάσεις για Ημίτονο και Συνημίτονο και Ελέγχοντας Περιορισμούς σε Συστάδες Καρτών Τόμπολας Εισαγωγή Ημερομηνία Ανάρτησης: 16/02/2017 Ημερομηνία Παράδοσης: 06/03/2017,

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

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

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

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

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

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

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

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

Προγραμματισμός Ι. Προχωρημένα Θέματα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Προχωρημένα Θέματα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ανακατεύθυνση Εισόδου/Εξόδου Συνήθως η τυπική είσοδος ενός προγράμματος (stdin) προέρχεται

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

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

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

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

Εισαγωγή στην επιστήμη των υπολογιστών

Εισαγωγή στην επιστήμη των υπολογιστών Εισαγωγή στην επιστήμη των υπολογιστών Λογισμικό Υπολογιστών Γλώσσες Προγραμματισμού 1 Εξέλιξη Οι γλώσσες προγραμματισμού είναι σύνολα από προκαθορισμένες λέξεις οι οποίες συνδυάζονται σε προγράμματα σύμφωνα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Μεταφραστές Εισαγωγή Διδάσκων: Επικ. Καθ. Γεώργιος Μανής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

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

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

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

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

του προγράμματος diagrama_rohs.zip )

του προγράμματος diagrama_rohs.zip ) έκδοση 3.20 ( κατέβασμα του προγράμματος diagrama_rohs.zip ) Το πρόγραμμα αυτό γράφτηκε όχι να γίνει μια γλώσσα προγραμματισμού, αλλά να γίνει ένα εργαλείο για την εισαγωγή των μαθητών στον προγραμματισμό.

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

Προγραμματισμός Υπολογιστών με C++

Προγραμματισμός Υπολογιστών με C++ Προγραμματισμός Υπολογιστών με C++ ( 2012-13 ) 4η διάλεξη Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Τι θα ακούσετε σήμερα Δείκτες και πίνακες. Δείκτες σε σταθερές και σταθεροί δείκτες. Μεταβίβαση

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

6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ

6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ 6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ 6.1 Η Έννοια του Πίνακα Συχνά είναι προτιμότερο να αντιμετωπίζουμε ένα σύνολο μεταβλητών σαν ενότητα για να απλοποιούμε το χειρισμό τους. Έτσι οργανώνουμε σύνθετα δεδομένα σε

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

Βασικές Αρχές Προγραμματισμού

Βασικές Αρχές Προγραμματισμού Βασικές Αρχές Προγραμματισμού Κεφάλαιο 2 ΗγλώσσαC Ιστορική Αναδρομή ΗανάπτυξητηςC ξεκίνησε το 1972 στα εργαστήρια Bell από τον Dennis Ritchie με σκοπό την ανάπτυξη ενός λειτουργικού συστήματος για τον

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

Άσκηση 1. Ποια από τα κάτω αλφαριθμητικά είναι αποδεκτά ως ονόματα μεταβλητών σε έναν αλγόριθμο i. Τιμή

Άσκηση 1. Ποια από τα κάτω αλφαριθμητικά είναι αποδεκτά ως ονόματα μεταβλητών σε έναν αλγόριθμο i. Τιμή Θεωρία επισκόπηση 1 Η μεταβλητή είναι ένα συμβολικό όνομα κάτω από το οποίο βρίσκεται μια τιμή, η οποία μπορεί να μεταβάλλεται κατά την εκτέλεση του αλγορίθμου 1. Τύποι Δεδομένων (Μεταβλητών και Σταθερών)

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Εξετάσεις Προσομοίωσης 10/04/2018

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Εξετάσεις Προσομοίωσης 10/04/2018 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Εξετάσεις Προσομοίωσης 10/04/2018 ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις 1-4 και δίπλα τη λέξη ΣΩΣΤΟ, αν

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

Υπολογιστικά Mαθηματικά II

Υπολογιστικά Mαθηματικά II Υπολογιστικά Mαθηματικά II Ζαφειράκογλου Απόστολος 1 Άσκηση Να υπολογιστεί με τη μέθοδο Monte Carlo το ολοκλήρωμα : I = ˆ1 dx 1 ˆ1 ˆ1 dx 2... (x 1 + x 2 + x 3 + x 4 + x 5 + x 6 + x 7 + x 8 + x 9 + x 1

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 4: Τύποι Δεδομένων και τελεστές Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

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

Τεχνικές Προγραμματισμού και Χρήση Λογισμικού Η/Υ στις Κατασκευές

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

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

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

ΤΡΙΩΡΗ ΓΡΑΠΤΗ ΔΟΚΙΜΑΣΙΑ ΤΡΙΩΡΗ ΓΡΑΠΤΗ ΔΟΚΙΜΑΣΙΑ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ 1 ο Α. Δίνεται η εντολή εκχώρησης: τ κ < λ Ποιες από τις παρακάτω προτάσεις είναι σωστές και ποιες λάθος. Να δικαιολογήσετε

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

ΔΙΔΑΣΚΑΛΙΑ ΓΝΩΣΤΙΚΗΣ ΣΤΡΑΤΗΓΙΚΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ Δρ. Ζαφειριάδης Κυριάκος Οι ικανοί αναγνώστες χρησιμοποιούν πολλές στρατηγικές (συνδυάζουν την

ΔΙΔΑΣΚΑΛΙΑ ΓΝΩΣΤΙΚΗΣ ΣΤΡΑΤΗΓΙΚΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ Δρ. Ζαφειριάδης Κυριάκος Οι ικανοί αναγνώστες χρησιμοποιούν πολλές στρατηγικές (συνδυάζουν την 1 ΔΙΔΑΣΚΑΛΙΑ ΓΝΩΣΤΙΚΗΣ ΣΤΡΑΤΗΓΙΚΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ Δρ. Ζαφειριάδης Κυριάκος Οι ικανοί αναγνώστες χρησιμοποιούν πολλές στρατηγικές (συνδυάζουν την παλαιότερη γνώση τους, σημειώνουν λεπτομέρειες, παρακολουθούν

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

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 2 : Αλγόριθμοι. Δρ. Γκόγκος Χρήστος

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 2 : Αλγόριθμοι. Δρ. Γκόγκος Χρήστος 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Πληροφορική II Ενότητα 2 : Αλγόριθμοι Δρ. Γκόγκος Χρήστος 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Χρηματοοικονομικής & Ελεγκτικής

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

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

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

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

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

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

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

Χωρική Βάση δεδοµένων Autocad

Χωρική Βάση δεδοµένων Autocad Χωρική Βάση δεδοµένων Autocad Όλοι η πληροφορία σας βρίσκεται σε ένα αρχείο µε κατάληξη.dwg το οποίο αντιπροσωπεύει τη βάση δεδοµένων σας. Αυτό το αρχείο µπορούµε να το επεξεργαστούµε µε διάφορους τρόπους

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

Α2. Να γράψετε στο τετράδιο απαντήσεών σας το κατάλληλο τμήμα κώδικα, κάνοντας τις απαραίτητες αλλαγές σύμφωνα με την εκάστοτε εκφώνηση:

Α2. Να γράψετε στο τετράδιο απαντήσεών σας το κατάλληλο τμήμα κώδικα, κάνοντας τις απαραίτητες αλλαγές σύμφωνα με την εκάστοτε εκφώνηση: ΠΡΟΣΟΜΟΙΩΣΗ ΑΠΟΛΥΤΗΡΙΩΝ ΕΞΕΤΑΣΕΩΝ Γ' ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΗΡΕΣΙΩΝ) ΣΥΝΟΛΟ

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

Δομές Δεδομένων & Αλγόριθμοι

Δομές Δεδομένων & Αλγόριθμοι - Πίνακες 1 Πίνακες Οι πίνακες έχουν σταθερό μέγεθος και τύπο δεδομένων. Βασικά πλεονεκτήματά τους είναι η απλότητα προγραμματισμού τους και η ταχύτητα. Ωστόσο δεν παρέχουν την ευελιξία η οποία απαιτείται

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

Προγραμματισμός ΙI (Θ)

Προγραμματισμός ΙI (Θ) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Προγραμματισμός ΙI (Θ) Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Μάρτιος 2017 Δρ. Δημήτρης Βαρσάμης Μάρτιος 2017

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

Προγραμματισμός με FORTRAN Συνοπτικός Οδηγός Α. Σπυρόπουλος Α. Μπουντουβής

Προγραμματισμός με FORTRAN Συνοπτικός Οδηγός Α. Σπυρόπουλος Α. Μπουντουβής ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΧΗΜΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΟ ΚΕΝΤΡΟ Προγραμματισμός με FORTRAN Συνοπτικός Οδηγός Α Σπυρόπουλος Α Μπουντουβής Αθήνα, 2015 v13_061015 Στον οδηγό αυτό θα χρησιμοποιηθούν

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

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

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

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

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή Στόχοι και αντικείμενο ενότητας Η έννοια του Τελεστή #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Εκφράσεις Προτεραιότητα Προσεταιριστικότητα Χρήση παρενθέσεων Μετατροπές Τύπων Υπονοούμενες και ρητές μετατροπές

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

ΑΡΧΗ 2ΗΣ ΣΕΛΙΔΑΣ Γ Α... Β

ΑΡΧΗ 2ΗΣ ΣΕΛΙΔΑΣ Γ Α... Β ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΠΡΟΣΟΜΟΙΩΣΗ ΑΠΟΛΥΤΗΡΙΩΝ ΕΞΕΤΑΣΕΩΝ Γ' ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΔΕΥΤΕΡΑ 11 ΑΠΡΙΛΙΟΥ 2011 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ

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

Προγραμματισμός Υπολογιστών με C++ Φύλλο Διαγωνίσματος Ακαδημαϊκό εξάμηνο: Χειμερινό

Προγραμματισμός Υπολογιστών με C++ Φύλλο Διαγωνίσματος Ακαδημαϊκό εξάμηνο: Χειμερινό Προγραμματισμός Υπολογιστών με C++ Φύλλο Διαγωνίσματος Ακαδημαϊκό εξάμηνο: Χειμερινό 2013-14 Διδάσκων: Γεώργιος Παπαϊωάννου Μονογραφή επιτηρητή: Στοιχεία Φοιτητή (συμπληρώνεται από το φοιτητή) Όνομα: Αίθουσα/αμφιθέατρο:

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 2: Δομή ενός προγράμματος C Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

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

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ Εντολές επανάληψης Εντολές επανάληψης while for do-while ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ Παράδειγμα #1 Εντολή while

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ Εντολές επανάληψης Εντολές επανάληψης while for do-while ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ Παράδειγμα #1 Εντολή while ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ Εντολές επανάληψης Εντολές επανάληψης Στη C++ υπάρχουν 3 διαφορετικές εντολές επανάληψης: while for do-while 1 2 ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ Εντολή while Παράδειγμα #1 Κατασκευάστε πρόγραμμα που για

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

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

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

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

ΘΕΜΑ Α. Μονάδες 10 Α2.

ΘΕΜΑ Α. Μονάδες 10 Α2. ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΚΥΡΙΑΚΗ 21 ΜΑΙΟΥ 2017 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΗΡΕΣΙΩΝ) ΘΕΜΑ

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

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

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

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΕΠΛ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΕΠΛ 032 2 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ Ενδιάμεση Εξέταση Ημερομηνία:08/03/10 Διάρκεια: 13:30 15:00 Διδάσκων: Παύλος Αντωνίου Ονοματεπώνυμο: Αριθμός Ταυτότητας: Η εξέταση

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

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

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

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

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

Πληροφορική & Τηλεπικοινωνίες. K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο 2010 2011 Δ. Γουνόπουλος Ι. Ιωαννίδης Άσκηση 2: Υλοποίηση Ευρετηρίου Β+ Δένδρου Προθεσμία: 6 Ιουνίου 2011, 11:59μμ

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

Δομημένος Προγραμματισμός (ΤΛ1006)

Δομημένος Προγραμματισμός (ΤΛ1006) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής

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

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Εισαγωγή στη Python Νικόλαος Ζ. Ζάχαρης Αναπληρωτής

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

Οντοκεντρικός Προγραμματισμός

Οντοκεντρικός Προγραμματισμός Οντοκεντρικός Προγραμματισμός Ενότητα 5: H ΓΛΩΣΣΑ C++ Εισαγωγή στην C++ ΔΙΔΑΣΚΟΝΤΕΣ:Iωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής H Γλώσσα C++ ΙΣΤΟΡΙΑ 1967:

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

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

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

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

Ηλεκτρονικοί Υπολογιστές

Ηλεκτρονικοί Υπολογιστές ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 1: Βασικά Στοιχεία της C++ Ζαχαρούλα Ανδρεοπούλου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

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

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

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

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

Κλήση Συναρτήσεων ΚΛΗΣΗ ΣΥΝΑΡΤΗΣΕΩΝ. Γεώργιος Παπαϊωάννου ( )

Κλήση Συναρτήσεων ΚΛΗΣΗ ΣΥΝΑΡΤΗΣΕΩΝ. Γεώργιος Παπαϊωάννου ( ) ΚΛΗΣΗ ΣΥΝΑΡΤΗΣΕΩΝ Γεώργιος Παπαϊωάννου (2013-16) gepap@aueb.gr Περιγραφή: Μορφές μεταβίβασης ορισμάτων σε συναρτήσεις (και μεθόδους) και οι επιπτώσεις τους Επιστροφή τιμών από κλήση συναρτήσεων Υπερφόρτωση

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

Ενδεικτικές λύσεις και στατιστικά

Ενδεικτικές λύσεις και στατιστικά Προγραμματισμός 1 Σύντομο Quiz 25/9/9 Ενδεικτικές λύσεις και στατιστικά Ερώτηση 1: Γράψτε παρακάτω συνάρτηση η οποία δέχεται ως παραμέτρους ένα string και ένα χαρακτήρα και επιστρέφει τον αριθμό των εμφανίσεων

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

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19 Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών Κεφ. 2 Θεωρητική Επιστήμη Υπολογιστών 2.3.1.1 Έννοια προγράμματος Τι είναι πρόγραμμα και τι προγραμματισμός; Πρόγραμμα είναι το σύνολο εντολών που χρειάζεται

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

Υπολογισμός - Εντολές Ελέγχου

Υπολογισμός - Εντολές Ελέγχου Προγραμματισμός Η/Υ Ι Υπολογισμός - Εντολές Ελέγχου ΕΛΕΥΘΕΡΙΟΣ ΚΟΣΜΑΣ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2018-2019 ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ Τ.Ε. 1 Περίληψη Σήμερα... θα συνεχίσουμε τη συζήτησή μας για τα βασικά στοιχεία

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

Αντικειμενοστραφής Προγραμματισμός

Αντικειμενοστραφής Προγραμματισμός 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αντικειμενοστραφής Προγραμματισμός Ενότητα 5 : Δομή Προγράμματος C++ Ιωάννης Τσούλος 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο Τμήμα Μηχανικών Πληροφορικής

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

Υπολογισμός - Εντολές Επανάληψης

Υπολογισμός - Εντολές Επανάληψης Προγραμματισμός Η/Υ Ι Υπολογισμός - Εντολές Επανάληψης ΕΛΕΥΘΕΡΙΟΣ ΚΟΣΜΑΣ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2018-2019 ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ Τ.Ε. 1 Περίληψη Σήμερα... θα συνεχίσουμε τη συζήτησή μας για τα βασικά στοιχεία

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

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 1 ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μάθημα 1ο Τμήμα Διοίκησης Επιχειρήσεων α εξάμηνο Β. Φερεντίνος Ορισμός Wikipedia.org 2 Δομημένος προγραμματισμός (structured programming) ή διαδικαστικός προγραμματισμός (procedural

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

Δισδιάστατοι Πίνακες (2D Arrays) Εισαγωγή στη C++

Δισδιάστατοι Πίνακες (2D Arrays) Εισαγωγή στη C++ Δισδιάστατοι Πίνακες (2D Arrays) Εισαγωγή στη C++ Γενικά Η εντολή: int arr[5][2]; Δηλώνει την μεταβλητή arr σαν πίνακα με πέντε γραμμές (rows) και με δύο στήλες (columns). Η αρίθμηση και των δύο δεικτών

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

Ψευδοκώδικας. November 7, 2011

Ψευδοκώδικας. November 7, 2011 Ψευδοκώδικας November 7, 2011 Οι γλώσσες τύπου ψευδοκώδικα είναι ένας τρόπος περιγραφής αλγορίθμων. Δεν υπάρχει κανένας τυπικός ορισμός της έννοιας του ψευδοκώδικα όμως είναι κοινός τόπος ότι οποιαδήποτε

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

ΑΕΠΠ Ερωτήσεις θεωρίας

ΑΕΠΠ Ερωτήσεις θεωρίας ΑΕΠΠ Ερωτήσεις θεωρίας Κεφάλαιο 1 1. Τα δεδομένα μπορούν να παρέχουν πληροφορίες όταν υποβάλλονται σε 2. Το πρόβλημα μεγιστοποίησης των κερδών μιας επιχείρησης είναι πρόβλημα 3. Για την επίλυση ενός προβλήματος

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

1 η ΕΝΟΤΗΤΑ ΕΙΣΑΓΩΓΗ (Προγραμματισμός & MATLAB)

1 η ΕΝΟΤΗΤΑ ΕΙΣΑΓΩΓΗ (Προγραμματισμός & MATLAB) ΣΧΟΛΗ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΕΜΠ ΜΕΘΟΔΟΙ ΕΠΙΛΥΣΗΣ ΜΕ Η/Υ 1 η ΕΝΟΤΗΤΑ ΕΙΣΑΓΩΓΗ (Προγραμματισμός & MATLAB) Ν.Δ. Λαγαρός Μ. Φραγκιαδάκης Α. Στάμος Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

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

Πληροφορική & Τηλεπικοινωνίες K25 Ανάπτυξη Λογισμικού Εαρινό Εξάμηνο 2008 Καθηγητής Γιάννης Ιωαννίδης. Μέρος 2ο: Επίπεδο Ευρετηρίου Β+ Δένδρων

Πληροφορική & Τηλεπικοινωνίες K25 Ανάπτυξη Λογισμικού Εαρινό Εξάμηνο 2008 Καθηγητής Γιάννης Ιωαννίδης. Μέρος 2ο: Επίπεδο Ευρετηρίου Β+ Δένδρων Πληροφορική & Τηλεπικοινωνίες K25 Ανάπτυξη Λογισμικού Εαρινό Εξάμηνο 2008 Καθηγητής Γιάννης Ιωαννίδης Μέρος 2ο: Επίπεδο Ευρετηρίου Β+ Δένδρων (Ημερομηνία Παράδοσης: Δευτέρα 5/5/2008, 11:59μμ Εισαγωγή Στο

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΗΜΕΡΟΜΗΝΙΑ: 6/04/2014 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΗΜΕΡΟΜΗΝΙΑ: 6/04/2014 ΘΕΜΑ 1 Ο Α. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις και δίπλα τη λέξη Σωστό, αν είναι

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

Θερμοδυναμική - Εργαστήριο

Θερμοδυναμική - Εργαστήριο Θερμοδυναμική - Εργαστήριο Ενότητα 2: Εισαγωγή σε έννοιες προγραμματισμού με υπολογιστή Κυρατζής Νικόλαος Τμήμα Μηχανικών Περιβάλλοντος και Μηχανικών Αντιρρύπανσης ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό

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

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

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

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

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης Εργαστήριο 6 Εντολές Επανάληψης Η δομή Επιλογής στη PASCAL H δομή Επανάληψης στη PASCAL. Ρεύμα Εισόδου / Εξόδου.. Ρεύμα Εισόδου / Εξόδου. To πρόγραμμα γραφικών gnuplot. Γραφικά στη PASCAL. Σκοπός 6.1 ΕΠΙΔΙΩΞΗ

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 10: Συναρτήσεις Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

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

8 FORTRAN 77/90/95/2003

8 FORTRAN 77/90/95/2003 ΠΕΡΙΕΧΟΜΕΝΑ ΚΕΦΑΛΑΙΟ 1: Εισαγωγή... 17 1.1. Ανασκόπηση της ιστορίας των υπολογιστών... 18 1.2. Πληροφορία και δεδομένα... 24 1.3. Ο Υπολογιστής... 26 1.4. Δομή και λειτουργία του υπολογιστή... 28 1.5.

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

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

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

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

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ Κεφάλαιο 7 ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ Ερωτήσεις 1. Να αναφέρετε διαφορές μεταξύ γλωσσών μηχανής και γλωσσών χαμηλού επιπέδου. Οι γλώσσες μηχανής κωδικοποιούν τις εντολές τους με ομάδες

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

ΘΕΜΑ Α. Α2. Να αναφέρετε από τι εξαρτάται η επιλογή του καλύτερου αλγορίθμου ταξινόμησης. Μονάδες 4. Σελίδα 1 από 8

ΘΕΜΑ Α. Α2. Να αναφέρετε από τι εξαρτάται η επιλογή του καλύτερου αλγορίθμου ταξινόμησης. Μονάδες 4. Σελίδα 1 από 8 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2013 Γ Λυκείου Τεχνολογική Κατεύθυνση ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις 1-5

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