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

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

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

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

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

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

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

Εντολές εισόδου - εξόδου. Εισαγωγή στη C++

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

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

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

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

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

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

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

scanf() scanf() stdin scanf() printf() int float double %lf float

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

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

Χωρική Βάση δεδοµένων Autocad

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

3 η Διάλεξη C++ - Βασικοί τύποι δεδομένων. Δρ. Χρήστος Δρόσος ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ

Γ7.2 Συμβολοσειρές (Strings) Γ Λυκείου Κατεύθυνσης

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

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

Γ7.1 Επανάληψη ύλης Β Λυκείου. Γ Λυκείου Κατεύθυνσης

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

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τύποι δεδομένων ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΠΡΑΞΕΙΣ ΜΕΤΑΒΛΗΤΕΣ. Ακέραιοι αριθμοί (int) Πράξεις μεταξύ ακεραίων αριθμών

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

2 η Διάλεξη C++ Δρ. Χρήστος Δρόσος ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

Δισδιάστατοι Πίνακες (2D Arrays) Εισαγωγή στη C++

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Γλώσσα Προγραμματισμού C++ Εισαγωγή - Μια πρώτη ματιά

printf Οι κωδικοί (format codes) του printf για διάφορους τύπους δεδοµένων είναι:

Η εντολή if-else. Η απλή μορφή της εντολής if είναι η ακόλουθη: if (συνθήκη) { Η γενική μορφή της εντολής ifelse. εντολή_1; εντολή_2;..

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τι είναι οι πίνακες; Μονοδιάστατοι πίνακες. Απλές μεταβλητές: Κεντρική μνήμη

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

Πληροφορική 2. Γλώσσες Προγραμματισμού

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

S, (5, -3, 34, -23, 7) ( *, _

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

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ

Συμβολοσειρές ΣΥΜΒΟΛΟΣΕΙΡΕΣ. Γεώργιος Παπαϊωάννου ( )

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Τύποι δεδομένων, μεταβλητές, πράξεις. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

Β7.1.4 Δομές Επανάληψης. Β Λυκείου Κατεύθυνσης

C Programming EPL032 Maria Stavrinou Ioannou Εισαγωγή στη Γλώσσα C

Δομές Επανάληψης. Εισαγωγή στη C++

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο

Παίρνοντας Αποφάσεις 1

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language)

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) Ιστοσελίδα του µαθήµατος. Περιεχόµενα. ηµήτριος Κατσαρός, Ph.D. Αλφαριθµητικά Κλάση string

Πίνακες (Arrays) Εισαγωγή στη C++

Προγραμματισμός Υπολογιστών με C++

Δομή Προγράμματος C++, Χειρισμός Μεταβλητών και Συναρτήσεις Εισόδου - Εξόδου

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

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

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

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

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

ΣΤΟΙΧΕΙΑ ΤΗΣ ΓΛΩΣΣΑΣ C++ Constructors, Destructors, Pointers IO Streams, File Streams

Προγραμματισμός Υπολογιστών με C++

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

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Μονοδιάστατοι πίνακες Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7) Είσοδος/ Έξοδος

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7)

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

Streams Input / Output in C++ George Kastrinis

ΑΣΚΗΣΗ 2: ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΣΤΗ C

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τι περιλαμβάνει μια μεταβλητή; ΔΕΙΚΤΕΣ. Διεύθυνση μεταβλητής. Δείκτης

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 4-2

Αναφορές, είκτες και Αλφαριθμητικά

ΘΕΜΑΤΑ + ΥΠΟ ΕΙΓΜΑΤΙΚΗ ΕΠΙΛΥΣΗ

7. Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τι είναι οι πίνακες; Μονοδιάστατοι πίνακες. Απλές μεταβλητές: Κεντρική μνήμη

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

CE 120. Φροντιστήριο 14/10/2011

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

Δομημένος Προγραμματισμός (ΤΛ1006)

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Εντολές for, while, do-while Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Ανάπτυξη και Σχεδίαση Λογισμικού

Αντικειμενοστραφείς Γλώσσες Προγραμματισμού C++ / ROOT

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

Οντοκεντρικός Προγραμματισμός

Προγραμματισμός Ι. Χαρακτήρες. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών

Το πρόγραμμα θα τυπώνει και τους τρεις πίνακες.

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

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΚΑΙ ΠΙΝΑΚΕΣ

Προγραμματισμό για ΗΜΥ

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal

ΕΠΛ 032.3: Προγραµµατισµός ΜεθόδωνΕπίλυσηςΠροβληµάτων

Προγραμματισμός Υπολογιστών με C++

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

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

Προγραμματισμός Υπολογιστών με C++

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

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

Δομημένος Προγραμματισμός (ΤΛ1006)

Απλά Προγράμματα. Βήματα: 1. Καθορισμός παράστασης δεδομένων στη μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων

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

Transcript:

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

Ρεύµατα εισόδου / εξόδου (Ι / Ο streams) Ρεύµα εισόδου (input stream) : µια ακολουθία χαρακτήρων από µια συσκευή εισόδου (πχ. πληκτρολόγιο, αρχείο κλπ) προς το σύστηµα. (τελεστής εισαγωγής >> ) Ρεύµα εξόδου (output stream) : µια ακολουθία χαρακτήρων από το σύστηµα προς µια συσκευή εξόδου (πχ. οθόνη, αρχείο κλπ). (τελεστής εξαγωγής << ) Για να χρησιµοποιηθούν τα ρεύµατα πρέπει να δηλωθεί η βιβλιοθήκη iostream Γνωρίζουµε ήδη το καθιερωµένο ρεύµα εισόδου cin (console input = πληκτρολόγιο) το καθιερωµένο ρεύµα εξόδου cout (console output = οθόνη) αυτά δηλώνονται στο χώρο ονοµάτων standard #include <iostream> using namespace std;

Είσοδος δεδοµένων Συνήθης χρήση: cin>>[όνοµα µεταβλητής] ; Επιτρέπεται και η χρήση: cin>>[var1]>>[var2]>> >>[varn]; Παράδειγµα int a, b, c; char s; cin>>a; // διαβάζεται από το πληκτρολόγιο η τιµή του (ακεραίου) a cin>>s; // το ίδιο για την τιµή του (χαρακτήρα) s Όµως δεν µπορούµε να ανακατέψουµε είσοδο και έξοδο! ηλαδή: Το cin δεν µπορεί να εµφανίζει µηνύµατα στην οθόνη! cin>>"enter the value of a :">>a; ΛΑΘΟΣ Γι αυτό είναι καλό να χρησιµοποιείται και η εµφάνιση στην οθόνη κατάλληλων µηνυµάτων προς τον χρήστη µε χρήση του ρεύµατος εξόδου. Παράδειγµα: int n; cout<< Enter value of integer variable n: ; cin>>n; Ρωµύλος Κορακίτης - ρ. Βασίλειος Βεσκούκης

Έξοδος δεδοµένων Έξοδος στην οθόνη Μηνυµάτων που δίνονται κυριολεκτικά (string literals) Τιµών µεταβλητών µνήµης Συνδυασµού των παραπάνω cout<<"this is a message"; // τυπώνει ακριβώς τα περιεχόµενα των εισαγωγικών cout<<k; // τυπώνει την τιµή της µεταβλητής k cout<<"k"; // τυπώνει το γράµµα k cout<<"k="<<k; // (έστω ότι η k έχει την τιµή 10) // τυπώνει k=10 ρ. Βασίλειος Βεσκούκης

Έξοδος δεδοµένων Ειδικοί χειριστές ροής \n (µέσα σε εισαγωγικά): κατεβαίνει στην επόµενη γραµµή endl: κατεβαίνει στην επόµενη γραµµή Παράδειγµα cout<<"\nthis is a new day!\n"; cout<<endl<<"this is a new day!"<<endl; Συνήθης χρήση cout<<[µήνυµα που θέλουµε να εµφανίζεται πριν από την είσοδο]; cin>> [µεταβλητή την τιµή της οποίας διαβάζουµε]; Η είσοδος γίνεται µέσω του cin>> Παράδειγµα char s; cout<<"enter the value of s:"; cin>>s; ρ. Βασίλειος Βεσκούκης

