Προγραµµατισµός. Αλγόριθµοι και Προγράµµατα

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

Download "Προγραµµατισµός. Αλγόριθµοι και Προγράµµατα"

Transcript

1 Προγραµµατισµός Αλγόριθµοι και Προγράµµατα Προγραµµατισµός

2 Α Μέρος Εισαγωγή στον προγραµµατισµό Προγραµµατισµός

3 Υλικό: Hardware ευτερεύουσα µνήµη Συσκευές εισόδου RAM (κύρια µνήµη) Συσκευές εξόδου CPU HY (κεντρική µονάδα επεξεργασίας) Προγραµµατισµός 3

4 Ανατοµία ενός ΗΥ Μέσω των συσκευών εισόδου δεδοµένα και προγράµµατα εισάγονται από τον έξω κόσµο στον Η/Υ. Μέσω των συσκευών εξόδου δεδοµένα και ενέργειες του Η/Υ καθίστανται διαθέσιµα στον εξωτερικό κόσµο. Η µνήµη είναι µια συλλογή από κελιά (cells) το καθένα από τα οποία έχει µια µοναδική φυσική διεύθυνση. Υπάρχει η κύρια και η δευτερεύουσα µνήµη. Η κεντρική µονάδα επεξεργασίας δέχεται εντολές και δεδοµένα. Τα δεδοµένα επεξεργάζονται σύµφωνα µε τις εντολές που έχουν δοθεί και τα αποτελέσµατα διαβιβάζονται στις κατάλληλες µονάδες ή στη µνήµη. Προγραµµατισµός 4

5 Οργάνωση ενός ΗΥ Προγραµµατισµός 5

6 Μνήµη Είναι ο χώρος όπου αποθηκεύει προσωρινά ο επεξεργαστής τα δεδοµένα και τις εντολές που επεξεργάζεται. Σε κάθε θέση αποθηκεύεται ένα αριθµός από δυαδικά ψηφία (bits) 0,1. Ένα byte αποτελείται από 8 bit και είναι ο χώρος που απαιτείται για την αποθήκευση ενός χαρακτήρα Προγραµµατισµός 6

7 Λογισµικό / Software (προγράµµατα) Συστήµατος: λειτουρικό σύστηµα, µεταφραστές, οδηγοί συσκευών, utilities Γενικής χρήσης: επεξεργαστές κειµένου, αναπαραγωγή video, WWW browsing κτλ Προγραµµατισµός 7

8 Προγραµµατισµός και Αλγόριθµοι Πρόγραµµα = Αλγόριθµος σε µια συγκεκριµένη γλώσσα υπολογιστή Γλώσσα Μηχανής: η µόνη γλώσσα που πραγµατικά καταλαβαίνει ο υπολογιστής Γλώσσες Προγραµµατισµού Χαµηλού επιπέδου, πιο κοντά στη γλώσσα µηχανής Μεσαίου Υψηλού, πιο κοντά στην καθοµιλουµένη Η επιλογή της γλώσσας προγραµµατισµού εξαρτάται από την εφαρµογή Συνήθως το πρόγραµµα γράφεται «ευκολότερα» (είναι πιο σύντοµο) στις υψηλού επιπέδου γλώσσες όµως εκτελείται µε µικρότερη ταχύτητα σε σύγκριση µε µια χαµηλού επιπέδου υλοποίηση. Πολλά όµως εξαρτώνται και από τον προγραµµατιστή. Οι µεταφραστές έχουν εξελιχθεί Η γλώσσα C µπορεί να παράξει ταχύτατα προγράµµατα Προγραµµατισµός 8

9 Οικογένειες Γλωσσών Προγραµµατισµού Μερικές σηµαντικές κλάσεις: ιαδικαστικές (Procedural) : C, Pascal, Fortran Παραδοσιακός τρόπος προγραµµατισµού Σειρά εντολών - ρουτίνες Συναρτησιακές (Functional) : Lisp, Mathematica Σειρά εντολών Οι συναρτήσεις συµβολισµοί είναι αντίστοιχοι µε τα µαθηµατικά ηλωτικές (Declarative) : Prolog, XML Αποτελούνται από σειρά ορισµούς και δηλώσεις Λογικός Προγραµµατισµός (Logic Programming) Προγραµµατισµός µε βάση Περιορισµούς (Constraint Programming) Αντικειµενοστραφής Προγραµµατισµός Παράλληλος Προγραµµατισµός ιαδικτυακός Προγραµµατισµός Προγραµµατισµός 9

10 Γλώσσες προγραµµατισµού Γλώσσα Μηχανής- Machine Language: Είναι η «φυσική» γλώσσα των Η/Υ. Είναι κώδικας σε δυαδική µορφή (0,1). Έχει 1-1 αντιστοιχία µε την assembly (κατανοητή από ανθρώπους) ιακρίνεται (διακρινόταν) για την ταχύτητα εκτέλεσης των εντολών της και την βέλτιστη χρήση της κύριας µνήµης. Είναι δύσκολη στην χρήση της, στον εντοπισµό και διόρθωση λαθών Προγραµµατισµός 10

11 Γλώσσες προγραµµατισµού Γλώσσες υψηλού επιπέδου Bρίσκονται πιο κοντά στις ανθρώπινες γλώσσες. Χρησιµοποιούν ένα µικρό σύνολο από αγγλικές λέξεις. Για να εκτελεστεί ένα τέτοιο πρόγραµµα γίνεται χρήση µεταγλωττιστών (Compilers) Παραδείγµατα: Fortran, Basic, Pascal, C. Προγραµµατισµός 11

12 ιερµηνευµένες Γλώσσες (Interpreted) Αλγόριθµος Γραµµή εντολών (κώδικας) (π.χ. move arm, show image, run script A1, move west ) ιερµηνέας (Interpreter), ανάλυση και εκτέλεση εντολής Εκτελέσιµο Προγραµµατισµός 12

13 Συγγραφή, µεταγλώττιση και εκτέλεση ενός προγράµµατος σε γλώσσα υψηλού επιπέδου Προγραµµατισµός 13

14 Προγραµµατιστική επίλυση προβληµάτων Περιγραφή του προβλήµατος. Προσδιορισµός απαιτήσεων. Ανάλυση του προβλήµατος. Προσδιορισµός εισόδων, εξόδων. Προσδιορισµός της λύσης. Σχεδίαση της λύσης του προβλήµατος. Ανάλυση αλγορίθµου. Σχεδιασµός διαγράµµατος ροής. ηµιουργία ψευδοκώδικα. Κωδικοποίηση του αλγορίθµου σε γλώσσα προγραµµατισµού. οκιµή, έλεγχος και διόρθωση λαθών. Συντήρηση και τεκµηρίωση του προγράµµατος Προγραµµατισµός 14

15 Αλγόριθµοι Μια ακολουθία από βήµατα/ενέργειες που είναι: Καλώς (σαφώς) ορισµένα Αποτελεσµατικά (µπορούν να εκτελεστούν) Πεπερασµένα (τερµατισµός) Συνήθως δέχονται δεδοµένα Παραδείγµατα αλγορίθµων Υπολογισµού ηµεροµηνίας Πάσχα Υπολογισµός ριζών Πολλ/σµός Αντιστροφής πινάκων Αναζήτησης και Ταξινόµησης Εύρεσης συντοµότερου µονοπατιού Πρόβλεψης Ανάλυσης ιατρικών εικόνων ροµολόγησης πακέτων στο Internet Προγραµµατισµός 15

