Τεχνολογία και Προγραμματισμός Υπολογιστών

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΙΑΔΙΚΑΣΤΙΚΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ – ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ.
Advertisements

Τέλος Ενότητας.
Μεταγλωττιστές (Compilers) (Θ) Ενότητα 13: Επαναληπτικό μάθημα Κατερίνα Γεωργούλη Τμήμα Μηχανικών Πληροφορικής ΤΕ Το περιεχόμενο του μαθήματος διατίθεται.
Η ανοσοαποτύπωση ως επιβεβαιωτική μέθοδος
Αυτοματοποιημένη ευρετηρίαση
Μεταγλωττιστές (Compilers) (Θ) Ενότητα 11: Βελτιστοποίηση Ενδιάμεσου Κώδικα Κατερίνα Γεωργούλη Τμήμα Μηχανικών Πληροφορικής ΤΕ Ανοικτά Ακαδημαϊκά Μαθήματα.
Έλεγχος Ροής με την Εντολή Επανάληψης FOR 1/9
Καμπυλότητα Φακού P c
Σχεδίαση Ολοκληρωμένων Κυκλωμάτων
Ενότητα 8: Μιλάμε για το θέατρο
Τεχνολογία οφθαλμικών φακών Ι (Ε) Ενότητα 5: Έγχρωμοι φακοί Θεμιστοκλής Γιαλελής, Οπτικός, MSc, PhD candidate ΕΔΙΠ του τμήματος Οπτικής και Οπτομετρίας.
Τεχνολογία και Προγραμματισμός Υπολογιστών
Κανόνες Ασφαλείας Εργοταξίων
ΟΙΚΟΝΟΜΙΚΑ ΤΟΥ ΕΛΕΓΧΟΥ ΤΗΣ ΡΥΠΑΝΣΗΣ
Όνομα Καθηγητή: Χρήστος Τερέζης
Άλλες μορφές νευρώσεων
Διαχείριση παραγωγής εντύπων 1/2
Επικοινωνιακός Προγραμματισμός Ι
Υπολογιστική Γεωμετρία και Εφαρμογές στις ΒΧΔ
Ενότητα 4 (part B) : Ιατρική ηθική
Εισαγωγή στους Η/Υ Ενότητα 8: Αριθμητική υπολογιστών Ιωάννης Σταματίου
Εργαστήριο 9 : Scratch (Μέρος 9_Β) Δημήτριος Νικολός ΤΕΕΑΠΗ
Τεχνολογία και Προγραμματισμός Υπολογιστών
Εισαγωγή στους Η/Υ Ενότητα 9: Μετατροπές και πράξεις στους Η/Υ
Τεχνολογία και Προγραμματισμός Υπολογιστών
ΕΦΑΡΜΟΣΜΕΝΗ ΗΘΙΚΗ Ενότητα 2: Βιοτικές κρίσεις και ηθικά επιχειρήματα (part B) Διδάσκων: Μιχαήλ Παρούσης, Αναπλ. Καθηγητής Σχολή Ανθρωπιστικών και Κοινωνικών.
Ταυτότητα και περίγραμμα μαθήματος
Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων
ΠΡΟΤΥΠΟ ΕΛΟΤ EN ISO 3251 Ζύγιση μάζας υγρού μελανιού (m1 g)
Ενότητα 13 Αξιολόγηση μαθήματος και διδάσκοντος από την εφαρμογή της Μονάδας Ολικής Ποιότητας (ΜΟΔΙΠ) του ΤΕΙ Αθήνας Αξιολόγηση του μαθήματος Αξιολόγηση.
Εισαγωγή στους Η/Υ Ενότητα 11: Αλγεβρικές πράξεις στους Η/Υ
Σύγχρονη Πρακτική Φιλοσοφία
Άσκηση 9 (1 από 2) Ανακαλύψτε στο χάρτη σας μερικά χαρτογραφικά αντικείμενα που να ανήκουν στις παρακάτω κατηγορίες : φυσικά, τεχνητές κατασκευές, αφηρημένα.
Φιλοσοφία της Ιστορίας και του Πολιτισμού
Ο Πλάτων και ο Αριστοτέλης για την ψυχή
Εργαστήριο 7 : Scratch (Μέρος 7ο) Δημήτριος Νικολός ΤΕΕΑΠΗ
Σύγχρονη Πρακτική Φιλοσοφία
Σχολή Ανθρωπιστικών και Κοινωνικών Σπουδών Τμήμα Φιλοσοφίας
ΕΦΑΡΜΟΣΜΕΝΗ ΗΘΙΚΗ Ενότητα 9 (PART A): Σχέση Ηθικής και Δικαιοσύνης
Τοπολογικές σχέσεις 1/3 Βρείτε και περιγράψτε τις τοπολογικές σχέσεις σύμφωνα με τους (Pantazis, Donnay 1996) για τα παρακάτω γεω-γραφικά αντικείμενα:
Σύγχρονη Πρακτική Φιλοσοφία
Επικοινωνιακός Προγραμματισμός Ι
Εικαστικές συνθέσεις - Χρώμα στο χώρο
Γενική και Μαθηματική Χαρτογραφία (Ε)
Οργάνωση και Διοίκηση Πρωτοβάθμιας (Θ)
Εισαγωγή στις εικαστικές τέχνες
Εισαγωγή στους Η/Υ Ενότητα 1: Εισαγωγή στους Η/Υ Ιωάννης Σταματίου
Λιθογραφία – Όφσετ (Θ) Ενότητα 8.2: Εκτυπωτική Διαδικασία Μηχανής
Επικοινωνιακός Προγραμματισμός Ι
Διδακτική της Πληροφορικής
Εισαγωγή στους Η/Υ Ενότητα 12: Το διάγραμμα ροής και η λειτουργία του
Αριστοτέλης: Γνωσιοθεωρία Μεταφυσική
ΕΦΑΡΜΟΣΜΕΝΗ ΗΘΙΚΗ Ενότητα 5 (part A): Ηθική αρχών και ηθική ωφέλειας
Τηλεοπτική και Ραδιοφωνική Παραγωγή
Όνομα Καθηγητή: Χρήστος Τερέζης
Ενότητα 4 (part A) : Ιατρική ηθική
Ειδικά θέματα βάσεων χωρικών δεδομένων και θεωρία συστημάτων -E
Γενική και Μαθηματική Χαρτογραφία (Ε)
Μυθος και Τελετουργία στην Αρχαία Ελλάδα
Το Εικονογραφημένο Βιβλίο στην Προσχολική Εκπαίδευση
Ενότητα 8: Συστήματα Υγείας στην Ευρώπη: Γαλλία
Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων
ΕΦΑΡΜΟΣΜΕΝΗ ΗΘΙΚΗ Ενότητα 5 (part B): Ηθική αρχών και ηθική ωφέλειας
Γενικὴ Ἐκκλησιαστικὴ Ἱστορία Α´
Γενική και Μαθηματική Χαρτογραφία (Ε)
ΕΦΑΡΜΟΣΜΕΝΗ ΗΘΙΚΗ Ενότητα 6 (part A): Όταν τα άτομα δεν είναι σε θέση να λάβουν αποφάσεις για τον εαυτό τους Διδάσκων: Μιχαήλ Παρούσης, Αναπλ. Καθηγητής.
Οργανική Χημεία (Ε) Ενότητα 2: Προσδιορισμός σημείου τήξης
Ενότητα 1: ……………….. Όνομα Επώνυμο Τμήμα __
Ιστορία και Θεολογία των Εκκλησιαστικών Ύμνων
Επικοινωνιακός Προγραμματισμός Ι
Μεταγράφημα παρουσίασης:

