以法国数学家命名的Pascal语言现已成为使用广泛的语言之一,其主要特点有:严格的结构化形式;丰富完备的数据类型;运行效率高;查错能力强。
正因为上述特点,Pascal语言可以被方便地用于描述各种算法与数据结构。尤其是对于程序设计的初学者,Pascal语言有益于培养良好的程序设计风格和习惯。IOI(国际奥林匹克信息学竞赛)把Pascal语言作为三种程序设计语言之一,NOI(全国奥林匹克信息学竞赛)把Pascal语言和c语言、c++语言作为竞赛使用程序设计语言,在大学中Pascal语言也常常被用作学习数据结构与算法的教学语言。
Pascal语言结构严谨,可以很好地培养一个人的编程思想。
C语言 & Visual C++
优点
(1)C语言灵活性好,效率高,可以接触到软件开发比较底层的东西。
(2)微软的MFC库博大精深,学会它可以让随心所欲地进行编程。
(3)VC是微软制作的产品,与操作系统的结合更加紧密。
C++语言 & C++ Builder
优点
(1)C++语言的优点全部得以继承。
(2)完全的可是化。
(3)极强的兼容性,支持OWL、VCL和MFC三大类库。
(4)编译速度非常快。
例如:求把一个整数n无序划分成k份互不相同的正整数之和的方法总数。
[分析] 这是一道动态规划题,动态方程如下:
f[i-1,j]+f[i,j-i]+1 ((j mod i=0) and (j div i=1))
f[i,j]:= f[i-1,j] (i>=j)
f[i-1,j]+f[i,j-i] (else)
s:=f(k,n-k)
本题可以用循环来实现递推,也可以考虑用递归求解。主过程如下:方案一:
Procedure work(I,j:longint; var s:longint);
Var t:longint;
Begin
If (i=1) or (j=1) then s:=1
Else if (i=0) or (j=0) then s:=0
Else begin
if (j mod i=0) and (j div i=1) then
begin
work(i-1,j,s);
t:=s;
work(i,j-1,s);
s:=s+t+1;
end
else if (i>=j) then
work(i-1,j)
else begin
work(i-1,j,s);
t:=s;
work(I,j-1,s);
s:=s+t;
end;
End;
方案二:procedure search(v,w,last:byte);
var i:byte;
begin
if w=0 then inc(count)
else
if w=1 then
if v>=last then search(0,0,0) else
else for i:=last to v-1 do search(v-i,w-1,i);
end;
常州市哪里有小孩编程,小孩学习计算机编程培训班
常州电脑/网络相关信息
2023-10-09
2023-10-08
2023-10-07
2023-10-06
2023-09-14
2023-09-02
2023-08-28
2023-08-26
2023-08-11
2023-08-10