PROGRAM DESIGN BY INFORMAL ENGLISH DESCRIPTIONS

PROGRAM DESIGN BY INFORMAL ENGLISH DESCRIPTIONS
复制标题

DOI:
10.1145/182.358441
复制
发表时间:
1983-01-01
影响因子:
22.7
通讯作者:
ABBOTT, RJ
ABBOTT, RJ
中科院分区:
计算机科学3区
文献类型:
--
作者:
ABBOTT, RJ

文献摘要

被引文献

相似文献

本文通过演示如何将最初用英语陈述的任意过程转换成用Ada编写的程序来说明数据类型在程序设计中的使用。1生成的程序与原始的英文算法非常接近。最引人注目的是名词短语~n与程序中的数据类型和程序对象之间的相似之处。本文主要讨论这种对应关系,以及如何在名词短语、数据类型和对象之间进行转换。我们从程序设计的传统观点讨论程序开发--其中程序是一系列处理步骤。我们关注的是一个人通过创建程序来实现编程目标的过程,我们已经给出了对目标的直观描述。大多数程序员发现自己大部分时间都处于这种情况。在解决这样的问题时,必须开发要执行的过程和要在其上执行该过程的对象集合。该过程的开发与对象定义的开发并行进行。虽然肯定不像Dijkstra[3]、Hoare[6]、Wirth[10]和其他人的方法那样正式,但重点是相似的--开发精确和可理解的程序。所提出的方法扩展了Parns[8]和Liskov[7]的方法,并使之更加直观。具体地说,本文将常见名词识别为自然名词
This article illustrates the use of data types in program design by demonstrating how an arbitrary procedure, initially stated in English, can be transformed into a program written in Ada. 1 The resulting program corresponds quite closely to the original English algorithm. Most striking is the parallel between the noun phrases~ n the original and the data types and program objects in the program. The bulk of this article is a discussion of that correspondence and of how to make the transformation between noun phrases and data types and objects.We discuss program development from the traditional viewpoint of program design--where a program is a sequence of processing steps. We focus on the process by which one creates a program to achieve a programming goal, having been given an intuitive description of the goal. Most programmers find themselves in this situation most of the time. In solving such a problem, one must develop both a process to be performed and a collection of objects on which to perform it. Development of the process proceeds in parallel with the development of the object definitions. Although certainly not as formal as the methods of Dijkstra [3], Hoare [6], Wirth [10], and others, the focus is similar--the development of precise and understandable programs. The method presented extends and makes more intuitive the approaches of, for example, Parnas [8] and Liskov [7]. In particular, the paper identifies common nouns as a natural