您好、欢迎来到现金彩票网!
当前位置:盛世彩票 > 复合语句 >

信息学复合语句

发布时间:2019-05-25 22:29 来源:未知 编辑:admin

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部循环也叫重复。在程序处理中,经常需要重复地执行某一条或一组语句,以最终完成某项任务。

  我们有时希望重复执行一组语句,重复的次数已知,而不依赖循环中语句的结果,在Pascal语言中这样的结构用FOR语句来描述。

  其中for、to、downto和do是Pascal保留字。语句都必须只能有一条(一条简单语句或一条复合语句)

  (2)判断循环控制变量的值是否已超过终值,如已超过,则跳到步骤(6);

  (1)其中初值和终值可以是表达式,控制变量与初值、终值的类型相同,且限于整型、布尔型和字符型等顺序类型,但不能为实型。

  (2)对于控制变量为整型时,后续值为原值的基础上加(减)1。对于字符型量,则按ASCII码表的顺序计算。如:’B’的后继值是’C’,前趋值是’A’。

  (3)初值与终值在开始重复之前计算,在重复执行过程中,其值不受影响;循环体可以是一条简单语句,也可以是一条复合语句。

  (4)控制变量在循环中不能施加任何赋值操作;在循环体内对循环变量的值进行修改,常常会使得循环提前结束或进入死循环。建议不要在循环体中随意修改控制变量的值。

  (7)循环控制变量的值递增或递减的规律是:选用to则为递增;选用downto则递减。所谓循环控制变量的值超过终值,对递增型循环,超过指大于,对递减型循环,超过指小于。

  我们将类似迭加变量这样的功能称之为“累加器”,若迭加变量每次的值是一个常量,则称之为“计数器”与“累加器”是在程序中经常使用的基本操作语句。

  由上用的方法叫“枚举法”,又称“穷举法”,它是用计算机解题的一种常用的方法。它的基本思路是:一一枚举各种可能情况,并判断每一种可能是符合要求的解。方法虽然很笨,然而与计算机高速处理的能力相结合,也不失为是一种较有用的方法。通过以上例题,我们看到利用循环来处理枚举问题是很方便的。

  在一个循环中再包含另一个循环的形式,称之为循环的嵌套。本例中,内层的FOR语句是外层的FOR循环体中的一个语句,而内层的两个循环(J,K)则是并列的,请注意这之间的关系的区别。

  4.(文件名:k904.pas)输出1-100之间的所有偶数。数字间隔一空格,每行输出10个数。

  分析:每行输出10个数可用下面语句实现:(K为记录现在打印了多少个数,I为循环变量)

  当型循环语句(WHILE语句)是这样描述循环的:当指定条件成立时,重复执行指定的语句。

  2.执行过程:先求布尔表达式的值,当其值为真(TRUE)时,重复执行指定语句,当其值为假(FALSE)时,终止循环。

  (1)为了能使WHILE循环正常终止,表达式中所含变量在循环指定的语句中一定要有更改,即有可能使表达式的值为假,使循环结束。否则循环永不结束,将出现死循环。

  (3)循环中指定的语句一般情况下是多条语句,必须使用BEGIN和END将它们括起来形成一条复合语句。

  (4)WHILE循环允许条件一开始就不成立,这种情况下WHILE语句什么也没有做。

  例1:输入若干个字符,它的终止符是’#’,计算输入的字符中字母’A’出现的次数(包含大小写)。

  在执行时,每当输入的字符为’A’或’a’,则将变量i原有的值加上1再赋给I,相当于使i在原有的基础上加1,如前所叙,这里的i变量称为计数器。

  在本程序中,输入数据’#’就是循环结束的标志,这种在程序中人为设置循环结束条件的方法我们将它叫作结束标志法,在设计循环结构程序时经常要用到这种方法。

  程序中关系式表达S MOD N的作用是判断一个数是否能被另一个数整除,这在程序中经常用到。

  例1:用5元钱买100只钮扣,其中金属钮扣每只5角,有机玻璃钮扣每只1角,小钮扣1分钱买3个,编程求出各种钮扣各买了多少只?

  分析:设用X,Y,Z分别表示金属钮扣,有机扣,小钮扣的只数,依题意可得下列方程组:X+Y+Z=100 (1) 50X+10Y+Z/3=500 (2)

  这是一个不定方程组,一般情况下有多组解,但5元钱全部用来买金属钮扣最多可以买10只,全部用来买有机玻璃钮扣最多买50只,所以小钮扣最多买:100-X-Y只,由此可编写程序如下:

  在这个例子中,我们采用的是“递推”算法。所谓递推是指在一个数的序列中,下一项的值是在前一项值的基础上推算出来,也就是下一项对前一项有某种依赖关系。

  分析:求两个自然数A和B的最大公约数(GCD),有许多种方法,尼考曼彻斯法是一种求GCD的方法,其特色是做一系列减法,辗转相减,从而最后求得GCD。

  考察整个过程,均是由一系列的减法操作构成,这当中唯一要处理的是:当AB时,要交换A,B的值,其终止条件是差为零。

  分析:我们在上例中介绍了求两个自然数A和B的最大公约数的尼考曼彻斯法。下面再介绍另外一种方法:辗转相除判余法。这是一种来自算术中求最大公约数的方法,用M除以N,若余数R为零,则此时N就是M,N的最大公约数,若余数不为零,则将上次的除数N作为被除数,上次的余数作为除数,再次相除后求余数R,如此不断反复辗除,不断判余数是否为零,直到R=0时为止,故而我们称之为“辗转相除判余法”。当R=0时,除数即为所求的M,N两个数的最大公约数。

  编写程序首先要确定算法,但是算法都是需要经过一番思考以后才能正确写出来,这个思考的过程就是“由具体到抽象”的过程。在本例中,用A统一代表多次除法中的被除数,以B统一代表除数,用R统一代表余数,就是一种抽象的方法,是经过对各个数据归纳整理以后得到的一种抽象,在程序设计中,我们将要大量的使用这种方法。经过以上几道示例的演示,想必大家能逐渐学会和掌握这种方法。

  通过以上的讨论可以发现,Pascal中,顺序结构是一种最简单的基本结构。如果不去局部的考虑程序中的选择结构和循环结构,把它们看作一个复合语句,那么程序本身就可以看作是一个顺序的结构,反过来更细地去看选择结构或循环结构的成分,那么它们的主要运行部分(循环体,被选择到的语句等)实际上又是顺序结构或一个复合语句。在编写程序时,若循环次数已知,通常采用FOR语句;若循环次数未知,则应选用WHILE语句。在进行循环程序设计时,一定要搞清楚在循环前应做什么事(通常在循环前要做一些准备工作,如:累加,计数器清零,变量赋初值等),在循环中需做什么事,解决什么问题,在循环后又要做什么事。如果将该做的事情忘了,或把它们放错了顺序或位置,则不能得到正确的结果。在设计一个较大规模Pascal程序时,可按照结构化的思想把大程序按功能划分成小的由基本结构组成的模块,分别进行设计。

  在第一种形式中,使用的是保留字to,循环变量则从“初值开始逐一增加到“终值;

  在第二种形式中,使用的是保留字downto,“循环变量则从“初值开始逐一递减到“终值,每次执行一次循环体语句。

http://coolscala.com/fuheyuju/231.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有