文档库 最新最全的文档下载
当前位置:文档库 › 实验3 VFP函数和表达式

实验3 VFP函数和表达式

实验3  VFP函数和表达式
实验3  VFP函数和表达式

实验三 VFP函数和表达式

一、实验目的

1.熟悉Visual FoxPro常用内部函数的使用。

2.了解Visual FoxPro运算符的运算规则。

3.掌握Visual FoxPro表达式的书写。

二、实验内容及上机步骤

【上机题一】

Visual FoxPro常用内部函数的使用

【上机步骤】

本题的知识点是Visual FoxPro常用内部函数,操作步骤如下

(1)数值函数, 分别执行如下命令,观察显示结果

?SQRT(3*3+4*4)

?INT(5.7),INT(-5.7),CEILING(5.7),CEILING(-5.7),FLOOR(5.7),FLOOR(-5.7)

?MOD(34,7), MOD(34,-7), MOD(-34,7), MOD(-34,-7)

?ROUND(3.14159,2),ROUND(5678.45,-2)

(2)字符函数, 分别执行如下命令,观察显示结果

A1="1"

A2="2"

A12="B"

B=MAX(05/01/01,96/12/04)

?A&A1.&A2.,&A12

?AT("姓","姓名"),AT("PRO","Visual FoxPro"),ATC("PRO","Visual FoxPro")

?LEN(ALLTRIM(SPACE(8)))

?SUBSTR(“Visual FoxPro内部函数”,8,6),LEFT(“电脑病毒:”,2),RIGHT(“杀毒软件”,4)(3)日期和时间函数, 分别执行如下命令,观察显示结果

?YEAR(DATE()),MONTH(DATE()),DAY(DATE())

?HOUR(DATETIME()),MINUTE(DATETIME()),SEC(DATETIME())

(4)数据类型转换函数, 分别执行如下命令,观察显示结果

?DTOC(DATE())

?STR(34.56,10,1),STR(34.56,10,2),STR(34.56,6),STR(34.56,3),STR(34.56)

?LEN(STR(34.56,6)),LEN(STR(34.56,3)),LEN(STR(34.56))

?VAL("12"),VAL("-12"),VAL("1A"),VAL("B2")

(5)测试函数, 分别执行如下命令,观察显示结果

?VARTYPE($234),VARTYPE("A"),VARTYPE(A),VARTYPE(DTOC(DATE())) ?IIF(3+65>70,.T.,.F.)

【上机题二】

Visual FoxPro运算符与表达式

【上机步骤】

本题的知识点是Visual FoxPro运算符与表达式,操作步骤如下

(1)算术运算符与表达式的练习。分别执行如下命令,观察显示结果

?3*5*12/4^2

? (4^5+5^5)/(sqrt(4+5)-4*5)

(2)字符运算符与表达式的练习。分别执行如下命令,观察显示结果

a= "电脑 "

b= " 计算机"

?a+b,a-b

(3)日期和时间运算符与表达式的练习。分别执行如下命令,观察显示结果?DATE()-{^2005/09/01}

?DATE()-120,DATE()+120

(4)关系运算符与表达式的练习。分别执行如下命令,观察显示结果?"飞机">"轮船", "xy">"x", " " >"x", "AB" > "ab"

SET EXACT OFF???

?"电脑"="电脑病毒","电脑病毒"="病毒"

? "病毒"= ="电脑病毒","电脑病毒"= ="病毒"

SET EXACT ON???

?"病毒"="电脑病毒","电脑病毒"="病毒"

? "病毒"= ="电脑病毒","电脑病毒"= ="病毒"

? "电脑病毒"$"病毒","病毒"$"电脑病毒"

(5)逻辑运算符与表达式的练习,分别执行如下命令

a=5>3

b=3>5

?a AND b, a OR b, NOT a, NOT b AND .F.

【上机题三】

Visual FoxPro综合表达式的应用

【上机步骤】

本题的知识点是VFP表达式的书写,操作步骤如下:

(1)写出下列算术式子的表达式,并求其值。

①②

③,设x=3,y=2

分别执行如下命令:

?1/2+14/21+3/5

?SIN(PI()/6)+TAN(PI()/3)

x=3

y=2

?(x^5+y^5)/(SQRT(x+y)-x*y)

(2)写出判断闰年的表达式(能被4整除但不能被100整除,或者能被400整除的年份就是闰年)。

?? 分别执行如下命令:

y=YEAR(DATE())

?IIF((y%4=0 and y%100!=0) or y%400=0,"是闰年","不是闰年")

(3)计算距离明年元旦还有多少天?(假设今年为2005年)

分别执行如下命令:

?{^2006/01/01}-date()

(4)设直角三角形的一条直角边长为4,斜边长为5,求另一条直角边之长。

分别执行如下命令:

a=4

c=5

b=SQRT(C*C-A*A)

?b

C程序设计实验三实验报告

实验报告 工学院土木工程专业09级2011至2012学年度第1学期学号:xxxxxx姓名:xxxxxx 2011 年10月08日第3~4节综合楼325教室 实验目的:

a的字节数为sizeof (a)或sizeof (int ),用printf 函数语句输出各类型变 量的长度(字节数)。 ①输入程序如下 in clude int mai n() {int a,b,i,j,k,r,s,t,u,v,w,x,y,z; float d,e; char c1,c2; double f,g; long m, n; un sig ned int p,q; a=61;b=62; c1='a';c2='b'; d=3.56;e=-6.78; m=50000;n=-60000; p=32768;q=40000; i=sizeof(a);j=sizeof(b); k=sizeof(d);r=sizeof(e); s=sizeof(c1);t=sizeof(c2); u=sizeof(f);v=sizeof(g); w=sizeof(m);x=sizeof( n); y=sizeof(p);z=sizeof(q); prin tf("a=%d,b=%d\nd=%d,e=%d\nc 1= %d,c2=%d\n",i,j,k,r,s,t); prin tf("f=%d,g=%d\nm=%d, n=%d\nmp=%d,q=%d\n",u,v,w,x,y,z); } 结 果如 下: (2)设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体 积。编程序,用scanf输入数据,输出计算结果。输出时要有文字说明,去小数点后两位数字。 ①编写程序如下: #i nclude int mai n() {float h,r,l,s,sq,vq,vz; float pi=3.141526; prin tf("Please in put r,h:"); sca nf("%f,%f",&r,&h); l=2*pi*r; s=r*r*pi; sq=4*pi*r*r; vq=3.0/4.0*pi*r*r*r; vz=pi*r*r*h; prin tf("The circumfere nce:l=%6.2f\n",l); prin tf("The area of thee circle:s=%6.2f\n ",s); prin tf("The superficial area of the ball:sq=%6.2f\n ",sq); prin tf("The volume of the ball:v=%6.2f\n",vq); prin tf("The volume of the cyli nder:vz=%6.2f\n ",vz); return 0; L

实验4函数文件

实验四 函数文件 1.定义一个函数文件,求给定复数的指数、对数、正弦和余弦,并在命令文件中调用该函数文件。 函数文件: function [e,ln,s,c]=plural(x) e=exp(x); ln=log(x); s=sin(x); c=cos(x); End 命令文件: x=input('请输入一个复数:'); [e,ln,s,c]=plural(x); e ln s c 运行结果: 请输入一个复数:3+4i e = -13.1288 -15.2008i ln = 1.6094 + 0.9273i s = 3.8537 -27.0168i c = -27.0349 - 3.8512i 2.一物理系统可用下列方程组来表示: ? ?????????????=??????????????????????????----g g m m N N a a m m m m 2121212111001cos 000sin 00cos 0sin 0sin cos θθ θθ θθ 从键盘输入m 1、m 2和θ的值,求N a a 121、、和N 2的值。其中g 取9.8,输入 θ时以角度为单位。 函数文件: function [a1,a2,N1,N2]=physis(m1,m2,t) g=9.8; A=[m1*cos(t*pi/180),-m1,-sin(t*pi/180),0;... m1*sin(t*pi/180),0,cos(t*pi/180),0;... 0,m2,-sin(t*pi/180),0;... 0,0,-cos(t*pi/180),1]; B=[0;m1*g;0;m2*g];

C++上机实验报告实验三

实验三类与对象 1.实验目的 1.掌握类的定义和使用 2.掌握类的定义和对象的声明 3.复习具有不同访问属性的成员的访问方式 4.观察构造函数和析构函数的执行过程 5.学习类的组合使用方法 6.使用VC++的debug调试功能观察程序流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。 2.实验要求 1.定义一个CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等属性,有两个公有成员函数run、stop。其中,rank为枚举类型CPU_Rank,定义为enum CPU_Rank{P1=1,P2,P3,P4,P5,P6,P7},frequency为单位是MHz的整型数,voltage为浮点型的电压值。观察构造函数和析构函数的调用顺序。 2.定义一个简单的Computer类,有数据成员芯片(cpu)、内存(ram)、光驱(cdrom)等等,有两个公有成员函数run、stop。cpu为CPU类的一个对象,ram为RAM类的一个对象,cdrom 为CDROM类的一个对象,定义并实现这个类。 3. (选做)设计一个用于人事管理的People(人员)类。考虑到通用性这里只抽象出所有类型人员都具有的属性:number(编号)、sex(性别)、birthday(出生日期)、id(身份证号)等等。其中“出生日期”定义为一个“日期”类内嵌子对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、组合。 3.实验内容 1.首先定义枚举类型CPU_Rank,例如enum CPU_Rank{P1=1, P2, P3, P4, P5, P6, P7},再定义CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等私有数据成员,定义成员函数run、stop,用来输出提示信息,在构造函数和析构函数中也可以输出提示信息。在主程序中定义一个CPU的对象,调用其成员函数,观察类对象的构造与析构顺序,以及成员函数的调用。程序名: 2.使用debug调试功能观察程序的运行流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。 3.调试操作步骤如下: 1)单击Build | Start Debug | Step Into命令,或按下快捷键F11,系统进入单步执行状态,程序开始运行,一个DOS窗口出现,此时Visual Studio 中光标停在main()函数的入口处; 2)从Debug菜单或Debug工具栏中单击Step Over,此时,光标下移,程序准备执行CPU 对象的初始化; 3)单击Step Into,程序准备执行CPU类的构造函数; 4)连续单击Step Over,观察构造函数; 5)此时程序准备执行CPU对象的run()函数,单击Step Into,程序进入run()成员函数,连续单击Step Over,直到回到main()函数。 6)继续执行程序,参照上述的方法,观察程序的执行顺序,加深对类的构造函数、析构函数、成员函数的执行顺序的认识。 7)再试试Debug菜单栏中别的菜单项,熟悉Debug的各种方法。 4.首先定义CPU类(可使用第二题中的CPU类)、RAM类、CDROM类。再定义Computer类;

