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

Σχετικά έγγραφα
Εισαγωγή στην πληροφορική

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

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

Προγραµµατιστικές τεχνικές

Προγραµµατιστικές τεχνικές

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

Προγραµµατιστικές Τεχνικές

Προγραµµατιστικές τεχνικές

Προγραμματιστικές τεχνικές

Προγραμματιστικές Τεχνικές

Περιγραφή αλγορίθµων. ιαγράµµατα ροής

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

Προγραµµατιστικές Τεχνικές

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

Προγραµµατιστικές Τεχνικές

Προγραμματιστικές Τεχνικές

Προγραµµατιστικές Τεχνικές

Προγραμματιστικές τεχνικές

Προγραμματιστικές Τεχνικές

Προγραμματιστικές Τεχνικές

Υπολογισμός - Συλλογή Δεδομένων - Πίνακες

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

Προγραμματιστικές τεχνικές

Προγραµµατιστικές Τεχνικές

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

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

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

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

Βασικά στοιχεία της Java

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

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

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

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

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

Τύποι δεδομένων, τελεστές, μεταβλητές

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

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

Πίνακες. 1 Πίνακες. 30 Μαρτίου 2014

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

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

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

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

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

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

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

Βάσεις εδοµένων. Βασίλειος Βεσκούκης, Εµµ. Στεφανάκης ΣΥΣΤΗΜΑΤΑ ΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ

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

ΣΥΝΟΠΤΙΚΟΣ ΟΔΗΓΟΣ ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C

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

a = 10; a = k; int a,b,c; a = b = c = 10;

Δείκτες & Πίνακες Δείκτες, Πίνακες

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

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

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

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Μεταβλητές- Τύποι- Τελεστές

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

int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι

K15 Ψηφιακή Λογική Σχεδίαση 3: Προτασιακή Λογική / Θεωρία Συνόλων

Υπολογιστικά & Διακριτά Μαθηματικά

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

3 ο Εργαστήριο Μεταβλητές, Τελεστές

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

Σύντοµη Ιστορία της Πληροφορικής

Μονοδιάστατοι πίνακες Πολυδιάστατοι πίνακες Μέθοδοι Μέθοδοι Recursive Overloading

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

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

Στοιχεία προτασιακής λογικής

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

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ

Δύο κύριοι τρόποι παρουσίασης δεδομένων. Παράδειγμα

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

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

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

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

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

Ενότητα 1 Διάλεξη 2β

διανύσματα - Πίνακες - Struct Στατικό διάνυσμα Είσοδος Έξοδος δεδομένων Συναρτήσεις Χειρισμός σφαλμάτων ΤΕΤΑΡΤΗ ΔΙΑΛΕΞΗ

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

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

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

Master Mind εφαρμογή στη γλώσσα προγραμματισμού C

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ

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

Προγραμματισμός Ι. Θεματική ενότητα 3: Tελεστές. εκφράσεις

1 ΕΙΣΑΓΩΓΗ. Πρωταρχικοί Τύποι

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

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

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Στοιχειώδεις Δοµές Δεδοµένων Δοµικά Στοιχεία και Πίνακες Κεφάλαιο 3 (3.1 και 3.2) Ε. Μαρκάκης Επικ. Καθηγητής

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

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

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

Προγραμματισμός Η/Υ. Ενότητα 4: Εντολές Επιλογής

Προγραμματισμός I (Θ)

4 η ΕΝΟΤΗΤΑ Μητρώα και συνθήκες στο MATLAB

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

Κεφάλαιο Πίνακες Ι. ( ιάλεξη 15) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

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

04ο Πίνακες.doc. Πίνακας. Γενικά

6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ

ΘΕΜΑ 2. Θεωρούμε την ακολουθία (α ν ) των θετικών περιττών αριθμών: 1, 3, 5, 7,

Transcript:

Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων Τοπογράφων Μηχανικών Εισαγωγή στην πληροφορική Βασίλειος Βεσκούκης ρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ v.vescoukis@cs.ntua.gr Ρωµύλος Κορακίτης Αστροφυσικός Αναπλ. Καθηγητής ΕΜΠ romylos@survey.ntua.gr Σύνθετες λογικές εκφράσεις Πίνακες (arrays) στο περιβάλλον της γλώσσας C++ Παραδείγµατα

Σύνθετες Λογικές εκφράσεις Απλές εκφράσεις: Η τιµή µιας λογικής έκφρασης είναι true ή false. οµούνται µε σχεσιακούς τελεστές ή τους τελεστές ισότητας. Παραδείγµατα: (x<10), (r!=0), (lex==true) (ή απλώς (lex) ) Σύνθετες εκφράσεις: Νόµοι υαδικής Λογικής οµούνται µε λογικούς τελεστές. Αυτοί είναι: AND (συµβολισµός: && ) Παράδειγµα: ((x<10) && (y!=0)) OR (συµβολισµός: Οι λογικές καταστάσεις ) Παράδειγµα: είναι δύο: ((a>b) Αλήθεια (b==0)) (Τ) ή Ψέµα (F) NOT (συµβολισµός: Οι κυριότεροι! ) Παράδειγµα: λογικοί τελεστές!(k>=m) είναι: [δηλαδή k<m] Α Β Α AND B A B A OR B F F F F F F A NOT A F T F F T T F T T F F T F T T F T T T T T T ρ. Ρωµύλος Βασίλειος Κορακίτης Βεσκούκης

Σύνθετες Λογικές εκφράσεις - Νόµοι του De Morgan Ιεραρχία των τελεστών Αριθµητικοί τελεστές ( +, -, *, /, % ) Σχεσιακοί τελεστές ( <, ==, > κλπ) Λογικοί τελεστές ( &&,,! ) Οι νόµοι του De Morgan αναφέρονται στην ισοδυναµία σύνθετων λογικών εκφράσεων! (! Α ) = Α! ( Α && Β ) = (! Α ) (! Β )! ( Α Β ) = (! Α ) && (! Β ) ρ. Ρωµύλος Βασίλειος Κορακίτης Βεσκούκης

Παράδειγµα 1Α απλές εκφράσεις Πρόβληµα: Να σχεδιαστεί ένα πρόγραµµα που θα µετατρέπει τις ορθογώνιες συντεταγµένες (x,y) ενός σηµείου του επιπέδου στις αντίστοιχες πολικές (r,a) εδοµένα εισόδου: x, y εδοµένα εξόδου: r, a Μετασχηµατισµοί: r = (x 2 + y 2 ) ½ a = arctan(y/x) Περιορισµοί: 0 <= a < 2π (αρχείο: cs2005_lec07_ex1α.cpp) ρ. Ρωµύλος Βασίλειος Κορακίτης Βεσκούκης

Παράδειγµα 1Β σύνθετες εκφράσεις Πρόβληµα: Να σχεδιαστεί ένα πρόγραµµα που θα µετατρέπει τις ορθογώνιες συντεταγµένες (x,y) ενός σηµείου του επιπέδου στις αντίστοιχες πολικές (r,a) εδοµένα εισόδου: x, y εδοµένα εξόδου: r, a Μετασχηµατισµοί: r = (x 2 + y 2 ) ½ a = arctan(y/x) Περιορισµοί: 0 <= a < 2π (αρχείο: cs2005_lec07_ex1β.cpp και cs2005_lec07_ex1c.cpp) ρ. Ρωµύλος Βασίλειος Κορακίτης Βεσκούκης

Παράδειγµα 2 σύνθετες εκφράσεις Πρόβληµα: Να προσδιορισθούν όλες οι Πυθαγόρειες τριάδες ακεραίων αριθµών που είναι µικρότεροι ή ίσοι από κάποιο ακέραιο L. εδοµένα εισόδου: L εδοµένα εξόδου: τριάδες ακεραίων k, m, n Μετασχηµατισµοί: n 2 = k 2 + m 2 Περιορισµοί: k, m, n <= L Σκέψη για την λύση: Θα εξετάζονται διαδοχικά ζευγάρια k, m (από 1 ως L) και θα εκτυπώνονται οι τριάδες που ικανοποιούν τον µετασχηµατισµό ώστε ο n να είναι ακέραιος. (αρχείο: cs2005_lec07_ex2.cpp) ρ. Ρωµύλος Βασίλειος Κορακίτης Βεσκούκης

