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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΑΠΟΤΥΠΩΣΕΙΣ - ΧΑΡΑΞΕΙΣ ΓΕΝΙΚΕΣ ΑΡΧΕΣ ΧΑΡΑΞΕΩΝ 3

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

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

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

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

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

ΑΠΟΤΥΠΩΣΕΙΣ - ΧΑΡΑΞΕΙΣ ΠΡΟΣΔΙΟΡΙΣΜΟΙ ΕΜΒΑΔΩΝ ΚΑΙ ΟΓΚΩΝ

Αυτοματοποιημένη χαρτογραφία

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

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

Μηχανολογικό Σχέδιο με τη Βοήθεια Υπολογιστή. Γεωμετρικός Πυρήνας Παραμετρική Σχεδίαση

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

Τεχνολογία Λογισµικού Ι Κεφάλαιο 6

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

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

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

Υπολογιστικά Mαθηματικά II

Κεφάλαιο Αρχές των απεικονίσεων - προβολών Αναπτυκτές επιφάνειες και ο προσανατολισμός τους

Η Αρχή του Ήρωνος και η Ανάκλαση του Φωτός

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

Εισαγωγή στην Τεχνολογία Λογισµικού

3.1 ΤΡΙΓΩΝΟΜΕΤΡΙΚΗ ΑΡΙΘΜΟΙ ΓΩΝΙΑΣ

ΑΣΚΗΣΕΙΣ ΕΠΑΝΑΛΗΨΗΣ 5 η ΕΚΑ Α

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

Εφαρμογές Πληροφορικής στην Τοπογραφία 7η Ενότητα Μονάδες, εντολές Text, List, μετρήσεις, μετασχηματισμοί και άσκηση χάραξης

Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον

4. Συντακτικό μιας γλώσσας είναι το σύνολο των κανόνων που ορίζει τις μορφές με τις οποίες μια λέξη είναι αποδεκτή.

Στ Τάξη. Α/Α Μαθηματικό περιεχόμενο Δείκτες Επιτυχίας Ώρες Διδ. 1 ENOTHTA 1

ΨΗΦΙΑΚΗ ΕΠΕΞΕΡΓΑΣΙΑ ΤΟΠΟΓΡΑΦΙΚΟΥ ΑΡΧΕΙΟΥ ΩΣ ΥΠΟΒΑΘΡΟ ΓΙΑ ΤΟΝ ΕΛΕΓΧΟ ΟΔΙΚΗΣ ΑΣΦΑΛΕΙΑΣ

ΘΕΩΡΙΑ Β ΓΥΜΝΑΣΙΟΥ. Μια παράσταση που περιέχει πράξεις με μεταβλητές (γράμματα) και αριθμούς καλείται αλγεβρική, όπως για παράδειγμα η : 2x+3y-8

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

Θεωρία Προγραμματισμού

Διαφορικός Λογισμός. Κεφάλαιο Συναρτήσεις. Κατανόηση εννοιών - Θεωρία. 1. Τι ονομάζουμε συνάρτηση;

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

ΜΑΘΗΜΑΤΙΚΑ Β ΓΥΜΝΑΣΙΟΥ ΜΙΑ ΠΡΟΕΤΟΙΜΑΣΙΑ ΓΙΑ ΤΙΣ ΕΞΕΤΑΣΕΙΣ

Τεχνολογία Λογισµικού Ι Κεφάλαιο 5

ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ Β ΓΥΜΝΑΣΙΟΥ 2013

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τι χρειάζεται η εντολή if ; Εντολή if. Παράδειγμα #1. Παράδειγμα #1

s(t) = + 1 γ 2 (2 µονάδες)

1. Αν α 3 + β 3 + γ 3 = 3αβγ και α + β + γ 0, δείξτε ότι το πολυώνυµο P (x) = (α - β) x 2 + (β - γ) x + γ - α είναι

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

Μαθηματικά Α' Γυμ. - Ερωτήσεις Θεωρίας 1 ΕΡΩΤΗΣΕΙΣ. (1) Ποιοι είναι οι φυσικοί αριθμοί; Γράψε τέσσερα παραδείγματα.

Εφαρμογές Πληροφορικής στην Τοπογραφία 8η Ενότητα - Scripting στο AutoCAD Παραδείγματα

ΠΡΟΛΟΓΟΣ. Εκφράζω προς όλους τις θερμές ευχαριστίες μου για την συνεργασία και την βοήθειά τους στην προετοιμασία του τεύχους αυτού.

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

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

Στοιχεία Συναρτήσεων. 1. Να βρεθεί το πεδίο ορισμού των παρακάτω συναρτήσεων: στ. x 1

Κεφάλαιο 3 Βασική Σχεδίαση και Επεξεργασία

Ε Ρ Ω Τ Η Σ Ε Ι Σ Θ Ε Ω Ρ Ι Α Σ.

α) Κύκλος από δύο δοσµένα σηµεία Α, Β. Το ένα από τα δύο σηµεία ορίζεται ως κέντρο αν το επιλέξουµε πρώτο. β) Κύκλος από δοσµένο σηµείο και δοσµένο ευ

Ενδεικτική Οργάνωση Ενοτήτων. E Τάξη. Α/Α Μαθηματικό περιεχόμενο Δείκτες Επιτυχίας Ώρες Διδ. 1 ENOTHTA 1

1 ΘΕΩΡΙΑΣ...με απάντηση

Γ Ε Ω Μ Ε Τ Ρ Ι Α - Κ Ε Φ Α Λ Α Ι Ο 1

Κεφάλαιο 5. Θεμελιώδη προβλήματα της Τοπογραφίας

Α. Ερωτήσεις Ανάπτυξης

Γεωδαιτική Αστρονομία

2 Ο ΓΥΜΝΑΣΙΟ ΚΕΡΚΥΡΑΣ ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΠΕΡΙΟΔΟΥ ΜΑΙΟΥ-ΙΟΥΝΙΟΥ 2010 ΤΑΞΗ: Β ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΜΑΘΗΜΑΤΙΚΑ

Παιδαγωγικό σενάριο : Μελέτη της συνάρτησης y=αx

ΑΠΟΤΥΠΩΣΕΙΣ - ΧΑΡΑΞΕΙΣ ΕΠΙΛΥΣΗ ΟΔΕΥΣΗΣ

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα

ΠΑΝΑΓΟΠΟΥΛΟΣ ΑΝΤΩΝΗΣ ΜΑΘΗΜΑΤΙΚΟΣ Β ΛΥΚΕΙΟΥ ΓΕΩΜΕΤΡΙΑ Σελίδα 1

1.4 ΟΜΟΙΟΘΕΣΙΑ ΑΣΚΗΣΕΙΣ. 2. Το οµοιόθετο γωνίας : Είναι γωνία ίση µε την αρχική

6. Εισαγωγή στον προγραµµατισµό

Διαδραστικοί & δυναμικοί χάρτες στο διαδίκτυο με χρήση λογισμικών ανοικτού κώδικα

Τεχνολογία Λογισµικού Ι Κεφάλαια 1-21

7 ο Εργαστήριο Θόρυβος 2Δ, Μετακίνηση, Περιστροφή

ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΙ ΚΑΤΟΠΤΡΙΚΗΣ ΣΥΜΜΕΤΡΙΑΣ

ΣΧΕ ΙΑ ΚΡΙΤΗΡΙΩΝ ΑΞΙΟΛΟΓΗΣΗΣ ΤΟΥ ΜΑΘΗΤΗ. ( Κεφάλαιο 4ο : Κωνικές τοµ ές)

8. Λεξιλόγιο μιας γλώσσας είναι όλες οι ακολουθίες που δημιουργούνται από τα στοιχεία του αλφαβήτου της γλώσσας, τις λέξεις.

ΓΕΩΔΑΙΣΙΑ Ι Μάθημα 1 0. Ι.Μ. Δόκας Επικ. Καθηγητής

Τάξη B. Μάθημα: Η Θεωρία σε Ερωτήσεις. Επαναληπτικά Θέματα. Επαναληπτικά Διαγωνίσματα. Επιμέλεια: Κώστας Κουτσοβασίλης. α Ε

ΕΡΩΤΗΣΕΙΣ ΑΝΟΙΧΤΟΥ ΤΥΠΟΥ

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ

Πρόγραμμα Σπουδών Εκπαίδευσης Παιδιών-Προφύγων Τάξεις Ε+ΣΤ Δημοτικού

ΑΣΚΗΣΕΙΣ ΠΡΟΣΤΑΣΙΑΣ ΥΠΕΡΕΝΤΑΣΗΣ

Κεφάλαιο 1: Κίνηση και γεωμετρικά σχήματα

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

: :

ΑΕΠΠ Ερωτήσεις θεωρίας

Στόχοι ΑΠΣ για τα μαθηματικά της Ε τάξης

ΕΠΑΝΑΛΗΨΗ Β ΓΥΜΝΑΣΙΟΥ ΑΛΓΕΒΡΑ

Transcript:

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

Βιβλιοθήκες συναρτήσεων Οι βιβλιοθήκες είναι συλλογές από συναρτήσεις. Γνωρίζουµε ήδη αρκετές έτοιµες βιβλιοθήκες της γλώσσας C++: iostream Καθιερωµένα ρεύµατα εισόδου - εξόδου fstream Ρεύµατα προς αρχεία εισόδου - εξόδου cmath Μαθηµατικές συναρτήσεις iomanip Χειριστές µορφοποίησης εξόδου cstdlib Βιβλιοθήκη για αλφαριθµητικές µετατροπές, τυχαίους αριθµούς κλπ ctime Συναρτήσεις χρόνου cstring Συναρτήσεις χειρισµού αλφαριθµητικών Για να χρησιµοποιηθούν χρειάζεται η οδηγία #include

Βιβλιοθήκες συναρτήσεων του χρήστη Ένας χρήστης µπορεί να συµπεριλάβει ένα σύνολο δικών του συναρτήσεων σε µια βιβλιοθήκη χρήστη, δηλαδή ένα αρχείο µε τον πηγαίο κώδικα των συναρτήσεων. Παράδειγµα: οι ακόλουθες συναρτήσεις βρίσκονται στη βιβλιοθήκη common_functions.cpp : grad2rad Μετατροπή βαθµών σε ακτίνια rad2grad Μετατροπή ακτινίων σε βαθµούς rad2ddeg Μετατροπή ακτινίων σε δεκαδικές µοίρες rad2sdeg Μετατροπή ακτινίων σε εξηκονταδικές µοίρες ortho2polar Μετατροπή ορθογώνιων συντεταγµένων σε πολικές polar2ortho Μετατροπή πολικών συντεταγµένων σε ορθογώνιες line_length Υπολογισµός µήκους ευθυγράµµου τµήµατος triangle_area Υπολογισµός εµβαδού τριγώνου (τύπος του Ήρωνα) Για να χρησιµοποιηθεί η βιβλιοθήκη χρειάζεται η οδηγία: #include common_functions.cpp

Έλεγχος του προγράµµατος Ο έλεγχος του προγράµµατος γίνεται µε σειρά αντίστροφη από την δηµιουργία του. Οι τρείς φάσεις οπισθοδρόµησης στην διαδικασία του προγραµµατισµού είναι: ιόρθωση συντακτικών σφαλµάτων : ανιχνεύονται από τον compiler και απαιτούν διορθώσεις στην κωδικοποίηση του αλγορίθµου (πηγαίος κώδικας) ιόρθωση λογικών σφαλµάτων: µερικά µπορεί να ανιχνευθούν επειδή προκαλούν σφάλµα κατά την εκτέλεση του προγράµµατος (π.χ. διαίρεση µε 0). Άλλα λογικά σφάλµατα εντοπίζονται µε εξαντλητικό έλεγχο της συµπεριφοράς του προγράµµατος µε διάφορες τιµές των δεδοµένων εισόδου. Αντιµετωπίζονται µε τις κατάλληλες τροποποιήσεις στην σχεδίαση και κωδικοποίηση του αλγορίθµου. ιόρθωση σφαλµάτων αρχής: παρόλο που το πρόγραµµα εκτελείται κανονικά, µπορεί τα αποτελέσµατα να µην ανταποκρίνονται στις αρχικές επιθυµίες. Αυτό σηµαίνει ότι υπάρχει σφάλµα στην σύλληψη ή την διατύπωση του προβλήµατος, που αντιµετωπίζεται µε νέα διατύπωση και ανάλυση του προβλήµατος και επανασχεδιασµό του αλγορίθµου.

Παράδειγµα : µετασχηµατισµός συστήµατος συντεταγµένων Πρόβληµα: Από την αφετηρία O ενός συστήµατος συντεταγµένων (x,y) έχουν µετρηθεί οι αποστάσεις και οι γωνίες διεύθυνσης προς Ν σηµεία. Οι µετρήσεις αυτές βρίσκονται στο αρχείο koryfes.txt. Να σχεδιαστεί και να γραφεί ένα πρόγραµµα C++ που θα εκτελεί τα ακόλουθα: Θα διαβάζει τα δεδοµένα εισόδου (r i,a i ), i=0,1,,n από το αρχείο. Θα υπολογίζει τις αντίστοιχες ορθογώνιες συντεταγµένες (x i,y i ), i=0,1,,n των σηµείων. Θα υπολογίζει τις ορθογώνιες συντεταγµένες (xk,yk) του κέντρου βάρους K των σηµείων. Θα υπολογίζει τις ορθογώνιες συντεταγµένες (nx i,ny i ), i=0,1,,n των σηµείων σε ένα νέο σύστηµα, µε κέντρο το σηµείο Κ και άξονα των x προς το σηµείο 0. Θα καταγράφει τις συντεταγµένες (nx i,ny i ), i=0,1,,n των σηµείων στο αρχείο new_koryfes.txt.

Παράδειγµα : µετασχηµατισµός συστήµατος συντεταγµένων

Παράδειγμα : μετασχηματισμός συστήματος συντεταγμένων Δεδομένα εισόδου : (a i,r i ), i=0, 1,, N polar2ortho : x i =r i sin(a i ), y i =r i cos(a i ) Κέντρο βάρους : xk=1/n Σx i, yk=1/n Σy i Μετάθεση συστήματος : x i = x i xk,y i = y i yk Υπολογισμός γωνιών στροφής : b=arctan(x 0/ y 0) και w=b π/2 Στροφή συστήματος κατά γωνία w : nx i = x i cos(w) y i sin(w) και ny i = x i sin(w) + y i cos(w) Δεδομένα εξόδου : (nx i, ny i ), i=0, 1,, N Αρχεία: pt2006_lect5_example.cpp και common_functions.cpp Δρ. Ρωμύλος Βασίλειος Κορακίτης Βεσκούκης