| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1279 人关注过本帖
标题:[讨论]如何表现解决问题的算法?
取消只看楼主 加入收藏
竹本鸟
Rank: 1
等 级:新手上路
帖 子:72
专家分:0
注 册:2004-10-5
收藏
 问题点数:0 回复次数:4 
[讨论]如何表现解决问题的算法?

就这个问题而言,我觉得很有必要写一个贴子,大家知道,我们课本上提供的表同算法实现结果值的方法有很多,其中,比较典型的有“自然语言表示法”,“传统语言表示法”、“传统流程图表示法”、“N-S流程图表示法”、“伪代码表示法“。 这些算法在谭浩强教授主编的《C程序设计》中第二章提供得非常详细。所以,我觉得我就没有必要在这里写了。 我想说的,就是在我们学习了“算法”以后,我们在解决一个问题;通常会进行总结,每个程序员都会潜意识的形成一种属于自己独有的方式来实现处算法(描述)。我希望能够以我开个头;大家都能将自己经过长时间积累形成的一种风格,贡献出来;然后再相互学习,最终达到实现”最佳算法“。 我们大家如果接触过一些关于C语言程序设计的书,都知道;对于大型的实现多功能的程序;采用当然是”自顶而下;逐步细分“的原则(注:这里说的只是对过程程序设计的方法)但在这里,我建议不做我们讨论的对象。我希望各位网友能够以一些小程序为例,以”点“带”面“,以更形象更容易理解的语句来讲述自己总结出来的算法。 虽然,书本上都提供了相应的科学的算法。但是,我们在真正解决一个问题时;通常都不会固化的搬套。 下面,我就以编一个”要求用户输入打印行数,并进行输出相应的直角三角形“为例来说明,我是如何实现对一个问题的算法的。 我看了这个题目之后,我的脑海中大致浮现出了可能输出的结果: * ** *** ...(略)

然后,我采用“自然语言”来简要的说明要嗵实现的几个过程: A:询问用户输入的行数 B:主体实现部分,打印出相应的结果 接下来,我采用的是“伪代码"来细分用"自然语言"列出的过程.

A: main() { printf("please to number:"); scanf("%d",&n); B: for(i=1;i<=n;i++) {for(j=0;j<i;j++) printf("*"); } 接下来,对用"伪代码“写的部分进行完善;最后,再将其组合,根据上面出现的变量,将其进行定义。 main() {int i,j,n; printf("please to number:"); scanf("%d",&n); for(i=1;i<=n;i++) {for(j=0;j<i;j++) printf("*");} } 再接下来,就是输入到电脑中,进行调试,让源代码更加人性化,更完善化,最后得出的完整的代码如下: #include<stdio.h> main() {int i,j,n; printf("\n\n please to number:"); scanf("%d",&n); for(i=1;i<=n;i++) {for(j=0;j<i;j++) printf("*"); printf("\n");} } (本文完!)

---------------------------------------------------------------

个人主页:wwweye.126.com

E-mail:ribdsiq@163.com

----------------------------------------------------------------

[此贴子已经被作者于2004-10-05 21:21:34编辑过]

搜索更多相关主题的帖子: 算法 
2004-10-05 21:15
竹本鸟
Rank: 1
等 级:新手上路
帖 子:72
专家分:0
注 册:2004-10-5
收藏
得分:0 
      希望网友能够能够将自己养成的良好的编程风格贡献出来,让我们共同为我们中国软件事业做出一份力量!我是江西南昌市的一所软件学院的04届的新生.我学的是"程序员"专业,希望能够在"编程中国"里多多领悟"大虾"的教.......

个人主页:wwweye. C语言正在学习中...... --------------------------------------------------
2004-10-05 22:14
竹本鸟
Rank: 1
等 级:新手上路
帖 子:72
专家分:0
注 册:2004-10-5
收藏
得分:0 

我个人觉得在学校主要有的是一种良好的"学习环境".我以前,在社会上打工的时候,也曾下过一番苦心想学好.可是,学习计划总是会被一些莫名的锁事所打断.现在,社会上有很多这种成人式的学院.我读的这所学院;就属于这种.我个人认为,不管怎么说关键还是在于个人的"自学".如果要真正的学好它,还有很长的路要走.现在,一些招骋单位招的都是需要你懂"面向对象的程序设计语言".而C语言作为一个历史已不可避免的先去了它原有的价值.但是,替代它是不可能的.它是"程序员"的入门语言,是因为这个特殊原因存在的. "人的计划赶不上社会的变化."这几年,几乎每年都会有一种新的语言出来.我们不可能总在后面跟着学.那是学不赢的;我觉得规律还是有的.对于基于windows的程序语言,主要是用在对win32 api的调用方面.另外一个方面:那就是它们几乎都是基于"面向对象的".所以,如果,要往这方面发展.学习c++是必须的. 以前一些网友都提倡我们买钱能主编的<c++程序设计>.10月3号那天,我到省新华书店去看了,谭浩强在70高龄的时候还关心着我们中国的软件事业;为我们编辑了一本<c++程序设计>.我看了一下,觉得比较详细;而且也比较容易懂.希望和大家一起进步. 最终的目标是学习visual c++.虽然,现在大家都有一种抵制必理.但是,因为微软公司的windows操作平台目前用户还是最多的.这叫随世而行.我觉得我的压力很大,希望能在"编程中国"得到更多的"大虾"的帮助,能让我的学习进度更快些.

----------------------------------------------

个人主页:wwweye.126.com

QQ:4360538

----------------------------------------------

[此贴子已经被作者于2004-10-06 02:30:01编辑过]


个人主页:wwweye. C语言正在学习中...... --------------------------------------------------
2004-10-06 00:19
竹本鸟
Rank: 1
等 级:新手上路
帖 子:72
专家分:0
注 册:2004-10-5
收藏
得分:0 
有哪位楼主提出自己的实现问题的方法吗?我很希望知道!

个人主页:wwweye. C语言正在学习中...... --------------------------------------------------
2004-10-12 16:36
竹本鸟
Rank: 1
等 级:新手上路
帖 子:72
专家分:0
注 册:2004-10-5
收藏
得分:0 
“软件工程师”是吗?我听说过。过了10天了,我们的学习很紧张,要学很多的课程。明天不上课,所以选择今天晚上才到论坛来。很感谢第10楼“e路奔跑”网友的介绍。我觉得受益非浅。上面是我自学时采用的。不过, 老师提倡我们采用N-S图来进行理顺自己的编程思路;不过对于一些比较难的题我就用这种方法行不通。有没有哪一位网友有兴趣讲解一下如下一道题的具体实现过程吗?:“有一个警察碰到一个难题。一个司机撞死了人,跑了。当时,有3个人在场。其中,A说,车牌号决对是4位数。后面两个数肯定是一样的。B说,前面两个数肯定是一样的。C是一个数学家,他说前面两个数加起来减去一就等于后面一个数。“

个人主页:wwweye. C语言正在学习中...... --------------------------------------------------
2004-10-16 23:25
快速回复:[讨论]如何表现解决问题的算法?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032012 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved