首页  前一页  后一页  末页
[356] [357] [358] [359] [360]
本留言簿共有493条记录, 现在时间2025-5-24 19:06:32,计算机地址:192.168.9.44
日期查询:
现在是第71页
一共有99页
Books库中表及结构信息 环境:一键安装 库表:Mysql.sql  xx3.sql xx4.sql 页面:Myphp.php   
序号 留言内容
360

D:2018-5-18
T:8:11:00
IP:192.168.9.156



作者:
张顺海

2018.5.18 星期五

 

教学内容:程序的运行

教学目的:通过视频展示九宫格的结果

教学重点:程序的实现

教学难点:程序代码与自然语言的对应

教学时间:两课时

教学地点:微机84班教室

教学过程:

一、导入

回忆:(2018.4.18我们曾经学习的规则定义)

1)自然语言‘画’出指定的格数,dime  A(3,3),其中 dime 是申请画格的空间,A是格名,(3,3)是3乘3的9个空格;

用计算机VFP语言解释,这个语句的意思是定义数组,数组名为A,其中包含3行、3列9个数组元素。

2)自然语言,申请几个口袋,用来存放不同的信息:

其中一个是九宫格中的数,且从1开始,这个口袋取名为S,里边首先存入1

其中一个是行位置,列位置,申请两个口袋,一个M存放行位置,一个N存放列位置,口袋M里存入1,口袋N里存入2,大家想想为什么?

3)把第一个口袋S中的数1,放入指定的行口袋M中的(1),指定的列口袋N中的(2),完成用A(M,N)=S

4)第一个数填写完成后,更新三个口袋里的信息,其中S中的由1变成2,行口袋中M的信息由1,变成0(?),列口袋中N的信息由2变成3(?)

需要用S=S+1,M=M-1,N=N+1来完成

5)完成后,判断M、N所确定的新位置是不是在九宫格里,如果没在格内,则需要进一步处理!因为,行减1,列加1,所以发生的情况,可能行为0(出了上边1),列4(出了右边3),处理的时候,就是当为0时,置换成3(边长),如果是4时置换成1(第一列)

6)如果是约数(边长)的整数倍里,按新规则(行+1、列不变),即M=M+1 、N不变、

二、新授

九宫格视频点击查看

 

三、程序设计代码图片

九宫格源代码

运行结果

运行结果

四、练习、作业

大家想一想,如何改,就可以换成25宫格呢

五、教学反思

程序代码是对算法(自然语言)的逻辑呈现,更是对逻辑思维判断的描述。

359

D:2018-5-8
T:13:28:00
IP:192.168.9.156



作者:
张顺海

2018.5.9 星期三

 

教学内容:循环控制

教学目的:宫格中数据的循环变化控制

教学重点:FOR.....NEXT

教学难点:三个主要“口袋”的数据变化

教学时间:两课时

教学地点:微机84班教室

教学过程:

一、导入

上次课,我们把规则分解,然后用条件语句进行智能判断。IF......ELSE......ENDIF的应用。

用条件语句结构,解决了三个口袋(数字 S、行M、列N)的应用,这节课我们学习用循环控制,使数据按我们的要求变化,且每次变化后对S、M、N重新判断,进行下一次循环!

二、新授(九宫格)

dime  A(9,9)

s=1

M=1

N=2


a(m,n)=s   &&将第一个数,放入M(1)行、N(2)列,即首行中间位置

if  mod(s,3)=0

     &s的值为1,如果是3的倍数,得行加1,列不变

     m=m+1

else

     &s的值为1,不是3的倍数,所以行减1,列加1。用到的是M=M-1=1-1=0,N=N+1=2+1=3。

     m=m-1  (M=M-1=1-1=0)

     n=n+1    (N=N+1=2+1=3)

endif

 

&&因为M和N发生了改变,所以需要判断行、列是不是已经出到了格外边,如果是,则按规则重置,好让m和n,成为格里边

if m<1   (上边因为m=0,已经小于1,则本条件生效)

   m=3    则m由0换成3

endif

if n>3

   n=1

endif

s=s+1    &&将格数自加1,由1变成2

此程序段执行完成,M=3,N=3,S=2

 


a(m,n)=s   &&将数字2,放入M(3)行、N(3)列,即第3行,第3列

if  mod(s,3)=0

     &s的值为2,如果是3的倍数,得行加1,列不变

     m=m+1

