ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Το αλφαριθμητικό (string)
Advertisements

ΘΕΩΡΙΑ ΔΙΑΛΕΞΗ 4 Αριθμητικές εκφράσεις και πράξεις Εντολές ανάθεσης
Αναδρομη και static Γραψετε την συναρτηση sequence_size που διαβαζει μια απροσδιοριστου μεγεθους σειρας και υπολογιζει και τυπωνει το μεγεθος της. int.
Αντικειμενοστραφής Προγραμματισμός
ΜΑΘ 3122 (106) Γλώσσα προγραμματισμού
ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΙΑΔΙΚΑΣΤΙΚΟ ΠΡΟΓΡΑΜMΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ – ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ.
Τύποι πραγματικών αριθμών
Συναρτήσεις Κληση/Επιστροφη Παραμετροι
ΘΠ06 - Μεταγλωττιστές Πίνακας Συμβόλων, Σημασιολογικές Ενέργειες.
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος γ
ΗΥ-150 Προγραμματισμός Εντολές Ελέγχου Ροής.
Τελεστές ανάθεσης (assignment)
ΜΕΤΑΒΛΗΤΕΣ - ΤΥΠΟΙ ΜΑΘΗΜΑ 3.
ΕΠΑΝΑΛΗΨΗΕΠΑΝΑΛΗΨΗ ΠΡΟΓΡΑΜΜΑΤΑ. ΠΡΟΓΡΑΜΜΑ 1 ΕΞΗΓΗΣΤΕ ΤΙ ΕΞΟΔΟ ΠΑΡΑΓΕΙ ΤΟ ΠΑΡΑΚΑΤΩ ΠΡΟΓΡΑΜΜΑ #include int main() { char ch; int i; float fl; printf("dose.
ΤΕΛΕΣΤΕΣ II ΜΑΘΗΜΑ 5.
Η ΓΛΩΣΣΑ C ΜΑΘΗΜΑ 2.
Υποθετικός τελεστής Ο υποθετικός τελεστής (?:) αποτελείται από δύο σύμβολα. Ανήκει στην κατηγορία των τελεστών που αποτελούνται από συνδυασμό συμβόλων.
Τελεστές (operators) – Εκφράσεις (expressions)
1 Ολυμπιάδα Πληροφορικής Μάθημα 2. 2 Στόχοι μαθήματος Αριθμητικοί– Λογικοί Τελεστές Η εντολή IF.
ΣΥΝΑΡΤΗΣΕΙΣ.
Πάνω προς Κάτω Σχεδιασμός και Συναρτήσεις
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ
Μεταβλητές – εντολές εκχώρησης- δομή ακολουθίας
Ενότητα Α.4. Δομημένος Προγραμματισμός
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Αναδρομή (1/2)
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΜΑΘ 3122/106 – Γλώσσα Προγραμματισμού Ξενοφών Ζαμπούλης ΜΑΘ-3122/106 Γλώσσα Προγραμματισμού Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος.
Τμήμα Πληροφορικής και Τηλεπικοινωνιών
Διαφάνειες παρουσίασης #2
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Συναρτήσεις.
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Στάθης Ζάχος Νίκος Παπασπύρου
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι 4-1 Στην ενότητα αυτή θα μελετηθεί η χρήση στοιβών στις εξής εφαρμογές: Αναδρομικές συναρτήσεις Ισοζυγισμός Παρενθέσεων.
ΗΥ 150 – Προγραμματισμός Ξενοφών Ζαμπούλης ΗΥ -150 Προγραμματισμός Τύ π οι Μεταβλητών Τελεστές Βασική Είσοδος / Έξοδος.
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Αλφαριθμητικά (Strings)
ΗΥ150 – ΠρογραμματισμόςΞενοφών Ζαμπούλης ΗΥ-150 Προγραμματισμός Συναρτήσεις.
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Επιπλέον στοιχεία της C.
ΗΥ150 – ΠρογραμματισμόςΞενοφών Ζαμπούλης ΗΥ-150 Προγραμματισμός Αναδρομή (1/2)
Βασικά στοιχεία της Java
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Συναρτήσεις (μέρος δεύτερο) και Μεταβλητές.
ΚΕΦΑΛΑΙΟ Το αλφάβητο της ΓΛΩΣΣΑΣ
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αντικειμενοστραφής Προγραμματισμός Ι Ενότητα 2: Μεταβλητές και Τύποι Δεδομένων. Διδάσκων: Νικόλαος Θ Λιόλιος,
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Προγραμματισμός ΗΥ Ενότητα 2: Συναρτήσεις Εισόδου ⁄ Εξόδου. Διδάσκων: Ηλίας Κ Σάββας, Αναπληρωτής Καθηγητής.
Βασικές έννοιες προγραμματισμού Κεφάλαιο 7 ο. Βασικές έννοιες προγραμματισμού Αλφάβητο και τύποι δεδομένων Σταθερές και μεταβλητές Τελεστές, συναρτήσεις.
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ «Εισαγωγή στον οντοκεντρικό προγραμματισμό (βασική εισαγωγή στο περιβάλλον εργασίας)» Ρουσσάκης Ιωάννης, ΤΕΙ Κρήτης,
Πίνακες στην JAVA ΕΡΓΑΣΤΗΡΙΟ AΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ (Διαφάνειες: ΧΟΧΟΛΗΣ ΔΙΟΝΥΣΙΟΣ Προσαρμογή 2014: Κώστας Στάμος)
ΔΟΜΗ ΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΕ C 1.Σχόλια 2.Οδηγίες προεπεξεργαστή 3.Ορισμοί τύπων 4.Δηλώσεις συναρτήσεων (πρωτότυπα) 5.Ορισμός της main 6.Ορισμοί συναρτήσεων.
ΜΕΤΑΒΛΗΤΕΣ-ΣΤΑΘΕΡΕΣ -ΕΚΦΡΑΣΕΙΣ
Προτάσεις, εκφράσεις, τελεστές Βασικά στοιχεία ελέγχου προγράμματος
Δεδομένα, μεταβλητές, υπολογισμοί
ΑΛΓΟΡΙΘΜΟΣ ΠΡΟΒΛΗΜΑ ΑΛΓΟΡΙΘΜΟΣ ΛΥΣΗ
ΕΝΤΟΛΕΣ ΕΠΙΛΟΓΗΣ Η εντολή if if ( παράσταση) εντολή επόμενη εντολή.
for (παράσταση_1; παράσταση_2; παράσταση_3)
Τύποι Μεταβλητών.
ΔΟΜΕΣ ΕΛΕΓΧΟΥ(if-else, switch) και Λογικοί τελεστές / παραστάσεις
Τεχνολογία και Προγραμματισμός Υπολογιστών
Τεχνολογία και Προγραμματισμός Υπολογιστών
ΣΥΝΑΡΤΗΣΕΙΣ (Functions)
Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος
Η Γλώσσα Pascal Υποπρογράμματα
Μανασσάκης Βασίλης Καθηγητής Πληροφορικής
Εισαγωγή στον Προγ/μό Υπολογιστών
Τελεστές και ή όχι Για την εκτέλεση αριθμητικών πράξεων
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
Εντολές και δομές αλγορίθμου
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ Η/Υ
ΗΥ-150 Προγραμματισμός Αναδρομή (1/2).
ΕΚΦΡΑΣΕΙΣ, ΑΝΑΜΟΝΕΣ (DELAYS), ΗΧΟΙ
Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου
Μεταγράφημα παρουσίασης:

ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος

ΗΥ150 – Προγραμματισμός Κώστας Παναγιωτάκης 2 Μεταβλητές «Επώνυμες» θέσεις μνήμης Στη C όλες οι μεταβλητές πρέπει να δηλώνονται Δηλώσεις: – τύπος όνομα; – int myfirstvariable; Ονόματα (καλύτερα μεγάλα από μικρά: μέχρι 31 χαρακτήρες) – να έχουν νόημα (λ.χ. sum για άθροισμα) – case sensitive (λ.χ. var1, Var1) – Ξεκινούν από γράμμα ή _ και μπορούν στη συνέχεια να περιέχουν και αριθμούς (λ.χ. myVar_1_int) – Προσοχή στις δεσμευμένες λέξεις της C (if, else, while, for, break, continue, int, float, double, char, …) και στα ονόματα συναρτήσεων Initialization: int myfirstvariable = 6; Δηλώσεις πολλών μεταβλητών με κόμμα – int x,y = 0,z = -1;

ΗΥ150 – Προγραμματισμός Κώστας Παναγιωτάκης 3 Μεταβλητές Οι μεταβλητές μπορεί να είναι: – Τοπικές: έχει πρόσβαση σε αυτές μόνο η συνάρτηση στην οποία έχουν δηλωθεί. Μόλις ολοκληρωθεί η εκτέλεση της συνάρτησης η μεταβλητή «χάνεται» – Καθολικές: έχουν πρόσβαση σε αυτές όλες οι συναρτήσεις που βρίσκονται στο ίδιο αρχείο Διατηρούνται κατά την εκτέλεση του προγράμματος Προσοχή στη χρήση τους.

ΗΥ150 – Προγραμματισμός Κώστας Παναγιωτάκης 4 Μεταβλητές Καθολικές (global) έναντι τοπικών μεταβλητών (local) double sum;//καθολικές int nextOfX(int x) { x = x + 1; sum = sum+1; return x; } main() { int x = 0; //τοπική sum = 0; x = nextOfX(0); x = nextOfX(x); }

ΗΥ150 – Προγραμματισμός Κώστας Παναγιωτάκης 5 Στατικές Μεταβλητές Οι μεταβλητές μπορεί να είναι: – Τοπικές: μια μόνο συνάρτηση χρησιμοποιεί την μεταβλητή που πρέπει να την θυμάται μεταξύ διαφορετικών κλήσεων. Μοιάζουν με τις καθολικές μεταβλητές αλλά με τη διαφορά πως δε «χάνονται» μετά το τέλος της συνάρτησης. – Καθολικές: ένα μικρό σύνολο από συναρτήσεις χρησιμοποιεί την μεταβλητή, οπότε η μεταβλητή δηλώνεται σαν στατική και όλες αυτές οι συναρτήσεις μπαίνουν στο ίδιο αρχείο Αρχικοποίηση στην αρχή της εκτέλεσης του προγράμματος – static int x=8;

ΗΥ150 – Προγραμματισμός Κώστας Παναγιωτάκης 6 Static variables void a() { static int staticVariable = 500; /* mono thn prwth fora*/ staticVariable++; printf( “%d\n”, staticVariable); } Output ….

ΗΥ150 – Προγραμματισμός Κώστας Παναγιωτάκης 7 Τύποι Μεταβλητών και Εκφράσεων Και οι μεταβλητές αλλά και οι εκφράσεις έχουν ένα τύπο δεδομένων Τύπος μεταβλητών σε τρία μέρη: – Μέρος πρώτο: signed, unsigned, τίποτα – Μέρος δεύτερο: long ή short ή τίποτα – Μέρος τρίτο: char, int, float, double Το τελευταίο είναι το μόνο απαραίτητο για να δηλώσει τύπο Δεν δίνουν όλοι οι συνδυασμοί συντακτικά σωστές δηλώσεις – int x; – long int x; – long float x; – unsigned char x;

ΗΥ150 – Προγραμματισμός Κώστας Παναγιωτάκης 8 Αναπαράσταση και Εύρος Τιμών Χαρακτήρες char, 1 byte, 8 bits, αναπαριστούν 2 8 = 256 τιμές Ακέραιοι int{-2 #bits-1, -2 #bits-1 + 1, …, 2 #bits-1 - 1} Πραγματικοί float ή double Οι double έχουν μεγαλύτερο εύρος τιμών και μεγαλύτερη ακρίβεια αναπαράστασης από τους float

ΗΥ150 – Προγραμματισμός Κώστας Παναγιωτάκης 9 Τύπος Μεταβλητών και Σταθερών Ο τύπος μιας μεταβλητής σε μια έκφραση είναι ο τύπος με την οποία την δηλώνουμε Ο τύπος μιας σταθεράς είναι – Σταθερά χαρακτήρα ’x’ -> μετατροπή στον αντίστοιχο ακέραιο ASCII – Ακέραια (π.χ., 1234) int, long int, unsigned long int, όποια τον χωράει 1234U -> unsigned int ή unsigned long int 1234L -> long int ή unsigned long int – Σταθερά κινητής υποδιαστολής > double f -> float

ΗΥ150 – Προγραμματισμός Κώστας Παναγιωτάκης 10 Τελεστές – Προτεραιότητα Πράξεων == (ισότητα), != (ανισότητα),, = ! (όχι), && για λογικό ΚΑΙ (AND), || για λογικό Η (OR) Πρόσθεση – Αφαίρεση : + - Πολλ/σμος – Διαίρεση :* / – double x = 5/2; //x = 2.0 – double y = 5.0/2; //x = 2.5 Υπόλοιπο διαίρεσης : % – int x = 5 % 2; //x = 1 Σειρά των πράξεων: 1. ( ) 2. ! 3. * / %(από αριστερά προς τα δεξιά) (από αριστερά προς τα δεξιά) 5. = > 6. == != Επιστρέφουν 1 (ΑΛΗΘΕΣ) ή 0 (ΨΕΥΔΕΣ) int s = (x == 1) || (x == 2); 0 || Χ -> Χ int s = ! (x == 1) && (x == 2); !0 || Χ -> 1 int s = 1+((x == 1) || (x != 2))*2; 0 && Χ -> 0 !0 && Χ -> Χ

ΗΥ150 – Προγραμματισμός Κώστας Παναγιωτάκης 11 Μετατροπές Τύπων – Αριθμητικοί Τελεστές Οι εκφράσεις λοιπόν έχουν: μια τιμή και ένα τύπο Τι γίνεται αν στην εφαρμογή του κανόνα – έκφραση1  έκφραση2 τελεστής έκφραση3 οι τύποι της έκφραση2 και έκφρασης3 είναι διαφορετικοί; Π.χ,. x = y + z, όπου το y είναι int και το z είναι float Η «μικρότερη» έκφραση μετατρέπεται στην «μεγαλύτερη» Η τελική εκφραση1 έχει τον τύπο της «μεγαλύτερης» έκφρασης

ΗΥ150 – Προγραμματισμός Κώστας Παναγιωτάκης 12 Εκχωρήσεις τιμής σε μεταβλητή διαφορετικού τύπου – Το δεξί μέρος μετατρέπεται στον τύπο του αριστερού μέρους ΠΡΟΒΛΗΜΑ: η μετατροπή μπορεί να χάνει δεδομένα/ακρίβεια – int x = 15.0/2.0; – char = unsigned char ή signed char, εξαρτάται από τον μεταφραστή Μετατροπές Τύπων

ΗΥ150 – Προγραμματισμός Κώστας Παναγιωτάκης 13 Ρητή Μετατροπή Τύπων Type casting Ρητή μετατροπή από ένα τύπο μεταβλητής σε κάποιον άλλο. x = (int) y; γενική μορφή: – έκφραση1 <- (τύπος) έκφραση2 – η έκφραση1 παίρνει την τιμή της μετατρεπόμενης τιμής της έκφρασης2

ΗΥ150 – Προγραμματισμός Κώστας Παναγιωτάκης 14 Τελεστές μοναδιαίας αύξησης / μείωσης i++; (i--;): μεταθεματικοί (postfix) ++i; (--i;): προθεματικοί (prefix) Η αύξηση/μείωση συμβαίνει πριν (για προθεματικούς)/μετά (για μεταθεματικούς) την χρησιμοποίηση της τιμής Αν μια έκφραση έχει πολλαπλά ++ εξαρτάται από τον μεταγλωττιστή x = i++; x = ++i; i = 1; x = 1; i = 2; δεξιά προς αριστερά!! Όταν δεν είναι μέρος εντολής είναι ισοδύναμα!!

ΗΥ150 – Προγραμματισμός Κώστας Παναγιωτάκης 15 Τελεστές αντικατάστασης έκφραση1 τελεστής= έκφραση2 i += 2;: i = i + 2; x *= y + 2; x = x * (y + 2); δεξιά προς αριστερά!!

ΗΥ150 – Προγραμματισμός Κώστας Παναγιωτάκης 16 printf / scanf Εισαγωγή Μορφή εισόδου / εξόδου Εκτυπώσεις με διαφορετική μορφοποίηση Παράμετροι – %c -- character – %d -- integer – %f -- float – %lf -- double Παράδειγμα int x; char c; scanf(“%d”,&x); c = ‘a’; printf(“x = %d c(char) = %c c(int) = %d\n”,x,c,c);

ΗΥ150 – Προγραμματισμός Κώστας Παναγιωτάκης 17 printf / scanf Μορφή εισόδου / εξόδου Παράμετροι – %c -- character – %d -- integer – %f -- float – %lf -- double Παράδειγμα float f; scanf(“%f”,&f); printf(“f = %f\nf ~= %.2f \n”,f,f);

ΗΥ150 – Προγραμματισμός Κώστας Παναγιωτάκης 18 Τυπικά Λάθη printf – λιγότερα ορίσματα από όσα περιμένει – διαφορετικά ορίσματα από αυτά που περιμένει scanf – τα προηγούμενα – Ξεχάσατε το & Αθελημένες μετατροπές τύπων if(x=5) αντί για if(x==5) Ξεχάσατε το ; ή το αντίστροφο

ΗΥ150 – Προγραμματισμός Κώστας Παναγιωτάκης 19 Παράδειγμα #include int main() { int a = 1, b = 1, x = 0, y = 0; double w; x = 1 + a++; printf( "x = %d\n", x); printf( "a = %d\n", a); y = ++b; printf( "y = %d\n", y); printf( "b = %d\n", b); } /* results 2 */