导航:首页 > 解决方法 > 简单程序设计难点和解决方法

简单程序设计难点和解决方法

发布时间:2022-02-12 09:03:40

1. 简单编程的问题

字符型的,你用char读入就行了,比如
int a,b;
char c;
scanf("%d%d %c",&a,&b,&c);

2. 程序设计主要有哪些方法

程序设计主要方法有面向结构的方法和面向对象的方法。
结构化程序设计

随着计算机的价格不断下降,硬件环境不断改善,运行速度不断提升。程序越写越大,功能越来越强,讲究技巧的程序设计方法已经不能适应需求了。记得是哪本书上讲过,一个软件的开发成本是由:程序设计 30% 和程序维护 70% 构成。这是书上给出的一个理论值,但实际上,从我十几年的工作经验中,我得到的体会是:程序设计占 10%,而维护要占 90%。也许我说的还是太保守了,维护的成本还应该再提高。下面这个程序,提供了两种设计方案,大家看看哪个更好一些那?

题目:对一个数组中的100个元素,从小到大排序并显示输出。(BASIC)

方法1:冒泡法排序,同时输出。

FOR I=1 TO 100
FOR J=I+1 TO 100
IF A[I] > A[J] THEN T=A[J]: A[J]=A[I]: A[I]=T
NEXT J
? A[I]
NEXT I

方法2:冒泡法排序,然后再输出。

FOR I=1 TO 100
FOR J=I+1 TO 100
IF A[I] > A[J] THEN T=A[J]: A[J]=A[I]: A[I]=T
NEXT
NEXT

FOR I=1 TO 100
? A[I]
NEXT

显然,“方法1”比“方法2”的效率要高,运行的更快。但是,从现在的程序设计角度来看,“方法2”更高级。原因很简单:(1)功能模块分割清晰——易读;(2)也是最重要的——易维护。程序在设计阶段的时候,就要考虑以后的维护问题。比如现在是实现了在屏幕上的输出,也许将来某一天,你要修改程序,输出到打印机上、输出到绘图仪上;也许将来某一天,你学习了一个新的高级的排序方法,由“冒泡法”改进为“快速排序”、“堆排序”。那么在“方法2”的基础上进行修改,是不是就更简单了,更容易了?!这种把功能模块分离的程序设计方法,就叫“结构化程序设计”。

面向对象的程序设计

随着程序的设计的复杂性增加,结构化程序设计方法又不够用了。不够用的根本原因是“代码重用”的时候不方便。面向对象的方法诞生了,它通过继承来实现比较完善的代码重用功能。很多学生在应聘工作,面试的时候,常被问及一个问题“你来谈谈什么是面向对象的程序设计”,学生无言,回来问我,这个问题应该怎么回答。我告诉他,你只要说一句话就够了“面向对象程序设计是对数据的封装;范式(模板)的程序设计是对算法的封装。”后来再有学生遇到了这个问题,只简单的一句对答,对方就对这个学生就刮目相看了(学生后来自豪地告诉我的)。为什么那?因为只有经过彻底的体会和实践才能提炼出这个精华。

面向对象的设计方法和思想,其实早在70年代初就已经被提出来了。其目的就是:强制程序必须通过函数的方式来操纵数据。这样实现了数据的封装,就避免了以前设计方法中的,任何代码都可以随便操作数据而因起的BUG,而查找修改这个BUG是非常困难的。那么你可以说,即使我不使用面向对象,当我想访问某个数据的时候,我就通过调用函数访问不就可以了吗?是的,的确可以,但并不是强制的。人都有惰性,当我想对 i 加1的时候,干吗非要调用函数呀?算了,直接i++多省事呀。呵呵,正式由于这个懒惰,当程序出BUG的时候,可就不好捉啦。而面向对象是强制性的,从编译阶段就解决了你懒惰的问题。

巧合的是,面向对象的思想,其实和我们的日常生活中处理问题是吻合的。举例来说,我打算丢掉一个茶杯,怎么扔那?太简单了,拿起茶杯,走到垃圾桶,扔!注意分析这个过程,我们是先选一个“对象”------茶杯,然后向这个对象施加一个动作——扔。每个对象所能施加在它上面的动作是有一定限制的:茶杯,可以被扔,可以被砸,可以用来喝水,可以敲它发出声音......;一张纸,可以被写字,可以撕,可以烧......。也就是说,一旦确定了一个对象,则方法也就跟着确定了。我们的日常生活就是如此。但是,大家回想一下我们程序设计和对计算机的操作,却不是这样的。拿DOS的操作来说,我要删除一个文件,方法是在DOS提示符下:c:> del 文件名<回车>。注意看这个过程,动作在前(del),对象在后(文件名),和面向对象的方法正好顺序相反。那么只是一个顺序的问题,会带来什么影响那?呵呵,大家一定看到过这个现象:File not found. “啊~~~,我错了,我错了,文件名敲错了一个字母”,于是重新输入:c:> del 文件名2<回车>。不幸又发生了,计算机报告:File read only. 哈哈,痛苦吧:)。所以DOS的操作其实是违反我们日常生活中的习惯的(当然,以前谁也没有提出过异议),而现在由于使用了面向对象的设计,那么这些问题,就在编译的时候解决了,而不是在运行的时候。obj.fun(),对于这条语句,无论是对象,还是函数,如果你输入有问题,那么都会在编译的时候报告出来,方便你修改,而不是在执行的时候出错,害的你到处去捉虫子。

同时,面向对象又能解决代码重用的问题——继承。我以前写了一个“狗”的类,属性有(变量):有毛、4条腿、有翘着的尾巴(耷拉着尾巴的那是狼)、鼻子很灵敏、喜欢吃肉骨头......方法有(函数):能跑、能闻、汪汪叫......如果它去抓耗子,人家叫它“多管闲事”。好了,狗这个类写好了。但在我实际的生活中,我家养的这条狗和我以前写的这个“狗类”非常相似,只有一点点的不同,就是我的这条狗,它是:卷毛而且长长的,鼻子小,嘴小......。于是,我派生一个新的类型,叫“哈巴狗类”在“狗类”的基础上,加上新的特性。好了,程序写完了,并且是重用了以前的正确的代码——这就是面向对象程序设计的好处。我的成功只是站在了巨人的肩膀上。当然,如果你使用VC的话,重用最多的代码就是MFC的类库。

3. c语言程序设计难点在哪里

C语言是一种表达力很强的语言,而且与其他语言相比显得比较精炼高效。在C语言中的语法部分,比较难的是指针,由于它很灵活,用好的话能大大提高效率,反之则容易出错(一般是内存空间指向出错,如指针空悬、内存泄露等),但是当你练多了,指针应该也不成问题(要有意识的去练),我觉得真正的难点在于算法逻辑。理论上,C语言只要求你时刻知道自己在干什么,要实现什么功能,只要你的程序逻辑明晰,一般不用再DEBUG,一次就能成功,反之,如果自己都感觉模糊,那程序只会比你还模糊:-D,要极好的人品才能勉强运行成功,但出不出正确结果还不一定。解决的方法很简单,就是练。每成功写出一个程序,都会让自己有所进步,积累多了,就能在编程之前在大脑里构建出清晰的蓝图,编程自然不在话下。祝你在通往程序员的道路上一路狂奔,呵呵

4. 简单编程问题

会出错,不会有结果

(1) 10
(2)%14

5. 简单编程问题

#include <stdio.h>

int main()

{

int x,y;

x=3;

y=x*x;

printf("%d = %d * %d ", y,x,x);

printf("%d * %d = %d ", x,x,y);// 输出

return 0;

}

6. 简单的编程问题

1.
#include<stdio.h>
int fact(int n)
{
int temp=1;

//while方法
while(n>0)
{
temp=temp * n;
n-=1;
}
return temp;
//for方法;
//for(;n>0;n--)
// temp=temp*n;
//return temp;
}

