- 论坛徽章:
- 0
|
我是初学JAVA的,我的一个朋友从事计算机工作有8年了,整天都听到他说学JAVA程序就要学JAVA的思想
。他说我写那些书本上的程序根本就没用,将来去到企业根本就用不上。但学习不是一步一个脚印的吗?
在我所了解的计算机知识都只能做这些东西先啊,起码我该熟悉一样很常用的类及其函数啊!而且在做这
些习题的过程中不是同样在学习所谓的思想吗?有时候我真觉得他所讲的思想真想“空中楼阁”一样,难
道真的那么高深莫测吗?就不能举个例子来讲讲吗?为什么非要写一些界面很漂亮或者说比较实用的程序
才能称的上真正地了解它的思想呢?我学JAVA以前就学习过C语言。C语言是过程化编程啊,主要体现在它
结构过程化上啊!如果要我说的话,我会立刻把96年的NOI普及组试题给他看一下。
例子:实现一个10以内的螺旋矩阵
例如输入 4
输出:
10 11 12 1
9 16 13 2
8 15 14 3
7 6 5 4
具体程序如下
#include<stdio.h>;
#include<conio.h>;
#define N 10
void show(int n)
{int aa[N][N]={0};int i,j,t,m,q,i1,i2,j1,j2,sum;
i1=0;j1=n-1;
sum=1;
q=m=n;
for(i=1;i<=q;i++)
{if(i%2!=0)
{for(t=1;t<=n;t++)
{aa[i1][j1]=sum++;i1++;}
j1--;
i2=i1-1;
n--;
for(j2=j1,t=1;t<=n;t++)
{aa[i2][j2]=sum++;j2--;}
i1=i2-1;
j1=j2+1;
}
else
{for(t=1;t<=n;t++)
{aa[i1][j1]=sum++;i1--;}
j1++;
i2=i1+1;
n--;
for(j2=j1,t=1;t<=n;t++)
{aa[i2][j2]=sum++;j2++;}
i1=i2+1;
j1=j2-1;
}
}
for(i=0;i<m;i++)
{for(j=0;j<m;j++)
printf("%3d",aa[j]);
printf("\n" ;
}
}
void main()
{int length;
clrscr();
printf(" lease input how may long in your array?:" ;scanf("%d",&length);
show(length);
}
难到这种小程序就不能体现它过程化思想吗?
我只知道算法是程序设计的灵魂。一个很核心部分。
我觉得一个人对C语言过程化思想掌握和感悟不是单单停留在技术层面上的。
因为c语言是过程化语言学习它的确能提高一个人的表达能力和语言组织能力。
当然在程序查错的过程中也训练了一个人的观察能力。 |
|