This article focuses on the techniques for representing strings in Fortran IV. FORTRAN IV is one of the most widely used programming languages, and programs written in FORTRAN tend to be quite portable. Although the l...
详细信息
This article focuses on the techniques for representing strings in Fortran IV. FORTRAN IV is one of the most widely used programming languages, and programs written in FORTRAN tend to be quite portable. Although the language has, at best, only primitive string-handling capabilities, many programs that deal primarily with strings are sometimes written in FORTRAN simply to achieve a degree of portability. It is the purpose of this note to illustrate a very simple technique for structuring and manipulating varying-length string data in FORTRAN IV. Two pieces of information characterize varying length strings--their location in memory and their length. In languages such as SNOBOL4 this information is usually contained in a descriptor. The location field, or first word of the complex variable, may be referenced by referencing the integer variable OFF. Likewise, the second word is referenced via the integer LEN. The complete string descriptor is referenced via the complex variable D. One advantage of the descriptor representation is that strings can overlap since there are no special markers embedded in the storage array.
Two definitions of algorithm, their uses, and their implied models of computing in society, are reviewed. The first, termed the structural programming definition, aligns more with usage in computer science, and as the...
详细信息
Two definitions of algorithm, their uses, and their implied models of computing in society, are reviewed. The first, termed the structural programming definition, aligns more with usage in computer science, and as the name suggests, the intellectual project of structured programming. The second, termed the systemic definition, is more informal and emerges from ethnographic observations of discussions of software in both professional and everyday settings. Specific examples of locating algorithms within modern codebases are shared, as well as code directly impacting social and ethical concerns. The structural distinction between algorithms and social concerns is explained as mirroring the engineering construct of algorithms and data structures. It is proposed that, rather than this separation being an attempt to enforce a professional boundary and evade social responsibility, it is a crucial technical distinction within code which makes it clearer and more transparent. The power structures reinforced by the broader, cultural interpretations of algorithm are reconsidered, along with what it would mean for software to have an inclusive design culture.
The aim of this paper is to dig out properties in program structures via natural numbers. With both concepts of homogeneous program and Godel number of program being established, the countable of homogeneous program w...
详细信息
The aim of this paper is to dig out properties in program structures via natural numbers. With both concepts of homogeneous program and Godel number of program being established, the countable of homogeneous program was proved and the relations between static homogeneous program and dynamic homogeneous program were discussed. Using the concepts program product presented in this paper, some general program structures based on structured programming are defined;their features were discussed in detailed and thus that loop and subroutine are all special types of branch structure was indicated. In addition, employing the relations between two Godel numbers of static structure and dynamic structure in the same program and two program products of them, the conditions of possessing structures of loop and subroutine in programs were found. The results discussed in the paper demonstrate researching programming methodology with Godel numbering is effective. Finally, the further research direction was also pointed out.
Low homology protein tertiary structure prediction with huge number of local minimums is investigated. A novel PSO-GA cooperative optimization algorithm, which combines particle swarm optimization with genetic algorit...
详细信息
Low homology protein tertiary structure prediction with huge number of local minimums is investigated. A novel PSO-GA cooperative optimization algorithm, which combines particle swarm optimization with genetic algorithm, is proposed by sharing the overall best solution. Simultaneously, the optimization is accelerated by running the two algorithms parallelly. Simulation results show that the precision of low homology protein tertiary structure prediction based on the proposed PSO-GA algorithm reaches 0.6 nm, much close to the international standard and much better than that by PSO or GA alone, with much better convergence rate.
With the development of mobile agent technology and the widespread of componentware, the requirements for a new componentware framework based on mobile agent technology are increasing. After analyzing the limitations ...
详细信息
With the development of mobile agent technology and the widespread of componentware, the requirements for a new componentware framework based on mobile agent technology are increasing. After analyzing the limitations of traditional componentware framework, a new componentware framework is proposed, which has better dynamic adaptability to network environments than the traditional componentware framework.
As part of a quality assurance effort directed at legacy systems, we examined a high-cost hard-to-maintain COBOL program. Although written originally in 1968, it had been restructured in 1985 and has been well maintai...
详细信息
As part of a quality assurance effort directed at legacy systems, we examined a high-cost hard-to-maintain COBOL program. Although written originally in 1968, it had been restructured in 1985 and has been well maintained since. It has the reputation of being 100 per cent well-structured in the software engineering sense, of being very reliable in execution in overnight batch, but of being expensive and difficult to maintain. Our examination covered cyclomatic complexity, iteration, language use, IF-nesting depth, program structure and hierarchical depth. Our most significant finding was the effective size of this nearly 600 module program. Instead of having an effective size (exampled in the paper) of nearly 1.0, its effective size exceeded 13000! This extreme effective size made the program much harder to understand when in maintenance than the program's source-list size and other characteristics would suggest. Our findings included identifying the cause of the extreme effective size. From our experience with this program, we learned seven lessons applicable to improving the maintenance of legacy systems.
暂无评论