else

     &s的值为1,不是3的倍数,所以行减1,列加1。用到的是M=M-1=1-1=0,N=N+1=2+1=3。

     m=m-1  (m的值为m=m-1=3-1=2)

     n=n+1   (n的值为n=n+1=3+1=4)

endif

 

&&因为M和N发生了改变,所以需要判断行、列是不是已经出到了格外边,如果是,则按规则重置,好让m和n,成为格里边

if m<1

   m=3

endif

if n>3   &&因为上边n的值变化了 ,且已经大于3了

    n=1   &&所以n的值由上边的n=4,改成了N=1

endif

s=s+1    &&将格数自加1,由2变成3

此程序段执行完成,M=2,N=1,S=3

 


a(m,n)=s   &&将数字3,放入M(2)行、N(1)列,即第2行,第1列

if  mod(s,3)=0

     &s的值为3,如果是3的倍数,得行加1,列不变

     m=m+1   &&M=M+1=2+1=3,N不变,即N还是1

else

     &s的值为1,不是3的倍数,所以行减1,列加1。用到的是M=M-1=1-1=0,N=N+1=2+1=3。

     m=m-1  (m的值为m=m-1=3-1=2)

     n=n+1   (n的值为n=n+1=3+1=4)

endif

 

&&因为M和N发生了改变,所以需要判断行、列是不是已经出到了格外边,如果是,则按规则重置,好让m和n,成为格里边

if m<1

   m=3

endif

if n>3   &&因为上边n的值变化了 ,且已经大于3了

    n=1   &&所以n的值由上边的n=4,改成了N=1

endif

 

s=s+1    &&将格数自加1,由3变成4

此程序段执行完成,M=3,N=1,S=4


 

大家认真看一下,横线中的内容,除了M、N、S中的数据一直在变化,但程序代码没有发生变化

 

三、总结

        只需要将重复的部分写入循环控制语句即可

循环控制语句注意事项:

循环开始:FOR   I=1  to  9

循环体:(重复的部分)

循环结束:ENDFOR

四、九宫格的源代码

 

for i=1 to 9


                          a(m,n)=s  

if  mod(s,3)=0

     m=m+1

else

     m=m-1 

     n=n+1

endif

if m<1

   m=3

endif

if n>3  

    n=1   

endif

s=s+1    


endfor

 

五、作业

        大家认真看一下,这个代码,我们更改一下哪几个地方的几个数字,就可以让程序填写25宫格!

       (提示:就是看看3*3=9,是九宫格,我们填写5*5=25,是25宫格,哪些关键位置的数据控制着9宫的数)

        (进一步提示:9个格数,边长为3等)

 

六、反思

程序其实很简单,但算法很重要。

算法其实很简单,但规则很重要!

 

熟悉九宫格的规则,就是会手工填写。

358

D:2018-5-4
T:8:03:00
IP:192.168.9.156



作者:
张顺海

2018.5.4 星期五

 

教学内容:条件判断

教学目的:通过条件判断,让程序更智能,有选择的执行不同的功能

教学重点:IF...ELSE...ENDIF

教学难点:条件判断的实现

教学时间:2课时

教学地点:微机84班教室

教学过程:

一、复习、导入

1)自然语言‘画’出指定的格数,dime  A(3,3),其中 dime 是申请画格的空间,A是格名,(3,3)是3乘3的9个空格;

用计算机VFP语言解释,这个语句的意思是定义数组,数组名为A,其中包含3行、3列9个数组元素。

2)自然语言,申请几个口袋,用来存放不同的信息:

其中一个是九宫格中的数,且从1开始,这个口袋取名为S,里边首先存入1

其中一个是行位置,列位置,申请两个口袋,一个M存放行位置,一个N存放列位置,口袋M里存入1,口袋N里存入2,大家想想为什么?

3)把第一个口袋S中的数1,放入指定的行口袋M中的(1),指定的列口袋N中的(2),完成用A(M,N)=S

4)第一个数填写完成后,更新三个口袋里的信息,其中S中的由1变成2,行口袋中M的信息由1,变成0(?),列口袋中N的信息由2变成3(?)

需要用S=S+1,M=M-1,N=N+1来完成

5)完成后,判断M、N所确定的新位置是不是在九宫格里,如果没在格内,则需要进一步处理!因为,行减1,列加1,所以发生的情况,可能行为0(出了上边1),列4(出了右边3),处理的时候,就是当为0时,置换成3(边长),如果是4时置换成1(第一列)

6)如果是约数(边长)的整数倍里,按新规则(行+1、列不变),即M=M+1 、N不变

二、新授

s=1   以下这几句是口袋数据初始化

m=1

n=2

 

a(m,n)=s  以下几句是关键处理技术,即对规则的描述和判断

IF  MOD(s,3)=0

    m=m+1

else

    m=m-1

    n=n+1

endif

s=s+1'

 

if m<1    (新位置中的行比1小,这样就是出了九宫格的上边沿,而新位置已经不在格内了,需要处理一下

   m=3   (让新位置位于宫格的最后一行,即边长为3,就是第三行)

endif

 

if n>3    (新位置中的列比3大,这样就是出了九宫格的右边沿,而新位置已经不在格内了,需要处理一下  

n=1        (让新位置位于宫格的最左边一列,即1,就是第1列)

endif

(经过上边的判断,新的位置M、N已经在宫格里了)

四、总结

初始化(S、M、N)

变化(S=S+1、M=M-1、N=N+1)

处理(M=M+1、M=3和N=1)

存入(  a(m,n)=s   )

五、作业

1)熟悉判断语句的写法,分为单条件的判断 if .....endif,和对称型判断if ....else ..endif

2)  掌握S口袋的变化规律,M、N两个口袋的变化及后续处理规则(即两个新的单条件判断)

357

D:2018-4-17
T:7:58:00
IP:192.168.9.156



作者:
张顺海

2018.4.18  星期三

注:(开运动会,2018.4.27星期五上课内容)

 

教学内容:九宫格的数据处理

教学目的:掌握数据处理过程中的关键位置的技术

教学重点:数组、变量、循环控制

教学难点:数据控制规律

教学地点:微机84班教室

教学时间:2课时

教学过程:

一、导入

前一段时间,我们已经非常 也解了规律在九宫格这种宫格中的使用,归结就是这样一个过程:

1.确定1的位置(首行,X列,其中X与宫格的行列数有关)

2.确定宫格的约数(和宫格的行、列数相关)

3.规律填好当前数以后,准备好下一个数(加1),下一个数的位置(行-1,列+1),也就是右上角的位置

4.处理约数的整数倍的位置关系

今天,我们就开始学习一下如何把这样规律,用计算机的语言来完成

二、新授

1)自然语言‘画’出指定的格数,dime  A(3,3),其中 dime 是申请画格的空间,A是格名,(3,3)是3乘3的9个空格;

用计算机VFP语言解释,这个语句的意思是定义数组,数组名为A,其中包含3行、3列9个数组元素。

2)自然语言,申请几个口袋,用来存放不同的信息:

其中一个是九宫格中的数,且从1开始,这个口袋取名为S,里边首先存入1

其中一个是行位置,列位置,申请两个口袋,一个M存放行位置,一个N存放列位置,口袋M里存入1,口袋N里存入2,大家想想为什么?

3)把第一个口袋S中的数1,放入指定的行口袋M中的(1),指定的列口袋N中的(2),完成用A(M,N)=S

4)第一个数填写完成后,更新三个口袋里的信息,其中S中的由1变成2,行口袋中M的信息由1,变成0(?),列口袋中N的信息由2变成3(?)

需要用S=S+1,M=M-1,N=N+1来完成

5)完成后,判断M、N所确定的新位置是不是在九宫格里,如果没在格内,则需要进一步处理!因为,行减1,列加1,所以发生的情况,可能行为0(出了上边1),列4(出了右边3),处理的时候,就是当为0时,置换成3(边长),如果是4时置换成1(第一列)

6)如果是约数(边长)的整数倍里,按新规则(行+1、列不变),即M=M+1 、N不变

三、复习、总结

dime a(3,3)    申请3乘3的格

s=s+1   让数据变化,自加1

M=M-1  让行变化,行减1

N=N+1  让列变化 ,列加1

五、作业

1)熟悉自然语言与计算机语言的对应关系

2)三个口袋的信息变化控制

3)规则的判断(约数控制、M和N的变化控制)

356

D:2018-4-13
T:8:09:00
IP:192.168.9.156



作者:
张顺海

2018.4.13 星期五

 

教学内容:魔方程序段的语句注释理解

教学目的:根据注释,了解规则代码化

教学重点:理解分支与循环结构

教学难点:英语单词与语句的关连

教学时间:2课时

教学地点:微机84班教室

教学过程:

一、导入

  我们从九宫格的填写及规则的认识,会填写了25、49、81等宫格,让我们熟悉了魔方中数据的排列规则,我们的目的是通过程序代码的形式,完成

相关的控制逻辑,达到提升数据库技术的应用。

  我们又从找网站(熟悉网络地址的应用)、找教案(熟悉网络资源的查找)、找内容(根据微机84班的链接,找到本班的教学内容)、找代码(根据跳转链接,让学生看到程序代码,并看到丰富的教学内容)、抄代码(利用手机完成上述内容的查找,并把代码抄写几遍,达到对魔方代码的感性认识)。

  本节课,我们把代码的重要部分,进行注释,帮助大家熟悉每一行代码的主要作用,为增加学习程序语方言的逻辑性打下基础。

二、新授(熟悉程序代码中的主要含义,要求根据解释,能看懂多少代码就消化多少,增强代码与含义的对等消化)

*魔方
 
CLEAR       &&清除屏幕,让屏幕上的内容清除
_screen.FontSize=10    &&设置屏幕上的字体大小为10磅
input "请输入宫格数" to n   &&输入魔方中宫格的阶数(宫格的边长数),比如九宫,阶数就是3,并把3保存到n(叫变量)中,以备后用
DIMENSION a(n,n)   &&定义数组(就是保存宫格数字的二维表格A)
IF MOD(n,2)=0   
   ? "请输入奇数"
   RETURN
ENDIF     &&以上一段程序代码(分支结构),如果输入的阶数是偶数,则提示用户需要输入奇数(偶数不符合要求)
 
 
d=INT(n/2)+1   &&计算出数字1,应该在第一行中间的位置,算法就是阶数除以2,去掉小数,然后加1。如果n=5(即边长为5,阶数为5,就是25宫格),5除以2,得2.5,去掉小数部分,是2,再加1,得3。 这样就是说明对于25宫格来说,数字1应该在第一行的第3个位置上,并把3保存到d变量中
 
c=1     &&c变量里保存需要即将填写的数字(变量是什么
 
a(1,d)=c   &&将数字填入指定的宫格中,重点看第一个数字(C),放到了整 个宫格(A)第一行的(D)列中。
 
x=1   &&x变量控制着宫格的行数,且x从1开始,就是先填写首行
y=d   &&y变量控制着宫格的列数,且从D开始(D应该是上边计算出来的,那个中间位置)
 
FOR i=1 to n*n   &&循环结构,如何计算循环次数(N*N是什么意思,N是什么?
  a(x,y)=c   &&将C填写入格
  c=c+1      &&填好一个后,让C中的数字增加1,就会由已经填好的1,改成2,以备后用
 
IF MOD(i,n)=0  &&判断变量 I 是N的倍数吗?如果是n的整数倍,则 i  除以n 的余数就是0(注意程序中代码的大小写都一样行,没区别)
     x=x+1  &&行数加1
  ELSE     &&否则
     x=x-1   &&  行数减1
     y=y+1  &&列数加1
     IF x<1  &&行数小于1,就是到了宫格外
        x=n   &&则将行重新定位到N(N是什么?
     ENDIF
     IF y>n  &&如果Y(列数)大于N,则行数路到了宫格外
        y=1  &&则将列数重要定位到1
     ENDIF
   ENDIF
ENDFOR
 
?
s=0   &&这个S也很有用,大家看看有会么用?
FOR i=1 to n   &&这里用了循环嵌套,以后会讲到的
   s=s+a(i,1)   &&这个S将来会用到,看看最后一个S在程序的最后一次出现的地方就行!
   FOR j=1 to n
       ?? STR(a(i,j),LEN(ALLTRIM(STR(n*n)))+1)  &&显示宫格的数字,里边的内容,为了显示出对齐的格式而处理的(叫函数)
   ENDFOR
   ?
ENDFOR
? ALLTRIM(STR(n*n)),"宫格的横行、纵列、对角线上",ALLTRIM(STR(n)),"个数字之和为:",ALLTRIM(STR(s))
RETURN  &&程序结束,并返回!
 
三、本节要求
1.根据注释,熟悉代码
2.将本程序段抄写,包括注释(强调一个程序员,都是从抄写程序代码开始的)
3.边抄边想
 
四、作业及重点
1.熟悉规则中选择(分支)是如何实现的,重复(循环)是如果实现的
 
2.根据这节课,有哪些注释没有理解
首页  前一页  后一页  末页
现在是第71页一共有99页