《VFox电子教案》PPT课件.ppt_第1页
《VFox电子教案》PPT课件.ppt_第2页
《VFox电子教案》PPT课件.ppt_第3页
《VFox电子教案》PPT课件.ppt_第4页
《VFox电子教案》PPT课件.ppt_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VFox程序设计,但愿她是你知识大厦的又一块基石。 但愿她是开启你智慧的又一把钥匙!,张高亮,电子教案,2,目 录,VFox基本知识 控制结构及程序设计应用举例,3,clear s=0 for i=1 to 100 s=s+i endfor ? “s=”,s return,例1 编程求 1+2+3+100,第一讲 VFox基本知识,初始化部分,数据处理(循环)部分,输出部分,结束语句,程序:是计算机能够分析执行的命令序列的集合。 程序设计:是计算机用户将解决某一实际问题所用的命令按一定的逻辑顺序编制成程序,并以文件的形式存放于磁盘的过程。执行程序时,计算机按顺序自动执行程序文件中的命令。,1.1 程序的概念,4,字符型:英文、汉字、数字、空格和标点符等组成的一串字符 数值型:由数字0-9以及正负号(+和-)和小数点(.)组成。 逻辑型:存入的值为真(T)和假(F)两种状态,长度固定为1位,1.2 VFox语言基础,数据类型,数值型(常数):如12、3.1345、-6.78、5.87E12 。 字符型(字符串):其表示方法用定界符将字符串括起来,定界符有、 和“ “。注意,这些定界符必须配对使用, 逻辑型:用.Y.、.y.或.T.、.t.表示逻辑真值,用.N.、.n.或.F.、.f.表示逻辑假值,逻辑型数据只占一个字节。,常量,内存变量:是一种临时变量,是在程序执行中用于存放临时数据(中间结果或最终结果)的内存工作单元。他具有字符型、数值型、日期型、逻辑型和屏幕型5种数据类型。 数组变量:具有相同名称而下标不同的一组有序内存变量。允许定义一维和二维数组,数组在使用之前需要先定义。,变量,5,运算符:用来进行运算的符号; 表达式:是指用运算符将变量、数组元素、常量、函数连接组合得到的一组有物理意义的式子。表达式分为算术表达式、字符表达式、关系表达式和逻辑表达式4类。表达式和常量一样,是具有数据类型的数据(求值之后),因此一个表达式中的各项必须具有相同类型。,运算符及表达式,算术运算符:( ) *或 % 模数(除法的余数) *、/ +、- 算术表达式:10+3*4-15 12*2 x3/y+a%5 表达式求值时,先按运算符的优先级别高低次序执行. 字符表达式:完全连接“+” 不完全连接“-” 包含运算“$” “I have a ” +“Book” “计算机 ”-“ 世 界“ “ABC”$“abcdef” 关系运算符: = = = ,!=,# 关系表达式: 1244.33=a(2) abb “A“ “B“ 逻辑运算符: !, NOT 或 .NOT. OR 或 .OR. AND 或 .AND. 逻辑表达式: x5 OR y10 .T.或者.F.,取决于x,y的值,6,取整函数: INT() 功能:将数值表达式的值去掉小数部分取其整数(只舍不入) 求余函数: MOD(,) 功能:返回除以所得的余数。 取子串函数: SUBSTR(,) 功能: 从指定表达式值的指始位置取指定长度的字符串作为函数值。 字符串转换为数值函数: VAL() 功能: 将数字字符串(包括正负号、小数点)转换为相应的数值型数据。 数值转换成字符串函数: STR(,) 功能: 将的值转换成字符串,转换时根据需要自动四舍五入。,常用函数,7,补充:,随机函数RAND 格式:RAND(N) 功能:系统产生一个纯小数(01) N=1每次产生一个相同的纯小数 例:随机生成一个60到250内的整数。 ? Int(60+rand()*190) 随机生成两个两位整数,并相减。 a=(10+Int(rand()*90) b= (10+Int(rand()*90) ? a-b,8,1.3 Vfox程序设计基本语句,赋值语句,格式: STORE TO | 或:|=,赋值语句,格式 :DIME (),(,) 如:DIME A(2), B(2,2) 表示数组A有两个元素,分别是A(1)和A(2)。数组B有4个元素,分别为B(1,1),B(1,2),B(2,1),B(2,2)。 引用:数组中每个有序变量构成数组的成员,称之为数组元素。数组元素的名称使用数组名和用括号括起来的下标组成。 数组下标可以是常量、变量和表达式,如A(l),A(b1),A(a+b); 数组的第一个下标是1,也就是说数组下标是从1开始的;,数组定义语句,格式:?|? 功能:先计算各表达式值(逗号间隔)并按标准格式输出结果. ? 表示先显示输出,后回车换行; ? 表示不回车换行输出;,显示输出语句,9,格式:INPUT TO | 功能:在屏幕上显示,并等待用户从键盘上输入表达式,再把表达式的值赋给指定的。 说明: 可接受任何类型的表达式的值。 选项省略时,屏幕上无提示信息而直接等待用户的输入。例如:PName=“张三” INPUT “请输入姓名为”+Pname+“的学生成绩:” TO SCORE 若接收字符型常量,则需要把该常量两边的定界符同时输入。若接收表达式,则得到的值为该表达式计算后的值。, INPUT输入语句,格式:ACCEPT TO | 功能:在屏幕上显示,等待用户从键盘上输入,再把输入内容作为字符串常量赋值给指定的变量。 只能接受字符型数据。 接受的字符型数据在输入时不需要加定界符。, ACCEPT输入语句, 其它语句 clear 清屏 retrun 返回 cancel 终止,10,第二讲 控制结构及程序设计应用举例,程序流程图:以特定的图形符号加上说明,表示算法的图,称为流程图或框图。,规则:从上到下,从左到右。,符号及其意义:,顺序结构:就是计算机要按照程序中语句出现的先后次序依次执行各条语句的结构。顺序结构是程序设计中最常见、使用最多的结构。,2.1 顺序结构,clear input “请输入圆的半径:” to r s=3.14159*r*r ? “圆面积s=”, s return,例2 编程求圆面积,A,B,入口,出口,11,2.2 选择结构,条件判断,双(单)分支选择格式: IF THEN ELSE EDNIF,条件,真,序列1,假,序列2,入口,出口,说明: IF和ENDIF必须成对出现,否则程序将无法执行。 在IFELSEENDIF中,还可嵌套IFELSEENDIF命令。,例3 判断某一年是否是润年。 clear input “请输入年份:” to y if y/4=int(y/4) .and. y/100int(y/100) .or. y/400=int(y/400) ?y,”是闰年” else ?y,”不是闰年” endif cancel,润年条件:如是润年则能被4整除但不能被100整除,或能被400整除。,12,多分支选择格式: DO CASE CASE 逻辑表达式1 命令序列1 CASE 逻辑表达式2 命令序列2 CASE 逻辑表达式n 命令序列N OTHERWISE 命令序列 ENDCASE,逻1,真,序列1,假,逻2,真,序列2,出口,假,逻n,真,序列N,假,序列,说明:从第一个条件开始,当找到一个逻辑表达式的值为.T.时,就执行紧跟其后的命令序列,直到下一个CASE或者ENDCASE语句为止,并跳出DO CASE语句。 如果所有CASE语句后的逻辑表达式的值都为.F.,此时,如果有OTHERWISE子句,则执行OTHERWISE后面的命令序列。如果没有OTHERWISE子句,就退出该结构执行EDNCASE语句后面的语句,如图所示。,13,例4 输入一个成绩,将百分制转化为五分制。,CLEAR INPUT “请输入学生成绩:” TO sc DO CASE CASE sc=90 ? “优秀” CASE sc=80 ? “良好” CASE sc=70 ? “中等” CASE sc=60 ? “及格” OTHERWISE ? “不及格” ENDCASE cancel,14,2.3 循环结构,程序经常会重复执行某些相同的操作,如: 求:s=1+2+3+4+100,算法描述: s=0;i=1; s+=i; i+; 判断i是否小于等于100 如果i小于等于100,重复; 否则,结束。,此类根据某个条件重复执行相同算法的结构,称为循环。,初始化部分,循环体,含有趋假的语句,循环条件,循环应在有限次完成,clear s=0 for i=1 to 100 s=s+i endfor ? “s=”,s return,程序:,15,当循环,DO WHILE LOOP EXIT ENDDO,功能:根据的值决定是否执行DO WHILEENDDO之间的命令序列(这个序列称为循环体),如果逻辑表达式的值为.T.,则执行循环体,否则退出循环,如图所示。,条件,真,循环体语句 LOOP EXIT,假,含有使条件趋假的语句,clear i=1 s=0 do while i=100 s=s+i i=i+1 enddo ? “s=”, s return,用当循环改写例1程序,16,FOR循环,FOR TO STEP EXIT &无条件退出循环 LOOP &无条件返回到FOR循环体的开始位置 ENDFOR|NEXT,i,i超过终值,否,循环体 loop exit,i=i+步长,是,功能:当FOR后的在和之间时,执行FOR与ENDFOR之间的循环体,如果的值超过时退出循环;STEP后的步长为的增加幅度,每执行一次循环,的值就自动增加一个步长,当STEP省略时,默认步长为1。当在执行FOR循环体中的语句遇到LOOP时,无条件回到FOR循环的开始位置,遇到EXIT时,无条件退出循环,执行ENDFOR后面的语句。,17,例5 输入10个自然数,统计其中偶数的个数及偶数值。 clear is=0 ic=0 For i=1 to 10 input “请输入第”+str(i,2)+“个数:” to x if i%2=0 is=is+1 else ic=ic+1 endif endfor ?”偶数个数为:”, ic ?”偶数之和为:”, is cancel,18,例6 求100到200之间的所有素数(只能被1和自身整除的数)。,clear ?“100200间的素数有:“ for k=101 to 200 step 2 f=0 for j=2 to int(sqrt(k) if k % j=0 f=1 exit endif endfor if f=0 ? k endif endfor,如:设置变量f用于记录是否为素数, f=0是素数; f=1不是素数。,在程序设计中,经常要记录一些状态,作为判断的条件。因此需要在程序中设置一些标志,通常标志是整型变量。,多重循环结构,多重循环结构:是指循环体中又包含其它循环的复杂程序结构。,19,排序算法,例7 选择排序程序(降序):,clear input “请输入数据个数:“ to n dime x(n) for k=1 to n input “请输入第”+str(k,2)+“个数据:“ to x(k) endfor for i=1 to n-1 for j=i+1 to n if x(i)x(j) temp=x(i) x(i)=x(j) x(j)=temp endif endfor endfor ? ”排序后数据:” for i=1 to n ? x(i),“,“ endfor,外层循环i变化,内层循环j变化,比较交换,排序是将一组随机排放的数按从大到小或从小到大重新排列。,20,选择排序的改进,选择排序改进算法的基本思路,每轮排序将x(i)假定为极,每次在x(i)到 x(max)中找出其极值,记录其位置,最后让极值位置的元素与x(i)交换。保证每轮排序只有一次交换,且为有效的交换!,clear input “请输入数据个数:“ to n dime x(n) for k=1 to n input “请输入第”+str(k,2)+“个数据:“ to x(k) endfor for i=1 to n-1 k=i for j=i+1 to n if x(k)i temp=x(i) x(i)=x(k) x(k)=temp endif endfor ? ”排序后数据:” for i=1 to n ? x(i),“,“ endfor,排序循环,假定最大值位置,循环比较找出最大值位置

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论