Προγραμματισμός Η/Υ (2011-12)

Συντονιστής: University Editors

MakisH
Οικονομική ενίσχυση στο MQN.gr
Οικονομική ενίσχυση στο MQN.gr
Δημοσιεύσεις: 307
Εγγραφή: Δευτ, 03 Μάιος 2010 10:57 pm
Έτος εισαγωγής: 2008
Τοποθεσία: Στους Χημικούς μηχ.
CONTACT:

Re: Προγραμματισμός Η/Υ (2011-12)

Δημοσίευση από MakisH »

Ποιος compiler σου έβγαζε αυτό το error και ποιον χρησιμοποίησες μετά;
(υποθέτω ο άλλος σου έβγαλε κάτι σε στυλ "variable is undefined")
Είχες βάλει implicit none;
Μου είναι χρήσιμο να το ξέρω! :)
Ζητούνται βιβλία στο Αναγνωστήριο Χημικών Μηχανικών! Στείλτε μου αν θέλετε να δώσετε.
pokerman
Δημοσιεύσεις: 216
Εγγραφή: Κυρ, 19 Οκτ 2008 5:45 pm

Re: Προγραμματισμός Η/Υ (2011-12)

Δημοσίευση από pokerman »

Αυτο το λαθος μου το εβγαλε το cloud , χρησιμοποιω το geny.

Εχω κατεβασει ενα Force 2.0 που μου εβγαλε σαν error σε ποια ακριβως γραμμη του προγραμματος ειχα την λαθος μεταβλητη.
Απλα αυτο δεν μπορω να το χρησιμοποιω γιατι εχω ενα loop με real αριθμους που κανονικα αυτο τρεχει μονο στην 77 αλλα για καποιο λογο το cloud το τρεχει και στην 95.

Δεν εχω βαλει implicit none
MakisH
Οικονομική ενίσχυση στο MQN.gr
Οικονομική ενίσχυση στο MQN.gr
Δημοσιεύσεις: 307
Εγγραφή: Δευτ, 03 Μάιος 2010 10:57 pm
Έτος εισαγωγής: 2008
Τοποθεσία: Στους Χημικούς μηχ.
CONTACT:

Re: Προγραμματισμός Η/Υ (2011-12)

Δημοσίευση από MakisH »

Ούτε το Geany ούτε το Force είναι compilers, αλλά περιβάλλοντα προγραμματισμού (βασικά text editors) που καλούν κάποιον compiler με κάποιες ρυθμίσεις (διαφορετικές ρυθμίσεις μπορούν να δώσουν διαφορετικά μηνύματα κατά το compilation). Αν έχεις κατεβάσει το Force από το πρώτο link, τότε έβαλε μαζί τον GFortran. Στο Cloud βλέπω χρησιμοποιεί επίσης GFortran. Μάλλον διαφορετικές ρυθμίσεις λοιπόν...

Το implicit none πριν τη δήλωση των μεταβλητών είναι εντολή που σώζει από ατέλειωτες ώρες debugging! Προτείνεται ανεπιφύλαχτα. Αν το έβαζες λογικά θα σου χτύπαγε κατευθείαν στο compilation μόλις έβρισκε αδήλωτη μεταβλητή (και θα σου έλεγε ότι είναι αυτό το πρόβλημα).

Πιθανόν να ανέχεται και σε νεότερο κώδικα real μετρητές (γενικώς η Fortran είναι πολύ backwards compatible) αλλά λογικά θα πρέπει να σου έχει βγάλει κάποιο Warning. Μπορείς να πετύχεις το ίδιο αποτέλεσμα με Do...enddo χωρίς μετρητή, αλλάζοντας την τιμή της μεταβλητής μέσα στο loop και βάζοντας ένα "If(συνθήκη) exit" για να το τερματίσεις. (αποφεύγω προσωπικά το Do While).
Ζητούνται βιβλία στο Αναγνωστήριο Χημικών Μηχανικών! Στείλτε μου αν θέλετε να δώσετε.
Κλειδωμένο

Επιστροφή στο