Fortran και Αντικειμενοστραφής προγραμματισμός. www.corelab.ntua.gr/courses/fortran_naval/naval

Σχετικά έγγραφα
Διαφάνειες παρουσιάσεων Αρχικές Διαφάνειες σε Pascal: Σ.Ζάχος, Ν.Παπασπύρου Προσαρμογή σε Fortran: Α.Παγουρτζής, Δ.Σούλιου

Προέλευση της Pazcal ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ. Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

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

Ενότητα 4: «Εισαγωγή στον Προγραμματισμό. Τα πρώτα προγράμματα σε γλώσσα C»

Fortran και Αντικειμενοστραφής προγραμματισμός. 1η ενότητα

Διαφάνειες παρουσιάσεων

29/9/2017. Εισαγωγή. Διαφάνειες παρουσιάσεων 29/9/17. Σκοπός του μαθήματος

Ενότητα 1: «Εισαγωγή στην Αλγοριθμική και τον Προγραμματισμό. Απλές ασκήσεις με γλώσσα Pascal»

Ενότητα 5: «Εισαγωγή στον Προγραμματισμό. Απλές ασκήσεις με γλώσσα C»

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

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

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.

Κεφάλαιο 7: Υποπρογράμματα. Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών

Κεφάλαιο 7: Υπορουτίνες

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

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

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

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

Δομή του προγράμματος

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

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

Γλώσσα Προγραμματισμού C. Προγραμματισμός HY: Γλώσσα Προγραμματισμού C. Γρήγορος Πίνακας Αναφοράς Σύνταξης. Εισήγηση #4. Επαναληπτικές δομές:

Διάλεξη 2η: Αλγόριθμοι και Προγράμματα

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

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

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

Σχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13

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

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

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

Είναι μια αλληλουχία κατάλληλων οδηγιών(εντολών) που εκτελεί ο υπολογιστής για την επίλυση ενός προβλήματος.

10. Εντολές επανάληψηςκαι οι εντολές

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

Υπολογισμός - Εντολές Επανάληψης

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

Η γλώσσα προγραμματισμού C

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

Προγραμματισμός με FORTRAN Συνοπτικός Οδηγός Α. Σπυρόπουλος Α. Μπουντουβής

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

ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ PASCAL

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

Προχωρημένες έννοιες προγραμματισμού σε C

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

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

ΔΙΑΡΚΕΙΑ ΕΞΕΤΑΣΗΣ: 2 ΩΡΕΣ

Κεφάλαιο 3.1, : Συναρτήσεις I. (Διάλεξη 11)

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΕΞΕΤΑΣΗ IOYNIOY 2018 ΘΕΜΑΤΑ Α ΟΝΟΜΑΤΕΠΩΝΥΜΟ:... ΑΕΜ: ΕΞΑΜΗΝΟ:

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

Εργαστήριο 2ο. Περίγραμμα Εργαστηριακής Άσκησης

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

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

Κεφάλαιο 8.7. Πολυδιάστατοι Πίνακες (Διάλεξη 19)

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Υπολογισμός - Εντολές Ελέγχου

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

IMPLICIT NONE INTEGER :: a, b, c

ιαφάνειες παρουσίασης #4

ΕΡΓΑΣΤΗΡΙΟ 5 ΣΗΜΕΙΩΣΕΙΣ

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

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

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

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

Τμήμα Πληροφορικής & Επικοινωνιών

ΕΛΛΗΝΙΚΗ ΕΤΑΙΡΕΙΑ ΕΠΙΣΤΗΜΟΝΩΝ ΚΑΙ ΕΠΑΓΓΕΛΜΑΤΙΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΜΕΛΟΣ IFIP, IOI Org. GREEK COMPUTER SOCIETY MEMBER OF IFIP, IOI Org.

Εισαγωγή στο Προγραμματισμό για Μηχανολόγους Οδηγός Προετοιμασίας για τη Τελική Εξέταση

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

ιαφάνειες παρουσίασης #5

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

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

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017

Τύποι Δεδομένων Είσοδος/Έξοδος

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

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

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

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

Άσκηση 1. Α. Υπολογίστε χωρίς να εκτελέσετε κώδικα FORTRAN τα παρακάτω: Ποιά είναι η τελική τιμή του Z στα παρακάτω κομμάτια κώδικα FORTRAN:

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 3 η : Επίλυση Προβληµάτων Χειµερινό Εξάµηνο 2011

Πίνακες. (i) FORTRAN και Αντικειµενοστραφής Προγραµµατισµός

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

Διαφάνειες παρουσιάσεων

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

Στόχοι και αντικείμενο ενότητας. Πέρασμα Πίνακα σε Συνάρτηση (συν.) Πέρασμα Πίνακα σε Συνάρτηση. #8.. Ειδικά Θέματα Αλγορίθμων

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΕΠΛ 131 ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Ι

PROGRAM example Η αρχή και το όνοµα του προγράµµατος IMPLICIT NONE REAL:: moires, aktinia moires = 180. aktinia = moires * / 180.

Δομημένος Προγραμματισμός

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

Διαφάνειες παρουσιάσεων

Στόχοι και αντικείμενο ενότητας. Προτάσεις επανάληψης. Έλεγχος ροής προγράμματος. #5.. Εντολές Επανάληψης

27/10/2017. Εισαγωγή. Διαφάνειες παρουσιάσεων 27/10/17. Σκοπός του μαθήματος

Διαφάνειες παρουσιάσεων

Προγραμματισμός Ι. Θεματική ενότητα 8: Δημιουργία προγραμμάτων

7/10/2017. Εισαγωγή. Διαφάνειες παρουσιάσεων 6/10/17. Σκοπός του μαθήματος

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

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Εισαγωγή στον Προγραμματισμό. Ενότητα 8: Συναρτήσεις. Κ.

Transcript:

Fortran και Αντικειμενοστραφής προγραμματισμός Διδάσκοντες: www.corelab.ntua.gr/courses/fortran_naval/naval Άρης Παγουρτζής (pagour@cs.ntua.gr) (Επίκουρος Καθηγητής ΣΗΜΜΥ ) Δώρα Σούλιου (dsouliou@mail.ntua.gr) (ΕΕΔΙΠ ΣΗΜΜΥ) Διαφάνειες παρουσιάσεων Αρχικές Διαφάνειες σε Pascal: Ε.Ζάχος, Ν.Παπασπύρου Προσαρμογή σε Fortran: Α.Παγουρτζής, Δ.Σούλιου Εισαγωγή στην πληροφορική Εισαγωγή στον προγραμματισμό με τη γλώσσα Fortran Μεθοδολογία αλγοριθμικής επίλυσης προβλημάτων 25/02 02/13 Σχολή Ναυπηγών Μηχανολόγων Μηχανικών (εαρινό 2012)

Οργανωτικά Δευτέρα 12:45 14:30 κτίριο δ αίθουσα 209 Τετάρτη 15:45 17:30 κτίριο δ αίθουσα 209 Ώρες γραφείου Τετάρτη 13:00 15:00 Γραφείο 1.1.30 παλαιό κτίριο ΣΗΜΜΥ Τηλέφωνο: 210 7721644 Βαθμολογία (πρωτοετείς φοιτητές) Τελική Εξέταση (9 μονάδες) Σειρές ασκήσεων (1 μονάδα) με προφορική εξέταση Πρόοδος (αν γίνει 1 μονάδα)

FORTRAN (FORmulae TRANslator) (i) Από τις πρώτες γλώσσες προγραμματισμού υψηλού επιπέδου Δημιουργήθηκε τη δεκαετία του '50 (1956) για τον IBM704 και στη συνέχεια προσαρμόστηκε σε διάφορα υπολογιστικά συστήματα 1958: Fortran II με πολλά υποπρογράμματα Ακολούθησε η Fortran IV η οποία δόθηκε στην επιστημονική κοινότητα Ανάγκη τυποποίησης (πολλές υλοποιήσεις σε διάφορες μηχανές, συμβατότητα μεταξύ των μηχανών) Fortran66: η πρώτη τυποποιημένη Fortran από το αμερικάνικο ινστιτούτο ANSI Fortran77: η πρώτη τυποποιημένη Fortran από τον ISO

FORTRAN (FORmulae TRANslator) (ii) Fortran77: συμπλήρωνε τις ελλείψεις της Fortran66 και υιοθετούσε χαρακτηριστικά που είχαν επιτυχώς υλοποιηθεί σε άλλες γλώσσες (Algol, Modula, Pascal) Fortran90: δόθηκε από τον ISO το 1992 με ριζικές αλλαγές Fortran95: δόθηκε από τον ISO το 1997 με δυνατότητα παράλληλης επεξεργασίας Fortran2003: με χαρακτηριστικά αντικειμενοστρεφούς προγραμματισμού Αναμένονται νεώτερες εκδόσεις (Fortran2008)... 2 βασικές διάλεκτοι της γλώσσας Παλαιά (πριν την Fortran90) εκατομμύρια προγράμματα σε αρχεία με επέκταση.for ή.f Νέα (Fortran 90,95,2003) προγράμματα σε αρχεία με επέκταση.f90,.f95,.f03

FORTRAN (FORmulae TRANslator) (iii) Πλεονεκτήματα άλλων γλωσσών επικοινωνία με τη μηχανή (γλώσσες χαμηλού επιπέδου) δημιουργία γραφικών χειρισμό αρχείων ευκολία χρήσης επικοινωνία με το διαδίκτυο Πλεονεκτήματα Fortran ταχύτερη σε πολύπλοκους επιστημονικούς και τεχνικούς υπολογισμούς, προβλήματα με πολυδιάστατους πίνακες, πολλές επαναλήψεις, προβλήματα βελτιστοποίησης

Παραδείγματα (i) PROGRAM Hello1 WRITE(*,*) 'hello world' PROGRAM Hello2 WRITE(*,*) 'hello ', 'world' PROGRAM Hello3 WRITE(*,*) 'hello ' WRITE(*,*) 'world'

Παραδείγματα (C) (i) #include <stdio.h> void main () printf("hello world\n"); #include <stdio.h> void main () printf("hello " "world\n"); #include <stdio.h> void main () printf("hello "); printf("world\n");

Παραδείγματα (ii) PROGRAM Hello4 WRITE(*, "(A)", advance="no")'hello' WRITE(*,*) 'world'

Παραδείγματα (C) (ii) #include <stdio.h> void main () printf("hello world"); printf("\n");

Παραδείγματα (iii) PROGRAM Hello5 CALL hello CALL hello CALL hello CALL hello SUBROUTINE hello WRITE(*,*) ' hello world' 1

Παραδείγματα (C) (iii) #include <stdio.h> void hello() printf("hello world\n"); void main() hello(); hello(); hello(); hello(); 1

Παραδείγματα (iv) PROGRAM Hello6 INTEGER:: i DO i=1,20 DO CALL hello SUBROUTINE hello WRITE(*,*) 'hello world' 1

Παραδείγματα (C) (iv) #include <stdio.h> void hello() printf("hello world\n"); void main() int i; for (i=0; i<20; i++) hello(); 1

Παραδείγματα (v) PROGRAM Hello7 INTEGER:: i=1 INTEGER, PARAMETER:: n=21 DO WHILE (i<n) CALL hello(i) i=i+1 DO SUBROUTINE hello(j) INTEGER:: j WRITE(*,*) j, ' hello world' 1

Παραδείγματα (C) (v) #include <stdio.h> const int n=20; int i; void num_hello() printf("%d hello world\n", i); void main() for (i=0; i<n; i++) num_hello(); 1

Παραδείγματα (vi) PROGRAM Hello8 INTEGER:: i,n WRITE(*,*) 'Give number of greetings ',& 'then press <enter>:' READ(*,*) n DO i=1,n CALL hello(i) DO SUBROUTINE hello(j) INTEGER:: j WRITE(*,*)j,'hello world' 1

Παραδείγματα (C) (vi) #include <stdio.h> void hello() printf("hello world\n") void main() int i,n; printf("give number of greetings" "then press <enter>:"); scanf("%d\n", n); for (i=0; i<n; i++) hello(); 1

Παραδείγματα (vii) PROGRAM Hello9 INTEGER:: i,n WRITE(*,*) 'Give number of greetings ',& 'then press <enter>:' READ(*,*) n DO i=1,n,2 CALL hello(i) DO SUBROUTINE hello(j) INTEGER:: j WRITE(*,*)j,'hello world' 1

Παραδείγματα (C) (vii) #include <stdio.h> void hello() printf("hello world\n") void main() int i,n; printf("give number of greetings" "then press <enter>:"); scanf("%d\n", &n); for (i=0; i<n; i++) hello(); 1

Παραδείγματα (viii) PROGRAM Hello10 INTEGER:: i,n WRITE(*,*) 'Give number of greetings ', & 'then press <enter>:' READ(*,*) n IF (n<0) THEN WRITE(*,*) 'O n είναι αρνητικός' ELSE DO i = 1,n,1 CALL hello DO IF SUBROUTINE hello WRITE(*,*)'hello world' 2

Παραδείγματα (C) (viii) #include <stdio.h> void hello() printf("hello world\n"); void main() int i,n; printf("give number of greetings" "then press <enter>"); scanf("%d\n",&n); if (n<0) printf("#is negative\n"); else for (i=0;i<n;i++) hello(); 2