程序设计基础课件_第1页
程序设计基础课件_第2页
程序设计基础课件_第3页
程序设计基础课件_第4页
程序设计基础课件_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

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

文档简介

第49至50课时重点:程序文件的建立、修改、运行;输入输入语句的使用。难点:同重点教学形式:综合讲解课教学内容:程序设计基础授课班级:供电09T1、09T3、09T2时间:第13周星期四34,56;星期五12节;11月2日/3日1.第10章程序设计基础通过使用菜单操作或在命令窗口中输入命令来执行VisualFoxPro的命令是常用的两种操作方式。除此之外,还可以把有关操作命令组织在一起,存放到一个文件中,当发出调用文件的命令后,VisualFoxPro就会自动地依次执行该文件中的命令,直至全部命令执行完毕,这就是VisualFoxPro的程序工作方式,它是实际应用中主要的工作方式。2.第1节程序文件的建立、编辑和运行

程序是计算机能够分析执行的命令集合。程序文件是由一系列命令构成的文本文件,其扩展名为.PRG。一、程序文件的建立建立程序文件的方法有三种:1.用命令方式建立命令格式:MODIFYCOMMAND[<程序文件名>/?]功能:打开编辑器窗口,用于建立或编辑程序文件。按Ctrl+W存盘并退出程序文件编辑器3.2.用菜单方式建立在“文件”菜单中选择“新建”菜单项;在“新建”对话框中选择“程序”选项;然后单击“新建文件”按钮,在打开的程序文件编辑器窗口中输入程序内容。3.在项目管理器中建立在“项目管理器”窗口中选定“代码”选项卡中的“程序”项,然后单击“新建”按钮,在打开的程序文件编辑器窗口中输入程序内容。4.任务一:用命令方式建立程序文件p1.prg,该程序文件的功能是显示表xsda.dbf的记录。任务一:用命令方式建立程序文件p1_1.prg,该程序文件的功能是统计表xsda.dbf的女生人数。任务一:修改程序文件p1_1.prg,使之能统计表xsda.dbf的女生人数,且能统计所有同学的平均入学成绩。5.1.程序文件的编辑程序文件被保存后,若要对其中的内容进行编辑修改,则可以将其重新打开。编辑修改程序文件的方法有三种:二、程序文件的编辑和运行⑴命令方式命令格式:MODIFYCOMMAND<程序文件名>功能:打开程序文件编辑器窗口并显示<程序文件名>指定的程序文件内容,以便编辑修改。6.⑵菜单方式在“文件”菜单中选择“打开”菜单项;在“打开”对话框的“文件类型”下拉列表框中选择“程序”项(*.prg;*.spr;*.mpr;*.qpr);然后在文件列表框中选定要编辑修改的程序文件,单击“确定”按钮。⑶在“项目管理器”中打开编辑若程序包含在一个项目中,则在项目管理器中选定它,然后单击“修改”按钮。程序文件编辑修改完毕后,必须将其重新保存。7.程序文件建立后就可以运行。运行程序文件的方法有:⑴命令方式命令格式:DO<程序文件名>功能:执行由<程序文件名>指定的程序。说明:①所谓执行程序,就是依次执行程序文件中的命令或语句。②如果执行的程序不包含扩展名,VisualFoxPro6.0就以下列顺序查找并执行这些版本的程序:.EXE(可执行版本).APP(一个应用程序).FXP(已编译的版本).PRG(程序)2.程序文件的运行8.(1)

在命令窗口中输入命令:DOp1⑵菜单方式在“程序”菜单中选择“运行”菜单项;在“运行”窗口的文件列表中选定要运行的文件,单击“运行”按钮。⑶在“项目管理器”中运行如果程序包含在一个项目中,则可以在“项目管理器”窗口中选择它,然后单击“运行”按钮。任务二:运行程序文件p1.prg。可以使用以下任一种方法运行程序文件。9.第2节程序的书写规则、常用命令

