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

Σχετικά έγγραφα
Προγραμματισμός Ι (ΗΥ120)

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

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

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

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

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

Προγραμματισμός Χειμερινό Εξάμηνο 2014

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

Προγραμματισμός Χειμερινό Εξάμηνο 2017

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

Αλγόριθμος. Αλγόριθμο ονομάζουμε τη σαφή και ακριβή περιγραφή μιας σειράς ξεχωριστών οδηγιών βημάτων με σκοπό την επίλυση ενός προβλήματος.

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

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

Σύνοψη Θεωρίας ΟΡΙΣΜΟΣ ΚΑΙ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΑΛΓΟΡΙΘΜΩΝ

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

Χειµερινό Εξάµηνο 2013

ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ. Κάθε υποπρόγραμμα έχει μόνο μία είσοδο και μία έξοδο. Κάθε υποπρόγραμμα πρέπει να είναι ανεξάρτητο από τα άλλα.

Προγραμματισμός. Εαρινό Εξάμηνο 2011

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


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

Βασικές Έννοιες. Προγραµµατισµός Ι 1

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ 23/04/2012. Α. Να απαντήσετε με Σ ή Λ στις παρακάτω προτάσεις:

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

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

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

Έντυπο αξιολόγησης µαθήµατος, διδάσκοντος, και υπεύθυνης εργαστηρίου από τους φοιτητές

Προγραμματισμός Η/Υ. Συναρτήσεις & Υποπρογράμματα. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

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

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

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

4. Συντακτικό μιας γλώσσας είναι το σύνολο των κανόνων που ορίζει τις μορφές με τις οποίες μια λέξη είναι αποδεκτή.

ΒΙΒΛΙΑ ΒΙΒΛΙΑ

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

Κεφάλαιο 10 Υποπρογράμματα. Καραμαούνας Πολύκαρπος

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΗΜΕΡΗΣΙΩΝ

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

ΘΕΜΑ Α. 1. Στην εντολή εκχώρησης Χ ΨΕΥΔΗΣ η μεταβλητή Χ είναι τύπου χαρακτήρες.

Θέματα ΑΕΠΠ Πανελλήνιες Εξετάσεις 2006

Χρησιμοποιώντας συναρτήσεις

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα

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

Κεφάλαιο 10 ο Υποπρογράµµατα

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΕ PASCAL: ΑΠΟ ΤΑ ΕΚΠΑΙΔΕΥΤΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ ΚΑΙ ΤΑ ΨΗΦΙΑΚΑ ΠΑΙΧΝΙΔΙΑ ΣΤΙΣ ΓΛΩΣΣΕΣ ΥΨΗΛΟΥ ΕΠΙΠΕΔΟΥ

Έντυπο αξιολόγησης µαθήµατος, διδάσκοντος, υπεύθυνης εργαστηρίου και βοηθών εργαστηρίου από τους φοιτητές

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΑΠΡΙΛΙΟΣ 2019 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 (ΕΠΤΑ)

ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ Θέματα και Απαντήσεις

Κεφάλαιο 10. Υποπρογράμματα

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

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης

Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1

ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ GD2520

Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω:

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

Κεφάλαιο 6 Εισαγωγή στον Προγραμματισμό. 26-Jun-15 ΑΕΠΠ - Καραμαούνας Π. 1

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

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

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

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

Κεφάλαιο 14: Συμβουλές προς έναν νέο προγραμματιστή

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

Μαλούτα Θεανώ Σελίδα 1

Διδακτική της Πληροφορικής ΙΙ

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

Θεωρία Προγραμματισμού

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΗΜΕΡΗΣΙΩΝ

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

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

Θεωρητικές Ασκήσεις. ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο Μέρος

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

Ανακτήθηκε από την ΕΚΠΑΙΔΕΥΤΙΚΗ ΚΛΙΜΑΚΑ edu.klimaka.gr ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ

Κεφάλαιο 10 Υποπρογράμματα. Καραμαούνας Πολύκαρπος

Διάλεξη 1η: Εισαγωγή

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

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

ΜΥΥ105: Εισαγωγή στον Προγραμματισμό. Εισαγωγή Χειμερινό Εξάμηνο Παναγιώτης Τσαπάρας

ΠΡΟΓΡΑΜΜΑ Κύριο ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Α, Β, Γ ΑΡΧΗ ΙΑΒΑΣΕ Α, Β, Γ ΚΑΛΕΣΕ ιαδ1(α, Β, Γ) ΓΡΑΨΕ Α, Β, Γ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

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

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

Γ-ΓΥΜΝΑΣΙΟΥ (1) ΣΕΛ 1 / 6

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ. ii) Πόσες φορές θα εκτελεστεί η εντολή ΔΙΑΒΑΣΕ Α[μ,λ] στον αλγόριθμο της προηγούμενης ερώτησης; α) 35 β) 12 γ) 20

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

III. Πως μετατρέπεται το πηγαίο πρόγραμμα σε εκτελέσιμο πρόγραμμα;

ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

Πρόβλημα 37 / σελίδα 207

Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Ημερομηνία: Πέμπτη 12 Απριλίου 2018 Διάρκεια Εξέτασης: 3 ώρες ΕΚΦΩΝΗΣΕΙΣ

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

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

Επικοινωνία:

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ. ii) Πόσες φορές θα εκτελεστεί η εντολή ΔΙΑΒΑΣΕ Α[μ,λ] στον αλγόριθμο της προηγούμενης ερώτησης; α) 35 β) 12 γ) 20

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

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

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

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΗΜΕΡΗΣΙΩΝ

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ

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

Transcript:

Προγραμματισμός Ι (ΗΥ120) Διάλεξη 1: Εισαγωγή

Ποιος είμαι εγώ! Ναύπλιο, 4/1976-9/1993 Williamsburg, VA, USA, 7/2004-7/2006 2 Πάτρα, 9/1993-6/2004 Μυτιλήνη, 10/2006-2/2007 Βόλος, 2/2007 -

Ο Υπεύθυνος των Εργαστηρίων 3 Γιώργος Θάνος Αθήνα (1976-1994) Αθήνα (2000-2009) Θεσσαλονίκη (1994-2000) Βόλος (2009-σήμερα)

H 2η Υπεύθυνη των Εργαστηρίων 4 Βάνα Ντουφεξή Πάτρα Urbana-Champaign (UIUC) Chicago (Northwestern) Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Βόλος, 10/2007

Οι Βοηθοί των Εργαστηρίων Βασίλης Βασιλειάδης Χρυσούλα Γιάκα 5 Αλέξανδρος Ζαμίχος Αντώνης Καλκάνωφ Χρήστος Κωνσταντάς Μανώλης Μαρούδας Πολυχρόνης Συμεωνίδης Κωνσταντίνος Φραγκιαδάκης

Ποιοι είστε εσείς; 6 Υπόβαθρο; Έχετε δει υπολογιστή; Έχετε ανοίξει υπολογιστή; Έχετε «προγραμματίσει» υπολογιστή; Τι φαντάζεστε για το μάθημα; Τι περιμένετε να μάθετε; Τι απαιτήσεις φαντάζεστε ότι υπάρχουν;

Υπολογιστές, Υπολογιστές και Υπολογιστές 7

Χτίζοντας έναν Υπολογιστή 8 Transistor Λογικές Πύλες

Χτίζοντας έναν Υπολογιστή 9 Λογικά Κυκλώματα Ολοκληρωμένα Κυκλώματα (π.χ. Επεξεργαστές)

Χτίζοντας έναν Υπολογιστή 10 Δομικές Μονάδες Σύστημα

Μερικά Μυστικά των Υπολογιστών 11 Οι υπολογιστές είναι ισχυρά εργαλεία Μπορούν να κάνουν πράγματα Που πριν λίγα χρόνια δεν μπορούσαμε καν να φανταστούμε Μας κάνουν τη ζωή εύκολη Μας κάνουν τη ζωή δύσκολη Οι υπολογιστές είναι χαζοί Πολύ χαζοί Δεν μπορούν να κάνουν τίποτα από μόνοι τους Χρειάζονται οδηγίες για το παραμικρό! Μιλάνε μόνο μια περίεργη γλώσσα: 0.. 1.. 0.. 0.. 1..

Οδηγίες στους Υπολογιστές 12 o Γλώσσα Μηχανής o Η μητρική γλώσσα του υπολογιστή o Ού μπλέξεις o Συμβολική γλώσσα o Πολύ κοντά στη γλώσσα μηχανής o... Αλλά κάτι μπορείς να καταλάβεις o Και πάλι ού μπλέξεις o Εκτός αν χρειαστεί ;-)

Οδηγίες στους Υπολογιστές 13 Γλώσσες υψηλού επιπέδου Τώρα μάλιστα! Κάτι γίνεται! Πιο κοντά στον άνθρωπο Ναι, αλλά ο υπολογιστής θα καταλάβει;

Περιεχόμενο Μαθήματος 14 Εισαγωγή στον προγραμματισμό. Το μοντέλο μνήμης και η έννοια της μεταβλητής. Βασικοί τύποι δεδομένων και τελεστές. Δομές ελέγχου, διακλαδώσεις, επαναλήψεις. Συναρτήσεις Εμβέλεια και διάρκεια ζωής μεταβλητών Κλήση συναρτήσεων Πέρασμα παραμέτρων Αναδρομή. Δείκτες. Πίνακες, σύνθετοι τύποι δεδομένων και δυναμικές δομές δεδομένων. Εργαστήριο!

Πληροφορίες 15 Βασικά συγγράμματα: «C Προγραμματισμός», 7η έκδοση, Deitel & Deitel, Εκδόσεις M. Γκιούρδας. «C Από τη Θεωρία στην Εφαρμογή», 2η έκδοση, Γ.Σ. Τσελίκης & Ν.Δ. Τσελίκας «Η γλώσσα C σε βάθος», 4η έκδοση, Νίκος Μ. Χατζηγιαννάκης, Εκδόσεις Κλειδάριθμος ΕΠΕ Mπορείς να μάθεις ποδήλατο διαβάζοντας οδηγίες σε βιβλίο; Ο προγραμματισμός δε μαθαίνεται με διάβασμα Δουλειά στον υπολογιστή!!! Πειραματισμός, λάθη, εύρεση λαθών κ.ο.κ.

Απαιτήσεις - Αξιολόγηση 1ετείς: Εργαστήριο + Quiz + Homeworks + Εξέταση (στο εργαστήριο) 16 Δικαίωμα εξέτασης (χωρίς 2η ευκαιρία για Σεπτέμβρη): Εργαστήριο: <= 2 απουσίες (φυσική απουσία ή κακή ποιότητα παραδοτέου) Quiz: Ζυγισμένος μέσος όρος >= 5 Τελικός Βαθμός: 0.5 * Εξέταση + 0.25 * Quiz + 0.25 * Homeworks Για να είναι προβιβάσιμος: Τελικός >= 5 Βαθμός εξέτασης >= 5

Απαιτήσεις - Αξιολόγηση 17 Παλαιότεροι φοιτητές: Δικαίωμα εξέτασης: Εργασία εξαμήνου >=5 Τελικός βαθμός: Βαθμός εξέτασης Επιτυχία: Τελικός βαθμός >= 5

Ώρες Εργαστηρίου Θα διαλέξετε αύριο κάποιο από τα τμήματα 18 Παρακολουθείτε τη σελίδα του μαθηματος και τον πίνακα ανακοινώσεων Αρχίζουμε από την επόμενη εβδομάδα!!!

Οι καλοί λογαριασμοί... Δεν επιτρέπεται να μοιράζεστε κώδικα εκτός ομάδας. Το εννοούμε... Έχουμε τρόπο να βρούμε τις εξυπνάδες 19 Για όποιον κάνει εξυπνάδες (παίρνει ή δίνει κώδικα), απλά 0... Στη 2η φορά, ραντεβού του χρόνου και αναφορά στο Τμήμα... Δικαιολογίες δεν ήξερα, δεν κατάλαβα δεν πιάνουν...

Οι καλοί λογαριασμοί 20 Πολιτική Τμήματος για αντιγραφές: 1η φορά (σε οποιοδήποτε μάθημα): Απώλεια μαθήματος για 1 έτος 2η φορά (σε οποιοδήποτε μάθημα): Απώλεια εξαμήνου 3η φορά (σε οποιοδήποτε μάθημα): Απώλεια έτους και αναφορά στη Σύγκλητο

Πρόγραμμα Σπουδών 21 ΗΥ120 ΗΥ121 >=3 ΗΥ232 >=9 ΗΥ320 ΗΥ323 ΗΥ325 ΗΥ326 >=17 ΗΥ410 ΗΥ416 ΗΥ420 ΗΥ422 ΗΥ424 ΗΥ441 ΗΥ530

Και γιατί να προσπαθήσω; NY University: Εδώ στο Πανεπιστήμιο πάντως τα πράγματα πολύ καλά. Δε θέλω να πω μεγάλες κουβέντες, αλλά νομίζω ότι άμα έχεις τελειώσει 22 το Τμήμα το επίπεδό σου είναι πολύ καλό. Το ίδιο και η ικανότητά σου να αντιμετωπίζεις τις δυσκολίες. King's College, London: Όταν ήρθα εδώ εκτίμησα την ποιότητα των σπουδών μας Delft: Το Delft είναι τέλειο. Σας ευχαριστώ που με βοηθήσατε να συνεχίσω τις σπουδές μου εκεί

Επικοινωνία 23 Ιστοσελίδα μαθήματος http://www.inf.uth.gr/courses/ce120 Λίστα ηλεκτρονικού ταχυδρομείου http://infserver.inf.uth.gr/mailman/listinfo/ce120 Forum Προγραμματισμού http://courses.inf.uth.gr/coding

Επικοινωνία 24 Επικοινωνία με τον διδάσκοντα: Γκλαβάνη 37, Γραφείο Β3/5 Ώρες γραφείου:στη σελίδα του μαθήματος E-mail: cdantonop@gmail.com, cda@inf.uth.gr Επικοινωνία με τον υπεύθυνο εργαστηρίων: Γκλαβάνη 37, Γραφείο Γ5/8 E-mail: gthanos@uth.gr

Μεθοδολογία Επίλυσης Προβλήματος Ανάλυση του προβλήματος 25 Τι έχουμε; Τι ακριβώς θέλουμε να βρούμε; Πώς σπάει σε μικρότερα / απλούστερα προβλήματα; Χονδρικά ποια στρατηγική πρέπει να ακολουθήσουμε; Αλγόριθμος Ακριβής ακολουθία πεπερασμένων βημάτων που πρέπει να ακολουθηθούν για να λυθεί το πρόβλημα Απαιτήσεις Ορθότητα Καλή επίδοση «Οικονομία» πόρων Για το ίδιο πρόβλημα πιθανόν να υπάρχουν >1 κατάλληλοι αλγόριθμοι

Μεθοδολογία Επίλυσης Προβλήματος 26 Κωδικοποίηση «Μετάφραση» του αλγόριθμου σε γλώσσα που καταλαβαίνει ο υπολογιστής C στην περίπτωσή μας Δοκιμή και Αποσφαλμάτωση Ουδείς αλάνθαστος! Το πιο «σπαστικό» κομμάτι Και το πιο χρονοβόρο Και το πιο σημαντικό

Τι Είναι Πρόγραμμα και Γλώσσα Προγραμματισμού; 27 Πρόγραμμα: Αλγόριθμος γραμμένος σε μια γλώσσα προγραμματισμού Αυτή που «καταλαβαίνει» ο υπολογιστής Με λίγη βοήθεια Ο υπολογιστής ξέρει μόνο από 0 και 1 Γλώσσα προγραμματισμού Σαν τις κανονικές γλώσσες Μόνο πιο σαφής και τυπική Έχει λεξιλόγιο / σημασιολογία Έχει συντακτικό

