[八年级信息技术课教案]八年级信息技术教案第五章循环结构程序设计

初中信息技术教案 2013-09-11 网络整理 晴天

【jiaoan.jxxyjl.com--初中信息技术教案】

第五章 循环结构程序设计
第一节 循序渐进
一、学习目的
1.初步掌握计数循环、条件循环两种语句的格式和功能。
2.初步掌握简单循环结构程序的设计方法。
3.理解程序的循环结构的概念。
二、教学重点
掌握计数循环、条件循环两种语句的格式和功能。
三、教学难点
掌握简单循环结构程序的设计方法。
四、教学方法
1.演示法。
2.实践法。
五、教学手段与教学媒体
多媒体网络教室。
六、课时安排
1课时。
七、教学过程
  教学内容、步骤与方法

二、学习指导
1.计数循环语句
(1)格式:for 循环变量=初值 to 终值 step 步长
            语句组(循环体)
         next循环变量
    for语句为循环说明语句,next语句为循环终端语句。
    for和next后面的循环变量必须相同。
    初值、终值和步长都是数值表达式。
    步长为1时,step可省略不写。
    (2)功能:根据for语句说明设定的循环次数重复执行循环体。其具体执行过程可用图5-4-l表示。

图 5—4—1
其中循环变量超过终值的规则是:
步长为正,大于终值;步长为负,小于终值。
一般地循环次数可用下列公式计算:
循环次数=int((终值一初值)/步长)+1
2.条件循环语句
(1)格式:do while条件
语句组(循环体)
        loop
(2)功能:当条件成立(即为真)时,执行do和loop之间的语句组(循环体),否则终止循环,转到loop语句的下一句执行。
3.计数循环程序设计关键是确定循环的次数和重复循环的操作;条件循环程序设计的关键是确定循环的条件和重复循环的操作
三、应用实例
1.编程求1+2+4+8+16+……+2n(n<64)的值
    解:
(1)此题的计算公式是一个和式,加数为2的乘方,可考虑用累加求和的方法来计算。设累加变量为s,加数为2k,k=o…n。构造一个关于k的循环,重复执行s←s+2^k,即可算出和式的值。
  根据分析,可编程序如下:
    input n
    let s=0
    for k=o to n
    let s=s+2^k
    next k
    print“s=”:s
    end
  运行结果如下:
    ?63
    s=1.844674e19
(2)数列各项为2的0、l、2……n次乘方,即乘数始终为2的累乘积,可构造一个n次循环,用卜t*2累乘(t的初值为1)依次生成数列各项,用s←s+t依次累加各项。循环结束,其累加和s的值即所求和式的值。
根据分析,可编程序如下:
    input n
    let t=1
    let s=t
    for k=l to n
    let t=t*2
    let s=s+t
    next k
    print“s=”;s
    end
运行结果如下:
    ?63
    s=1.844674e19
四、练习实践
1.写出下列程序的运行结果
(1)for a=1 t0 5
   print a,a*a,2^a1234
   next a
   end
(2)let m=1
   input a,b,c
   for i=a to b step c
   let m=m*i
    next i
    print m
end
  ①输入l,5,1        ②输入50,-l,-1
结果为:             结果为:       
(3)let t=1
  let a=0
  for k=l t0 5
  let a=a+t*k
  t=-t
  next k
  print a
  end
结果为:          
(4)let m=0 
   for x=1 to 10
   if  int(x/2)=x/2 then
let m=m+x
   end if
   next x
   print m
   end
结果为:       
(5)let s=o
   let x=2
   do while s<30
   let s=s+x*x
   loop
   print s
   end
(6)let a=l
   let b=l
   d0 while b<20
   print  a,b
   let a=a+b
   let b=a+b
   loop
   end
 2.根据题意,把程序填写完整
(1)求1/2+2/3+3/4+…+99/100的值。
    let s=0
    for i=l to      
    let s=      
    next i
    print s
    end
(2)把输入的6个数中绝对值大于5的数打印出来,并统计这样的数的个数。
    let t=0
    for j=1 t0 6
    input x
    if         then
print x,
         
end if
    next j
    print “t=”;t
    end
教学后记:

第二节 小小统计员-----while—wend语句
一、学习目标
了解while—wend语句的特点。
二、教学重点
while—wend语句的使用方法。
三、教学难点
while—wend语句的应用。
四、教学方法
1.演示法。
2.实践法。
五、教学手段与教学媒体
多媒体网络教室。
六、课时安排
1课时。
七、教学过程
  教学内容、步骤与方法
二、while循环结构 while  <条件>   
<循环体>wend    
注: <条件>是终止循环的逻辑表达式,<条件>应随循环的执行而变化,最终退出循环。    
如: s=0   
   i=1   
   while  i<=100
   s=s+i   
   wend    
构成“死循环”——无终止的循环。这时可用ctrl+break终止其程序运行。    
例1(p152例7.5): 如果我国工农业生产每年以12%速度增长,问多少年后产值翻一番:基值设为100。
(逐年计算产值,看是否达到200) 1234
    p=100
    r=.12
    n=0   
    while p<200
 p=p*(1+r)
 n=n+1
    wend
    print n; "years","p=";p
    end    
