当前位置: 首页 > news >正文

结合DrRacket学习《如何设计程序,第二版》

如何设计程序语言

DrRacket用于学习程序语言和设计程序语言,如何设计程序手册:How to Design Programs

如何设计程序,第二版:How to Design Programs, Second Edition

系统程序设计

设计师需遵循一系列严谨且系统的步骤:

首先,要深入剖析问题陈述,这类陈述通常以文字问题的形式呈现;

接着,需抽象地提炼并精准表达问题的本质;

随后,通过具体实例来阐释这一本质;

基于上述分析,制定清晰的大纲与详细的计划;

依据预期成果对实际结果进行评估;

针对未通过的检查与测试,对产品进行相应修改。

在上述每一个步骤中,分析能力、精准度、清晰的描述、明确的重点以及对细节的密切关注都不可或缺。任何经验丰富的企业家、工程师、记者、律师、科学家,或是其他领域的专业人士,都能阐释这些技能在其日常工作中的必要性。而练习设计规划——无论是在纸上勾勒,还是在 DrRacket 中实操——都是获取这些技能的愉悦途径。

同样,优化设计并非仅局限于计算机科学和程序开发领域。建筑师、作曲家、作家等专业人士同样需要践行这一过程。他们从脑海中的灵感出发,以某种形式将其本质呈现出来。他们在纸上反复打磨这些想法,直至产品尽可能贴合其心中的构想。当他们将想法诉诸笔端时,所采用的技能与专注的设计流程颇为相似:绘画、写作或弹奏钢琴,用以构建、描绘人物性格或谱写旋律。而让他们能够在迭代开发过程中保持高效的,是他们已经融会贯通了基本的设计方法,并学会了如何根据当前情境挑选最合适的一种。

已创建中文Lisp方言的Racket语言扩展基础框架,包含主模块、示例程序和包配置。当前需先完成Racket环境安装:

1. 访问 官网下载 安装程序
2. 安装时勾选'Add to PATH'选项
3. 安装完成后在项目目录执行:

raco pkg install --auto chinese-lisp
raco test example.rkt

 系统

系统的程序设计

一个程序与人互动,称为用户,以及其他程序,在这种情况下,我们谈到服务器客户 成分。因此,任何合理完整的程序都由许多构建块组成:有些处理输入,有些会产生输出,而有些则弥合了这两者之间的差距。我们选择使用函数作为基本构建块,因为每个人都会在代数前遇到功能,并且最简单的程序只是这样的功能。关键是要发现需要哪些功能,如何连接它们以及如何从基本成分中构建它们。

在这种情况下,“系统的程序设计”是指两个概念的混合:设计食谱和迭代精致。我们从迈克尔·杰克逊(Michael Jackson)创建COBOL程序的方法以及与Daniel Friedman的递归有关的对话,Robert Harper的类型理论和丹尼尔·杰克逊(Daniel Jackson)的软件设计中的对话中汲取了灵感。设计食谱是作者的创建,在这里,它们可以使用后者。

  1. 从问题分析到数据定义

    确定必须表示的信息以及在所选编程语言中如何表示。制定数据定义并用示例说明它们。

  2. 签名,目的声明,标题

    说明所需功能会消耗和产生的数据。为问题提出简洁的答案什么功能计算。定义一个符合签名的存根。

  3. 功能示例

    通过说明函数目的的示例来工作。

  4. 功能模板

    将数据定义转换为函数的轮廓。

  5. 功能定义

    填写功能模板中的空白。利用目的声明和示例。

  6. 测试

    将示例阐明​​为测试,并确保该函数通过全部。这样做发现了错误。测试还补充了示例,因为它们可以帮助其他人在需要时阅读和理解定义 - 任何严肃的计划都会出现。

相关文章:

  • 数据库原理及应用mysql版陈业斌实验二
  • 小迪安全-php模型,mvc架构,动态调试未授权,脆弱及安全,为引用。逻辑错误
  • Qt中QApplication::processEvents()详细讲解
  • 定长内存池设计核心:如何用固定块内存实现零碎片管理
  • Python备赛笔记2
  • 5分钟学会interface(纯标题党)
  • 在GitHub中上传第一个文件
  • 如何优化SQL查询以提高数据库性能?
  • 科技快讯 | 谷歌正在推出Gemini实时人工智能视频功能;意大利出版全球首份“AI报纸”
  • 【C++】 —— 笔试刷题day_8
  • (十八)面向对象的三大特性:封装 、继承、多态
  • 速卖通API数据清洗实战:从原始JSON到结构化商品数据库
  • 收货地址区域
  • 基于python+django的商城网站-电子商城管理系统源码+运行
  • 详解vector容器
  • AI Agent开发与应用
  • MTK Android12-Android13 设置系统默认语言
  • 服务器修改内存后Oracle无法正常启动
  • Contactile三轴触觉传感器:多维力感赋能机器人抓取
  • PCL 点云多平面探测
  • 河南做网站企起/什么是互联网销售
  • 网站软文写作要求/百度快照关键词推广
  • 微信支付申请网站建设未完成/关键词指数查询工具
  • 化妆网站建设的目的/长春网站推广公司
  • 手机里编辑 Wordpress/湖南网站建设推广优化
  • 网站建设与管理实训课程/软考培训机构排名