16 Αλγόριθµοι Απαιτήσεις - Πρόβληµα Προδιαγραφές Σχεδίαση - Ορθότητα Πολυπλοκότητα (µε βάση το µέγεθος των δεδοµένων Ν) (προαιρετική για το µάθηµα µας) Υπολογιστικό Κόστος Κόστος σε Μνήµη Βελτιστοποίηση (προαιρετική για το µάθηµα µας) Υλοποίηση Προγραµµατισµός 16

17 Παράδειγµα (1/3) Πρόβληµα: µε είσοδο τη λίστα φοιτητών όλου του τµήµατος, τύπωσε τα ονοµάτα των φοιτητών του πρώτου έτους Προγραµµατισµός 17

18 Παράδειγµα (2/3) εδοµένα Εισόδου: STUDENTS.DAT Αποτέλεσµα (Έξοδος): Τα ονόµατα των φοιτητών του 1ου έτους. Για να επεξεργαστούµε µια εγγραφή θα πρέπει να προσπελασθεί από το δίσκο (DISK) στη µνήµη (RAM) Hard disk Προγραµµατισµός 18

19 Παράδειγµα (3/3) Λύση: 1. Άνοιξε το αρχείο. 2. ιάβασε µια εγγραφή από το δίσκο στη µνήµη. 3. Αν είναι φοιτητής του πρώτου έτους, τύπωσε το όνοµά του. 4. Αν υπάρχει επόµενη εγγραφή διάβασε την και µετά επανέλαβε το βήµα 3-4. Προγραµµατισµός 19

20 ιάγραµµα Ροής Προγραµµατισµός 20

21 Ψευδοκώδικας /* This is a comment */ start /* Start program*/ open STUDENT.DAT /* Open file */ read rec /* Read Record */ while not EOF do /* repeat until end */ if rec.year==1 then print rec.name read rec /* Read next record*/ end while close STUDENT.DAT /* Close file */ end /* End of program */ Προγραµµατισµός 21

22 Κώδικας C #include <stdio.h> #define MAX 100 int main() { FILE *fp; char line[max], *c; /* open file*/ fp = fopen("student.dat","r"); if (fp==null) { printf("unable to open file!\n"); exit(-1); } /* read line (one record) */ c = fgets(line, MAX, fp); while (c!= NULL) { /* getyear() returns the year */ if (getyear(line) == 1) printf("%s", line); /* read next line (one record) */ c = fgets(line, MAX, fp); } fclose(fp); return 0; } Προγραµµατισµός 22

23 Μετάφραση - Εκτέλεση Προγραµµατισµός 23

24 Έλεγχος Επέστρεψε το πρόγραµµα τις αναµενόµενες τιµές? Davis Albert none Weller Anthony none Costello Barbara none Biggert Barney none Hastert Baron Ναι! Το πρόγραµµα πρέπει να ελεγχθεί και µε άλλες τιµές εισόδου πριν να χρησιµοποιηθεί. Αν βρεθούν λάθη τότε αυτά πρέπει να διορθωθούν Προγραµµατισµός 24

25 Συντήρηση Συντήρηση προγράµµατος: Συγγραφή τεκµηρίωσης Το λογισµικό εγκαθίσταται και ξεκινά η λειτουργία του. Το περιβάλλον αλλάζει, άρα αλλάζει και το πρόγραµµα Οι χρήστες επιθυµούν / χρειάζονται περισσότερα από το πρόγραµµα Προγραµµατισµός 25

26 Άνθρωπος - Μηχανή Χρήση υπολογιστή αν: Έχουµε πολλά στοιχεία να επεξεργαστούµε. Παράγονται πολλά αποτελέσµατα. Μέθοδος επίλυσης εξαιρετικά πολύπλοκη ή βαρετή για ένα άνθρωπο. Χρησιµοποιούµε την ίδια µέθοδο πολλές φορές. Ο Η/Υ εκτελεί «πράξεις» γρηγορότερα από τον άνθρωπο. Ο Η/Υ µπορεί να «θυµάται» περισσότερα πράγµατα από τον άνθρωπο. Ο Η/Υ µπορεί να εκτελέσει µε ακρίβεια και πειθαρχεία µια λογική σειρά εντολών. Ο Η/Υ δεν κουράζεται ούτε βαριέται Προγραµµατισµός 26

27 Ορισµοί Αλγόριθµος: ονοµάζουµε µια ταξινοµηµένη ακολουθία µηδιφορούµενων βηµάτων που οδηγούν στη λύση ενός προβλήµατος. Πρόγραµµα: ονοµάζουµε την αναπαράσταση ενός ή πολλών αλγορίθµων σε µορφή κατανοητή από τον υπολογιστή Προγραµµατισµός: Η διαδικασία της ανάπτυξης ενός αλγορίθµου σε συνδυασµό µε τη συγγραφή του προγράµµατος. Γλώσσα Προγραµµατισµού: Το σύνολο των γραµµατικών και συντακτικών κανόνων που µας επιτρέπει να δίνουµε εντολές στον Η/Υ µέσω ενός προγράµµατος. Κύκλος Ανάπτυξης Προγράµµατος: Η διαδικασία που ακολουθούµε για την ανάπτυξη ενός προγράµµατος Προγραµµατισµός 27

28 Κύκλος Ανάπτυξης Προγράµµατος Ο κύκλος ανάπτυξης προγράµµατος αναλύεται σε έξι βασικά βήµατα: 1. Περιγραφή του προβλήµατος, καθορισµός απαιτήσεων. 2. Ανάλυση προβλήµατος, προσδιορισµός της λύσης. 3. Σχεδίαση της λύσης του προβλήµατος: Ανάπτυξη αλγορίθµου Σχεδιασµός διαγράµµατος ροής ηµιουργία ψευδοκώδικα 4. Κωδικοποίηση σε γλώσσα προγραµµατισµού. 5. Έλεγχος, διόρθωση λαθών. 6. Συντήρηση προγράµµατος, τεκµηρίωση. Προγραµµατισµός 28

29 Περιγραφή του προβλήµατος & καθορισµός απαιτήσεων (1/2) Ξεκάθαρη διατύπωση του προβλήµατος. Αποµονώνουµε και καταγράφουµε µε απλά βήµατα τις πραγµατικές συνιστώσες ενός προβλήµατος, τοποθετώντας τις σε λογική σειρά µεταξύ τους. Εξαλείφουµε άσχετες πληροφορίες Αποσαφηνίζουµε διφορούµενες πληροφορίες. Ζητούµε, εάν χρειάζεται, επιπλέον πληροφορίες από το άτοµο που διατυπώνει το πρόβληµα. Αποσαφηνίζουµε τους στόχους που επιδιώκουµε να υλοποιήσουµε µε αναλυτικό τρόπο προκειµένου να καταγραφεί το πλαίσιο απαιτήσεων της όλης προσπάθειας. Προγραµµατισµός 29

30 Περιγραφή του προβλήµατος & καθορισµός απαιτήσεων (2/2) Πρόβληµα: To µάθηµα ΗΥ150 προσφέρεται από το Τµήµα Επιστήµης Υπολογιστών. Το µάθηµα παρακολούθησαν το εαρινό εξάµηνο του 2011, 100 άτοµα. Ταξινοµήστε τα άτοµα αυτά ανάλογα µε τη βαθµολογία της τελικής εξέτασης. Επιπλέον Πληροφορίες: Ποια δεδοµένα θα δοθούν (ονόµατα, βαθµοί, τηλέφωνο, ) και πώς (από αρχείο, ή από το χρήστη). Τα αποτελέσµατα πως θα παρουσιάζονται? Θα τυπώνονται ή θα φυλάσσονται σε αρχείο; Άσχετες Πληροφορίες: To µάθηµα ΕΠΛ003 προσφέρεται από το Τµήµα Πληροφορικής. Το µάθηµα παρακολούθησαν το χειµερινό εξάµηνο του 2011, 100 άτοµα. ιφορούµενες Πληροφορίες: Ταξινοµήστε (αύξουσα ή φθίνουσα σειρά)? Προγραµµατισµός 30