Συντακτικό Το συντακτικό ορίζει το σύνολο των επιτρεπτών 28 προτάσεων (ακολουθία συμβόλων). Επιτρεπτή πρόταση = συντακτικά ορθό πρόγραμμα Μπορεί να μεταφραστεί σε γλώσσα μηχανής και να εκτελεστεί. Ειδικές «γλώσσες» περιγραφής των κανόνων σύνταξης γλωσσών προγραμματισμού Extended Backus Naur Form (EBNF) Συντακτικά διαγράμματα

Σύνταξη και Σημασία 29 Σύνταξη: κανόνες για τον σχηματισμό προτάσεων. Σημασία: το νόημα που έχουν οι συντακτικά επιτρεπτές προτάσεις. Η σύνταξη μιας γλώσσας δεν μπορεί να ορίσει ταυτόχρονα και την σημασία της. Υπάρχουν όμως κανόνες! Υπάρχουν συντακτικά επιτρεπτές προτάσεις που δεν έχουν ορισμένη (μια μοναδική) σημασία; Στις ανθρώπινες γλώσσες: Ναι Μαζί μιλάμε και χώρια καταλαβαινόμαστε Σε γλώσσες προγραμματισμού: Κατά κανόνα όχι

Για παράδειγμα 30 Συντακτικά ορθές προτάσεις: -2+13 15/5-2 Όμως, σε τι τιμές αντιστοιχούν; -2+13: 15/5-2: (-2)+(13) ή (2+13) (15/5)-2 ή 15/(5-2)

Εκτέλεση Προγράμματος επέλεξε την πρώτη εντολή εκτέλεσε την εντολή επέλεξε την «επόμενη» εντολή 32 μνήμη διάβασμα γράψιμο μεταβλητές προγράμματος Το σημειωματάριο του προγράμματος

Έλεγχος Ροής Εκτέλεσης 33 Ο προγραμματιστής μπορεί να επηρεάσει την ροή εκτέλεσης του προγράμματος μέσω εντολών ελέγχου. Εντολές ελέγχου: διαβάζουν την κατάσταση του προγράμματος και ανάλογα μεταφέρουν την εκτέλεση σε ένα διαφορετικό σημείο του κώδικα. Π.χ if <έκφραση> goto <n> Αν η <έκφραση> είναι αληθής τότε η εκτέλεση μεταφέρεται στην εντολή με αριθμό <n>. Μπορούμε εύκολα να φτιάξουμε προγράμματα με εντολές που εκτελούνται υπό συνθήκη ή/και επανειλημμένα.

Για Παράδειγμα εκτέλεση P(0,5) παράμετροι πρόγραμμα P(x,y) 1:s = 0 2:if (x==0) goto 6 3:s = s + y 4:x = x -1 5:if (1==1) goto 2 6:print s s = 0 if (x==0) goto 6 print s εκτέλεση P(3,5) s = 0 if (x==0) s = s + y x = x -1 if (1==1) if (x==0) s = s + y x = x -1 if (1==1) if (x==0) s = s + y x = x -1 if (1==1) if (x==0) print s 34 goto 6 goto 2 goto 6 goto 2 goto 6 goto 2 goto 6

Υποπρογράμματα 35 Ομάδα εντολών (και δεδομένων) που είναι συντακτικά ή/και εκτελεστικά ανεξάρτητη (αυτόνομη) από τον υπόλοιπο κώδικα. Ένα πρόγραμμα μπορεί να αποτελείται από (ή να χρησιμοποιεί) πολλά διαφορετικά υποπρογράμματα. Όταν καλείται ένα υποπρόγραμμα, η εκτέλεση μεταφέρεται στο υποπρόγραμμα Όταν τερματιστεί η εκτέλεση του, επιστρέφει μαγικά στο πρόγραμμα που πραγματοποίησε την κλήση. Να τα χρησιμοποιείτε please!!!

Εκτέλεση με Υποπρογράμματα πρόγραμμα P1 code A call P2 code B πρόγραμμα P2 call P3 code C return πρόγραμμα P3 code D return 36 εκτέλεση P1 code A call P2 call P3 code D return code C return code B