实验三综合程序设计方案(一)

实验三综合程序设计(一) 一、实验目的 1熟练掌握子程序的结构。 2?掌握子程序设计的思想、方法及上机调试过程。 3 ?熟练掌握系统功能调用的作用。 4?掌握系统功能调用的思想、方法。 二、实验准备知识 1. 8086/8088汇编语言指令及伪指令的用法 2?子程序设计的思想和方法 (1)子程序是功能相对独立的程序段,它可以实现源程序的模块化,简化源 程序结构,提高编程效率 (2)子程序定义:禾I」用过程伪指令PROC和ENDP,格式如下: 过程名PROC [NEAR|FAR] ……;过程体 过程名ENDP 其中:可选的参数指定过程的调用属性。没有指定过程属性,则采用默认属性NEAR。 NEAR属性:段内近调用,子程序只能被相同代码段的其他程序调用 FAR属性:段间远调用,子程序可以被相同或不同代码段的程序调用 (3)主程序(调用程序)调用子程序(被调用程序):利用CALL指令 (4)子程序返回主程序:利用RET指令 (5)保护现场:子程序开始处应该保护子程序中使用的寄存器(通常利用堆栈),子程序返回前相应进行恢复。 (6)子程序中对堆栈的压入和弹出操作通常成对使用,以保持堆栈的平衡。 (7)子程序允许嵌套和递归

(8)处理好子程序与主程序之间的参数传递问题:利用寄存器、内存缓冲区 及堆栈。 3. DOS和BIOS中断调用是机器及操作系统提供的中断调用功能 4?系统功能调用的步骤: ⑴在AH寄存器中设置系统功能调用号 ⑵ 在指定寄存器中设置入口参数 ⑶ 用中断调用指令(INT i8 )执行功能调用 ⑷ 根据出口参数分析功能调用执行情况 5.DOS利用21H号中断提供给用户近百个系统功能,主要包括设备管理、 目录管理和文件管理三个方面的功能版权文档,请勿用做商业用途 (1 )输入一个字符,01H号功能调用 (2)输出一个字符,02H号功能调用 (3)输入一个字符串,0AH号功能调用 (4)输出一个字符串,09H号功能调用 注意它们的入口参数及出口参数 6.BIOS也以中断服务程序的形式,向程序员提供系统的基本输入输出程序 BIOS功能更加基本,且与操作系统无关,当DOS没有启动或不允许使用DOS 功能调用时,可以使用BIOS功能调用版权文档,请勿用做商业用途 (1)键盘I/O中断调用——INT 16H (2)显示器输入中断调用——INT 10H 注意它们的入口参数及出口参数 三、实验性质 本实验为综合性实验。 四、实验学时 本实验学时为2学时。

实验五 M文件和MATLAB程序设计

实验五 M文件和MATLAB程序设计 一、实验目的 matlab作为一种高级计算机语言,不仅可以命令行方式完成操作,也具有数据结构、控制流、输入输出等能力,本次实验通过熟悉和掌握m文件的建立与使用方法,以及函数与控制程序流程语句的使用,使学生具备一定的编程和程序调试能力。 1.掌握M文件的使用方法。 2.掌握if语句和switch语句的使用 3. 掌握循环语句的使用 4. 通过练习理解MATLAB编程方法。 二、实验原理 1.m文件 用matlab语言编写的程序,称为m文件。M文件根据调用方式的不同分为两类,命令文件(Script file)和函数文件(Function file)。区别? 2.程序控制结构 1)顺序结构 2)选择结构 (1)if语句a) 单分支if语句b) 双分支if语句c) 多分支if语句 (2)switch 语句 (3)try语句 3)循环结构 (1)for 语句 (2)while语句 (3)break语句、continue语句、return使用,区别? 3.函数文件 function 输出形参表=函数名(输入形参表) 注释说明部分 函数体语句 三、实验要求 1.首先上机练习PPT中各种流程控制语句的有关实例。 2.然后上机练习下面的实验习题。 四、实验习题 1.数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。重复此过程,最终得到的结果为1。如: 2→1 3→10→5→16→8→4→2→1