31 Ανάλυση του προβλήµατος & προσδιορισµός της λύσης (1/2) Ως µέρος της ανάλυσης απαντούµε στις πιο κάτω ερωτήσεις: ποια είναι τα δεδοµένα εισόδου (inputs) ποια είναι τα εξαγώµενα/αποτελέσµατα (outputs) ποια είναι η λύση (σχετικές αριθµητικές πράξεις) Είσοδος Λογισµικό Έξοδος Προγραµµατισµός 31

32 Ανάλυση του προβλήµατος & προσδιορισµός της λύσης (2/2) Σκιαγραφούµε ένα προσχέδιο της επίλυσης του προβλήµατος. Ελέγχουµε αν η λύση καλύπτει τους στόχους που έχουν τεθεί και αν παράγει τα επιθυµητά δεδοµένα εξόδου. ιερευνούµε την πιθανότητα ύπαρξης περισσοτέρων λύσεων. Επιλέγουµε τη βέλτιστη λύση µε βάση τις προδιαγραφές που έχουν τεθεί. ΠΡΟΣΟΧΗ: ΛΑΘΟΣ ΑΝΑΛΥΣΗ => ΛΑΘΟΣ ΛΥΣΗ Προγραµµατισµός 32

33 Σχεδιασµός της λύσης Αναπτύσσουµε τον αλγόριθµο επίλυσης του προβλήµατος ακολουθία αυστηρά δοµηµένων βηµάτων προκειµένου να επιλύσουµε το πρόβληµα. Για την περιγραφή της λύσης ενός προγράµµατος χρησιµοποιούµε: τον ψευδοκώδικα ή/και το λογικό διάγραµµα Αλγόριθµος: ένα σύνολο εκτελέσιµων και σαφών εντολών που κατευθύνει µία διαδικασία που τερµατίζει Ένα διατεταγµένος και περασµένο σύνολο εντολών για τον υπολογισµό µιας συνάρτησης Η λέξη αλγόριθµος (ή αλγόρισµος) προέρχεται από τον Πέρση µαθηµατικό, γεωγράφο και αστρονόµο, υπότροφο του Παλατιού της Βαγδάτης, Muḥammad ibn Musa al-khwarizmi, από τον οποίο προέρχεται και η λέξη Άλγεβρα επίσης. Προγραµµατισµός 33

34 Αλγόριθµοι Γιατί να καταγράψω τον αλγόριθµο; Για ιδίαν χρήση ε χρειάζεται να ξανασκεφτείτε το πρόβληµα Ώστε άλλοι να µπορούν να το επιλύσουν, χωρίς να ξέρουν πολλά γύρω από αυτό ε χρειάζεται να καταλάβουν τις αρχές πίσω από αυτό το πρόβληµα. Απλώς ακολουθούν τις εντολές. Η νοηµοσύνη είναι «κωδικοποιηµένη στον αλγόριθµο» Για να σας βοηθήσει να καταλάβετε αν επιλύει ορθά το πρόβληµα, να βρείτε αν είναι αποδοτικός Προγραµµατισµός 34

35 Αλγόριθµοι Παραδείγµατα αλγορίθµων Οδηγίες πλυντηρίου Οδηγίες για συναρµολόγηση επίπλου Συνταγές Στην Πληροφορική Ταξινόµηση Λίστας Αριθµών Εύρεση Μέσου Όρου Μιας Λίστας Αριθµών Προγραµµατισµός 35

36 Αφαίρεση (Αφαιρετικότητα)-Abstraction Βασική έννοια στον Προγραµµατισµό Γνώση του τι γίνεται χωρίς τη γνώση του πως γίνεται Η διαδικασία προγραµµατισµού αποτελείται από σχεδιασµό λύσεων σε διάφορα επίπεδα αφαίρεσης Προγραµµατισµός 36

37 Αφαίρεση Ένας αλγόριθµος εκφράζεται σε διάφορα επίπεδα αφαίρεσης. Τι είναι το δεδοµένο και τι το επιδιωκόµενο αποτέλεσµα. Η σταδιακή διάσπαση (εκλέπτυνση, ή «πιο λιανά») συνεχίζεται µέχρι σ ότου φτάσουµε σε ατοµικά υπο-προβλήµατα, δηλαδή προβλήµατα που δεν είναι λογικό/δυνατό να διασπαστούν περαιτέρω. Στο χαµηλότερο επίπεδο, ο αλγόριθµος διατυπώνει µε σαφήνεια την ακριβή διαδικασία παραγωγής της λύσης του προβλήµατος Προγραµµατισµός 37

38 Σχεδιασµός λύσης ιάσπαση (εκλέπτυνση) του κυρίως προβλήµατος σε υποπροβλήµατα (topdown approach, δοµηµένος, αρθρωτός προγραµµατισµός). Αφαίρεση. Μας ενδιαφέρει τι γίνεται και όχι το πώς γίνεται. Αρχίζοντας από τα χαµηλά επίπεδα αναπτύσσουµε αλγόριθµο για κάθε υποσύστηµα. Προγραµµατισµός 38

39 ιαγράµµατα ροής Σχεδιασµός διαγράµµατος ροής: Σχηµατικός τρόπος αναπαράστασης της ροής των οδηγιών που συνθέτουν έναν αλγόριθµο. Προγραµµατισµός 39

40 Παράδειγµα Πρόβληµα: Έχουµε µια λίστα µε ονόµατα. Θέλουµε να βρούµε τους φοιτητές του 1ου έτους Προγραµµατισµός 40

41 Ψευδοκώδικας Είναι ένα µίγµα αγγλικών και, κοινών σε διάφορες γλώσσες προγραµµατισµού, όρων (εντολών), που χρησιµοποιούνται για να εκφράσουµε τη λύση. open STUDENT.DAT /* Open the file that contains the student list */ read student_name /* Read the 1 st student name */ while not EOF do /* Begin the main loop */ read student_info /* Read student info */ if YEAR=1 then print student_name /* conditional structure */ read student_name /* Read the next student name */ end while close STUDENT.DAT /* Close the input file */ end /* End of program */ Προγραµµατισµός 41

42 Κώδικας Αξιοποιείται η διαδικασία του σχεδιασµού Πραγµατοποιείται η συγγραφή του προγράµµατος σε µια γλώσσα προγραµµατισµού. Μέσω µεταγλωττιστή (compiler) το πρόγραµµα µετατρέπεται σε γλώσσα µηχανής η οποία είναι αναγνωρίσιµη από τον υπολογιστή (πολύ βαρετή και επίπονη για τον άνθρωπο εργασία). Στο στάδιο αυτό γίνεται ο έλεγχος συντακτικών λαθών Προγραµµατισµός 42

