Προγραμματισμός Η/Υ Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Οικονομίας και Διοίκησης Διδάσκων: Γεώργιος Κούζας Email: gkouzas@aegean.gr
Μερικά εισαγωγικά Αριθμητικά Συστήματα Δεκαδικό Σύστημα Δυαδικό Σύστημα Οκταδικό Σύστημα Δεκαεξαδικό Σύστημα Οι υπολογιστές για την αποθήκευση και επεξεργασία της πληροφορίας χρησιμοποιούν το “Δυαδικό Σύστημα”
Αριθμητικά Συστήματα Δεκαδικά ψηφία Δυαδικά ψηφία Οκταδικά ψηφία Δεκαεξαδικά ψηφία 0 1 2 3 4 5 6 7 8 9 Α B C D E F
Μετατροπή Από ένα σύστημα με βάση το (2,8,16) στο δεκαδικό am-1*βm-1 +… + a3*β3 + a2*β2 + a1*β1 + a0 Πχ 1001(2)= 1*23+0*22+0*2+1=8+0+0+1=9(10) 123(8)= 1*82 + 2*8 + 3=64+16+3=83(10) 1101,11(2)=1*23+1*22+0*2+1+1*2-1+ 1*2-2= 8+4+1+0.5+0.25= 13.75(10)
Μετατροπή Από δεκαδικό σύστημα σε άλλο με βάση το (2,8,16) Με διαδοχικές διαιρέσεις για το ακέραιο τμήμα Με διαδοχικούς πολλαπλασιασμούς για το δεκαδικό σύστημα Πχ μετατροπή του 67(10) σε δυαδικό ( βαση=2) Πχ μετατροπή του 0.375(10) σε δυαδικό (βάση=2)
Μετατροπή Ακέραιο μέρος (67) Διαίρεση με τη βάση=2 Πηλίκο διαίρεσης Υπόλοιπο διαίρεσης Δυαδικός Αριθμός 67 67/2 33 1 33/2 16 11 16/2 8 011 8/2 4 0011 4/2 2 00011 2/2 000011 ½ 1000011
Μετατροπή Δεκαδικό μέρος (0.375) Πολλαπλασιασμός με τη βάση=2 Ακέραιο μέρος Δεκαδικό μέρος Δυαδικός Αριθμός 0.375 0.375*2 0.75 .0 0.75*2 1 0.5 .01 0.5*2 .011
Βασικές Αρχές Υλισμικό (Hardware) Λογισμικό (Software) Οι ηλεκτρικές και ηλεκτρονικές διατάξεις Λογισμικό (Software) Σύνολο δομημένων εντολών Λογισμικό συστήματος Λογισμικό Εφαρμογών
Αρχιτεκτονική Υπολογιστών (Ι) Κεντρική Μονάδα Επεξεργασίας (CPU) Καταχωρητές (register) Αριθμητική Λογική Μονάδα (ALU) Compare, add, or, shift κλπ Μονάδα Ελέγχου Κύρια Μνήμη Bits (βασική μονάδα αποθήκευσης 0 - 1) Byte = 8 bits (Βασικό μήκος λέξης) Διεύθυνση μνήμης RAM, ROM Περιφερειακές Συσκευές
Αρχιτεκτονική Υπολογιστών (ΙI) Περιφερειακές Συσκευές Μονάδες Μαζικής Αποθήκευσης Σκληροί Δίσκοι (hard disk) Εύκαμπτοι Δίσκοι (floppy disks) Οπτικοί Δίσκοι (optical drives) Ταινίες (tape) Flash disks Μονάδες Εισόδου- εξόδου Πληκτρολόγιο Ποντίκι Scanner, Μικρόφωνο Οθόνη Εκτυπωτής, ηχεία
Λογισμικό Λογισμικό Συστήματος Λειτουργικά Συστήματα Βασικές εντολές εισόδου εξόδου Διαχείριση εφαρμογών UNIX, Linux, Windows, Mac OS Προγράμματα Εξυπηρέτησης Διαχείριση αρχείων Μεταφραστές Λογισμικό Εφαρμογών
Μεταφραστές Συμβολομεταφραστές Μεταγλωττιστές Μεταφραστές Assemblers Compilers Μεταφραστές Interpreters
Γλώσσες Προγραμματισμού Γλώσσα μηχανής Σύνολο εντολών σε διάδικο κώδικα Συγκεκριμένη για κάθε υπολογιστή Συμβολική Γλώσσα (Assembly) Γλώσσες Υψηλού Επιπέδου C, C++, Java κλπ Απαιτούν μεταφραστή - μεταγλωτιστή
Ο μεταγλωττιστής μας… Dev C++ Λειτουργίες http://www.bloodshed.net/devcpp.html Λειτουργίες Κειμενογράφος (Δημιουργία του πηγαίου κώδικα σε C) Μεταγλώττιση σε γλώσσα μηχανής και δημιουργία του εκτελέσιμου αρχείου
Ο μεταγλωττιστής μας… Μας επιτρέπει … να δημιουργήσουμε τον πηγαίο κώδικα (σε γλώσσα C) για τα προγράμματα του εργαστηρίου … να κάνουμε έλεγχο και εύρεση των λαθών στον πηγαίο κώδικα που δημιουργήσαμε … να μεταγλωττίσουμε τον πηγαίο κώδικα σε γλώσσα μηχανής (εκτελέσιμο αρχείο)
Το περιβάλλον εργασίας
Το περιβάλλον εργασίας
Το περιβάλλον εργασίας
Το περιβάλλον εργασίας
Το περιβάλλον εργασίας
Το περιβάλλον εργασίας
Το περιβάλλον εργασίας
Το περιβάλλον εργασίας
Το περιβάλλον εργασίας
Το περιβάλλον εργασίας
Το περιβάλλον εργασίας Εκτέλεση
Το περιβάλλον εργασίας Εκτέλεση Start Run (Έναρξη Εκτέλεση) Γράφουμε “cmd”
Μερικές Εντολές command cd\ Επαναφορά στο αρχικό σημείο του οδηγού (drive) <drivename>: Αλλαγή οδηγού Πχ d:
cd informatics μεταφορά στον φάκελο με το όνομα inofrmatics Dir ανάγνωση των αρχείων στον τρέχοντα φάκελο
Εκτέλεση ενός προγράμματος Γράφουμε το όνομα του προγράμματος με την κατάληξη “.exe”
Τι πρέπει να προσέχετε Που αποθηκεύετε τα προγράμματά σας… Δημιουργήστε έναν φάκελο Informatics στο δίσκο σας. c:\informatics ή εναλλακτικά z:\informatics
Παράδειγμα θεωρίας
Εκτέλεση