Τεχνολογία και Προγραμματισμός Υπολογιστών Ενότητα 3: Τελεστές-Εκφράσεις,Υπολογισμός εκφράσεων, Μετατροπές τύπων Επίκουρος Καθηγητής Χρήστος Μακρής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών

Τελεστές-Εκφράσεις, Υπολογισμός εκφράσεων, Μετατροπές τύπων

Τελεστές (Operators) Τελεστής = σύμβολο που αναπαριστά μία συγκεκριμένη στοιχειώδη διεργασία η οποία ενεργεί πάνω σε κάποια δεδομένα και παράγει κάποιο αποτέλεσμα Τελεστέοι = τα δεδομένα (σταθερές, μεταβλητές, κλήσεις συναρτήσεων)

Κατηγορίες Τελεστών Αριθμητικοί (+, -, *, /, %) Λογικοί (&&, ||, !) Σύγκρισης ή Συσχετιστικοί (>, >=, ==, !=, <, <=) Διαχείρισης ψηφίων (>>,<<, &, |, , ~) Διαχείρισης μνήμης (&, [], ., ->) Ειδικοί

Τελεστές διαχείρισης ψηφίων & ΑND για bit | OR για bit ^ αποκλειστικό OR για bit << ολίσθηση αριστερά >> ολίσθηση δεξιά ~ συμπλήρωμα ως προς 1 Ο τελεστής AND για bit χρησιμοποιείται για εφαρμογή μάσκας σε ένα σύνολο από bits . Για παράδειγμα η εντολή n=n & 0177 μηδενίζει όλα τα bit του n εκτός από τα επτά κατώτερης τάξης.