43 Έλεγχος και διόρθωση Σφάλµατα σύνταξης (syntax errors): Σφάλµατα που σχετίζονται µε το αν χρησιµοποιήσαµε σωστά τη σύνταξη της γλώσσας προγραµµατισµού στη διάρκεια της υλοποίησης Λογικά σφάλµατα: σφάλµατα που σχετίζονται µε το σχεδιασµό της λύσης. ουλεύει πάντα: λύσε το πρόβληµα µε το χέρι για ένα σύνολο δεδοµένων και σύγκρινέ το µε τις εξόδους του προγράµµατος Σφάλµατα Run-time: Σφάλµατα κατά τη διάρκεια εκτέλεσης του προγράµµατος π.χ. απότοµος τερµατισµός εκτέλεσης του προγράµµατος Προγραµµατισµός 43

44 Συντήρηση Συντήρηση προγράµµατος: Συγγραφή τεκµηρίωσης Το λογισµικό εγκαθίσταται και ξεκινά η λειτουργία του. Το περιβάλλον αλλάζει και, άρα, αλλάζει και το πρόγραµµα Οι χρήστες επιθυµούν / χρειάζονται περισσότερα από το πρόγραµµα Προγραµµατισµός 44

45 Τεκµηρίωση Συνοπτική περιγραφή των απαιτήσεων Περιγραφή εισόδων, εξόδων, περιορισµών και τύπων Ψευδοκώδικας ή διάγραµµα ροής του αλγορίθµου Ο ίδιος ο πηγαίος κώδικας (source code) Οδηγός για τη χρήση του προγράµµατος Προγραµµατισµός 45

46 Αξιολόγηση Ορθότητα Λύσεων Αναλυτικές Μέθοδοι Αποδείξεις Εµπειρικές Μέθοδοι - οκιµές Τεκµηρίωση Λύσεων Σχόλια στον κώδικα Ευκολία κατανόησης Εκτίµηση Απόδοσης: ταχύτητα, ανάγκη σε µνήµη Ευχρηστίας: φιλικότητα προς το χρήστη Επεκτασιµότητα / Επαναχρησιµότητα Προγραµµατισµός 46

47 Αλγόριθµοι Απαιτήσεις - Πρόβληµα Προδιαγραφές Υπολογίστε το άθροισµα Ν Σχεδίαση (Υπολογίζω κανονικά το άθροισµα ξεκινώντας από το 1) Σ = 0 //άθροισµα Για κ=1 Ν //µετρητής Σ = Σ + κ Ορθότητα Πολυπλοκότητα Υπολογιστικό Κόστος, 2*Ν -> Ο(Ν) Κόστος σε Μνήµη, 2 -> Ο(1) Βελτιστοποίηση: Σ = Ν*(Ν+1) / 2 Πολυπλοκότητα Υπολογιστικό Κόστος, 3 -> Ο(1) Κόστος σε Μνήµη, 1 -> Ο(1) Προγραµµατισµός 47

48 Παράδειγµα (1/5) Γράψετε ένα πρόγραµµα το οποίο να µετατρέπει µίλια σε χιλιόµετρα. Προγραµµατισµός 48

49 Βήµα 1. Κατανόηση Τι µας ζητά; Τι µίλια; αγγλικά µίλια, ναυτικά µίλια; Από πού παίρνουµε τις πληροφορίες; Από το χρήστη, από αρχείο; Προγραµµατισµός 49

50 Βήµα 2. Ανάλυση εδοµένα (εισόδου): µίλια εδοµένα (εξόδου): χιλιόµετρα Άλλα δεδοµένα: µαθηµατική σχέση 1mile = 1.609Km Υπολογισµός (απλή µέθοδος των τριών): Παράδειγµα: Πόσα Km είναι 10 µίλια? 1.609*10 = χιλιόµετρα Προγραµµατισµός 50

51 Βήµα 3. Σχεδιασµός λύσης Αλγόριθµος 1 η Εκλέπτυνση 1. Πάρε τα δεδοµένα εισόδου 2. Κάνε τη µετατροπή 3. Παρουσίασε το αποτέλεσµα 1. ιάβασε τα Μίλια 2. Κάνε τον υπολογισµό: Χλµ.=Μίλια * είξε το αποτέλεσµα στην οθόνη Προγραµµατισµός 51

52 Βήµα 3. Σχεδιασµός λύσης 2 η Εκλέπτυνση ιάγραµµα Ροής 1. ιάβασε τα Μίλια και αποθήκευσέ τα στη µεταβλητή miles 2. Κάνε τον υπολογισµό: Kms.=Miles * είξε το αποτέλεσµα στην οθόνη Προγραµµατισµός 52

53 Βήµα 4. Υλοποίηση Προγραµµατισµός 53

54 Β Μέρος Εισαγωγή στη C Προγραµµατισµός

55 Η γλώσσα C Η γλώσσα C αναπτύχθηκε το 1972 από τον Dennis Ritchie στα ΑΤ&Τ (Bell) Laboratories Γλώσσα γενικού σκοπού και µια από τις πιο διαδεδοµένες γλώσσες υψηλού επιπέδου Χρησιµοποιήθηκε για την κατασκευή συστηµάτων, π.χ. το λειτουργικό σύστηµα UNIX Προγραµµατισµός 55

56 Προτερήµατα C είναι µικρή µε λίγες εντολές C είναι standard C είναι φορητή C είναι ισχυρή C είναι αρθρωτή C είναι η βάση της C++ και της Java C είναι γρήγορη Προγραµµατισµός 56

57 οµή ενός προγράµµατος στη C Οι γλώσσες προγραµµατισµού είναι ένα σύνολο από συντακτικούς κανόνες (και βιβλιοθήκες). Ένα πρόγραµµα σε C, αποτελείται από εντολές (οργανωµένα συνήθως µέσα σε συναρτήσεις) και δεδοµένα (µεταβλητές). Προγραµµατισµός 57

58 οµή ενός προγράµµατος στη C Οδηγίες στον προεπεξεργαστή ενσωµάτωση βιβλιοθηκών δηλώσεις σταθερών ηλώσεις συναρτήσεων Ορισµός κύριας συνάρτησης (main) δηλώσεις µεταβλητών εντολές (εκφράσεις, κλήσεις συναρτήσεων κτλ) Υλοποίηση συναρτήσεων Σχόλια Προγραµµατισµός 58

59 Παράδειγµα Προγραµµατισµός 59

60 Α) Εντολές προς τον προεπεξεργαστή (1/3) Οι πιο κοινές εντολές στον προεπεξεργαστή : #include, για ενσωµάτωση βιβλιοθήκης #define, για δήλωση σταθεράς ίδονται πάντα µε χρήση του συµβόλου # Οι εντολές του προεπεξεργαστή µετατρέπουν το κείµενο του προγράµµατος (κώδικα) πριν παραδοθεί στον µεταφραστή Προγραµµατισµός 60

61 Α) Εντολές προς τον προεπεξεργαστή (2/3) Η εντολή: #include Χρησιµοποιείται για ενσωµάτωση βιβλιοθηκών στον πηγαίο κώδικα. Μια βιβλιοθήκη (library file) είναι µια συλλογή χρήσιµων συναρτήσεων και σταθερών. Σύνταξη: #include <standard library file> π.χ.: #include <stdio.h> #include <math.h> υπάρχουν πολλές διαθέσιµες C βιβλιοθήκες Προγραµµατισµός 61