Έλεγχος τιµών εισόδου do { /*εµφάνιση µηνύµατος */ /*ανάγνωση τιµών*/ } while [συνθήκη ΜΗ ΕΓΚΥΡΩΝ τιµών]; Παραδείγµατα do { cout<<endl<<"enter the value of a:"; cin>>a; } while (!((a>=0) && (a<=9))) // αποδέχεται τιµές 0-9 do { cout<<endl<<"enter the value of a:"; cin>>a; cout<<endl<<"enter the value of b:"; cin>>b; } while (a*b==0); // αποδέχεται τιµές a!=0 και b!=0 ρ. Βασίλειος Βεσκούκης

Είσοδος δεδοµένων - 2 Παράδειγµα σύνθετης εισόδου δεδοµένων: char ch1, ch2; int num; cin>>ch1>>ch2>>num; Ο χρήστης πληκτρολογεί : A 25 Τι θα συµβεί;

Είσοδος δεδοµένων - 2 Παράδειγµα σύνθετης εισόδου δεδοµένων: char ch1, ch2; int num; cin>>ch1>>ch2>>num; Ο χρήστης πληκτρολογεί : A 25 Τι θα συµβεί; Όταν εκτελεστεί η εντολή εισόδου, οι µεταβλητές θα έχουν τιµές: ch1 <-- A ch2 <-- 2 num <-- 5 Αιτία: ο τελεστής εισαγωγής >> αγνοεί τα κενά

Είσοδος δεδοµένων - 2 Παράδειγµα σύνθετης εισόδου δεδοµένων: char ch1, ch2; int num; cin>>ch1>>ch2>>num; Ο χρήστης πληκτρολογεί : A 25 Τι θα συµβεί; Όταν εκτελεστεί η εντολή εισόδου, οι µεταβλητές θα έχουν τιµές: ch1 <-- A ch2 <-- 2 num <-- 5 Αιτία: ο τελεστής εισαγωγής >> αγνοεί τα κενά Πως µπορούµε να δώσουµε τις ακόλουθες τιµές για τις µεταβλητές: ch1 <-- A ch2 <-- (κενό) num <-- 25

Είσοδος δεδοµένων - 2 Παράδειγµα σύνθετης εισόδου δεδοµένων: Χρησιµοποιούµε την µέθοδο get του ρεύµατος εισόδου, µε γενική µορφή: cin.get(varchar); char ch1, ch2; int num; cin.get(ch1); cin.get(ch2); cin>>num; Όταν εκτελεστεί η εντολή εισόδου, οι µεταβλητές θα έχουν τιµές: ch1 <-- A ch2 <-- (κενό) num <-- 25 Παράδειγµα: αρχείο cs2005_lec09_ex1.cpp

Μορφοποίηση δεδοµένων εξόδου Η γενική µορφή χρήσης του ρεύµατος εξόδου είναι: cout<<παράσταση ή διαµορφωτής<<παράσταση ή διαµορφωτής ; όπου παράσταση είναι αριθµητική ή αλφαριθµητική σταθερά ή όνοµα µεταβλητής Ο απλούστερος διαµορφωτής (ή χειριστής ροής - manipulator) είναι ο endl. Χρήσιµοι είναι ακόµη οι χειριστές µέσα σε κείµενο: ο χειριστής tab \t ο χειριστής τέλους γραµµής endline \n Άλλοι χρήσιµοι διαµορφωτές είναι: fixed : εµφάνιση αριθµών µε σταθερή υποδιαστολή scientific : εµφάνιση αριθµών µε εκθετική µορφή και κινητή υποδιαστολή setprecision(d) : εµφάνιση d δεκαδικών ψηφίων µετά την υποδιαστολή setw(n) : χρήση πεδίου αριθµητικής εξόδου συνολικού εύρους n χαρακτήρων Οι διαµορφωτές αυτοί απαιτούν την χρήση της βιβλιοθήκης iomanip #include <iomanip> Παράδειγµα: αρχείο cs2005_lec09_ex2.cpp