初学者的几个问题,请帮忙看看(100分)

  • 主题发起人 主题发起人 shiryu
  • 开始时间 开始时间
S

shiryu

Unregistered / Unconfirmed
GUEST, unregistred user!
(1). 当用repeat循环语句的时候,代码如下:
I:=0;
Repeat
I:=I+1;
Writeln(I)
Until I=100;
当用While循环改写的时候,代码如下:
I:=0;
While I<100do
begin
I:=I+1;
Writeln(I);
end;

请问其中的 Writeln(I)语句是什么含义?是否可以将这段代码改写为如下:
I:=0;
While I<100do
I:=I+1;
这样不是更简单吗?
(2).在for循环中有这样一个例子:
for i:=1 to 5do
printf("I=%d/n",i);
//该句执行"printf("I=%d/n",i);
5次.
请问,如果是输出语句应该用print呀,不应该用printf呀.在D中我并未见到对括号的使用有特殊的声明,请问
什么时候用括号呢?还有 "I=%d/n",i 这是什么代码?如果执行了,执行的结果是什么?
(3).使用for语句时,应注意不要在循环体内改变循环变量的值,以免造成不确定性.例如:
for k:=10do
wnto 1do
begin
a:=b+c;
k:=k+1;
end;

请问这段代码在那里错误了?书上说它在循环体内给变量k赋值了,可我却没看出来,请各位帮忙解释一下.
(4).在有参过程声明中有这样一个例子:
procedure exchange(var a,b:real);
var
temp:real;
begin
temp:=a;
a:=b;
b:=temp;
end;

请问在该过程中如果不用begin
.……end复合语句,根据程序执行的顺序结构,去掉他们一样可以达到目的
呀。是不是begin
……end 该复合语句有什么特殊的要求呀,这里必须用他们?
 
晕,还是找本pascal的书看看吧,上面的答案都有
 
你还是先学一下pascal语法吧
 
1). Writeln(I)输出值到屏幕.
2). printf("I=%d/n",i);
看样子可能是格式化输出的函数吧,和format的用法差不多
3). 给K随便赋值,那么循环的次数怎么会正确呢?
4). 没有begin
...end,过程体怎么会完整???????
[:(!] [:(!][:(!][:(!]
 
太长了,没耐心看,可以下载《DELPHI5开发人员指南》看看,第二章关于PASCAL的介绍。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部