62 Α) Εντολές προς τον προεπεξεργαστή (3/3) Ενσωµάτωση επιτρέπει τη χρήση συναρτήσεων και σταθερών µιας βιβλιοθήκης στον πηγαίο κώδικα. Παραδείγµατα: Η βιβλιοθήκη stdio.h περιέχει, ανάµεσα σε άλλα, τις συναρτήσεις printf(), για εκτύπωση πληροφοριών, και scanf(), για εισδοχή πληροφοριών, καθώς επίσης όλη τη λειτουργικότητα για ανάγνωση / γραφή πληροφοριών σε αρχεία. Η βιβλιοθήκη math.h περιέχει διάφορες µαθηµατικές συναρτήσεις. Προγραµµατισµός 62

63 Ονοµατολογία για σταθερών, µεταβλητών και συναρτήσεων Αποτελούνται από γράµµατα του αγγλικού αλφαβήτου (a z, A Z), ψηφία (0 9) και underscores ( _ ). ε µπορεί να αρχίζουν µε ψηφίο. Σύµβολα όπως &, #, $ δεν επιτρέπονται. Το όνοµα µιας µεταβλητής δεν περιέχει κενό εσµευµένες λέξεις (θα εξηγηθούν αργότερα) δε µπορούν να χρησιµοποιηθούν ως ονοµασίες για κάτι άλλο. Ονοµασίες που ορίζονται σε κάποια από τις βασικές βιβλιοθήκες δεν πρέπει να ξαναορίζονται (πχ printf()) GOOD BAD RESERVED KMS_PER_MILE 1Letter double miles one new printf kms new-fn scanf Προγραµµατισµός 63

64 Ονοµατολογία σταθερών, µεταβλητών και συναρτήσεων Η C ειναι CASE SENSITIVE, δηλαδή κεφαλαία και µικρά γράµµατα θεωρούνται διαφορετικά: foo και FOO είναι δυο διαφορετικά ονόµατα One, one και ONE είναι όλα διαφορετικά ονόµατα. Είναι καλή πρακτική το να χρησιµοποιείτε αυτοεπεξηγηµατικά ονόµατα Π.χ. η ονοµασία age είναι πολύ καλύτερη από την ονοµασία Α για µία µεταβλητή στην οποία θα καταχωρούνται ηλικίες. Προγραµµατισµός 64

65 εσµευµένες λέξεις auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while Προγραµµατισµός 65

66 Μεταβλητές Εισαγωγή Μια περιοχή στη µνήµη (RAM) του υπολογιστή όπου µπορούµε να αποθηκεύσουµε προσωρινά δεδοµένα. Κατά τη διάρκεια εκτέλεσης αυτή η τιµή µπορεί να αλλάξει όσες φορές θέλουµε/χρειάζεται π.χ. ένας µετρητής, η ηλικία του χρήστη, κτλ Οι τιµές προέρχονται από α) το δίσκο β) κάποια µονάδα εισόδου (π.χ. πληκτρολόγιο) γ) παράγονται κατά τη διάρκεια εκτέλεσης του προγράµµατος Προγραµµατισµός 66

67 Μεταβλητές Ερµηνεία Αποθήκευση και ανάγνωση τιµών Κάθε µεταβλητή έχει: τύπο βασικοί: int, char, float, double µέγεθος: 4Β, 1Β, 4Β, 8Β (κάθε κυψελίδα: 1 Byte) Εξαρτάται από το λειτουργικό σύστηµα τιµή όνοµα αντιστοιχεί σε συγκεκριµένη διεύθυνση στη µνήµη Προγραµµατισµός 67

68 Μεταβλητές ήλωση Σύνταξη: τύπος λίστα-µεταβλητών ; double miles; int count; double kms; double miles, kms; int count = 0; /* αρχικοποίηση παράλληλα µε δήλωση */ Κάθε µεταβλητή που χρησιµοποιείται σε κάποιο πρόγραµµα χρειάζεται να δηλωθεί. Η δήλωσή της έχει ως αποτέλεσµα την παραχώρηση µνήµης για τη δηµιουργία της. Ο τύπος (double, int, κτλ) της µεταβλητής προσδιορίζει τον απαιτούµενο χώρο µνήµης. Προγραµµατισµός 68

69 Μεταβλητές ήλωση Προγραµµατισµός 69

70 Μεταβλητές Χρήση Μια µεταβλητή πρέπει να δηλωθεί πριν χρησιµοποιηθεί Εάν η µεταβλητή βρίσκεται στα αριστερά του τελεστή ανάθεσης (=), η τιµή του αποτελέσµατος της έκφρασης στα δεξιά του τελεστή ανάθεσης αποθηκεύεται στη διεύθυνση της µεταβλητής. Αλλιώς χρησιµοποιείται η τιµή της µεταβλητής kms = KMS_PER_MILE * miles; Προγραµµατισµός 70

71 Σταθερές Εισαγωγή Οδηγία προς τον προεπεξεργαστή. Ακολουθούν τις οδηγίες προς τον προεπεξεργαστή για ενσωµάτωση βιβλιοθηκών. Σταθερές έχουν: τιµή όνοµα, όχι όµως διεύθυνση Μεταγλωττιστής αντικαθιστά το όνοµα µε την τιµή Η χρήση σταθερών Αυξάνει την αναγνωσιµότητα του προγράµµατος ιευκολύνει τροποποιήσεις Μια σταθερά πρέπει να δηλωθεί στην αρχή του προγράµµατος πριν χρησιµοποιηθεί Ε µπορεί να αλλάξει τιµή κατά τη διάρκεια εκτέλεσης ενός προγράµµατος. Προγραµµατισµός 71

72 Σταθερές ήλωση Σύνταξη: #define ονοµασία τιµή #define PI #define FALSE 0 #define TRUE 1 #define KMS_PER_MILE Προγραµµατισµός 72

73 Κύρια συνάρτηση: main() Συνάρτηση: Σύνολο εντολών που προσδιορίζουν τις υπολογιστικές λειτουργίες που θα εκτελεστούν µιας συγκεκριµένης εργασίας). Κάθε C πρόγραµµα έχει µία συνάρτηση µε το όνοµα main() από όπου αρχίζει η εκτέλεση του προγράµµατος. Σύνταξη: int main () { } σώµα συνάρτησης Προγραµµατισµός 73

74 Κύρια συνάρτηση: main() Το σώµα µίας συνάρτησης αποτελείται από δηλώσεις (declarations) και εντολές (executable statements). #include <stdio.h> int main (void) { int a; a = 5; printf( Hello %d\n,a); return 0; } Προγραµµατισµός 74

75 Ροή Έλεγχου (control flow) Η ροή ελέγχου στη C είναι ακολουθιακής µορφής - sequential Ξεκινά από την πρώτη εντολή της main() Εντολές εκτελούνται σε σειρά Υπάρχουν γλώσσες µή-ακολουθιακές αλλά δε θα µας απασχολήσουν σ αυτό το µάθηµα. Προγραµµατισµός 75

76 Σχόλια Σύνταξη: ξεκινούν µε /* και τελειώνουν µε */ Καµιά συνέπεια αλλά πολύ σηµαντικό µέρος ενός προγράµµατος (τεκµηρίωση) Ο µεταγλωττιστής αγνοεί τα σχόλια /* auto einai ena sxolio*/ /* kai auto * einai * ena * sxolio */ Προγραµµατισµός 76

77 Παράδειγµα /*Filename: 00-my_first_program.c Author: X. Zabulis Date: 14/03/07 Function: Prints the following string of characters: Hello world! */ #include <stdio.h> int main() { printf( Hello world!\n ); return 0; } Προγραµµατισµός 77

78 Σωστό ή λάθος; /* auto * ti* einai **/ /***********ayto??? ***************/ /* lathos sxolio */ giati? */ */ einai lathos??? /* */ ayto? * / Προγραµµατισµός 78

79 Βασικά σηµεία (1/2) #include <stdio.h> περιέχεται στην αρχή κάθε προγράµµατος και περιλαµβάνει οδηγίες για τον προεπεξεργαστή main ( ) Το σηµείο έναρξης του προγράµµατος είναι η «κύρια» συνάρτηση main. { } δηλώνουν το χώρο των δηλώσεων και των εντολών, οι οποίες περιλαµβάνονται στη συνάρτηση main και πρέπει να εκτελεσθούν Προγραµµατισµός 79

80 Βασικά σηµεία (2/2) printf() είναι µια συνάρτηση της βιβλιοθήκης stdio.h της C και εµφανίζει στην οθόνη ότι δίνεται µέσα στην παρένθεση \n κινεί το δροµέα (cursor) να πάει στην επόµενη γραµµή εξόδου ; όλες οι δηλώσεις και εντολές των C- προγραµµάτων καταλήγουν σε αυτό το σύµβολο (semicolon). Χρησιµοποιείται προκειµένου να φανεί που τερµατίζεται µια δήλωση /* */ Μεταξύ των συµβόλων αυτών γράφονται τα σχόλια. Προγραµµατισµός 80

81 Παράδειγµα: σχεδιασµός και κατανόηση Γράψτε ένα πρόγραµµα που µετατρέπει δολλάρια σε ευρώ. Π.χ.: 10 δολλάρια, 1 δολλάριο = 0.71 ευρώ εδοµένα (εισόδου): δολλάρια Σταθερή τιµή για τη µετατροπή: RATE εδοµένα (εξόδου): ευρώ Υπολογισµός: ευρώ = δολλάρια * RATE Προγραµµατισµός 81

82 Παράδειγµα: Υλοποίηση Επεξεργαστής κειµένου Μεταφράστης C /* metatroph: dollaria se euro */ #define RATE 0.71 int main() { } float dollaria; float euro; dollaria = 45.53; euro = dollaria * RATE; return 0; /* input*/ /* output*/ Προγραµµατισµός 82

83 Παράδειγµα: Υλοποίηση /* programma poy metatrepei dollaria se euro */ #include <stdio.h> #define RATE 0.71 int main() { float dollaria; /* input*/ float euro; /* output*/ /* eisagwgh dedomenwn */ printf( Enter dollaria: ); scanf( %f,&dollaria); euro = dollaria * RATE; /*exagwgh dedomenwn*/ printf( %.2f dollaria antistoixoun se %.2f euro\n, dollaria, euro); return 0; } Προγραµµατισµός 83

84 Μετάφραση, εκτέλεση, έλεγχος > gcc exchange.c o exchange > exchange Enter dollaria: dollaria antistoixoun se euro dollaria antistoixoun se XXX euro Προγραµµατισµός 84

ιδάσκων: ηµήτρης Ζεϊναλιπούρ

ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 1.3-1.4: Εισαγωγή Στον Προγραµµατισµό ( ιάλεξη 2) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Περιεχόµενα Εισαγωγικές Έννοιες - Ορισµοί Ο κύκλος ανάπτυξης προγράµµατος Παραδείγµατα Πότε χρησιµοποιούµε υπολογιστή?

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

ΕΠΛ 032.3: Προγραµµατισµός ΜεθόδωνΕπίλυσηςΠροβληµάτων

ΕΠΛ 032.3: Προγραµµατισµός ΜεθόδωνΕπίλυσηςΠροβληµάτων ΕΠΛ 032.3: Προγραµµατισµός ΜεθόδωνΕπίλυσηςΠροβληµάτων Αχιλλέας Αχιλλέως, Τµήµα Πληροφορικής, Πανεπιστήµιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 2 ΕισαγωγήΣτον Προγραµµατισµό Θέµατα ιάλεξης ΕισαγωγικέςΈννοιες

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

ΕΠΛ 032.3: Προγραµµατισµός ΜεθόδωνΕπίλυσηςΠροβληµάτων

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

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

Κεφάλαιο : Εισαγωγή Στον Προγραμματισμό. (Διάλεξη 2) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ. Περιεχόμενα

Κεφάλαιο : Εισαγωγή Στον Προγραμματισμό. (Διάλεξη 2) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ. Περιεχόμενα Κεφάλαιο 1.3-1.4: Εισαγωγή Στον Προγραμματισμό (Διάλεξη 2) Περιεχόμενα Εισαγωγικές Έννοιες - Ορισμοί Ο κύκλος ανάπτυξης προγράμματος Παραδείγματα 1 Πότε χρησιμοποιούμε υπολογιστή? Χρήση υπολογιστή αν:

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

Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις

Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις Προγραµµατισµός Η/Υ Ανασκόπηση - Ορισµοί Περιεχόµενα Ο κύκλος ανάπτυξης προγράµµατος Περιγραφή προβλήµατος Ανάλυση προβλήµατος Λογικό ιάγραµµα Ψευδοκώδικας Κωδικοποίηση Συντήρηση Γλώσσες Προγραµµατισµού

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

Κεφάλαιο : Εισαγωγή Στον Προγραμματισμό. (Διάλεξη 2) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ

Κεφάλαιο : Εισαγωγή Στον Προγραμματισμό. (Διάλεξη 2) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ Κεφάλαιο 1.3-1.4: Εισαγωγή Στον Προγραμματισμό (Διάλεξη 2) Περιεχόμενα Εισαγωγικές Έννοιες - Ορισμοί Ο κύκλος ανάπτυξης προγράμματος Παραδείγματα Πότε χρησιμοποιούμε υπολογιστή? Χρήσηυπολογιστήαν: Έχουμε

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

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

2. Εισαγωγή στον Προγραμματισμό Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων 2. Εισαγωγή στον Προγραμματισμό Ιωάννης Κατάκης Σήμερα o Εισαγωγικές έννοιες - ορισμοί o Ο κύκλος ανάπτυξης προγράμματος o Παραδείγματα Πότε χρησιμοποιούμε

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

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

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

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

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

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

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

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

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

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

3 &4. Εισαγωγήστη C Ιωάννης Κατάκης

3 &4. Εισαγωγήστη C Ιωάννης Κατάκης Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων 3 &4. Εισαγωγήστη C Ιωάννης Κατάκης Σήμερα o Εισαγωγή στη C o Σύνταξη και σημασιολογία Σχόλια Μεταβλητές και σταθερές Τύποι δεδομένων Μετά από τις δύο διαλέξεις

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

ΕΠΛ 032.3: Προγραµµατισµός Μεθόδων Επίλυσης Προβληµάτων

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

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

ΕΠΛ 034: Εισαγωγήστον ΠρογραµµατισµόγιαΗΜΥ

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

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

ΕΠΛ 032 Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ. Γενική Περιγραφή

ΕΠΛ 032 Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ. Γενική Περιγραφή ΕΠΛ 032 Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων Γενική Περιγραφή Ο προγραμματισμός αποτελεί αναπόσπαστο μέρος της Πληροφορικής. Στο μάθημα ΕΠΛ 032 διδάσκεται ο προγραμματισμός μεθόδων επίλυσης προβλημάτων

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

ΠαράδειγµαΠρογραµµατισµού

