Α1. Ποιο περιβάλλον χρησιµοποιείτε για να εκτελέσετε ένα πρόγραµµα C++ και πως.

Σχετικά έγγραφα
ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τύποι δεδομένων ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΠΡΑΞΕΙΣ ΜΕΤΑΒΛΗΤΕΣ. Ακέραιοι αριθμοί (int) Πράξεις μεταξύ ακεραίων αριθμών

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

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

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

Εργαστήριο 3 Εντολή for while, do while

BloodShed Dev C++ Οδηγίες Χρήσης (Συγγραφέας: Πάρις Πολύζος)

Εντολές εισόδου - εξόδου. Εισαγωγή στη C++

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

Streams Input / Output in C++ George Kastrinis

Η εντολή if-else. Η απλή μορφή της εντολής if είναι η ακόλουθη: if (συνθήκη) { Η γενική μορφή της εντολής ifelse. εντολή_1; εντολή_2;..

3 η Διάλεξη C++ - Βασικοί τύποι δεδομένων. Δρ. Χρήστος Δρόσος ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ

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

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

S, (5, -3, 34, -23, 7) ( *, _

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

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

Γ7.1 Επανάληψη ύλης Β Λυκείου. Γ Λυκείου Κατεύθυνσης

ΑΣΚΗΣΗ 1: TO ΠΕΡΙΒΑΛΛΟΝ ΕΡΓΑΣΙΑΣ DEV-C++

Γ7.2 Συμβολοσειρές (Strings) Γ Λυκείου Κατεύθυνσης

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

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

2 η Διάλεξη C++ Δρ. Χρήστος Δρόσος ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ

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

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

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

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

18. ΡΕΥΜΑΤΑ(STREAMS) ΚΑΙ ΑΡΧΕΙΑ (FILES)

Προγραµµατιστικές Τεχνικές

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

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

Αναφορές, είκτες και Αλφαριθμητικά

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

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

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

ΣΤΟΙΧΕΙΑ ΤΗΣ ΓΛΩΣΣΑΣ C++ Constructors, Destructors, Pointers IO Streams, File Streams

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

Προγραµµατιστικές Τεχνικές

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ. Δρ. Π. Νικολαΐδου

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

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

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

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τύποι δεδομένων ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΠΡΑΞΕΙΣ. Παράδειγμα #1. Πράξεις μεταξύ ακεραίων αριθμών

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

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

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

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

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

Πίνακες: μια σύντομη εισαγωγή. Πίνακες χαρακτήρων: τα "Αλφαριθμητικά"

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

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

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

Δομές Επανάληψης. Εισαγωγή στη C++

Κεφάλαιο , 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

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

Πίνακες (Arrays) Εισαγωγή στη C++

Εισαγωγή στην Tcl. Τί είναι η Tcl;

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

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο

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

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

Λύβας Χρήστος Αρχική επιµέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τι περιλαμβάνει μια μεταβλητή; ΔΕΙΚΤΕΣ. Διεύθυνση μεταβλητής. Δείκτης

Εισαγωγή στον προγραμματισμό. Τμήμα Πληροφορικής & Επικοινωνιών ΤΕΙ Σερρών Εργαστήριο 2

Βήματα: μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων. Δομές Δεδομένων + Αλγόριθμοι = Προγράμματα

Προγραµµατισµός Ι Εργαστήριο 13ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 13 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραµµατισµός Ι Εργαστήριο 13ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 13 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

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

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

Διαδικασία Ανάπτυξης Λογισμικού

Εισαγωγή ΕΙΣΑΓΩΓΗ. Γεώργιος Παπαϊωάννου ( )

ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή

B1. Σειρά :

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

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

ΣΕΤ ΑΣΚΗΣΕΩΝ 2. Προθεσµία: 15/11/09, 23:59

Απλά Προγράμματα. Βήματα: 1. Καθορισμός παράστασης δεδομένων στη μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων

Αντικειμενοστραφείς Γλώσσες Προγραμματισμού C++ / ROOT

Εισαγωγή στο προγραμματισμό Η/Υ C++ (Orwell Dev-C++)

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

ΑΣΚΗΣΗ 7: ΑΛΦΑΡΙΘΜΗΤΙΚΑ

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

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

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

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

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

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

Μεταφραστής (Compiler)

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

Επεξεργασία Αρχείων Κειµένου

1. ΕΙΣΑΓΩΓΗ ΣΤΗ ΓΛΩΣΣΑ C

Συναρτήσεις στη Visual Basic 6.0

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

Εισαγωγή στη Matlab Βασικές Συναρτήσεις

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

Συµβολοσειρές - Strings

Τυχαίοι αριθμοί struct Αρχεία Διαμορφώσεις Συναρτήσεις Χειρισμός σφαλμάτων ΠΕΜΠΤΗ ΔΙΑΛΕΞΗ

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

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

Εργαστήριο Μαθηματικής Ανάλυσης Ι. Εισαγωγή στη Matlab Βασικές Συναρτήσεις-Γραφικές παραστάσεις. Πανεπιστήμιο Θεσσαλίας. Σχολή Θετικών Επιστημών

Transcript:

Α. Πρώτη προαπαιτούµενη Κάθε οµάδα θα πρέπει να δηµιουργήσει ένα πρόγραµµα, που περιγράφει µία από τις παρακάτω προτάσεις έννοιες. Το πρόγραµµα θα τυπώνει µήνυµα(τα) στην οθόνη και θα το γράφει σε αρχείο. (κάποιες ιδέες οδηγίες δίνονται κατόπιν σελ.5-9) Α1. Ποιο περιβάλλον χρησιµοποιείτε για να εκτελέσετε ένα πρόγραµµα C++ και πως. Α2. Παρατηρήστε τα χρώµατα του περιβάλλοντος Dev C++ και τυπώστε τις παρατηρήσεις σας Α3. Εξηγήστε τον παραπάνω κώδικα µε προτάσεις #include <iostream> using namespace std; int main() { } cout << "PAME - no greek chars!!\n"; system("pause"); return 0; Α4. Τυπώστε τα µηνύµατα λάθους όταν θα παραλειφθεί µια γραµµή από τον κώδικα που υπάρχει παραπάνω (στο Π3) µε προτάσεις. Α5. ώστε πρακτικές οδηγίες για «όµορφο» προγραµµατισµό Α6. ώστε εξηγήσεις για το «αλφαριθµητικό» "PAME - no greek chars!!\n" Α7. Περιγράψετε τους πιο συνήθεις χαρακτήρες-ακολουθίες διαφυγής (escape sequence) Α8. Περιγράψτε τον τελεστή setw, εξηγώντας πως εµφανίζονται τα αποτελέσµατα σε πεδία µικρότερα αλλά και µεγαλύτερα από το εύρος που καθορίζει. Α9. Eξηγήστε την οδηγία #include <iostream> και γενικά τα «αρχεία κεφαλίδες» (header files) Α10. Περιγράψτε την διαδικασία ενός «εκτελέσιµου αρχείου» (*.exe). BK -Προαπαιτούμενες Ασκήσεις 1ου Εργαστηρίου - σελίs 1

Β. εύτερη προαπαιτούµενη Κάθε οµάδα θα πρέπει να δηµιουργήσει ένα πρόγραµµα, στο οποίο θα εισάγονται τιµές για τις µεταβλητές από το πληκτρολόγιο για να γίνει υπολογισµός της παράστασης. Κατόπιν θα διαβάζονται τιµές από αρχείο (που έχει ήδη δηµιουργηθεί). ηλώστε τις µεταβλητές σας π.χ. τύπου int ή float... Ζητήστε από τον χρήστη (prompt Dose..: ) να εισάγει τις τιµές και υπολογίστε την παράσταση και κατόπιν διαβάστε τις από αρχείο που έχετε ήδη δηµιουργήσει π.χ. µε Notepad. Β1. Υπολογίστε την παράσταση x = a * b * c Β2. Υπολογίστε την παράσταση m = a + b + c 5 Β3. Υπολογίστε την παράσταση m = a * x 2 + b * x Β4. Υπολογίστε την παράσταση m = a % x + b / x Β5. Υπολογίστε την παράσταση m = a / x + b / y Β6. Υπολογίστε την παράσταση m = a * x 3 + 7 *y Β7. Υπολογίστε την παράσταση m = 5 * x + 6 y Β8. Υπολογίστε την παράσταση m = a % x + b * y 3 Β9. Υπολογίστε την παράσταση m = x % x + a * x x / y Β10. Υπολογίστε την παράσταση m = (3 *x *(3+(7*y)))/6 x=y=0 means x=(y=0) BK -Προαπαιτούμενες Ασκήσεις 1ου Εργαστηρίου - σελίs 2

Βασικοί Τύποι εδοµένων Γ. Τρίτη προαπαιτούµενη Κάθε οµάδα θα πρέπει να δηµιουργήσει ένα πρόγραµµα που υπολογίζει µια από τις παρακάτω µαθηµατικές συναρτήσεις. Στη βιβλιοθήκη <cmath> υπάρχουν έτοιµες µαθηµατικές συναρτήσεις (x,y τύπου double) Γ1. Υπολογίστε την sqrt(x) = τετραγωνική ρίζα του x Γ2. Υπολογίστε την pow(x,y) = ύψωση του x στην δύναµη y Γ3. Υπολογίστε floor(x) = ο µεγαλύτερος ακέραιος <= x (αν x > 0 είναι το ακέραιο µέρος) Γ4. Υπολογίστε ceil(x) = ο µικρότερος ακέραιος >= x (αν x < 0 είναι το ακέραιο µέρος) Γ5. Υπολογίστε την abs(x) = απόλυτη τιµή του x Γ6. Υπολογίστε τo fmod(x,y) = υπόλοιπο της διαίρεσης x/y (αντίστοιχο του τελεστή % για ακεραίους) Γ7. Υπολογίστε την exp(x) = εκθετική συνάρτηση του x Γ8. Υπολογίστε την log(x) ή log10(x) = λογαριθµική συνάρτηση του x Γ9. Υπολογίστε τηv sin(x) ή cos(x) ή tan(x) = τριγωνοµετρική συνάρτηση του x Γ10. Υπολογίστε την asin(x) ή acos(x) ή atan(x) = αντίστροφη τριγωνοµετρική συνάρτηση του x Συµβουλευτείτε και τις ιστοσελίδες C++ Programming/Code/Standard C Library/Math http://en.wikibooks.org/wiki/c%2b%2b_programming/code/standard_c_library/math#standard_c_math C++ Reference/Standard C Library/Standard C Math http://www.cppreference.com/wiki/c/math/start C++ Reference/c math http://www.cplusplus.com/reference/clibrary/cmath/ Πανεπιστήμιο Κρήτης/C++/notes/Συναρτήσεις/Μαθηματικές Συναρτήσεις http://www.materials.uoc.gr/~tetycpp/node5.html#section00560000000000000000 BK -Προαπαιτούμενες Ασκήσεις 1ου Εργαστηρίου - σελίs 3

. Τέταρτη προαπαιτούµενη Κάθε οµάδα θα πρέπει να δηµιουργήσει τυχαίους αριθµούς και να ελέγξει αν δηµιουργήθηκαν στο επιθυµητό διάστηµα Στη βιβλιοθήκη <cstdlib> υπάρχουν οι συναρτήσεις rand και srand,που είναι χρήσιµες στην δηµιουργία ακολουθίας (ψευδο)τυχαίων αριθµών. Η συνάρτηση rand() επιστρέφει ένα ακέραιο αριθµό στο διάστηµα [0,RAND_MAX], µε ίσες πιθανότητες να βρίσκεται οπουδήποτε στο διάστηµα αυτό (οµοιόµορφη κατανοµή). Η τιµή RAND_MAX για τον Dev C++ compiler είναι 32767. Η συνάρτηση srand(time(0)) αρχικοποιεί την ακολουθία της rand µε διαφορετική τιµή, που προσδιορίζεται από την ένδειξη του ρολογιού του υπολογιστή (χρειάζεται και η βιβλιοθήκη <ctime>) Συνήθως χρειαζόµαστε τυχαίους αριθµούς, ακέραιους ή πραγµατικούς, σε κάποιο άλλο διάστηµα: x=a+rand()%w ακέραιος αριθµός στο διάστηµα [a,a+w) (πρέπει w<rand_max) x=rand()/32767.0 πραγµατικός αριθµός στο διάστηµα [0,1], RAND_MAX=32767 x=a+rand()*w/32767.0 πραγµατικός αριθµός στο διάστηµα [a,a+w], RAND_MAX=32767 1. ηµιουργήστε δυο τυχαίους ακεραίους µεγαλύτερους από 40 και ελέγξτε την εγκυρότητα τους 2. ηµιουργήστε δυο τυχαίους ακεραίους µικρότερους από 100 και ελέγξτε την εγκυρότητα τους 3. ηµιουργήστε δυο τυχαίους ακεραίους µεγαλύτερους ή ίσους µε 8 και ελέγξτε την εγκυρότητα τους 4. ηµιουργήστε δυο τυχαίους ακεραίους µικρότερους από 100 και ελέγξτε την εγκυρότητα τους 5. ηµιουργήστε πέντε τυχαίους ακεραίους ίσους ή µε 5 ή µε 10 και ελέγξτε την εγκυρότητά τους 6. ηµιουργήστε δυο τυχαίους ακεραίους στο διάστηµα 5..10 και ελέγξτε την εγκυρότητα τους 7. ηµιουργήστε δυο τυχαίους ακεραίους στο διάστηµα 1..6 και ελέγξτε την εγκυρότητα τους 8. ηµιουργήστε δυο πραγµατικούς διάστηµα 5..10 και ελέγξτε την εγκυρότητα τους 9. ηµιουργήστε δυο πραγµατικούς διάστηµα 1..6 και ελέγξτε την εγκυρότητα τους 10. Γράψτε δυο τυχαίους αριθµούς σε ένα αρχείο. Συµβουλευτείτε και τις ιστοσελίδες C and C++ programming.com/function Lookup/srand http://www.cprogramming.com/fod/srand.html C++ Reference/C Library/cstlib/rand http://www.cplusplus.com/reference/clibrary/cstdlib/rand/ Μορφοποίηση πραγµατικών αριθµών cout << setiosflags(ios::fixed) << setiosflags(ios::showpoint) << setprecision(3) BK -Προαπαιτούμενες Ασκήσεις 1ου Εργαστηρίου - σελίs 4

(Κάποιες ιδέες για τις ασκήσεις της Α προαπαιτούµενης) Α1.Οδηγίες εκτέλεσης ενός προγράµµατος C++ Το περιβάλλον ανάπτυξης των προγραµµάτων που έχει εγκατασταθεί στις αίθουσες των εργαστηρίων είναι η έκδοση 4.9.9.2 του µεταγλωττιστή C++ της εταιρίας Bloodshed. http://www.bloodshed.net/devcpp.html http://www.uniqueness-template.com/devcpp/ http://en.wikiversity.org/wiki/installing_and_using_dev-c%2b%2b#creating_a_project http://www.docstoc.com/docs/19445404/dev-c---tutorial Μπορείτε να δηµιουργήσετε ένα νέο Project ως εξής : Από τη µπάρα µε τις εντολές θα επιλέξετε File και εν συνεχεία New Project. Στην φόρµα που εµφανίζεται θα πρέπει να επιλέξετε "Console Application" και "C++ Project" και να πατήσετε "OK". Έπειτα θα πρέπει να αποθηκεύστε το project. BK -Προαπαιτούμενες Ασκήσεις 1ου Εργαστηρίου - σελίs 5

Ο προεπιλεγµένος φάκελος είναι ο φάκελος της εγκατάστασης και καλό θα είναι να µην τον χρησιµοποιείται για την αποθήκευση των εργασιών σας. Το προεπιλεγµένο όνοµα αποθήκευσης του Project είναι Project1.dev. Αν δίνεται διαφορετικά ονόµατα στα Projects που δηµιουργείται τότε µπορείτε να τα αποθηκεύεται στον ίδιο φάκελο διαφορετικά θα πρέπει να δηµιουργείτε ένα νέο φάκελο κάθε φορά για να µην διαγράψετε τις προηγούµενες εργασίες σας. Μετά την αποθήκευση του Project εµφανίζεται αυτόµατα ο "σκελετός" ενός νέου προγράµµατος όπως παρακάτω : #include <iostream> #include <stdlib.h> using namespace std; int main(int argc, char *argv[]) { system("pause"); return 0; } H εντολή system("pause") εξυπηρετεί την λειτουργία της συνάρτησης getch() οπότε δεν χρειάζεται η βιβλιοθήκη <conio.h>. H main είναι πάντα int γιατί το εκτελέσιµο πρόγραµµα θα χρησιµοποιηθεί στα Windows, οπότε θα πρέπει να επιστρέφει µια τιµή. Για να εκτελέσετε την εφαρµογή, µετά την πληκτρολόγηση των εντολών του προγράµµατος σας, θα πρέπει να µεταβείτε στη οριζόντια µπάρα µε τις εντολές Execute και στην επιλογή Compile & Run (F9). BK -Προαπαιτούμενες Ασκήσεις 1ου Εργαστηρίου - σελίs 6

Αν δεν έχετε αποθηκεύσετε το πηγαίο κώδικα θα γίνει σε αυτό το σηµείο (σαν προεπιλεγµένος φάκελος αποθήκευσης θα είναι ο φάκελος του project). Αν δεν θέλετε να αλλάξετε το προεπιλεγµένο όνοµα του αρχείου σας (main.cpp) τότε θα πρέπει να πατήσετε πλήκτρο Save και εν συνεχεία θα γίνει η εκτέλεση του προγράµµατος σας. Finding the Executable Your.exe should be wherever you saved your project, and it will be named after your project. main.cpp Α2. Μαύρο Απλό Γαλάζιο Για τα σχόλια Πράσιν Directives - οδηγίες προς τον preprocessor Κόκκινο Αλφαριθµητικά Bold Keywords Α3. Ένα πρόγραµµα αρχίζει µε την #include <iostream> (directives για τον preprocessor σε µια γραµµή χωρίς ; στο τέλος για πιο πολλές γραµµές χρήση \) Εντολές που αρχίζουν µε # εκτελούνται από τον preprocessor πριν γίνει compiler το πρόγραµµα Το αρχείο <iostream> είναι ένα header file Η εντολή using namespace std υποδεικνύει από ποιο χώρο διαλέγονται τα ονόµατα Η πρώτη συνάρτηση που εκτελείται είναι η main() BK -Προαπαιτούμενες Ασκήσεις 1ου Εργαστηρίου - σελίs 7

Η main επιστρέφει ένα ακέραιο int Το σώµα µιας συνάρτησης (main) µέσα σε {} Το cout << "PAME.."; είναι µια εντολή που τυπώνει στην οθόνη ότι είναι µέσα στα " " Κάθε εντολή τελειώνει µε ; Α4. Όταν δεν υπάρχει η 1 η γραµµή «cout undeclared (first use this function)» Όταν δεν υπάρχει η 2 η γραµµή «cout undeclared (first use this function)» Όταν δεν υπάρχει η 3 η, 6 η, 11 η γραµµή «δεν υπάρχει πρόβληµα» Α5. ώστε χαρακτηριστικό όνοµα στο αρχείο σας που θα σας υπενθυµίζει τι κάνει Η 1η γραµµή πρέπει να είναι σχόλιο που εξηγεί τον σκοπό του προγράµµατος, τυπώνει τον συγγραφέα & την ηµ/νία Ολο το σώµα της συνάρτησης να είναι σε εσοχή (χρησιµοποιείστε το tab ή 3 κενά) Αφήνετε ένα κενό πριν και µετά τον τελεστή << Ο τελευταίος χαρακτήρας µιας συνάρτησης να είναι το \n ώστε ο cursor να µείνει στην επόµενη γραµµή. Αφήνετε µια κενή γραµµή ανάµεσα στις δηλώσεις και τις εντολές. Μην αφήνετε πολλές συνεχόµενες κενές γραµµές Α6. Μέσα στα «..» είναι µια αλφαριθµητική σταθερά (string constant) Mπορεί να γραφτεί και σε δυο γραµµές..και νάχω ίδιο αποτέλεσµα Τα κενά µέσα στα «..» αντιµετωπίζονται σαν χαρακτήρες Το αλφαριθµητικό µπορεί να αναπαρασταθεί είτε ως πίνακας χαρακτήρων είτε ως αντικείµενο µιας κλάσης. Ο χαρακτήρας \n στο τέλος είναι χαρακτήρας διαφυγής, που αναγκάζει την επόµενη έξοδο να εµφανιστεί σε να γραµµή Α7. BK -Προαπαιτούμενες Ασκήσεις 1ου Εργαστηρίου - σελίs 8

Α8. Ο χειριστής setw είναι ένας τελεστής που χρησιµοποιείτε µαζί µε τον τελεστή εισαγωγής << και αλλάζει το πλάτος ενός πεδίου κατά την έξοδο (π.χ. cout<<setw(8)<< okto\n ). Προϋποθέτει την ενσωµάτωση του αρχείου iomanip ( #include <iomanip>) Α9. Το #include <iostream> δεν είναι εντολή δεν τελειώνει µε ; Στα αρχεία-κεφαλίδες γράφουµε δηλώσεις οδηγίες Το αρχείο iostream πρέπει να περιλαµβάνεται σε κάθε πρόγραµµα, που έχει λειτουργίες ροής εισόδου -εξόδου #include <iostream> µε την χρήση < > αναφερόµαστε στον standard include κατάλογο #include my_header.h αναζήτηση του αρχείου κεφαλίδα στον τρέχοντα κατάλογο #include /users/george/c++/includes/01head.h δίνουµε όλο το µονοπάτι Α10. To αρχείο µε τον πηγαίο κώδικα λέγεται mine.cpp Στο αρχείο mine.cpp ενσωµατώνονται τα αρχεία κεφαλίδες theirs.h κα mine.h.. Συµβουλευτείτε και τις ιστοσελίδες Object-Oriented Programming in C++ Robert Lafore http://aetos.it.teithe.gr/~vassik/downloads/methodologies/lafore_oop.pdf Thinking In C Bruce Eckel http://www.mindviewinc.com/cds/thinkinginc/ http://aetos.it.teithe.gr/~dkatzi/books/thinking_in_c++_2nd_edition.pdf C++ Weekend Crash Course Stephen R. Davis http://www.vo2ov.com/c-weekend-crash-course-repost-_115011.html http://aetos.it.teithe.gr/~dkatzi/books/c++_weekend_crash_course.pdf An Introduction to C++ by Saveen Reddy and G. Bowden Wise http://www.acm.org/crossroads/xrds1-1/ovp.html cplusplus.com http://www.cplusplus.com/ Cprogramming.com http://www.cprogramming.com/tutorial.html#c++tutorial cppreference.com http://www.cppreference.com/wiki/ BK -Προαπαιτούμενες Ασκήσεις 1ου Εργαστηρίου - σελίs 9

ΡΕΥΜΑ ΕΞΟ ΟΥ Output Stream 01OutToScreen.cpp // Έξοδος στην Οθόνη //Περιγράφει τον σκοπό του προγράµµατος, Συγγραφέα & Ηµ/νία //KΛΑΣΗ ostream µε αντικείµενο το cout - ΡΕΥΜΑ ΕΞΟ ΟΥ //ΤΕΛΕΣΤΗΣ ΕΙΣΑΓΩΓΗΣ << εισάγει την πληροφορία στο cout #include <iostream>//υποδεικνύει στο preprocessor να συµπεριλάβει το αρχείο //<iostream>. Εκεί ορίζεται ότι το αντικείµενο cout αντιστοιχεί στην οθόνη using namespace std; //θα χρησιµοποιηθεί o std χώρος ονοµάτων (std::cout<<endl;) //συνάρτηση που αρχίζει την εκτέλεση του προγράµµατος int main(int argc,char *argv[] ) { cout << "PAME - no greek chars!!\n"; cout << "To cout EINAI ANTIKEIMENO THS KLASHS ostream!!!\n" << "output stream: REYMA EXODOU\n\n"; cout << "O TELESTHS EISODOU << YPERFORTOTHIKE STHN KLASH ostream\n" << "GIA NA EISAGEI PLHROFORIES STO REYMA EXODOU\n"; cout << endl; system("pause"); //περιµένει µέχρι να πατηθεί πλήκτρο return 0; //δείχνει ότι το πρόγραµµα τελειώνει επιτυχώς } //τέλος της main BK -Προαπαιτούμενες Ασκήσεις 1ου Εργαστηρίου - σελίs 10

02OutToFile.cpp // Έξοδος σε Αρχείο //Eγγραφή στο αρχείο "OutΤο.txt", VK 31/01/2010 //KΛΑΣΗ ofstream - ΡΕΥΜΑ ΕΞΟ ΟΥ ΣΕ ΑΡΧΕΙΟ #include <iostream> #include <fstream> //υποδεικνύει στο preprocessor να συµπεριλάβει το αρχείο <fstream> using namespace std; //θα χρησιµοποιηθεί o std χώρος ονοµάτων (std::cout<<endl;) //συνάρτηση που αρχίζει την εκτέλεση του προγράµµατος int main(int argc,char *argv[] ) { ofstream fo("outto.txt"); //δηµιουργία αντικειµένου fo της κλάσης ofstream //& σύνδεση του µε το πραγµατικό αρχείο } fo << "WRITE FILE OutTo.txt!!\n"; fo << "To cout EINAI ANTIKEIMENO THS KLASHS ostream!!!\n" << "output stream: REYMA EXODOU\n\n"; fo << "O TELESTHS EISODOU << YPERFORTOTHIKE STHN KLASH ostream\n" << "GIA NA EISAGEI PLHROFORIES STO REYMA EXODOU\n"; fo << endl; fo << "ENA ARXEIO EGGRAFHS EINAI ANTIKEIMENO THS KLASHS ofstream\n"; fo << "O TELESTHS EISODOU MPOREI NA EISAGEI PLHROFORIES SE ARXEIO\n"; fo << endl; fo.close(); cout << "FILE WRITΤEN" << endl; system("pause"); return 0; BK -Προαπαιτούμενες Ασκήσεις 1ου Εργαστηρίου - σελίs 11

ΡΕΥΜΑ ΕΙΣΟ ΟΥ Input Stream 03InFromScreen.cc // Είσοδος από το Πληκτρολόγιο //Aθροισµα 2 πληκτρολογούµενων ακεραίων - VK 31/01/2010 //KΛΑΣΗ istream µε αντικείµενο το cin - ΡΕΥΜΑ ΕIΣΟ ΟΥ //ΤΕΛΕΣΤΗΣ ΕΞΑΓΩΓΗΣ >> εξάγει την πληροφορία από το cin #include <iostream> using namespace std; //συνάρτηση που αρχίζει την εκτέλεση του προγράµµατος int main(int argc,char *argv[] ) { int a1; //δήλωση ακεραίου int a2; int sum; } cout << "O TELESTHS EXODOU >> YPERFORTOTHIKE STHN KLASH istream\n" << "GIA NA EXAGEI PLHROFORIES APO TO REYMA EISODOU\n\n"; cout << "DOSE PROTO AKERAIO: "; //prompt,να ξέρουµε τι περιµένει απο µάς cin >> a1; //δηλ. ότι περιµένει ένα ακέραιο cout << "DOSE DEYTERO AKERAIO: "; cin >> a2; //περιµένει και άλλον ένα ακέραιο sum = a1 + a2; cout << "\nathroisma " << a1 << " + " << a2 << " DINEI: " << sum <<endl; system("pause"); return 0; BK -Προαπαιτούμενες Ασκήσεις 1ου Εργαστηρίου - σελίs 12

04ReadFile.cc // Aνάγνωση από Αρχείο //Aθροισµα 2 ακεραίων - Εγγραφή τους σε αρχείο και ΑΝΑΓΝΩΣΗ - VK 31/01/2010 //KΛΑΣΗ istream µε αντικείµενο το cin - ΡΕΥΜΑ ΕIΣΟ ΟΥ //ΤΕΛΕΣΤΗΣ ΕΞΑΓΩΓΗΣ >> εξάγει την πληροφορία από το ρεύµα #include <iostream> #include <fstream> using namespace std; int main(int argc,char *argv[] ) { int a1; int a2; int sum; cout << "DOSE PROTO AKERAIO: "; //5 cin >> a1; cout << "DOSE DEYTERO AKERAIO: "; //4 cin >> a2; sum = a1 + a2; //9 cout << "\nathroisma " << a1 << " + " << a2 << " DINEI: " << sum <<endl; //εγγραφή σε αρχείο: 5 4 9 ofstream fo("sumint.txt"); fo << a1 << " " << a2 << " " << sum << endl; fo.close(); //ανάγνωση από το αρχείο ifstream fi("sumint.txt"); //ορισµός αντικειµένου fi της κλάσης ifstream } fi >> a1 >> a2 >> sum ; //εκτύπωση των αναγνωσθέντων cout << "\nathroisma " << a1 << " + " << a2 << " DINEI: " << sum <<endl; fi.close(); cout << endl; system("pause"); return 0; BK -Προαπαιτούμενες Ασκήσεις 1ου Εργαστηρίου - σελίs 13

// (απόσπασµα) Σύγκριση δυο ακεραίων BK -Προαπαιτούμενες Ασκήσεις 1ου Εργαστηρίου - σελίs 14