一、程序的书写规则1.语句分行程序中的每条命令或语句都以回车键结尾,一行只能写一条语句。若语句需要分行书写,应在一行终了时键入续行符“;”,然后按回车键输入下一行。2.语句注释程序中应适当插入注释内容,以提高程序的可读性。有3种方式加注释:(1)注释行以“*”打头,它是一条非执行语句,仅在程序中显示;(2)注释行以“NOTE”打头;(3)在语句后也可添加注释,这种注释以“&&”开始。10.在程序中,常常要用到一些在交互方式下不需要甚至不能执行的专门命令。以下介绍几个常用的命令。1.输入输出命令⑴INPUT命令命令格式:INPUT[<提示信息>]TO<内存变量>功能:执行该命令时,程序暂停执行,等待用户从键盘输入表达式并将其值赋给<内存变量>,当按回车键后,程序继续执行。二、常用命令11.说明:①<提示信息>是程序暂停时显示的信息,用于提示用户操作。提示信息应用单引号、双引号或方括号括起来。缺省<提示信息>,程序暂停时不显示任何信息。②<内存变量>的类型取决于输入数据的类型,但不能是M型。③如果键入内容是表达式,则先计算表达式的值,再将该值赋给<内存变量>。如键入的是字符串常量,则用单引号、双引号或方括号括起;如键入的是逻辑常量,则用圆点括起;如键入的是日期常量,则用花括号括起。12.编程p1_3.prg,输入圆半径,计算其周长、面积。13.⑵ACCEPT命令命令格式:ACCEPT[<提示信息>]TO<内存变量>功能:执行该命令时,程序暂停执行,等待用户从键盘输入一字符串并将其赋给<内存变量>,当按回车键后,程序继续执行。说明:①<提示信息>是程序暂停时显示的信息,用于提示用户操作。提示信息应用单引号、双引号或方括号括起来。缺省<提示信息>,程序暂停时不显示任何信息。②从键盘输入的字符串不加定界符,系统将其作为字符型数据处理。14.⑶WAIT命令命令格式:WAIT[<提示信息>][TO<内存变量>]

[WINDOWS]功能:执行该命令时,程序暂停执行,等待用户从键盘按任一键后,程序继续执行。说明:①<提示信息>是程序暂停时显示的信息,用于提示用户操作。提示信息应用单引号、双引号或方括号括起来。缺省<提示信息>,程序暂停时将显示“按任意键后继续…”。②<内存变量>用来保存键入的字符,如果缺省[TO<内存变量>]子句,则输入的字符不予保存。15.任务三WAIT命令的执行。在命令窗口中输入命令:Wait“是否继续(Y/N)?”toynWAIT"请检查输入内容!"WINDOW16.⑷格式化输入输出命令

命令格式:@<行,列>[SAY<表达式1>][GET<变量>][DEFAULT<表达式2>]功能:在屏幕的指定行列输出SAY子句的表达式值,并可修改GET子句的变量值。17.说明:①<行,列>指定SAY<表达式1>值在窗口中显示的位置,行自顶向下编号,列自左向右编号,编号均从0开始。②SAY子句用来输出数据,GET子句用来输入或编辑数据。③若缺省SAY子句,GET子句的变量值从指定位置开始显示;有SAY子句时先显示其表达式值,空一格后再显示GET变量的值。④GET子句中的变量必须具有初值或用DEFAULT子句指定初值。变量可以是字段变量或内存变量,如果是字段变量,则应先打开表文件;如果是内存变量,应先赋初值。⑤GET子句的变量必须用READ命令激活才能编辑。当光标移出变量的编辑区后,READ命令才执行结束。18.任务四:编写程序p2.prg,将xsda.dbf表中“白雪”的“入学成绩”由611分改为610分。2.保存程序文件p2.prg后,运行p2.prg1.建立程序p2.prg:在命令窗口中输入命令:MODIFYCOMMANDp2.prg19.20.修改p2.prg,使之能够修改所指定同学的入学成绩。21.⑸输出命令命令格式:?/??<表达式表>

功能:显示各表达式的值。说明:①<表达式表>是用逗号“,”分隔的多个表达式。②?