ΠαράδειγµαΠρογραµµατισµού Προγραµµατισµός Η/Υ Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Μεθοδολογία Προγραµµατισµού Αφαιρετικότητα Ροή Ελέγχου/ εδοµένων Βιβλίο µαθήµατος: Chapter 1,, Sec. 4-54 ΕΠΛ 131 Αρχές Προγραµµατισµού

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

Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων. 1. Εισαγωγή. Ιωάννης Κατάκης. ΕΠΛ 032: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων

Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων. 1. Εισαγωγή. Ιωάννης Κατάκης. ΕΠΛ 032: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων 1. Εισαγωγή Ιωάννης Κατάκης Συστάσεις Σήμερα o Συμβόλαιο Μαθήματος o Περιγραφή Μαθήματος o Ιστορική Αναδρομή o Υλικό Υπολογιστή (Computer Hardware) o Λογισμικό

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

ΕΠΛ 032 Προγραµµατισµός Μεθόδων Επίλυσης Προβληµάτων

ΕΠΛ 032 Προγραµµατισµός Μεθόδων Επίλυσης Προβληµάτων ΕΠΛ 032 Προγραµµατισµός Μεθόδων Επίλυσης Προβληµάτων Διάλεξη 1 Παύλος Αντωνίου Εισαγωγή στην Πληροφορική και Προγραµµατισµό Συµβόλαιο Μαθήµατος. Ιστορική Αναδροµή. Υλικό Υπολογιστή (Computer Hardware).

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

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

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

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

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 ΠΕΡΙΕΧΟΜΕΝΟ ΤΟΥ ΜΑΘΗΜΑΤΟΣ Αρχές

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

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

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

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

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

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

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

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

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

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

Αλγόριθµοι και Προγράµµατα

Αλγόριθµοι και Προγράµµατα Αλγόριθµοι και Προγράµµατα Η γλώσσα C++ Η γλώσσα C αναπτύχθηκε το 1983 από τον Bjarne Stroustrup στα Bell Labs, ως βελτίωση της ήδη υπάρχουσας γλώσσας προγραµµατισµού C, και αρχικά ονοµάστηκε "C with Classes",

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

Η Γλώσσα C Μία Σφαιρική Ανασκόπηση

Η Γλώσσα C Μία Σφαιρική Ανασκόπηση Η Γλώσσα C Μία Σφαιρική Ανασκόπηση Η γλώσσα C αναπτύχθηκε το 1972 από τον Dennis Ritchie στα ΑΤ & Τ Laboratories. Οδηγίες προς τον προεπεξεργαστή Εισδοχή Βιβλιοθηκών #include #include

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

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

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

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

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

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

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

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής Προγραμματισμός Η/Υ Προτεινόμενα θέματα εξετάσεων Εργαστήριο Μέρος 1 ό ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής Ιανουάριος 2011 Καλογιάννης Γρηγόριος Επιστημονικός/ Εργαστηριακός

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

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ( Απαντήσεις & Λύσεις Βιβλίου) 1. Σκοποί κεφαλαίου Κύκλος ανάπτυξης προγράµµατος Κατηγορίες γλωσσών προγραµµατισµού

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

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

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

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

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

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

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

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

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

ΕΡΓΑΣΤΗΡΙΟ 1 ΕΙΣΑΓΩΓΗ ΣΤΗ C. Τµήµα Πληροφορικής και Τηλεπικοινωνιών

ΕΡΓΑΣΤΗΡΙΟ 1 ΕΙΣΑΓΩΓΗ ΣΤΗ C. Τµήµα Πληροφορικής και Τηλεπικοινωνιών ΕΡΓΑΣΤΗΡΙΟ 1 ΕΙΣΑΓΩΓΗ ΣΤΗ C Τµήµα Πληροφορικής και Τηλεπικοινωνιών Περιεχόµενα Εισαγωγή Πρόγραµµα Φάσεις Υλοποίησης µε χρήση του εργαλείου DEV C + + οµή Προγράµµατος Η συνάρτηση main Μεταβλητές Τι είναι

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

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

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

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

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΑ ΣΥΣΤΗΜΑΤΑ

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

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

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

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

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

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

ΕΠΛ 131 ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Ι ΕΠΛ 131 ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Ι Βασικοί Στόχοι Απόκτηση Επιδεξιότητας στην Επίλυση Προβληµάτων Θεµελίωση της Αλγοριθµικής Σκέψης Βιβλία J.R. Hanly και E.B. Koffman, Problem Solving & Program Design in

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

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

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

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

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 ❶ Προετοιµασία για το 1 ο Εργαστήριο

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

ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Προγραμματισμός

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

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

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράµµατα «γράφονται» χρησιµοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαµβάνει

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

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

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

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

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη Εισαγωγικά

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

C Programming EPL032 Maria Stavrinou Ioannou Εισαγωγή στη Γλώσσα C

C Programming EPL032 Maria Stavrinou Ioannou Εισαγωγή στη Γλώσσα C Εισαγωγή στη Γλώσσα C Η C είναι µια δοµηµένη (structured ) γλώσσα ηλαδή ένα C πρόγραµµα αποτελείται από υποπρογράµµατα τα οποία ονοµάζονται συναρτήσεις ( functions ), όπου η κάθε συνάρτηση εκτελεί µια

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

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

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

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

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

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

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

Ασκήσεις σε Επαναληπτικούς Βρόχους και Συναρτήσεις. Επανάληψη για την ενδιάμεση εξέταση. (Διάλεξη 13)

Ασκήσεις σε Επαναληπτικούς Βρόχους και Συναρτήσεις. Επανάληψη για την ενδιάμεση εξέταση. (Διάλεξη 13) Ασκήσεις σε Επαναληπτικούς Βρόχους και Συναρτήσεις Επανάληψη για την ενδιάμεση εξέταση (Διάλεξη 13) 13-1 Πρόβλημα 1 Γράψετε τον ορισμό μίας συνάρτησης η οποία υπολογίζει το μέγιστο 2 ακεραίων αριθμών και

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

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

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

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

Α. Ερωτήσεις Ανάπτυξης

Α. Ερωτήσεις Ανάπτυξης οµηµένος Προγραµµατισµός-Κεφάλαιο 7 Σελίδα 1 α ό 10 ΕΝΟΤΗΤΑ ΙΙΙ (ΠΡΟΓΡΑΜΜΑΤΑ) ΚΕΦΑΛΑΙΟ 7: Είδη, Τεχνικές και Περιβάλλοντα Προγραµµατισµού Α. Ερωτήσεις Ανάπτυξης 1. Τι ονοµάζουµε γλώσσα προγραµµατισµού;

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

Προγραμματισμός Αλγόριθμοι και Προγράμματα

Προγραμματισμός Αλγόριθμοι και Προγράμματα Αλγόριθμοι και Προγράμματα Άνθρωπος - Μηχανή Χρήση υπολογιστή αν: Έχουμε πολλά δεδομένα/αποτελέσματα Μέθοδος επίλυσης πολύπλοκη ή βαρετή για τον άνθρωπο. Χρησιμοποιούμε την ίδια μέθοδο πολλές φορές. Ο

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

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

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

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

Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf("%u\n", x); Β. unsigned char

Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf(%u\n, x); Β. unsigned char ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εξετάσεις Β Περιόδου 2015 (8/9/2015) ΟΝΟΜΑΤΕΠΩΝΥΜΟ:................................................................................ Α.Μ.:...............................................

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

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

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

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

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Προγραμματισμός

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

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

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

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

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

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος Κεφάλαιο 2.3: Προγραμματισμός 1 2.3.1 Αναφορά σε γλώσσες προγραμματισμού και «Προγραμματιστικά Υποδείγματα» 2.3.1.1 Πρόγραμμα και Γλώσσες Προγραμματισμού Πρόγραμμα: σύνολο εντολών που χρειάζεται να δοθούν

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

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

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

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό Μάριος Αραποστάθης Καθηγητής πληροφορικής Βαρβάκειου Λύκειου http://users.sch.gr/mariosarapostathis 6.1 Η έννοια του

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Αντικειµενοστρεφής Προγραµµατισµός 16 η διάλεξη Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη

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

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

