411 REFERENCE · Wikipedia
फ़ोरट्रान
Reference material by Wikipedia contributors. This retains its source identity and is not 411 news reporting.
फोरट्रान (अंग्रेज़ी: Fortran/पहले FORTRAN) एक प्रोग्रामन भाषा है जिसका विकास 1950 के दशक में हुआ था। तब से लेकर अबतक इस भाषा के कई संस्करण निकल चुके हैं यथा - FORRTAN66, Fortran77, Fortran90 और Fortran95। इसका विकास आईबीएम में सूत्र अनुकूटक (Formula Translater) के रूप में हुआ था। आज यह गणकीय तरल यांत्रिकी में बहुत प्रयुक्त होता है।
इसके कई कंपाइलर लिखे गए हैं, जैसे आईबीएम (मूल), एचपी, जीएनयू तथा अन्य कई। इसकी एक पंक्ति में 72 से अधिक वर्ण नहीं लिखे जा सकते हैं। पंक्ति के अंत में अर्धविराम नहीं लगता है। इस संदर्भ में इसकी तुलना C/C++ जैसी भाषाओं से की जा सकती है जिसमें अनुदेश खत्म होने के बाद एक अर्धविराम लगाना आवश्यक होता है।
फोर्ट्रान के विभिन्न संस्करण
1956. Fortran I
1958. Fortran IIen John Backus The history of FORTRAN I, II, and III ACM SIGPLAN Notices 13 8 août 1978 165-180 http://www.softwarepreservation.org/projects/FORTRAN/paper/p165-backus.pdf 10.1145/960118.808380 19 दिसंबर 2016 https://web.archive.org/web/20160303230833/http://www.softwarepreservation.org/projects/FORTRAN/paper/p165-backus.pdf 3 मार्च 2016 non
1959. Fortran III
1962. Fortran IV
1964. Fortran V
1965। standard ECMA Fortran Standard ECMA Fortran https://web.archive.org/web/20111018065842/http://www.ecma-international.org/publications/files/ECMA-ST-WITHDRAWN/ECMA-9,%201st%20Edition,%20April%201965.pdf 18 अक्तूबर 2011
1966. Fortran 66 (USASI X3.9-1966) Standard Fortran 66 https://web.archive.org/web/20110515143149/http://www.fh-jena.de/~kleine/history/languages/ansi-x3dot9-1966-Fortran66.pdf 15 मई 2011
1978. Fortran 77 (ANSI X3.9-1978) Standard Fortran 77 https://web.archive.org/web/20110615185307/http://www.fh-jena.de/~kleine/history/languages/ansi-x3dot9-1978-Fortran77.pdf 15 जून 2011 en Frank Engel, Jr. Draft proposed ANS FORTRAN BSR X3.9 X3J3/76 ACM SIGPLAN Notices 11 3 mars 1976 1-212 10.1145/956013.1070892
1991. Fortran 90 (ISO/IEC 1539:1991 फिर ANSI X3.198-1992) Standard Fortran 90जून 2020 InternetArchiveBot
1992 IEEE 1003.9-1992, Fortran 77 of the POSIX standardhttp://standards.ieee.org/findstds/standard/1003.9-1992.html IEEE 1003.9-1992 - POSIX(R) FORTRAN 77 Language Interfaces - Part 1: Binding for System Application Program Interface (API) 19 दिसंबर 2016 https://web.archive.org/web/20101206030751/http://standards.ieee.org/findstds/standard/1003.9-1992.html 6 दिसंबर 2010 dead .
1994 ISO/IEC 1539-2:1994
1997. Fortran 95 (ISO/CEI 1539-1:1997) Standard Fortran 95 https://web.archive.org/web/20110818190618/http://j3-fortran.org/doc/standing/archive/007/97-007r2/pdf/97-007r2.pdf 18 अगस्त 2011
1999 ISO/IEC 1539-3:1999
2004. Fortran 2003 (ISO/CEI 1539-1:2004) Standard Fortran 2003 https://web.archive.org/web/20050504185553/http://www.j3-fortran.org/doc/year/04/04-007.pdf 4 मई 2005
2010. Fortran 2008 (ISO/CEI 1539-1:2010) Standard Fortran 2008 https://web.archive.org/web/20150513230112/http://j3-fortran.org/doc/year/10/10-007r1.pdf 13 मई 2015 .
अगला संस्करण « Fortran 2015 », होगा, जो मामूली परिवर्तनों के साथ होगा।http://software.intel.com/en-us/blogs/2013/08/08/doctor-fortran-goes-dutch-fortran-2015 Doctor Fortran Goes Dutch: Fortran 2015 19 दिसंबर 2016 https://web.archive.org/web/20170224023939/https://software.intel.com/en-us/blogs/2013/08/08/doctor-fortran-goes-dutch-fortran-2015 24 फ़रवरी 2017 live F2015 Working Document https://web.archive.org/web/20170113151323/http://j3-fortran.org/doc/year/16/16-007r2.pdf 13 जनवरी 2017 , J3, 31 août 2016.
फोरट्रान कोड के उदाहरण
निम्नलिखित प्रोग्राम, इन्टरैक्टिव रूप से इन्टर किये गये डेटा का औसत (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
श्रेणी:प्रोग्रामिंग भाषा