//03 fahren.cpp //ένας βαθµός Κελσίου(Κ) ισούται µε = 1,8 βαθµούς Φαρενάιτ (F) //Κ = (F - 32)/1,8 #include <iostream> using namespace std;

Σχετικά έγγραφα
Σελίδα 1/17. //01 CAFES.cpp -EΙΣΑΓΩΓΙΚΟ #include <cstdlib> #include <iostream> using namespace std;

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

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

Στοιχειώδης προγραμματισμός σε C++

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

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

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

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

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

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

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

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

2.1. Εντολές Σχόλια Τύποι Δεδομένων

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript

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

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

3. Εκφράσεις και έλεγχος ροής

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

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

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

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

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ

Κεφάλαιο 4: Συνθήκες Έλεγχου (if-else, switch) και Λογικοί τελεστές / παραστάσεις. (Διάλεξη 8)

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

Δεδομένα, τελεστές, είσοδος/έξοδος

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

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

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

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

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

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΚΑΙ ΠΙΝΑΚΕΣ

ΦΥΛΛΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ 1

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

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

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

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

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

8. Συνθήκες ελέγχου, λογικοί τελεστές

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

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

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

Υπολογισμός - Εντολές Επανάληψης

Συμβολοσειρές ΣΥΜΒΟΛΟΣΕΙΡΕΣ. Γεώργιος Παπαϊωάννου ( )

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

- Αναπαράσταση ακέραιας τιµής : - Εύρος ακεραίων : - Ακέραιοι τύποι: - Πράξεις µε ακεραίους (DIV - MOD)

5. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Β' μέρος: while - do..while)

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

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor

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

Παίρνοντας Αποφάσεις 1

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

Οι εντολές ελέγχου της ροής ενός προγράμματος.

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

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

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

Γλώσσα Προγραμματισμού C

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

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

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

Δομές ελέγχου & επανάληψης

8. ΠΙΝΑΚΕΣ (ARRAYS) (Πρόχειρο σχέδιο - Μαθήµατος 5) //26. Array.cpp #include <iostream> using namespace std;

Γλώσσα Προγραμματισμού C

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 3 Ο. Σταθερές-Παράμετροι-Μεταβλητές Αριθμητικοί & Λογικοί Τελεστές Δομή ελέγχου-επιλογής Σύνθετοι έλεγχοι

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

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

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος

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

Λογικό "και" (AND) μας επιστρέφει 1 αν και οι δύο operands είναι όχι μηδέν, διαφορετικά 0)

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

Εισαγωγή στη JAVA. Εισαγωγή στη Java. Η Java είναι δημιούργημα της SUN MICROSYSTEMS.

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

Βαθμός Σχόλια. lab5 PASS PASS PASS PASS PASS. Οριακά PASS - Καλή δουλειά

ΕΝΟΤΗΤΑ 4 Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου

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

Είδη εντολών. Απλές εντολές. Εντολές ελέγχου. Εκτελούν κάποια ενέργεια. Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008

ΣΥΝΑΡΤΗΣΕΙΣ Παραδείγματα χρήσης συναρτήσεων

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

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

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

Εισαγωγή στην Αριθμητική Ανάλυση

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

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

Transcript:

