06第六课 for循环语句
- 格式:pdf
- 大小:114.33 KB
- 文档页数:3
For循环语句五、For循环语句有时候需要处理的是反复进⾏的⼯作,这时候使⽤循环语句是很好的⽅法,下⾯我们通过⼀个练习来学习;2、输⼊程序代码1)输⼊下列代码,单引号后⾯是注释,双引号后⾯是分号;cls'xun huanfor i= 1 to 10print i;nextprintfor i= 1 to 10s= s+ inextprint " s="; send2)for循环包括三⾏,第⼀⾏是循环条件,i=1 to 10表⽰从1到10,这样就会循环10次;中间⼀⾏是执⾏的语句,每循环⼀次,就执⾏⼀下这⼀句,第三⾏next表⽰继续,这时候i会⾃动加1,然后回到第⼀⾏去判断是否超过了循环条件;3)第⼆个循环中的s=s+i是累加运算,就像盖楼房⼀样,⼀层⼀层往上加,这样s就会存上每次相加的和;以 xunhuan 为⽂件名,保存⼀下⽂件,按F5运⾏⼀下程序,看⼀下程序运⾏的结果,如果有错误,就检查⼀下是否是拼写和标点错误;六、Do循环我们继续来看另⼀中循环,它跟前⾯的For循环区别在于,For循环⼀般知道循环次数,在第⼀⾏⾥头就指明了,⽽Do循环⼀般不知道循环次数,下⾯我们通过⼀个练习来学习;2、输⼊程序代码1)输⼊下列代码,单引号后⾯是注释,双引号后⾯是分号;cls'do xun huandoinput "chengji"; chjs= s+ chjloop while chj> 0print "zongfen="; send2)input是输⼊⼀个成绩,然后把成绩加起来,放到变量s当中在loop⼀⾏⾥头,检查⼀下chj的⼤⼩,如果⼤于0,就继续循环,等于0或⼩于0,就退出循环;以 doxh 为⽂件名,保存⼀下⽂件,按F5运⾏⼀下程序,输⼊⼏个成绩,最后输⼊⼀个0退出程序;七、数组数组能够科学地按顺序存储数据,通过⼀个变量名和序号,就可以很⽅便地查找和使⽤数据,下⾯我们通过⼀个练习来学习;2、输⼊程序代码1)输⼊下列代码,单引号后⾯是注释,等号挨着左边的变量;cls'shu zudim a(3)a(0)= 5a(1)= 8a(2)= 1a(3)= 6for i= 0 to 3print a(i);nextend2)dim语句是定义⼀个数组,括号⾥⾯是数组的元素个数,由于是从0开始,因此数组中有4个元素,也就是4个变量,它们⽤括号⾥的数字来区分;使⽤数组元素跟使⽤变量相同,可以存放各种数据,显⽰数组⾥的数据,⼀般⽤for循环语句,通过i的变化,可以显⽰所有数组元素;3)以 shuzu 为⽂件名,保存⼀下⽂件,按F5运⾏程序,如果有错误就检查⼀下拼写和标点符号;⼋、随机、取整函数函数能够处理⼀些⽐较复杂的操作,并返回⼀个结果,可以把结果存⼊⼀个变量中,下⾯我们通过⼀个练习来学习;2、输⼊程序代码1)输⼊下列代码,单引号后⾯是注释,a(i),后⾯是逗号,cls'sui jidim a(4)randomize timerfor i= 0 to 4a(i)= 10* rndprint a(i),nextprintfor i= 0 to 4a(i)= int( a(i) )print a(i),nextend2)dim定义⼀个数组,括号⾥的下标为4,⼀共5个元素,randomize timer 使得随机数每次都不同,for⾥⾯的rnd函数产⽣⼀个⼩于1的随机数,再乘以10,第⼆个for⾥头的int( a(i) ),是取整函数,将⼩数部分去掉,⼀般⽤在正数;这样就得到了随机的正整数;以 suiji 为⽂件名,保存⼀下⽂件,按F5运⾏⼀下程序,多运⾏⼏次,看⼀下每次的不同效果;九、字符串函数字符串是另⼀类数,⼀般是表⽰对象的名称、字母、汉字等,下⾯我们通过⼀个练习来学习;字符串函数后⾯⼀般都有⼀个美元符号$;1、运⾏qbasic1)进⼊qbasic⽂件夹,双击运⾏qbasic,按ESC键进⼊编辑窗⼝;2)光标在左上⾓⼀闪⼀闪,表⽰可以输⼊程序代码;3)第⼀⾏是清屏和注释代码,表明程序的作⽤;2、输⼊程序代码1)输⼊下列代码,单引号后⾯是注释,双引号后⾯是分号;逗号跟在左边的字符后⾯,后⾯加⼀个空格;cls' zi fu chuanch$= "Good morning"print ch$s= len(ch$)print "zi shu:"; sch1$= left$(ch$, 4)print ch1$ch2$= right$(ch$, 7)print ch2$for i= 65 to 90print chr$(i);nextprintfor i= 97 to 122print chr$(i);nextend2)ch$是⼀个字符串变量,⽤美元符号$来标识,字符串数据⽤双引号括起来,当程序碰到双引号时,就会把它当作字符串;len()是计算字符串长度的函数,空格也是⼀个字符,所以⼀共有12个字符;ch1$是另⼀个字符串变量,left$()是左取函数,从ch$字符串中取出4个字符来;ch2$是另⼀个字符串变量,right$()是右取函数,从ch$字符串中取出7个字符来;chr$()是ASCII数值转换函数,把ASCII数值转换成对应的字符,在电脑中所有数据都是⽤0和1表⽰,所以字符在内部也是⽤数值表⽰的;65对应⼤写的A,97对应⼩写的a,其他字符也有对应ASCII码;3)以 zifu 为⽂件名,保存⼀下⽂件,按F5运⾏程序,看⼀下运⾏的结果;五、编译程序前⾯我们输⼊的程序都是源代码,也就是说只能在qbasic环境中运⾏,由qbasic来解释⼀⾏⼀⾏代码,这⼀节我们来学习如何⽣成可以直接运⾏的可执⾏程序;1、编译程序代码1)打开D:盘中的Qbasic⽂件夹,在⾥⾯找到两个⽅框图标的可执⾏程序,它们是BC、LINK;BC是⽤来编译代码的,编译后得到⼀个同名的OBJ类型⽂件,LINK是⽤来连接的,把OBJ⽂件连接成⼀个EXE类型的可执⾏⽂件;⽂件类型,可以在⽂件夹选中这个⽂件后,在左侧栏下边的“详细信息”中查看;2)双击BC⽂件,出现⼀个⿊⾊窗⼝,光标在最后⼀⾏⼀闪⼀闪,提⽰输⼊⼀个程序⽂件名;输⼊基础0⾥头制作的第⼀个程序名hello然后按三下回车键确认,窗⼝闪⼀下⾃动退出了;3)这时候⽂件夹中就多了⼀个名为HELLO的⽂件,图标是⽆法识别那样,类型是OBJ⽂件;2、连接程序代码1)双击LINK⽂件,也出现⼀个⿊⾊窗⼝,光标在最后⼀⾏⼀闪⼀闪,提⽰输⼊⼀个程序⽂件名;2)输⼊hello按回车键,然后出来第⼆⾏、第三⾏直接按回车键;3)在出来第四⾏Libraries [.LIB]:的时候,输⼊bcom45然后按回车键;窗⼝闪⼀下,然后⾃动退出,⽂件夹中多了⼀个窗⼝图标的HELLO⽂件,类型是应⽤程序;4)双击这个 HELLO 应⽤程序⽂件,发现窗⼝闪了⼀下,就⾃动退出了,这是为什么呢?原来qbasic编译出来的是DOS下的应⽤程序,默认是⾃动退出,我们可以加上⼀句暂停代码;3、修改程序代码1)启动qbasic,按 Alt-F-O键,在中间找到HELLO.BAS⽂件,双击打开;2)在代码的最后加上⼀句代码,do后⾯是冒号,表⽰这⼉是两句放在⼀⾏⾥了;do: loop while inkey$= ""这句代码是起暂停作⽤,等待从键盘上按⼀下任意键,保存退出;然后重新运⾏BC编译、运⾏LINK连接,得到的HELLO程序运⾏时,就会暂停下来;。
FOR循环语句
一、1、知识目标::
1)掌握FOR循环语句的基本格式
2)理解FOR循环语句的执行过程
3)掌握循环变量在执行过程中的变化情况
4)能用for循环结构编写简单的程序
2、能力目标:培养学生分析问题,解决问题的能力。
3、情感目标:使学生积极参与,发挥他们的主动性,激发他们的求知欲。
二、教学重点、难点
教学重点:1、掌握FOR循环语句的基本格式;
2、理解FOR循环语句的执行过程
教学难点:根据实际问题,确定程序中的循环变量、循环条件和循环体。
教材处理:教材上没有讲for循环语句格式,也没讲它的执行过程,直接讲了它的应用。
若直接按教材上的来讲,学生不容易接受。
很容易造成学生的简单模仿,而不是真正的掌握。
所以先用一节课的时间讲for循环语句的语句格式,执行过程。
下一节再讲其实际应用。
三、教学环境:多媒体教室(无网络)
四、教学过程:
、阅读(调试)程序,完成以下问题S=0
for i =1 to 10 step 2
s=s+i
Next i
print s。
1)for循环语句的一般形式:for(表达式1;表达式2;表达3){ 循环体语句; }表达式1 通常用来给循环变量赋初值,一般是赋值表达式。
也允许在for语句外给循环变量赋初值,此时可以省略该表达式。
表达式2 通常是循环条件,一般为关系表达式或逻辑表达式。
表达式3 通常可用来修改循环变量的值,一般是赋值语句。
这三个表达式都可以是逗号表达式,即每个表达式都可由多个表达式组成。
三个表达式都是任选项,都可以省略。
因此for循环语句的形式还可以表示为:for(循环变量赋初值;循环条件;循环变量增值){ 循环体语句; }(2)for循环语句的执行顺序:一般形式中的“语句”即为循环体语句。
for语句的语义是:a.首先计算表达式1的值。
b.再计算表达式2的值,若值为真(非0)则执行循环体一次,否则跳出循环。
c.然后再计算表达式3的值,转回第2步重复执行。
在整个for 循环过程中,表达式1只计算一次,表达式2和表达式,3则可能计算多次。
循环体可能多次执行,也可能一次都不执行。
for 语句的执行过程如图所示。
注意:(1).for循环中语句可以为语句体,但要用{ }将参加循环的语句括起来。
(2).for循环中的初始化、条件表达式和增量都是选择项,即可以缺省,但;不能缺省。
省略了初始化,表示不对循环控制变量赋初值。
省略了条件表达式,则不做其它处理时便成为死循环。
省略了增量,则不对循环控制变量进行操作,这时可在语句体中加入修改循环控制变量的语句。
(3).for循环可以有多层嵌套。
For循环流程图(3)for循环的用法实例:例5-7 编程计算100至200自然数之和。
方法一:#include <stdio.h>main(){int i,sum=0;for(i=100 ; i<=200 ; i++)sum +=i ; sum=sum+iprintf(“sum=%d\n”,sum);}方法二:#include <stdio.h>main(){int i=100,sum=0; /*先给循环变量赋初值*/for( ; i<=200 ; i++) /*省略表达式1*/sum +=i;printf(“sum=%d\n”,sum);}方法三:#include <stdio.h>main(){int i=100,sum=0; /*先给循环变量赋初值*/for( ; i<=200 ; ) /*省略表达式1和表达式3*/ sum += i;i++; /*求和的同时递增循环变量*/printf(“sum=%d\n”,sum);}方法四:#include <stdio.h>main(){int i=100,sum=0; /*先给循环变量赋初值*/for( ; ; ) /*省略所有表达式*/{sum += i++; /*求和的同时递增循环变量*/ if(i>200) /*使用if语句*/break;}printf(“sum=%d\n”,sum);}方法五:#include <stdio.h>main(){int i,sum;for(i=100,sum=0;i<=200; sum +=i,i++); /*空语句,循环体内语句写到了上面的表达式内*/ printf(“sum=%d\n”,sum);}程序分析:上述五种不同方法都是用来求100至200自然数之和的,从不同的方法中可以看出for循环语句在使用中的灵活性。
for循环的两种表达一、for循环的两种表达:基本for循环和增强for循环在编程中,for循环是一种重复执行特定代码块的控制流语句。
它可以按照指定的次数重复执行一组语句,也可以遍历一个集合中的元素。
for循环的语法形式有多种,其中最常见的是基本for循环和增强for循环。
基本for循环是最常见的形式,它的语法如下:```for (初始化表达式; 循环条件表达式; 更新表达式) {// 循环体语句}```其中,初始化表达式在循环开始前执行一次,用于初始化循环控制变量;循环条件表达式在每次循环开始前进行判断,如果为真则执行循环体语句,否则结束循环;更新表达式在每次循环结束后执行,用于更新循环控制变量。
例如,下面的代码使用基本for循环计算1到10的和:```int sum = 0;for (int i = 1; i <= 10; i++) {sum += i;System.out.println("1到10的和为:" + sum);```上述代码中,初始化表达式将变量`i`初始化为1,循环条件表达式判断`i`是否小于等于10,更新表达式将`i`递增1。
每次循环,都将`i`加到`sum`中,最终输出结果为1到10的和。
增强for循环是一种用于遍历集合和数组的简化语法,它的语法如下:```for (元素类型变量名 : 集合或数组) {// 循环体语句}```其中,元素类型是集合或数组中元素的类型,变量名是每次迭代时保存当前元素的变量名,集合或数组是要遍历的对象。
例如,下面的代码使用增强for循环遍历一个整型数组并输出每个元素的值:```int[] numbers = {1, 2, 3, 4, 5};for (int number : numbers) {System.out.println(number);```上述代码中,变量`number`在每次迭代时保存当前元素的值,循环体语句输出`number`的值。
循环for的用法循环for,就像是一个勤劳的小工,在程序的世界里忙个不停。
咱先来说说这for循环是干啥的。
它就像一个火车头,带着一群车厢,沿着既定的轨道跑。
比如说,你有一摞书,要一本本查看有没有你想要的那本。
这时候,for循环就派上用场了。
它能让你从第一本书开始,一本接一本,按照顺序去检查,直到把这摞书都查完。
这一摞书就好比是一个数组或者列表,每一本书就是里面的一个元素。
for循环就负责一个一个地把这些元素拿出来,让你对它们做你想做的事情,像是检查书名啦,看看书的新旧程度之类的。
再打个比方,你要给一群小朋友发糖果。
你可不能乱发呀,得一个一个来。
for循环就像是你这个发糖的人,小朋友们站成一排,就像数组里的元素一样。
你从第一个小朋友开始,走到每个小朋友面前,把糖果给他们。
这个过程就是for循环在起作用。
它能够确保每个小朋友都能得到关注,每个元素都能被处理到。
那这for循环在代码里是怎么写的呢?一般来说,就像是一种固定的格式,但又非常灵活。
就像做饺子,虽然有个基本的做法,但你可以包各种各样的馅。
你得告诉它从哪里开始,到哪里结束,还有每次走多远。
这就好比你要从这个房间的这头走到那头,你可以一步一步走,也可以跳着走,这就是每次走多远的意思。
比如说在很多编程语言里,像Python,你可能会写类似这样的代码:for i in range(10),这个range(10)就像是在说,从0开始(因为很多时候默认是从0开始的哦),到9结束,每次走1步。
这里的i呢,就像是一个小标签,每次循环的时候,它就代表着当前正在处理的那个元素。
你可以在循环里面用这个i来做很多有趣的事情。
比如你可以根据这个i的值,打印出不同的东西。
如果i是0,你可以打印出“这是第一个元素”,如果i是1,就打印“这是第二个元素”,就像给每个小朋友按顺序起个名字一样。
而且啊,for循环还可以处理更复杂的情况呢。
就好比你不仅要给小朋友发糖,还要根据小朋友的性别发不同颜色的糖。
第六课 for循环语句
在实际应用中,会经常遇到许多有规律性的重复运算,这就需要掌握本章所介绍的循环结构程序设计。
在Pascal语言中,循环结构程序通常由三种的循环语句来实现。
它们分别为FOR循环、当循环和直到循环。
通常将一组重复执行的语句称为循环体,而控制重复执行或终止执行由重复终止条件决定。
因此,重复语句是由循环体及重复终止条件两部分组成。
一、for语句的一般格式
for <控制变量>:=<表达式1> to <表达式2> do <语句>;
for <控制变量>:=<表达式1> downto <表达式2> do <语句>;
其中for、to、downto和do是Pascal保留字。
表达式1 与表达式2的值也称为初值和终值。
二、For语句执行过程
①先将初值赋给左边的变量(称为循环控制变量);
②判断循环控制变量的值是否已"超过"终值,如已超过,则跳到步骤⑥;
③如果末超过终值,则执行do后面的那个语句(称为循环体);
④循环变量递增(对to)或递减(对downt o)1;
⑤返回步骤②;
⑥循环结束,执行for循环下面的一个语句。
三、说明
①循环控制变量必须是顺序类型。
例如,可以是整型、字符型等,但不能为实型。
②循环控制变量的值递增或递减的规律是:选用to则为递增;选用downto则递减。
③所谓循环控制变量的值"超过"终值,对递增型循环,"超过"指大于,对递减型循环,"超 过"指小于。
④循环体可以是一个基本语句,也可以是一个复合语句。
⑤循环控制变量的初值和终值一经确定,循环次数就确定了。
但是
在循环体内对循环变量的值进行修改,常常会使得循环提前结束或进入死环。
建议不要在循环体中随意修改控制变量的值。
⑥for语句中的初值、终值都可以是顺序类型的常量、变量、表达式。
四、应用举例
例1.输出1-100之间的所有偶数。
var i:integer;
begin
for i:=1 to 100 do
if i mod 2=0 then write(i:5);
end.
例2.求N!=1*2*3*…*N ,这里N不大于10。
分析:程序要先输入N,然后从1累乘到N。
程序如下:
var
n,i : integer;{i为循环变量}
S : longint;{s作为累乘器}
begin
write('Enter n=');readln(n);{输入n}
s:=1;
for i:=2 to n do{从2到n累乘到s中}
s:=s*i;
writeln(n,'!=',s);{输出n!的值}
end.
s:=s*
练 习
1.求s=1+4+7+…+298的值。
2.编写一个评分程序,接受用户输入5个选手的得分(0-10分),然后去掉一个最高分和一个最低分,求出某选手的最后得分(平均分)。
3.用一张2角票换1分、2分的硬币,每种至少一枚, 问有哪几种换法(各几枚)?
4.用一张5角票换1分、2分和5分的硬币,每种至少一枚, 问有哪几种换法(各几枚)?
5.百钱买百鸡,公鸡3文钱一只,母鸡2文钱一只,小鸡1文钱3只,100文钱刚好买了100只鸡,有几种方法?怎么买?。