फ़ोरट्रान
फोरट्रान (अंग्रेज़ी: Fortran/पहले FORTRAN) एक प्रोग्रामन भाषा है जिसका विकास 1950 के दशक में हुआ था। तब से लेकर अबतक इस भाषा के कई संस्करण निकल चुके हैं यथा - FORRTAN66, Fortran77, Fortran90 और Fortran95। इसका विकास आईबीएम में सूत्र अनुकूटक (Formula Translater) के रूप में हुआ था। आज यह गणकीय तरल यांत्रिकी में बहुत प्रयुक्त होता है।
इसके कई कंपाइलर लिखे गए हैं, जैसे आईबीएम (मूल), एचपी, जीएनयू तथा अन्य कई। इसकी एक पंक्ति में 72 से अधिक वर्ण नहीं लिखे जा सकते हैं। पंक्ति के अंत में अर्धविराम नहीं लगता है। इस संदर्भ में इसकी तुलना C/C++ जैसी भाषाओं से की जा सकती है जिसमें अनुदेश खत्म होने के बाद एक अर्धविराम लगाना आवश्यक होता है।
फोर्ट्रान के विभिन्न संस्करण
- 1956. Fortran I
- 1958. Fortran II[१]
- 1959. Fortran III
- 1962. Fortran IV
- 1964. Fortran V
- 1965। standard ECMA Fortran[२]
- 1966. Fortran 66 (USASI X3.9-1966)[३]
- 1991. Fortran 90 (ISO/IEC 1539:1991 फिर ANSI X3.198-1992)[६]
- 1992 IEEE 1003.9-1992, Fortran 77 of the POSIX standard[७].
- 1994 ISO/IEC 1539-2:1994
- 1997. Fortran 95 (ISO/CEI 1539-1:1997)[८]
- 1999 ISO/IEC 1539-3:1999
- 2004. Fortran 2003 (ISO/CEI 1539-1:2004)[९]
- 2010. Fortran 2008 (ISO/CEI 1539-1:2010)[१०].
फोरट्रान कोड के उदाहरण
निम्नलिखित प्रोग्राम, इन्टरैक्टिव रूप से इन्टर किये गये डेटा का औसत (average) निकालता है। इस प्रोग्राम में Fortran 90 के दो विशेष गुणों- डायनेमिक मेमोरी अल्लोकेशन तथा अर्रे-आधारित-संक्रियाएँ को दर्शाता है। ध्यान दीजिये कि इसमें DO
लूप तथा IF
/THEN
का उपयोग करके अर्रे (array) को किस प्रकार परिवर्तित किया गया है।
program average
! Read in some numbers and take the average
! As written, if there are no data points, an average of zero is returned
! While this may not be desired behavior, it keeps this example simple
implicit none
real, dimension(:), allocatable :: points
integer :: number_of_points
real :: average_points=0., positive_average=0., negative_average=0.
write (*,*) "Input number of points to average:"
read (*,*) number_of_points
allocate (points(number_of_points))
write (*,*) "Enter the points to average:"
read (*,*) points
! Take the average by summing points and dividing by number_of_points
if (number_of_points > 0) average_points = sum(points) / number_of_points
! Now form average over positive and negative points only
if (count(points > 0.) > 0) then
positive_average = sum(points, points > 0.) / count(points > 0.)
end if
if (count(points < 0.) > 0) then
negative_average = sum(points, points < 0.) / count(points < 0.)
end if
deallocate (points)
! Print result to terminal
write (*,'(a,g12.4)') 'Average = ', average_points
write (*,'(a,g12.4)') 'Average of positive points = ', positive_average
write (*,'(a,g12.4)') 'Average of negative points = ', negative_average
end program average
- ↑ साँचा:Article
- ↑ साँचा:pdf Standard ECMA Fortran स्क्रिप्ट त्रुटि: "webarchive" ऐसा कोई मॉड्यूल नहीं है।
- ↑ साँचा:pdf Standard Fortran 66 स्क्रिप्ट त्रुटि: "webarchive" ऐसा कोई मॉड्यूल नहीं है।
- ↑ साँचा:pdf Standard Fortran 77 स्क्रिप्ट त्रुटि: "webarchive" ऐसा कोई मॉड्यूल नहीं है।
- ↑ साँचा:article
- ↑ साँचा:pdf Standard Fortran 90साँचा:category handlerसाँचा:main otherसाँचा:main other[dead link]
- ↑ स्क्रिप्ट त्रुटि: "citation/CS1" ऐसा कोई मॉड्यूल नहीं है।
- ↑ साँचा:pdf Standard Fortran 95 स्क्रिप्ट त्रुटि: "webarchive" ऐसा कोई मॉड्यूल नहीं है।
- ↑ साँचा:pdf Standard Fortran 2003 स्क्रिप्ट त्रुटि: "webarchive" ऐसा कोई मॉड्यूल नहीं है।
- ↑ साँचा:pdf Standard Fortran 2008 स्क्रिप्ट त्रुटि: "webarchive" ऐसा कोई मॉड्यूल नहीं है।
- ↑ स्क्रिप्ट त्रुटि: "citation/CS1" ऐसा कोई मॉड्यूल नहीं है।
- ↑ साँचा:pdf F2015 Working Document स्क्रिप्ट त्रुटि: "webarchive" ऐसा कोई मॉड्यूल नहीं है।, J3, साँचा:date