Προγραμματισμός Ι (HY120) Προγραμματισμός Ι (HY20) # μνήμη & μεταβλητές πρόγραμμα & εκτέλεση Ψηφιακά δεδομένα, μνήμη, μεταβλητές 2 Δυαδικός κόσμος Οι υπολογιστές είναι δυαδικές μηχανές Όλη η πληροφορία (δεδομένα και κώδικας) κωδικοποιείται

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

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

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

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

Στόχοι και αντικείμενο ενότητας. Προτάσεις επανάληψης. Έλεγχος ροής προγράμματος. #5.. Εντολές Επανάληψης

Στόχοι και αντικείμενο ενότητας. Προτάσεις επανάληψης. Έλεγχος ροής προγράμματος. #5.. Εντολές Επανάληψης Στόχοι και αντικείμενο ενότητας Έλεγχος ροής προγράμματος (βλ. ενότητα #4) Δομή επανάληψης #5.. Εντολές Επανάληψης Προτάσεις επανάληψης Εντολές while, do while Εντολή for Περί βρόχων (loops) Τελεστές,

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

ΗΥ-150. Προγραμματισμός

ΗΥ-150. Προγραμματισμός ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαμβάνει

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

6. Εισαγωγή στον προγραµµατισµό

6. Εισαγωγή στον προγραµµατισµό 6. Εισαγωγή στον προγραµµατισµό 6.1 Η έννοια του προγράµµατος. 6.2 Ιστορική αναδροµή. 6.2.1 Γλώσσες µηχανής. ΗΜ04-Θ1Α 1. Ένα πρόγραµµα σε γλώσσα µηχανής είναι µια ακολουθία δυαδικών ψηφίων. 5. Ένα πρόγραµµα

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

ΗΥ-150. Προγραμματισμός

ΗΥ-150. Προγραμματισμός ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαμβάνει

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07 Αλγόριθμος: Βήμα προς βήμα διαδικασία για την επίλυση κάποιου προβλήματος. Το πλήθος των βημάτων πρέπει να είναι πεπερασμένο. Αλλιώς: Πεπερασμένη

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

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

ΚΕΦΑΛΑΙΟ 7 ΕΙ Η, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΚΕΦΑΛΑΙΟ 7 ΕΙ Η, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 7.1. Ανάπτυξη Προγράµµατος Τι είναι το Πρόγραµµα; Το Πρόγραµµα: Είναι ένα σύνολο εντολών για την εκτέλεση ορισµένων λειτουργιών από τον υπολογιστή.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 6 - ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΚΕΦΑΛΑΙΟ 6 - ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Προγραµµατισµός Η/Υ Ο προγραµµατισµός είναι η διατύπωση του αλγορίθµου σε µορφή κατανοητή από τον Η/Υ ώστε να τον εκτελέσει («τρέξει» όπως λέµε στην ορολογία της

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

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ Διδάσκουσα Δρ Β Καβακλή Χειμερινό Εξάμηνο 2001 Στόχοι του Μαθήματος! Ανάπτυξη αναλυτικής

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

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος. 1. Δώστε τον ορισμό του προβλήματος. 2. Σι εννοούμε με τον όρο επίλυση ενός προβλήματος; 3. Σο πρόβλημα του 2000. 4. Σι εννοούμε με τον όρο κατανόηση προβλήματος; 5. Σι ονομάζουμε χώρο προβλήματος; 6.

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

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

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

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

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1 ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 03/01/09 Χαράλαμπος Τζόκας 1 Πρόγραμμα - Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν στον Υπολογιστή, ώστε να υλοποιηθεί ο αλγόριθμος της επίλυσης

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

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

Επιµέλεια Θοδωρής Πιερράτος Εισαγωγή στον προγραµµατισµό Η έννοια του προγράµµατος Ο προγραµµατισµός ασχολείται µε τη δηµιουργία του προγράµµατος, δηλαδή του συνόλου εντολών που πρέπει να δοθούν στον υπολογιστή ώστε να υλοποιηθεί

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

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

ΠΛΗΡΟΦΟΡΙΑΚΑ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Οικονοµικό Πανεπιστήµιο Αθηνών Τµήµα ιοικητικής Επιστήµης & Τεχνολογίας ΠΛΗΡΟΦΟΡΙΑΚΑ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Κεφάλαιο 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Γιώργος Γιαγλής Το σηµερινό µάθηµα Ταξινόµηση γλωσσών

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

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

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

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

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

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

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Ακαδηµαϊκό Έτος 2003-2004, Εαρινό Εξάµηνο ιδάσκων

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

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

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

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

Θέματα Προγραμματισμού Η/Υ

Θέματα Προγραμματισμού Η/Υ Πρόγραμμα Μεταπτυχιακών Σπουδών Πληροφορική και Υπολογιστική Βιοϊατρική Θέματα Προγραμματισμού Η/Υ Ενότητα 1: Εισαγωγή Θεματική Ενότητα: Εισαγωγή στον Προγραμματισμό ΘΕΜΑΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ Θεματική

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

ΚΑΤΑΝΟΗΣΗ ΑΝΑΛΥΣΗ ΕΠΙΛΥΣΗ. Ο προγραμματισμός ασχολείται με το σύνολο των εντολών που δίνονται στον υπολογιστή ώστε να υλοποιείται ο αλγόριθμος.

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

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

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

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

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

ΕΡΓΑΣΤΗΡΙΟ 2 ΕΙΣΑΓΩΓΗ ΣΤΗ C. Εργαστήριο 2. Τµήµα Πληροφορικής και Τηλεπικοινωνιών

ΕΡΓΑΣΤΗΡΙΟ 2 ΕΙΣΑΓΩΓΗ ΣΤΗ C. Εργαστήριο 2. Τµήµα Πληροφορικής και Τηλεπικοινωνιών ΕΡΓΑΣΤΗΡΙΟ 2 ΕΙΣΑΓΩΓΗ ΣΤΗ C Εργαστήριο 2 Τµήµα Πληροφορικής και Τηλεπικοινωνιών οµή προγράµµατος Οδηγίες προεπεξεργαστή #include... # define... τµήµα δηλώσεων ηλωσεις και ορισµοί µεταβλητών. ηλωσεις συναρτήσεων

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

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

ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ Έλεγχος ροής Δομή επιλογής (if, switch) Δομές επανάληψης (while, do-while, for) Διακλάδωση

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

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

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

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

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

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

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

Τεχνολογία Λογισµικού Ι Κεφάλαιο 5

Τεχνολογία Λογισµικού Ι Κεφάλαιο 5 ΕΛΛΗΝΙΚΟ ΑΝΟΙΧΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Πρόγραµµα σπουδών "ΠΛΗΡΟΦΟΡΙΚΗ" - Θ.Ε. ΠΛΗ11 Τεχνολογία Λογισµικού Ι Κεφάλαιο 5 Βασίλειος Βεσκούκης ιδάκτωρ Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών v.vescoukis@cs.ntua.gr

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

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

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα

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

Προγραμματισμός Η/Υ. Ενότητα 5: Εντολές Επανάληψης

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

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