(Πρόχειρο σχέδιο - Μαθήµατος 2) p.13-22 4. ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ C++ 4.1 Ξεκινώντας //02 cout.cpp cout << "C out GEIA SOU!!!...\n" <<endl; return 0; Ένα πρόγραµµα αρχίζει να εκτελεί το πρώτο που βρίσκει µέσα στην main function που δεν ανήκει σε κλάση! (..) δεν είναι πάντα άδειο, βάζουµε παραµέτρους (arguments) όταν υπάρχουν γυρνάει µια τιµή int (ακέραια) το σώµα της συνάρτησης, που έχει µέσα συνήθως πολλές εντολές π.χ. µπορεί να καλέσει άλλες συναρτήσεις cout<< \n ; C out εντολή, που θα δείξει στην οθόνη ότι υπάρχει µέσα στα cout είναι ένα αντικείµενο που αντιστοιχεί στο standard output stream-flow of data << υπερφορτωµένος τελεστής left shift bit-wise operator,- τελεστής εισαγωγής χρησιµοποιείται για να κατευθύνει το output string constant \n χαρακτήρας escape για νέα γραµµή endl manipulator χειριστής µορφοποίησης για νέα γραµµή ; δείχνει ότι τελειώνει η εντολή return 0 λέει στην main() να επιστρέψει την τιµή 0 εκεί που καλείται. Preprocessor (µέρος του compiler, πριν ξεκινήσει ο compiler) Directives // #include iostream.h /*δεν είναι σώµα συνάρτησης, δεν τελειώνει µε ; και αρχίζει µε #. Είναι οδηγία, που λέει στον compiler να συµπεριλάβει µέσα στο πρόγραµµα ένα άλλο αρχείο το iostream, που ονοµάζεται και header file. Αυτό περιέχει βασικές εντολές input/output που χρειάζονται π.χ.τα cout και << */ Τhe using Directive Ένα πρόγραµµα χωρίζεται σε διάφορα namespaces. Ένα namespace είναι ένα µέρος του προγράµµατος στο οποίο αναγνωρίζονται τα ονόµατα, έξω από αυτό είναι άγνωστα. /* σηµαίνει ότι όποιο όνοµα ακολουθεί π.χ. το cout είναι µέσα το std, αλλιώς θα έπρεπε να το προσδιορίσουµε */ std::cout << Εκτυπώνει στην οθόνη\n ; Αλλαγή γραµµής στην µέση της εντολής π.χ. using namespace std ; <=> using namespace std ; /*γενικώς τα κενά τα αγνοεί ο compiler - δεν προτείνεται όµως και υπάρχουν και εξαιρέσεις π.χ. #include */ VK - page 13

//03 fahren.cpp //ένας βαθµός Κελσίου(Κ) ισούται µε = 1,8 βαθµούς Φαρενάιτ (F) //Κ = (F - 32)/1,8 int ftemp; cout << "DOSE THERMOKRASIA SE farenheit: " ; cin>> ftemp; int ctemp=(ftemp-32)*5/9; /*Ανάθεση µεταβλητής οπουδήποτε µέσα στο πρόγραµµα, (ftemp-32) η παρένθεση για να γίνει πρώτα η αφαίρεση*/ cout << "ANTISTOIXEI SE BATHMOUS celcius: " <<ctemp<<"\n\n"; //ο τελεστής << χρησιµοποιείται επανειληµµένα return 0; cin >> ftemp; C in εντολή που αναµένει από τον χρήστη να πληκτρολογήσει µια τιµή cin είναι ένα αντικείµενο που αντιστοιχεί στο standard input stream << υπερφορτωµένος τελεστής right shift bit-wise operator,- τελεστής εξαγωγής χρησιµοποιείται για να πάρει την τιµή και να την βάλει στην µεταβλητή ftemp, κατευθύνει το output Mεταβλητές int var1; // δήλωση µεταβλητής var1 τύπου int (ακέραιος) int var2; // το όνοµα της µεταβλητής A..z, a..z, _, 1..9 var1=10; //ανάθεση τιµής 10 στην µεταβλητή var1 (assignment) var2=var1+30; Τύποι δεδοµένων Type int Ακέραιος Καταλαµβάνει 4 bytes (32 bits) στη µνήµη από -2.147.438.648 έως 2.147.438.647 short µικρός ακέραιος //shortvar=32s, 2 bytes από -32.768 έως 32.767 long µεγάλος ακέραιος //longvar=7628l, 4 bytes από -2.147.438.648 έως 2.147.438.647 Type float - Πραγµατικός Από 3.4x10-38 έως 3.4x10 38 µε ακρίβεια 7 δεκαδικών ψηφίων. Καταλαµβάνει 4 bytes (32 bits) στη µνήµη. double πραγµατικός διπλής ακρίβειας Καταλαµβάνει 8 bytes στη µνήµη, από 1.7x10-308 έως 1.7x10 308, µε 15 δεκαδικά ψηφία long double πραγµατικός διπλής ακρίβειας Καταλαµβάνει 12 bytes στη µνήµη, από 1.2x10-4932 έως 1.2x10 4932, µε 19 δεκαδικά (εκθετική µορφή - exponent ) 1234.56 => 1.23456E3 Type bool 2 πιθανές τιµές true & false Καταλαµβάνει συνήθως 2 bytes (16 bits) στη µνήµη VK - page 14