6→3→10→5→16→8→4→2→1 运行下面的程序,按程序提示输入n=1,2,3,5,7等数来验证这一结论。 %classic "3n+1" problem from number theory. while 1 n=input('Enter n,negative quits:'); if n<=0 break end a=n; while n>1 if rem(n,2)==0 n=n/2; else n=3*n+1; end a=[a,n]; end a end Enter n,negative quits:3 a = 3 10 5 16 8 4 2 1 2. 编程求满足∑=>m i i 1100002的最小m 值。 a=0; i=1; while (a<10000) a=a+pow2(i); i=i+1; end m=i-1; m 13 3. 编写一个函数,计算下面函数的值,给出x 的值,调用该函数后,返回y 的值。 function [y]=myfun1(x) ?? ???>+-≤<≤=3,630, 0,sin )(x x x x x x x y 选择一些数据测试你编写的函数。 function y=myfun1(x) if x<=0 y=sin(x);

实验一简单程序设计实验

实验一:简单程序设计实验 (1)编写一个 32 位无符号数除法的程序,要求将存放在 NUM1 中的 32 位无符号数与存放 在 NUM2 中的 16 位无符号数相除,结果存放在 NUM3 和 NUM4 中。 程序流程图略。 参考源程序: DATA SEGMENT NUM1 DD 2A8B7654H NUM2 DW 5ABCH NUM3 DW ? NUM4 DW ? DATA ENDS CODE SEGMENT ASSUME DS:DATA, CS:CODE START: MOV AX,DATA ;数据段寄存器初始化 MOV DS,AX MOV AX, WORD PTR NUM1 MOV DX, WORD PTR NUM1+2 DIV NUM2 MOV NUM3,AX MOV NUM4,DX MOV AH,4CH ;正常返回DOS 系统 INT 21H CODE ENDS END START (2)编写一个拆字程序。要求将存放在 ARY 单元的 2 位十六进制数 X 1X 2 拆为 X 1 和 X 2 两 部分,并以 0X 1 和 0X 2 的形式分别存入 ARY+1 和 ARY+2 单元中。 程序流程图略。 参考源程序: DATA SEGMENT ARY DB 2AH,?,? DATA ENDS CODE SEGMENT ASSUME DS:DATA, CS:CODE START: MOV AX,DATA MOV DS,AX MOV SI,OFFSET ARY ;取ARY 的偏移地址 MOV AL,[SI] ;取16进制数至AL

MOV BL,AL AND AL,0F0H ;取16进制数的高四位,即X1 SHR AL,4 MOV [SI+1],AL ;存0X1 MOV AL,BL AND AL,0FH ;取16进制数的低四位,即X2 MOV [SI+2],AL ;存0X2 MOV AH,4CH INT 21H CODE ENDS END START

实验3 函数

实验3 函数 一、实验目的 (1).掌握定义函数的方法; (2).掌握函数实参与形参的对应关系以及“值传递”的方式; (3).掌握全局变量和局部变量,动态变量、静态变量的概念和使用方法; 二、实验内容 编写一段程序,用来解决下面提出的问题 (1)用一个函数来实现将一行字符中最长的单词输出。要求主程序从标准输 入设备读入一串字符,并将此字符串传递给该函数,函数处理后将最长 的单词返回给主调函数。 (2)输入10个学生5门课的成绩,分别用函数求: ?每个学生平均分; ?每门课的平均分; 三、实验指导 问题1的提示: ?首先分析从一行字符中,如何区分单词; ?然后确定如何记录一个单词的长度; ?如何返回找到的最长的单词。 问题2的提示:

?分析学生姓名、学生5门课的成绩用什么样的数据结构来保存; ?按学生求平均成绩,相当于求一个成绩表中的某一行的平均值; ?按课程求平均值相当于求成绩表中某一列的平均成绩。 四、预习题(选择题) 1.以下正确的说法是。 A.用户若需要调用标准库函数,调用前必须重新定义 B.用户可以重新定义标准库函数,如若此,该函数将失去原有定义 C.系统不允许用户重新定义标准库函数 D.用户若需要使用标准库函数,调用前不必使用预处理命令将该函数 所在的头文件包含编译,系统会自动调用。 2.以下正确的说法是。 A.实参和与其对应的形参各占用独立的存储单元 B.实参和与其对应的形参共占用一个存储单元 C.只有当实参和与其对应的形参同名时才共占用相同的存储单元 D.形参时虚拟的,不占用存储单元 3.以下正确的函数定义是。 A.double fun(int x , int y) B.double fun(int x ; int y) C.double fun(int x , int y) ; D.double fun(int x,y) 4.若调用一个函数,且此函数中没有return语句,则正确的说法是。 A.该函数没有返回值 B.该函数返回若干个系统默认值 C.能返回一个用户所希望的函数值 D.返回一个不确定的值 5.以下不正确的说法是。 A.实参可以是常量,变量或表达式 B.形参可以是常量,变量或表达式

实验3简单的程序设计

实验3简单的程序设计 实验目的: 1.掌握表达式、赋值语句的正确书写规则。 2.掌握VB变量的定义和使用,表达式和常用函数的使用。 3.掌握InputBox与MsgBox的使用。 实验3.1函数考察 实验任务: 考察下列函数的值。 Round(-3.5) Round(3.5) Chr(66) Asc ("c") Asc(Chr(99)) Chr(Asc("K")) Ucase$("abcdefg") Lcase(“ABC”) Str(123.45) Val(“123AB”) Len(“123程序设计ABC”) LenB(“123程序设计ABC”) Ltrim(“ ABC”) String(3, “ABC”) Instr(“EFABCDEFG”, “ef”) Instr(2,“EFABCDEFG”, “ef”,1) Date() Now() Time() 实验步骤: 先自己分析以上函数的功能和可能的结果,然后在立即窗口用Print方法求出相应函数的值,对照比较自己的判断。 22

实验3.2表达式考察 实验任务: 考察下列表达式的值。 Dateadd(“m”,1,#1/30/2000#) Datediff(“y”,#12/03/1999#,#1/03/2000#) ‘计算时间间隔多少日 123 + Mid(“123456”,3,2) 123 & Mid(“123456”,3,2) Ucase(Mid(“abcdefgh”,3,4)) 16 / 4 – 2 ^ 5 * 8 / 4 MOD 5 \ 2 实验步骤: 先自己分析表达式的功能和可能的结果,然后在立即窗口用Print方法求出相应表达式的值,对照比较自己的判断。 实验3.3简单打印图形 实验任务: 使用Print方法、Tab函数和String函数设计一个过程,显示如图3-1所示的图形,并将结果保存到文件中。 图3-1 实验3.2运行界面 参考代码如下: Private Sub Form_Load() Print Tab(15); String(1, "1") Print Tab(14); String(3, "2") Print Tab(13); String(5, "3") Print Tab(12); String(7, "4") End Sub 操作提示: 应先将Form窗体的AutoRedraw属性值设为True。

MATLAB实验五 函数文件

MATLAB实验报告 学院:光电学院 班级:073-1 姓名:刘颖 学号:200713503117

实验五 函数文件 1.定义一个函数文件,求给定复数的指数、对数、正弦和余弦,并在命令文件中调用该函数文件。 程序设计: function [e ln s c]=num(x) e=exp(x) ln=log(x) s=sin(x) c=cos(x) end 运行结果: >> num(5i) e = 0.2837 - 0.9589i ln = 1.6094 + 1.5708i s = 0 +74.2032i c = 74.2099 ans = 0.2837 - 0.9589i 2.一物理系统可用下列方程组来表示: ??? ? ??? ???????= ?????? ??? ??? ???????????? ??----g g m m N N a a m m m m 2121212 111001cos 0 0sin 00cos 0 sin 0sin cos θ θθ θθθ 从键盘输入 m 1 、 m 2 和θ的值,求 N a a 121、、和 N 2 的值。其中g 取9.8,输入θ时以角度为单位。 程序设计: 函数文件in.m: function [a1,a2,N1,N2]=in(m1,m2,t) g=9.8; A=[m1*cos(t) -m1 -sin(t) 0;m1*sin(t) 0 cos(t) 0;0 m2 -sin(t) 0;0 0 -cos(t) 1]; C=[0;m1*g;0;m2*g]; B=inv(A)*C; a1=B(1); a2=B(2); N1=B(3); N2=B(4); end 调用in.m 的命令文件: >> m1=1;m2=2;t=30*pi/180; >> [a1,a2,N1,N2]=in(m1,m2,t) 运行结果: a1 = 6.5333 a2 = 1.8860 N1 = 7.5440 N2 = 26.1333 4.设 f(x)= 01 .01 1 .01 ) 3() 2(4 2 +++--x x , 编写一个MATLAB 函数文件fx.m ,使得调用f(x)时,x 可用矩阵代入,得出的f(x)为同阶矩阵。 程序设计: 函数文件fx.m: function A=fx(x) A=1./((x-2).^2+0.1)+1./(((x-3).^4)+0.01) end 调用fx.m 的命令文件: >> A=fx([1 2;2 3;4 3]) 运行结果: A = 0.9716 10.9901 10.9901 100.9091 1.2340 100.9091 5.已知y= ) 20()30() 40(f f f + (1)当f(n)=n+10ln(n 2+5)时,求y 的值。

实验3(函数)

实验三 函数 一、实验目的 (1)、学习函数的声明与定义 (2)、函数的调用 (3)、了解函数的调用过程 (4)、理解函数参数传递机制 (5)、掌握函数重载、参数带有缺省值、内联函数定义、调用和工作机制 (6)、体会函数重载、参数带有缺省值、内联函数作用 二、实验内容及步骤 1、 区分函数定义与声明? 2、 函数调用形式有哪些? 3、 函数的调用过程是怎样的? 4、 什么是内联函数?特点是什么? 5、 重载函数通过什么来区分?作用是什么? 6、 定义带有默认形参函数应注意什么? 7、 制转换:利用函数编写一个输入一个8位二进制数,将其转换为十进制数输出的函数。 例如:11012 = 1(23) + 1(22) + 0(21) + 1(20) = 1310 所以,如果输入1101,则应输出13 8、 编写程序求π的值 其中arctan 用如下形式的级数计算: 直到级数某项绝对值不大于10-15为止;π和x 均为double 型。 9、寻找并输出11~999之间的数m ,它满足m 、 m 2和m 3 均为回文数。 – 回文:各位数字左右对称的整数。 例如:11满足上述条件 112=121,113=1331。 提示:用10取余的方法,从最低位开始,依次取出该数的各位数字。按反序重新构成新的数,比较与原数是否相等,若相等,则原数为回文。 10、编写、输入、检查、调试和运行下列程序,掌握const 使用方法,并区分#define 。 ①、编写程序,实现复制字符串的自定义版 char *strcpy(char *dest,const char *source); //该函数返回dest 的值,即字符串首地址 ②、编写程序,实现比较字符串的自定义版 int strcmp(const char *str1,const char *str2); //str1>str2 返回正数

程序设计综合实验报告册

西南交通大学程序设计综合实验 实验地点: 实验学期: 学生班级: 学生学号: 学生姓名: 任课教师:龚勋 信息科学与技术学院 2012年4月

实验一:ATM机用户操作界面、业务逻辑编写 ●实验目的及内容 1、根据ATM的工作流程编写用户界面,掌握文本用户菜单的编写方法; 2、根据ATM的工作流程编写业务罗杰,掌握搭建一个完整的应用系统的方法及软件编程思想。 ●实验要求 1、除提示用户输入的数字外,界面上不能响应、出现任何其他用户输入; 2、每个菜单界面独立显示,不要出现多组菜单重叠显示的现象; 3、每个业务逻辑可以多次执行,直到用户选择退出业务。 ●实验步骤及核心代码 void main() { int bExit=0; char in; //控制语言的选择 while(!bExit) { MainMenu(); in=getch(); system("cls"); switch(in) { .....语言选择} } } void MainMenu() {......} void LanguageMenu(int t) {

int cExit=0; char in; while(!cExit) { if(t==1) { ...... //显示中文功能选择菜单 in=getch(); system("cls"); switch(in) { 中文功能函数的选择} } else { 同上,只需将中文函数改为英文函数} } } //中文的查询函数 void Query1() { printf("======================\n") printf(“此账户有%.2f元\n",sum); //对sum已初始化system("pause"); system("cls"); } //中文的存钱函数 void Deposit1(float *p) { float x; printf("================================\n"); printf(" 输入您要存的数目:"); scanf("%f",&x); *p+=x; system("pause"); system("cls"); } //中文的取钱函数 void WithDraw1(float *p) { float y; int a=1; printf("====================================\n"); printf("输入您要取的数目: "); while(a) { scanf("%f",&y); if(y>sum)

实验五.函数文件的编写

闽江学院电子系 实验报告 学生姓名:班级:学号:3142731 课程:函数文件的编写 一、(填实验几,例:试验一):实验五 二、实验地点:实验楼A210 实验目的: 1.掌握函数文件的定义方法,函数头的写法; 2.掌握调用函数文件的方法,了解函数文件的嵌套调用; 3.熟悉MATLAB函数文件的特点。 三、实验内容: 1、定义一个函数文件lifang.m,用于计算一个立方体的表面积和体积。在命令窗口中调用它。函数文件: 命令窗口:

2、当n分别取100、1000、10000时,求下列各式的值: (1) 2 2232 1111 1236 n π ??++++= ? ?? (2) ()() ()() 22 224466 133******** n n n n π ?? ? ??? ???????? = ? ????? ? ????-+ ???????? ?? 要求用函数文件的定义和调用来实现。(1)函数文件的定义: 函数文件的调用: 命令窗口:

(2)函数文件的定义: 函数文件的调用: 命令窗口: 3、利用函数文件,实现极坐标(,)ρθ与直角坐标(,)x y 之间的转换,并通过函数调用加以验证。 直角坐标转化为极坐标函数定义: 极坐标转化为直角坐标函数定义:

函数文件的调用: 命令窗口: 4、利用预定义变量nargin和nargout,实现以下功能的函数:若输入只有一个参数,输出以 该参数为半径的球的体积;若输入有两个参数,输出分别以该参数为底面半径和高的圆柱体积;若输入有三个参数,输出分别以该参数为三条边的长方体的体积;若输入参数多

实验3(1)

实验二结构化程序设计实验1 实施时间:2014-10-22(第八周)实验学时:2学时 实验类型:设计 实验目的及要求: 1. 掌握赋值语句的使用方法。 2. 掌握各种数据类型的输入输出方法,能够正确使用各种格式转换符。 3. 进一步掌握编写程序和调试程序的方法。 实验内容: 1.输入以下程序:

(1)运行此程序并分析结果。 (2)将10~14行修改为如下代码,再次运行程序,分析结果。 2.设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球提及、圆柱体积。编程,要求用scanf输入数据,输出各项计算结果。且输出时要有文字说明提示,取小数点后两位数字。 3.编程将“China”译成密码,密码规则是:用原来字母后面第四个字母代替原来的字母。例如“China”应译成“Glmre”。要求分别用printf和putchar函数输出5个密码字符。教学方法:讲解与演示 实验指导过程: (一)预备知识 一、输入输出函数 ·C语言本身不提供输入输出语句,输入和输出操作是由C函数库中的函数来实现的。 在使用系统库函数时,要用预编译命令#include将头文件“stdio.h”包括到用户源文件中。1.printf()函数:格式化输出函数,它能够按用户指定的格式输出多种类型的数据。 ·一般格式为:printf(”格式控制字符串”,输出列表); ·printf函数的参数包括两部分: (1)“格式控制”是用双撇号括起来的字符串,也称“转换控制字符串”,它包括三种信息。

“%”和格式字符组成,如%d、%f等。它的作用是将输出的数据转换为指定的格式输出。格式说明总是由“%” ②普通字符。普通字符即需要原样输出的字符。例如上面printf函数中双撇号内的逗号、空格和换行符。 ③转义字符:无法用单个字符描述的一些特定操作,如\n(换行)、\t(跳到下一个水平制表位)等。 (2) “输出列表” 2.scanf()函数:格式化输入函数,按用户指定格式从键盘上把数据输入到指定的变量中。·一般格式为:scanf(“格式控制字符串”,地址列表); ·“格式控制”通常只需格式说明而不包含其他字符,“输入列表”是需要输入的变量地址。3.格式字符串由%和格式字符组成,还可以加入一些可选项。 一般形式为:% [*][输入数据宽度][长度] 格式字符 (1)格式字符:指定输入数据的类型。 (2)*:表示该输入项,读入后不赋予相应的变量,即跳过该输入值。 (3)输入宽度:用十进制整数指定输入的宽度(即字符数)。

03实验三 顺序结构程序设计_答案

湖北工业大学实验报告 课程名称:C语言程序设计实验内容实验三顺序结构程序设计 学院:工程技术学院专业班级: 姓名:学号:教师:成绩: 一、实验目的 1、掌握赋值语句、表达式语句、函数调用语句、复合语句、空语句的使用方法。 2、掌握输入、输出函数的格式及格式符的使用。掌握文件包含预处理命令的使用方法。 3、掌握数据的输入、存储、输出之间的关系。 4、掌握顺序程序设计的逻辑结构,掌握数据结构的功能。 二、预习作业 1、程序填空题:试在括号中填入正确的答案,并上机验证程序的正确性。(1) 输入大写字符A,则输出为( )。(文件名:ex3_1.c) (#include ) main( ) { ( char ch,chr; ) chr=(ch= getchar( )) main( ) { ( long int) a =80000 , b = 60000, c, d; ( c) = ( a - b ,a + b ); ( d) = (a + b,a - b); printf(“%ld ,%ld\n”, c, d); }

2、程序改错并上机调试运行 (1)更改下列程序中的位运算符和逻辑运算符,能使变量d、e输出的结果为零。 (文件名:ex3_3.c) #include main( ) { int a = 8, b = 2,c = 3,d,e; /********** found **********/ d = (a % c & ^ a % c); e = a / c - b || && c + + ; printf (“%d, %d\n”, d, e); } (2) 查找改程序中的错误,并修改正确。(文件名:ex3_4.c) #include main( ) { int a = 4, b = 6, c= 3; /********** found **********/ a = a + b = b + c ; b = a < b ?a :b < c ?b :c printf(“%d,%d\n”, a, b); } 3、读程序写结果并上机验证其正确性 (1) 变量 a,b,c,d如下,将变量a以各种格式输出并输出表达式c+a,d – 32的值。(文件名:ex3_5.c) #include main( ) 结果为:(-1,4294967295,37777777777,ffffffff ) { int a = - 1 , b = 2 ; C,B char c = …D?,d = …b?; b = b + c;//??? printf (“%d, %u,%o,%x \n ”,a,a,a,a ); printf (“%c,%c \n ”,c + a, d - 32); } (2) 运行程序后输入”a空格b空格c回车”后,输出结果是(a ,b )。(文件

实验五 函数文件的编写

闽 江 学 院 电 子 系 实 验 报 告 学生姓名: 班级: 学 号: 课程:MATLAB 程序设计教程 一、实验题目:函数文件的编写 二、实验地点:A210 三、实验目的: 1、掌握函数文件的定义方法,函数头的写法; 2、掌握调用函数文件的方法,了解函数文件的嵌套调用; 3、熟悉MATLAB 函数文件的特点。 四、实验内容: 1、定义一个函数文件lifang.m ,用于计算一个立方体的表面积和体积。在命令窗口中调用它。 2、当n 分别取100、1000、10000时,求下列各式的值: (1)2223211111236n π??++++= ??? (2)()()( )()2222446613355721212n n n n π??????????????= ? ????? ? ????-+?????????? 要求用函数文件的定义和调用来实现。 3、利用函数文件,实现极坐标(,)ρθ与直角坐标(,)x y 之间的转换,并通过函数调用加以验证。 4、利用预定义变量nargin 和nargout ,实现以下功能的函数:若输入只有一个参数,输出以该参数为半径的球的体积;若输入有两个参数,输出分别以该参数为底面半径和高的圆柱体积;若输入有三个参数,输出分别以该参数为三 条边的长方体的体积;若输入参数多于三个,则报错。 5、 先用函数的递归调用定义一个函数文件求1n m i i =∑,然后调用该函数文件求10050102111 1k k k k k k ===++∑∑∑。

五、实验环境(使用的软硬件):Matlab6.5 六、实验步骤及操作: 1.计算立方体体积 函数文件lifang.m 2求函数值 (1)

C实验_函数3

实验 函数(3) 一、实验目的: 1、掌握函数的结构及格式 2、掌握函数的调用; 二、实验时间:2011.11 三、实验地点:院计算机中心 四、实验内容与步骤: 程序填空,说明: (1) 在一对"/**/"之间编写程序,以完成题目的要求; (2) 不得删改程序中的"/**/"注释和其它代码; (3) 源程序均在考生文件夹中,务必以原文件名保存程序; (4) 按Alt+Tab 键,切换考试程序与Turbo C ;按Alt+Enter 键,切换Turbo C 窗口大小。 1.补充程序Ccon011 2.C ,其功能是求下列级数的部分和。 ++++++=!!3!2132m x x x x e m x 例如:当m=100,x=2时,e x =7.389057 -------Ccon0112.C--------------------------------------------------------------------------- #include main() { int i,m; float x,s,tem; printf("Input m and x\n:"); scanf("%d%f",&m,&x); /**/ /**/ for(i=1;/**/ /**/;i++) { tem*=x/i; s+=tem; } printf("e**%.2f=%f\n",x,s); getch(); }

2.补充程序Ccon092.C ,计算s=1+12+123+1234+12345。 -------Ccon092.C--------------------------------------------------------------------------- #define N 5 #include void main() { int t=0,/**/ /**/,i; for(i=1;i<=N;i++) { t=/**/ /**/; s+=t; } clrscr(); printf("\ns=%d\n",s); getch(); } 3.补充程序Ccon072.C ,计算)! (!!n m n m p -=,其中m ,n 为整数且0≥>n m 。 -------Ccon072.C--------------------------------------------------------------------------- #include double fun(unsigned m,unsigned n) { unsigned i; double p=1.0; for(i=1;i<=m;i++) /**/ /**/ for(i=1;i<=n;i++) /**/ /**/ for(i=1;i<=m-n;i++) p=p/i; return p; } void main() { clrscr(); printf("p=%f\n",fun(13,7));

实验五--M文件和MATLAB程序设计

实验五--M文件和MATLAB程序设计

实验五 M文件和MATLAB程序设计 一、实验目的 matlab作为一种高级计算机语言,不仅可以命令行方式完成操作,也具有数据结构、控制流、输入输出等能力,本次实验通过熟悉和掌握m 文件的建立与使用方法,以及函数与控制程序流程语句的使用,使学生具备一定的编程和程序调试能力。 1.掌握M文件的使用方法。 2.掌握if语句和switch语句的使用 3. 掌握循环语句的使用 4. 通过练习理解MATLAB编程方法。 二、实验原理 1.m文件 用matlab语言编写的程序,称为m文件。M文件根据调用方式的不同分为两类,命令文件(Script file)和函数文件(Function file)。区别? 2.程序控制结构 1)顺序结构 2)选择结构 (1)if语句a) 单分支if语句b) 双分

支if语句c) 多分支if语句 (2)switch 语句 (3)try语句 3)循环结构 (1)for 语句 (2)while语句 (3)break语句、continue语句、return使用,区别? 3.函数文件 function 输出形参表=函数名(输入形参表) 注释说明部分 函数体语句 三、实验要求 1.首先上机练习PPT中各种流程控制语句的有关实例。 2.然后上机练习下面的实验习题。 四、实验习题 1.数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。重复此过程,最终得到的结果为1。如:

3→10→5→16→8→4→2→1 6→3→10→5→16→8→4→2→1 运行下面的程序,按程序提示输入n=1,2,3,5,7等数来验证这一结论。 %classic "3n+1" problem from number theory. while 1 n=input('Enter n,negative quits:'); if n<=0 break end a=n; while n>1 if rem(n,2)==0 n=n/2; else n=3*n+1; end a=[a,n]; end a

实验三简单程序设计(2)

实验三简单程序设计 【实验目的】 1、掌握scanf、printf函数语句的使用 2、掌握算术表达式和赋值表达式的使用 3、能够编程实现简单的数据处理 【实验性质】验证性 【实验要求】 1、认真阅读本次实验的目的,了解本次实验要求掌握的内容 2、在上机前,需要预习,在程序改错题旁将程序中存在的错误修改过来,将编程题的 代码和流程图写在预习报告中 3、在实验时,将实验要求的基本题(程序改错和编程题)根据预习报告中编写的代码, 在VC环境中编写出来 4、在VC中将编写的程序编译、调试,能正确运行结果,各题目的具体要求请看题目下 的要求 5、将正确程序上传FTP服务器(ftp://172.17.9.253) 6、争取完成选作题 【实验内容】 1、程序改错 1) 下面程序需要从键盘输入三个数,计算其平均值在屏幕上显示输出。要求平均值 需要保留两位小数。源代码如下,程序中存在错误,请将其改正写在旁边,并注明为什么错误。 include int Main(){ int x,y,z,float ave; /*定义变量*/ printf("请输入三个数:\n);/*输入提示*/ scanf("%d,%d,%d",x,y,z);/*从键盘输入*/ ave=x+y+z/3;/*计算*/ printf("平均值是:ave=%f",AVE); return 0; }

2、编程题 1)编写程序,在计算机屏幕上显示如下信息。 【要求】 (1)使用printf 函数输出字符 2) 设一个正圆台的上底半径r1,下底半径r2,高h 。请设计一程序,从键盘输入r1,r2,r3;计算并在显示器上输出该圆台的上底面积s 1,下底面积s 2,圆台的体积V 。 【要求】 (1)r1,r2,h 用scanf 函数输入,且在输入前要有提示; (2)在输出结果时要有文字说明,每个输出值占一行,且小数点后取2位数字。 【思路点拔】 (1)圆面积计算公式为 s=πr 2。其中r 为圆半径。 (2)圆台体积计算公式为 V=3 /)r1r2r2r1(h 22++π 3) 鸡兔同笼,已知鸡兔总头数为h ,总脚数为f ,求鸡兔各有多少只? 【要求】

相关文档