Video results for: advanced grammar in useMore results from video
Advanced English Grammar for ESL - The Perfect Tenses Chalk 'n' Talk is a new series of video lessons exploring advanced English grammar topics. (More) Chalk 'n' Talk is a new series of video lessons exploring advanced English grammar topics. The first lesson examines the use of perfect tenses in both the simple and continuous aspect - past, present and future forms. In grammatical terms, perfect tenses are used to refer to completed or finished events. (Less)
HISTORY 004 Here is some code written in Fortran IV (which I think is the same as Fortran 66). FORTRAN IV is a (More) Here is some code written in Fortran IV (which I think is the same as Fortran 66). FORTRAN IV is a "subset" of natural language, in the sense that one can simply describe in natural language, what any given statement in a FORTRAN IV program does. This does not mean that it is necessarily easy to read code written in FORTRAN IV. As an analogy, let us look at someone solving a Rubik cube. They have memorised a method (known to them) for solving the cube. But an onlooker may have no idea why the particular moves are being made.
In writing code in Fortran IV, it would be possible to provide parallel documentation to explain every step that had been taken and why. (Just as this could be done for each step to solve a Rubik cube). But the developer, given time constraints, may not have provided this very extensive documentation. (Hardly anyone ever does -- I have never seen it done, except in books teaching a programming language).
This is an example from code written at DAS (Specifications were given to me in late 1975. I cannot give the specifications here, as they have not been kept. However, we can "reverse engineer" the specifications from the code.
SUBROUTINE PRFORM
C USE: process columns of data repeatedly
C till end of data.
C then print out the partly filled last
C page (if it exists).
C
COMMON/CEOF/EOFIN
COMMON/CERR/ERROR
COMMON/CCOL/ICOL
LOGICAL EOFIN, ERROR
ICOL = 1
10 IF (EOFIN) GO TO 20
IF (ERROR) RETURN
C process one column of data
CALL PROCC GO TO 10
C print last page if present
20 IF (ICOL.NE.1) CALL WRIT
RETURN
END
The flag EOFIN is set by another subroutine, if we have run out of data.
Subroutine PROCC sets the flag EOFIN if it detects that data is missing.
ICOL is the column of data on the outpage page.
We loop, processing one column of data each time.
What I have written, effectively, in the above, code, is specifications that the subroutines PROCC and WRIT have to meet. I am required to write subroutines PROCC and WRIT so that the PRFORM function works correctly.
It is possible that a more advanced approach to specifying the output could have been taken -- could we have defined the input and output files using a grammar? Yes, I think the developer would be free to use this idea, if they wanted to, in their development of the subroutines PROCC and WRIT.
The subroutine PRFORM above did not do very much. It assumes that PROCC will maintain the ICOL value, and that error and eof flags will be set as required.
Is this good design? I recently asked Professor William Waite (from Colorado) for his ideas on how to assess the quality of Fortran IV code. He said that "quality is in the eye of the beholder" -- he did not think, that Dijkstra would have made any judgements about the quality of specific programs in Fortran IV, except to say that Fortran was "an infantile disorder". But I am not certain that Dijkstra knew much about Fortran IV - I think he had abandoned Fortran many years before Fortran IV arrived. (Less)
0521498686 hvanhtuan softarchive net
2009-07-29 - extension: rar - size: 4 MB
0521498686 hvanhtuan softarchive net
Advanced Grammar in Use With answers
Hosted on: rapidshare.com
Groups results for: advanced grammar in use