Τype char- char1= A Καταλαµβάνει 1 byte στη µνήµη, από -128 έως127 unsigned char Καταλαµβάνει 1 byte στη µνήµη, από 0 έως 255 unsigned short Καταλαµβάνει 2 bytes στη µνήµη, από 0 έως 65.535 unsigned int & unsigned long Καταλαµβάνει 4 bytes στη µνήµη, από 0 έως 4.294.967.295 //04 float.cpp float rad; const float PI=3.14159F; //σταθερή τύπου floating point cout << "\n DOSE THN AKTINA: " ; cin>> rad; float area=pi*rad*rad; //εµβαδόν του κύκλου cout << " TO EMBADON TOY EINAI: " <<area<<"\n\n"; return EXIT_SUCCESS; Μετατροπές τύπων δεδοµένων(casting) και σειρά προτεραιότητας long double (υψηλότερο), double, float, long, int, short, char (χαµηλότερο) //05 mixed.cpp int Count=7; float AvgWeight=155.5F; double TotWeight=Count*AvgWeight; //επιτρέπονται mixed τύπων εκφράσεις int*float //η ακέραια µεταβλητή count µετατρέπεται σε float και το αποτέλεσµα σε double cout << " Total : " <<Count<<'x'<<AvgWeight<<'=' <<TotWeight<<endl<<endl; int i=3,j=2; float f=i/j; cout << " DIAIRESH 3/2=" <<f<<endl; //1 cout << " DIAIRESH 3/2=" <<i/float(j)<<endl<<endl; //1.5 char ch='a'; //o char(65) είναι το γράµµα A cout << " PROSTHESH 64+3=" <<int(ch)+i<<endl<<endl; //68 ch=static_cast<char>(65 + i); //ο ακέραιος 64+i µετατρέπεται σε χαρακτήρα //ο ακέραιος µέσα σε παρένθεση cout << " CHARAKTHRAS 67=" <<ch<<endl<<endl; //C VK - page 15

cout<< " ARXIKA i=3 META i=" <<i-- <<endl; cout<< " TELIKA i=" << ++i <<endl; //3 j=++i * -- i; cout<< " PROTERAIOTHTES j="<< j <<endl; //9 return EXIT_SUCCESS; Σταθερές const #define PI 3.14159 const float PI 3.14159 //δεν καταλαµβάνει χώρο στη µνήµη Xειριστές µορφοποίησης (manipulators) setw(x) - manipulator εύρους(width) x cout <<setw(7)<<var1=123;<<endl; υποχρεώνει τον αριθµό (ή το string) που ακολουθεί να εµφανιστεί σε εύρος x θέσεων, µε ευθυγράµµιση προς τα δεξιά. Ολοι οι χειριστές (manipulators) εκτός του endl βρίσκονται µέσα στο header file <iomanip>. #include <iomanip> //IO manipulator, πρέπει να µπει για το setw. Αλλοι χειριστές ends;setfill(char),setbase(int),setprecision(int),flush Tελεστές αριθµητικών πράξεων: +, -, *, /, % το υπόλοιπο διαίρεσης(modulus) Αριθµητικοί Tελεστές ανάθεσης: =, +=, -=, *=, /=, %=, ++, -- (4 τρόποι να αυξήσω την τιµή κατά 1) i+=1 ; // i = i+1; i++ ; ++i // i = i+1; στο i++ πρώτα απoνοµή τιµής και µετά αύξηση Σχεσιακοί Τελεστές: >, <, ==,!=, >=, <= //06 relat.cpp int i=5,n; // (0) εξ ορισµού false cout << "DOSE ENA ARITHMO (LATHOS=0, SOSTO=1) n: " ; cin >> n; cout << "n<10 DINEI: " << (n<10) << endl; cout << "n>10 DINEI: " << (n>10) << endl; cout << "n==10 DINEI: " << (n==10) << endl<<endl; cout << "MANTEPSES TON ARITHMO MOU=> " << (n==i) << endl; cout << "DEN MANTEPSES TON ARITHMO=> " << (n!=i) << endl; return EXIT_SUCCESS; VK - page 16

Τελεστής συνθήκης x? α : b min = (a<b)? a : b; // min=a αν a<b, αλλιώς min=b abs = (n<0 )? n : n ; //abs=-n αν n<0, αλλιώς abs=n Αποτελείται από 2 σύµβολα? και : που επιδρούν πάνω σε 3 εκφράσεις Χαρακτήρες διαφυγής \n new line \b backspace \f form feed (νεα σελίδα) \r carriage return (αλλάζει γραµµή) \t tab \\ backslash (για to \) \' απλά εισαγωγικά \" διπλά εισαγωγικά \0 τερµατισµός string Tελεστές bitwise &,, ^, ~, <<, >> int a=166,b=176,c=8,d=4; cout << (a & b) <<endl; // 160 cout << (c d) <<endl; // 12 cout << (~a) <<endl; // 89 Προτεραιότητα Τελεστών Τελεστής Σημασία Φορά! Λογικό ΝΟΤ Μονομελής ~ Συμπλήρωμα ++ Αύξηση -- Μείωση Αριθμητικός * Πολ/σμός / Διαίρεση % Υπόλοιπο + Πρόσθεση - Αφαίρεση Ολίσθησης << Ολίσθηση αρ. >> Ολίσθηση δεξ. < Μικρότερο Σχεσιακός <= Μικρ. 'Η ίσο > Μεγαλύτερο Μεγαλύτερο ή >= ίσο == Ίσο!= Όχι ίσο & Bitwise AND Bitwise ^ Bitwise XOR Bitwise OR Λογικός && Λογικό AND Λογικό AND Συνθήκης?: OR συνθήκης = Ανάθεση /= Απόδοσης *= Τιμής %= += -= Mονοµελείς Τελεστές!, ~, ++, -- Αριθµητικοί Τελεστές *, /, %,+, - Τελεστές bitwise <<, >> Σχεσιακοί Τελεστές >, <, >=, <=, ==,!= Τελεστές bitwise ~, &, ^, I Λογικοί Τελεστές &&, ΙΙ Τελεστής Συνθήκης?: Αριθµητικοί Τελεστές Ανάθεσης =, *=, /=, %=,+=, -=, VK - page 17

4.2 Εντολές συνθήκης, ροής και επανάληψης Εντολές αποφάσεων, ελέγχου ή συνθήκης (if, if.. else, else if.., switch..case) ΙΑΚΛΑ ΩΣΕΙΣ (branches) if //07 ifdemo.cpp #include <conio.h> // για την εντολή getch() int x=10,y=10,d; char c='a'; cout<< "DOSE ENA ARITHMO: " ; cin >>x; if (x>10) return(0); cout << "\nb:boreia, a:anatolika, d:dytika; n:notia\n" ; cout << "H THESH MOU ARXIKA :" << x << "," << y <<endl; cout << "DOSE ODHGIA (b,a,d,n) : " ; c=getche(); if (c=='b') //Βόρεια y--; else if (c=='n') //Νότια y++; else if (c=='a') //Ανατολικά x++; else if (c=='d') // υτικά x--; cout << "\ntora H THESH EINAI :" <<x<<","<<y <<endl; cout<<endl; system( "PAUSE" ); return EXIT_SUCCESS; if (x>10) statement; if (x>10) statement1; statementn; //χωρίς ; πριν και µετά => for (..).. if (c== b ) statement; else statement; //ή νάχω και πολλαπλές διακλαδώσεις όπως στο παράδειγµα x>10 συνθήκη - test expression VK - page 18

Λογικοί Τελεστές (ΑΝD, OR, NOT) &&,,! if ( (x==7) && (y==8) ) cout << BRHKES XRYSO!! ; exit(0) // βγαίνει από το πρόγραµµα if ( (x<5) (x>15) ) cout << PROSOXH ENAS DRAKOS PISO SOU!! ; if ( c!= \r ) cout << PAME PALI!! <endl; Λογικό AND Λογικό OR Λογικό NOT && ενώνει 2 σχετικές εκφράσεις να αληθεύει ή η µία ή η άλλη σχετική έκφραση! να µην είναι αληθής η έκφραση switch case #include <conio.h> //για την εντολή getch() int x=10,y=10,d; char c='a'; //08 switchdemo.cpp cout << "\nb:boreia, a:anatolika, d:dytika; n:notia\n"; cout << "H THESH SOU ARXIKA :" <<x<<","<<y<<endl; cout << "DOSE ODHGIA(b,a,d,n): "; c=getch(); switch (c) case 'b': y--; break; case 'n': y++; break; case 'a': x++; break; case 'd': //Βόρεια //Νότια //Ανατολικά // υτικά VK - page 19

