
Writeln是输出语句输出语句有三种格式:①Write(输出项1输出项2)执行输出后光标不换行②Writeln(输出项1输出项2)执行输出后光标换到下一行③Writeln仅输出空白且光标换到下一行Writeln语句前面的圆括号以内部分均为输出项可以是多项各项间用逗号分隔对单冒号里的内容根据引号内的原样(字符)输出显示。如果输出项是表达式则只输出表达式的值而不是表达式原本。[例1.4]输出两个自然数相乘的商和余数。解:设被除数、除数、商和余数分别为ABCD均为变量且都是整数类型。题中未给出具体的自然数A、B可运用键盘输入方法。①给出提示从键盘输入a,b②显示两数相除的数学形式③求出a除以b的商c④求出a除以b的余数d⑤紧接等式右边输出显示商和余数。Pascal程序:ProgramEx14Vara,bpascal语言视频教程,c,d:integerBeginWrite('INPUTAB')给出提示信息Readln(ab)输入abWriteln输出一空行Write(a'/'b'=')输出等式之后不换行c:=adivb整除运算取商的整数部分{程序首部}{语句部分}5d:=amodb相除求余运算取商的余数部分Writeln(C'„'d){输出后手动换行}Readln{等待输入回车键}End.执行本程序中第一个Write语句输出其引号以内的一串提示信息是给紧接着的输入语句提供明确的提醒(规定)有“一目了然人机对话”之效果。
Readln是一个特殊的输入词语要求输入一个回车(换行)能够往下执行。Readln是输入词语它的通常格式为:①Read(变量1变量2)②Readln(变量1变量2)③Readln前两种格式均要从屏幕给变量输入数据输入时所键入的数据之间以括号为分隔以回车为输入结束。若多输入了数据(即数据个数达到变量个数)Read语句读完数据然后能让后续的读句子接着读取多出来的数据而Readln语句对本行多输入的数据不能让后续语句接着读取多出来的数据。为了避免多输入的数据影响下一个输入词语读取数据建议尽量使用Readln语句输入数据。第三种格式不需输入数据只需按入一个回车键。[例1.5]自然数的立方可以表示为两个整数的平方之差比如43=10262请输出自然数1996的这些表示方式。(此处的43用自乘三次的方式4*4*4表示102也用自乘二次的方式10*10表示)解:此题没有现成的推导公式能直接运用但可以自行打造处理方式或建立适度的运算公式按着思考的处理方案编排出各方法。设这个自然数为N两个平方数分别为XY将问题表示为求N3=X2—Y2①先找出X的值仔细观察题中的样例用数学方式推导可得出X=N*(N+1)/2构成本题可用的推导定理②再认真观察发现Y值比X小一个N值即Y=X—N③输出等式N3=X2—Y2或N*N*N=X*X—Y*YPascal程序:ProgramEx15ConstN=1996{常量说明}VarXY:Longint{变量说明此题计算中的数值较大用长整型}BeginX:=N*(N+1)div2{div是整除运算}Y:=X-NWriteln(N,'*',N,'*',N,'=',X,'*',X,'—',Y,'*',Y){输出结果}ReadlnEnd.本程序中N是常量XY是函数为长整数类型(Longint)程序中的div是整除运算其结果只取商的整数部分[例1.6]求一元二次方程x2+3x+2=0的两个实数根。
解:方程的常数是常量分别用abc表示可利用数学上现成的求根公式求函数的根6采取如下方式:①先求出d=b2-4ac求根公式中需用开方运算的那部分②再用求根公式算出x1x2的值。(x1x2=?)③输出x1x2.Pascal程序:programEx16Consta=1{常量说明}b=3c=2abc表示函数系数Vard:integerd为整型变量X1X2:RealX1X2为实型变量Begind:=b*b-4*a*cx1:=(-b+sqrt(d))/(2*a)求方程的根x2:=(-b-sqrt(d))/(2*a)Writeln('X1='X1'Readln等待输入一个回车键End.本程序中的abc均为常量变量d是整数类型而函数x1x2则是整数类型因为运算式中的Sqrt(d)开平方运算和(/)除法运算使结果为整数。Sqrt()是开平方函数是Pascal系统的一个标准方程。习题1.1模仿例题编程1.加法计算器编程由键盘输入两个整数a和b计算出他们的和并输出到屏幕上。
2.某梯形的上底、下底和高分别为8129求该梯形的周长。(梯形面积公式为S=3.求右图图示边长为5.6的正立方体表面积。4.已知图园柱体的高为12底面园的半径为7求园柱体表面积。5.计算某次会考语文、数学、英语和计算机等四科的总成绩与平均成绩。(请用输入词语从键盘输入各科成绩分)':6'X2='X2){输出结果}第二节顺序结构程序与基本数据类别里面的简洁程序已展现出处理难题步骤、思路的次序关系这就是排序结构程序。例1.7交换两个变量的值由键盘输入两个正整数A和B编程交换这两个函数的值。解交换两个变量的值可以想象成交换两盒录音带称为A和B的内容可以按下列方法处理步骤①拿一盒空白录音带C为过渡先将A翻录至C7步骤②再将B翻录至A步骤③最后将C翻录至B。这样操作可超过题目要求。Pascal程序ProgramExam17;Vara,b,c:integer;BeginWrite(‘A,B=’);Readln(a,b);C:=A;A:=B;B:=C;Writeln(A,B);End.[例1.8]分钱游戏。
甲、乙、丙三人共有24元钱先由甲分钱给乙、丙三人所分给的数与各人已有数同样接着由乙分给甲、丙分法同前再由丙分钱给甲、乙分法亦同前。经上述三次分钱之后每个人的钱数正好一样多。求原来各人的钱数分别是多少?解:设甲、乙、丙三人的钱数分别为ABC。用倒推(逆序)算法从最终结果入手按反相顺序分方法计算出每天各人后来的钱数:在每位步骤中各人钱数分别存在A、B、C中步骤①:A=8B=8C=8步骤②:A=A/2(=4)只有结果数的一半C应包括给AB及原本数三者之和}步骤③:A=A/2(=2)只有巳有数的一半B应包括给AC及原本数三者之和}步骤④:B=B/2(=7)C未得到甲分给的钱时只有巳有数的一半A应包括给BC及原本数三者之和}步骤⑤:输出A=13B=7C=4{此时的ABC就是两人原本的钱数}Pascal程序:ProgramExam18Varabc:integerBegina:=8b:=8c:=8a:=adiv2b:=bdiv2c:=a+b+c{对应于步骤②}a:=adiv2c:=cdiv2b:=a+b+c{对应于步骤③}b:=bdiv2c:=cdiv2a:=a+b+c{对应于步骤④}Writeln('a='a'':4'b='b'':4'c='c){输出}ReadlnEnd.细心观察会看到本程序语句的排序很关键。

此例用反推顺序(逆序)按步骤正确计算出各变量的值。当然有的难题可按正序步骤编程这类程序都称为排序程序。本程序Writeln语句的输出项含有('':4)这里的冒号用来指定该项显示所占宽度等价于步骤1等价于方法2等价于方法3{这是最终结果的钱数三人都一样多}B=B/2(=4)C=A+B+C(=16){AB未给与丙分给的钱时C=C/2(=8)B=A+B+C(=14){AC未给与乙分给的钱时C=C/2(=4)A=A+B+C(=13){对应于方法①}8此处是输出4个空格即(空格项占4格)。[例1.9]有鸡兔同笼头30脚90究竟笼中的鸡和兔各有多少只?解:设鸡为J只兔为T只头为H脚为F则:2*J+4*T=90②解此题暂不必采用物理上直接解方程的方法可运用“假设条件与逻辑推理”的方法假设笼中30个头全都是兔那么都按每头只脚计算总脚数为(4*H)与实际脚数(F)之差为(4*H—F)如果这个差=0则笼中全是兔即鸡为0只如果这个差值>0说明多计算了脚数凡是鸡都多给算了两只脚用它除以2就能得到鸡的只数处理方法为:①J=(4*H—F)/2{先用脚数均值减去2算出鸡的只数}②T=H—J{再用总头数减鸡数算出免的只数}按此方式这两步运算需要留意先后次序才会依照运算逻辑。
Pascal程序:ProgramExam16ConstH=30{常量说明}F=90VarJT:byte{为字符类别的整数}BeginJ:=(4*H-F)div2{整除运算}T:=H-JWriteln('J='J'':6'T='T)ReadlnEnd.本程序中HF为常量变量JT为byte类型属于整数类型。Pascal定义了五个标准整数类型如下表所示:类别Shortint短整型Integer整型Longint长整型Byte字节型Word字型在上面程序中常见的数据类别除整数类型,还有实数类型。Pascal还定义了五个标准实数类型列表所示如下:类别RealSingleDoubleExtendedComp在TurboPascal中实数的表示用科学记数法可觉得由三部分构成:J+T=30①取值范围-128..127-32768..32767-2147483648..21474836470..2550..65535占字节数12412格式带符号8位带符号16位带符号32位无符号8位无符号16位取值范围占字节数648108有效数字7~8位11~12位15~16位19~20位19~20位2.9×10-39~1.7×10381.5×10-45~3.4×10385.0×10-324~1.7×103081.9×10-4951~1.1×104932-263+1~238-19#.##E+##或#.##E-##①###表示有效数字②E表示以10为底的幂③+##或-##是指数部分+号可省略。
比如:1.7E+38可写成1.7E38(等同于1.7×1038)。在实数类型定义下即使是整数在程序执行时平台也将手动转换成科学记数方式试请运行以下程序并留意观察运行结果:ProgramExam17Varx:real{x为实数类型}BeginX:=180{把小数180赋给整数类型函数X}Writeln('x='x){输出的x自动表示成实数形式}ReadlnEnd.习题1.21.已知△ABC中的三边长分别为25.7674.0359.31求△ABC的面积。(计算公式:S=。其中P=)2.某车棚存有自行车和四轮车共65辆它们的轮子数总计为150个。求该棚内存有的自行车和四轮车各是多少辆3.甲、乙、丙五人分别有磁带364864盒。先由甲把自己的磁带平均分为三份分给乙、丙各一份自己留下一份接着是乙最后是丙都按甲的方式处理。编程输出甲、乙、丙在上述过程中各人的磁带数分别是多少?(输出所有的后面结果)4.五位好同学相聚。第一位同学带来了这些糖块赠送给大家朋友使每人的糖块在各自原有的基础上翻了一倍接着第二位好友也相同向每人赠送糖块他相同使每人的糖块在各人已有的数目上翻了一倍第三、第四、第五位好友都照此办理。
经过这么的赠送之后每人的糖块恰好都为32块。问大家好友原本的糖块数分别是多少?10第二章分支程序在程序设计中许多难题是在必定条件下才选择何种处理方法的这就必须用条件判定语句或状况选择语句进行处置。程序执行中将发生选择(分支)根据条件只选取执行个别词语,不必定都是按原次序从头到尾地执行所有语句这样的程序称为分支程序。第一节条件语句与复合语句[例2.1]某服装公司为了推销产品采取这种的批发销售方案:凡购买高于100套的每套售价为50元否则每套售价为80元。编程由键盘输入购买套数输出应付款的总额数。解:设X为订购套数Y为付款总额则:①输入X;②判断X值③根据推断结果选择依照条件的这种方式推导Y值④输出计算结果。Pascal程序:ProgramExam21Varxy:integerBeginWrite('X=')Readln(x){输入X}ifx>100theny:=50*Xelsey:80*X{条件判断与选择}Writeln('y='y)ReadlnEnd.程序中的if语句常称为条件语句它的通常格式为:(1)if条件then语句(2)if条件then语句1else语句2IF语句的功能是按条件在两种可能中选取其中一种。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-134608-2.html
我只想说