Πίνακες (arrays)( Οι µεταβλητές µνήµης προσφέρουν χώρο αποθήκευσης ατοµικών (απλών) δεδοµένων int a; float x, y, z; char c1, c2, c3; Συνήθως τα δεδοµένα των οποίων κάνουµε την επεξεργασία µε χρήση ΗΥ δεν είναι απλά αλλά πρέπει να οργανωθούν κατάλληλα Παραδείγµατα Τα στοιχεία ταυτότητας των πολιτών Τα δεδοµένα ιατρικών εξετάσεων σε νοσοκοµεία και διαγνωστικά κέντρα Οι εγγραφές και η βαθµολογία των σπουδαστών στο πανεπιστήµιο Οι µετρήσεις της θερµοκρασίας για κάποια χρονική περίοδο Οι πωλήσεις ενός συνόλου προϊόντων σε κάποιες χρονικές στιγµές Τα δεδοµένα αυτά έχουν είτε σύνθετη δοµή, είτε/και διάταξη ρ. Βασίλειος Βεσκούκης

Πίνακες Για την παράσταση σύνθετων δεδοµένων, η C++ διαθέτει ένα σύνολο εργαλείων και µηχανισµών, όπως: οµές (structures) Κλάσεις (classes) Απαριθµητούς τύπους (enumerated types) Πίνακες (arrays) Αρχεία (files) Πίνακες Ενας πίνακας είναι µια συλλογή ενός προκαθορισµένου αριθµού στοιχείων, τα οποία είναι όλα του ίδιου τύπου δεδοµένων 10 ακέραιοι 24 πραγµατικοί αριθµοί 25 χαρακτήρες κοκ ρ. Βασίλειος Βεσκούκης

Πίνακες Τα στοιχεία ενός πίνακα µπορούν να διατάσσονται σε µία ή περισσότερες διαστάσεις (dimensions) Μονοδιάστατοι πίνακες ισδιάστατοι πίνακες Τρισδιάστατοι κλπ Μας διευκολύνει να αντιλαµβανόµαστε την οργάνωση των µονοδιάστατων και δισδιάστατων πινάκων σε γραµµές και στήλες Κάθε στοιχείο σε έναν πίνακα διακρίνεται από τα άλλα από τη θέση του 3ο στοιχείο 2η γραµµή 1η στήλη ρ. Βασίλειος Βεσκούκης

Πίνακες στη C++ ήλωση πινάκων τύπος ονοµα [µέγεθος διάστασης1] [µέγεθος διάστασης2] [µέγεθος διάστασης3]... Παραδείγµατα int exam_grades[120] δηλώνει έναν µονοδιάστατο πίνακα ακεραίων µε όνοµα exam_grades και µέγεθος 120 120 float temperatures[12][31] δηλώνει έναν δισδιάστατο πίνακα ακεραίων µε όνοµα temperatures και µήκος 12x31 31 12 ρ. Βασίλειος Βεσκούκης

Πίνακες στη C++ Μετά τη δήλωση του πίνακα, κάθε στοιχείο του διακρίνεται από τα υπόλοιπα από τον/τους δείκτες που ακολουθούν το όνοµα του πίνακα int grades[120]; // η δήλωση grades[20]=9; // αναφορά σε στοιχεία grades[21]=4; ΠΡΟΣΟΧΗ!!! Στη C++ η αρίθµηση των στοιχείων ξεκινά από το 0 (µηδέν). Τα στοιχεία ενός πίνακα που δηλώνεται µε µέγεθος n, αριθµούνται από 0 έως n-1 int grades[120]; // grades[0] -> grades[119] float temp[12][31]; // temp[0][0] -> temp[11][30] 0,0 5,3 2,8 2,30 ρ. Βασίλειος Βεσκούκης

Παραδείγµατα 3. Εισαγωγή τιµών σε µονοδιάστατο πίνακα και υπολογισµός : µέσης τιµής στοιχείου µε την ελάχιστη τιµή στοιχείου µε την µέγιστη τιµή (αρχείο: cs2005_lec07_ex3.cpp) 4. Απόδοση τιµών σε στοιχεία διδιάστατου πίνακα µε γεννήτρια τυχαίων αριθµών και υπολογισµός µεγίστων & ελαχίστων κατά γραµµή και στήλη. (αρχείο: cs2005_lec07_ex4α.cpp και cs2005_lec07_ex4b.cpp) ρ. Ρωµύλος Βασίλειος Κορακίτης Βεσκούκης