首页
前一页
后一页
末页 [456] [457] [458] [459] [460] |
本留言簿共有493条记录, 现在时间2025-5-25 8:44:33,计算机地址:192.168.9.44
日期查询: |
现在是第91页 一共有99页 |
Books库中表及结构信息 | 环境:一键安装 库表:Mysql.sql xx3.sql xx4.sql 页面:Myphp.php |
序号 | 留言内容 |
---|---|
D:2021-9-2 T:7:32:00 IP:192.168.3.41 作者: 张顺海 | 2021.9.2 星期四 教学内容:面向对象程序设计 教学目的:理解什么是面向对象,掌握面向对象的核心关键词 教学重点:对象、属性、事件、方法 教学难点:对象的引用逻辑 教学时间:3课时 教学过程: 一、导入 定位:今天是我们三年级的第一节课,已经高三了,做为徐职学生,到高考还有9个月,到专业理论测试还有6个月,其中假期可能得1.5个月,还有4.5个月,每个月有20节课,将近90节课的时间,所以大家要珍惜每一节课。 二、表单 三、对象的引用 表单及对象的层次结构: 四个按钮对象的引用
四、总结 五、作业 |
D:2021-6-20 T:14:19:00 IP:192.168.9.36 作者: 张顺海 | 2021.6.21 星期一 上机内容:子程序与过程 上机目的:掌握子程序与过程文件 上机过程: 一、熟悉本节任务,中英文录入10分钟 二、上节内容实习,引入子程序调用 1.判断素数实例,见上节内容 【v109_96.prg】 &&本实例判断61是不是素数,可以判断任意一个数是不是素数(想一想如何更改) 2.水仙花实例,见上节内容 【v109_94.prg】 &&本实例是判断100-999之间的所有水仙花数(你知道什么是水仙花数吗?) 3.冒泡排序法实例,见上节内容 【v109_95.prg】 &&本实例是利用冒泡排序法实现10个数的排序(你知道什么是冒泡排序法吗) 4.自动出题并统计正确率实例,见上节内容 【v109_9.prg】 &&本实例是通过自定义算题的数量,来求证两个数之间的几种算术运算值(怎么控制的?) 5.九宫格处理实例(5*5=25宫格)【下载v109_97.prg】 &&本实例是实现宫格的一种算法(你用手填写5*5的25宫格,最少用多少秒?)
1.子程序的建立 平时我们写好的一段程序,比如:自动出题【V109_9.prg】、100-999之间的判断水仙花数【v109_94.prg】、10个数的冒泡排序【v109_95.prg】、九宫格处理【v109_97.prg】等,当被其它的程序调用时,这个已经写好的程序就是子程序。一个子程序文件中存储一个独立功能的程序,扩展名为.prg 所以,建立一个子程序的方法也是使用命令 modify command 子程序名,一般子程序以return结束,返回主程序 主程序,就是调用其他的程序的程序。 2.子程序的调用 调用格式: do 子程序名 [with <参数列表>] 首先查看一级调用:【下载V109_10.prg】注意得保证 原来的程序段都在,且文件名与主程序中的相关调用子程序文件一致,才能正常运行,否则需要核查。 后边,有多级程序调用的演示图表 3.子程序间的数据传递 大家通过运行上边的主程序,可以看出,主程序只是通过do命令调用了原来我们的5段子程序,实现了5个功能综合调用,之间也没有传递数据。 看如下例子。 主程序: M1.prg 【计算3!+4!+5!】 clear s=0 p=0 for i=3 to 5 do jc with i,p s=s+p endfor ? "3!+4!+5!的阶乘",s return
子程序:jc.prg parameters x,y y=1 for i=1 to x y=y*i endfor return
运行结果:
四、过程及过程文件,使用过程文件的目的就是提升系统效率,减少资源占用 大家可以看出,如果主程序调用100个子程序,加在一起,就是101个单独的文件,且每执行一个文件,就会将程序调入内存,且会占用一个资源(文件句柄),过多调用程序会降低系统速度,文件句柄是有限制的,打开的子程序越多,供打开其他文件的资源就会越少,比如:窗口、表单等,所以就出现了将多个子程序合并成一个过程文件,一次性调入,提升系统速度,占用一个文件句柄资源。 过程文件的建立:(将多个原来独立的程序,分别写入 procedure 与endproc之间,原来不同的程序用不同的过程名区分,同时也用作被调用程序的标志 注:Endproc或者 return可以省略,过程以下一个 procedure开始,以没有程序代码后结束。 下图就是将上边原来的 m1.prg 主程序,与子程序jc.prg 合在一起了,写到了一个文件里,然后把jc.prg删除(也就是已经不存在了),执行结果是一样的。 因为,在打开m1.prg这个程序时(其实m1就是一个过程文件了,含有主程序m1和一个过程jc),当然,一般把过程写入到另一个过程文件里,然后在主程序里,用专门的命令去调用和关闭,就是 打开命令set procdure to <过程文件名>, 关闭命令: set procedure to
五、变量作用域(主要讲的是变量的生命周期,和程序与子程序之间调用时,同名变量的影响,还有利用同名变量,同步带回数据)
全局变量(Public)------主、子程序全穿透 感受一下变量的作用域: *主程序:M2 a=1 b=2 do S2 &&调用子程序 ? a,b && 显示的结果是: 1 3 ? c &&显示变量找不到,为什么? return &&主程序结束
*子程序:S2 b=3 c=30 ? a,b &&显示的结果 1 3 ? c &&显示的结果 30 return
|
D:2021-6-6 T:17:03:00 IP:192.168.9.36 作者: 张顺海 | 2021.6.9-2021.6.17 假期作业 【所有知识点及答案都在近期的教案里,请大家自行找寻、查看】 NO1: 判断1-100之间的素数 什么是素数:质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。 举例说明 : 7(1,7)、13(1,13)、53(1,53)就是,因为除了能被1 和自己整除,别的就没有了 21(1、3、7、21)、63(1、3、7、9、63)就不是,因为21除了能被1、21整除以外,还能被3、7整除,所以21就不是,63同理 分析: 判断一个数是不是素数,基本原理就是从试除法,将1和本身去掉后,统统除一遍,只要有一次,是能够整除的,它就可以判定不是素数,只有除了一遍了,也没有找到整除的,就判断只有1和它本身能整除,所以是素数。 如:判断 61是不是素数,就得让61分别去除以2至60的数。【v109_96.prg】【v109_96_2.prg】【v109_96_3.prg】
NO2: 熟悉流程控制,掌握三种程序设计结构,并能分辨各种结构,掌握多种控制语句,掌握三种交互式数据输入指令。 掌握本实例中的相关函数的应用。 NO3: 建立程序文件的命令:modify command 程序文件名 保存程序文件的命令:Ctrl + S或者点击工具栏上的保存按钮 运行程序文件的命令:do 程序文件名 或者 Ctrl+E(在程序正在编辑状态时) 或者 点击工具栏上的叹号运行当前程序图标 结构化程序设计的三种结构:顺序结构、分支结构、循环结构 分支结构的设计形式:单分支、双分支、多分支,分别对应(IF...Endif、IF...Else...Endif、Do case....Endcase) 循环结构的设计形式:DO循环、FOR循环、SCAN循环,分别对应的语句是(Do.....Enddo、For......Next、Scan....Endscan)
NO4: 1程序的设计及运行结构 顺序结构(自上而下) 选择结构(分支结构:单分支、双分支、多分支、嵌套分支——多选一) 循环结构(重复运行,自上而下,又自下而上,DO....EndDO、For......Next/EndFor、Scan.....EndScan) 循环三要素(初值、终值、步长)、循环次数的确定公式 2基本输入输出指令 输入指令:(交互式输入命令,程序暂停,等待从键盘上输入数据,并可以将输入的数据保存到指定的变量里,可以新建变量) Accept “提示信息1" to 变量1 &&变量1类型是 C型 Wait “提示信息2" to 变量2 &&变量2类型是 C型,且长度为1 Input “提示信息3" to 变量3 &&变量3类型可以是 C、N、L、D型等 输入指令:(将指定的信息输出) ? 表达式1 &&先换行再输入表达式的值 ?? 表达式2 &&不换行在光标的当前位置输出表达式的值 3程序文件的建立、修改、运行、删除 建立及修改:Modify Command 程序文件名 &&默认的程序文件的扩展名为.prg。但可以是其他的扩展名,修改时,需要写文件名的全称。 运行程序:Do 程序文件名 &&如果建立的非.prg的程序时,运行程序则需要写全称。 删除程序:Delete File 程序文件名全称 &&注意不能删除处于打开(编辑)状态的程序文件。 |
D:2021-6-6 T:14:10:00 IP:192.168.9.36 作者: 张顺海 | 2021.6.7 星期一 上机内容:验证程序设计内容, 上机目的:理解程序控制 上机重点:各个模块的衔接与数据传递 上机时间:4课时 上机过程: 一、熟悉上机任务,中英文指法练习 二、上机流程
1.完成 节理论课的程序验证,重点看注释,掌握交互式语句的应用; 循环结构的控制;条件的判断;变量的应用【V109_9.prg】
clea
accept "请输入你打算的次数" to n &&这里使用的是交互式命令accept,如果用input的话,会影响下边的哪些语需要配合改变 。
? type("N"),type("val(n)")
*return
for i=1 to val(N) &&类型转换函数val()的应用
clea &&这里是本程序段中的第二个clear语句,如果没有会怎么样,只用循环外边的clear 会如何
_screen.fontsize=20 &&这个是用来设置什么大小的,影响什么?
? "这是第"+ alltrim(str(i))+"轮:" &&st() 函数与alltrim()的应用
input "Please input the NO1:" to a
input "Please input the NO2:" to b
*b= 6 && 这个语句前边的 * 号有什么用
c=a+b
? a,b
? a+b,a-b,a*b
if b<>0 &&这里的这个判断,有什么用,在什么情况下,才起效果?
?? a/b &&这里的??(两个问号有什么用?如果用一个问题,会出现什么现象)
endif
wait &&这里的这个交互式语句wait,有什么作用,没有它会怎么样
next
? "已经结束"
2.分别验证如下程序段,并根据题目的含义,分析语句的用法
1)显示自然数1-10(同行显示) 本题 目的:如何控制显示 不同的,有规律的数字或者信息,如:如何控制起止,间隔,顺序。【v109_91.prg】
Clear
for i=1 to 10
?? i
next
return
2) 计算机1-100的自然数的累加和,结果保存到sum变量里,并输出它 【v109_92.prg】
Clear
sum = 0
for i=1 to 100 step 1 &&注意步长 step的应用,可以试着改改 ,把 step 1改成 2 会怎么样?
sum = sum + i
next
? "sum = " , sum
return
3) 有如下表格,利用Scan...Endscan语句,计算男同学的平均年龄。(本例用了两种方法,一个是原来SQL查询方法,一个是程序设计方法,但结果一样)【v109_93.prg】
*下载数据表【xuesheng.dbf】
Clear
use xuesheng
pj = 0
rs = 0
sum = 0
scan for xb="男"
rs = rs +1
sum = sum + nl
endscan
pj = sum / rs
? "平均年龄", pj
use
return
4)找出100-999之间的所有水仙花数。(什么是水仙花数: 它是一个三位正整数,每一位上的数字的立方和等于它本身 : 153 = 13+53+33=1+125+9)【v109_94.prg】
本题 分两步
第一步:判断任意一个三位数是不是水仙花数
这一步,还得分为四小步
第1步,得到一个三位数
第2步,分解这个三位数,成为三个1位数
第3步,计算三个1位数的立方和
第4步,判断是否相等,如相等,便是水仙花
第二步:控制第一步的任意三位数,由100-999循环变化,全部判断一遍,即可把是水仙花的数字找出来。【本例只增加了一个循环控制,注意shu = i的用法】
三、总结
1.循环控制(我们已经学习过了自动出题 、阅题 、统计、评语的 do while...enddo; 计算xuesheng.dbf中男生的平均年龄中的 scan...Endscan;今天实例中for....next。 2.在循语句的内部(循环体)中,是反复处理数据的过程,根据 shu = i 的应用,判断 了100-999之间所有的数据,是不是水仙花数,就是循环内外数据的传递 3.在今天的几个例子中,尤其是水仙花数的例子中,使用到了不少原来我们学习过的函数,这是函数应用的实战,需要大家熟悉函数功能和调用,才能处理这些题目时,想到它,尤其是分析的过程(水仙花数的分解过程),就是算法的分析过程。 本例使用的方法,和书上的也不完全一样,请大家分别学习、掌握。 书上的第二种字符串的方法,应该是比较简单的 4.看下边的冒泡法排序,理解 和掌握双重循环的控制 【v109_95.prg】 四、作业 判断1-100之间的素数 什么是素数:质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。 举例说明 : 7(1,7)、13(1,13)、53(1,53)就是,因为除了能被1 和自己整除,别的就没有了 21(1、3、7、21)、63(1、3、7、9、63)就不是,因为21除了能被1、21整除以外,还能被3、7整除,所以21就不是,63同理 分析: 判断一个数是不是素数,基本原理就是从试除法,将1和本身去掉后,统统除一遍,只要有一次,是能够整除的,它就可以判定不是素数,只有除了一遍了,也没有找到整除的,就判断只有1和它本身能整除,所以是素数。 如:判断 61是不是素数,就得让61分别去除以2至60的数。【v109_96.prg】【v109_96_2.prg】【v109_96_3.prg】
|
D:2021-6-3 T:7:49:00 IP:192.168.9.36 作者: 张顺海 | 2021.6.3 星期四
教学内容:程序设计应用 教学目的:掌握基本的输入输出、基本设计结构语法、简单的应用 教学重点:语句控制 教学难点:循环语句的应用 教学时间:两课时 教学过程: 一、复习和导入 通过理论与上机,我们已经基本了解了面向过程的结构化程序设计的理念。通过计算机自动出题、自动判题、自动统计、自动评语的模式,接触到了VFP可以完成 的程序设计。 通过样例流程图,非常直观的认识到了【顺序结构、分支结构、循环结构】的控制,也明白了什么地方需要顺序的(先后发生),什么地方需要分支的(选择发生)、什么地方需要循环的(重复发生)。通过交互式命令,操作者与程序进行了数据交互,也就懂得了人机交互是什么(Input、Accept、Wai)的含义。 这个样例,只是让大家知道什么是面向过程的程序设计(第四章),与面向对象的程序设计(第七章)的区别。让大家知道程序运行的设计结构(顺序、分支、循环)和人机交互,从这节课开始的四节课,我们就一步一步的把样例中用到的知识点,展开来,一点一点的熟悉它,并用不同的案例应用它。 二、新授(熟悉语法、规范) 程序文件的建立、修改、程序文件中命令的书写规范 基本的输入(accept、input、wait )、输出命令(?、??、???) 顺序结构的程序设计(根据圆的半径,计算圆的面积) 选择结构的程序设计(根据输入的两个数,从大到小输出) 循环结构的程序设计 (显示1-10的自然数) 三、综合练习(注意程序运行结果的输出) 计算1到10之间的整数和 找出100-999之间的水仙花数 四、总结 理论知识: 1程序的设计及运行结构 顺序结构(自上而下) 选择结构(分支结构:单分支、双分支、多分支、嵌套分支——多选一) 循环结构(重复运行,自上而下,又自下而上,DO....EndDO、For......Next/EndFor、Scan.....EndScan) 循环三要素(初值、终值、步长)、循环次数的确定公式 2基本输入输出指令 输入指令:(交互式输入命令,程序暂停,等待从键盘上输入数据,并可以将输入的数据保存到指定的变量里,可以新建变量) Accept “提示信息1" to 变量1 &&变量1类型是 C型 Wait “提示信息2" to 变量2 &&变量2类型是 C型,且长度为1 Input “提示信息3" to 变量3 &&变量3类型可以是 C、N、L、D型等 输入指令:(将指定的信息输出) ? 表达式1 &&先换行再输入表达式的值 ?? 表达式2 &&不换行在光标的当前位置输出表达式的值 3程序文件的建立、修改、运行、删除 建立及修改:Modify Command 程序文件名 &&默认的程序文件的扩展名为.prg。但可以是其他的扩展名,修改时,需要写文件名的全称。 运行程序:Do 程序文件名 &&如果建立的非.prg的程序时,运行程序则需要写全称。 删除程序:Delete File 程序文件名全称 &&注意不能删除处于打开(编辑)状态的程序文件。 分支结构的常用三种格式:[示意图] 循环结构的常用三种格式:Do while...Enddo、For....Next/Endfor 、Scan....Endscan 1.循环语法: Do While <条件> .... EndDo
For i=初值 to 终值 [ step 步长 ] .... Next / Endfor
Scan [范围] [ for 条件] ... Endscan 2.循环三要素: 循环变量赋初值 循环条件始化 循环变量变化 3.循环次数的计算 次数=Int((终值 -初值)/步长)+1 4.举例: i=1 &&循环变量赋初值 Do While I<=5 &&循环条件始化 ?? I i=i+1 &&循环变量变化 EndDo 5.小结: i=1 &&循环变量赋初值, 也就是建立一个变量,(变量名 i、变量值 1、变量类型 n--->变量三要素) i<=5 &&循环条件始化,也就是建立一个条件,(关系表达式 > 大于,< 小于,>= 大于等于,<=小于等于,<> # != 不等于)组成的式子,当然还可以综合表达式 i=i+1 && 循环变量变化,初值 为1,向着终值5变化,每次变化 1,其中 1 5 1,分别叫“初值、终值、步长” 根据“初值、终值、步长” 来计算循环的次数 五、作业 10个数的冒泡排序法
clea
accept "请输入你打算的次数" to n
? type("N"),type("val(n)")
*return
for i=1 to val(N)
clea
_screen.fontsize=20
? "这是第"+ alltrim(str(i))+"轮:"
input "Please input the NO1:" to a
input "Please input the NO2:" to b
*b=
c=a+b
? a,b
? a+b,a-b,a*b
if b<>0
?? a/b
endif
wait
next
? "已经结束"
六、反思
|
首页
前一页
后一页
末页 现在是第91页一共有99页 |