Ειδικοί Τελεστές (1) Μοναδιαίοι αυξησης/μείωσης (++, --) ++x, x++ ή x=x+1; Σύνθετοι ανάθεσης (+=, -=, *=, /=) x+=10; ή x=x+10; x *=y+1; ή x=x*(y+1); Υπό συνθήκη (? : ) <εκφρ1> ? <εκφρ2> : <εκφρ3> x>y? x: y συνθήκη ελέγχου sizeof (π.χ. sizeof(int), sizeof(x+y))

Τελεστής υπό συνθήκη z=(a>b)?a:b; /* z=max(a,b) */ If (a<b) z=a; else z=b; H παραπάνω παράσταση υπολογίζει τον μεγαλύτερο από τους a,b και τον τοποθετεί στην z. H ίδια παράσταση υπό συνθήκη μπορεί να γραφεί με τον τριαδικό τελεστή “?:”΄ως εξής: z=(a>b)?a:b; /* z=max(a,b) */

Παράδειγμα int x=10; int y=20; x y ++x; 11 20 y=--x; 10 10

Εκφράσεις (1) Έκφραση = συνδυασμός ενός ή περισσότερων τελεστέων και ενός ή περισσότερων τελεστών Σημειογραφία Εκφράσεων Ενδοθεματική (infix notation) π.χ. x+y Προθεματική (prefix notation) π.χ. +x y Μεταθεματική (postfix notation) π.χ. x y +

Εκφράσεις (2) Κατηγορίες εκφράσεων Αριθμητικές (τελεστές -> αριθμητικοί, τελεστέοι -> αριθμ. τιμές/μεταβλητές/εκφράσεις, αποτέλεσμα -> αριθμητικού τύπου) π.χ. (5*x+y/4)*8 Σύγκρισης (τελεστές -> σύγκρισης, τελεστέοι -> αριθ. τιμές/μεταβλητές/εκφράσεις, αποτέλεσμα ->λογικού τύπου: 0, 1 ) π.χ. x >5, a!=b, x==3, (x+y)>=4, (x-y) > (x+z) Λογικές (τελεστές -> λογικοί, τελεστέοι -> παραστάσεις με τιμές λογικές, αποτέλεσμα -> λογικού τύπου: 0, 1) π.χ. (x<5) && (x>=1), (x==0) || (y==0)

Υπολογισμός Εκφράσεων (1) Προτεραιότητα (χωρισμός τελεστών σε ομάδες διαφορετικού επιπέδου προτεραιότητας) Προσεταιριστικότητα (καθορισμός κατεύθυνσης εφαρμογής τελεστών ίδιας προτεραιότητας)

Υπολογισμός Εκφράσεων (2) ΤΕΛΕΣΤΕΣ ΠΡΟΣΕΤΑΙΡΙΣΤΙΚΟΤΗΤΑ () [ ] -> ! ~ ++ -- - * & (τύπος) sizeof / % + - << >> < <= > >= == != & ^ | && || ?: = += -= *= %= &= ^= |= <<= >>= , Από αριστερά προς τα δεξιά Από δεξιά προς τα αριστερά Από δεξιά προ τα αριστερά

Υπολογισμός Εκφράσεων (3) Εφαρμοστική σειρά (applicative order) Υπολογισμός των τελεστέων και εφαρμογή του τελεστή, π.χ. x+y Υπολογισμός περιορισμένης έκτασης (short circuit evaluation) Υπολογισμός όσων τελεστέων απαιτούνται, π.χ. x &&y, x||y

Προτάσεις Πρόταση = εντολή + προσδιορισμοί +; Κατηγορίες - Δήλωσης (π.χ. int num;) - Ανάθεσης/καταχώρησης (π.χ. num = 20;) - Ροής ελέγχου (π.χ. if (a>b) a; else b;) - Κλήσης συνάρτησης (π.χ. printf(“hello”);) Σύνθετη πρόταση= { <προτ1>; <προτ2>; ... <προτν>;} π.χ. { int num; num=10; printf(“num=%d\n”, num);} Σημαντικό: όχι ερωτηματικό μετά το άγκιστρο.

Προτάσεις Προεπεξεργαστή Ειδικές προτάσεις (δεν τελειώνουν σε;) Εκτελούν κάποια επεξεργασία του πηγαίου κώδικα πριν τη μεταγλώττιση Πρόταση συμπερίληψης - #include <όνομα αρχείου> ή #include “<όνομα αρχείου>” π.χ. #include <stdio.h>, #include <string.h> Πρόταση μακρο-αντικατάστασης - #define <όνομα> <κείμενο> π.χ. #define PI 3.1415, #define sq(x) x*x (πρβλ. sq(x+1))

