pascal语言兴趣小组教案_第1页
pascal语言兴趣小组教案_第2页
pascal语言兴趣小组教案_第3页
pascal语言兴趣小组教案_第4页
pascal语言兴趣小组教案_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

pascal语言兴趣小组教案 pascal辅导讲义指导教师姜祖卫 4、选手面对从未遇到过的挑战应调整好心态,、选手面对从未遇到过的挑战应调整好心态,不要急功近利,要只管耕耘、不问收获、潜心钻研、其乐无穷。 那怕是一两次失误,也是砥砺之石,可从中汲取有益的经验和教训。 “不是一番寒彻骨,哪得梅花扑鼻香”。 不要急功近利,要只管耕耘、不问收获、潜心钻研、其乐无穷。 那怕是一两次失误,也是砥砺之石,可从中汲取有益的经验和教训。 “不是一番寒彻骨,哪得梅花扑鼻香”。 解决问题的一般思路 1、从实际问题中抽象出数学模型或物理模型 2、选择好适合这道题的算法(解决问题的方法) 3、利用Pascal语言编程 4、不断测试、调试程序(正常数据和边缘数据) 5、测试无误后此题才算完成。 重点过程算法和测试保留字程序首部例1已知半径,求圆周长和面积的程序PROGRAM circle(input,output);constpi=3.14159;varr,l,s:real;beginwrite(“r=“);read(r);l:=2*pi*r;s:=pi*r*r;write(r,l,s)write(“r=“,r,”l=“,l,”s=“,s);end.程序名常量说明变量说明小结让学生对信息技术奥赛有一个总体上的认识,了解到奥赛需要参赛者具备哪些素质。 通过一个小程序让学生有一个感性认识。 在以后的课程中会慢慢渗透。 已知三角形的两边及夹角,求第三边及面积。 讨论设三角形的两边及夹角分别为a,b,,第三边为c,面积为S。 可利用如下公式C=a2+b2-2abcosS=1/2abcosProgram area(input,output);writeln(please inputa,b,c,alfa);const read(a,b,alfa);pi=3.14159;alfa:=alfa/180;var c:=sqrt(a*a+b*b-2*a*b*cos(alfa);a,b,c,alfa,s:real;s:=0.5*a*b*sin(alfa);begin writeln(c=,c,s=,s)end.标准数据类型整型Shortint:-1281271B带符号8位Integer:-32768327672B16位(+)Longint:-2147483648.21474836474BByte:0.2551B无符号8位Word:0.655352B无符号16位实型Real:2.910-391.710386B11.12single:1.510-453.410384B7.8double:5.010-3241.7103088B15.16extended:1.910-49511.110493210B15.16p:-263+1263-18B19.20字符型包括字母、符号、数字(09),共256个,字符必须用引起。 Pred、su、ord、upcase等函数布尔型包括true(逻辑真)和flase(逻辑假)并且false trunc(x):截尾函数舍去x的小数部分round(x):对实数x作四舍五入,并转换为整型作业题一课本第14页第1题到第5题题二输入一个三位数的自然数,然后把这个数的百分数与个位数对调,输出原数和对调后的数。 赋值语句x:=-x;I:=I+1是正确的小结学习了数据类型和相关函数。 存在的问题是学生对数据类型的掌握还不是很好,但已经有了一个大体的把握。 提出要求对各类函数也有了一定了解。 这是以后编程的数据基础。 要求学生课后再深入理解。 数学表达式在Pascal语言中的表达方式1.2510-5写为1.25e-52+3x写为2+3*xa+b C+d写为(a+b)/(c+d)b2-4ac写为sqrt(b*b-4*a*c)1+e-x sinx写为1+exp(-x)*sin(x)2R+写为2*pi*r+alfa(x0)且(y0)写为(x=0)and(y=0)Read语句Read语句有两种,一种是read,一种是readln(读完换行,只有readln,无参数时表示换行)。 输出项之间用逗号间隔。 例如如果在键盘上输入则a=1.5b=3.7c=2.4d=5.7e=2.11.53.72.4f=8.9g=9.2h=1.75.72.18.9若执行输入语句9.21.75.3readln(a,b)2.83.42.9readln(c,d,e,f)若执行输入语句readln(g,h)Read(a,b)则a=1.5b=3.7c=5.7d=2.1e=8.9Read(c,d,e,f)f=9.2g=2.8h=3.4Read(g,h)WRITE语句Write语句是输出语句,它的格式与read语句一样,输出项之间也是用逗号间隔。 Writeln为输出换行。 例如Write(x,y)write(x=,x,y=,y)writelnWrite(x:12,I:10,ch:10,b1:10,abc:10)每项输出的后面的数字叫场宽,用来改变输出项所占的宽度。 一般为整型12位,实型以科学计数法表示时为16位,字符占1位,布尔型占5或4位。 当输出位少于场宽时,输出值向右靠齐,左边以空格补齐。 例如输入x为-125.673412Write(x:10:2),则输出为-125.67例三输入一个字符,求其序号、前导、后继程序program prochar(input,output);varoch:integer;ch,pch,sch:char;beginwriteln(please inputch);read(ch);och:=ord(ch);writeln(och=,och,pch=,pch,pch:=pred(ch);sch=,sch)sch:=su(ch)end.例四输入x、y。 若在圆环内,输出true,若在圆环外,输出false。 012Program circuit(input,output);Varbool:boolean;x,y:real;beginwriteln(please input x,y);read(x,y);bool:=(x*x+y*y=1)and(x*x+y*y=4);writeln(bool)End. 1、作业课本第37页第10题、第11题 2、交换A、B的值。 3、鸡兔同笼问题已知鸡和兔的总数量,鸡腿和兔腿的总数量,求鸡和兔各多少只?本课小结学生学习了数学表达式在Pascal语言中的书写形式,由于比较简单所以学生掌握的很好。 READ语句和WRITE语句以及READLN语句和WRITELN语句,与平时的使用习惯有所不同,应在以后的上机编程练习中多加练习!第三章选择结构程序设计格式IF条件THEN语句1ELSE语句2Y=0(x0)例题一函数y如下2x(0x10)2x+1(10x50)X/2+50(50x)程序Program y(input,output);varx,y:real;beginwrite(inputx:);readln(x);if x=0)and(x=10)and(x=50then y:=x/2+50;writeln(y=,y:12:4);writelnend.例题二火车托运行李,要根据行李的重量按不同标准收费。 例如不超过50kg,按每公斤0.35元收费。 若超过50kg,则其中50kg按每公斤0.35元收费,其余超过部分按每公斤0.50元收费。 现输入托运行李重量,要求计算并输出托运费。 讨论设托运行李重量为weight,该问题要求根据weight是否超过50kg,按不同公式计算出托运费。 设托运费为pay。 则pay为Pay=Weight0.35500.35+(weight-50)0.5(weight50)(weight50)程序Program pany(input,output);varweight,pay:real;beginwriteln(input weight:);read(weight);if weight,c:3)有的时候,不是一条IF语句就能解决所有的问题。 所以在IF语句中还可能再嵌套好多语句中还可能再嵌套好多IF语句。 我们只学习IF语句的三重嵌套。 嵌套时我们只在语句的三重嵌套。 嵌套时我们只在ELSE语句嵌套。 例四输入某学生成绩,根据成绩的好坏输出相应评语。 如果成绩在90分以上,输出评语优秀(outstanding)。 如果成绩在60到90之间,输出评语良好(satisfactory)。 如果成绩不足60分,输出评语不及格(unsatisfactory)。 程序program proscore(input,output);varscore:real;beginread(score);if score=90then writeln(outstanding)else ifscore=60then writeln(satisfactory)else writeln(unsatisfactory)End.例五输入三角形的三条边,判断它是否是直角三角形首先要判断用户输入的数据是否能够构成三角形,然后再判断它是不是直角三角形程序program triangle(input,output);vara,b,c:integer;beginwrite(Please entersides oftriangle a,b,c:);readln(a,b,c);if(a+bc)and(a+cb)and(b+ca)then if(a*a+b*b=c*c)or(b*b+c*c=a*a)or(c*c+a*a=b*b)then writlen(This triangleis rttriangle)Else writeln(This trianlgeis nottriangle)Else writlen(This isnot rtiangle)End.例六求方程ax2+bx+c=0的根(包括实根和复根)分析如果b2-4ac0,则有两个不相等的实根。 X1=(-b+sqrt(b2-4ac)/2a;x2=(-b-sqrt(b2-4ac)/2a。 如果b2-4ac=0,则方程有两个相等的实数根x=-b/2a。 如果b2-4ac0,则方程有不相等的两个复根。 X1=(-b)/2a+sqrt(b2-4ac)/2a*i;x2=(-b)/2a-sqrt(b2-4ac)/2a*i。 但如果a=0,则方程为一次议程,解为x=-c/b。 program root(input,output);constazero=1e-6;vara,b,c,disc,x1,x2,rpart,ipart:real;beginwrite(Input a,b,c:);readln(a,b,c);write(The equation);if abs(a)=azerothen writeln(has oneroot:,-c/b)else beginDisc:=sqr(b)-4*a*c;If abs(disc)azero thenbeginx1:=(-b+sqrt(disc)/(2*a);x2:=(-b-sqrt(disc)/(2*a);writeln(has differentreal roots:,x1:8:4,x2:8:4)endelsebegin作业 一、从键盘入三数,求出其中最大者 二、给出三角形的三条边,求三角形的面积S=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c) 三、输入一个正整数,判断它是奇数还是偶数。 Rpart:=-b/(2*a);Ipart:=sqrt(-diac)/(2*a);Writeln(has plexroots:);writeln(rpart:8:4,+,ipart:8:4,I);writeln(rpart:8:4,-,ipart:8:4,I)endendend.小结选择结构是程序设计的三个基本结构之一,要求学生重点掌握。 IF语句是重点语句,但不是难点,学生掌握的较好。 在实际应用上还有不足,还应多加练习! 四、输入一个年号,判断这是否为闰年。 五、课本第52页第1题第2小题,第5题Case语句的格式(分情况语句)Case表达式of值表1语句1;值表2语句2;值表3语句3;值表n语句n;else语句n+1End.例七试编写一个根据用户键入的两个操作数和一个运算符,输出运行结果。 即计算器运算。 分析我们只考虑+、-、*、/四种运算。 Program calculator(input,output);varx,y,result:real;ch:char;beginwrite(Enter x,y:);readln(x,y);write(Input operator:);readln(ch);Case chof+:result:=x+y;-:result:=x-y;*:result:=x*y;/:if y0then result:=x/yelse writeln(divide overflow)end;Write(x:6:2,ch:2,y:6:2,=);Writeln(result:6:2)End.例八月收入t的所得税税率r如下t rT8000800t10005%1000t150010%1500t300015%T300020%编写程序,输入某人的月收入,输出所得税税率、应缴所得税款以及扣除所得税后的实际收入。 用编写程序,输入某人的月收入,输出所得税税率、应缴所得税款以及扣除所得税后的实际收入。 用if语嵌套和case语句做。 IF嵌套语句program rent(input,output);vart,r,kr,x:real;beginwrite(Please entert:);read(t);if t800then r:=0else ift1000then r:=0.05else ift1500then r:=0.10else iftmax thenmax:=xelse ifx Program fac(input,output);varfac:real;n,I:integer;beginwrite(Input n:);Read(n);Fac:=1;For I:=2to ndoFac:=fac*I;Writeln(fac=,fac:6:2)End.例六利用格里高公式求。 /4=1-1/3+1/5-1/7+,直到最后一项的值小于,直到最后一项的值小于10-6为止。 分析这个题目我们用另一个循环语句来做repeat-until来实现。 其格式为RepeatUntilProgram pai(input,output);varf:integer;n,t,pai:real;beginPai:=0;T:=1;N:=1.0;F:=1;Repeatpai:=pai+t;n:=n+2.0;f:=-f;t:=f/n;Until abs(t)=4),可以用两个素数之和表示。 例如4=2+26=3+38=3+598=17+79Program godbah(input,output);Varn.p,q,j:integer;Flagp,flagq:boolean;Beginread(n);p:=1;repeatP:=p+1;Q:=n-p;Flagp:=true;Fpr j:=2to round(sqrt(p)doif p mod j=0then beginflagp:=false;breakend;if flagpthen beginFlagq:=true;For j:=2to round(sqrt(q)do ifpmodj=0then beginflagq:=false;breakend;until flagpand flagqWriteln(n,=,p,+,q)End.例五4.30求2-100中,每个数的质因子,输入如下形式2=23=34=2*2100=2*2*5*5提示质因子也即素数因子。 在找质因子的过程中,可以不必判断它是否为素数,只要算法合适,所求的因子必然是质因子。 分析对于每个数的质因子,一般从2开始试,如果除尽了,再看它的商中有无此因子,有则继续除,否则将该因子加1以后再试,直到最后商为1,完成该数的质因子分解。 用这种方法求出的因子一定是质因子(素数因子),不必另行判断定。 Program ex430(input,output);VarI,x,y,n:integer;Beginfor I:=2to100dobeginwrite(I:3,=);x:=I;y:=2;n:=1;repeatif xmod y=0thenBeginx:=x divy;if n1then write(*);write(y:2);n:=2EndElse y:=y+1until x=1;writelnEndEnd.例六四个学生上地理课,回答我国四大淡水湖大小时这样说甲“最大洞庭湖,最小洪泽湖,鄱阳湖第三。 乙

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论