x--; break; case '\r': //return cout << "KRIMA..."<<endl; break; default: //οτιδήποτε άλλο εκτός από τα: b,n,a,d,\r cout << "\nprepei NA DINEIS (b,a,d,n) " cout << "\H NA PATHSEIS RETURN\n"; // end of switch cout << "\ntora H THESH EINAI :" <<x<<","<<y <<endl; cout<<endl; return EXIT_SUCCESS; switch (c) //χωρίς ; πριν και µετά => switch (..).. case b : statements; case r : statements; default: statements; switch(c) σε παρένθεση η µεταβλητή c, για την οποία έχουµε να κάνουµε επιλογές case b : το case ακολουθείται από µια σταθερά, για να εξεταστεί πχ. η περίπτωση που το c ισούται µε το χαρακτήρα b, και ακολουθεί : και κατόπιν οι εντολές για αυτήν την περίπτωση. default: µας ειδοποιεί ότι κάτι δεν πήγε καλά, δεν έδωσε ο χρήστης αυτά που έπρεπε. δεν είναι υποχρεωτικό αλλά συνιστάται. Σε περιπτώσεις, που οι εναλλακτικές τιµές µιας µεταβλητής που πρέπει να εξεταστούν είναι πολλές, το switch..case είναι πιθανότερο από το if else if.. else.. Εντολές ροής ( break, continue, goto) break; υποχρεώνει την εντολή switch (ή ένα loop γενικότερα) να σταµατήσει. ο έλεγχος µεταφέρεται στην πρώτη εντολή µετά το τέλος της switch (του loop). Προσοχή :αν δεν υπάρχει break, ο έλεγχος µεταφέρεται στο επόµενο στη σειρά case. continue; υποχρεώνει να µεταφερθεί ο έλεγχος στην αρχή του loop. goto υποχρεώνει να µεταφερθεί ο έλεγχος στο σηµείο που υποδεικνύει το goto Προσοχή :η εντολή aναφέρεται απλώς, δεν συνίσταται (spaghetti code!!). ΑΣΚΗΣΗ: Βγάλτε όλα τα break; στο παράδειγµα 08 switchdemo.cpp και µαντέψτε το αποτέλεσµα. VK - page 20

for Εντολές επανάληψης - Βρόχοι (for, while, do while) //09 fordemo.cpp #include <iomanip> //για τον χειριστή setw int i; for (i=0; i<15; i++) // o βρόχος (loop) σταµατάει όταν i=15 cout << i*i << " "; // 0 1 4 9 16 25 36 49 81 100 121 144 169 196 for (i=1; i<=10; i++) cout <<setw(4)<<i; int j=i*i*i; cout <<setw(6)<<j<<endl; // 1 1 // 2 8 // 3 27 cout <<endl; // 4 64 // 5 125 return EXIT_SUCCESS; // //10 1000 for (i=0; i<15; i++) statement; for (i=0; i<=10; i++) statement1; statementn; //χωρίς ; πριν και µετά => for (..).. i=0 ; αρχική τιµή - initialization expression i<15; συνθήκη - test expression i++ ; βήµα increment expression while //10 whiledemo.cpp #include <iomanip> //για τον χειριστή setw int i=99, p=0; cout<< "DOSE SYNEXEIA ARITMOUS, STAMATA ME: 0 " <<endl; while (i!=0) cin>>i; // δίνεις αριθµούς συνεχόµενα, µέχρι να δώσεις 0. while (i<11) VK - page 21

cout <<setw(2)<<i; cout<< setw(6)<<p<<endl; // 0 0 ++i; // 1 1 p=i*i*i*i; // 2 16 //.... //10 10000 cout <<endl; return 0; while (i!= 0) statement; while (i<11) statement1; statementn; //χωρίς ; πριν και µετά => while (..).. i!=0 συνθήκη - test expression ΑΣΚΗΣΗ: Χρησιµοποιήστε το while ( c!= \r ) στο παράδειγµα 07 ifdemo.cpp για να δίνεται οδηγίες συνεχόµενα µέχρι να πατηθεί το <return> (enter) do..while //11 dodemo.cpp #include <iomanip> //για τον χειριστή setw int i, j; char ch= n ; do cout<< "DOSE DIAIRETH : " ; cin >>i; cout<< "DOSE DIAIRETEO : " ; cin >>j; cout<< "PHLIKO ISO ME : " << i/j << endl; cout<< "YPOLOIPO ISO ME : " << i%j << endl<< endl; cout<< "Theleis kai allo? (n/o):" ; cin >> ch; while (ch!= o ); cout <<endl; return EXIT_SUCCESS; do statement1; statementn; while (ch!=0) ;//προσοχή έχει ; στο τέλος (ch!= 0) συνθήκη - test expression VK - page 22