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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(i) PROGRAM example. IMPLICIT NONE REAL:: moires, aktinia moires = 180 aktinia = moires * / aktinia STOP END

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

25/11/2015. Εισαγωγή. Διαφάνειες παρουσιάσεων 23/11/15. Σκοπός του μαθήματος

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

IMPLICIT NONE INTEGER :: a, b, c

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

30/9/2018. Εισαγωγή. Διαφάνειες παρουσιάσεων 28/9/18. Σκοπός του μαθήματος

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Transcript:

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

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

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

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

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

Ασκήσεις PROGRAM Hello1 WRITE(*,*) 'hello world' (i) PROGRAM Hello2 WRITE(*,*) 'hello ', 'world' PROGRAM Hello3 WRITE(*,*) 'hello ' WRITE(*,*) 'world' 6

Ασκήσεις (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"); 7

Ασκήσεις (ii) PROGRAM Hello4 WRITE(*, "(A)", advance="no")'hello' WRITE(*,*) 'world' 8

Ασκήσεις (C) (ii) #include <stdio.h> void main () printf("hello world"); printf("\n"); 9

Ασκήσεις (iii) PROGRAM Hello5 CALL hello CALL hello CALL hello CALL hello SUBROUTINE hello WRITE(*,*) ' hello world' 10

Ασκήσεις (C) (iii) #include <stdio.h> void hello() printf("hello world\n"); void main() hello(); hello(); hello(); hello(); 11

Ασκήσεις (iv) PROGRAM Hello6 INTEGER:: i DO i=1,20 CALL hello DO SUBROUTINE hello WRITE(*,*) 'hello world' 12

Ασκήσεις (C) (iv) #include <stdio.h> void hello() printf("hello world\n"); void main() int i; for (i=0; i<20; i++) hello(); 13

Ασκήσεις (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' 14

Ασκήσεις (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(); 15

Ασκήσεις (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' 16

Ασκήσεις (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(); 17

Ασκήσεις (vii) PROGRAM Hello9 INTEGER:: i,n WRITE(*,*) 'Give number of greetings ','then press enter READ(*,*) n DO i=1,n,3 CALL hello(i) DO SUBROUTINE hello(j) INTEGER:: j WRITE(*,*)j,'hello world' 18

Ασκήσεις (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(); 19

Ασκήσεις (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' 20

Ασκήσεις (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(); 21