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

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

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

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

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

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

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

Μικροβιολογία & Υγιεινή Τροφίμων

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

Ιστορία της μετάφρασης

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

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

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

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

Εκκλησιαστικό Δίκαιο. Ενότητα 10η: Ιερά Σύνοδος της Ιεραρχίας και Διαρκής Ιερά Σύνοδος Κυριάκος Κυριαζόπουλος Τμήμα Νομικής Α.Π.Θ.

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

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

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

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

Γενικά Μαθηματικά Ι. Ενότητα 15: Ολοκληρώματα Με Ρητές Και Τριγωνομετρικές Συναρτήσεις Λουκάς Βλάχος Τμήμα Φυσικής

Ιστορία της μετάφρασης

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Γενικά Μαθηματικά Ι. Ενότητα 12: Κριτήρια Σύγκλισης Σειρών. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

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

Εκκλησιαστικό Δίκαιο

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

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

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Αξιολόγηση μεταφράσεων ιταλικής ελληνικής γλώσσας

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

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

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

Εκκλησιαστικό Δίκαιο

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

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

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

ΓΕΝΙΚΗ ΚΑΙ ΑΝΟΡΓΑΝΗ ΧΗΜΕΙΑ

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

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

Εφαρμοσμένη Στατιστική

Εργαστήριο Χημείας Ενώσεων Συναρμογής

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός

Εφαρμοσμένη Στατιστική

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

Εργαστήριο Χημείας Ενώσεων Συναρμογής

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Β. Διαφορικός Λογισμός

Παράκτια Τεχνικά Έργα

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

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

Λογισμός 3. Ενότητα 19: Θεώρημα Πεπλεγμένων (γενική μορφή) Μιχ. Γ. Μαριάς Τμήμα Μαθηματικών ΑΝΟΙΚΤΑ ΑΚΑ ΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Οικονομετρία. Εξειδίκευση του υποδείγματος. Μορφή της συνάρτησης: Πολυωνυμική, αντίστροφη και αλληλεπίδραση μεταβλητών

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

Γενικά Μαθηματικά Ι. Ενότητα 14: Ολοκλήρωση Κατά Παράγοντες, Ολοκλήρωση Ρητών Συναρτήσεων Λουκάς Βλάχος Τμήμα Φυσικής

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

Εισαγωγή στους Αλγορίθμους

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

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

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

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

Γενικά Μαθηματικά Ι. Ενότητα 1: Συναρτήσεις και Γραφικές Παραστάσεις. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Εκκλησιαστικό Δίκαιο

Ηλεκτρισμός & Μαγνητισμός

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού σε κατάσταση Κορεσμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Εκκλησιαστικό Δίκαιο

Εισαγωγή στους Αλγορίθμους

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους.

Βασικές Αρχές Φαρμακοκινητικής

Οικονομετρία. Πολλαπλή Παλινδρόμηση. Στατιστικός έλεγχος γραμμικού συνδυασμού συντελεστών. Τμήμα: Αγροτικής Οικονομίας & Ανάπτυξης

Ηλεκτρισμός & Μαγνητισμός

Επιμέλεια μεταφράσεων και εκδοτικός χώρος

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

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

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

Οικονομία των ΜΜΕ. Ενότητα 7: Μορφές αγοράς και συγκέντρωση των ΜΜΕ

Εφαρμοσμένη Στατιστική

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

Διπλωματική Ιστορία Ενότητα 2η:

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΓΕΝΙΚΗ ΚΑΙ ΑΝΟΡΓΑΝΗ ΧΗΜΕΙΑ

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

ΓΕΝΙΚΗ ΚΑΙ ΑΝΟΡΓΑΝΗ ΧΗΜΕΙΑ

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

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 3: Έλεγχοι στατιστικών υποθέσεων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 1: Καταχώρηση δεδομένων

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

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

Οδοποιία IΙ. Ενότητα 14: Υπόδειγμα σύνταξης τευχών θέματος Οδοποιίας. Γεώργιος Μίντσης ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

Διαφήμιση και Δημόσιες Σχέσεις Ενότητα 9: Σχέσεις διαφημιστή-διαφημιζόμενου

Διαγλωσσική μεταφορά και διαμεσολάβηση

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

Εργαστήριο Χημείας Ενώσεων Συναρμογής

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

Μηχανολογικό Σχέδιο Ι

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 2: Περιγραφική στατιστική

Transcript:

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

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ ΔΟΜΗ TOY ΠΡΟΓΡΑΜΜΑΤΟΣ Ένα πρώτο πρόγραμμα Κατασκευάστε πρόγραμμα που θα εμφανίζει στην οθόνη τη λέξη: HELLO 1 2 Ένα πρώτο πρόγραμμα #include <iostream> using namespace std; int main ( ) { cout << "HELLO \n"; return 0; } Πως γράφεται το πρόγραμμα Τα προγράμματα C++ γράφονται με "ελεύθερο" τρόπο. Κάθε εντολή μπορεί να γραφεί σε μια ή περισσότερες γραμμές. Πχ. cout << "HELLO \n"; Σε μια γραμμή μπορούν να γραφούν παραπάνω από μια εντολές. Πχ. int main ( ) { cout << "HELLO \n"; return 0; } 3 4

Πως γράφεται το πρόγραμμα Έχει επικρατήσει ένας συγκεκριμένος τρόπος γραφής, έτσι ώστε τα προγράμματα να είναι ευανάγνωστα. Γράφουμε μία εντολή ανά γραμμή. Κάθε τμήμα εντολών που περικλείεται από άγκιστρα γράφεται πιο δεξιά (πατώντας tab). Στο τέλος κάθε εντολής βάζουμε ερωτηματικό (όχι στο τέλος κάθε γραμμής). Προσοχή: Κεφαλαία μικρά θεωρούνται διαφορετικά. Έτσι γράφουμε: main και όχι ΜΑΙΝ cout και όχι COUT 5 Σχόλια Στη C++ υπάρχουν δύο τύποι σχολίων: Σχόλια πολλαπλών γραμμών Οτιδήποτε περικλείεται μεταξύ /* και */ θεωρείται σχόλιο. Παράδειγμα: /* Το πρόγραμμα αυτό εμφανίζει στην οθόνη τη λέξη HELLO */ int main ( ) /* Η επικεφαλίδα του προγράμματος */ 6 Σχόλια Σχόλια μιας γραμμής Ξεκινάνε με τους χαρακτήρες // και εκτείνονται μέχρι το τέλος της γραμμής. Παράδειγμα: // Το πρόγραμμα αυτό // εμφανίζει στην οθόνη // τη λέξη HELLO int main ( ) // Η επικεφαλίδα του προγράμματος 7 Το κυρίως πρόγραμμα Το κυρίως πρόγραμμα έχει τη μορφή: int main ( ) { εντολές return 0; } Το κυρίως πρόγραμμα έχει ένα προκαθορισμένο όνομα (main) που δεν μπορεί να αλλάξει. Οι εντολές του προγράμματος γράφονται μέσα σε ένα ζευγάρι από άγκιστρα { } μετά την επικεφαλίδα του προγράμματος. 8

