Blue1 Δημοσ. 11 Σεπτεμβρίου 2009 Δημοσ. 11 Σεπτεμβρίου 2009 Έχω ξεκινήσει εκμάθηση της γλώσσας Fortran 90/95 με ένα βιβλίο. Προσπαθώντας να δοκιμάσω ένα απο τα πολλά παραδείγματα που περιέχει,ενώ δεν βγάζει σφάλμα δεν τυπώνει το αποτέλεσμα που πρέπει αλλα βγάζει ενα μακροσκελές μήνυμα.Το δε txt αρχείο που δημιουργείται είναι κενό. Δεν ξέρω αν ευθύνεται η έκδοση που έχω,αν μπορεί κάποιος που έχει Forτran ας τρέξει τον παρακάτω κώδικα. > IMPLICIT NONE REAL::MESOS_OROS_FOITHTH,MESOS_OROS_TAXHS,S,A,B,C,D INTEGER::I,N OPEN(9,FILE='INPUT.TXT') READ(9,*) A,B,C,D S=0. DO I=1,N READ(9,*) A,B,C,D MESOS_OROS_FOITHTH=(A+B+C+D)/4. WRITE(*,*) 'MESOS_OROS_FOITHTH',I,' ',MESOS_OROS_FOITHTH S=S+MESOS_OROS_FOITHTH END DO MESOS_OROS_TAXHS=S/N WRITE(*,*) 'MESOS_OROS_TAXHS=',MESOS_OROS_TAXHS STOP END Δοκίμασα και άλλα δύο παρόμοια παραδείγματα και πάλι τζίφος.
Dr.Fuzzy Δημοσ. 12 Σεπτεμβρίου 2009 Δημοσ. 12 Σεπτεμβρίου 2009 Απο καθαρή περίεργια, για πιο λογο θες να μάθεις Fortran;
nikosl Δημοσ. 12 Σεπτεμβρίου 2009 Δημοσ. 12 Σεπτεμβρίου 2009 Απο καθαρή περίεργια, για πιο λογο θες να μάθεις Fortran; Γιατί είναι παγκόσμιο πρότυπο, καί έχει όλα τα σύγχρονα στοιχεία μιας 3ης γενιάς γλώσσας + το ότι είναι πολυ πιο εύχρηστη για τις θετικές επιστήμες λόγω των τεράστιων βιβλιοθηκών που υπάρχουν για το αντικείμενο. Αν θελει να γραψει drivers ας μαθει c++ . Δεν έχεις συντάξει σωστά το read από το αρχείο txt. Το πρόγραμμα δεν ξέρει πόσες τιμές θα διαβάσει και πότε να σταματήσει να διαβαζει... Επίσης καλύτερα θα ήταν να έχεις το αρχείο με τα στοιχεία σου σε μορφή .dat
kagelos Δημοσ. 12 Σεπτεμβρίου 2009 Δημοσ. 12 Σεπτεμβρίου 2009 Το Matlab έχει πιο πολλά πράγματα για τις θετικές επιστήμες και Fortran γράφουν οι μαθηματικοί γιατί ... αυτή τους μάθανε άλλοι μαθηματικοί στο πανεπιστήμιο, που την έμαθαν άλλες εποχές όπου ήταν πραγματικά χρήσιμη και δεν έκαναν τον κόπο να μάθουν τίποτα άλλο. Είναι απλά μια προσωπική άποψη!
eliascm21 Δημοσ. 12 Σεπτεμβρίου 2009 Δημοσ. 12 Σεπτεμβρίου 2009 Το Matlab έχει πιο πολλά πράγματα για τις θετικές επιστήμες και Fortran γράφουν οι μαθηματικοί γιατί ... αυτή τους μάθανε άλλοι μαθηματικοί στο πανεπιστήμιο, που την έμαθαν άλλες εποχές όπου ήταν πραγματικά χρήσιμη και δεν έκαναν τον κόπο να μάθουν τίποτα άλλο. Είναι απλά μια προσωπική άποψη! H MATLAB δεν είναι τζάμπα, το πρόγραμμα στην matlab δεν θα τρέξει αν δεν έχεις Matlab. Η Fortran υπάρχει ακόμα και χρησιμοποιείται γιατί απλά είναι η πιο γρήγορη στους επιστημονικούς υπολογισμούς που περιλαμβάνουν τεράστιους αριθμούς πράξεων. Κάθε γλώσσα υπάρχει για κάποιο λόγο.
nikosl Δημοσ. 12 Σεπτεμβρίου 2009 Δημοσ. 12 Σεπτεμβρίου 2009 Το Matlab έχει πιο πολλά πράγματα για τις θετικές επιστήμες και Fortran γράφουν οι μαθηματικοί γιατί ... αυτή τους μάθανε άλλοι μαθηματικοί στο πανεπιστήμιο, που την έμαθαν άλλες εποχές όπου ήταν πραγματικά χρήσιμη και δεν έκαναν τον κόπο να μάθουν τίποτα άλλο. Είναι απλά μια προσωπική άποψη! Και από multithreading ας πούμε σε 1000επεξεργαστές πώς τα πάει η matlab? Μήπως πάτος? Ασε που αν αυριο το πρωί κλείσει η εταιρεία μένεις με ένα σωρό κώδικα άχρηστο. Αντίθετα η fortran αποτελεί παγκόσμιο standard όπως άλλωστε η C,C++ κ.ο.κ. και σου διασφαλίζει ότι δεν θα σου αχρηστευθεί ο κώδικας. (τελευταία έκδοση της fortran είναι η 2003 ενώ ήδη σχεδιάζεται η επόμενη )
Dr.Fuzzy Δημοσ. 13 Σεπτεμβρίου 2009 Δημοσ. 13 Σεπτεμβρίου 2009 Μάλιστα...η Mathworks λίγο δύσκολο να κλείσει αλλά και ν κλείσει υπάρχουν ένα σωρό open source matlab likes (scilab etc.)...λέμε τώρα! H Fortran είναι μια obsolete γλώσσα και ο μόνος λόγος που διδάσκεται ακόμα στο Ελλαδιστάν (πουθενά αλλού, παντού κάνουν MATLAB!) είναι γιατί δυστυχώς κάποιοι καθηγητές που έγραψαν τα βιβλία τους το '80 απλά δεν θέλουν ή σιγά μην μπουν στον κόπο να τα ανανεώσουν ή να τα ξαναγράψουν με κάποιο πιο σύγχρονο standard (α ρε καταραμένη αξιολόγηση...)!
pallisi Δημοσ. 13 Σεπτεμβρίου 2009 Δημοσ. 13 Σεπτεμβρίου 2009 Ποιό περιβάλλον ανάπτυξης χρησιμοποιείς;Ίσως φταίει κάτι με τον compiler σου.Δε βλέπω κάποιο λάθος με το κωδικά σου. Ρε παιδιά πως καταφέρνεται να βγαίνεται εκτός θέματος.Ας βγω και εγώ λίγο...χαχα...Και ναι το matlab δε κάνει για τα πάντα,είναι πολλές φορές πάρα πολύ αργό για επιλύσεις κάποιων προβλημάτων.Υπάρχουν πάρα πολλά έτοιμα κομμάτια κώδικα για Fortran και δεν είναι παρωχημένη γλώσσα για αυτά που κάνει.Ειδικά σε εξηδεικευμένα προγράμματα όπως επίλυση δικτύων μεταφοράς ηλεκτρικής ενέργειας,ακόμη και τα προγράμματα εξομοίωσης αυτών τρέχουν από πίσω fortran. Ok,δε κάνει για να γράψεις κώδικα για drivers αλλά για γράψε εξειδικευμένα προγράμματα επίλυσης διαφορικών θες χιλίαδες γραμμές κώδικα. Η κάθε γλώσσα λοιπόν είναι για συγκεκριμένα πράγματα.Τέλος το καθηγητικό κατεστημένο(το οποίο και αντιπαλεύω) επειδή δεν έχει στο μυαλό του να μάθει στο κόσμο προγραμματιστική λόγική είναι για φτήσιμο και ας κάνουν και την ποιό προχωρημένη γλώσσα που υπάρχει. Καλύτερα να σκέφτεσαι με αλγόριθμους και να τους γράφεις σε ψευδογλώσσα παρά να μάθεις την B,C,D κτλ
Dr.Fuzzy Δημοσ. 13 Σεπτεμβρίου 2009 Δημοσ. 13 Σεπτεμβρίου 2009 Και ναι το matlab δε κάνει για τα πάντα,είναι πολλές φορές πάρα πολύ αργό για επιλύσεις κάποιων προβλημάτων.Υπάρχουν πάρα πολλά έτοιμα κομμάτια κώδικα για Fortran και δεν είναι παρωχημένη γλώσσα για αυτά που κάνει.Ειδικά σε εξηδεικευμένα προγράμματα όπως επίλυση δικτύων μεταφοράς ηλεκτρικής ενέργειας,ακόμη και τα προγράμματα εξομοίωσης αυτών τρέχουν από πίσω fortran. Ok,δε κάνει για να γράψεις κώδικα για drivers αλλά για γράψε εξειδικευμένα προγράμματα επίλυσης διαφορικών θες χιλίαδες γραμμές κώδικα. Κάνεις μεγάλο λάθος! Το MATLAB δεν είναι καθόλου αργό αν γράφεις σωστό κώδικα (preallocate τις μεταβλητές, δεν χρησιμοποιείς for loops, clear τις μεταβλητές κλπ κλπ). Σε μερικές περιπτώσεις είναι πιο γρήγορο από C++ και Fortran (http://www.stats.uwo.ca/faculty/aim/epubs/MatrixInverseTiming/default.htm )
psapikas Δημοσ. 13 Σεπτεμβρίου 2009 Δημοσ. 13 Σεπτεμβρίου 2009 Έχω ξεκινήσει εκμάθηση της γλώσσας Fortran 90/95 με ένα βιβλίο.Προσπαθώντας να δοκιμάσω ένα απο τα πολλά παραδείγματα που περιέχει,ενώ δεν βγάζει σφάλμα δεν τυπώνει το αποτέλεσμα που πρέπει αλλα βγάζει ενα μακροσκελές μήνυμα.Το δε txt αρχείο που δημιουργείται είναι κενό. Δεν ξέρω αν ευθύνεται η έκδοση που έχω,αν μπορεί κάποιος που έχει Forτran ας τρέξει τον παρακάτω κώδικα. > IMPLICIT NONE REAL::MESOS_OROS_FOITHTH,MESOS_OROS_TAXHS,S,A,B,C,D INTEGER::I,N OPEN(9,FILE='INPUT.TXT') READ(9,*) A,B,C,D S=0. DO I=1,N READ(9,*) A,B,C,D MESOS_OROS_FOITHTH=(A+B+C+D)/4. WRITE(*,*) 'MESOS_OROS_FOITHTH',I,' ',MESOS_OROS_FOITHTH S=S+MESOS_OROS_FOITHTH END DO MESOS_OROS_TAXHS=S/N WRITE(*,*) 'MESOS_OROS_TAXHS=',MESOS_OROS_TAXHS STOP END Δοκίμασα και άλλα δύο παρόμοια παραδείγματα και πάλι τζίφος. Καλησπέρα, Χωρίς να θυμάμαι πολλά από fortran... το Ν που είναι ορισμένο ή που διαβάζεται/δίνεται???
eliascm21 Δημοσ. 13 Σεπτεμβρίου 2009 Δημοσ. 13 Σεπτεμβρίου 2009 H Fortran είναι μια obsolete γλώσσα και ο μόνος λόγος που διδάσκεται ακόμα στο Ελλαδιστάν (πουθενά αλλού, παντού κάνουν MATLAB!) είναι γιατί δυστυχώς κάποιοι καθηγητές που έγραψαν τα βιβλία τους το '80 απλά δεν θέλουν ή σιγά μην μπουν στον κόπο να τα ανανεώσουν ή να τα ξαναγράψουν με κάποιο πιο σύγχρονο standard (α ρε καταραμένη αξιολόγηση...)! xaaxaxaxaxax. Η Fortran διδάσκεται μόνο την Ελλάδα. Καλό! Οι καθηγητές που είχα εγώ, γνώριζαν άριστα εκτός από fortran και C και C++ και Java. Αλλά χρησιμοποιούσαν την κάθε μία εκεί που έπρεπε.
Blue1 Δημοσ. 13 Σεπτεμβρίου 2009 Μέλος Δημοσ. 13 Σεπτεμβρίου 2009 Ποιό περιβάλλον ανάπτυξης χρησιμοποιείς;Ίσως φταίει κάτι με τον compiler σου.Δε βλέπω κάποιο λάθος με το κωδικά σου. Visual Fortran 6.0,την ίδια χρησιμοποιεί και ο συγγραφέας του βιβλίου. ---------- Το μήνυμα προστέθηκε στις 15:19 ---------- Το μήνυμα που βγάζει κατα την εκτέλεση του προγράμματος. forrtl: severe (24): end-of-file during read, unit 9, file C:\Program Files\Micr osoft Visual Studio\Common\MSDEV98\My Projects\Celsus2\INPUT.TXT Image PC Routine Line Source a8roisma.exe 0040B399 Unknown Unknown Unknown a8roisma.exe 0040B193 Unknown Unknown Unknown a8roisma.exe 0040A324 Unknown Unknown Unknown a8roisma.exe 0040A59E Unknown Unknown Unknown a8roisma.exe 00403F7E Unknown Unknown Unknown a8roisma.exe 004010B8 Unknown Unknown Unknown a8roisma.exe 00433079 Unknown Unknown Unknown a8roisma.exe 00426E94 Unknown Unknown Unknown kernel32.dll 7C816FD7 Unknown Unknown Unknown Incrementally linked image--PC correlation disabled. Press any key to continue
kagelos Δημοσ. 13 Σεπτεμβρίου 2009 Δημοσ. 13 Σεπτεμβρίου 2009 Το μήνυμα αυτό είναι εκτός topic Και από multithreading ας πούμε σε 1000επεξεργαστές πώς τα πάει η matlab? Μήπως πάτος? Φαντάζομαι ότι αναφέρεσαι στο parallel processing και όχι στο multi threading συγκεκριμένα. Επίσης συμπεραίνω ότι ποτέ δεν έχεις γράψει λογισμικό που να εκτελείται παράλληλα και απλά το αναφέρεις επειδή κάπου το άκουσες. Στην Fortran χρησιμοποιούν το OpenMP το οποίο είναι API για parallel computing για C, C++, Fortran και πολλές άλλες γλώσσες. Κάποτε η Fortran είχε τις πιο γρήγορες βιβλιοθήκες για floating point operations και έχει πλέον τεράστια κληρονομιά από το community. Παρόλα αυτά είναι μια ξεπερασμένη γλώσσα που την χρησιμοποιούν οι κολλημένοι ... αυτοί που λένε ατάκες του τύπου "αν θέλεις να γράψεις drivers μάθε C++".
gtroza Δημοσ. 13 Σεπτεμβρίου 2009 Δημοσ. 13 Σεπτεμβρίου 2009 άμα σπουδάζεις γεωπόνος και "κρέμεσαι" σε μιά mosanto τότε λειτουργείς ως "πλασιέ" όχι ως επιστήμονας βέβαια είναι τίμια εργασία αλλά "εμπορικού" χαρακτήρα κυρίως .
kagelos Δημοσ. 13 Σεπτεμβρίου 2009 Δημοσ. 13 Σεπτεμβρίου 2009 Προσωπικά το Matlab το έφερα σαν παράδειγμα. Για μένα μπορείς κάλλιστα να γράψεις σε javascript, vb, c, c++ και ότι άλλο αυτό που θα έγραφες σε Fortran ενδεχομένως με αρκετά πλεονεκτήματα σήμερα. Τώρα το ότι μερικοί φέρνεται σαν μειονέκτημα ότι π.χ. το Matlab δεν είναι δωρεάν, η κουβέντα αυτή είναι πολύ μεγάλη. Ο εξοπλισμός ενός εργαστηρίου είναι δωρεάν; Τα PC είναι δωρεάν; Οι γραμμές είναι δωρεάν; Ρωτάει κάποιος τι θα γίνει όταν κλείσει η Mathworks, και ρωτάω τι θα γίνει όταν ένα group παρατήσει το open source project που φτιάχνει; Θα το συνεχίσει κανένας; Πότε θα γίνει αυτό; Θα υπάρχει support? Θα θα θα;
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.