菜鸟问pascal问题

如题所述

写这个程序的人可能显得有些自大。曾经见过有人使用C++编写出类似这样的代码:j=++i+i++i+1++1+j;。在这个语境下,silly被当作一个子过程。在子过程中,变量Z仅对其内部有效,它被视为形参。这意味着,当你在子过程中对变量y进行任何改动时,子过程外的y值保持不变。

这种编程实践展示了对语言特性的深刻理解。通过这种方式,开发者能够在局部调整变量,同时确保外部状态不受影响。这在需要维护多个相互独立状态,或者在多个函数间传递数据而不干扰全局状态时非常有用。例如,通过使用子过程(或函数),可以实现模块化编程,每个部分都关注于特定任务,而不会干扰到程序的其他部分。

然而,这种编程风格也可能引起混淆。对于初学者来说,面对如此复杂的代码结构,理解其背后的逻辑和意图可能是一项挑战。在实际应用中,开发者需要权衡代码的可读性和复杂性之间的关系。虽然这种方式在特定场景下能提高效率和代码的组织性,但在大部分情况下,保持代码简洁和易于理解是更加推荐的做法。

总的来说,使用子过程和形参来管理变量的作用域和状态是一个强大的编程技巧,特别是对于需要处理复杂逻辑或在多线程环境中工作的开发者来说。但同时也需要注意代码的可读性和可维护性,确保代码能够清晰地传达其功能和意图。
温馨提示:内容为网友见解,仅供参考
无其他回答

菜鸟问pascal问题
写这个程序的人可能显得有些自大。曾经见过有人使用C++编写出类似这样的代码:j=++i+i++i+1++1+j;。在这个语境下,silly被当作一个子过程。在子过程中,变量Z仅对其内部有效,它被视为形参。这意味着,当你在子过程中对变量y进行任何改动时,子过程外的y值保持不变。这种编程实践展示了对语言...

新手入门free pascal 有些简单的问题。。。
第一问:不对的,记住,表达式在计算时是有优先级的,顺序是not,and,or(括号的优先级最高),not先算,这时编译器发现not后面是or,不是一个直接的值,因此编译错误!第二问:if a表示a是否为真(true),if not b表示b是否为假(false)因此d应当为20,x没有被赋值。

关于pascal的极端菜鸟问题...
要返回编辑界面是按: ALT + Enter 有问题的话加我Q:416179394

关于pascal的超级菜鸟问题!!!
求圆的面积和周长的程序吧 应该是这样 program yzll;var r,s,c:real;begin write('r=');read(r);s:=pi*r*r;c:=2*pi*r;writeln('s=',s);writeln('c=',c);readln;end.你这个程序错误很多 var r,s,c:real;不是read.real是实型,而read是读入的意思。还有,赋值语句比如s:pi*...

有关Free Pascal的、菜鸟级问题
会有compiler masseges,根据里面的所提供的错误位置,进行更改。像你这样的是编译错误

【提问】pascal的几个高难问题
本菜鸟提议,可以来pascal吧(http:\/\/tieba.baidu.com\/f?ct=&tn=&rn=&pn=&lm=&cm=0&kw=pascal&rs2=0&sc=&un=&rs1=&rs5=&sn=&rs6=&myselectvalue=0&word=pascal&submit=%B0%D9%B6%C8%D2%BB%CF%C2&tb=on)提问,这里有很多高手,有的甚至会搞些“病毒”。

PASCAL排序问题菜鸟题
给你一个冒泡排序的程序,冒泡应该是最简单的,你的程序没有close(input,output)所以可能出错,另外别忘了改在file里的change directory。program maopao;var a:array[1..10] of integer;i,j,k,t:integer;begin for i:=1 to 10 do read(a[i]);for j:=1 to 9 do for k:=j+1 to 10...

Pascal菜鸟级问题!
uses crt;var ch:char;i:integer;finished:boolean;begin randomize;finished:=false;repeat i:=random(10)+1;write(i:3);if keypressed then if readkey='s' then finished:=true;until finished;end.这个必须支持 uses crt,否则会报错。这个在tp5.5下测试过了,应该符合你的要求(我的tp7下...

pascal菜鸟,求详细解说一下这个程序的意思和运行过程,急,谢谢
从begin开始,给a赋值1,给b赋值4,然后开始for循环,循环变量为i,让i从a循环到b,因为a=1,b=4,因此循环体已经确定。在循环体内部对a、b再次进行赋值时,不能改变循环的范围,但是循环结束后a、b的值会变成3、5.因此会有这种输出。

请用Free Pascal解答以下3道题。请答案简单一点,我是一个小菜鸟。
先打一下第二题:var a,b,c,m:longint;begin a:=36 div 3;b:=(48+a) div 3;c:=(64+a+b) div 3;writeln(a:4,48+a:4,64+a:4);writeln(a+b:4,b:4,64+a+b:4);writeln(a+b+c:4,b+c:4,c:4);end.

相似回答
大家正在搜