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

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

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

Transcript

1 Διαδικαστικός Προγραμματισμός Ενότητα 1: Βασικές έννοιες της γλώσσας προγραμματισμού C Καθηγήτρια Μαρία Σατρατζέμη

2 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2

3 Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Μακεδονίας» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3

4 Βασικές έννοιες της γλώσσας προγραμματισμού C

5 Σκοποί ενότητας(1) Να κατανοήσετε τις έννοιες του πηγαίου, αντικειμενικού και εκτελέσιμου αρχείου. Να κατανοήσετε το ρόλο των διαδικασιών μεταγλώττισης και σύνδεσης. Να αποκτήσετε μια αίσθηση της δομής των προγραμμάτων C. Να εκτιμήσετε τη σπουδαιότητα των βιβλιοθηκών. Να κατανοήσετε ότι πολλά απλά προγράμματα αποτελούνται από τρεις φάσεις: είσοδο, υπολογισμό και έξοδο. Να κατανοήσετε το ρόλο των μεταβλητών σε ένα πρόγραμμα ως δεσμευτικών χώρου για τιμές δεδομένων που μπορεί να αλλάζουν κατά την εκτέλεση ενός προγράμματος 5

6 Σκοποί ενότητας(2) Να αναγνωρίζετε την ύπαρξη διαφορετικών τύπων δεδομένων, συμπεριλαμβανομένων των: int, long, double, string. Να χρησιμοποιείτε τις συναρτήσεις GetInteger(), GetLong(), GetReal(), GetLine() της βιβλιοθήκης simpio.h για την είσοδο/διάβασμα δεδομένων. Να μπορείτε να κάνετε απλούς υπολογισμούς χρησιμοποιώντας αριθμητικές παραστάσεις. Να κατανοήσετε τη διεργασία της μετατροπής αριθμητικών τύπων 6

7 Αλγόριθμοι Επιστήμη των υπολογιστών: επιστήμη που αφορά στην επίλυση προβλημάτων (problem solving) με τη χρήση υπολογιστών Οι στρατηγικές για την επίλυση προβλημάτων με τη βοήθεια του υπολογιστή είναι γνωστές ως αλγόριθμοι (algorithms). Ένας αλγόριθμος πρέπει να είναι: Σαφώς και απερίφραστα ορισμένος Αποτελεσματικός: τα βήματα του να είναι εκτελέσιμα Πεπερασμένος: τερματίζεται μετά από ένα ορισμένο πλήθος βημάτων Τα παραπάνω κριτήρια είναι γνωστά ως κριτήρια πληρότητας ενός αλγορίθμου. 7

8 Προγράμματα Για να εκτελεστεί ένας αλγόριθμος στον υπολογιστή πρέπει να γραφτεί ένα πρόγραμμα (program) που να τον υλοποιεί, διαδικασία γνωστή και ως κωδικοποίηση (coding). Τα προγράμματα γράφονται συνήθως σε μια γλώσσα υψηλού επιπέδου (higher-level language). Στη συνέχεια, ο μεταγλωττιστής (compiler) που ενσωματώνεται στο χρησιμοποιούμενο προγραμματιστικό περιβάλλον μεταφράζει το πρόγραμμα στη γλώσσα μηχανής χαμηλού επιπέδου (lower-level machine language) ενός συγκεκριμένου υπολογιστικού συστήματος. 8

9 Δημιουργία αρχείου πηγαίου κώδικα (source file), το οποίο περιλαμβάνει το κείμενο του προγράμματος. Ο μεταγλωττιστής μεταφράζει το πηγαίο αρχείο σε ένα αντικειμενικό αρχείο (object file) που περιέχει τις εντολές που είναι κατάλληλες για το συγκεκριμένο υπολογιστικό σύστημα. Το αντικειμενικό αρχείο συνδέεται με άλλα αντικειμενικά αρχεία βιβλιοθήκες (libraries), τα οποία περιέχουν τις εντολές γλώσσας μηχανής για διάφορες λειτουργίες που απαιτούνται από τα περισσότερα προγράμματα, διαδικασία γνωστή ως σύνδεση (linking). Το αποτέλεσμα της σύνδεσης είναι η δημιουργία του εκτελέσιμου αρχείου/προγράμματος (executable file/program). Η διαδικασία της μεταγλώττισης 9

10 Προγραμματιστικά λάθη Αποσφαλμάτωση (1) Συντακτικά λάθη: Οι γλώσσες προγραμματισμού διαθέτουν ένα σύνολο συντακτικών κανόνων (syntax rules), οι οποίοι καθορίζουν αν ένα πρόγραμμα είναι σωστά δομημένο. Ο μεταγλωττιστής ελέγχει το πρόγραμμά σας και αν κάποιος ή κάποιοι από αυτούς τους συντακτικούς κανόνες παραβιάζονται τότε αναφέρει ένα συντακτικό λάθος (syntax error). Σε αυτή την περίπτωση τα λάθη θα πρέπει να διορθωθούν και το πρόγραμμα να μεταγλωττιστεί ξανά. 10

11 Σφάλματα: Προγραμματιστικά λάθη Αποσφαλμάτωση (2) Ο σημαντικότερος τύπος προγραμματιστικού λάθους δεν είναι τα συντακτικά, αλλά τα λάθη που έχουν ως αποτέλεσμα το πρόγραμμα να παράγει λάθος αποτελέσματα ή καθόλου αποτελέσματα. Τα λάθη αυτά, τα οποία εμποδίζουν το πρόγραμμά σας να επιλύσει ένα πρόβλημα εξαιτίας ενός λάθους στη λογική σας, ονομάζονται σφάλματα (bugs) ή λογικά λάθη. Η διαδικασία εύρεσης και διόρθωσης των σφαλμάτων ονομάζεται αποσφαλμάτωση (debugging). Τα περισσότερα προγραμματιστικά περιβάλλοντα ενσωματώνουν εργαλεία αποσφαλμάτωσης που στηρίζουν ουσιαστικά τον προγραμματιστή στον εντοπισμό των σφαλμάτων των προγραμμάτων του. 11

12 Συντήρηση λογισμικού Τα περισσότερα προγράμματα πρέπει να ενημερώνονται σε τακτά χρονικά διαστήματα ώστε να διορθώνονται τα σφάλματα ή προκειμένου να ανταποκρίνονται σε αλλαγές στις απαιτήσεις της εφαρμογής, διεργασία γνωστή ως συντήρηση λογισμικού (software maintenance). Η συντήρηση λογισμικού είναι τις περισσότερες φορές δύσκολη, γιατί οι προγραμματιστές συνήθως γράφουν ένα πρόγραμμα ώστε να λειτουργεί και να επιλύει το υπάρχον πρόβλημα χωρίς να βλέπουν μακροπρόθεσμα. Το πεδίο της συγγραφής προγραμμάτων με τέτοιο τρόπο ώστε να μπορούν να κατανοηθούν και να συντηρηθούν από άλλους ονομάζεται τεχνολογία λογισμικού (software engineering). Στόχος μας είναι να μάθετε να γράφετε προγράμματα σε C σύμφωνα με τις αρχές της τεχνολογίας λογισμικού, ή με απλά λόγια με σωστό στυλ. 12

13 Το πρόγραμμα Hello world /* * Αρχείο: hello.c * * Το πρόγραμμα αυτό εμφανίζει στην οθόνη το μήνυμα * "Hello, world." (γεια σου κόσμε). * Το συγκεκριμένο πρόγραμμα περιλαμβάνεται στο * κλασικό βιβλίο αναφοράς της C "The C Programming * Language, των Brian Kernighan και Dennis Ritchie. */ σχόλιο προγράμματος #include <stdio.h> #include "genlib.h" συμπεριλήψεις βιβλιοθηκών main() { printf("hello, world.\n"); } Κυρίως πρόγραμμα 13

14 Σχόλια Σχόλιο (comment) θεωρείται οποιοδήποτε κείμενο περικλείεται μεταξύ των σημειωτών /* και */. Σκοπός: τα σχόλια περιγράφουν το έργο/λειτουργία ενός προγράμματος ή γενικότερα ενός τμήματος κώδικα και γράφονται για να βοηθήσουν τους ανθρώπους και όχι τον υπολογιστή στην κατανόηση και συντήρηση ενός προγράμματος. Ένα σχόλιο μπορεί να εκτείνεται σε περισσότερες από μία γραμμές. Όταν ένα πρόγραμμα μεταγλωττίζεται τα σχόλια αγνοούνται. Στο παράδειγμα Hello world. χρησιμοποιείται ένα ειδικό σχόλιο που ονομάζεται σχόλιο προγράμματος και περιλαμβάνει το όνομα του αρχείου του προγράμματος και μια σύντομη περιγραφή της λειτουργίας του. Τα σχόλια που περιγράφουν τη λειτουργία ενός προγράμματος, το ρόλο των μεταβλητών και τη λειτουργία πολύπλοκων τμημάτων κώδικα αποτελούν παράδειγμα καλού προγραμματιστικού στυλ και θα πρέπει να περιλαμβάνονται στα προγράμματά σας. 14

15 Συμπεριλήψεις βιβλιοθηκών (1) Η βιβλιοθήκη (library) είναι μια συλλογή εργαλείων που έχουν γραφτεί από άλλους προγραμματιστές προκειμένου να εκτελούν συγκεκριμένες λειτουργίες. Σκοπός: οι βιβλιοθήκες είναι πολύ σημαντικές για τον προγραμματισμό, γιατί μας δίνουν τη δυνατότητα να χρησιμοποιούμε τα εργαλεία που περιλαμβάνονται σε αυτές και μας απαλλάσσουν από τον κόπο να τα γράφουμε μόνοι μας. Για να χρησιμοποιήσουμε μια βιβλιοθήκη, ο μεταγλωττιστής της C θα πρέπει να γνωρίζει ποια εργαλεία είναι διαθέσιμα σε αυτή τη βιβλιοθήκη. Στις περισσότερες περιπτώσεις, αυτές οι πληροφορίες παρέχονται με τη μορφή ενός αρχείου κεφαλίδας (header file), το οποίο περιέχει μια περιγραφή των εργαλείων που παρέχονται από τη συγκεκριμένη βιβλιοθήκη. 15

16 Συμπεριλήψεις βιβλιοθηκών (2) Για κάθε βιβλιοθήκη που θέλουμε να συμπεριλάβουμε σε ένα πρόγραμμα θα πρέπει να γράψουμε μετά το σχόλιο προγράμματος μια γραμμή include: # include <όνομα-αρχείου-κεφαλίδας> ή # include όνομα-αρχείου-κεφαλίδας Οι γωνιακές αγκύλες χρησιμοποιούνται όταν θέλουμε να συμπεριλάβουμε στο πρόγραμμά μας μια πρότυπη βιβλιοθήκη, δηλαδή μια βιβλιοθήκη που είναι πάντα διαθέσιμη όταν χρησιμοποιούμε την ANSI C. Τα εισαγωγικά χρησιμοποιούνται όταν θέλουμε να συμπεριλάβουμε στο πρόγραμμά μας μια προσωπική βιβλιοθήκη, δηλαδή μια βιβλιοθήκη που έχουμε γράψει εμείς. 16

17 Παραδείγματα: Συμπεριλήψεις βιβλιοθηκών (3) # include <stdio.h> συμπερίληψη της πρότυπης βιβλιοθήκης εισόδου/εξόδου stdio (standard input/output library) που παρέχεται μαζί με την ANSI C. # include genlib.h συμπερίληψη της γενικής βιβλιοθήκης genlib (general library) που είναι μία από τις εκτεταμένες βιβλιοθήκες που συνοδεύουν το βιβλίο του μαθήματος. 17

18 Συναρτήσεις: το κυρίως πρόγραμμα(1) Συνάρτηση (function) είναι μια ακολουθία μεμονωμένων βημάτων προγράμματος που έχουν ομαδοποιηθεί, και στην οποία έχει δοθεί ένα όνομα. Η συνάρτηση main που παρουσιάζεται στο πρόγραμμα Hello world είναι το πρώτο παράδειγμα συνάρτησης της C. Κάθε φορά που εκτελείτε ένα πρόγραμμα C, ο υπολογιστής εκτελεί τις εντολές (statements) που περικλείονται στο σώμα (body) της συνάρτησης main, η οποία θα πρέπει να υπάρχει σε κάθε ολοκληρωμένο πρόγραμμα C. 18

19 Συναρτήσεις: το κυρίως πρόγραμμα(2) Σώμα συνάρτησης main() { } printf("hello, world.\n"); εντολή 19

20 Συναρτήσεις: η συνάρτηση printf Στη συνάρτηση main του παραδείγματος μας υπάρχει μία μόνο εντολή: printf("hello, world.\n"); Η εντολή printf είναι και η ίδια μια συνάρτηση της βιβλιοθήκης εισόδου/εξόδου που είναι διαθέσιμη στο πρόγραμμά μας, εφόσον την έχουμε συμπεριλάβει με την γραμμή: # include <stdio.h> Τι κάνει όμως η printf; Όπως και η main, η printf είναι και αυτή μια συνάρτηση, κάτι που σημαίνει ότι αντιστοιχεί σε μια ακολουθία λειτουργιών. Όταν θέλετε να χρησιμοποιήσετε αυτές τις λειτουργίες, μπορείτε να αναφερθείτε σε αυτές συνολικά με το όνομα της συνάρτησης. 20

21 Συναρτήσεις: κλήση(1) Στον προγραμματισμό, η επίκληση μιας συνάρτησης με τη χρήση του ονόματός της ονομάζεται κλήση (calling) της συνάρτησης. Κατά την κλήση μιας συνάρτησης, συχνά πρέπει να παρέχουμε επιπλέον πληροφορίες. Για παράδειγμα, η συνάρτηση printf εμφανίζει δεδομένα στην οθόνη. Αυτά τα δεδομένα ονομάζονται ορίσματα. Όρισμα (argument) είναι μια πληροφορία την οποία θέτει αυτός που έχει κάνει την κλήση μιας συγκεκριμένης συνάρτησης (ο καλών) στη διάθεση της ίδιας της συνάρτησης. 21

22 Συναρτήσεις: κλήση(2) Για παράδειγμα, η εντολή: printf ("Hello, world.\n"); ως όρισμα χρησιμοποιείται μια ακολουθία χαρακτήρων που περικλείεται σε εισαγωγικά, ή αλλιώς ένα αλφαριθμητικό (string) 22

23 Δεδομένα Δεδομένα (data) θεωρούμε τις πληροφορίες που χειρίζεται το πρόγραμμα: οποιαδήποτε μηνύματα εμφανίζονται, η εισαγωγή δεδομένων (είσοδος) που ζητείται από τον χρήστη, τιμές που παράγονται ως αποτέλεσμα υπολογισμών, ή τα ενδιάμεσα αποτελέσματα που δημιουργούνται στην πορεία. Το πρώτο παράδειγμα δεδομένων είναι η ακολουθία χαρακτήρων που περικλείεται σε εισαγωγικά και ονομάζεται αλφαριθμητικό (string): "Hello, world.\n" Ο τελευταίος χαρακτήρας του αλφαριθμητικού είναι ένας ειδικός χαρακτήρας που ονομάζεται χαρακτήρας αλλαγής γραμμής (newline), υποδεικνύεται με την ακολουθία \n και έχει ως αποτέλεσμα την μετατόπιση του δρομέα στην αρχή της επόμενης γραμμής της οθόνης. 23

24 Ένα πρόγραμμα άθροισης δύο αριθμών /* * File: add2.c * * Αυτό το πρόγραμμα «διαβάζει» δύο αριθμούς, τους * προσθέτει και εμφανίζει το άθροισμά τους. */ #include <stdio.h> #include "genlib.h" #include "simpio.h" main() { int n1, n2, total; βιβλιοθήκη απλοποιημένης εισόδου/εξόδου (simplified input/output) δήλωση μεταβλητών } printf("this program adds two numbers.\n"); printf("1st number? "); n1 = GetInteger(); printf("2nd number?"); n2 = GetInteger(); total = n1 + n2; printf("the total is %d.\n", total); συνάρτηση της βιβλιοθήκης simpio για την ανάγνωση ακέραων τιμών που εισάγει ο χρήστης εντολές ανάθεσης 24

25 Οι φάσεις ενός προγράμματος Τα προγράμματα, στην πλειονότητά τους, χωρίζονται σε τρεις φάσεις: ΕΙΣΟΔΟΣ ΥΠΟΛΟΓΙΣΜΟΙ ΕΞΟΔΟΣ Στο πρόγραμμα άθροισης των 2 αριθμών έχουμε: Τη φάση εισόδου (input), κατά την οποία το πρόγραμμα ζητά από τον χρήστη να εισαγάγει τους δύο αριθμούς που πρόκειται να προστεθούν. Τη φάση υπολογισμού (computation), κατά την οποία το πρόγραμμα υπολογίζει το άθροισμα των δύο αριθμών. Τη φάση εξόδου (output), κατά την οποία το πρόγραμμα εμφανίζει το αποτέλεσμα (το άθροισμα των 2 αριθμών). Σε κάθε πρόγραμμα πριν από τις παραπάνω φάσεις θα πρέπει να δηλωθούν οι απαραίτητες μεταβλητές. 25

26 Δήλωση μεταβλητών (1) Μια μεταβλητή (variable) αποτελεί δεσμευτικό θέσης για μια τιμή (που είναι άγνωστη τη στιγμή που γράφεται το πρόγραμμα) και έχει τρεις σημαντικές ιδιότητες: ένα όνομα, μια τιμή και έναν τύπο. Πριν να χρησιμοποιηθεί μια μεταβλητή, πρέπει να δηλωθεί. Η δήλωση μιας μεταβλητής (variable declaration) πληροφορεί τον μεταγλωττιστή για το όνομα της νέας μεταβλητής και τον τύπο των δεδομένων που θα μπορεί να φιλοξενήσει η μεταβλητή κατά την εκτέλεση του προγράμματος: <τύπος-δεδομένων> <όνομα-μεταβλητής>; π.χ. int n1; Κανόνες ονομασίας μεταβλητών: ξεκινάει με γράμμα ή _ τα κεφαλαία και πεζά γράμματα είναι διαφορετικά (π.χ. ΑΒ, Αb είναι διαφορετικά ονόματα) δεν μπορεί να είναι λέξη-κλειδί (keywords) (π.χ. int) μπορούν να έχουν οποιοδήποτε μήκος, αλλά μόνο οι 31 πρώτοι χαρακτήρες είναι σημαντικοί το όνομα θα πρέπει να κάνει σαφές στον αναγνώστη ποια τιμή περιέχει Η αρχική τιμή μιας μεταβλητής δεν είναι ορισμένη. n1 26

27 Δήλωση μεταβλητών (2) Αποτέλεσμα εκτέλεσης της εντολής? Μνήμη (μεταβλητές) int n1, n2, total; n1 n2 total?? Η αρχική τιμή κάθε μεταβλητής είναι απροσδιόριστη, και δεν θα πρέπει να κάνετε καμία υπόθεση σχετικά με τις τιμές που μπορεί να περιέχει όταν ξεκινά το πρόγραμμα. 27

28 Η φάση εισόδου (1) 1. printf("1st number? "); 2. n1 = GetInteger(); 3. printf("2nd number? "); 4. n2 = GetInteger(); Γραμμές 1, 3: εμφάνιση προτρεπτικών μηνυμάτων (prompt) μέσω των οποίων ο χρήστης ενημερώνεται για το τι απαιτείται από αυτόν. Γραμμές 2, 4: εντολές ανάθεσης (assignment statements), οι οποίες αποθηκεύουν την τιμή που βρίσκεται στα δεξιά του συμβόλου ισότητας στη μεταβλητή που βρίσκεται στα αριστερά του. Το δεξιό μέλος είναι μια κλήση της συνάρτησης GetInteger της βιβλιοθήκης simpio, η οποία: (1) περιμένει από τον χρήστη να εισαγάγει έναν ακέραιο αριθμό χρησιμοποιώντας το πληκτρολόγιο και (2) επιστρέφει την τιμή που πληκτρολόγησε ο χρήστης πίσω στο κυρίως πρόγραμμα και την αναθέτει στη μεταβλητή n1 ή n2 αντίστοιχα. 28

29 Η φάση εισόδου (2) printf("1st number? "); n1 = GetInteger(); printf("2nd number? "); n2 = GetInteger(); Αποτέλεσμα εκτέλεσης των εντολών (με έντονη γραφή παρουσιάζονται τα δεδομένα που εισάγει ο χρήσης) Οθόνη Μνήμη (μεταβλητές) This program adds two numbers number? 2 2nd number? 3 1st n1 2 n2 3 total = enter 29

30 Η φάση υπολογισμού(1) Ο υπολογισμός καθορίζεται γράφοντας μια παράσταση (expression) που υποδεικνύει τις απαραίτητες πράξεις: n1 + n2 Το αποτέλεσμα της παράστασης αποθηκεύεται με μια εντολή ανάθεσης στη μεταβλητή total, έτσι ώστε να χρησιμοποιηθεί στη συνέχεια του προγράμματος. total = n1 + n2; 30

31 Η φάση υπολογισμού(2) Αποτέλεσμα εκτέλεσης των εντολών (με έντονη γραφή παρουσιάζονται τα δεδομένα που έχει εισάγει ο χρήστης) Οθόνη This program adds two numbers 1st number? 2 2nd number? 3 Μνήμη (μεταβλητές) n1 n2 2 3 total 5 31

32 Η φάση εξόδου(1) Η φάση εξόδου συνίσταται στην εμφάνιση του υπολογισμένου αποτελέσματος χρησιμοποιώντας τη συνάρτηση printf printf("the total is %d.\n", total); Η printf εμφανίζει στην οθόνη καθέναν από τους χαρακτήρες του αλφαριθμητικού της ορίσματος, μέχρι να φτάσει στο σύμβολο του ποσοστού, οπότε κάνει κάτι ιδιαίτερο. Το σύμβολο % και το γράμμα που το ακολουθεί ονομάζεται κωδικός μορφοποίησης (format code). Στο παράδειγμα μας ο κωδικός %d καθορίζει ότι η έξοδος θα πρέπει να εμφανιστεί ως δεκαδικός ακέραιος (decimal integer). 32

33 Η φάση εξόδου(2) Αποτέλεσμα εκτέλεσης των εντολών (με έντονη γραφή παρουσιάζονται τα δεδομένα που έχει εισάγει ο χρήστης) Οθόνη Μνήμη (μεταβλητές) This program adds two numbers number? 2 2nd number? 3 The total is 5. 1st n1 2 n2 3 total 5 33

34 Περισσότερα για τους κωδικούς μορφοποίησης(1) Ο κωδικός μορφοποίησης ενεργεί ως δεσμευτικό θέσης για μια τιμή, η οποία εισάγεται σε εκείνο το σημείο κατά την έξοδο. Το γράμμα του κωδικού μορφοποίησης καθορίζει τη μορφοποίηση της εξόδου. Η συνάρτηση printf μπορεί να εμφανίσει οποιοδήποτε πλήθος τιμών δεδομένων ως τμήμα της εξόδου. Για κάθε ακέραιη τιμή που θέλετε να εμφανιστεί ως τμήμα της εξόδου, θα πρέπει να συμπεριλάβετε τον κωδικό %d στο αλφαριθμητικό που χρησιμοποιείται ως πρώτο όρισμα κατά την κλήση της printf. printf(" %d + %d = %d.\n", n1, n2, total); 34

35 Περισσότερα για τους κωδικούς μορφοποίησης(2) Αποτέλεσμα εκτέλεσης των εντολών (με έντονη γραφή παρουσιάζονται τα δεδομένα που έχει εισάγει ο χρήστης) Οθόνη Μνήμη (μεταβλητές) This program adds two numbers number? 2 2nd number? = 5. 1st n1 2 n2 3 total 5 35

36 Τύποι δεδομένων Ένας τύπος δεδομένων (data type) ορίζεται από δύο χαρακτηριστικά: - ένα σύνολο τιμών ή πεδίο ορισμού (domain), δηλ. το σύνολο των τιμών που αποτελούν στοιχεία αυτού του τύπου - ένα σύνολο πράξεων, το οποίο περιλαμβάνει τα εργαλεία που έχετε στη διάθεσή σας προκειμένου να χειριστείτε τις τιμές του συγκεκριμένου τύπου. Τύπος δεδομένων Πεδίο ορισμού Σύνολο πράξεων int όλοι οι ακέραιοι (, -2, -1, 0, 1, 2, ) μέχρι τα όρια που καθορίζονται από το υλικό της μηχανής (συνήθως ) πρόσθεση, αφαίρεση, πολ/μός, διαίρεση long χαρακτήρας μεγαλύτερος ακέραιος Είσοδος: GetLong() Kωδικός μορφοποίησης: %ld το σύνολο των συμβόλων που εμφανίζονται στο πληκτρολόγιο ή που μπορούν να εμφανιστούν στην οθόνη π.χ. σύγκριση χαρακτήρων 36