<表达式表>在光标所在行的下一行显示表达式值;

??<表达式表>在当前光标所在位置显示表达式值22.⑹文本输出命令命令格式:

TEXT<文本信息>ENDTEXT功能:将TEXT和ENDTEXT之间的文本信息照原样输出。说明:该命令在交互方式下不能使用,TEXT和ENDTEXT在程序中必须配对使用。23.第51至52课时重点:输入输入语句的使用。程序的基本结构难点:程序的基本结构教学形式:综合讲解课教学内容:程序设计基础(二)授课班级:供电09T1、09T3、09T2时间:第14周星期二12,34,5624.2.其它命令⑴清屏命令命令格式:CLEAR功能:清除屏幕上的内容。⑵注释命令命令格式:命令格式1:NOTE<注释内容>命令格式2:*<注释内容>命令格式3:&&<注释内容>功能:在程序中加入说明信息。说明:①注释命令为非执行语句。②格式1和格式2的命令作为单独的一行语句,格式3的命令放在被注释的语句右边。25.⑶终止程序执行命令命令格式:CANCEL功能:终止程序执行并关闭所有打开的文件,返回到命令窗口。⑷退出系统命令命令格式:QUIT功能:终止程序执行并关闭所有打开的文件,退出VisualFoxPro6.0系统,返回Windows环境。⑸返回命令命令格式:RETURN功能:结束当前程序的执行,并返回到调用它的上级程序继续执行,若无上级程序则返回到命令窗口。RETURN命令一般可以缺省。26.3.系统设置命令VisualFoxPro6.0提供了一组SET命令对系统进行设置以便程序能更好的运行。以下是常用的设置命令⑴设置会话状态命令格式:SETTALKON/OFF功能:决定VisualFoxPro6.0是否显示命令结果。说明:ON是系统的默认状态,允许显示命令结果;OFF将阻止命令结果显示出来。⑵设置精确比较状态命令格式:SETEXACTON/OFF功能:在比较不同长度的两个字符串时是否需要精确比较。说明:①SETEXACT设置值对于相等长度的字符串没有任何作用。②OFF(默认值)表示不需要精确比较。③ON表示精确比较。27.⑶设置保护状态命令格式:SETSAFETYON/OFF功能:系统在用户提出对文件重写或删除要求时给出警告提示。说明:ON是系统默认状态,要显示提示警告;OFF不显示提示警告。⑷设置删除记录标记状态命令格式:SETDELETEDON/OFF功能:指定是否处理标有删除标记的记录,以及其它命令是否可以操作它们。说明:OFF是系统默认状态,表示要操作有删除标记的记录;ON表示各命令将不对有删除标记的记录进行操作,但索引命令除外。⑸设置默认目录命令格式:SETDEFAULTTO[<默认目录>]功能:设置系统默认的驱动器、目录或文件夹。说明:默认的目录或文件夹就是安装VisualFoxPro6.0的目录或文件夹。命令中缺省<默认目录>将默认目录恢复成为VisualFoxPro6.0安装目录。28.第3节程序的基本结构在结构化程序设计中,程序的基本结构有三种:顺序结构、分支结构和循环结构。一、顺序结构顺序结构的程序是按处理实际问题的逻辑步骤,把相关的命令按执行的先后顺序排列在一起,执行该程序时,系统自动按自上而下的顺序执行每条命令或语句。顺序结构是程序中最简单、最常用的基本结构。29.二、分支结构分支结构又称选择结构。是指在程序设计中,根据设定的条件表达式的值(判断结果)来决定程序走向。分支结构的程序设计一般有单向选择、双向选择、多向选择。1.单向选择单向选择即根据条件表达式的值,决定是否执行给定的命令或语句序列。语句结构:IF<条件表达式><语句序列>ENDIF功能:首先计算<条件表达式>的值,若其值为真,执行<语句序列>,然后执行ENDIF之后的语句;若其值为假,直接执行ENDIF之后的语句。30.说明:⑴<条件表达式>一般是关系表达式或逻辑表达式。⑵IF和ENDIF必须成对使用。⑶<语句序列>可以由一条或多条命令或语句组成。单向选择程序结构的流程图如图11.12所示。31.流程线菱形框(判断框)矩形框(处理框)流程图中的常用符号32.任务五编写程序p3.prg,查找xsda.dbf表中姓名为“李强”的学生,如果找到则显示其记录。1.建立程序p3.prg:在命令窗口中输入命令:MODIFYCOMMANDp3.prg打开程序文件编辑器窗口,输入程序代码如图11.13所示。2.保存程序文件p3.prg后,运行p3.prg,在命令窗口中输入命令:DOp3.prg33.2.双向选择双向选择即根据条件表达式的值,选择执行两个语句序列中的一个。语句结构:IF<条件表达式><语句序列1>ELSE<语句序列2>ENDIF功能:首先计算<条件表达式>的值,若其值为真,则先执行<语句序列1>,然后再执行ENDIF之后的语句;若其值为假,则先执行<语句序列2>,然后再执行ENDIF之后的语句。34.说明:⑴<条件表达式>一般是关系表达式或逻辑表达式。⑵IF…ELSE…ENDIF必须成对使用。⑶<语句序列1>和<语句序列2>中可以嵌套IF语句。双向选择程序结构的流程图如图11.14所示。35.任务六编写程序p4.prg,查找xsda.dbf表中姓名为“李强”的学生,如果找到则显示其记录;如果找不到则显示“查无此人!”。36.3.多向选择多向选择即根据条件表达式的值,在多个语句序列中选择执行其中的一个。语句结构:DOCASECASE<条件表达式1><语句序列1>CASE<条件表达式2><语句序列2>……CASE<条件表达式n><语句序列n>[OTHERWISE<语句序列n+1>]ENDCASE功能:依次测试<条件表达式>值,若某一个为真,则执行相应<条件表达式>之后的<语句序列>,然后再执行ENDCASE之后的语句;若所有<条件表达式>的值均为假,且有OTHERWISE子句,则先执行其后的<语句序列n+1>,然后再执行ENDCASE之后的语句;若无OTHERWISE子句,则不执行多向选择中的任何语句。37.说明:⑴<条件表达式>一般是关系表达式或逻辑表达式。⑵DOCASE和第一个CASE之间不能插入任何语句。⑶DOCASE和ENDCASE必须配对使用。多向选择程序结构的流程图如图所示。是否有otherwise子句38.任务七编写程序p5.prg,根据系统当前日期显示季节。1.建立程序p5.prg:在命令窗口中输入命令:MODIFYCOMMANDp5.prg打开程序文件编辑器窗口,输入程序代码如图所示。2.保存程序文件p5.prg后,运行p5.prg,在命令窗口中输入命令:DOp5.prg39.三、循环结构循环结构使部分语句反复执行,即重复执行一组语句直到满足规定的条件。其中,把需要重复执行的语句组称为循环体。VisualFoxPro6.0提供了三种循环结构,它们是条件循环、计数循环和数据表扫描循环。40.1.条件循环条件循环是根据条件表达式的值,决定循环体是否执行。语句结构:DOWHILE<条件表达式><语句序列> ENDDO功能:执行条件循环时,系统首先计算<条件表达式>的值,若其值为真,则执行DOWHILE与ENDDO之间的循环体,一旦遇到ENDDO就自动返回到DOWHILE重新计算条件表达式的值,以决定是否继续循环;若<条件表达式>的值为假,则退出循环,执行ENDDO之后的语句。循环体41.条件表达式语句序列ENDDO后继语句DO-WHILE语句的执行流程图假真42.DOWHILE<条件表达式><语句序列1>[LOOP]<语句序列2> 循环体[EXIT]<语句序列3>ENDDO……在循环体中可以使用两个语句:LOOP和EXIT43.说明:⑴DOWHILE和ENDDO语句要配对使用。它们之间的语句组是需要重复执行的语句,即循环体。⑵<条件表达式>一般是关系表达式或逻辑表达式。⑶LOOP和EXIT语句只能在循环体中使用,它们一般出现在选择结构中;LOOP使程序流程转到循环的入口DOWHILE处,重新计算条件表达式的值;EXIT是强行退出循环的语句,使程序流程转到循环的出口ENDDO之后的语句执行。⑷循环结构允许嵌套,这种嵌套不仅限于循环结构自身的嵌套,而且还可以是和选择结构的相互嵌套。44.显示xsda表中的每个记录。输出效果如下:Z1.PRG45.任务八编写程序p6.prg,逐个显示xsda表中的党员学生。1.建立程序文件p6.prg:在命令窗口中输入命令:MODIFYCOMMANDp6.prg打开程序文件编辑器窗口,输入程序代码如图11.20所示。2.保存程序文件p6.prg后,运行p6.prg,在命令窗口中输入命令:DOp6.prg46.2.计数循环计数循环根据循环变量的初值、终值和步长,决定循环体执行的次数。语句结构:FOR<循环变量>=<初值>TO<终值>[STEP<步长>]<语句序列>ENDFOR/NEXT功能:执行计数循环时,系统首先将<初值>赋给<循环变量>,然后判断<循环变量>的值是否超过<终值>,若超过则退出循环,执行ENDFOR或NEXT之后的语句;否则执行循环体一遍;当遇到ENDFOR或NEXT时,返回FOR语句,并将<循环变量>的值加上<步长>值并与<终值>比较,如此循环执行直到<循环变量>的值超过<终值>才退出循环。47.循环变量是否超过终值语句序列NEXT后继语句for-next语句的执行流程图循环变量=初值YN循环变量=循环变量+步长48.编写程序:输出如下图形。49.计数循环的循环体中也可以出现LOOP和EXIT语句。语句结构:FOR<循环变量>=<初值>TO<终值>[STEP<步长>]<语句序列1>[LOOP]<语句序列2> 循环体[EXIT]<语句序列3>ENDFOR/NEXT50.说明:⑴FOR和ENDFOR/NEXT语句要配对使用。它们之间的语句组是需要重复执行的语句,即循环体。⑵<循环变量>是计数变量,可以是内存变量或数组元素。<初值>、<终值>和<步长>是数值表达式。⑶缺省STEP<步长>时,系统默认步长值为1。步长值不能为0,否则造成死循环。步长为正数时,若<循环变量>值大于<终值>则退出循环;步长为负数时,若<循环变量>值小于<终值>则退出循环。⑷LOOP和EXIT语句的功能和用法与条件循环中的一致。51.任务九编写程序p7.prg,计算S=1+2+3+…+100。1.建立程序文件p7.prg:在命令窗口中输入命令:MODIFYCOMMANDp7.prg打开程序文件编辑器窗口,输入程序代码如图11.22所示。2.保存程序文件p7.prg后,运行p7.prg,在命令窗口中输入命令:DOp7.prg结果显示为S=5050。52.3.数据表扫描循环数据表扫描循环根据当前表中指定的记录范围或满足条件的记录来控制循环。语句结构:SCAN[<范围>][FOR<条件表达式1>][WHILE<条件表达式2>]<语句序列1>[LOOP]<语句序列2> 循环体[EXIT]<语句序列3>ENDSCAN功能:对当前表的记录进行扫描操作。扫描循环在<范围>中依次寻找满足FOR条件或WHILE条件的记录,并对找到的记录执行循环体一遍。每处理完一条记录,记录指针指向下一条记录,直到记录指针指到表的末尾或超出<范围>。53.说明:⑴SCAN和ENDSCAN语句要配对使用。它们之间的语句组是需要重复执行的语句,即循环体。⑵若有<范围>子句时,只有<范围>之内的记录才可能扫描到。无<范围>子句时,表示对表的所有记录进行处理;即默认范围是所有记录(ALL)。⑶若有FOR或WHILE子句,则只有

温馨提示

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

评论

0/150

提交评论