关于伪代码的一些思考

编码是为了解决某种问题(不管是在OJ上A题,还是做项目),在解决问题之前应该先有的是对问题的充分分析(挖掘题目的隐含条件,分析项目的需求),只有对问题有了充分的了解,并且有了清晰的思路之后,编码就成了水到渠成的事。以前在OJ上做题的时候,都是看到题目就去写代码,从来不先去分析题目的各种条件,这种做法是错误的。

★什么是伪代码

是一种算法描述语言。它自身有很多的规定,其实这很好理解。就像当年秦始皇统一文字、货币一样。只有有了统一的标准,它才能得到广泛的应用。对于一个开发团队,使用这种伪代码容易让其他的人理解自己的想法或者思路。但是对于个人来讲(如果只是想自己来到OJ上做一个题),个人感觉可以无视这些所谓的规定,只是将自己的解题思路表述清楚,自己能够看懂就可以了。

★伪代码的好处

伪代码有清楚解决问题的思路的作用。分析问题后,肯定会制作一些解决问题的办法,然后用伪代码将这些思路表述清楚后,在编码的时候就会根据这思路一直进行下去。同时,还会启发自己的思路,想到多种解决问题的办法。

★实例分析

分析一个非常简单的题目。

题目:输出所有形如aabb的四位完全平方数(即前两个数字相等,后两个数字相等)

从题目中可以知道aabb是四位的数字,所以a!=0,但是b可以=0。然后,很容易得到这样的思路:

for(a = 1; a < 10; a++)
{
    for(b = 0; b < 10 ; b++)
    {
        if(aabb是完全平方数)
            printf("%d",aabb);
    }      

}

其中,在这里面还有两个小问题,第一个是aabb这个数怎样表示;第二个就是“aabb是完全平方数”这句话怎样表示。只要将这两个问题解决,这个程序也就会解决!

关于伪代码的一些思考

时间: 2025-01-16 09:20:21

关于伪代码的一些思考的相关文章

《大道至简》第一章读后感,java伪代码形式

import java.大道至简.*; import  java.io.*; import.java.愚公移山.*; public class YuGongYiShan { public static void main(String [] args) throws IOException { int  愚公: int  子孙: int 山=1: while(山==1&&山不增加) { if(愚公死) {有子存焉,子孙去完成移山的任务,何苦而不平,这个工程必定会实现:} else {愚公自

阅读《重构》的一些思考

终于在断断续续的情况下把这本经典巨作看完了. 这本书的全名叫做<重构-改善既有代码的设计>,原有的代码设计存在不足的地方让人感到不好维护,所以才需要去改善既有代码的设计,其实听起来会不会有点亡羊补牢的感觉?这里也提醒了我们一点:从设计代码的初期就要深思熟虑,虽然后续的改动基本无法避免,但良好的初期设计将对后续维护提供帮助.重构不是最终目的,我们的目的是让代码变得更好. 关于书的内容组织 不得不称赞的一点是作者的写作思路是非常清晰的.整本书的开始是由一个小型案例讲起,让读者了解重构是一项什么样的

从伪代码到科学方法论:专注于正事,不懈地实现自身价值,时不我待

无论是C#, Python, VBA, COBOL, Powershell,编写程序前,应该专注思考,厘清思路,编写伪代码,然后着手快速编码,快速调试解决问题(难题,耗时的问题,优先级往后排,先完成编码的整体框架.) 目标明确,专注于正事,实现自身价值,时不我待.即将三十岁了. 你希望此生如何度过? 内心坚定:有钱有闲:精神世界:家庭,爱:奋斗不息:无悔此生,钢铁是怎样炼成的?总得过点不一样的人生,快意人生,成为王皓那样牛逼的人. 人生关键词是什么? <人生的关键词>搜索人生,人生存档.引用的

《大道至简第一章观后感》伪代码版

import java.大道至简.*; import  java.io.*; //第一·<汤问篇>愚公移山 import.java.愚公移山.*; public class YuGongYiShan { public static void main(String [] args) throws IOException { //原始需求:惩山北之塞,出入之迂 //项目沟通基本方式:聚室而谋曰: //项目目标:毕力平险,指通豫南,达于汉阴 //技术方案:扣石垦壤,箕畚运于渤海之尾 //技术人员:

大道至简伪代码形式读后感

大道至简第一章用愚公移山的故事阐述了编程的精义,在愚公身上浓缩了项目组织者.团队经理.编程人员.技术分析师等众多角色的优秀素质,其中有原始需求的产生,项目沟通的基本方式,项目的目标,和技术方案,其中还有技术人员和工程管理人员.并且愚公还有编程人员的基本素质,他了解了整个工程的实现程序,有if的分支结构,有循环结构,并且不是死循环,在他的论述中,我们还看到了编程的根本,顺序.分支和循环. 下面是用java伪代码编写的读后感: import.java.大道至简.*; import.java.愚公移山

愚公移山第一章伪代码

import.java.大道至简.*; import.java.愚公移山.*; public class YuGongYiShan{ 愚公 = {项目组织者.团队经理.编程人员.技术分析师}: //概况如下: //原始的需求:"惩山北之塞,出入之迂" //项目沟通的基本方式:"聚室而谋曰" //项目的目标:"毕力平险,指通豫南,达于汉阴" //技术方案:"扣石垦壤,箕畚运于渤海之尾" //参与项目的人员:"(愚公)率

《大道至简》第一章伪代码形式读后感

1编程的精义 阅读大道至简后,第一部分以愚公移山为例,讲解了编程的精义,可以看出编程的根本是顺序,分支循环.这个故事很简单,所以也可以通过简单的编程实现 Public  class  编程的精义 /*  对大道至简第一章第一部分的读后感*/ { Public static void main (string[] args) { If(愚公活着)                    //判断活着是否能完成工作 System.out.println("愚公完成了移山的工作"); If(愚

《大道至简》第一章伪代码读后感

从第一章中我们学习到,编写程序是要先思考在动手的,想好思路再去构造,然后再按照计划去编写程序,如此一来,条理清晰有条有理,即使出现错误也能及时发现,从而让自己的编程简单起来.这种编程的方法把思考和动手过程分开来做,充分利用了编程的特性,将编写程序从复杂的完全的动手过程简化成思考和编写程序的过程.体现出了思考的重要性,无论何时,无论何事,思考是最重要的.因为不去思考,愚公也就不会想到移山,不去思考,愚公也就不会将工程安排得如此有条不紊. 下面来分析一下愚公移山这个工程 原始的需求 惩山北之塞,出入

最近公共祖先LCA(Tarjan算法)的思考和算法实现——转载自Vendetta Blogs

最近公共祖先LCA(Tarjan算法)的思考和算法实现 LCA 最近公共祖先 Tarjan(离线)算法的基本思路及其算法实现 小广告:METO CODE 安溪一中信息学在线评测系统(OJ) //由于这是第一篇博客..有点瑕疵...比如我把false写成了flase...看的时候注意一下! //还有...这篇字比较多 比较杂....毕竟是第一次嘛 将就将就 后面会重新改!!! 首先是最近公共祖先的概念(什么是最近公共祖先?): 在一棵没有环的树上,每个节点肯定有其父亲节点和祖先节点,而最近公共祖先