int main()
{
int n;
printf("请输入一个整数\n");
scanf("%d",&n);
printf("%d",fact(n));//没考虑溢出问题;
return 0;
}

7. 简单的c语言程序设计问题

#include <stdio.h>
#include <stdlib.h>
void main()
{
float h,s,sum;
printf("请输入每周工作时间和每小时的工资数:");
scanf("%f%f",&h,&s);//这里输入时用空格
if (h<0||h>24*7)
{
printf("input is wrong!\n");
exit (0);
}
else if (h>60)
sum=s*3*(h-60)+s*1.5*20+40*s;
else if (h>40)
sum=s*1.5*(h-40)+40*s;
else
sum=s*h;
printf("若雇员周工作总工资为sum=%.2f\n",sum);
}

8. 简单VB程序设计问题

vb2005中除了ini,还有其他的方法,就是用My.Settings。
选择“项目”-“xxx(你的解决法案名)属性”
可以看到一个对话框,有编译,调试,引用,资源等选项,我们选择“设置”,右边出现一个表,项目有“名称”“类型等”,我们创建一个名称为“wt”,类型为“integer”的属性!下面的代码实现保存关闭时的窗体宽,当然可以保存一切你想要的数据(只读属性无法存!):
Private
Sub
Form1_FormClosed(ByVal
sender
As
Object,
ByVal
e
As
System.Windows.Forms.FormClosedEventArgs)
Handles
Me.FormClosed
My.Settings.wt
=
Me.Width
End
Sub
Private
Sub
Form1_Load(ByVal
sender
As
System.Object,
ByVal
e
As
System.EventArgs)
Handles
MyBase.Load
Me.Width
=
My.Settings.wt
End
Sub

9. 编程解决问题的一般步骤是什么

编程其实就是解决问题,第一个“What”要解决什么问题,第二个“How”如何解决,第三个以及之后都是“Do”。

编程是编定程序的中文简称,就是让计算机代码解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。

为了使计算机能够理解人的意图,人类就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算体系之间交流的过程就是编程。



执行原理

计算机对除机器语言以外的源程序不能直接识别、理解和执行,都必须通过某种方式转换为计算机能够直接执行的。

这种将高级程序设计语言编写的源程序转换到机器目标程序的方式有两种:解释方式和编译方式。

解释方式下,计算机对高级语言书写的源程序一边解释一边执行,不能形成目标文件和执行文件。

编译方式下,首先通过一个对应于所用程序设计语言的编译程序对源程序进行处理,经过对源程序的词法分析、语法分析、语意分析、代码生成和代码优化等阶段将所处理的源程序转换为用二进制代码表示的目标程序。

然后通过连接程序处理将程序中所用的函数调用、系统功能调用等嵌入到目标程序中,构成一个可以连续执行的二进制执行文件。调用这个执行文件就可以实现程序员在对应源程序文件中所指定的相应功能。

阅读全文

与简单程序设计难点和解决方法相关的资料

热点内容
牙膏去痘印的正确方法 浏览:644
侧方位找30公分最佳方法 浏览:692
孕期痔疮的最佳治疗方法 浏览:971
退休金调整的计算方法 浏览:129
有哪些有效的去湿的方法 浏览:327
擦伤脓水怎么处理方法 浏览:1001
简易平行度测量方法 浏览:296
自动还原芯片安装方法 浏览:645
常用说明方法讲解 浏览:414
脚气怎么办用什么方法最好 浏览:336
生物钟快速调节方法 浏览:14
免费买水方法视频教程 浏览:970
多海域训练方法 浏览:797
怎么用好的方法教导孩子 浏览:376
泡澡的方法视频 浏览:329
教学方法含义及区别 浏览:775
格力空调冬季使用方法 浏览:55
肠胃癌治疗方法 浏览:55
家庭教育中有哪些好的教育方法 浏览:774
解决分析方法应用中的技术问题 浏览:875