Δήλωση Σταθερών (1) #define <όνομα> <τιμή> #define TRUE 1 #define FALSE 0 #define JANUARY 1 const int TRUE=1; const double e=2.17;

Δήλωση Σταθερών (2) enum boolean {NO, YES}; enum months {JAN=1, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC}; Οι απαριθμήσεις παρέχουν ένα βολικό τρόπο για τη σύνδεση σταθερών τιμών με ονόματα. Οι μεταβλητές απαρίθμησης παρέχουν τη δυνατότητα ελέγχου και συχνά είναι καλύτερες από την #define.

Αριθμητικές Μετατροπές (1) Αριθμητικές Μετατροπές (1) Έμμεσες Αν ένας από τους τελεστέους είναι long double μετατρέπεται και ο άλλος σε long double Αλλιώς, αν ένας από τους τελεστέους είναι double μετατρέπεται και ο άλλος σε double Αλλιώς αν ένας από τους τελεστέους είναι float μετατρέπεται και ο άλλος σε float Αλλιώς ο char ή ο short μετατρέπεται σε int. Τέλος αν ένας από τους 2 τελεστέους είναι long μετατρέπεται και ο άλλος σε long

Αριθμητικές Μετατροπές (2) Αριθμητικές Μετατροπές (2) Σε οποιαδήποτε παράσταση μπορούν να επιβληθούν ρητές μετατροπές τύπου με έναν μοναδικό τελεστή που λέγεται προσαρμογή (cast). Στην κατασκευή (όνομα τύπου) παράσταση η παράσταση μετατρέπεται στον κατανομαζόμενο τύπο με βάση τους κανόνες μετατροπής που προαναφέραμε. Π.χ sqrt((double) n);

Άσκηση 1 Να γραφεί πρόγραμμα σε C το οποίο διαβάζει δύο ακεραίους αριθμούς από το πληκτρολόγιο και στην συνέχεια τυπώνει το άθροισμα, την διαφορά, το γινόμενο, το ακέραιο πηλίκο και το υπόλοιπο της διαίρεσης των δύο αριθμών αυτών. Παράδειγμα εκτέλεσης: Για x = 15 και y = 4 η έξοδος είναι: 15 + 4 = 19 15 - 4 = 11 15 * 4 = 60 15 / 4 = 3 15 mod 4 = 3

Άσκηση 2 Να γραφεί πρόγραμμα C το οποίο: (i) διαβάζει από το πληκτρολόγιο έναν double d (ii) αποθηκεύει τον d σε έναν float f με χρήση typecasting (float) (iii) τυπώνει τους d και f με ακρίβεια 12 δεκαδικών ψηφίων.

Άσκηση 3 Γράψτε πρόγραμμα σε C το οποίο ζητάει από τον χρήστη να δώσει τις συντεταγμένες δύο σημείων στο επίπεδο. Στην συνέχεια, υπολογίζει την ευκλείδεια απόσταση των σημείων αυτών και την εκτυπώνει. (Υποδ: πρέπει να χρησιμοποιηθεί η συνάρτηση υπολογισμού της τετραγωνικής ρίζας sqrt() της math.h) Να γραφεί πρόγραμμα σε C το οποίο διαβάζει από το πληκτρολόγιο έναν πραγματικό αριθμό. Στην συνέχεια, θεωρώντας ότι ο αριθμός αυτός αναπαριστά θερμοκρασία σε βαθμούς Φαρενάιτ, να γίνει μετατροπή σε κλίμακα Κελσίου και το αποτέλεσμα να τυπωθεί. Υπόδ: ο τύπος μετατροπής από Φαρενάιτ σε Κελσίου είναι C = (5/9) * (F - 32) Να γραφεί πρόγραμμα σε C το οποίο διαβάζει από το πληκτρολόγιο δύο αριθμούς και τους εναλλάσσει. Να γραφεί πρόγραμμα το οποίο διαβάζει ένα αριθμό από το πληκτρολόγιο, υπολογίζει την τρίτη δύναμή του και τον εκτυπώνει. v. Να γραφεί πρόγραμμα το οποίο διαβάζει ένα ακέραιο αριθμός x, και απομονώνει τα n bits του που αρχίζουν από τη θέση p.

Τέλος Ενότητας

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

Σημειώματα

Σημείωμα Ιστορικού Εκδόσεων Έργου Το παρόν έργο αποτελεί την έκδοση 1.0.

Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] http://creativecommons.org/licenses/by-nc-sa/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί.