Περιεχόµενα Περιεχόµενα iii 1 Εισαγωγή STOP

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Περιεχόµενα Περιεχόµενα iii 1 Εισαγωγή STOP"

Transcript

1 Τµηµα Επιστηµης και Τεχνολογιας Υλικων Πανεπιστηµιο Κρητης Ηλεκτρονικοί Υπολογιστές Ι : Εισαγωγή στη γλώσσα προγραµµατισµού Fortran 95 Συνοπτικές Σηµειώσεις ιαλέξεων Σ. Σταµατιαδης Ηράκλειο Μάρτιος 2012

2 Copyright c 2006 Σ. Σταµατιάδης, Η στοιχειοθεσία έγινε από τον Σ. Σταµατιάδη µε τη χρήση του LaTEX2ε. Χρησιµοποιήθηκε η σειρά χαρακτήρων Κέρκης (c Τµήµα Μαθηµατικών, Πανεπιστήµιο Αιγαίου). Τελευταία τροποποίηση του κειµένου έγινε την 7 Μαρτίου Η πιο πρόσφατη έκδοση ϐρίσκεται στο

3 Περιεχόµενα Περιεχόµενα iii 1 Εισαγωγή Παράδειγµα οµή Προγράµµατος Σχόλια ήλωση Μεταβλητών Ανάγνωση δεδοµένων Υπολογισµοί και Ανάθεση Εκτύπωση δεδοµένων Μεταβλητές ήλωση Ονοµα Απόδοση Τιµής Εντολή ανάθεσης Αριθµητικές Σταθερές Ακέραιες Πραγµατικές Μιγαδικές Σταθερές Ποσότητες Αριθµητικοί Τελεστές Είσοδος/ Εξοδος δεδοµένων οµή Προγράµµατος Εντολή STOP Ασκήσεις Άλλοι ενσωµατωµένοι τύποι Τύπος χαρακτήρα Λογικός τύπος Μιγαδικός Τύπος Ρητή µετατροπή µεταξύ αριθµητικών τύπων Προσδιορισµός του τύπου στη Fortran Προσδιορισµός του είδους αριθµητικών σταθερών Ενσωµατωµένες αριθµητικές συναρτήσεις Σχεσιακοί και Λογικοί Τελεστές Εντολές Ελέγχου IF iii

4 iv ΠΕΡΙΕΧΟΜΕΝΑ SELECT CASE Πίνακες Εντολές επανάληψης Πίνακας Πρόσβαση Στοιχείων Απόδοση τιµής Πολυδιάστατος πίνακας Παρατηρήσεις Πίνακας άγνωστου πλήθους στοιχείων Εντολές Επανάληψης (Βρόχοι) DO για συγκεκριµένο πλήθος επαναλήψεων DO για απροσδιόριστο αριθµό επαναλήψεων EXIT CYCLE Σηµείωση Πράξεις κατά στοιχείο Τµήµα πίνακα Συναρτήσεις µε όρισµα πίνακα WHERE Παραγόµενοι Τύποι Είσοδος/ Εξοδος εδοµένων Περιεχόµενο του FORMAT FORMAT ελέγχου Αλλαγή γραµµής Αρχεία Εξωτερικά Αρχεία Εσωτερικά Αρχεία Συναρτήσεις Υπορουτίνες Εισαγωγή Η έννοια του υποπρογράµµατος Παραδείγµατα Κλήση υποπρογράµµατος ήλωση υποπρογράµµατος Παράδειγµα Εκτέλεση υποπρογράµµατος RETURN Ορισµα υποπρογράµµατος Πίνακας ως όρισµα Υποπρόγραµµα ως όρισµα Προαιρετικό όρισµα Στατικές ποσότητες Αναδροµική (recursive) κλήση συνάρτησης Υποπρογράµµατα κατά στοιχείο (ELEMENTAL) MODULE

5 ΠΕΡΙΕΧΟΜΕΝΑ v Α Σύνοψη 81 Α.1 Σειρά εκτέλεσης Α.2 ηλώσεις Α.3 Πίνακες Α.4 Ανάθεση τιµής Α.5 Εκτέλεση υπό συνθήκη Α.6 Εντολή επανάληψης Α.7 Υποπρόγραµµα

6 vi ΠΕΡΙΕΧΟΜΕΝΑ

7 ιάλεξη 1 Εισαγωγή Ενας ηλεκτρονικός υπολογιστής έχει τη δυνατότητα να προγραµµατιστεί ώστε να εκτελέσει µια συγκεκριµένη διαδικασία. Προγραµµατισµός είναι η λεπτοµε- ϱής περιγραφή, σε κάποια γλώσσα προγραµµατισµού, των ϐηµάτων που πρέπει να ακολουθήσει ώστε να ολοκληρώσει την επιθυµητή διεργασία. Το σύνολο των ϐηµάτων, το πρόγραµµα δηλαδή, συνήθως απαιτεί δεδοµένα που πρόκειται να ε- πεξεργαστεί ώστε να παράγει κάποιο αποτέλεσµα σχεδιάζεται, όµως, ανεξάρτητα από συγκεκριµένες τιµές των δεδοµένων αυτών. Οι πιο διαδεδοµένες γλώσσες προγραµµατισµού στις εφαρµοσµένες επιστήµες (Fortran, C, C++) χρησιµοποιούν σταθερές και µεταβλητές ποσότητες, δηλαδή, ϑέσεις στη µνήµη του υπολογιστή, για την αποθήκευση των ποσοτήτων (δεδο- µένων και αποτελεσµάτων) του προγράµµατος. Ο υπολογιστής επιδρά στις τιµές αυτών των ποσοτήτων ακολουθώντας διαδοχικά τις εντολές που περιλαµβάνονται στο πρόγραµµα. Υπάρχει η δυνατότητα ανάθεσης τιµής στις µεταβλητές, επιλογής της εντολής που ϑα εκτελεστεί στο επόµενο ϐήµα, ανάλογα µε κάποια συνθήκη, καθώς και η δυνατότητα επανάληψης µιας ή περισσότερων εντολών. Η ϐασική δο- µή και ο τρόπος λειτουργίας ενός προγράµµατος στις προαναφερθείσες γλώσσες δε διαφέρει ουσιαστικά από τη µία στην άλλη. Αυτό δεν σηµαίνει ότι κάποιες γλώσσες προγραµατισµού δεν είναι πιο εξελιγµένες από άλλες παρέχουν, δηλαδή, περισσότερες δυνατότητες ή είναι πιο κατάλληλες για συγκεκριµένες εφαρµογές. Στις παρούσες σηµειώσεις ϑα περιγράψουµε έννοιες της γλώσσας προγραµµατισµού Fortran 95 και ϑα αναφερθούµε στις ϐασικές δοµές που περιλαµβάνει. 1.1 Παράδειγµα Ας εξετάσουµε µία απλή εργασία που ϑέλουµε να εκτελεστεί από ένα ηλεκτρονικό υπολογιστή : να µας Ϲητά έναν ακέραιο αριθµό και να τυπώνει το διπλάσιό του. Η διαδικασία που ακολουθούµε, ο αλγόριθµος, είναι ο εξής : 1. Ανάγνωση αριθµού από το πληκτρολόγιο [εισαγωγή του στη µνήµη]. 2. [ανάκληση του αριθµού από τη µνήµη] υπολογισµός του διπλάσιου [εισαγωγή του αποτελέσµατος στη µνήµη]. 3. [ανάκληση του αποτελέσµατος από τη µνήµη] Εκτύπωση στην οθόνη. 1

8 2 ΙΆΛΕΞΗ 1. ΕΙΣΑΓΩΓ Η Η ενέργειες που περιλαµβάνονται σε αγκύλες µπορεί να µη ϕαίνονται αναγκαίες σε πρώτη ανάγνωση. Είναι όµως, καθώς ο υπολογιστής κρατά στη µνήµη RAM οποιαδήποτε πληροφορία, σε µεταβλητές ή σταθερές ποσότητες. Πολλές γλώσσες προγραµµατισµού, ανάµεσά τους και η Fortran, χρειάζονται ένα επιλέον, προκαταρτικό, ϐήµα αυτής της διαδικασίας. Προτού µεταφέρουµε τον αλγόριθµο πρέπει να κάνουµε το : 0. ήλωση µεταβλητών (δηλαδή, ϱητή δέσµευση µνήµης). Ας δούµε καταρχήν ένα πλήρες πρόγραµµα Fortran 95 που εκτελεί την παραπάνω εργασία ακολουθώντας τα ϐήµατα που περιγράψαµε. Με αυτό έχουµε την ευκαιρία να δούµε ϐασικά στοιχεία της δοµής του κώδικα : PROGRAM twice IMPLICIT NONE! step 0 INTEGER : : a, b! step 1 READ, a! step 2 b = 2 a! step 3 PRINT, " To di plasio einai " PRINT, b END PROGRAM twice Ας το αναλύσουµε : οµή Προγράµµατος Οι εντολές του κυρίως προγράµµατός µας (καλό είναι να) περιλαµβάνονται µεταξύ των PROGRAM... END PROGRAM: PROGRAM twice IMPLICIT NONE END PROGRAM twice Με την πρώτη εντολή το πρόγραµµά µας έχει ονοµαστεί twice. Καλό είναι να αποδίδουµε ονόµατα στα προγράµµατά µας που υποδηλώνουν µε κάποιον τρόπο τι κάνουν αυτά. Ολες οι εντολές/γραµµές µπορούν να ξεκινούν από οποιαδήποτε στήλη πρέπει να έχουν ολοκληρωθεί στη στήλη 132 καθώς οι χαρακτήρες που υπάρχουν µετά από αυτή αγνοούνται.

9 1.1. ΠΑΡΆ ΕΙΓΜΑ 3 Οι πρώτες γραµµές µετά το PROGRAM... συγκεντρώνουν τις δηλώσεις όλων των ποσοτήτων. Η πρώτη γραµµή από αυτές (καλό είναι να) είναι η IMPLICIT NONE. Αφού τελειώσουν οι δηλώσεις, ακολουθούν οι υπόλοιπες εντολές, µε τη σειρά που ϑέλουµε να εκτελεστούν. Η τελική εντολή είναι το END PROGRAM... Σε ένα αρχείο µε κώδικα σε Fortran 95 επιτρέπονται κενά µεταξύ λέξεων και κενές γραµµές µεταξύ εντολών Σχόλια Ο compiler αγνοεί τους χαρακτήρες που υπάρχουν µεταξύ του χαρακτήρα `! και µέχρι το τέλος της γραµµής που εµφανίζεται αυτός. Εποµένως, γραµµές ή τµήµατα γραµµών που αρχίζουν µε `! µπορούν να περιλάβουν επεξηγηµατικά µηνύµατα από τον προγραµµατιστή, για τη δική του διευκόλυνση ήλωση Μεταβλητών Οι µεταβλητές (variables) είναι ϑέσεις στη µνήµη που χρησιµοποιούνται για την αποθήκευση των ποσοτήτων (δεδοµένων, αποτελεσµάτων) του προγράµµατος. Προτού χρησιµοποιηθούν πρέπει να δηλωθούν, δηλαδή να ενηµερωθεί ο compiler για το όνοµά τους και τον τύπο τους, αλλά και να πάρουν τιµή. Η εντολή INTEGER : : a, b αποτελεί τη δήλωση των µεταβλητών του προγράµµατός µας. Παρατηρήστε ότι στον αλγόριθµό µας έχουµε δύο εισαγωγές ακεραίων στη µνήµη, οπότε ϑέλουµε δύο κατάλληλες µεταβλητές. Η συγκεκριµένη εντολή Ϲητά από τον compiler να δεσµεύσει χώρο στη µνήµη για δύο ακέραιους αριθµούς (INTEGER) µε ονόµατα a και b Ανάγνωση δεδοµένων Η εντολή READ, a διαβάζει από το πληκτρολόγιο έναν ακέραιο αριθµό και τον τοποθετεί στη µετα- ϐλητή a. Το σύµβολο υποδεικνύει στον µεταγλωττιστή ότι το πλήθος, τον τύπο και τη µορφή των δεδοµένων που ϑα δεχθεί πρέπει να τα προσδιορίσει αυτόµατα από τις µεταβλητές που παρατίθενται στην εντολή READ. Θα δούµε αργότερα πώς µπορούµε να του προσδιορίσουµε εµείς τις συγκεκριµένες πληροφορίες. Η συγκεκριµένη εντολή αποτελεί τον ένα από τους δύο τρόπους για απόδοση τιµής σε µεταβλητή. Η άλλη είναι η εντολή ανάθεσης (1.3) Υπολογισµοί και Ανάθεση Η εντολή b = 2 a

10 4 ΙΆΛΕΞΗ 1. ΕΙΣΑΓΩΓ Η εκτελείται ως εξής : Καταρχήν, υπολογίζεται το δεξί µέλος : ανακαλείται από τη µνήµη ο αριθµός που είναι αποθηκευµένος στη µεταβλητή a και εκτελείται ο πολλαπλασιασµός µε το 2. Ο πολλαπλασιασµός υποδηλώνεται µε το. Κατόπιν, το αποτέλεσµα της πράξης αποθηκεύεται στη µεταβλητή του αριστερού µέλους Εκτύπωση δεδοµένων Οι εντολές PRINT, " To di plasio einai " PRINT, b προκαλούν διαδοχική εκτύπωση στην οθόνη δύο πληροφοριών : συγκεκριµένου κειµένου (σειρά χαρακτήρων εντός εισαγωγικών) και της τιµής που αποθηκεύεται στην µεταβλητή b (και η οποία ανακαλείται από τη µνήµη). Παρακάτω, ακολουθούν πιο αναλυτικές περιγραφές όσων αναφέραµε στο πα- ϱάδειγµα. 1.2 Μεταβλητές Οι ενσωµατωµένοι τύποι των µεταβλητών στη Fortran είναι οι INTEGER, REAL και DOUBLE PRECISION, COMPLEX, LOGICAL, CHARACTER. Αντιστοιχούν µε τη σειρά, σε ποσότητες ακέραιες, πραγµατικές απλής ακρίβειας, πραγµατικές διπλής ακρίβειας, µιγαδικές, λογικές και ποσότητες χαρακτήρα ήλωση Η δήλωση µιας ακέραιας µεταβλητής µε όνοµα π.χ. abc γίνεται µε την ακόλου- ϑη εντολή : INTEGER : : abc Η δήλωση δύο πραγµατικών µεταβλητών απλής ακρίβειας µε ονόµατα π.χ. value1, value2, γίνεται µε τις ακόλουθες εντολές : REAL : : REAL : : value1 value2 ή, ισοδύναµα, µε την REAL : : value1, value2 Οι πραγµατικές µεταβλητές απλής ακρίβειας έχουν συνήθως ακρίβεια 6 ψη- ϕίων. Σε επιστηµονικούς κώδικες, η ακρίβεια των µεταβλητών τύπου REAL συχνά δεν είναι ικανοποιητική. Γι αυτό υπάρχει ενσωµατωµένος ένας πραγµατικός τύπος µε µεγαλύτερη ακρίβεια. Ο τρόπος που ορίζεται στη Fortran 90 είναι σχετικά πολύπλοκος, διευκολύνει, όµως, αρκετά την ανάπτυξη µεγάλων κωδίκων. Εδώ ϑα παρουσιάσουµε τον τρόπο που κληρονοµήθηκε από την Fortran 77. Η δήλωση πραγµατικής µεταβλητής διπλής ακρίβειας µε όνοµα π.χ. ab, γίνεται µε την ακόλουθη εντολή : DOUBLE PRECISION : : ab

11 1.2. ΜΕΤΑΒΛΗΤ ΕΣ 5 Οι πραγµατικές µεταβλητές διπλής ακρίβειας έχουν συνήθως ακρίβεια 15 ψη- ϕίων. ήλωση µιγαδικής µεταβλητής (απλής ακρίβειας) γίνεται ως εξής : COMPLEX : : z Περισσότερα για µιγαδικούς ϑα αναπτύξουµε σε επόµενο κεφάλαιο Ονοµα Τα ονόµατα των µεταβλητών, συναρτήσεων, προγράµµατος, και, γενικότερα, των οντοτήτων του κώδικα, είναι της επιλογής του προγραµµατιστή. Σχηµατίζονται µε τους λατινικούς χαρακτήρες a z, τα αριθµητικά ψηφία 0 9 και το χαρακτήρα `_. Το µέγιστο µήκος κάθε ονόµατος είναι 31 χαρακτήρες. Το όνοµα δεν µπορεί να αρχίζει µε αριθµητικό ψηφίο. Κεφαλαία και πεζά γράµµατα είναι ίδια. Καλό είναι να µην αρχίζει ούτε από `_ καθώς ονόµατα µε αυτόν για πρώτο χαρακτήρα χρησιµοποιούνται εσωτερικά από τον µεταγλωττιστή. Είναι προφανές ότι δεν µπορεί να χρησιµοποιηθεί το ίδιο όνοµα για την αναπαράσταση διαφορετικών οντοτήτων που συνυπάρχουν Απόδοση Τιµής Μια µεταβλητή παίρνει τιµή διαβάζοντάς τη από το πληκτρολόγιο, από αρχείο κλπ. µε την εντολή READ. Π.χ. για είσοδο από το πληκτρολόγιο ακέραιου αριθµού και αποθήκευση στη µεταβλητή a έχουµε INTEGER : :..... READ, a ή, ισοδύναµα, αλλά και πιο γενικά, a INTEGER : : a..... READ (, ) a µε εντολή ανάθεσης (1.3), της µορφής Π.χ. µεταβλητή = [ έκφραση µε σταθερές και µεταβλητές ] REAL : : a, b b = a κατά τη δήλωσή της (αρχική τιµή). Π.χ. INTEGER : : k = 3 Η παραπάνω εντολή δηλώνει ότι η µεταβλητή µε όνοµα k είναι ακέραια και της δίνει την αρχική τιµή 3. Μπορούµε να αλλάξουµε τιµή µιας µεταβλητής κατά τη διάρκεια του προγράµ- µατος.

12 6 ΙΆΛΕΞΗ 1. ΕΙΣΑΓΩΓ Η 1.3 Εντολή ανάθεσης Είναι της µορφής µεταβλητή = [ έκφραση µε σταθερές και µεταβλητές ] Εκτελούνται όλες οι πράξεις που πιθανόν εµφανίζονται στο δεξί µέλος και το αποτέλεσµα µετατρέπεται στον τύπο της µεταβλητής του αριστερού µέλους και η τιµή του αποδίδεται σε αυτή. 1.4 Αριθµητικές Σταθερές Ακέραιες Μία σειρά αριθµητικών ψηφίων χωρίς κενά ή άλλα σύµβολα, αποτελεί µία ακέραια σταθερά. Ο πρώτος χαρακτήρας της µπορεί να είναι το πρόσηµο `+ ή `. Π.χ., τρεις ακέραιες σταθερές είναι οι παρακάτω 3, -12, Πραγµατικές Μία σειρά αριθµητικών ψηφίων χωρίς κενά, που περιλαµβάνει τελεία (στη ϑέση της υποδιαστολής) συµβολίζει πραγµατική σταθερά απλής ακρίβειας (συνήθως 6 δεκαδικών ψηφίων). Πριν ή µετά την υποδιαστολή µπορεί να µην υπάρχουν ψηφία. Ο χαρακτήρας E, αν υπάρχει, ακολουθείται από τον ακέραιο εκθέτη του 10 µε τη δύναµη του οποίου πολλαπλασιάζεται ο αµέσως προηγούµενος του E αριθµός : 2.034, 0.23,.44, 23., 2e 4 ( ), 2.3E2 ( 230.0). Μία σειρά αριθµητικών ψηφίων χωρίς κενά, που περιλαµβάνει τελεία (στη ϑέση της υποδιαστολής) και ακολουθείται από το χαρακτήρα D και τον ακέραιο εκθέτη του 10 µε τη δύναµη του οποίου πολλαπλασιάζεται συµβολίζει πραγµατική σταθερά διπλής ακρίβειας (συνήθως 15 δεκαδικών ψηφίων). Π.χ., 2d 4 ( d0), 2.3D2 ( 230.0d0). Προσέξτε ότι ο ίδιος πραγµατικός αριθµός µπορεί να γραφεί στη Fortran ως πραγ- µατικός είτε απλής είτε διπλής ακρίβειας 1. Οι δύο µορφές είναι διαφορετικές πα- ϱόλο που αντιστοιχούν στον ίδιο αριθµό. Στην περίπτωση που εµφανίζονται στην ίδια έκφραση, π.χ. σε µια πρόσθεση, ο µεταγλωττιστής µετατρέπει την σταθερά απλής ακρίβειας σε διπλής προτού προχωρήσει. Ο συµβολισµός ενός πραγµατικού αριθµού στη µορφή που περιλαµβάνει το E ή το D είναι ο λεγόµενος επιστηµονικός. Παρατηρήστε ότι µόνο µε την ε- πιστηµονική µορφή µπορούµε να προσδιορίσουµε ότι µια πραγµατική σταθερά είναι διπλής ακρίβειας. ηλαδή, το 3.2 της αριθµητικής, πρέπει να γραφεί στη Fortran ως 3.2D0 για να αποθηκευθεί ως διπλής ακρίβειας. Επίσης, δεν έχει ση- µασία πόσα δεκαδικά ψηφία παραθέτουµε σε µία πραγµατική σταθερά. Αν είναι απλής ακρίβειας ϑα αγνοηθούν τα ψηφία πέρα απο το έκτο ή έβδοµο σηµαντικό. 1 είτε, ϐέβαια, ως µιγαδικός ή και ως ακέραιος, αν τυχαίνει να είναι ακέραιος στα µαθηµατικά.

13 1.5. ΣΤΑΘΕΡ ΕΣ ΠΟΣ ΟΤΗΤΕΣ 7 Αντίστοιχα, σε διπλή ακρίβεια τα πρώτα 15 ή 16 σηµαντικά ψηφία κρατώνται, και ϑεωρούνται 0 όσα δεκαδικά µέχρι το 15ο ή 16ο δεν προσδιορίζονται. Ετσι, η µαθηµατική σταθερά π = µπορεί να γραφεί στη Fortran ως (τα επιπλέον δεκαδικά ψηφία αγνοούνται, ακόµα και αν τα γράψουµε) ή ως D Μιγαδικές Η µιγαδική σταθερά συµβολίζεται στη Fortran µε Ϲεύγος πραγµατικών αριθµών εντός παρενθέσεων, µε (,) µεταξύ τους. Ο πρώτος αριθµός είναι το πραγµατικό µέρος ενώ ο δεύτερος είναι το ϕανταστικό. Π.χ., ο µιγαδικός αριθµός i των µαθηµατικών γράφεται ως (3.1, 2.0), ενώ ο i γράφεται ως (0.0, 1.0). 1.5 Σταθερές Ποσότητες Μια ποσότητα (οποιουδήποτε τύπου) που επιθυµούµε να πάρει τιµή και να µην µπορεί να αλλάξει κατά τη διάρκεια εκτέλεσης του προγράµµατος, δηλώνεται µε τη χρήση της λέξης PARAMETER. Είναι απαραίτητο να της δώσουµε αρχική (και µόνιµη) τιµή κατά τον ορισµό της (δεν µπορεί, εποµένως, να διαβαστεί από το πληκτρολόγιο, αρχείο, κλπ., ή να πάρει τιµή µε εντολή ανάθεσης). Π.χ. πραγµατική ποσότητα µε σταθερή, αµετάβλητη τιµή δηλώνεται ως εξής REAL, PARAMETER : : pi = Αριθµητικοί Τελεστές Οι τελεστές +,,, / µεταξύ πραγµατικών αριθµών εκτελούν τις πράξεις της πρόσθεσης, αφαίρεσης, πολλαπλασιασµού και διαίρεσης αντίστοιχα. Οι τελεστές +,, µεταξύ ακεραίων αριθµών εκτελούν τις πράξεις της πρόσθεσης, αφαίρεσης, πολλαπλασιασµού αντίστοιχα. Ο τελεστής / µεταξύ ακεραίων αριθµών εκτελεί τη διαίρεση και αποκόπτει το δεκαδικό µέρος του αποτελέσµατος, επιστρέφει, δηλαδή, το πηλίκο της διαίρεσης. Η συνάρτηση MOD( ) επιστρέφει το υπόλοιπο της διαίρεσης ως εξής INTEGER : : a, b, p, y a = 4 b = 3 p = a / b! P i l i k o y = MOD( a, b )! Ypoloipo Ο τελεστής εκτελεί την ύψωση σε δύναµη. Π.χ. το x 3 των µαθηµατικών γράφεται στη Fortran ως x 3. Οι τελεστές +, έχουν ίδια προτεραιότητα η οποία είναι χαµηλότερη από την προτεραιότητα των, / (που έχουν την ίδια), όπως και στα µαθηµατικά. Σε µια έκφραση που εµφανίζονται διαδοχικά τελεστές ίδιας προτεραιότητας, εκτελείται

14 8 ΙΆΛΕΞΗ 1. ΕΙΣΑΓΩΓ Η πρώτα αυτός που είναι στα αριστερά. Ο τελεστής έχει υψηλότερη προτεραιότητα από όλους. Π.χ. INTEGER : : i, j, k i = 2 + 3! i = 5 j = 2 3! j = 6 i = i + j! i = 11 i = 2 i + j! i = 28 i = 17 / j! i = 2 k = i j / 3! k = 4 Αλλαγή προτεραιότητας γίνεται µε τη χρήση παρενθέσεων. Π.χ. INTEGER : : i, j, k i = 2 j = 6 k = 2 i + j! k = 10 k = 2 ( i + j )! k = 16 k = j i / 3! k = 4 k = j ( i / 3)! k = 0 Παρατήρηση: Οταν οι τελεστές +,,, / εµφανίζονται µεταξύ αριθµών δια- ϕορετικού τύπου (π.χ. ενός ακεραίου και ενός πραγµατικού), γίνεται αυτόµατη µετατροπή του ενός τύπου στον άλλο (για να µην έχουµε απώλεια ακρίβειας) και εκτελούνται οι πράξεις. Π.χ. INTEGER : : i, j REAL : : x, y i = 8.3! i = 8 j = 2 y = 3.0 x = 4.0 / 3! > x = 4.0 / 3.0 > x = x = j + y! > x = > x = > x = 5.0 i = 4 / 3.0! > i = 4.0 / 3.0 > i = > i = 1 x = 4 / 3! > x = 1 > x = 1.0 x = / 3! > x = 8.0 / 3 > x = 8.0 / 3.0 > x = x = 4 / 3 2.0! > x = > x = 2.0

15 1.7. Ε ΙΣΟ ΟΣ/ ΕΞΟ ΟΣ Ε ΟΜ ΕΝΩΝ Είσοδος/ Εξοδος δεδοµένων Η ανάθεση τιµής σε κάποια µεταβλητή a από το πληκτρολόγιο γίνεται, όπως είδαµε, µε την εντολή READ: READ, a ή, ισοδύναµα, µε την READ (, ) a Η εκτύπωση στην οθόνη της τιµής µιας ποσότητας γίνεται µε την εντολή PRINT PRINT, a ή, ισοδύναµα και πιο γενικά, µε την εντολή WRITE: WRITE (, ) a Οι παραπάνω εντολές µπορούν να χρησιµοποιηθούν για πολλά δεδοµένα ταυτόχρονα, ακόµα και διαφορετικού τύπου. Π.χ. INTEGER : : REAL : : b a = 4 b = 4.5 a PRINT, " Oi times einai ", a, b Το πρώτο * στα READ(, )/WRITE(, ) προσδιορίζει το πληκτρολόγιο ή την οθόνη ως πηγή ή αποδέκτη δεδοµένων αντίστοιχα. Σε επόµενο κεφάλαιο ϑα δούµε πώς συνδέουµε αρχεία για την είσοδο και έξοδο δεδοµένων. Το δεύτερο * καθορίζει ότι η µορφή των δεδοµένων ϑα αποφασιστεί από τον µεταγλωττιστή µε ϐάση τις ποσότητες που περιλαµβάνονται στις αντίστοιχες εντολές. Στη µορφή READ / PRINT η µεταφορά των δεδοµένων γίνεται µόνο από το πληκτρολόγιο και την οθόνη αντίστοιχα, χωρίς δυνατότητα αλλαγής, ενώ το * καθορίζει τη διαµόρφωση (και υποδηλώνει ότι αυτή ϑα αποφασιστεί από το µεταγλωττιστή). 1.8 οµή Προγράµµατος Οπως αναφέραµε, οι εντολές του κυρίως προγράµµατός µας περιλαµβάνονται µεταξύ των PROGRAM... END PROGRAM: PROGRAM onoma IMPLICIT NONE END PROGRAM onoma Το όνοµα του προγράµµατος (εδώ onoma ) πρέπει να εµφανίζεται, είναι της ε- πιλογής του προγραµµατιστή και σχηµατίζεται µε τους κανόνες που ισχύουν για τα ονόµατα των µεταβλητών. Ολες οι γραµµές µπορούν να ξεκινούν από οποιαδήποτε στήλη. Σε ένα αρχείο µε κώδικα σε Fortran 90, επιτρέπονται κενά µεταξύ

16 10 ΙΆΛΕΞΗ 1. ΕΙΣΑΓΩΓ Η λέξεων και κενές γραµµές µεταξύ εντολών. Στην περίπτωση που κάποια γραµ- µή είναι πολύ µεγάλη, πάνω από 132 χαρακτήρες ή από το πλάτος της οθόνης µας, µπορούµε να την σπάσουµε σε οποιοδήποτε σηµείο και να συνεχιστεί στην επόµενη γραµµή του αρχείου, αρκεί στο σηµείο του σπασίµατος στην πρώτη γραµµή να τοποθετήσουµε τον χαρακτήρα `&. Π.χ. η ακόλουθη εντολή INTEGER : : a, b µπορεί να γίνει, αν το επιθυµούµε, INTEGER : : b a, & Με άλλα λόγια, ο χαρακτήρας `& στο τέλος µιας γραµµής υποδηλώνει ότι αυτή συνεχίζεται στην επόµενη (και αποτελούν µία εντολή). Οι πρώτες γραµµές µετά το PROGRAM onoma συγκεντρώνουν τις δηλώσεις όλων των ποσοτήτων. Η πρώτη γραµµή από αυτές (καλό είναι να) είναι η IMPLICIT NONE. Αφού τελειώσουν οι δηλώσεις, ακολουθούν οι υπόλοιπες εντολές, µε τη σειρά που ϑέλουµε να εκτελεστούν. Πριν ή µετά το κυρίως πρόγραµµα µπορούµε να έχουµε ορισµούς συναρτήσεων, υπορουτινών και modules. Αυτοί εκτελούνται µόνο αν χρησιµοποιηθούν από το κυρίως πρόγραµµα Εντολή STOP Το πρόγραµµα τελειώνει την εκτέλεσή του κανονικά όταν συναντήσει το END PROGRAM. Εναλλακτικά, µπορούµε να δώσουµε την εντολή STOP σε οποιοδήποτε σηµείο του. Η εκτέλεσή της προκαλεί την διακοπή του προγράµµατος και εκτύπωνεται σχετικό µήνυµα. Το STOP µπορεί να ακολουθείται από ένα σύνολο χαρακτήρων εντός εισαγωγικών, απλών ή διπλών, ή ένα ακέραιο αριθµό µε έως 5 ψηφία. Σε τέτοια περίπτωση, το πρόγραµµα κατά τη διακοπή µπορεί να εκτυπώσει ό,τι ακολουθεί το STOP. Με αυτόν τον τρόπο µπορούµε να διακρίνουµε ποιο STOP (αν έχουµε πολλά) προκάλεσε τη διακοπή. 1.9 Ασκήσεις 1. Ο αλγόριθµος του Gauss για τον υπολογισµό της ηµεροµηνίας του Πάσχα των Ορθοδόξων σε συγκεκριµένο έτος (µέχρι το 2099) είναι ο εξής : Θεωρούµε ως δεδοµένο εισόδου το έτος που µας ενδιαφέρει. Ορίζουµε κάποιες ακέραιες ποσότητες σύµφωνα µε τους ακόλουθους τύπους : (α ) r1 = υπόλοιπο διαίρεσης του έτους µε το 19. (ϐ ) r2 = υπόλοιπο διαίρεσης του έτους µε το 4. (γ ) r3 = υπόλοιπο διαίρεσης του έτους µε το 7. (δ ) ra = 19 r (ε ) r4 = υπόλοιπο διαίρεσης του ra µε το 30. (ϝ ) rb = 2(r2 + 2r3 + 3r4). (Ϲ ) r5 = υπόλοιπο διαίρεσης του rb µε το 7. (η ) rc = r4 + r5 + 3.

17 1.9. ΑΣΚ ΗΣΕΙΣ 11 Το rc είναι οι ηµέρες µετά την πρώτη Απριλίου του συγκεκριµένου έτους, που µεσολαβούν µέχρι το Πάσχα. [Αν το rc είναι µεγαλύτερο από 30, τότε το Πάσχα είναι (rc-30) Μαΐου.] Γράψτε σε κώδικα Φορτραν 90 τον παραπάνω αλγόριθµο. Φροντίστε να τυπώνει κατάλληλο µήνυµα και τον αριθµό rc αφού τον υπολογίσει.

18 12 ΙΆΛΕΞΗ 1. ΕΙΣΑΓΩΓ Η

19 ιάλεξη Αλλοι ενσωµατωµένοι τύποι Παρακάτω ϑα παρουσιάσουµε τους υπόλοιπους ενσωµατωµένους τύπους που παρέχει η Fortran, πέρα από τους INTEGER, REAL, DOUBLE PRECISION Τύπος χαρακτήρα Για την αναπαράσταση ποσοτήτων που οι δυνατές τιµές τους είναι χαρακτήρες ή σειρές χαρακτήρων, η Fortran παρέχει τον τύπο CHARACTER. ήλωση µιας µεταβλητής χαρακτήρα µε όνοµα π.χ. ch γίνεται µε την ακόλουθη εντολή : CHARACTER : : ch Οι τιµές που µπορεί να πάρει είναι µονοί χαρακτήρες εντός απλών ( ) ή διπλών (") εισαγωγικών : ch = a ch = D ch = "R" Για την περιγραφή σειράς χαρακτήρων, η δήλωση περιλαµβάνει το µέγιστο δυνατό µήκος των σειρών που πρόκειται να αναπαραστήσουµε. Για παράδειγµα, η σειρά "This is a message" αποτελείται από 17 χαρακτήρες και, εποµένως, µπορεί να ανατεθεί σε µεταβλητή τύπου CHARACTER µε τουλάχιστον αυτό το µήκος. Η κατάλληλη δήλωση είναι CHARACTER (17) : : ch ch = " This i s a message" Λογικός τύπος Μεταβλητή λογικού τύπου (LOGICAL) είναι κατάλληλη για την αναπαράσταση ποσοτήτων που µπορούν να πάρουν δύο τιµές (π.χ. ναι/όχι, αληθές/ψευδές,... ). Η δήλωση τέτοιας µεταβλητής, µε όνοµα π.χ. a, γίνεται ως εξής : LOGICAL : : a Οι τιµές που µπορεί να πάρει είναι.true. ή.false.. σταθερής τιµής.true. στην a γίνεται ως εξής a =.TRUE. Η ανάθεση π.χ. της 13

20 14 ΙΆΛΕΞΗ Μιγαδικός Τύπος Η Fortran υποστηρίζει µε τον ενσωµατωµένο τύπο COMPLEX την περιγραφή µιγαδικών µεταβλητών και σταθερών. Η δήλωση είναι ως εξής COMPLEX : : z Εσωτερικά, για τον compiler, αποτελείται από δύο πραγµατικούς αριθµούς, α- πλής ακρίβειας, που αντιστοιχούν στο πραγµατικό και ϕανταστικό µέρος. Στη Fortran 77 δεν υποστηρίζεται µιγαδικός τύπος διπλής ακρίβειας. Αυτός έχει εισαχθεί στη Fortran 90 αλλά πρέπει να χρησιµοποιηθεί ο δικός της τρόπος (2.2) για τον προσδιορισµό του. ηµιουργία µιγαδικής ποσότητας Ενας αριθµός µιγαδικού τύπου στη Fortran µπορεί να πάρει τιµή µε ανάθεση µιγαδικής σταθεράς, δηλαδή, δύο πραγµατικών αριθµών σε ένα Ϲεύγος παρενθέσεων, µε (,) µεταξύ τους. Ο πρώτος αριθµός είναι το πραγ- µατικό µέρος ενώ ο δεύτερος είναι το ϕανταστικό : COMPLEX : : z z = (1.2, 4.56)! z = i 4.56 Αν ανατεθεί πραγµατική ή ακέραια ποσότητα ϑα γίνει µετατροπή συµπλη- ϱώνοντας µε το 0 το ϕανταστικό µέρος COMPLEX : : z z = 2! z = i 0.0 z = 2.3! z = i 0.0 Με ανάθεση έκφρασης που έχει συνολικά µιγαδική τιµή (ή πραγµατική ή ακέραια, για τις οποίες ϑα προηγηθεί µετατροπή): COMPLEX : : z, z1, z2 z1 = 3! z1 = i 0.0 z2 = (4.6, 4.2)! z2 = 4.6 i 4.2 z = z1 + z ! z = 12.7 i 4.2 Στην επόµενη παράγραφο ϑα δούµε περισσότερα για τις εκφράσεις. Με ανάγνωση µιγαδικής σταθεράς από το πληκτρολόγιο ή από αρχείο. Π.χ. ο κώδικας COMPLEX : : z READ, z αναµένει να του δώσουµε (1.6, -3.8)

21 2.1. ΆΛΛΟΙ ΕΝΣΩΜΑΤΩΜ ΕΝΟΙ Τ ΥΠΟΙ 15 (περιλαµβάνονται το κόµµα και οι παρενθέσεις). Με τη χρήση της ενσωµατωµένης συνάρτησης CMPLX( ). Αυτή δέχεται δύο πραγµατικές ποσότητες και δηµιουργεί µιγαδικό αριθµό µε πραγµατικό µέρος την πρώτη ποσότητα και ϕανταστικό τη δεύτερη COMPLEX : : z REAL : : x, y x = 3.4 y = 9.1 z = CMPLX( x, y )! z = 3.4 i 9.1 Προσέξτε ότι η έκφραση z = ( x, y ) που ίσως να περίµενε κανείς ότι ϑα έκανε σωστά τη δηµιουργία είναι λάθος. Εκφράσεις µε µιγαδικές ποσότητες Οι αριθµητικοί τελεστές +,,, /, εκτελούν τις αναµενόµενες πράξεις από τα µαθηµατικά ο τελευταίος συµβολίζει την ύψωση σε δύναµη. Υπενθυµίζουµε ότι αν z1 = α + iβ, z2 = γ + iδ, τότε z1 z2 = (αγ βδ) + i(αδ + βγ). Αυτήν ακριβώς την πράξη εκτελεί ο τελεστής µεταξύ µιγαδικών ποσοτήτων στη Fortran. Αντίστοιχα ισχύουν και για τον τελεστή /. Κατ επέκταση όσων είπαµε στις 1.3, 1.6, ένας µιγαδικός που συµµετέχει σε µία πράξη (δεξιά ή αριστερά ενός τελεστή), προκαλεί τη µετατροπή σε µιγαδικό και του άλλου µέρους της πράξης, προτού αυτή εκτελεστεί. Επίσης, ανάθεση του µιγαδικού αποτελέσµατος µιας έκφρασης προκαλεί µετατροπή της τιµής στον τύπο της µεταβλητής στην οποία ανατίθεται. Οταν η µεταβλητή στην οποία ανατίθεται είναι πραγµατική, η µετατροπή συνίσταται στην αποκοπή του ϕανταστικού τµήµατος : COMPLEX : : z REAL : : x z = (2.3,4.5)! z = i 4.5 x = z! x = 2.3 Οταν η µεταβλητή στην οποία ανατίθεται είναι ακέραια, η µετατροπή που γίνεται είναι η αποκοπή του ϕανταστικού τµήµατος και η αποκοπή του δεκαδικού τµήµατος του πραγµατικού µέρους : COMPLEX : : INTEGER : : z i

22 16 ΙΆΛΕΞΗ 2. z = (2.3,4.5)! z = i 4.5 i = z! i = 2 Ολες οι ενσωµατωµένες συναρτήσεις που ϑα δούµε παρακάτω ισχύουν και για µιγαδικούς µε την αναµενόµενη από τα µαθηµατικά συµπεριφορά. Εξαγωγή πραγµατικού/φανταστικού µέρους Συζυγής Μέτρο Το πραγµατικό µέρος ενός µιγαδικού αριθµού υπολογίζεται µε τη δράση της ενσωµατωµένης συνάρτησης REAL( ) ϐάζοντας ως όρισµα (ποσότητα µεταξύ των παρενθέσεων) τον µιγαδικό αριθµό : COMPLEX : : REAL : : x z z = (1.2, 8.7)! z = 1.2 i 8.7 x = REAL( z )! x = 1.2 Το ϕανταστικό µέρος εξάγεται µε τη δράση της συνάρτησης AIMAG( ): COMPLEX : : REAL : : x z z = (1.2, 8.7)! z = 1.2 i 8.7 x = AIMAG( z )! x = 8.7 Ο µιγαδικός συζυγής ενός αριθµού παράγεται µε τη δράση της συνάρτησης CONJG( ): COMPLEX : : z1, z2 z1 = (1.2, 8.7)! z1 = 1.2 i 8.7 z2 = CONJG( z1 )! z2 = i 8.7 Το (πραγµατικό) µέτρο z ενός µιγαδικού υπολογίζεται µε τη συνάρτηση ABS( ): COMPLEX : : z REAL : : norm z = (1.2, 8.7)! z = 1.2 i 8.7 norm = ABS( z )! norm = ( ) Ρητή µετατροπή µεταξύ αριθµητικών τύπων Υπάρχουν περιπτώσεις που χρειάζεται να κάνουµε ϱητά µετατροπή ποσότητας από ένα τύπο σε άλλον και να µη ϐασιζόµαστε στη µετατροπή που γίνεται κατά την ανάθεση. Π.χ. προσέξτε τον παρακάτω κώδικα REAL : : x INTEGER : : i, j i = 3 j = 2

23 2.2. ΠΡΟΣ ΙΟΡΙΣΜ ΟΣ ΤΟΥ Τ ΥΠΟΥ ΣΤΗ FORTRAN x = i / j! x = 1.0 Η µεταβλητή x δεν αποκτά την επιθυµητή τιµή (1.5) καθώς της ανατίθεται το πηλίκο της διαίρεσης των δύο ακεραίων αριθµών. Η διαίρεση ϑα γίνει σωστά αν µετατρέψουµε τους ακεραίους που συµµετέχουν σε πραγµατικούς µε κλήση της κατάλληλης συνάρτησης REAL : : x INTEGER : : i, j i = 3 j = 2 x = REAL( i ) /REAL( j )! x = 1.5 Η ϱητή µετατροπή αρκεί να γίνει στον ένα από τους δύο ο άλλος ϑα µετατραπεί αυτόµατα στον τύπο του έτερου µέλους. Οι συναρτήσεις ϱητής µετατροπής της Fortran είναι οι εξής : REAL( ), DBLE( ), INT( ), CMPLX( ). έχονται µεταξύ των παρενθέσεων µία ποσότητα οποιουδήποτε αριθµητικού τύπου (INTEGER, REAL, DOUBLE PRECISION, COMPLEX) και επιστρέφουν αντίστοιχα : REAL, DOUBLE PRECISION, INTEGER, COMPLEX. Η µετατροπή γίνεται σύµφωνα µε όσα έχουµε αναφέρει για την ανάθεση στους οµώνυµους τύπους. 2.2 Προσδιορισµός του τύπου στη Fortran 90 Στα προηγούµενα έχουµε παρουσιάσει όλους τους στοιχειώδεις τύπους της Fortran για την αναπαράσταση ακεραίων, πραγµατικών, µιγαδικών, χαρακτήρων και λογικών ποσοτήτων. Η Fortran 90 παρέχει τουλάχιστον δύο τύπους για πραγ- µατικές ποσότητες, αυτούς που συνήθως χαρακτηρίζουµε ως απλής και διπλής ακρίβειας. Στη Fortran 77 αυτοί είναι οι REAL και DOUBLE PRECISION αντίστοιχα. Η Fortran 90 τους διατήρησε, εισήγαγε όµως ένα πιο γενικό µηχανισµό για την επιλογή του επιθυµητού τύπου. Αυτόν ϑα παρουσιάσουµε παρακάτω. Η επιλογή του πραγµατικού τύπου στη Fortran 90 γίνεται κατά τη δήλωση ως εξής : REAL ( prc ) : : a Με την παραπάνω εντολή, το a ορίζεται ως πραγµατική µεταβλητή µε είδος (kind) prc. Η ποσότητα εντός των παρενθέσεων είναι µια ακέραια σταθερή ποσότητα, µε όνοµα της επιλογής µας. Προφανώς, προτού τη χρησιµοποιήσουµε πρέπει να την έχουµε ορίσει και να της έχουµε αποδώσει τιµή. Η επιλογή του είδους του πραγµατικού τύπου, η τιµή δηλαδή της ποσότητας prc στο συγκεκριµένο παράδειγµα, γίνεται µε έναν από τους ακόλουθους τρόπους : µε τη χρήση της ενσωµατωµένης συνάρτησης SELECTED_REAL_KIND(). Ως όρισµα τής δίνουµε το πόσα ψηφία (στο δεκαδικό σύστηµα) επιθυµούµε να έχουµε σωστά. Π.χ. INTEGER, PARAMETER : : prc = SELECTED_REAL_KIND( 1 2)

24 18 ΙΆΛΕΞΗ 2. Στην παραπάνω δήλωση ορίσαµε µια ακέραια σταθερά µε όνοµα prc και της δώσαµε την κατάλληλη τιµή για να έχουµε πραγµατικούς µε τουλάχιστον 12 ψηφία σωστά (όταν τη χρησιµοποιήσουµε σε δήλωση πραγµατικού για τον προσδιορισµό του είδους του). µε τη χρήση της ενσωµατωµένης συνάρτησης KIND(). Ως όρισµα τής δίνουµε έναν πραγµατικό αριθµό ή πραγµατική ποσότητα και µας επιστρέφει το είδος του. Εποµένως η δήλωση INTEGER, PARAMETER : : prc = KIND( 1. 0D0) αποδίδει στη σταθερά prc το είδος των πραγµατικών αριθµών διπλής α- κρίβειας. Συνοψίζοντας : επιλέγουµε πρώτα το είδος του πραγµατικού αριθµού που ϑέλουµε, είτε µε το πόσα σωστά ψηφία επιθυµούµε ή δίνοντας το είδος άλλου πραγµατικού αριθµού. Κατόπιν, ορίζουµε τους δικούς µας πραγµατικούς αριθ- µούς συµπληρώνοντας στη δήλωση το REAL µε το επιθυµητό είδος σε παρένθεση. Συνήθης εφαρµογή των παραπάνω είναι η εξής : INTEGER, PARAMETER : : prc = SELECTED_REAL_KIND( 1 2) REAL ( prc ) : : c ή INTEGER, PARAMETER : : prc = KIND( 1. 0D0) REAL ( prc ) : : b Οι παραπάνω εντολές ορίζουν τη µεταβλητή b ως πραγµατική ποσότητα µε είδος ίδιο µε αυτό του αριθµού 1.0D0, δηλαδή γίνεται διπλής ακρίβειας. Ανάλογα, η µεταβλητή c είναι πραγµατική µε είδος κατάλληλο για να έχουµε τουλάχιστον 12 σωστά ψηφία. Προσέξτε ότι αν Ϲητήσουµε πολύ µεγάλη ακρίβεια, η τιµή που ϑα πάρει το prc δε ϑα αντιστοιχεί σε κανένα είδος, οπότε ϑα προκύψει λάθος κατά τη µεταγλώττιση. Τα παραπάνω ισχύουν και για τους υπόλοιπους ενσωµατωµένους τύπους. Ουσιαστική χρησιµότητα έχει µόνο η δυνατότητα να ορίσουµε µιγαδικούς αριθµούς διπλής ακρίβειας : INTEGER, PARAMETER : : prc = KIND( 1. 0D0) COMPLEX ( prc ) : : z Με τις παραπάνω εντολές ο z είναι µιγαδική µεταβλητή που αποτελείται από δύο πραγµατικούς διπλής ακρίβειας Προσδιορισµός του είδους αριθµητικών σταθερών Στη Fortran 90 ισχύουν όσα αναφέραµε στην 1.4 για τις πραγµατικές σταθε- ϱές. Ετσι, ο αριθµός 340 γράφεται ως 3.4E2 ή αν ϑέλουµε να είναι απλής ακρίβειας ενώ γράφεται ως 3.4D2 ώστε να είναι διπλής ακρίβειας. Γενικότερα, αν επιθυµούµε να έχουµε τον αριθµό ως πραγµατικό µε είδος prc, τον γράφουµε ως εξής

25 2.3. ΕΝΣΩΜΑΤΩΜ ΕΝΕΣ ΑΡΙΘΜΗΤΙΚ ΕΣ ΣΥΝΑΡΤ ΗΣΕΙΣ _prc ή, ισοδύναµα, 3.4E2_prc Συνήθης εφαρµογή των παραπάνω είναι η εξής : INTEGER, PARAMETER : : prc = KIND( 1. 0D0) REAL ( prc ) : : a, b REAL ( prc ), PARAMETER : : pi = _prc a = 2.4_prc b = a + 5.6E2_prc Ενα πολύ σηµαντικό πλεονέκτηµα του νέου τρόπου επιλογής του είδους, αν εφαρµοστεί συστηµατικά, είναι ότι η αλλαγή της τιµής µιας ποσότητας, της στα- ϑεράς που αντιστοιχεί στο είδος, αλλάζει σε όλο τον κώδικά µας την ακρίβεια των υπολογισµών. 2.3 Ενσωµατωµένες αριθµητικές συναρτήσεις Εκτός από αυτές (AIMAG( ), CONJG( ), CMPLX( )) που παρουσιάσαµε στην 2.1.3, η Fortran παρέχει µια πληθώρα αριθµητικών συναρτήσεων. Οι πιο χρήσι- µες παρουσιάζονται στον Πίνακα 2.1. Προσέξτε ότι υπάρχουν συναρτήσεις που δέχονται πραγµατικό όρισµα και επιστρέφουν αριθµό µε τον ίδιο τύπο µε το όρισµα (πραγµατικό) και ίδιας ακρίβειας. Αν, εποµένως, δεχθούν όρισµα τύπου DOUBLE PRECISION επιστρέφουν DOUBLE PRECISION. Παραδείγµατα : Ενα πρόγραµµα Fortran που υπολογίζει και τυπώνει την τετραγωνική ϱίζα ενός πραγµατικού αριθµού που εισάγεται από τον χρήστη είναι το ακόλου- ϑο : PROGRAM riza IMPLICIT NONE DOUBLE PRECISION : : x PRINT, "Dwse ena pragmatiko " READ (, ) x PRINT, "H t e t. riza einai " WRITE (, ) SQRT( x ) END PROGRAM riza Ο υπολογισµός του ηµιτόνου της γωνίας που δίνει ο χρήστης µπορεί να γίνει µε το εξής πρόγραµµα

26 20 ΙΆΛΕΞΗ 2. Συνάρτηση Επιστρεφόµενη τιµή Παρατηρήσεις abs(x) Απόλυτη τιµή του ορίσµατος. ceiling(x) Ο µικρότερος ακέραιος που δεν είναι µικρότερος από το όρισµα. floor(x) Ο µεγαλύτερος ακέραιος που δεν είναι µεγαλύτερος από το όρισµα. int(x) Το ακέραιο µέρος του ορίσµατος ως ακέραιος. nint(x) Η πλησιέστερη στο όρισµα ακέραια τιµή ως ακέραιος. aint(x) Το ακέραιο µέρος του ορίσµατος ως πραγµατικός. anint(x) Η πλησιέστερη στο όρισµα ακέραια τιµή ως πραγµατικός. real(x) Το όρισµα ως πραγµατικός απλής ακρίβειας. Αν το όρισµα είνα µιγαδικός επιστρέφεται το πραγµατικό του µέρος. dble(x) Το όρισµα ως πραγµατικός διπλής ακρίβειας. conjg(x) Ο µιγαδικός συζυγής του ορίσµατος. aimag(x) Το ϕανταστικό µέρος του (µιγαδικού) ορίσµατος. sqrt(x) Η τετραγωνική ϱίζα του ορίσµατος. Το όρισµα πρέπει να είναι µη αρνητικό. cos(x) Συνηµίτονο. Το όρισµα σε rad. sin(x) Ηµίτονο. Το όρισµα σε rad. tan(x) Εφαπτοµένη. Το όρισµα σε rad. acos(x) Τόξο συνηµιτόνου. Το όρισµα στο [ 1 : 1], το αποτέλεσµα στο [0 : π] σε rad. asin(x) Τόξο ηµιτόνου. Το όρισµα στο [ 1 : 1], το αποτέλεσµα στο [ π/2 : π/2] σε rad. atan(x) Τόξο εφαπτοµένης. Το αποτέλεσµα στο [ π/2 : π/2] σε rad. atan2(y, x) Τόξο εφαπτοµένης arctan(y/x). Τα πρόσηµα των ορισµάτων καθορίζουν το τεταρτηµόριο. Το αποτέλεσµα στο ( π : π] σε rad. cosh(x) Υπερβολικό συνηµίτονο. sinh(x) Υπερβολικό ηµίτονο. tanh(x) Υπερβολική εφαπτοµένη. exp(x) Εκθετικό. log(x) Φυσικός λογάριθµος (ln). Πρέπει το όρισµα να είναι ϑετικό. log10(x) εκαδικός λογάριθµος (log). Πρέπει το όρισµα να είναι ϑετικό. mod(x,y) Το υπόλοιπο της διαίρεσης x/y. Επιστρέφει το a int(a/p) p. Τα a,p ίδιου τύπου, ακέραιου ή πραγµατικού. max(x1,x2,...) Ο µεγαλύτερος από τα δύο ή περισσότερα ορίσµατα. Τα ορίσµατα πρέπει να είναι ίδιου τύπου. min(x1,x2,...) Ο µικρότερος από τα δύο ή περισσότερα ορίσµατα. Τα ορίσµατα πρέπει να είναι ίδιου τύπου. dim(x,y) max(x y,0.0). Τα ορίσµατα πρέπει να είναι ίδιου τύπου, ακέραιου ή πραγµατικού. Πίνακας 2.1: Ενσωµατωµένες συναρτήσεις της Fortran.

27 2.4. ΣΧΕΣΙΑΚΟ Ι ΚΑΙ ΛΟΓΙΚΟ Ι ΤΕΛΕΣΤ ΕΣ 21 PROGRAM imitono IMPLICIT NONE DOUBLE PRECISION : : theta, x PRINT, "Dwse ena pragmatiko " READ (, ) theta x = SIN ( theta ) PRINT, " To imitono einai " WRITE (, ) x END PROGRAM imitono Εντός των παρενθέσεων που ακολουθούν το όνοµα της συνάρτησης µπορεί να εµφανίζεται µία σταθερά ή µεταβλητή ή οποιαδήποτε πολύπλοκη έκφραση (που µπορεί να περιλαµβάνει άλλες συναρτήσεις), αρκεί να µπορεί να µετατραπεί στον κατάλληλο τύπο για το όρισµα, όπως αυτός προσδιορίζεται στον Πίνακα 2.1. Προσέξτε ότι οι τριγωνοµετρικές συναρτήσεις δέχονται ως όρισµα ή επιστρέφουν γωνία εκφρασµένη σε ακτίνια ( rad). 2.4 Σχεσιακοί και Λογικοί Τελεστές Η Fortran υποστηρίζει τη σύγκριση αριθµητικών ποσοτήτων (ή ποσοτήτων τύπου χαρακτήρα) µε τη ϐοήθεια των σχεσιακών τελεστών (Πίνακας 2.2). Το απο- == ίσο /= άνισο > µεγαλύτερο < µικρότερο >= µεγαλύτερο ή ίσο <= µικρότερο ή ίσο Πίνακας 2.2: Σχεσιακοί τελεστές στη Fortran. τέλεσµα της σύγκρισης είναι λογική ποσότητα και εποµένως έχει τιµή.true. ή.false.. Π.χ. το 3.0>2.0 είναι.true. ενώ το 2/=1+1 είναι.false.. Οι αριθµητικοί τελεστές έχουν µεγαλύτερη προτεραιότητα από τους σχεσιακούς. Προσέξτε ότι, όπως και στα µαθηµατικά, µόνο οι τελεστές ==,/= έχουν νόηµα για µιγαδικές ποσότητες. Για τη σύνδεση λογικών εκφράσεων η Fortran παρέχει τους λογικούς τελεστές.not.,.and.,.or.,.eqv.,.neqv.. Ολοι εκτός από τον πρώτο, δρουν µεταξύ δύο λογικών ποσοτήτων ή εκφράσεων και σχηµατίζουν µια νέα λογική ποσότητα : Ο τελεστής.not. δρα στη λογική έκφραση που τον ακολουθεί και της αλλάζει την τιµή : Το.NOT. (4 > 3) είναι.false. Το.NOT. (4 < 3) είναι.true. Η λογική έκφραση που σχηµατίζεται συνδέοντας δύο άλλες εκφράσεις µε τον τελεστή.and. έχει τιµή.true. µόνο αν και οι δύο ποσότητες είναι.true.. Σε άλλη περίπτωση είναι.false.:

28 22 ΙΆΛΕΞΗ 2. Το (4 > 3).AND. (3.0 > 2.0) είναι.true. Το (4 < 3).AND. (3.0 > 2.0) είναι.false. Ο τελεστής.or. µεταξύ δύο λογικών εκφράσεων σχηµατίζει µια νέα ποσότητα µε τιµή.true. αν έστω και µία από τις δύο ποσότητες είναι.true., αλλιώς είναι.false.: Το (4 > 3).OR. (3.0 < 2.0) είναι.true. Το (4 < 3).OR. (3.0 < 2.0) είναι.false. Η λογική έκφραση που σχηµατίζεται συνδέοντας δύο άλλες εκφράσεις µε τον τελεστή.eqv. έχει τιµή.true. αν οι δύο ποσότητες έχουν την ίδια τιµή σε άλλη περίπτωση είναι.false.: Το (4 < 3).EQV. (3.0 < 2.0) είναι.true. Το (4 < 3).EQV. (3.0 > 2.0) είναι.false. Ο τελεστής.neqv. µεταξύ λογικών εκφράσεων σχηµατίζει ποσότητα µε τιµή.true. αν οι δύο ποσότητες έχουν διαφορετική τιµή αλλιώς είναι.false.: Το (4 < 3).NEQV. (3.0 < 2.0) είναι.false. Το (4 < 3).NEQV. (3.0 > 2.0) είναι.true. Παρατηρείστε ότι οι δύο τελευταίοι τελεστές,.eqv. και.neqv., ουσιαστικά ελέγχουν την ισότητα ή ανισότητα λογικών ποσοτήτων. Μια έκφραση µε σχεσιακούς ή λογικούς τελεστές της Fortran µπορεί να ανατεθεί σε µεταβλητές τύπου LOGICAL: LOGICAL : : INTEGER : : a, b i, max... a = 3==2 b = ( ( i > 0).AND. ( i < max) ) 2.5 Εντολές Ελέγχου IF Η εντολή IF είναι µία από τις ϐασικές δοµές διακλάδωσης κάθε γλώσσας προγραµµατισµού. Ελέγχει τη ϱοή του κώδικα ανάλογα µε τη (λογική) τιµή µιας συνθήκης, δηλαδή µιας ποσότητας ή έκφρασης λογικού τύπου. Στη Fortran συντάσσεται ως εξής : IF ( condition ) THEN // block A ELSE // block B END IF

29 2.5. ΕΝΤΟΛ ΕΣ ΕΛ ΕΓΧΟΥ 23 Εάν η συνθήκη (condition), είναι αληθής, εκτελούνται οι εντολές του τµήµατος Α. Αν η συνθήκη είναι ψευδής, τότε εκτελείται το block των εντολών µεταξύ του ELSE και του END IF (τµήµα Β). Το κάθε τµήµα µπορεί να αποτελείται από καµία, µία, ή περισσότερες εντολές. Π.χ. IF ( val > 0.0d0 ) THEN PRINT, "The number i s positive " max = val ELSE PRINT, "The number i s not positive " END IF Το κάθε τµήµα µπορεί να περιλαµβάνει οποιεσδήποτε άλλες εντολές και ϐέβαια άλλο IF. Παρατηρήστε ότι η στοίχιση των εντολών υποδηλώνει ότι ϐρίσκονται στο εσωτερικό µιας (σύνθετης) εντολής. εν είναι υποχρεωτική αλλά διευκολύνει τον προγραµµατιστή στην κατανόηση του κώδικα. Στην περίπτωση που το τµήµα µετά το ELSE είναι κενό, η λέξη ELSE µπορεί να παραληφθεί : IF ( condition ) THEN END IF Εναλλακτική σύνταξη της περίπτωσης χωρίς τµήµα ELSE και µε µία µόνο εντολή στο σώµα του IF, δηλαδή της IF ( condition ) THEN "command" END IF είναι η ακόλουθη : IF ( condition ) "command" Παρατηρήστε ότι παραλείπονται τα THEN, END IF. Αναφέραµε ότι στο σώµα ενός IF µπορεί να περιέχεται άλλο IF, π.χ. IF ( cond1 ) THEN... ELSE IF ( cond2 ) THEN... ELSE... END IF END IF Συντετµηµένη µορφή της παραπάνω δοµής είναι η IF ( cond1 ) THEN... ELSE IF ( cond2 ) THEN...

30 24 ΙΆΛΕΞΗ 2. ELSE... END IF Γενικότερα, µπορούµε να έχουµε µια ακολουθία από ELSE IF: IF ( cond1 ) THEN... ELSE IF ( cond2 ) THEN... ELSE IF ( cond3 ) THEN... ELSE IF ( cond4 ) THEN... ELSE... END IF Στη συγκεκριµένη µορφή του IF, γίνεται έλεγχος των συνθηκών cond1, cond2,... διαδοχικά. Αν κάποια ικανοποιείται, εκτελούνται οι εντολές που συνδέονται µε τη συγκεκριµένη συνθήκη. Αν δεν ικανοποιείται καµµία, εκτελούνται οι εντολές µετά το ELSE. Η δοµή αυτή, µε τα πολλαπλά ELSE IF, δυσκολεύει την κατανόηση του κώδικα και γι αυτό είναι καλό να αποφεύγεται. Σε κάποιες περιπτώσεις η χρήση της δοµής SELECT CASE ( 2.5.2) είναι προτιµότερη SELECT CASE Η δοµή SELECT CASE αποτελεί κάποιες ϕορές, µια πιο κοµψή και κατανοητή εκδοχή πολλαπλών εσωκλειόµενων ή διαδοχικών IF. Η σύνταξή της είναι : SELECT CASE ( i ) CASE ( value1 )... CASE ( value2 ) CASE ( valuen )... CASE default... END SELECT Η τιµή ελέγχου i πρέπει να είναι ακέραιου τύπου (ή λογικού ή χαρακτήρα). Οι τιµές value1, value2,...,valuen πρέπει να είναι σταθερές αντίστοιχου τύπου και διακριτές µεταξύ τους (να µην επαναλαµβάνονται). Κατά την εκτέλεση, η τιµή ελέγχου i συγκρίνεται µε κάθε µία από τις value1, value2,...,valuen. Αν η τιµή της περιλαµβάνεται σε αυτές, τότε εκτελούνται οι εντολές που ακολουθούν το αντίστοιχο CASE. Οταν αυτές εξαντληθούν, η εκτέλεση συνεχίζει µε την πρώτη εντολή µετά το END SELECT. Αν δεν ϐρεθεί η τιµή της στις value1, value2,...,valuen εκτελείται το τµήµα των εντολών του default, αν υπάρχει. Αλλιώς, η εκτέλεση συνεχίζει µετά το END SELECT.

31 2.5. ΕΝΤΟΛ ΕΣ ΕΛ ΕΓΧΟΥ 25 Οι σχετικές ϑέσεις των CASE µπορούν να είναι οποιεσδήποτε. Παράδειγµα : Εστω ότι σε ένα παιχνίδι ϑέλουµε να αντιστοιχήσουµε ένα αριθµό που ϑα πληκτρολογεί ο χρήστης µε την κατεύθυνση στην οποία ϑα κινηθεί ο ήρωας του παιχνιδιού. Εστω ακόµη ότι η συσχέτιση είναι 0 επάνω, 1 κάτω, 2 αριστερά, 3 δεξιά, ενώ για άλλη τιµή να µένει ακίνητος. Μπορούµε να γράψουµε τον εξής κώδικα INTEGER : : i CHARACTER ( 5 ) : : direction READ, i SELECT CASE ( i ) CASE ( 0 ) direction = "up" CASE ( 1 ) direction = "down" CASE ( 2 ) direction = " l e f t " CASE ( 3 ) direction = " right " CASE default direction = " none" END SELECT PRINT, " The direction i s ", direction Οταν επιθυµούµε να εκτελεστούν οι ίδιες εντολές για πολλές τιµές του i, µπο- ϱούµε να τις οµαδοποιήσουµε. Π.χ. έστω ότι οι αριθµοί (0, 4, 8) είναι ισοδύναµοι και αντίστοιχα οι (1, 5, 9), (2, 6) και (3, 7). Ο κώδικας δεν επαναλαµβάνεται αν τον τροποποιήσουµε ως εξής SELECT CASE ( i ) CASE (0,4,8) direction = "up" CASE (1,5,9) direction = "down" CASE (2,6) direction = " l e f t " CASE (3,7) direction = " right " CASE default direction = " none" END SELECT Τέλος, στην περίπτωση που έχουµε συνεχόµενες επιθυµητές τιµές, µπορούµε να τις δώσουµε µε τη µορφή χαµηλή τιµή : υψηλή τιµή Ετσι, ένα CASE µε τη µορφή

32 26 ΙΆΛΕΞΗ 2. CASE ( 0 : 9 )... εκτελείται όταν η τιµή ελέγχου είναι στο διάστηµα [0, 9]. Αν παραληφθεί το ένα από τα δύο όρια ϑεωρείται ότι έχουµε ϐάλει το µικρότερο ή µεγαλύτερο (ανάλογα) αριθµό της Fortran. Π.χ. SELECT CASE ( i ) CASE (: 1)...! commands f o r i < 0 CASE ( 0 )...! commands f o r i == 0 CASE ( 1 : )...! commands f o r i > 0 END SELECT

33 ιάλεξη 3 Πίνακες Εντολές επανάληψης Χρησιµοποιώντας τους ϑεµελιώδεις, ενσωµατωµένους τύπους που είδαµε ως τώρα, µπορούµε να ορίσουµε άλλους, σύνθετους, µε κατάλληλο τρόπο ώστε να αναπαριστούν έννοιες του προβλήµατός µας. Ετσι για οµάδα σχετιζόµενων ποσοτήτων ίδιου τύπου χρησιµοποιούµε πίνακα ( array) ενώ για σύνολο µεταβλητών διαφορετικού (ή και ίδιου) τύπου κατάλληλη είναι η δοµή TYPE που ϑα περιγράψουµε σε επόµενο κεφάλαιο. 3.1 Πίνακας Συχνά υπάρχει η ανάγκη να χρησιµοποιήσουµε ένα σύνολο σχετιζόµενων ποσοτήτων µε ίδιο τύπο. Για παράδειγµα, η ϑερµοκρασία ενός τόπου σε µια συγκεκριµένη ηµέρα µπορεί να αναπαρασταθεί µε µια πραγµατική µεταβλητή τι κάνουµε όµως αν επιθυµούµε να αποθηκεύσουµε τις ϑερµοκρασίες ενός µήνα ή ενός έτους; Θα µπορούσαµε να δηλώσουµε και να χρησιµοποιήσουµε 30 ή 365 µεταβλητές, αντιλαµβανόµαστε όµως ότι είναι επίπονη διαδικασία και υπάρχει µεγάλη πιθανότητα για λάθη. Η Fortran, όπως και όλες οι γλώσσες προγραµµατισµού, µας δίνει τη δυνατότητα να τις ορίσουµε όλες µαζί µε µία εντολή. Ετσι, ένα σύνολο 30 πραγµατικών µεταβλητών το αναπαριστούµε µε έναν πραγµατικό πίνακα, µονοδιάστατο, 30 ϑέσεων. Η δήλωση τέτοιου πίνακα µε όνοµα π.χ. temperature γίνεται ως εξής REAL : : temperature (30) ή, ισοδύναµα, REAL, DIMENSION ( 3 0) : : temperature Η δήλωση ενός πίνακα µπορεί να γίνει ταυτόχρονα µε άλλες, απλές, µεταβλητές ή και άλλους πίνακες. Π.χ. η εντολή REAL : : a, b ( 3 ), c (10) δηµιουργεί µια απλή µεταβλητή µε όνοµα a, ένα πίνακα 3 στοιχείων, τον b, και έναν άλλο πίνακα 10 ϑέσεων, τον c, όλα πραγµατικά. Προσέξτε όµως, στον α- κόλουθο κώδικα, την εφαρµογή του δεύτερου τρόπου δήλωσης που είδαµε πιο πάνω : 27

34 28 ΙΆΛΕΞΗ 3. Π ΙΝΑΚΕΣ ΕΝΤΟΛ ΕΣ ΕΠΑΝΆΛΗΨΗΣ INTEGER, DIMENSION (10) : : a, b, c, d ( 4 ) Με την παραπάνω εντολή δηµιουργούµε 4 µονοδιάστατους πίνακες ακεραίων, τους τρεις (a, b, c) µε 10 στοιχεία και τον τέταρτο (d) µε 4. Στις δηλώσεις πινάκων το πλήθος των στοιχείων πρέπει να είναι ακέραια σταθερή ποσότητα, γνωστή κατά τη µεταγλώττιση. Αυτό σηµαίνει ότι εκτός από ακέραιο αριθµό για τη διάσταση, µπορούµε να χρησιµοποιήσουµε ποσότητα που έχει την ιδιότητα PARAMETER, Πρόσβαση Στοιχείων Η πρόσβαση σε κάθε στοιχείο του µονοδιάστατου πίνακα γίνεται χρησιµοποιώντας το όνοµα του πίνακα ακολουθούµενο από ένα ακέραιο αριθµό (ή έκφραση που δίνει ακέραιο) µέσα σε παρενθέσεις, από 1 έως το πλήθος των στοιχείων του πίνακα 1. Ετσι, το πρώτο στοιχείο είναι το temperature(1), το δεύτερο είναι το temperature(2), ενώ το τελευταίο είναι το temperature(30). Με αυτά τα ονόµατα συµµετέχουν σε εκφράσεις. Π.χ., ο µέσος όρος των 3 πρώτων στοιχείων του temperature είναι ο REAL : : mo3 mo3 = ( temperature ( 1 ) + temperature ( 2 ) + temperature ( 3 ) ) / Απόδοση τιµής Απόδοση τιµής σε στοιχείο πίνακα γίνεται µε τους δύο γνωστούς τρόπους : της εντολής ανάθεσης και της εντολής ανάγνωσης από το πληκτρολόγιο (ή αρχείο). Π.χ. DOUBLE PRECISION : : a ( 5 ) a ( 1 ) = 3.4d0 READ (, ) a ( 2 ) Ενας πίνακας µπορεί να πάρει τιµή ως σύνολο µε τους ακόλουθους τρόπους : δίνοντας µεταξύ (/ και /), ποσότητες κατάλληλου τύπου για όλα τα στοιχεία του. Ετσι, ο πραγµατικός µονοδιάστατος πίνακας, 5 στοιχείων, µε όνοµα c, αποκτά τις τιµές 3.0, 4.5, 2.0, 100.0, 0.99 για κάθε στοιχείο του αντίστοιχα, µε την ακόλουθη εντολή ανάθεσης DOUBLE PRECISION : : c ( 5 ) c = (/ 3.0d0, 4.5d0, 2.0d0, 1.0d2, 0.99d0 /) µε ανάθεση άλλου πίνακα της ίδιας διάστασης και πλήθους στοιχείων (ή τµήµατος πίνακα µε αυτά τα χαρακτηριστικά, όπως ϑα δούµε παρακάτω). Π.χ. DOUBLE PRECISION, DIMENSION ( 5 ) : : c, d 1 στις περιπτώσεις που οι δηλώσεις γίνονται µε τον τρόπο που είδαµε.

35 3.1. Π ΙΝΑΚΑΣ 29 c = (/ 3.0d0, 4.5d0, 2.0d0, 1.0d2, 0.99d0 /) d = c µε ανάγνωση από το πληκτρολόγιο ή από αρχείο, ποσοτήτων κατάλληλου πλήθους και τύπου όταν εκτελεστεί η εντολή READ για ολόκληρο τον πίνακα : DOUBLE PRECISION, DIMENSION ( 5 ) : : c READ, c! needs 5 reals µε µετατροπή άλλου πίνακα ίδιας ή διαφορετικής διάστασης χρησιµοποιώντας ενσωµατωµένες συναρτήσεις (RESHAPE( ), SPREAD( ), CSHIFT( )/ EOSHIFT( ), κ.λ.π.). εν ϑα επεκταθούµε περισσότερο σε αυτές Πολυδιάστατος πίνακας Πολύ συχνά σε επιστηµονικούς κώδικες, εµφανίζεται η ανάγκη να αναπαραστήσουµε ποσότητες σε 2 ή 3 διαστάσεις, π.χ. σε ένα καρτεσιανό πλέγµα. Η Fortran παρέχει τη δυνατότητα να ορίσουµε διδιάστατους και, γενικότερα, πολυδιάστατους πίνακες (µέχρι 7 διαστάσεων). Η εντολή δήλωσης ενός πραγµατικού διδιάστατου πίνακα είναι η εξής DOUBLE PRECISION : : a(10,20) ή, ισοδύναµα, DOUBLE PRECISION, DIMENSION (10,20) : : a Το στοιχείο της γραµµής i και στήλης j είναι το a(i, j ). Ο,τι ισχύει για µονοδιάστατους πίνακες µπορεί να γενικευτεί και για τους πολυδιάστατους. 2 Παράδειγµα : Εστω ότι έχουµε τις ϑερµοκρασίες ενός τόπου για κάθε ηµέρα συγκεκριµένου έτους. Αυτές µπορούν να µας δίνονται µε την παρακάτω µορφή Ηµέρα Θερµοκρασία ( C) Οι ηµέρες αριθµούνται από το 1 έως το Για την ακρίβεια, ένας πολυδιάστατος πίνακας αποθηκεύεται εσωτερικά ως µονοδιάστατος ξεκινώντας από τα στοιχεία για τα οποία ο πρώτος δείκτης αλλάζει πιο γρήγορα, κατόπιν ο δεύτερος, κλπ. Ετσι, ένας πίνακας a, 2 3, αποθηκεύεται ως µονοδιάστατος µε διαδοχικά στοιχεία τα a(1,1), a(2,1), a(1,2), a(2,2), a(3,1), a(3,2).

36 30 ΙΆΛΕΞΗ 3. Π ΙΝΑΚΕΣ ΕΝΤΟΛ ΕΣ ΕΠΑΝΆΛΗΨΗΣ Παρατηρήστε ότι για να προσδιορίσουµε µια συγκεκριµένη ϑερµοκρασία πρέπει να γνωρίζουµε σε ποιά γραµµή είναι, δηλ. σε ποιά ηµέρα αναφερόµαστε. Με άλλα λόγια, η πληροφορία µας (οι ϑερµοκρασίες) παραµετροποιείται µε ένα ακέραιο αριθµό. Είναι ϕυσιολογικό, σε πρόγραµµά µας, να αποθηκεύσουµε τις ϑερµοκρασίες σε ένα µονοδιάστατο πίνακα : REAL : : tempr(365) Εναλλακτικά, οι ϑερµοκρασίες µπορεί να µας δίνονται στην ακόλουθη µορφή Η πρώτη γραµµή παραθέτει τις ηµέρες ενός µήνα ενώ η πρώτη στήλη παραθέτει τους µήνες. Παρατηρήστε ότι για να προσδιορίσουµε µια συγκεκριµένη ϑερµοκρασία πρέπει να καθορίσουµε δύο ακέραιους αριθµούς : τον µήνα (γραµµή) και την ηµέρα (στήλη). Εποµένως, σε ένα προγραµµά µας είναι ϕυσιολογικό να χρησιµοποιήσουµε για τις ϑερµοκρασίες ένα διδιάστατο πίνακα 12 31, REAL : : tempr(12,31) που ϑα αποθηκεύει ουσιαστικά την ίδια πληροφορία µε την προηγούµενη πε- ϱίπτωση. Ετσι, η ϑερµοκρασία στις 14 Απριλίου είναι στη ϑέση tempr(4,14) Παρατηρήσεις Ενας πίνακας µπορεί, όπως και κάθε άλλη ποσότητα, να οριστεί ως σταθερή περιλαµβάνοντας στη δήλωση την ιδιότητα PARAMETER, 1.5, µε ταυτόχρονη απόδοση αρχικής (και µόνιµης) τιµής : DOUBLE PRECISION, DIMENSION( 3 ), PARAMETER : : c o e f f i c i e n t s = (/2.0d0, 2.5d0, 4.0d0/) Υπάρχουν περιπτώσεις που το σύνολο των ποσοτήτων που αναπαριστά ο πίνακας έχει καταλληλότερη αρίθµηση, πιο φυσική, που ξεκινά από άλλο αριθµό και όχι το 1. Π.χ. ένας πίνακας που αποθηκεύει τις πρώτες 6 δυνάµεις του 2 (2 0, 2 1, 2 2,...,2 5 ) είναι πολύ πιο ϐολικό να αριθµεί τα στοιχεία του από 0 έως 5. Η κατάλληλη δήλωση αυτού του µονοδιάστατου πίνακα περιλαµβάνει τους αριθµούς ϑέσης του πρώτου και του τελευταίου στοιχείου. Π.χ. INTEGER, PARAMETER : : powersof2 ( 0 : 5 ) = (/1,2,4,8,16,32/) Με την παραπάνω δήλωση, ο πίνακας έχει πάλι 6 στοιχεία, στις ϑέσεις powersof2 (0), powersof2(1),..., powersof2(5). Γενικότερα, η δήλωση 3 Θα πρέπει να προσέχουµε ϐέβαια να µην δώσουµε για δείκτες συνδυασµούς που δεν έχουν νόηµα, π.χ. (2,30) ή (6,31)....

Κεφάλαιο 5ο: Εντολές Επανάληψης

Κεφάλαιο 5ο: Εντολές Επανάληψης Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου Κεφάλαιο 5ο: Εντολές Επανάληψης Η διαδικασία της επανάληψης είναι ιδιαίτερη συχνή, αφού πλήθος προβληµάτων µπορούν να επιλυθούν µε κατάλληλες

Διαβάστε περισσότερα

Κεφάλαιο 3ο: Βασικά στοιχεία ενός προγράµµατος της γλώσσας Fortran

Κεφάλαιο 3ο: Βασικά στοιχεία ενός προγράµµατος της γλώσσας Fortran Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου Κεφάλαιο 3ο: Βασικά στοιχεία ενός προγράµµατος της γλώσσας Fortran 3.1 Μορφή Προγράµµατος Τα προγράµµατα Fortran γράφονται σε αρχείο

Διαβάστε περισσότερα

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

a = 10; a = k; int a,b,c; a = b = c = 10; C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 4 ο Τελεστές Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Ο τελεστής εκχώρησης = Ο τελεστής = χρησιµοποιείται για την απόδοση τιµής (ή αλλιώς ανάθεση τιµής) σε µία µεταβλητή Π.χ.

Διαβάστε περισσότερα

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

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C Εισαγωγή στην C Μορφή Προγράµµατος σε γλώσσα C Τµήµα Α Με την εντολή include συµπεριλαµβάνω στο πρόγραµµα τα πρότυπα των συναρτήσεων εισόδου/εξόδου της C.Το αρχείο κεφαλίδας stdio.h είναι ένας κατάλογος

Διαβάστε περισσότερα

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

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 2 ο Τύποι Δεδοµένων Δήλωση Μεταβλητών Έξοδος Δεδοµένων Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Μνήµη και Μεταβλητές Σχέση Μνήµης Υπολογιστή και Μεταβλητών Η µνήµη (RAM) ενός

Διαβάστε περισσότερα

Κεφάλαιο 4ο: Εντολές επιλογής

Κεφάλαιο 4ο: Εντολές επιλογής Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου Κεφάλαιο 4ο: Εντολές επιλογής Μέχρι τώρα παρατηρήσαµε ότι τα προβλήµατα που αντιµετωπίσαµε είχαν σειριακή κίνηση, δηλαδή η µία εντολή

Διαβάστε περισσότερα

Το πλήθος των δεικτών και οι µεγαλύτερες τιµές που µπορούν να πάρουν ορίζεται µε µία δηλωτική εντολή που λέγεται Dimension.

Το πλήθος των δεικτών και οι µεγαλύτερες τιµές που µπορούν να πάρουν ορίζεται µε µία δηλωτική εντολή που λέγεται Dimension. Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου Κεφάλαιο 6ο: Πίνακες Στο κεφάλαιο αυτό θα ασχοληθούµε µε µια από πιο ενδιαφέρουσες δοµές δεδοµένων, τους πίνακες. Οι πίνακες είναι σύνθετες

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι κ. ΠΕΤΑΛΙΔΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

Διαβάστε περισσότερα

if(συνθήκη) {... // οµάδα εντολών } C: Από τη Θεωρία στην Εφαρµογή 5 ο Κεφάλαιο

if(συνθήκη) {... // οµάδα εντολών } C: Από τη Θεωρία στην Εφαρµογή 5 ο Κεφάλαιο C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 5 ο Έλεγχος Προγράµµατος Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Η εντολή if (Ι) Η εντολή if είναι µία από τις βασικότερες δοµές ελέγχου ροής στη C, αλλά και στις περισσότερες

Διαβάστε περισσότερα

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

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ Η ΓΛΩΣΣΑ PASCAL ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ Απλοί ή στοιχειώδης Τ.Δ. Ακέραιος τύπος Πραγματικός τύπος Λογικός τύπος Χαρακτήρας Σύνθετοι Τ.Δ. Αλφαριθμητικός 1. Ακέραιος (integer) Εύρος: -32768 έως 32767 Δήλωση

Διαβάστε περισσότερα

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη Επιλογή και επανάληψη Η ύλη που αναπτύσσεται σε αυτό το κεφάλαιο είναι συναφής µε την ύλη που αναπτύσσεται στο 2 ο κεφάλαιο. Όπου υπάρχουν διαφορές αναφέρονται ρητά. Προσέξτε ιδιαίτερα, πάντως, ότι στο

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΙΟΙΚΗΣΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΙΟΙΚΗΣΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΙΑΧΕΙΡΙΣΗ Ε ΟΜΕΝΩΝ ΚΑΙ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ (Β ΕΞΑΜΗΝΟ) ιδάσκων: Επ. Καθηγητής Γρηγόρης Χονδροκούκης ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΟΣ Η ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Διαβάστε περισσότερα

o AND o IF o SUMPRODUCT

o AND o IF o SUMPRODUCT Πληροφοριακά Εργαστήριο Management 1 Information Συστήματα Systems Διοίκησης ΤΕΙ Τμήμα Ελεγκτικής Ηπείρου Χρηματοοικονομικής (Παράρτημα Πρέβεζας) και Αντικείµενο: Μοντελοποίηση προβλήµατος Θέµατα που καλύπτονται:

Διαβάστε περισσότερα

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ και ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ 2.1 Να δοθεί ο ορισμός

Διαβάστε περισσότερα

Γ ε ν ι κ ό Λ ύ κ ε ι ο Ε λ ε υ θ ε ρ ο ύ π ο λ η ς. Α λ γ ό ρ ι θ μ ο ι

Γ ε ν ι κ ό Λ ύ κ ε ι ο Ε λ ε υ θ ε ρ ο ύ π ο λ η ς. Α λ γ ό ρ ι θ μ ο ι Α λ γ ό ρ ι θ μ ο ι Αριθμητικοί τελεστές Οι αριθμητικοί τελεστές είναι: πρόσθεση, αφαίρεση, πολλαπλασιασμός και διαίρεση +,-,*,/ ύψωση σε δύναμη ^ πηλίκο ακέραιης διαίρεσης δύο ακεραίων αριθμών div υπόλοιπο

Διαβάστε περισσότερα

2.2.3 Η εντολή Εκτύπωσε

2.2.3 Η εντολή Εκτύπωσε 2.2.3 Η εντολή Εκτύπωσε Η εντολή Εκτύπωσε χρησιµοποιείται προκειµένου να εµφανίσουµε κάτι στην οθόνη του υπολογιστή. Για τον λόγο αυτό ονοµάζεται και εντολή εξόδου. Ισοδύναµα µπορεί να χρησιµοποιηθεί και

Διαβάστε περισσότερα

Εισαγωγή στη χρήση Η/Υ. Αναγνωστοπούλου Χριστίνα Λέκτορας

Εισαγωγή στη χρήση Η/Υ. Αναγνωστοπούλου Χριστίνα Λέκτορας Αναγνωστοπούλου Χριστίνα Λέκτορας FORmulaTRANslation Εγκατάσταση της Fortran g95 http://www.g95.org http://ftp.g95.org/g95-mingw.exe Save file as C:\fortran-g95 Κειμενογράφοι Notepad (Windows) Programmer

Διαβάστε περισσότερα

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ Σκοπός της Άσκησης Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η ανάλυση των βασικών χαρακτηριστικών της Γλώσσας

Διαβάστε περισσότερα

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Δηλώσεις και Εκφράσεις. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Δηλώσεις και Εκφράσεις. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Δηλώσεις και Εκφράσεις Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Δομή Κυρίως Προγράμματος Δήλωση Μεταβλητών και Επώνυμων Σταθερών

Διαβάστε περισσότερα

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

Εισαγωγή στην γλώσσα προγραμματισμού C Εισαγωγή στην γλώσσα προγραμματισμού C Χαρακτηριστικά της C Ιδιαίτερα δημοφιλής Έχει χρησιμοποιηθεί για τον προγραμματισμό ευρέος φάσματος συστημάτων και εφαρμογών Γλώσσα μετρίου επιπέδου Φιλοσοφία: Ο

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Κεφάλαιο Πέµπτο: Η Εξάσκηση

Κεφάλαιο Πέµπτο: Η Εξάσκηση Κεφάλαιο Πέµπτο: Η Εξάσκηση 1. Γενικά Η εξάσκηση στο Εργαστήριο προϋποθέτει τη γνώση των εντολών (τουλάχιστον) τις οποίες καλείται ο σπουδαστής κάθε φορά να εφαρµόσει. Αυτές παρέχονται µέσω της Θεωρίας

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Έλεγχος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Σχεσιακοί Τελεστές και Ισότητας Ένα πρόγραμμα εκτός από αριθμητικές πράξεις

Διαβάστε περισσότερα

Υπο-προγράμματα στη Fortran

Υπο-προγράμματα στη Fortran ΦΥΣ 145 - Διαλ.05 1 Υπο-προγράμματα στη Fortran q Mέχρι τώρα τα προβλήματα και τα προγράμματα που έχουμε δεί ήταν αρκετά απλά και επομένως ένα και μόνο πρόγραμμα ήταν αρκετό για να τα λύσουμε q Όταν τα

Διαβάστε περισσότερα

1. ΕΙΣΑΓΩΓΗ. 1.1 Τι είναι η αριθµητική ανάλυση

1. ΕΙΣΑΓΩΓΗ. 1.1 Τι είναι η αριθµητική ανάλυση 1 ΕΙΣΑΓΩΓΗ 11 Τι είναι η αριθµητική ανάλυση Στα µαθητικά και φοιτητικά µας χρόνια, έχουµε γνωριστεί µε µία ποικιλία από µαθηµατικά προβλήµατα των οποίων µαθαίνουµε σταδιακά τις λύσεις Παραδείγµατος χάριν,

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Εισαγωγή στην FORTRAN. Δρ. Ιωάννης Λυχναρόπουλος 2014-2015

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Εισαγωγή στην FORTRAN. Δρ. Ιωάννης Λυχναρόπουλος 2014-2015 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Εισαγωγή στην FORTRAN Δρ. Ιωάννης Λυχναρόπουλος 2014-2015 Fortran FORmula TRANslation: (Μία από τις πρώτες γλώσσες τρίτης γενιάς) Εκδόσεις FORTRAN (1957) FORTRAN II (1958) FORTRAN III

Διαβάστε περισσότερα

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Δομή Επιλογής. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Δομή Επιλογής. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Δομή Επιλογής Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Δομή Επιλογής (Απόφασης) Εκτέλεση υπό συνθήκη IF THEN IF THEN ELSE IF THEN

Διαβάστε περισσότερα

Μορφοποίηση της εξόδου

Μορφοποίηση της εξόδου Μορφοποίηση της εξόδου (i) Όταν θέλουμε τα αποτελέσματα μιάς εντολής WRITE(*, *) να εμφανίζονται με συγκεκριμένο τρόπο τροποποιούμε τον δεύτερο αστερίσκο. 2 τρόποι μορφοποίησης WRITE(*, '(format εξόδου)')

Διαβάστε περισσότερα

Πληρουορική Γ Γσμμασίοσ

Πληρουορική Γ Γσμμασίοσ Πληρουορική Γ Γσμμασίοσ Προγραμματισμός και Αλγόριθμοι Από το και τημ Χελώμα στημ Ευριπίδης Βραχνός http://evripides.mysch.gr/ 2014 2015 1 Προγραμματισμός Ζάννειο Πρότυπο Πειραματικό Γυμνάσιο Πειραιά Ενότητα:

Διαβάστε περισσότερα

http://users.auth.gr/~ppi/mathematica

http://users.auth.gr/~ppi/mathematica http://users.auth.gr/~ppi/mathematica ΜΑΘΗΜΑΤΙΚΟΙ ΥΠΟΛΟΓΙΣΜΟΙ ΑΡΙΘΜΗΤΙΚΟΙ ΥΠΟΛΟΓΙΣΜΟΙ Γλώσσες Προγραμματισμού Fortran, C++, Java,. ΑΛΓΕΒΡΙΚΟΙ ή ΣΥΜΒΟΛΙΚΟΙ ΥΠΟΛΟΓΙΣΜΟΙ Computer Algebra Systems Mathematica,

Διαβάστε περισσότερα

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Μεταβλητές,

Διαβάστε περισσότερα

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων 2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει

Διαβάστε περισσότερα

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

ΕΠΛ031 - Εισαγωγή στον Προγραμματισμό Επικοινωνία Προγράμματος Περιβάλλοντος ΕΠΛ031 Εισαγωγή στον Προγραμματισμό Επικοινωνία Προγράμματος Περιβάλλοντος Λογικές Μονάδες Μεταφορά εδομένων Μορφοποίηση εδομένων Νέαρχος Πασπαλλής Επισκέπτης Ακαδημαϊκός

Διαβάστε περισσότερα

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

Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2) Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Οργάνωση Προγράµµατος Header Files Μετάφραση και σύνδεση αρχείων προγράµµατος ΕΠΛ 132 Αρχές Προγραµµατισµού

Διαβάστε περισσότερα

Γενικός τρόπος σύνταξης: Όνομα_συνάρτησης(όρισμα1,όρισμα2,,όρισμαΝ) Η ονομασία τους είναι δεσμευμένη. Παραδείγματος χάριν: sin(x) cos(x) tan(x) exp(x)

Γενικός τρόπος σύνταξης: Όνομα_συνάρτησης(όρισμα1,όρισμα2,,όρισμαΝ) Η ονομασία τους είναι δεσμευμένη. Παραδείγματος χάριν: sin(x) cos(x) tan(x) exp(x) Εσωτερικές (built-in) συναρτήσεις του Matlab Γενικός τρόπος σύνταξης: Όνομα_συνάρτησης(όρισμα1,όρισμα2,,όρισμαΝ) Επιτελούν διάφορες προκαθορισμένες λειτουργίες Η ονομασία τους είναι δεσμευμένη Παραδείγματος

Διαβάστε περισσότερα

ΣΥΝΑΡΤΗΣΕΙΣ. Η σύνταξη μιας συνάρτησης σ ένα κελί έχει την γενική μορφή: =όνομα_συνάρτησης(όρισμα1; όρισμα2;.)

ΣΥΝΑΡΤΗΣΕΙΣ. Η σύνταξη μιας συνάρτησης σ ένα κελί έχει την γενική μορφή: =όνομα_συνάρτησης(όρισμα1; όρισμα2;.) ΣΥΝΑΡΤΗΣΕΙΣ Συνάρτηση είναι ένας έτοιμος τύπος ο οποίος δέχεται σαν είσοδο τιμές ή συνθήκες και επιστρέφει ένα αποτέλεσμα, το οποίο μπορεί να είναι μια τιμή αριθμητική, αλφαριθμητική, λογική, ημερομηνίας

Διαβάστε περισσότερα

Κεφάλαιο 1. Τι θα μάθουμε σήμερα: -AND, OR, NOT. -Ενσωματωμένες συναρτήσεις. -Μαθηματικοί τελεστές -ΤΕΛΕΣΤΕΣ DIV ΚΑΙ MOD. -Προτεραιότητα πράξεων

Κεφάλαιο 1. Τι θα μάθουμε σήμερα: -AND, OR, NOT. -Ενσωματωμένες συναρτήσεις. -Μαθηματικοί τελεστές -ΤΕΛΕΣΤΕΣ DIV ΚΑΙ MOD. -Προτεραιότητα πράξεων Κεφάλαιο 1 Αρχή ήμισυ παντός. Πλάτων, 427-347 π.χ., Φιλόσοφος Τι θα μάθουμε σήμερα: -AND, OR, NOT -Ενσωματωμένες συναρτήσεις -Μαθηματικοί τελεστές -ΤΕΛΕΣΤΕΣ DIV ΚΑΙ MOD -Προτεραιότητα πράξεων 1 Λογικές

Διαβάστε περισσότερα

3. Σηµειώσεις Access. # Εισαγωγή ψηφίου ή κενού διαστήµατος. Επιτρέπονται τα ση-

3. Σηµειώσεις Access. # Εισαγωγή ψηφίου ή κενού διαστήµατος. Επιτρέπονται τα ση- Μάθηµα 3 Προχωρηµένες ιδιότητες πεδίων Μάσκες εισαγωγής Οι ιδιότητες Μορφή και Μάσκα εισαγωγής περιγράφονται µαζί γιατί έχουν κοινά χαρακτηριστικά που αφορούν την εµφάνιση. Με την ιδιότητα Μορφή καθορίζουµε

Διαβάστε περισσότερα

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΒΑΙΚΕ ΕΝΝΟΙΕ ΑΓΟΡΙΘΜΩΝ ΕΡΩΤΗΕΙ ΑΞΙΟΟΓΗΗ ΕΡΩΤΗΕΙ ΩΤΟΥ ΑΘΟΥ 1. ηµειώστε το γράµµα αν η πρόταση είναι σωστή και το γράµµα αν είναι λάθος. 1. Ο αλγόριθµος πρέπει να τερµατίζεται µετά από εκτέλεση πεπερασµένου

Διαβάστε περισσότερα

Τυπικές χρήσεις της Matlab

Τυπικές χρήσεις της Matlab Matlab Μάθημα 1 Τι είναι η Matlab Ολοκληρωμένο Περιβάλλον Περιβάλλον ανάπτυξης Διερμηνευμένη γλώσσα Υψηλή επίδοση Ευρύτητα εφαρμογών Ευκολία διατύπωσης Cross platform (Wintel, Unix, Mac) Τυπικές χρήσεις

Διαβάστε περισσότερα

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

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Pascal- Εισαγωγή Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει, όπως έχει ήδη αναφερθεί, τρία εξίσου

Διαβάστε περισσότερα

Ει αγωγή η Fortran. liouka.eleftheria@gmail.com

Ει αγωγή η Fortran. liouka.eleftheria@gmail.com Ει αγωγή η Fortran άθ α ο θ ία ιού α liouka.eleftheria@gmail.com Περιεχό ε α Derived Data Types Intrinsic Functions Input, Output Character Operator Branches Derived Data Types ιο ία ι ώ ας ύ ο φή: TYPE

Διαβάστε περισσότερα

Ομάδα Γ. Ο υπολογιστής ως επιστημονικό εργαλείο

Ομάδα Γ. Ο υπολογιστής ως επιστημονικό εργαλείο Ομάδα Γ. Ο υπολογιστής ως επιστημονικό εργαλείο Η Mathematica είναι ένα ολοκληρωμένο μαθηματικό πακέτο με πάρα πολλές δυνατότητες σε σχεδόν όλους τους τομείς των μαθηματικών (Άλγεβρα, Θεωρία συνόλων, Ανάλυση,

Διαβάστε περισσότερα

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

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Βασικά Στοιχεία Το αλφάβητο της C Οι βασικοί τύποι της C Δηλώσεις μεταβλητών Είσοδος/Έξοδος Βασικές εντολές της C Αλφάβητο

Διαβάστε περισσότερα

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

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΧΗΜΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΟ ΚΕΝΤΡΟ Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού Μάθημα 2ο Aντώνης Σπυρόπουλος v2_061015 Οροι που

Διαβάστε περισσότερα

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

Πίνακες. FORTRAN και Αντικειμενοστραφής Προγραμματισμός Πίνακες (i) Δομημένη μεταβλητή: αποθηκεύει μια συλλογή από τιμές δεδομένων Πίνακας (array): δομημένη μεταβλητή που αποθηκεύει πολλές τιμές του ίδιου τύπου INTEGER:: pinakas(100)ή INTEGER, DIMENSION(100)::pinakas

Διαβάστε περισσότερα

Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΚΦΩΝΗΣΕΙΣ ÏÅÖÅ

Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΚΦΩΝΗΣΕΙΣ ÏÅÖÅ 1 Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ 1 ο ΕΚΦΩΝΗΣΕΙΣ Α. Να γράψετε στην κόλλα σας τον αριθµό καθεµιάς από τις παρακάτω προτάσεις 1 5 και δίπλα τη λέξη

Διαβάστε περισσότερα

Διάλεξη 2. Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις. Διοργάνωση : ΚΕΛ ΣΑΤΜ

Διάλεξη 2. Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις. Διοργάνωση : ΚΕΛ ΣΑΤΜ Διάλεξη 2 Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις Διοργάνωση : ΚΕΛ ΣΑΤΜ Διαφάνειες: Skaros, MadAGu Παρουσίαση: MadAGu Άδεια: Creative Commons 3.0 2 Internal

Διαβάστε περισσότερα

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

ΕΠΛ031 - Εισαγωγή στον Προγραμματισμό Εισαγωγή στην Fortran ΕΠΛ031 Εισαγωγή στον Προγραμματισμό Νέαρχος Πασπαλλής Επισκέπτης Ακαδημαϊκός (Λέκτορας) nearchos@cs.ucy.ac.cy Γραφείο #B120, Τηλ. ext. 2744 FORTRAN: Ιστορική Αναδρομή 1954 1957, πρώτος

Διαβάστε περισσότερα

1 Αριθμητική κινητής υποδιαστολής και σφάλματα στρογγύλευσης

1 Αριθμητική κινητής υποδιαστολής και σφάλματα στρογγύλευσης 1 Αριθμητική κινητής υποδιαστολής και σφάλματα στρογγύλευσης Στη συγκεκριμένη ενότητα εξετάζουμε θέματα σχετικά με την αριθμητική πεπερασμένης ακρίβειας που χρησιμοποιούν οι σημερινοί υπολογιστές και τα

Διαβάστε περισσότερα

7. Βασικά στοιχεία προγραµµατισµού.

7. Βασικά στοιχεία προγραµµατισµού. 7. Βασικά στοιχεία προγραµµατισµού. ΗΜ01-Θ1Γ Δίνονται οι παρακάτω έννοιες: 1. Λογικός τύπος δεδοµένων 2. Επιλύσιµο 3. Ακέραιος τύπος δεδοµένων 4. Περατότητα 5. Μεταβλητή 6. Ηµιδοµηµένο 7. Πραγµατικός τύπος

Διαβάστε περισσότερα

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client ΕΣΔ 516 Τεχνολογίες Διαδικτύου Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client Περιεχόμενα Περιεχόμενα Javascript και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις

Διαβάστε περισσότερα

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

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Εκφράσεις και Λίγες Εντολές Οι εκφράσεις της C Τελεστές Απλές και σύνθετες εντολές Εντολές ελέγχου (επιλογής) Εισαγωγή σε

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Αριθμητική Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Δεύτερο Πρόγραμμα 1 / * Second Simple Program : add 2 numbers * / 2

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Πίνακες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Πίνακες Πολλές φορές θέλουμε να κρατήσουμε στην μνήμη πολλά αντικείμενα

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Διδάσκουσα Δρ Β.

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Διδάσκουσα Δρ Β. ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ Διδάσκουσα Δρ Β. Καβακλή Χειμερινό Εξάμηνο 2001 1 Σύνολο χαρακτήρων της Pascal Για

Διαβάστε περισσότερα

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της; 1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες (μορφές) της; Η δομή επανάληψης χρησιμοποιείται όταν μια σειρά εντολών πρέπει να εκτελεστεί σε ένα σύνολο περιπτώσεων, που έχουν κάτι

Διαβάστε περισσότερα

ΣΕΙΡΕΣ TAYLOR. Στην Ενότητα αυτή θα ασχοληθούµε µε την προσέγγιση συναρτήσεων µέσω πολυωνύµων. Πολυώνυµο είναι κάθε συνάρτηση της µορφής:

ΣΕΙΡΕΣ TAYLOR. Στην Ενότητα αυτή θα ασχοληθούµε µε την προσέγγιση συναρτήσεων µέσω πολυωνύµων. Πολυώνυµο είναι κάθε συνάρτηση της µορφής: ΣΕΙΡΕΣ TAYLOR Στην Ενότητα αυτή θα ασχοληθούµε µε την προσέγγιση συναρτήσεων µέσω πολυωνύµων Πολυώνυµο είναι κάθε συνάρτηση της µορφής: p( ) = a + a + a + a + + a, όπου οι συντελεστές α i θα θεωρούνται

Διαβάστε περισσότερα

Εργαστήριο ΨΗΦΙΑΚΗ ΛΟΓΙΚΗ. Εισαγωγή

Εργαστήριο ΨΗΦΙΑΚΗ ΛΟΓΙΚΗ. Εισαγωγή Εισαγωγή Εργαστήριο ΨΗΦΙΑΚΗ ΛΟΓΙΚΗ Ξεκινάµε την εργαστηριακή µελέτη της Ψηφιακής Λογικής των Η/Υ εξετάζοντας αρχικά τη µορφή των δεδοµένων που αποθηκεύουν και επεξεργάζονται οι υπολογιστές και προχωρώντας

Διαβάστε περισσότερα

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013 ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013 ΘΕΜΑ Α Α1. Να χαρακτηρίσετε τις προτάσεις που ακολουθούν, γράφοντας δίπλα στο γράμμα που αντιστοιχεί σε κάθε πρόταση τη

Διαβάστε περισσότερα

Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 12-1 Ανασκόπηση οµής Προγράµµατος µε Συναρτήσεις #include 1 void PrintMessage (); Πρότυπο ( ήλωση) Συνάρτησης (

Διαβάστε περισσότερα

Μιγαδική ανάλυση Μέρος Α Πρόχειρες σημειώσεις 1. Μιγαδικοί αριθμοί. ΤΕΤΥ Εφαρμοσμένα Μαθηματικά Μιγαδική Ανάλυση Α 1

Μιγαδική ανάλυση Μέρος Α Πρόχειρες σημειώσεις 1. Μιγαδικοί αριθμοί. ΤΕΤΥ Εφαρμοσμένα Μαθηματικά Μιγαδική Ανάλυση Α 1 ΤΕΤΥ Εφαρμοσμένα Μαθηματικά Μιγαδική Ανάλυση Α 1 Μιγαδική ανάλυση Μέρος Α Πρόχειρες σημειώσεις 1 Μιγαδικοί αριθμοί Τι είναι και πώς τους αναπαριστούμε Οι μιγαδικοί αριθμοί είναι μια επέκταση του συνόλου

Διαβάστε περισσότερα

Διάλεξη 1. Πράξεις Τελεστές Έλεγχος Ροής

Διάλεξη 1. Πράξεις Τελεστές Έλεγχος Ροής Διάλεξη 1 Πράξεις Τελεστές Έλεγχος Ροής Διοργάνωση : ΚΕΛ ΣΑΤΜ Διαφάνειες: Skaros, MadAGu Παρουσίαση: MadAGu Άδεια: Creative Commons 3.0 Αριθμητικοί Τελεστές- Αριθμητικές Πράξεις 2 Internal use only Αριθμητικοί

Διαβάστε περισσότερα

1ο. Η αριθµητική του υπολογιστή

1ο. Η αριθµητική του υπολογιστή 1ο. Η αριθµητική του υπολογιστή 1.1 Τί είναι Αριθµητική Ανάλυση Υπάρχουν πολλά προβλήµατα στη µαθηµατική επιστήµη για τα οποία δεν υπάρχουν αναλυτικές εκφράσεις λύσεων. Στις περιπτώσεις αυτές έχουν αναπτυχθεί

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 «Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #4 2 Γενικά Στο Τετράδιο #4 του Εργαστηρίου θα αναφερθούμε σε θέματα διαχείρισης πινάκων

Διαβάστε περισσότερα

ιδάσκων: ηµήτρης Ζεϊναλιπούρ

ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 1.3-1.4: Εισαγωγή Στον Προγραµµατισµό ( ιάλεξη 2) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Περιεχόµενα Εισαγωγικές Έννοιες - Ορισµοί Ο κύκλος ανάπτυξης προγράµµατος Παραδείγµατα Πότε χρησιµοποιούµε υπολογιστή?

Διαβάστε περισσότερα

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006 Μάθημα: ΠΛΗΡΟΦΟΡΙΚΗ Ημερομηνία και ώρα εξέτασης: Τρίτη, 6 Ιουνίου 2006 07:30 10:30

Διαβάστε περισσότερα

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ 1) Πότε χρησιμοποιείται η δομή επανάληψης

Διαβάστε περισσότερα

ΜΑΗΣ 2007 - ΕΞΕΤΑΣΤΙΚΟ ΔΟΚΙΜΙΟ

ΜΑΗΣ 2007 - ΕΞΕΤΑΣΤΙΚΟ ΔΟΚΙΜΙΟ ΜΑΗΣ 2007 - ΕΞΕΤΑΣΤΙΚΟ ΔΟΚΙΜΙΟ ΟΔΗΓΙΕΣ: ΝΑ ΑΠΑΝΤΗΣΕΤΕ ΣΕ ΟΛΕΣ ΤΙΣ ΕΡΩΤΗΣΕΙΣ. Το εξεταστικό δοκίμιο αποτελείται από δύο Ενότητες Α και Β. ΕΝΟΤΗΤΑ Α - Αποτελείται από δέκα (10) ερωτήσεις. Κάθε ορθή απάντηση

Διαβάστε περισσότερα

Παράδειγμα #1 ΑΡΙΘΜΗΤΙΚΗ ΚΙΝΗΤΗΣ ΥΠΟΔΙΑΣΤΟΛΗΣ ΕΠΙΜΕΛΕΙΑ: Ι. Λυχναρόπουλος

Παράδειγμα #1 ΑΡΙΘΜΗΤΙΚΗ ΚΙΝΗΤΗΣ ΥΠΟΔΙΑΣΤΟΛΗΣ ΕΠΙΜΕΛΕΙΑ: Ι. Λυχναρόπουλος Παράδειγμα #1 ΑΡΙΘΜΗΤΙΚΗ ΚΙΝΗΤΗΣ ΥΠΟΔΙΑΣΤΟΛΗΣ ΕΠΙΜΕΛΕΙΑ: Ι. Λυχναρόπουλος 1. Πως ορίζεται και τι σημαίνει ο όρος flop στους επιστημονικούς υπολογισμούς. Απάντηση: Ο όρος flop σημαίνει floating point operation

Διαβάστε περισσότερα

Visual Basic Βασικές Έννοιες

Visual Basic Βασικές Έννοιες Visual Basi Βασικές Έννοιες «Είδα στον ύπνο µου ότι η ζωή είναι χαρά. Ξύπνησα και είδα ότι είναι χρέος. Αγωνίστηκα και είδα ότι τo χρέος είναι χαρά.» Ραµπριτανάθ Ταγκόρ Κουλλάς Χρίστος www.oullas.om oullas

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2013-2014

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2013-2014 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2013-2014 Επιμέλεια: Ομάδα Διαγωνισμάτων από το Στέκι των Πληροφορικών Θέμα Α A1. Να γράψετε στο τετράδιό σας τους

Διαβάστε περισσότερα

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

ΚΕΦΑΛΑΙΟ 7 ΕΙ Η, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΚΕΦΑΛΑΙΟ 7 ΕΙ Η, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 7.1. Ανάπτυξη Προγράµµατος Τι είναι το Πρόγραµµα; Το Πρόγραµµα: Είναι ένα σύνολο εντολών για την εκτέλεση ορισµένων λειτουργιών από τον υπολογιστή.

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΟ MATLAB- SIMULINK

ΕΙΣΑΓΩΓΗ ΣΤΟ MATLAB- SIMULINK ΕΙΣΑΓΩΓΗ ΣΤΟ MATLAB- SIMULINK ρ. Γεώργιος Φ. Φραγκούλης Καθηγητής Ver. 0.2 9/2012 ιανύσµατα & ισδιάστατοι πίνακες Ένα διάνυσµα u = (u1, u2,, u ) εισάγεται στη MATLAB ως εξής : u=[ u1, u2,, un ] ή u=[ u1

Διαβάστε περισσότερα

Εντολές της LOGO (MicroWorlds Pro)

Εντολές της LOGO (MicroWorlds Pro) Εντολές της LOGO (MicroWorlds Pro) Εντολές εμφάνισης (εξόδου) και αριθμητικές πράξεις δείξε Εμφανίζει στην οθόνη έναν αριθμό, το αποτέλεσμα πράξεων, μια λέξη ή μια λίστα (ομάδα) λέξεων. δείξε 200 200 δείξε

Διαβάστε περισσότερα

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

ΣΥΝΟΠΤΙΚΟΣ ΟΔΗΓΟΣ ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C ΣΥΝΟΠΤΙΚΟΣ ΟΔΗΓΟΣ ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C 1 Εισαγωγή Ο προγραμματισμός είναι μια διαδικασία επίλυσης προβλημάτων με χρήση Η/Υ. Ένα πρόγραμμα είναι ένα σύνολο εντολών κάποιας γλώσσας προγραμματισμού,

Διαβάστε περισσότερα

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

Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ Σκοπός του μαθήματος Σκοπός του παρόντος μαθήματος είναι να μάθετε να κάνετε εισαγωγή δεδομένων σε πίνακες και περαιτέρω επεξεργασία

Διαβάστε περισσότερα

ΗΜΙΟΥΡΓΙΑ ΙΣΤΟΣΕΛΙ ΑΣ ΣΤΟ MICROSOFT WORD

ΗΜΙΟΥΡΓΙΑ ΙΣΤΟΣΕΛΙ ΑΣ ΣΤΟ MICROSOFT WORD ΗΜΙΟΥΡΓΙΑ ΙΣΤΟΣΕΛΙ ΑΣ ΣΤΟ MICROSOFT WORD Σε ορισµένες περιπτώσεις είναι ιδιαίτερα χρήσιµη η δηµιουργία ιστοσελίδων ενηµερωτικού περιεχοµένου οι οποίες στη συνέχεια µπορούν να δηµοσιευθούν σε κάποιο τόπο

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης ΚΕΦΑΛΑΙΟ 1ο 3ο 1. Συμπληρώστε τα κενά με τη λέξη που λείπει. α. Ένα πρόβλημα το χωρίζουμε σε άλλα απλούστερα, όταν είναι ή όταν έχει τρόπο επίλυσης. β. Η επίλυση ενός προβλήματος προϋποθέτει την του. γ.

Διαβάστε περισσότερα

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 3: Προγραμματισμός σε JAVA I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Στοιχειώδης Προγραμματισμός - Προγραμματισμός με Συνθήκες - Προγραμματισμός με Βρόγχους

Διαβάστε περισσότερα

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

Εισαγωγή στο Πρόγραμμα Maxima Εισαγωγή στο Πρόγραμμα Maxima Το Maxima είναι ένα πρόγραμμα για την εκτέλεση μαθηματικών υπολογισμών, συμβολικών μαθηματικών χειρισμών, αριθμητικών υπολογισμών και γραφικών παραστάσεων. Το Maxima λειτουργεί

Διαβάστε περισσότερα

ΦΥΣ-151: HΛΕΚΤΡΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΤΕΣ Ι ΕΣΑΓΩΓΗ ΣΤΗ FORTRAN 77

ΦΥΣ-151: HΛΕΚΤΡΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΤΕΣ Ι ΕΣΑΓΩΓΗ ΣΤΗ FORTRAN 77 ΦΥΣ-151: HΛΕΚΤΡΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΤΕΣ Ι ΕΣΑΓΩΓΗ ΣΤΗ FORTRAN 77 Νίκος Βουλγαράκης Πανεπιστήµιο Κρήτης Τµήµα Φυσικής ΙΑΛΕΞΗ 1... 3 1.1 ΕΙΣΑΓΩΓΗ ΣΤΗ FORTRAN 77... 3 1.1.1 οµή προγράµµατος... 3 1.1.2 Κανόνας

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ. Δρ. Ιωάννης Λυχναρόπουλος 2014-2015. Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ. Δρ. Ιωάννης Λυχναρόπουλος 2014-2015. Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ Δρ. Ιωάννης Λυχναρόπουλος 2014-2015 Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας Τι είναι τα υποπρογράμματα Αυτόνομες μονάδες κώδικα Γραμμένα από τον χρήστη Η δομή

Διαβάστε περισσότερα

Εισαγωγή στο Περιβάλλον Επιστημονικού Προγραμματισμού MATLAB-Simulink. Δημήτριος Τζεράνης Λεωνίδας Αλεξόπουλος

Εισαγωγή στο Περιβάλλον Επιστημονικού Προγραμματισμού MATLAB-Simulink. Δημήτριος Τζεράνης Λεωνίδας Αλεξόπουλος Εισαγωγή στο Περιβάλλον Επιστημονικού Προγραμματισμού MATLAB-Simulink Δημήτριος Τζεράνης Λεωνίδας Αλεξόπουλος 1 Τι είναι τα Matlab και Simulink? Το Matlab (MATrix LABoratory) είναι ένα περιβάλλον επιστημονικού

Διαβάστε περισσότερα

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βασικές Έννοιες Προγραμματισμού. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βασικές Έννοιες Προγραμματισμού. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Βασικές Έννοιες Προγραμματισμού Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Αριθμητικά συστήματα Υπάρχουν 10 τύποι ανθρώπων: Αυτοί

Διαβάστε περισσότερα

MATLAB. Λογισµικό υλοποίησης αλγορίθµων και διεξαγωγής υπολογισµών.

MATLAB. Λογισµικό υλοποίησης αλγορίθµων και διεξαγωγής υπολογισµών. MATLAB Tι είναι το λογισµικό MATLAB? Λογισµικό υλοποίησης αλγορίθµων και διεξαγωγής υπολογισµών. Σύστηµα αλληλεπίδρασης µε τοχρήστηγια πραγµατοποίηση επιστηµονικών υπολογισµών (πράξεις µε πίνακες επίλυση

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ' ΛΥΚΕΙΟΥ ΤΕΧΝ/ΚΗΣ ΚΑΤ/ΝΣΗΣ (Πλ. & Υπ.) 2006 ΕΚΦΩΝΗΣΕΙΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ' ΛΥΚΕΙΟΥ ΤΕΧΝ/ΚΗΣ ΚΑΤ/ΝΣΗΣ (Πλ. & Υπ.) 2006 ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ 1 ο ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ' ΛΥΚΕΙΟΥ ΤΕΧΝ/ΚΗΣ ΚΑΤ/ΝΣΗΣ (Πλ. & Υπ.) 2006 ΕΚΦΩΝΗΣΕΙΣ Α. Να γράψετε στο τετράδιό σας τον αριθµό καθεµιάς από τις παρακάτω προτάσεις 1-5 και

Διαβάστε περισσότερα

ΛΧ1004 Μαθηματικά για Οικονομολόγους

ΛΧ1004 Μαθηματικά για Οικονομολόγους ΛΧ1004 Μαθηματικά για Οικονομολόγους Μάθημα 1 ου Εξαμήνου 2Θ+2Φ(ΑΠ) Ι. Δημοτίκαλης, Επίκουρος Καθηγητής 1 ΤΕΙ ΚΡΗΤΗΣ-ΤΜΗΜΑ Λ&Χ: jdim@staff.teicrete.gr ΠΡΟΤΕΙΝΟΜΕΝΟ ΒΙΒΛΙΟ ΕΦΑΡΜΟΓΕΣ ΜΑΘΗΜΑΤΙΚΟΥ ΛΟΓΙΣΜΟΥ

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Ενότητα 5 Δομές Ελέγχου Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Δομές Ελέγχου Οι Boehm και Jacopini απέδειξαν ότι οποιοσδήποτε αλγόριθμος

Διαβάστε περισσότερα

Μαθηματικά. Γ'Γυμνασίου. Μαρίνος Παπαδόπουλος

Μαθηματικά. Γ'Γυμνασίου. Μαρίνος Παπαδόπουλος Μαθηματικά Γ'Γυμνασίου Μαρίνος Παπαδόπουλος ΠΡΟΛΟΓΙΚΟ ΣΗΜΕΙΩΜΑ Σας καλωσορίζω στον όµορφο κόσµο των Μαθηµατικών της Γ Γυµνασίου. Τα µαθηµατικά της συγκεκριµένης τάξης αποτελούν ίσως το αποκορύφωµα των

Διαβάστε περισσότερα

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Αναπαράσταση αριθμών στο δυαδικό σύστημα. Δρ.

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Αναπαράσταση αριθμών στο δυαδικό σύστημα. Δρ. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Πληροφορική Ι Αναπαράσταση αριθμών στο δυαδικό σύστημα Δρ. Γκόγκος Χρήστος Δεκαδικό σύστημα αρίθμησης Ελληνικό - Ρωμαϊκό Σύστημα αρίθμησης

Διαβάστε περισσότερα

Πρόγραμμα Επικαιροποίησης Γνώσεων Αποφοίτων ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ

Πρόγραμμα Επικαιροποίησης Γνώσεων Αποφοίτων ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ Πρόγραμμα Επικαιροποίησης Γνώσεων Αποφοίτων ΕΝΟΤΗΤΑ Μ1 ΨΗΦΙΑΚΑ ΗΛΕΚΤΡΟΝΙΚΑ Εκπαιδευτής: Γ. Π. ΠΑΤΣΗΣ, Επικ. Καθηγητής, Τμήμα Ηλεκτρονικών Μηχανικών, ΤΕΙ Αθήνας ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ 1. Ποια είναι η βάση

Διαβάστε περισσότερα

Οι εντολές του MaLT+

Οι εντολές του MaLT+ Έλεγχος του χαρακτήρα Οι εντολές του MaLT+ Ελληνική Εντολή Αγγλική Εντολή Περιγραφή Παράδειγμα Κίνηση του χαρακτήρα Μπροστά/μ Πίσω/π fw/fd/forward bw/bk/backward προχωράει μπροστά τόσα βήματα όσο ο προχωράει

Διαβάστε περισσότερα

2 o Καλοκαιρινό σχολείο Μαθηµατικών Νάουσα 2008

2 o Καλοκαιρινό σχολείο Μαθηµατικών Νάουσα 2008 2 o Καλοκαιρινό σχολείο Μαθηµατικών Νάουσα 2008 Μικρό Θεώρηµα του Fermat, η συνάρτηση του Euler και Μαθηµατικοί ιαγωνισµοί Αλέξανδρος Γ. Συγκελάκης ags@math.uoc.gr Αύγουστος 2008 Αλεξανδρος Γ. Συγκελακης

Διαβάστε περισσότερα

4.1 Το αόριστο ολοκλήρωµα - Βασικά ολοκληρώ-

4.1 Το αόριστο ολοκλήρωµα - Βασικά ολοκληρώ- Κεφάλαιο 4 ΟΛΟΚΛΗΡΩΜΑ 4.1 Το αόριστο ολοκλήρωµα - Βασικά ολοκληρώ- µατα Ορισµός 4.1.1. Αρχική ή παράγουσα συνάρτηση ή αντιπαράγωγος µιας συνάρτησης f(x), x [, b], λέγεται κάθε συνάρτηση F (x) που επαληθεύει

Διαβάστε περισσότερα

Διδακτική της Πληροφορικής ΙΙ

Διδακτική της Πληροφορικής ΙΙ Διδακτική της Πληροφορικής ΙΙ Ομάδα Γ Βότσης Ευστάθιος Γιαζιτσής Παντελής Σπαής Αλέξανδρος Τάτσης Γεώργιος Προβλήματα που αντιμετωπίζουν οι αρχάριοι προγραμματιστές Εισαγωγή Προβλήματα Δυσκολίες Διδακτικό

Διαβάστε περισσότερα

ΕΠΑΝΑΛΗΠΤΙΚΗ ΕΞΕΤΑΣΗ (14/9/2012)

ΕΠΑΝΑΛΗΠΤΙΚΗ ΕΞΕΤΑΣΗ (14/9/2012) Φτιάξε ένα πρόγραµµα FORTRAN που θα βρίσκει αν ο ακέραιος N που θα εισάγει ο χρήστης είναι άρτιος ή περιττός. Φτιάξε ένα πρόγραµµα FORTRAN που να προσδιορίζει και να τυπώνει την θέση των στοιχείων ενός

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 26-01-2014

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 26-01-2014 ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 26-01-2014 ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις 1-5 και δίπλα τη λέξη Σωστό, αν είναι

Διαβάστε περισσότερα

Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 1 read(x) 122 x= 2 read(a,b,c) 133 244 355 a= b= c= 3 read(d,e) 166 277 3888

Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 1 read(x) 122 x= 2 read(a,b,c) 133 244 355 a= b= c= 3 read(d,e) 166 277 3888 ΕΡΩΤΗΣΕΙΣ 1. Να αναφέρετε μερικά από τα ιδιαίτερα χαρακτηριστικά της Pascal. 2. Ποιο είναι το αλφάβητο της Pascal; 3. Ποια είναι τα ονόματα-ταυτότητες και σε τι χρησιμεύουν; 4. Σε τι χρησιμεύει το συντακτικό

Διαβάστε περισσότερα