如何设计程序(design programs)

你想设计一个计算机程序吗?设计一个程序时需要考虑很多,但是有一些事情可以帮助简化流程。这本维基教你设计计算机程序的基本步骤。...

步骤

  1. 1确定项目的总体目标。这只是一个整体陈述,用一两句话来解释你的程序的功能。你课程的目的是什么?它解决了什么问题?例如,“我的程序将创建一个随机的地牢。”
  2. Image titled Design Programs Step 1
  3. 2确定你的程序有哪些限制或要求。你的程序必须有什么东西吗?这可能是最后期限、预算、存储空间和内存限制,或者是其他类似程序所缺乏的一项特殊功能。例如,“随机生成的地下城必须有一条从入口到出口的通道。”
  4. Image titled Design Programs Step 2
  5. 3了解是否有任何技术可以满足您的需求。你并不总是需要从头开始设计一个新的程序。有时,你可以找到预先制作好的程序和工具,或是程序和工具的组合,来完成你所需要的。通过使用现有的解决方案来解决遇到的问题,可以节省大量时间和资源。例如,您可以使用开源程序和预先编写的代码来构建功能齐全的应用程序。开源程序通常是免费使用的,您可以修改源代码以满足您的需要。你只需要相信原始代码的作者。你可以使用预先编写的代码或开源应用程序来保存你的数据
  6. Image titled Design Programs Step 3
  7. 4确定您将使用哪种编程语言。如果可能的话,建议您选择一种熟悉的语言。然而,在某些情况下,最好选择一种更适合预期操作系统的编程语言,或适合您打算创建的程序类型。C/C++是很好的通用语言。它们是使用最广泛的语言,可以让您对应用程序和计算机硬件进行最大程度的控制。C~(c)(发音为C)是一种较新的C++版本。它具有一些新的特性,并且更容易学习C++。Java:Java是一种流行的面向对象编程语言,并且越来越流行。它是Android应用程序的主要编程语言。它还可以用于创建计算机应用程序。例如,Minecraft最初是用Java编程的。Swift:Swift由苹果公司开发,主要用于开发iPhone、iPad、macOS、Apple TV等应用程序。Python:Python是另一种流行的多用途语言。对于初学者来说,这是一门很好的语言,因为它易于学习和使用。
  8. Image titled Design Programs Step 4
  9. 5确定你要使用的工具。在你决定一种编程语言之后,决定你要使用什么工具。您将使用集成开发环境(IDE)吗?你需要编译器还是解释器?你将如何调试你的程序?您是否可以使用任何第三方应用程序?你也应该想办法备份你的代码。IDE是一种综合性的软件开发工具,包括代码编辑器、调试器、构建工具,有时还包括编译器。流行的IDE包括Eclipse和Visual Studio。编译器:像C/C++这样的语言需要一个编译器将代码转换成计算机可以理解的机器语言。GCC是一个可以编译C和C++的免费编译器。解释器:Java和Python是不需要编译的语言。然而,他们确实需要一个解释器来执行指令。OpenJDK可以解释Java,Python在其网站上有一个解释器。
  10. Image titled Design Programs Step 5
  11. 6确定程序的输出。程序的输出是程序将产生的结果。用户看到的每个屏幕以及每个打印的报表或报告都被视为程序输出。如果节目中有任何音频成分,也被视为节目。您需要确定用户用于输入数据的每个屏幕、每个打印页面和每个字段上都会显示什么。
  12. Image titled Design Programs Step 6
  13. 7确定程序的输入。程序的输入是程序用来产生输出的数据。输入可以来自用户、硬件设备、其他程序、外部文件或写入代码。一定要考虑尽可能多的可能性,特别是在处理用户输入时。
  14. Image titled Design Programs Step 7
  15. 8.确定主要功能。在确定了程序的输入和输出后,开始创建一个基本的大纲,说明如何将输入转换为输出。想想它需要执行哪些功能,可能需要进行哪些计算。你可以创建一个流程图来概述这个过程,或者只是在纸上列出一个清单。
  16. Image titled Design Programs Step 8
  17. 9.把大问题分解成小问题。一旦确定了程序的主要功能,就可以开始将其分解为更小的细节。这将帮助您确定每个功能的工作方式。一种方法是使用伪代码。伪代码是不可编译的文本,用于解释每行代码需要执行的操作。例如“如果玩家有金钥匙,打开门。否则,门关闭”。
  18. Image titled Design Programs Step 9
  19. 10开始对主要功能进行编码。它们不需要填写。只要确保它们存在。这样你就有了一个提纲,有助于保持你的计划井然有序。
  20. Image titled Design Programs Step 10
  21. 11填写函数。从那些很少或根本不依赖其他功能的功能开始。先解决大问题。然后专注于较小的细节。
  22. Image titled Design Programs Step 11
  23. 12测试你的程序。你需要经常测试你的程序。每次实现一个新函数时,都需要查看它是否正常工作。尝试使用各种输入,看看你的程序在不同情况下是如何工作的。让其他人测试你的程序,看看真正的用户是如何与你的程序交互的。使用Print语句测试不同的变量和代码段。
  24. Image titled Design Programs Step 12
  25. 13解决您遇到的任何问题。无论何时编码,几乎可以肯定会遇到一些问题。这里有一些技巧可以帮助你解决遇到的任何问题:检查语法,确保你的代码类型正确。检查并确保拼写正确。用谷歌搜索你收到的任何错误信息,看看是否有解决方案。在线查看是否有其他人创建了与您类似功能的代码。看看他们的解决方案是什么。休息一下,稍后再来。寻求帮助。
  26. Image titled Design Programs Step 13
  27. 14.完成你的计划。一旦你完成了所有的功能,并且你可以在没有任何错误或崩溃的情况下用各种输入运行你的程序,你的程序就完成了。你可以把它交上来或出版。
  28. Image titled Design Programs Step 14
  • 发表于 2022-03-22 04:48
  • 阅读 ( 68 )
  • 分类:IT