37 Δεδομένα κινητής υποδιαστολής Αριθμοί κινητής υποδιαστολής (floating-point numbers), στις περισσότερες γλώσσες προγραμματισμού, ονομάζονται οι αριθμοί που περιλαμβάνουν δεκαδικό κλασματικό μέρος (και χρησιμοποιούνται στα μαθηματικά για την προσέγγιση των πραγματικών αριθμών). Τύπος δεδομένων: double Είσοδος/διάβασμα δεδομένων τύπου double: καλείται η συνάρτηση GetReal της βιβλιοθήκης simpio που επιστρέφει μια τιμή τύπου double. Εμφάνιση τιμής τύπου double σε μια printf: χρησιμοποιείται ο κωδικός μορφοποίησης %g. 37

38 /* * Αρχείο: add2f.c * * Αυτό το πρόγραμμα διαβάζει δύο αριθμούς κινητής υποδιαστολής, * τους προσθέτει, και εμφανίζει το άθροισμά τους. */ #include <stdio.h> #include "genlib.h«`` #include "simpio.h" main() { double n1, n2, total; Άθροισμα αριθμών κινητής υποδιαστολής } printf("this program adds two floating-point numbers.\n"); printf("1st number? "); n1 = GetReal(); printf("2nd number? "); n2 = GetReal(); total = n1 + n2; printf("the total is %g\n", total); This program adds two floatingpoint numbers 1st number? 2.0 2nd number? 3.6 The total is

39 Αλφαριθμητικά δεδομένα Ο τύπος του αλφαριθμητικού (ακολουθία χαρακτήρων) δεν έχει οριστεί από τους σχεδιαστές της C. Ωστόσο, έχει οριστεί στη βιβλιοθήκη genlib και μπορούμε να τον χρησιμοποιούμε όπως τους τύπους int και double. Τύπος δεδομένων: string Είσοδος/διάβασμα δεδομένων τύπου string: καλείται η συνάρτηση GetLine της βιβλιοθήκης simpio που διαβάζει μια ολόκληρη γραμμή και την επιστρέφει ως αλφαριθμητικό Εμφάνιση τιμής τύπου string σε μια printf: χρησιμοποιείται ο κωδικός μορφοποίησης %s 39

40 Παράδειγμα με αλφαριθμητικά /* * Αρχείο: greeting.c * * Αυτό το πρόγραμμα εμφανίζει έναν πιο προσωπικό χαιρετισμό * από εκείνον του αρχικού προγράμματος "Hello, world." * εισάγοντας το όνομα του χρήστη. */ #include <stdio.h> #include "genlib.h" #include "simpio.h" main() { string user; What is your name? Eric Hello, Eric. } printf("what is your name? "); user = GetLine(); printf("hello, %s.\n", user); 40

41 Παραστάσεις Μια παράσταση (expression) αποτελείται από: - όρους (terms) που παριστάνουν τιμές δεδομένων και - τελεστές (operators) που υποδεικνύουν μια υπολογιστική πράξη. Ένας όρος μπορεί να είναι: Μια σταθερά (constant): κάθε συγκεκριμένη τιμή δεδομένων που εμφανίζεται ως τμήμα του κειμένου του προγράμματος και μπορεί να είναι ακέραια, κινητής υποδιαστολής, αλφαριθμητική. Μια μεταβλητή Μια κλήση συνάρτησης, όπως για παράδειγμα η GetInteger() Μια παράσταση σε παρενθέσεις: οι παρενθέσεις χρησιμοποιούνται για να υποδείξουν τη σειρά των πράξεων. Μια παράσταση σε παρενθέσεις είναι από μόνη της ένας όρος που αντιμετωπίζεται από τον μεταγλωττιστή ως μια μονάδα που πρέπει να υπολογιστεί πριν να συνεχιστεί ο υπολογισμός. 41

42 Τελεστές και τελεστέοι Αριθμητικοί τελεστές: + πρόσθεση - αφαίρεση (ή άρνηση, αν γράφεται χωρίς τιμή στα αριστερά του: - x. Σε αυτή την περίπτωση ονομάζεται μονομελής τελεστής (unary operator) γιατί εφαρμόζεται σε ένα μόνο τελεστέο. Όλοι οι υπόλοιποι τελεστές ονομάζονται διμελείς.) * πολλαπλασιασμός / διαίρεση % τελεστής υπολοίπου 42

43 Συνδυασμοί ακεραίων & αριθμών κιν. υποδιαστολής Στη C, οι τιμές των τύπων int και double μπορούν να συνδυαστούν ελεύθερα. Αν χρησιμοποιήσουμε ένα διμελή τελεστή με δύο τιμές τύπου int τότε το αποτέλεσμα θα είναι τύπου int. Αν, έστω και μία από τις δύο τιμές, είναι τύπου double τότε το αποτέλεσμα θα είναι τύπου double. Παραδείγματα 9 / 4 = 2 Προσοχή: Το υπόλοιπο αγνοείται!!! 9.0 / 4 = / 4.0 = / 4.0 =

44 Ο τελεστής υπολοίπου % Ο τελεστής του υπολοίπου % απαιτεί να είναι και οι δύο τελεστέοι τύπου int και επιστρέφει το υπόλοιπο της διαίρεσης του πρώτου τελεστέου με τον δεύτερο. Παραδείγματα 0 % 4 = 0 1 % 4 = 1 4 % 4 = 0 19 % 4 = 3 20 % 4 = % 4 = 1 Ο τελεστής % χρησιμοποιείται συχνά προκειμένου να ελεγχθεί αν ένας αριθμός διαιρείται με κάποιον άλλο. Η χρήση του τελεστή % με αρνητικούς τελεστέους θα πρέπει να αποφεύγεται γιατί η C συμπεριφέρεται με απρόβλεπτο τρόπο. 44

45 Κανόνες προτεραιότητας Όταν σε μία παράσταση υπάρχουν περισσότεροι από ένας τελεστές τότε η σειρά εκτέλεσης των πράξεων είναι πολύ σημαντική και καθορίζεται από τους κανόνες προτεραιότητας (rules of precedence): Εφαρμόζονται πρώτα τυχόν μονομελείς τελεστές - Στη συνέχεια εφαρμόζονται οι πολλαπλασιαστικοί τελεστές *, / και %. Τέλος, εφαρμόζονται οι προσθετικοί τελεστές + και -. Παρατηρήσεις: Μπορείτε να καθορίζετε τη σειρά εκτέλεσης των πράξεων περικλείοντας μεμονωμένες υποπαραστάσεις σε παρενθέσεις. Αν στον ίδιο τελεστέο εφαρμόζονται δύο τελεστές με την ίδια προτεραιότητα τότε εκτελούνται οι πράξεις από αριστερά προς τα δεξιά. 45

46 8 * ( ) % (4 + 3 / 2) 1 8 * (1 + 5) % (4 + 3 / 2) 1 8 * 6 % (4 + 3 / 2) 1 8 * 6 % (4 + 1) 1 8 * 6 % % Εφαρμογή κανόνων προτεραιότητας 46

47 Αυτόματη μετατροπή τύπου Όταν σε ένα πρόγραμμα C συνδυάζετε τιμές διαφορετικών τύπων τότε η C μετατρέπει αυτόματα τις τιμές ενός τύπου σε ένα άλλο συμβατό τύπο, διεργασία γνωστή ως αυτόματη μετατροπή τύπου (automatic type conversion). Παραδείγματα πριν να εκτελεστεί η πρόσθεση ο ακέραιος 1 μετατρέπεται εσωτερικά στον αριθμό κινητής υποδιαστολής 1.0 και εκτελείται η πρόσθεση double total; total = 0; int n; n = ; ο αριθμός 0 κατά τη διεργασία ανάθεσης θα μετατραπεί σε αριθμό τύπου double, δηλ. 0.0 ο αριθμός κατά τη διεργασία ανάθεσης θα μετατραπεί στον αριθμό τύπου int 1. Έχουμε, δηλαδή, απαλοιφή του δεκαδικού κλάσματος, διεργασία γνωστή ως αποκοπή (truncation) 47

48 Τελεστής ρητής μετατροπής Στη C, μπορείτε να ζητήσετε ρητή μετατροπή τύπου μιας τιμής χρησιμοποιώντας τον μονομελή τελεστή ρητής μετατροπής (type cast), ο οποίος αποτελείται από τον επιθυμητό τύπο περικλειόμενο σε παρενθέσεις και ακολουθούμενο από την τιμή που θέλουμε να μετατρέψουμε. Παράδειγμα int num, den; double quotient; quotient = num / den; Λάθος!!!! Το κλασματικό μέρος απαλείφεται π.χ. 9 / 4 = 2 και όχι 2.25 quotient = num / (double) den; quotient = (double) num / den; quotient = ((double) num) / den; Σωστό 48

49 Τέλος Ενότητας

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

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

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

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

ιαδικαστικός Προγραμματισμός ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ιαδικαστικός Προγραμματισμός Α Εξάμηνο Μάθημα 1 ο : Βασικές έννοιες της γλώσσας προγραμματισμού C Στόχοι μαθήματος Να κατανοήσετε τις έννοιες του πηγαίου, αντικειμενικού

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

Εισαγωγή στην γλώσσα προγραμματισμού C

Εισαγωγή στην γλώσσα προγραμματισμού C Εισαγωγή στην γλώσσα προγραμματισμού C Χαρακτηριστικά της C Ιδιαίτερα δημοφιλής Έχει χρησιμοποιηθεί για τον προγραμματισμό ευρέος φάσματος συστημάτων και εφαρμογών Γλώσσα μετρίου επιπέδου Φιλοσοφία: Ο

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

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

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

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

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

Διαδικαστικός Προγραμματισμός Διαδικαστικός Προγραμματισμός Ενότητα 3: Εντολές ελέγχου επανάληψη Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό,

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

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

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

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

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

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

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

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

ιαδικαστικός Προγραμματισμός ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ιαδικαστικός Προγραμματισμός Α Εξάμηνο Μάθημα 3 ο : Εντολές ελέγχου > επανάληψη Στόχοι μαθήματος Να μάθετε τις λεπτομέρειες των εντολών while και for και τις περιπτώσεις

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

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

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

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

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 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 στην

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

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

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

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

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

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

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

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 2: Μεταβλητές και Σταθερές Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες Χρήσης

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

Προγραμματισμός Η/Υ. Ενότητα 2β: Εισαγωγή στη C (Μέρος Δεύτερο)

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

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

Προγραμματισμός H/Y Ενότητα 1: Εισαγωγή. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Προγραμματισμός H/Y Ενότητα 1: Εισαγωγή. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Προγραμματισμός H/Y Ενότητα 1: Εισαγωγή Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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

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

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

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

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

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

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

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Αριθμητική Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Δεύτερο Πρόγραμμα 1 / * Second Simple Program : add 2 numbers * / 2

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

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

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

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

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Δομημένος Προγραμματισμός Ενότητα 5(γ): Εργαστηριακή Άσκηση Αναπλ. Καθηγητής: Κωνσταντίνος Στεργίου Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 1 Εισαγωγή στη C

Κεφάλαιο 1 Εισαγωγή στη C Κεφάλαιο 1 Εισαγωγή στη C 1.1 Ιστορία της C Η γλώσσα προγραμματισμού C δημιουργήθηκε στα εργαστήρια Bell στις αρχές της δεκαετίας του 70 για να μεταφερθεί το λειτουργικό σύστημα Unix από ένα σύστημα DEC

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

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

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

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

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

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος http://www.teiser.gr/icd/staff/lantzos lantzos@teiser.gr 1 Πώς δημιουργούμε πρόγραμμα Η/Υ; 1. Ανάλυση του προβλήματος 2. Επινόηση & Σχεδιασμός

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 1: Εισαγωγή

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 1: Εισαγωγή ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 1: Εισαγωγή Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 1 Σημειώσεις βασισμένες στο βιβλίο Το MATLAB στην Υπολογιστική Επιστήμη και

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 2ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 ΣΦΑΛΜΑΤΑ ΜΕΤΑΓΛΩΤΤΙΣΗΣ Η γλώσσα C κάνει αυστηρή διάκριση μεταξύ πεζών

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

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

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

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

