ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ ΘΕΩΡΙΑ ΔΙΑΛΕΞΗ 3 Υλικό και Λογισμικό

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Βασικές έννοιες αλγορίθμων
Advertisements

Το αλφαριθμητικό (string)
7.3.8 Μεταφραστές Ελληνογαλλική Σχολή Καλαμαρί - Τίκβα Χριστίνα.
Τύποι δεδομένων και τελεστές,
Εισαγωγικές έννοιες πληροφορικής
Ένα απλό πρόγραμμα σε C /* ********************************************* * This program prints out the sentence “This is a test.” * *********************************************
-Στοίβα-Ουρά - Πλεονεκτήματα πινάκων -Δομές δεδομένων δευτερεύουσας μνήμης -Πληροφορική και δεδομένα -Παραδείγματα-Προβλήματα ψευδοκώδικα.
Προγραμματισμός Η/Υ Πανεπιστήμιο Αιγαίου
Το υλικό του Υπολογιστή
Γυμνάσιο Νέας Κυδωνίας
Εισαγωγή στους Η/Υ Πίνακες.
ΜΑΘ3122/106 Γλώσσα Προγραμματισμού
Προγραμματισμός Ι Πίνακες •Ο πίνακας είναι μία συλλογή μεταβλητών ίδιου τύπου, οι οποίες είναι αποθηκευμένες σε διαδοχικές θέσεις μνήμης. Χρησιμοποιείται.
ΘΕΩΡΙΑ ΔΙΑΛΕΞΗ 4 Αριθμητικές εκφράσεις και πράξεις Εντολές ανάθεσης
ΜΑΘ 3122 (106) Γλώσσα προγραμματισμού
Τύποι πραγματικών αριθμών
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος γ
Τελεστές ανάθεσης (assignment)
Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 1 Εβδομάδα 7: Συμβολοσειρές.
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ
Προγραμματισμός ΙΙ Διάλεξη #7: Περισσότερες Δομές Ελέγχου Δρ. Νικ. Λιόλιος.
Κεφάλαιο 2ο Πεπερασμένα αυτόματα.
Β΄ ΓΕΛ ΕισΑρχΕπ Η/Υ παρ – 2.2.5
ΕΙΣΑΓΩΓΗ ΜΑΘΗΜΑ 1.
ΜΕΤΑΒΛΗΤΕΣ - ΤΥΠΟΙ ΜΑΘΗΜΑ 3.
Η ΓΛΩΣΣΑ C ΜΑΘΗΜΑ 2.
ΓΝΩΡΙΖΩ ΤΟΝ ΗΛΕΚΤΡΟΝΙΚΟ ΥΠΟΛΟΓΙΣΤΗ
Προγραμματισμός ΙΙ Διάλεξη #6: Απλές Δομές Ελέγχου Δρ. Νικ. Λιόλιος.
Ολυμπιάδα Πληροφορικής
Β΄ ΓΕΛ ΕισΑρχΕπ Η/Υ παρ – 2.2.5
ΑΡΧΙΤΕΚΤΟΝΙΚΗ & ΟΡΓΑΝΩΣΗ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 1 Εισαγωγή
Ο ΗΛΕΚΤΡΟΝΙΚΟΣ ΥΠΟΛΟΓΙΣΤΗΣ
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΙΑΔΙΚΑΣΤΙΚΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ – ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ.
Προγραμματισμός ΙΙ Διάλεξη #5: Εντολές Ανάθεσης Εντολές Συνθήκης Δρ. Νικ. Λιόλιος.
Μεταβλητές – εντολές εκχώρησης- δομή ακολουθίας
Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 1 Εβδομάδα 11: Εκτέλεση Java χωρίς το BlueJ.
1 Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Πανεπιστήμιο Πατρών ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Κληρονομικότητα.
Ενότητα Α.4. Δομημένος Προγραμματισμός
Η αλληλουχία των ενεργειών δεν είναι πάντα μία και μοναδική!!!
Βάσεις Δεδομένων Εργαστήριο ΙΙ Τμήμα Πληροφορικής ΑΠΘ
Εισαγωγή στις Νέες Τεχνολογίες και Εργαστηριακές Εφαρμογές, Το εσωτερικό ενός υ π ολογιστή Κεφάλαιο 3.
1 Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Πανεπιστήμιο Πατρών ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Τάξεις και Αφαίρεση Δεδομένων.
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
ΟΣΣ Δεκεμβρίου 2004 Σχεδιασμός Λογισμικού Γλώσσες Προγραμματισμού ΙΙ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ.
Τμήμα Πληροφορικής και Τηλεπικοινωνιών
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Αναφορές.
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Στάθης Ζάχος Νίκος Παπασπύρου
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Αλφαριθμητικά (Strings)
Βασικά στοιχεία της Java
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος.
ΚΕΦΑΛΑΙΟ Το αλφάβητο της ΓΛΩΣΣΑΣ
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αντικειμενοστραφής Προγραμματισμός Ι Ενότητα 2: Μεταβλητές και Τύποι Δεδομένων. Διδάσκων: Νικόλαος Θ Λιόλιος,
Γλώσσες Προγραμματισμού Μεταγλωττιστές Πίνακας Συμβόλων Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου.
Αντικειμενοστραφής Προγραμματισμός ΙΙ
Γιώργος Μαγουλάκης Εξάμηνο: Εαρινό 2015 ΤΕΙ Κρήτης Τμ. Μηχανικών Πληροφορικής Τμ. Μηχανικών Πληροφορικής.
Πληροφορική 2 Γλώσσες Προγραμματισμού 1. Γλώσσες προγραμματσιμού  Επιτρέπουν την κωδικοποίηση των αλγορίθμων  Η εκτέλεση ενός προγράμματος θα πρέπει.
Πίνακες στην JAVA ΕΡΓΑΣΤΗΡΙΟ AΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ (Διαφάνειες: ΧΟΧΟΛΗΣ ΔΙΟΝΥΣΙΟΣ Προσαρμογή 2014: Κώστας Στάμος)
ΜΕΤΑΒΛΗΤΕΣ-ΣΤΑΘΕΡΕΣ -ΕΚΦΡΑΣΕΙΣ
Εισαγωγή στην Python.
Δεδομένα, μεταβλητές, υπολογισμοί
ΑΛΓΟΡΙΘΜΟΣ ΠΡΟΒΛΗΜΑ ΑΛΓΟΡΙΘΜΟΣ ΛΥΣΗ
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος
Πρωτογενείς τύποι δεδομένων
Κεφάλαιο 10 Streams.
3.2 Μεταβλητές και τύποι δεδομένων
Εισαγωγή στον Προγραμματισμό με Python, ΑΠΘ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ Εισαγωγή στον Προγραμματισμό με Python Εβδομάδα 1: Βασικά στοιχεία.
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ Η/Υ
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Τύποι δεδομένων και τελεστές,
Μεταγράφημα παρουσίασης:

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ ΘΕΩΡΙΑ ΔΙΑΛΕΞΗ 3 Υλικό και Λογισμικό Μεταβλητές, C# Τύποι Δεδομένων, και Είσοδος Έξοδος (Input Output) δεδομένων

Ατζέντα Επανάληψη Υλικό και Λογισμικό Τύποι Δεδομένων στη C# Είσοδος και Έξοδος (Input-Οutput) δεδομένων

Επανάληψη Διαφορετικά επίπεδα γλωσσών προγραμματισμού Γλώσσα μηχανής, Γλώσσα assembly, ενδιάμεση γλώσσα, γλώσσα υψηλού επιπέδου Ένας μεταγλωττιστής μεταφράζει ένα πρόγραμμα από μια γλώσσα υψηλού επιπέδου σε μια γλώσσα χαμηλού επιπέδου Ο C# compiler μεταγλωττίζει ένα πρόγραμμα της C# στην MSIL Η δομή ενός προγράμματος της C# Ένα πρόγραμμα αποτελείται από μια ή περισσότερες τάξεις Μια τάξη αποτελείται από μια ή περισσότερες μεθόδους Μια μέθοδος αποτελείται από μία ή περισσότερες εντολές Υπάρχουν spaces, σχόλια, ονόματα μεταβλητών (identifiers), δεσμευμένες λέξεις (reserved keywords), και namespaces Τα πρώτα μας προγράμματα στη γλώσσα C#

Δομή Προγράμματος της C# (Console) Προδιαγραφές προγράμματος (δεν είναι υποχρεωτικές) //========================================================== // // File: HelloWorld.cs Demo // Author: Νικόλαος Λιόλιος Email: nliolios@teilar.gr // Classes: HelloWorld // -------------------- // Αυτό το πρόγραμμα εκτυπώνει τη φράση "Hello World!” Ενσωματώσεις Βιβλιοθηκών (δεν είναι πάντα υποχρεωτικές) using System; Ορισμοί των τάξεων και των namespaces class HelloWorld { static void Main(string[] args) Console.WriteLine(“Hello World!”); }

Ατζέντα Επανάληψη Υλικό και Λογισμικό Μεταβλητές και Τύποι Δεδομένων στη C# Είσοδος και Έξοδος (Input-Οutput) δεδομένων

Το περιβάλλον ενός Η/Υ: Hardware Τα φυσικά μέρη ενός Η/Υ Π.Χ. CPU, μονάδες αποθήκευσης, keyboard, monitor Είναι ένα ολοκληρωμένο κύκλωμα (chip) που εκτελεί εντολές προγράμματος Π.χ., Intel Pentium IV Sun Sparc Monitor Keyboard Μνήμη CPU Πρωτεύουσα μονάδα αποθήκευσης για δεδομένα και προγράμματα RAM CD ROM Σκληρός Δίσκος

Αποθήκευση Πληροφορίας Οι Η/Υ αποθηκεύουν τα πάντα σε ψηφιακή μορφή: Π.Χ. αριθμοί, πρόγραμμα, εντολές , κείμενα, ήχος και video Η πληροφορία αποθηκεύεται με δυαδικούς αριθμούς (binary numbers) H i , H e a t h e r . 72 105 44 32 72 101 97 116 104 101 114 46

Συνδυασμοί των Δυαδικών Bit 1 2 bits 00 01 10 11 3 bits 000 001 010 011 100 101 110 111 4 bits 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Κάθε επιπρόσθετο bit διπλασιάζει τον αριθμό των πιθανών συνδυασμών

Η πληροφορία αποθηκεύεται στη μνήμη Κάθε κύτταρο μνήμης έχει μια αριθμητική διεύθυνση, η οποία το προσδιορίζει με μοναδικό τρόπο 9278 9279 9280 9281 9282 9283 9284 9285 9286 10011010 Κάθε κύτταρο μνήμης αποθηκεύει ένα byte) Μεγάλες αριθμητικές τιμές αποθηκεύονται σε συνεχόμενες διευθύνσεις μνήμης

Ατζέντα Επανάληψη Υλικό και Λογισμικό Μεταβλητές και Τύποι Δεδομένων στη C# Είσοδος και Έξοδος (Input-Οutput) δεδομένων

Μεταβλητές Η μεταβλητή είναι ένα όνομα που αφορά μια θέση στη μνήμη Κάθε μεταβλητή πρέπει να δηλωθεί, προσδιορίζοντας έτσι το όνομά της και τον τύπο της πληροφορίας ο οποίος θα αποθηκευτεί σε αυτή 9200 9204 9208 9212 9216 9220 9224 9228 9232 numberOfStudents: average: max: total: int numberOfStudents; … int average, max; data type variable name int total; Ποια από τα παρακάτω είναι σωστές δηλώσεις μεταβλητών?? myBigVar VAR1 _test @test 99bottles namespace It’s-all-over

Εντολές Ανάθεσης int total; … total = 55; Μια εντολή ανάθεσης αλλάζει την τιμή μιας μεταβλητής Ο τελεστής ανάθεσης είναι το σύμβολο = int total; … total = 55; Η τιμή στα δεξιά αποθηκεύεται στη μεταβλητή αριστερά του ίσον Η τιμή που είχε η μεταβλητή total γράφεται από πάνω και «ξεχνιέται» η παλαιά της τιμή Μπορούμε να αναθέσουμε μια τιμή σε μια μεταβλητή μόνον εφόσον είναι ίδια με τον τύπο δεδομένων με τον οποίο η μεταβλητή έχει δηλωθεί Μπορούμε να δηλώσουμε και να αρχικοποιήσουμε μια μεταβλητή στην ίδια εντολή (δήλωσης) int total = 55;

Παράδειγμα static void Main(string[] args) { int total; total = 15; System.Console.Write(“total = “); System.Console.WriteLine(total); total = 55 + 5; }

constant int numberOfStudents = 42; Σταθερές Μια σταθερή είναι παρόμοια με μια μεταβλητή μόνο που απαγορεύεται να αλλάξει η τιμή της καθόλη τη διάρκεια του προγράμματος Ο μεταγλωττιστής θα δώσει μήνυμα λάθους αν προσπαθήσουμε να αλλάξουμε την τιμή μιας σταθερής σε κάποιο σημείο του προγράμματος Στη C#, χρησιμοποιούμε τον modifier constant για να δηλώσουμε μια σταθερή constant int numberOfStudents = 42; Γιατί χρησιμοποιούμε σταθερές; Δίνουμε ονόματα σε προκαθορισμένες ποσότητες ενός προγράμματος που δεν υπάρχει λόγος να αλλάξει η τιμή της οπουδήποτε μέσα στο πρόγραμμα. Μας βοηθούν πάρα πολύ στις αλλαγές που κάνουμε στον κώδικα Αποφεύγουμε λάθη από αμέλεια

Τύποι Δεδομένων στη C# Υπάρχουν 15 τύποι δεδομένων στη C# Οκτώ από αυτούς χρησιμοποιούνται για την αναπαράσταση ακεραίων: byte, sbyte, short, ushort, int, uint, long,ulong Δύο χρησιμοποιούνται για την αναπαράσταση πραγματικών αριθμών float, double Ένας είναι για τους decimal: decimal Ένας αναπαριστά τιμές boolean : bool Ένας αναπαριστά τιμές για χαρακτήρες (characters): char Ένας αναπαριστά τιμές για συμβολοσειρές (strings): string Ένας αναπαριστά τιμές για αντικείμενα: object Ένας αναγνωρίζει αυτόματα τον τύπο από την τιμή που ανάτίθεται: var Object

Αριθμητικοί Τύποι Δεδομένων Η διαφορά μεταξύ των διαφόρων αριθμητικών τύπων είναι το μέγεθος (και το εύρος) τιμών που μπορούν να αποθηκευτούν : Type byte sbyte short ushort int uint long ulong decimal float double Storage 8 bits 16 bits 32 bits 64 bits 128 bits Range 0 - 255 -128 - 127 -32,768 – 32,767 0 – 65,537 -2,147,483,648 – 2,147,483,647 0 – 4,294,967,295 -91018 to 91018 0 – 1.81019 1.010-28; 7.91023 με 28-29 σημαντικά ψηφία 1.510-45; 3.41038 με 7 σημαντικά ψηφία 5.010-324; 1.710308 με 15-16 σημαντικά ψηφία

Παραδείγματα Αριθμητικών Μεταβλητών int x = 1; short y = 10; float pi = 3.14f; // f denotes float float f3 = 7E-02f; // 7 * 10-2 = 0.07 double d1 = 7E-100; // 7 * 10-100 // use m to denote a decimal decimal veryLargeNumber = 2894686645.38m; Παράδειγμα: TestNumeric.cs

Boolean Μία μεταβλητή τύπου bool αντιπροσωπεύει μια κατάσταση true ή false Κάθε μεταβλητή τύπου bool μπορεί επίσης να αντιπροσωπεύει οποιεσδήποτε 2-καταστάσεις όπως για παράδειγμα: (Αναμμένο ή σβηστό φως) Οι δεσμευμένες λέξεις true και false είναι οι μόνες επιτρεπτές τιμές για μια μεταβλητή τύπου boolean bool doAgain = true;

Χαρακτήρες Μια μεταβλητή τύπου char περιέχει ΕΝΑ χαρακτήρα ο οποίος εμπεριέχεται σε ένα σύνολο χαρακτήρων (character set) Ένα σύνολο χαρακτήρων είναι μια διατεταγμένη λίστα από χαρακτήρες. Σε κάθε χαρακτήρα αντιστοιχεί ένας μοναδικός εκέραιος αριθμός Η C# χρησιμοποιεί το σύνολο χαρακτήρων Unicode το οποίο είναι ένα υπερσύνολο του ASCII Χρησιμοποιεί 16 bits για κάθε χαρακτήρα επιτρέποντας τελικά 65,536 διαφορετικούς χαρακτήρες να αποθηκευτούν Είναι ένα διεθνές σύνολο χαρακτήρων που περιέχει σύμβολα και χαρακτήρες από όλες τις διαφορετικές γλώσσες Ο πίνακας Unicode μπορεί να βρεθεί στην ιστοσελίδα: http://www.unicode.org/charts/ Οι τιμές των μεταβλητών τύπου char αντιπροσωπεύονται σε ένα πρόγραμμα χρησιμοποιώντας απλά εισαγωγικά (single quotes), όπως π.χ., ‘a’ ‘X’ ‘7’ ‘$’ ‘,’ char response = ‘Y’;

Ακολουθίες Απόδρασης (Escape Sequences)

string message = “Hello World”; Συμβολοσειρές Μια συμβολοσειρά (string) αντιπροσωπεύει μια ακολουθία χαρακτήρων ως μια ομάδα, π.χ., string message = “Hello World”; Ερώτηση: Πως θα πρέπει να τυπώσουμε το παρακάτω string: The double quotation mark is “ Ερώτηση: Πως θα πρέπει να αποθηκεύσουμε το παρακάτω string: \\plucky.cs.yale.edu\zs9$\MyDocs Οι συμβολοσειρές μπορούν να δημιουργηθούν με ρητές τιμές (verbatim literals) χρησιμοποιώντας στην αρχή τον χαρακτήρα @, π.χ., string a2 = @“\\server\fileshare\Hello.cs”;

Αντζέντα Επανάληψη Υλικό και Λογισμικό Μεταβλητές και Τύποι Δεδομένων στη C# Είσοδος και Έξοδος (Input-Οutput) δεδομένων

Data Input Console.ReadLine() Χρησιμοποιείται για να διαβάζει τιμές από το πληκτρολόγιο Παράδειγμα string myString = Console.ReadLine(); Μετατροπή από συμβολοσειρά στο σωστό τύπο δεδομένων Int32.Parse() Χρησιμοποιείται για να μετατρέψει την τιμή της συμβολοσειράς σε ένα ακέραιο Μόλις η συμβολοσειρά μετατραπεί στον κατάλληλο τύπο δεδομένων μπορούμε να κάνουμε πράξεις με την νέα αυτή τιμή Παράδειγμα: string myString = “1023”; int myInt = Int32.Parse( myString ); Double.Parse() Single.Parse()

Παράδειγμα: TaxAndTotal.cs Έξοδος (Output) Η εντολή Console.WriteLine(variableName) χρησιμοποιείται για να εκτυπώσει την τιμή μιας μεταβλητής στην οθόνη Μπορούμε να επέμβουμε στη μορφοποίηση του output χρησιμοποιώντας τα λεγόμενα format specifiers: float price = 2.5f; Console.WriteLine(“Price = {0:C}”, price); Price = $2.50 Για μια ολοκληρωμένη λίστα των τρόπων διαμόρφωσης (format specifiers), δείτε την ιστοσελίδα http://msdn.microsoft.com/library/en-us/csref/html/vclrfFormattingNumericResultsTable.asp Παράδειγμα: TaxAndTotal.cs