Pascal语言当型循环的设计两例.docVIP

  • 15
  • 0
  • 约2.56千字
  • 约 7页
  • 2018-10-11 发布于福建
  • 举报
Pascal语言当型循环的设计两例

Pascal语言当型循环的设计两例   Pascal语言是国际通用的主流程序设计语言之一,也是各类计算机竞赛的主要参赛语言之一。PASCAL语言进行程序设计和具备调试程序的能力,为其他程序设计课程的学习和应用打下了基础。Pascal语言功能强大,数据类型丰富,用Pascal语言编写的程序具有结构严谨、格式优美、流程清晰、便于阅读和和理解等特点,因此Pascal语言一直被当作训练结构化程序设计的首选语言。随着我国信息学奥林匹克竞赛的影响越来越大,Pascal语言的培训起点也从初中降到小学。小学生Pascal语言培训有哪些特点和差异呢?笔者有幸结缘小学生Pascal语言的培训与辅导,下面将培训辅导中“循环语句结构程序设计”一节中2例的思考和做法与大家共享。   1、放暑假学校组织夏令营来到一个农场,农场主热情的接待了同学们。在参观时,同学们发现在农场的左上角圈出了一块地方,这儿阳光充足,通风也不错,但却什么也没有,觉得很奇怪。农场主告诉大家因为农场四周许多小朋友因没钱交学费而缀学,所以决定引进品种优良的雌雄一对小白兔进行饲养。小白兔需经过一个月才能长大,长大后每个月都生雌雄一对小白兔。想等小白兔繁殖到1000对的时候,在分发给周围贫困的学生,希望能帮助他们重新步入课堂。现正在写一份预算报告,其中预计所需时间却没算出来。现在就让同学们来帮助这位好心的农场主算出时间。   问题分析   这问题从表面来看好象没有什么规律,不妨设计一张表格来推算一下。   ■   因为第一个月小白兔没长大,所以兔子数是1对。到了第二个月小白兔长大了,生了一对小白兔,兔子数是2对。第三个月小白兔也长大了,大白兔是2对,它们都生了一对小白兔,兔子数是4对……。依此类推,发现除了第一个月,其它都是:前一个月的兔子对数 × 2 = 本月兔子数 。我们发现这又是一个循环,直到兔子数为1000对的时候结束。可是用for语句显然不行,因为我们不知道循环的次数。下面我们用当型循环(while/do语句)来编写程序。   农场主的预算可以描述如下:   月份:=1;   兔子对数:=1; { 预定义第一个月的兔子对数是1对}   while 兔子对数1000 do{当兔子数小于1000对时进入循环}   begin   月份:=月份+1;   兔子对数:=兔子对数*2;   end;   程序设计   program p6-1(input,output);   var   month, rabbit: integer;   begin   month:= 1;   rabbit:= 1;   while rabbit1000 do   begin   month:=month + 1;   rabbit:= rabit * 2;   end;   writeln(‘The months is :’,month);   end.   如果复试程序到此为止;如果是初赛写出运行结果题可指导学生根据上表计算出月份是11   2、小强在参加pascal辅导时遇到一个有趣的题目:   找出四位整数abcd中满足下述关系的数:( ab + cd )( ab + cd )= abcd   请你帮小强编写一个程序,找出满足条件的所有的数。   问题分析:   这道题属于搜索问题,因为是四位整数,不难看出范围是从1000~9999,所求的数究竟在哪里,无法确定,只有在这个范围内从小到大一个一个进行搜索,对每一个数看它的高两位数与低两位数和的平方是否与该数相等。ab和cd 两个数可以在abcd中将高两位与低两位分离开来。我们可以这样考虑,将abcd整除100,可得到高两位ab。如:   Abcd=1234 , 1234 div 100 =12。   有了ab,也就可用下面的式子把低两位cd分离出来:   abcd - ab × 100 = abcd - ab00 = cd   如: 1234 - 12 × 100 = 1234 - 1200 = 34   同学们仔细想想,在求解的过程中,条件都是一样的,只是abcd这个数不同。实际上是在反复做同一个步骤。下面我们用当型循环来解这道题。   [程序清单]   Program p6-2(input,output);   Var i,m,n,k:integer;   Begin   I:=1000;{给I赋值,即abcd假设一个数;}   While I=9999 do {判断I(即abcd)的值是否超出范围,;如果超过则不执行循环   Begin 体中的语句,结束循环;}   M:=I div 100; {分离出ab和cd两个数,如果符合条件,就写出来;

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档