- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
IF(IT.LE.49) GO TO 476 ! 00335000
WRITE(*,70107) ! 00336000
70107 FORMAT(" ","CONVERGENCE FLAG: UNABLE TO ACHIEVE SATISFACTORY CLUST1ERS AFTER 50 ITERATIONS.") ! 00338000
476 WRITE(6,466) ! 00339000
466 FORMAT(" ",//," NO. OF CLUSTERS",3X,"PART. COEFF.",5X,"LOWER BOUND",5X,"ENTROPY",5X,"NUMBER OF ITERATIONS")
I have been programming Fortran since 1978, I have seen the ! 0033500 numbers before - but what were they for?
Did these olden day folk, always use the if ..... goto ... instead of a proper if then else etc...
Link Copied
- « Previous
-
- 1
- 2
- Next »
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
@TonyRichards commented :
I liked the GO TO and agree depths of IFs, Elseifs endifs can be difficult to interpret at times.
--------------------
This latest Fuzzy Means has some hard to follow goto statements so cleaning those up has made a world of difference.
--------------------------------------------------------
The other problem is for a short program if you have a read statement and you include a end section, then you have code such as
goto 2100
2000 Stop 'End of file'
2100 continue
END ! of test program
this to get around the end line. Any suggestions on improvement would be welcome. If you put the read in a subroutine you can use the return to screen off the 2000 statement, but not in main.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I too learned Fortran IV with punched cards. The punching machines were always busy. One day I found one that was opened and spent several hours typing my program. I then waited for the results after submiiting the card deck only to find that I had used an EBCDIC punch machine instead of BCD and had to repeat that proecess on a correct punch.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
When I was much younger and I was setting up the offices first systems, ethernet did not exist at our level, I can remember people making interesting mistakes, people sitting staring at computers and very frustrated, tears were common.
Solution pull the power cord, and say, God can be terrible, you are fine, just do it again. Never had the same mistake twice from the same person.
We all make mistakes.
Of course if one wants an introduction to the 15th century inquisition techniques ask IT a question about policy.
Current examples:
1. We only use Teams
2. We use Zoom I sent you a link a week ago
3. We cannot hear you, two weeks later you find out your ________ camera is not supported in drivers any longer
4. We want you to buy this computer for your office, I prefer XYZ, we do not - turns out theirs has a few interesting issues, read it is a goto statement to a statement on an old deck.
5. You cannot use Intel Fortran it is not on the approved list -- me it is Intel and FORTRAN - them so what is Fortran
6. No you cannot come into our office -- we have a number pad for approved entry -- send them the code a week later and tell them to cover the pad.
7. I could go on - ps feel free to add to the list
8. Daughter - Ba be - she speaks Chinese ba ba is (Dad) -- why is the TV so slow - I explain wifi and Firestick, she says can you fix it.
9. yes I suppose so -- buy a ____________ from ________ hard wire the TV in and she is so happy. Sometimes copper is wonderful.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2100 IF(MyErrorCode .NE. 0) STOP "Program error"
END
Jim Dempsey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Have you ever used this for file?
I had never used iostat on read, thank you, I should have thought of that.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I started with FORTRAN IV in 1966. Then I switched to other languages in the 90s. About 4 years ago, I had to reopen an old project with 20,000 lines of FORTRAN IV code. With help from this forum and many silly questions (especially Steve and others), I was able to get into it. First, I linked the FORTRAN code with C++ and CLI and created a DLL. I connect to the DLL from C#. In 2021, I decided to convert all FORTRAN code in this project to C++. I finished it few months ago.
I am attaching few graphics output from the program. Please contact me if anyone interested in my final product (gratis of course) or in my experiences during this process.
Happy holidays ....
I. Konuk
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
My memories of FORTRAN start in the early 1960's when as a graduate student at UC Berkeley I progressed from an IBM 704 to an IBM 7090 to an IBM 7094. I had come from Cambridge in 1960 with very basic training in computers because the computer was broken for the entire term that the course was held. In those early times we booked computer access and ran live sessions with a 5 card loader before our actual program and results came straight to the printer. Initially we used a machine language which meant a rewrite as the language evolved with each new machine. Thus, reluctantly (because we believed that machine languages would always be faster - how wrong we were), we moved to FORTRAN and I am still actively using it 60 years later. As for speeds we have moved from being happy with solving a few hundred equations once to solving hundreds of thousands of equations many times. As others have observed FORTRAN was often derided especially in Europe where ALGOL supposed to be much superior.
On interesting note on the subject of punched cards. In 1970 I was sent on a 6 month UN based assignment to apply a simulation model in Warsaw Poland. After some wrangling we were able to gain access to a Russian computer in a car factory for 2 sessions a week. One of our issues for the first 3 months was that the only available card punch was in the factory and we could only get access just before our allocated time. Thus after a factory session we returned with the printed output to our office and were forced to use a single hole punch to correct our mistakes. We carefully punched out a single chad as needed in a particular row and column. If we made a mistake we taped in a chad at the offending location and used a card copier to create a new restart point. Needless to say out progress in that 6 months was short of the project plan and I was back in Poland for a short stint a year later.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- « Previous
-
- 1
- 2
- Next »