Το κυρίως πρόγραμμα Κάθε πρόγραμμα σε C++ αφού ενεργοποιηθεί από το λειτουργικό σύστημα, εκτελεί τις εντολές του και στο τέλος επιστρέφει στο λειτουργικό σύστημα ένα ακέραιο αριθμό που δηλώνει αν το πρόγραμμα διεκπεραίωσε επιτυχώς την εργασία του. Το σύμβολο int στην επικεφαλίδα τη προγράμματος δηλώνει ότι ο επιστρεφόμενος αριθμός είναι ακέραιος. Κατά σύμβαση ο αριθμός 0 σημαίνει ότι το πρόγραμμα λειτούργησε επιτυχώς. Η τιμή επιστρέφεται με την εντολή return η οποία μπορεί να παραληφθεί. Σε αυτή την περίπτωση εννοείται return 0 Στην πραγματικότητα ένα πρόγραμμα C++ είναι ένα υποπρόγραμμα που καλείται από το λειτουργικό σύστημα. 9 Η εντολή cout Με την εντολή cout εμφανίζουμε στην οθόνη ένα μήνυμα. Το μήνυμα πρέπει να βρίσκεται μέσα σε διπλές αποστρόφους. Η εντολή cout δεν αλλάζει γραμμή. Αν γράψουμε: cout << "HELLO "; cout << "WORLD"; θα εμφανιστεί: HELLO WORLD 10 Η εντολή cout Για να αλλάξουμε γραμμή χρησιμοποιούμε το σύμβολο \n (ονομάζεται χαρακτήρας διαφυγής). Αν γράψουμε: cout << "HELLO \n"; cout << "WORLD"; θα εμφανιστεί: HELLO WORLD Συγγραφή του προγράμματος Για να γράψουμε το πρόγραμμα χρησιμοποιούμε ένα κειμενογράφο (Text Editor). Αποθηκεύουμε το αρχείο δίνοντας ένα όνομα με την κατάληξη.c Πχ. prog.c lab1.c 11 12

Μετάφραση του προγράμματος Για να μεταφράσουμε το πρόγραμμα και να δημιουργήσουμε το εκτελέσιμο χρησιμοποιούμε την εντολή: c++ prog.c Πηγαίος κώδικας prog.c c++ prog.c Εκτελέσιμος κώδικας a.out Μετάφραση του προγράμματος Στην πραγματικότητα η εντολή c++ prog.c πραγματοποιεί δύο λειτουργίες: Προεπεξεργασία c++ prog.c Μετάφραση 13 14 Μετάφραση του προγράμματος Οι γραμμές του προγράμματος που ξεκινάνε με το σύμβολο # ονομάζονται οδηγίες προεπεξεργαστή. Ο προεπεξεργαστής διαβάζει τον πηγαίο κώδικα και ενεργεί κατάλληλα όπου βρεί οδηγίες. Η γραμμή #include <iostream> αποτελεί οδηγία για τον προεπεξεργαστή που λέει να συμπεριλάβει στο σημείο εκείνο τα περιεχόμενα του αρχείου iostream (περιέχει διάφορες δηλώσεις σχετικές με τις εντολές εισόδου-εξόδου). Αργότερα θα δούμε και την οδηγία #define Στη συνέχεια το προεπεξεργασμένο πρόγραμμα παραδίδεται στο μεταφραστή για συντακτικό έλεγχο και παραγωγή του εκτελέσιμου. 15 Οι υπόλοιπες εντολές using namespace std; Σημαίνει να χρησιμοποιηθεί ο προκαθορισμένος "χώρος ονομάτων" της C++. Ο χώρος ονομάτων είναι μια συλλογή από μεταβλητές, συναρτήσεις και άλλες οντότητες που χρησιμοποιούνται στο πρόγραμμα. 16

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

Σημείωμα Ιστορικού Εκδόσεων Έργου Σημειώματα Το παρόν έργο αποτελεί την έκδοση 1.0. Έχουν προηγηθεί οι κάτωθι εκδόσεις: Έκδοση 1.0 διαθέσιμη εδώ. http://ecourse.uoi.gr/course/view.php?id=1227.

Σημείωμα Αναφοράς Σημείωμα Αδειοδότησης Copyright Πανεπιστήμιο Ιωαννίνων, Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης. «ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Δομή του προγράμματος». Έκδοση: 1.0. Ιωάννινα 2014. Διαθέσιμο από τη δικτυακή διεύθυνση: http://ecourse.uoi.gr/course/view.php?id=1227. Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά Δημιουργού - Παρόμοια Διανομή, Διεθνής Έκδοση 4.0 [1] ή μεταγενέστερη. [1] https://creativecommons.org/licenses/by-sa/4.0/.