Συναρτήσεις και διαδικασίες

Συναρτήσεις και διαδικασίες Συναρτήσεις και διαδικασίες Χρήση συναρτήσεων βιβλιοθήκης Εντολή κλήσης της συνάρτησης printf: printf( Hello, world\n ); Μια συνάρτηση είναι ένα σύνολο εντολών που έχουν ομαδοποιηθεί και τους έχει αποδοθεί

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

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

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

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

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

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

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

5 &6. Τύποι δεδομένων, τελεστές και

5 &6. Τύποι δεδομένων, τελεστές και Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων 5 &6. Τύποι δεδομένων, τελεστές και αριθμητικές εκφράσεις Ιωάννης Κατάκης Σήμερα o Τύποι δεδομένων int, char, float, double o Τελεστές = + - * / % o Αριθμητικές

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

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι κ. ΠΕΤΑΛΙΔΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

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

Εργαστήριο 2ο. Περίγραμμα Εργαστηριακής Άσκησης

Εργαστήριο 2ο. Περίγραμμα Εργαστηριακής Άσκησης Γλώσσες Προγραμματισμού Εργαστήριο 2ο Τύποι Δεδομένων - Είσοδος / Έξοδος Εργαστήριο 2ο Περίγραμμα Εργαστηριακής Άσκησης Εργαστήριο 2ο...1 Θεωρία εργαστηρίου...2 Τύποι δεδομένων...2 Η συνάρτηση printf()...3

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

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

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

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

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

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

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

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ και ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ 2.1 Να δοθεί ο ορισμός

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

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

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

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

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

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

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

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

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

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

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

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

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

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

Διαδικαστικός Προγραμματισμός Διαδικαστικός Προγραμματισμός Ενότητα 7: Δείκτες Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες,

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

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

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

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

Εισαγωγή στον δομημένο προγραμματισμό

Εισαγωγή στον δομημένο προγραμματισμό Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Εισαγωγή στον δομημένο προγραμματισμό Ενότητα 7 η : Δείκτες Αν. καθηγητής Στεργίου Κώστας e-mail: kstergiou@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 1

ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 1 ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 1 Σημειώσεις βασισμένες στο βιβλίο Το MATLAB στην Υπολογιστική Επιστήμη και Τεχνολογία Μια Εισαγωγή Περιεχόμενο μαθήματος: Αλγοριθμική επίλυση προβλημάτων Προγραμματισμός

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

Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ )

Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ ) Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ. 147 159) Για τις γλώσσες προγραμματισμού πρέπει να έχουμε υπόψη ότι: Κάθε γλώσσα προγραμματισμού σχεδιάζεται για συγκεκριμένο σκοπό, δίνοντας ιδιαίτερη

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

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7) Είσοδος/ Έξοδος

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

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

Κεφάλαιο 2.5: Τύποι Δεδομένων, Τελεστές και Αριθμητικές Εκφράσεις. (Διαλέξεις 5-6)

Κεφάλαιο 2.5: Τύποι Δεδομένων, Τελεστές και Αριθμητικές Εκφράσεις. (Διαλέξεις 5-6) Κεφάλαιο 2.5: Τύποι Δεδομένων, Τελεστές και Αριθμητικές Εκφράσεις (Διαλέξεις 5-6) 1 Περιεχόμενα Τύποι Δεδομένων int, char, float, double Τελεστές =,+,-,*,/,% Αριθμητικές εκφράσεις a+b. 2 Τύποι Δεδομένων

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

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

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

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

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7)

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

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

3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting)

3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting) Εργαστήριο 3: 3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting) Η C++, όπως όλες οι γλώσσες προγραμματισμού, χρησιμοποιεί τελεστές για να εκτελέσει τις αριθμητικές και λογικές λειτουργίες.

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

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Pascal- Εισαγωγή Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει, όπως έχει ήδη αναφερθεί, τρία εξίσου

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

Οικονόμου Βαγγέλησ Διάλεξη Νο 2. Δομημένοσ Προγραμματιςμόσ - Διάλεξη 2

Οικονόμου Βαγγέλησ Διάλεξη Νο 2. Δομημένοσ Προγραμματιςμόσ - Διάλεξη 2 Οικονόμου Βαγγέλησ Διάλεξη Νο 2 Δομημένοσ Προγραμματιςμόσ - Διάλεξη 2 1 Η έννοια τησ μεταβλητήσ έδωςε λύςη ςτο πρόβλημα τησ αναφοράσ ςτην κύρια μνήμη του υπολογιςτή. Οι γλώςςεσ προγραμματιςμού υποςτηρίζουν

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

Τύποι Δεδομένων Είσοδος/Έξοδος

Τύποι Δεδομένων Είσοδος/Έξοδος Εργαστήριο 2 ο Τύποι Δεδομένων Είσοδος/Έξοδος Εισαγωγή Σκοπός του εργαστηρίου αυτού είναι η εισαγωγή μας στους τύπους δεδομένων της C και η εξοικείωση μας με συναρτήσεις του ρεπερτορίου της ANSI C σχετικές

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

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

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

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

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

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

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

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 23 ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μάθημα 2ο Τμήμα Διοίκησης Επιχειρήσεων α εξάμηνο Β. Φερεντίνος I/O 24 Βασική βιβλιοθήκη συναρτήσεων εισόδου/εξόδου #include Η συνάρτηση εξόδου printf printf("συμβολοσειρά

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

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

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

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

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό

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

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

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

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

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

H ΓΛΩΣΣΑ C. Μάθηµα 1: Το Πρώτο µας Πρόγραµµα σε C. ηµήτρης Ψούνης

H ΓΛΩΣΣΑ C. Μάθηµα 1: Το Πρώτο µας Πρόγραµµα σε C. ηµήτρης Ψούνης H ΓΛΩΣΣΑ C Μάθηµα 1: Το Πρώτο µας Πρόγραµµα σε C ηµήτρης Ψούνης 2 Περιεχόµενα Μαθήµατος Α. Θεωρία 1. Κύκλος Ανάπτυξης Προγράµµατος 1. Συγγραφή και Μεταγλώττιση ενός προγράµµατος 2. Εκτέλεση του προγράµµατος

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

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

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

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

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

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

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

Πρόβλημα 29 / σελίδα 28

Πρόβλημα 29 / σελίδα 28 Πρόβλημα 29 / σελίδα 28 Πρόβλημα 30 / σελίδα 28 Αντιμετάθεση / σελίδα 10 Να γράψετε αλγόριθμο, οποίος θα διαβάζει τα περιεχόμενα δύο μεταβλητών Α και Β, στη συνέχεια να αντιμεταθέτει τα περιεχόμενά τους

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

Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή

Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή Δημιουργία Νέου αρχείου Από το μενού προγραμμάτων ανοίγετε το DEV C++ Επιλέγετε File-> New-> Source File (συντόμευση πληκτρολογίου Ctrl+N)

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

Κεφάλαιο 2.5: Τύποι εδοµένων, Τελεστές και Αριθµητικές Εκφράσεις. ( ιαλέξεις 5-6) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 2.5: Τύποι εδοµένων, Τελεστές και Αριθµητικές Εκφράσεις. ( ιαλέξεις 5-6) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 2.5: Τύποι εδοµένων, Τελεστές και Αριθµητικές Εκφράσεις ( ιαλέξεις 5-6) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 1 Περιεχόµενα Τύποι εδοµένων int, char, float, double Τελεστές =,+,-,*,/,% Αριθµητικές εκφράσεις

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

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

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

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

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

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

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 1ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 ΓΙΑΤΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ; Στα μαθηματικά και στη φυσική συχνά έχουμε

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

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

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

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

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

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

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

Αλγόριθμοι Αναπαράσταση αλγορίθμων Η αναπαράσταση των αλγορίθμων μπορεί να πραγματοποιηθεί με:

Αλγόριθμοι Αναπαράσταση αλγορίθμων Η αναπαράσταση των αλγορίθμων μπορεί να πραγματοποιηθεί με: Αλγόριθμοι 2.2.1. Ορισμός: Αλγόριθμος είναι μια πεπερασμένη σειρά εντολών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήματος. Τα κυριότερα χρησιμοποιούμενα

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

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

Προγραµµατισµός Ι Εισαγωγή Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Προγραµµατισµός Ι Νικόλαος Δ. Τσελίκας Εισαγωγή Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Αναδροµή Σύντοµη Αναδροµή Η γλώσσα προγραµµατισµού C είναι µία γλώσσα

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

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

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

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

Περιεχόμενα. Κεφάλαιο 2.5: Τύποι Δεδομένων, Τελεστές και Αριθμητικές Εκφράσεις. (Διαλέξεις 5-6) Τύποι Δεδομένων. Τελεστές. Αριθμητικές εκφράσεις

Περιεχόμενα. Κεφάλαιο 2.5: Τύποι Δεδομένων, Τελεστές και Αριθμητικές Εκφράσεις. (Διαλέξεις 5-6) Τύποι Δεδομένων. Τελεστές. Αριθμητικές εκφράσεις Κεφάλαιο 2.5: Τύποι Δεδομένων, Τελεστές και Αριθμητικές Εκφράσεις (Διαλέξεις 5-6) 1 Περιεχόμενα Τύποι Δεδομένων int, char, float, double Τελεστές =,+,-,*,/,% Αριθμητικές εκφράσεις a+b. 2 1 Τύποι Δεδομένων

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

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 7: Συναρτήσεις Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες Χρήσης Το παρόν εκπαιδευτικό

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

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

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

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

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ 9.1 Εντολές Εισόδου/εξόδου Στην Pascal, 1. Tα δεδομένα των προγραμμάτων λαμβάνονται: είτε από το πληκτρολόγιο είτε από ένα αρχείο με τη χρήση των διαδικασιών read και readln,

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

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL )Βασικά στοιχεία Αναγνωριστικά (Identifiers) Τα αναγνωριστικά είναι ονόματα με τα οποία μπορούμε να αναφερόμαστε σε αποθηκευμένες

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

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

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

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

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

ΓΛΩΣΣΑ ΑΛΦΑΒΗΤΟ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΣΤΑΘΕΡΕΣ ΜΕΤΑΒΛΗΤΕΣ ΓΛΩΣΣΑ ΑΛΦΑΒΗΤΟ Κεφαλαία και μικρά γράμματα ελληνικού αλφαβήτου: Α Ω και α ω Κεφαλαία και μικρά γράμματα λατινικού αλφαβήτου: A Z και a z Αριθμητικά ψηφία: 0 9 Ειδικοί χαρακτήρες: + - * / =. ( ),! & κενός

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

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

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

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

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

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

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

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

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

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

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

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

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

Υπολογιστές Ι. Άδειες Χρήσης. Μεταβλητές και πράξεις. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

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

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

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ Εισαγωγή στην γλώσσα προγραμματισμού Ακαδημαϊκό έτος 2016-2017, Εαρινό εξάμηνο Οι σημειώσεις βασίζονται στα συγγράμματα: A byte of Python (ελληνική

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

Εισαγωγή στο Bison. Μεταγλωττιστές, Χειμερινό εξάμηνο

Εισαγωγή στο Bison. Μεταγλωττιστές, Χειμερινό εξάμηνο Εισαγωγή στο Bison Μεταγλωττιστές, Χειμερινό εξάμηνο 2016-2017 Συντακτική Ανάλυση Αποτελεί την δεύτερη φάση της μετάφρασης. Εύρεση της σχέσης που υπάρχει των λεκτικών μονάδων ενός προγράμματος. Παράδειγμα

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07 Αριθμητική στο δυαδικό σύστημα (γενικά) Συμπληρωματικά για δυαδικό σύστημα Η πρόσθεση στηρίζεται στους κανόνες: 0 + 0 = 0, 0 + 1 = 1, 1

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

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

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

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

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα. Ερωτήσεις προόδου C Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα. #include // δίνει οδηγία στον compiler να // συμπεριλάβει την βιβλιοθήκη stdio int

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