例2 (p152例7.6) : 给出两个正整数,求它们的最大公约数。    
算法:(辗转相除法) 
(1)、以大数m作被除数,小的数n作为除数,相除后余数为r。    
(2)、如果r=0,则n就是最大公约数。否则将n=>m, r=>n, 重复(1)。 
程序及框图 :   
    input "m,n=";m,n
    r=m mod n 
    while  r < >0 
      m=n 
      n=r
      r= m mod n  
    wend
    print "最大公约数为:",n 
    end    
例3 (p153例7.7):给一个整数n(>2),判别它是否素数(质数)。    
算法:判别n是否素数,只要将n被1~(n-1)各数轮流作除数除,若都不被整除,则为素数。 
  若n不是素数,则n=n1*n2,而n1和n2中必然有一个大于或等于n的开方根,另一个小于或等于n的开方根。
即若n是非素数,则必然有一个因子小于或等于n开方根。
程序及框图: 
input  "n="; n
k=int(sqr(n))
i=2   
flag=0  
while i<=k and flag=0 
 if n mod i=0 then flag=1 else i=i+1
wend  
if flag=0 then
 print n;"是素数!"
else   
 print n;"不是素数!" 
end if   
end 
教学后记:

第三节 大浪淘沙----do---loop语句
 
教学目标:
知识目标:
1.了解条件循环语句的结构
2.掌握条件循环语句执行过程
3. 知道条件循环语句编程过程
4.掌握条件循环的格式及执行过程。
能力目标:能够能读懂条件循环程序并编写简单的条件循环程序。
情感目标:让学生了解要想做成一件事,应具备一定的条件。
教学重点:条件循环的格式,执行过程。
教学难点:循环执行的条件,重复循环的操作。
教学方法:
提问法
学生讨论交流法
训练反馈法
练习巩固法
教学过程:
一、复习旧课
求1+2+3+……+100的方法(计数循环)
二、引入新课
求1+2+3+……到和大于1000为止,怎样求?叫学生思考,讨论。通过前面已学习的知识解决这个问题较为困难,于是引出新知——条件循环,它就可完成此题。
格式:
do    while     条件
语句组(循环体)
loop
功能 :
当条件成立(即为真)时,执行do和loop之间的语句组(即循环体);否则终止循环,转到loop语句的下一句执行。
流程图
例题一
统计某班某科考试成绩平均分
s=0
r=0                      
input x
do while x>=0
s=s+x
r=r+1
input x
loop
print  s/r
 
 
例题二
求从1开始的自然数相加直到和大于1000为止。
s=0
x=1
do while s<=1000
s=s+x
x=x+1
loop
print “s=”;s
end
练习一
求在等式3□x8256=□3x6528里□中的最小值。
x=1
do while                     1234
x=x+1
loop
print                    
end
练习二
年产值为1000万,若年增长率为8%,几年后产值翻上两番。
t=1000
n=0
do while                    
n=n+1
t=                  
loop
rpint                  
end
总结
介于do while和loop之间的语句是循环体。
确定循环的条件和重复循环的操作。
在循环体中要有能使条件改变的语句。
作业
第一题
s=0
x=2
do while s<30
s=s+x*x
loop
print s
end
第二题
a=1
b=1
do while b<20
print a,b
a=a+b
b=a+b
loop
end
板书设计(把主要和重要的容放在黑板的醒目位置——中间)
例题一    格式       习题
       流程图    总结
例题二    功能       作业
时间分配
复习旧课,引入新课(3分钟)
格式,功能,流程图(12分钟)
例题(11分钟)
习题(11分钟)
总结,作业(8分钟)
教学后记:

第四节 环环相扣---循环嵌套
一、学习目标
了解循环嵌套的特点。
二、教学重点
循环嵌套的使用方法。
三、教学难点
循环嵌套的应用。
四、教学方法
1.演示法。
2.实践法。
五、教学手段与教学媒体
多媒体网络教室。
六、课时安排
1课时。
七、教学过程
教学内容、步骤与方法

一个循环体内包含另一个循环  
找出100-200间的全部素数。for n=101 to 200 step 2 k=int(sqr(n))   i=2   f=0   while i<=k and f = 0if n mod i=0 then f=1 else i=i+1   
wend  if f=0 then print n,next n end 
例打印乘法九九表  
for i=1 to 9for j=1 to 9   
p = i*j   
print p,   
next j   
print
next i   
end   打印表格(p175)  
print tab(5);"|"   
for j=1to 9   
print tab(j*8);j;   
next j   
print   
for n=1 to 75   
print "-";   
next n print tab(5);"|";
print   
for i=1 to 9   
print i;"|";   
for j=1 to 9   
p=i*j   
print tab(j*8); p;   
next j   
print   
next i   
for n=1 to 75   
print "-";   
next n   
end   
教学后记:
 

1234

本文来源:https://jiaoan.jxxyjl.com/chuzhongxinxijishujiaoan/11416.html

Copyright @ 2011-2019 教案下载网 All Rights Reserved. 版权所有

免责声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。

 站长统计