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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Δείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 9.8

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

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

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

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

είκτες και Πίνακες (2)

ΗΥ-150. Πίνακες (Arrays)

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στον Προγραµµατισµό. Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ

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

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

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

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

Προγραμματισμός Ι. Κλάσεις και Αντικείμενα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις

Συναρτήσεις και Πίνακες

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

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

Μεθόδων Επίλυσης Προβλημάτων

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

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

Μεθόδων Επίλυσης Προβλημάτων

Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (Programming in the large)

Κεφάλαιο 3.1, : Συναρτήσεις I. ( ιάλεξη 11) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Μονοδιάστατοι πίνακες

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

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

Επανάληψη για τις Τελικές εξετάσεις

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

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

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

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

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

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

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

Πίνακες: μια σύντομη εισαγωγή. Πίνακες χαρακτήρων: τα "Αλφαριθμητικά"

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

Συναρτήσεις και διαδικασίες

Προγραμματισμός Ι. Δείκτες. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Κλάσεις και Αντικείµενα

Μεθόδων Επίλυσης Προβλημάτων

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

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

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

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

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

1. ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C++

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

ΗΥ-150. Προγραµµατισµός. Πίνακες (Arrays)

Μεθόδων Επίλυσης Προβλημάτων

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

Γλώσσες Προγραμματισμού

ΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β

Συναρτήσεις (Functions) Εισαγωγή στη C++

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

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

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

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

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

Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf("%u\n", x); Β. unsigned char

Δομές Δεδομένων & Αλγόριθμοι

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

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

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

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

5. ΣΥΝΑΡΤΗΣΕΙΣ. (Πρόχειρο σχέδιο - Μαθήµατος 3) p Συναρτήσεις, που δεν επιστρέφουν κάποια τιµή

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

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

ΕΡΓΑΣΤΗΡΙΟ 1 ΕΙΣΑΓΩΓΗ ΣΤΗ C. Τµήµα Πληροφορικής και Τηλεπικοινωνιών

Κεφάλαιο 6: Συναρτήσεις IΙΙ Αρθρωτός Προγραμματισμός. (Διάλεξη 14) Παράδειγμα: Αλλαγή τιμής μεταβλητής μόνο τοπικά

Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ

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

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

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

Transcript:

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

Εισαγωγή στις συναρτήσεις οµή προγράµµατος Εντολές -> συναρτήσεις -> προγράµµατα Μια υποχρεωτική συνάρτηση που ονοµάζεται main() Οσες συναρτήσεις απαιτούνται, σύµφωνα µε τις ανάγκες του προβλήµατός µας Το main() καλεί άλλες συναρτήσεις Συγγραφή προγράµµατος Πρώτα οι συναρτήσεις και τέλος το κύριο πρόγραµµα (main()) Παραδείγµατα ορισµού συναρτήσεων Είσοδος, επεξεργασία, έξοδος Συχνή χρήση κάποιων υπολογισµών ηµιουργία της δικής µας "βιβλιοθήκης" ΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ main() d readabc() d=findmax() printmax() main() d a,b,c ΤΙΜΗ ΠΟΥ ΕΠΙΣΤΡΕΦΕΙ Η ΣΥΝΑΡΤΗΣΗ d readabc() d=findmax(a,b,c) printmax(d)

Το παράδειγµα 2 µε συναρτήσεις

Παράδειγµα

Συναρτήσεις ήλωση συναρτήσεων στη C++ [τύπος]] [όνοµα](τύπος1 παράµετρος1, τύπος2 παράµετρος2,,...) <εντολές> [τύπος]] ένας από τους τύπους δεδοµένων της C++ ή void [όνοµα] οποιοδήποτε νόµιµο όνοµα της C++ (µη( δεσµευµένη λέξη) [παράµετρος]... τυπικές παράµετροι που περνάνε µέσα στη συνάρτηση Οι συναρτήσεις Επιστρέφουν κάποια τιµή, εκτός αν είναι τύπου void έχονται κάποιες παραµέτρους τις οποίες αναγνωρίζουν ως µεταβλητές µνήµης µέσα στο σώµα τους

Συναρτήσεις Οι παράµετροι µιας συνάρτησης χρησιµοποιούνται από τη συνάρτηση µε τα ονόµατα που αποκτούν µέσα στην παρένθεση του ορισµού της συνάρτησης int maximum(int a, int b) if (a>b) return a; else return b; int main() int k,l,m; cin>>k; cin>>l; m=maximum(k,l); cout<<m;

Συναρτήσεις και παράµετροι #include <iostream> using namespace std; int maximum(int a, int b) if (a>b) return a; else return b; int main() int k,l,m,q,p,r; cin>>k; cin>>l; m=maximum(k,l); cout<<"the max of "<<k<<" and "<<l<<" is "<<m<<"\n"; cin>>q; cin>>p; r=maximum(q,p); cout<<"the max of "<<q<<" and "<<p<<" is "<<r<<"\n";

Συναρτήσεις και παράµετροι int factorial(int x) if (x==0) return 1; else return x*factorial(x-1); int permunations(int x, int y) return factorial(x)/factorial(x-y); int combinations(int x, int y) return factorial(x)/((factorial(y)*factorial(x-y)); int main() int a=5,b=3,c,d=52,e=5,f; cout<<combinations(a,b)<<"\n"; cout<<combinations(d,e)<<"\n";

Πίνακες (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] 2,8 2,30 0,0 5,3

Παράδειγµα Υπολογισµός µέσης θερµοκρασίας του έτους, όταν δίνονται οι µέσες θερµοκρασίες ες για κάθε µήνα

Παράδειγµα Υπολογισµός µέγιστης θερµοκρασίας του έτους

Παράδειγµα Βελτίωση για την εισαγωγή των θερµοκρασιών και την εύρεση του µήνα στον οποίο προκύπτει η µέγιστη θερµοκρασία