你可能感兴趣的文章

函数式程序设计(functional programming)和命令式程序设计(imperative programming)的区别

...式的命令式编程 6.摘要 什么是函数式程序设计(functional programming)? 函数式程序设计是以数学为基础的。函数式编程背后的关键原则是,所有的计算都被看作是独立数学函数的组合。数学函数将输入映射到输出。假设有一个函数...

  • 发布于 2020-10-19 02:12
  • 阅读 ( 479 )

为什么无法在windows中同时卸载多个程序?

...程序: Why does Windows keep you from uninstalling or removing multiple programs simultaneously? What is the reasoning behind this? Will it mess up an internal system? I do not want to uninstall multiple programs simultaneously, I am simply looking for the reason(s) why it would not be an option....

  • 发布于 2021-04-11 10:47
  • 阅读 ( 153 )

软件设计(software design)和软件体系结构(software architecture)的区别

...软件设计模式来解决特定问题。 Figure 1: Developing a Software Program 设计模式主要有三种类型。 创造性设计模式——这些模式涉及到创建对象的方式。它们在实例化对象时使用。此外,Singleton、prototype和factory是一些创造性设计模式...

  • 发布于 2021-07-01 17:48
  • 阅读 ( 683 )

程序文件(program files)和程序文件(x86)(program files (x86))的区别

...有两种不同的体系结构:32位体系结构和64位体系结构。Program Files文件夹包含64位应用程序运行所必需的文件,而Program Files(x86)包含32位应用程序的文件。 电脑已经成为你生活中不可或缺的一部分,从娱乐到工作,许多人都依...

  • 发布于 2021-07-12 13:11
  • 阅读 ( 122 )

如何为你的教室设计一个笔友程序(design a pen pal program for your classroom)

笔友计划是给孩子们上社会学、语言艺术、地理等现实生活课程的最有趣的方式之一。尽可能早地在学年开始与你的学生学习笔友,这样你就可以最大限度地增加参与者可以交流的信件数量。 笔友的好处 笔友关系为您的学...

  • 发布于 2021-10-07 20:34
  • 阅读 ( 242 )

如何我选择最好的3d设计软件?(i choose the best 3d design software?)

最好的三维(3D)设计软件应能执行完成项目所需的特定3D任务。此外,界面应该直观且易于使用,因为在三维空间中操作对象会很快变得混乱和复杂。三维设计软件的渲染...

  • 发布于 2021-12-06 15:34
  • 阅读 ( 184 )

如何我选择最好的开源网页设计软件?(i choose the best open source web design software?)

...使用图形界面,允许网站建设者在创建网站时看到网站将如何组合在一起。他们通过使用“所见即所得”(WYSIWYG)模板来实现这一点。 ...

  • 发布于 2021-12-06 17:57
  • 阅读 ( 165 )

如何我选择最好的网页设计软件?(i choose the best web design software?)

最好的网页设计软件可能取决于许多因素。您需要确定它需要有多先进,以及使用起来有多容易。如果你是或渴望成为一名专业的网页设计师,你将需要一款具有所有最新...

  • 发布于 2021-12-07 08:27
  • 阅读 ( 184 )

什么是生成性设计?(a generative design?)

...码在其元素上都有显著的相似性;不同之处在于这些元素如何排列以创造不同的物种。同样,生成性设计创造了一种独特的编程语言,并将“字母表”安排在不同的变体中,以产生无限的设计可能性。 ...

  • 发布于 2021-12-10 13:56
  • 阅读 ( 165 )

什么是建筑设计软件?(architectural design software?)

...确认文件批准和控制数字权限的手段。工作组协作,包括如何共享文件以及如何处理版本控制,对于团队项目来说非常重要。例如,MicroStation®使用Microsoft®SharePoint®,而ArchiCAD®使用BIM服务器®来协调团队合作并与客户共享。 ...

  • 发布于 2021-12-12 09:57
  • 阅读 ( 148 )