实验三 函数程序设计
实验三_M_文件及_MATLAB_程序设计与调试

实验三M 文件及MATLAB 程序设计与调试一、实验目的全面掌握在MA TLAB 下进行程序设计的有关问题,具体涉及到M 脚本文件和M 函数文件的编写、全局和局部变量的使用、流程控制结构、提高程序执行效率的设计技术、程序调试等问题。
二、实验内容1、关于M 脚本文件和M 函数文件MATLAB 的M 文件有两类:脚本文件和函数文件。
(1)脚本文件——将原本要在MATLAB 的指令窗口中直接输入的语句,放在一个以.m 为后缀的,称为脚本文件中。
有了脚本文件,可直接在MATLAB 中输入脚本文件名(不含后缀)。
MATLAB 会打开这一脚本文件,并依次执行脚本文件中的每一条语句,这与在MATLAB 中直接输入语句的结果完全一致。
(2)函数文件——它的第一行必须是函数定义行。
M 函数文件由5 部分构成:◆函数定义行◆H1 行◆函数帮助文本◆函数体◆注释注意:在函数文件中,除了函数定义行之外,其它部分都是可以省略的。
但作为一个函数,为了提高函数的可用性,应加上H1 行和函数帮助文本,为了提高函数的可读性,应加上适当的注释。
例如:function y = mean(x)% MEAN Average or mean value.% For vectors, MEAN(X) is the mean value of the elements in X.% For matrices, MEAN(X) is a row vector containing the mean value of each column.[m,n]=size(x);if m==1% Determine whether x is a vectorm=n;endy = sum(x)/m;①函数定义行:function y = mean(x)function 为函数定义的关键字,mean 为函数名,y 为输出变量,x 为输入变量当函数具有多个输出变量时,则以方括号括起;当函数具有多个输入变量时,则直接用圆括号括起。
《Python程序设计》实验3---Python基本数据类型及分支结构实验报告

**大学数学与信息工程学院《Python程序设计》实验报告实验名称:实验3 Python基本数据类型及分支结构班级:姓名:,学号:实验地点:日期:《一、实验目的:[实验目的和要求]1、熟练掌握Python三种数字类型及其应用2、熟练判断条件表达式的真假3、熟练掌握Python分支结构二、实验环境:1、计算机,局域网,python 软件三、~四、实验内容和要求:(直接将实验步骤及截图写在题目下面,结果必须截图)1、复数z=-3+4j,用Python程序求得对应的实部和虚部并计算z的绝对值,并思考输出的绝对值代表什么含义2、请将下列数学表达式用Python程序写出来,并运算结果1)427345x+-⨯=代码:a=2**4 b=7。
c=3 d=4 e=5x=(a+b-c*d)/e print(x)2)2131677()(mod )/x =+⨯代码:>a=3**2 b=1 c=16 d=7x=(a+b)*(c%d)/7 print(x)3、编写程序,根据输入的长和宽,计算矩形的面积并输出。
要求:输入语句input 实现同步赋值。
、lw=input('请输入矩形的长和宽,以空格分隔:') length,width=map(float,()) s=length*widthprint("矩形面积为:",s)4、编写程序,用户输入一个三位以上的整数(如果不是三位数则提示输入错误),输出其百位以上的数字。
例如用户输入1234,则程序输出12。
(提示:使用整除运算。
)代码:a=eval(input('请输入一个三位以上的整数:'))!b=int(a/100)if(a<99):print('输入错误')else:print(b)------------------------------------------------------------------------------------------------------------------------------5、已知某课程的百分制分数mark ,将其转换为5分制(优、良、中、及格、不及格)的评定等级grade ,评定条件如下:(注意:不要存在冗余条件) 、908090=7080607060mark mark mark mark mark ≥⎧⎪≤<⎪⎪≤<⎨⎪≤<⎪⎪<⎩优良成绩等级中及格不及格代码:mark=eval(input('请输入你的分数:')) if mark>=90: print('优') elif 90>mark>=80: print('良') elif 80>mark>=70:、print('中') elif 70>mark>=60: print('及格') elif mark<60:print('不及格')6、-7、 (1)编写计算n的阶乘的程序,n由用户输入。
C语言程序设计实验三答案

实验三 选择结构程序设计一、实验目的与要求1. 理解C 语言表示逻辑量的方法,学会正确使用逻辑运算符和逻辑表达式。
2. 掌握利用if 结构实现选择结构的方法。
3. 掌握利用switch 结构实现多分支选择结构。
4. 结合程序掌握一些简单的算法,学习调试程序5. 实验4学时二、实验内容1.程序改错题改正下面程序中的错误。
输入实数x ,计算并输出下列分段函数f(x)的值(保留1位小数)。
)100(1=x x==)(x f y)100(≠x x输入输出示例1(改正后程序的运行结果)Enter x :100f )=输入输出示例2(改正后程序的运行结果)Enter x :23f )=源程序(有错误的程序)#include<>#include<>void main(void){double x;printf("Enter x: \n");scanf("=%f", x);if (x = 100) {y = 1/sqrt(x)}else (x != 100) {y = x;}printf("f(%.2f) = %.1f\n",x,y);}答:#include<>#include<>void main(void){double x,y;printf("Enter x:\n");scanf("%lf",&x);if (x=100)y = 1/sqrt(x);elsey= x;printf("f(%.2lf)=%.1lf\n",x,y);}2.一般编程题编程题1输入任意三个整数a,b,c ,求3个数中的最大值和最小值。
答:#include <>void main(){int a,b,c;printf("请输入三个整数:");scanf("%d %d %d",&a,&b,&c);if (a>=b)t=a,a=b,b=t;if (a>=c)t=a,a=c,c=t;if (b>=c)t=b,b=c,c=t;printf("最小值为:%d\n",a);printf("最大值为:%d\n",c);}编程题2输入x ,计算并输出下面分段函数f(x)的值(保留2位小数)。
实验三-选择结构程序设计

实验三选择结构程序设计3.1实验要求与目的1.掌握关系表达式和逻辑表达式的正确应用2.条件表达式的正确应用3. 掌握if语句,if-else语句,if语句的嵌套的编程方法4. 掌握switch的编程方法及执行特点5.掌握相关的算法(大小写字母的转换,判断数的奇偶,整数的整除,分段函数的求解,成绩的转换等)6. 培养解决实际问题的能力3.2实验指导结构化程序设计的三大结构:顺序结构、选择结构和循环结构。
计算机在执行过程时,根据条件选择所要执行的语句,称为选择结构,也称为分支结构。
在解决实际问题时,可能会因为其种条件的约束产生分支,可能是单分支结构、双分支结构和多分支结构等。
因此可选择相应的语句进行程序设计。
C语言程序设计实现单分支结构常采用,if语句;实现双分支结构常采用:if-else语句;实现多分支结构常采用:if-else嵌套语句或switch语句。
选择结构的程序设计除了选择适当的语句外,另一关键问题是条件的正确表示。
条件可以用表达式来描述,如关系表达式、逻辑表达式等。
【3.1】录入下列程序,输入给定的测试数据,观察其程序执行结果。
程序文件名为:ex3_1.c。
输入测试数据:23 56程序运行结果:max=56#include<stdio.h>void main(){int a,b,max;scanf("%d%d",&a,&b); /*从键盘输入两整数*/max=a;if(max<b)max=b;printf("max=%d\n",max); /*输出最大数*/}该程序的执行过程,从键盘输入两个整数赋予a,b,把a的值先赋予变量max,采用if 语句判别max和b的大小,若max小于b,则把b的值赋予max,然后执行printf语句输出max的值;若max大于b,不执行if后的语句,而执行printf语句输出max的值;max中的值总是大数。
C语言程序设计实验指导含答案

C语言程序设计实验指导含答案实验一:C语言程序设计基础实验内容:本实验主要以C语言的基础语法为主,通过一些简单的示例和练习来帮助学生熟悉C语言的基本概念和语法规则。
实验步骤:1. 编写一个简单的C程序,输出"Hello, World!"。
要求程序能够顺利编译并执行。
答案:#include <stdio.h>int main(){printf("Hello, World!");return 0;}2. 基于上一题的程序,修改代码,要求程序输入一个整数,并将其乘以2输出。
答案:#include <stdio.h>int main(){int num;printf("请输入一个整数:");scanf("%d", &num);printf("乘以2的结果为:%d", num * 2);return 0;}3. 编写一个C程序,输入一个圆的半径,计算并输出其面积和周长。
要求保留2位小数。
答案:#include <stdio.h>#define PI 3.14159int main(){float radius;printf("请输入圆的半径:");scanf("%f", &radius);float area = PI * radius * radius;float circumference = 2 * PI * radius;printf("圆的面积为:%.2f\n", area);printf("圆的周长为:%.2f\n", circumference);return 0;}实验二:循环和判断语句实验内容:本实验主要通过不同的练习来帮助学生熟悉和掌握C语言中的循环和判断语句的使用方法。
Python程序设计实验3:列表、元组的应用

Python程序设计实验3:列表、元组的应⽤实验3:列表、元组的应⽤1. 查找最⼤元素的索引编写函数 indicesOfLargestElement(list),输⼊整数列表list, 返回 list 中最⼤元素所有的索引,索引以列表形式返回。
例⼦:IndexOfLargestElement([2, 1, 3, 1, 3]) # return [2,4](1)具体思路通过max函数获取列表中的最⼤值,并通过循环在列表中查找,如果当前值等于最⼤值,则将下标存⼊列表中。
(2)编程实现# 定义函数def IndexOfLargestElement(list):return[i for i, a in enumerate(list)if a ==max(list)]# 主函数temp =[]print("Please input numbers to end with -1:")# 循环获取输出while True:a =eval(input())if a ==-1:breaktemp.append(a)# 进⾏输出print(IndexOfLargestElement(temp))函数部分通过enumerate()对列表进⾏遍历,并通过max函数获取列表中的最⼤值,并通过循环在列表中查找,如果当前值等于最⼤值,则将下标存⼊列表中。
主函数部分先定义空列表,使⽤while循环读⼊数字并以-1结束,若输⼊值为-1则break出循环,若不为-1则存⼊列表中。
完成列表元素读⼊后调⽤函数并输出。
(3)运⾏并测试①开始运⾏程序,将提⽰输⼊数字并以-1结尾:②完成输⼊后即输出结果:2. 合并两个排序的列表编写函数 merge(list1, list2),将两个排序好的整数列表合并到⼀个新的排序列表中,返回这个新的列表。
使⽤两种⽅法实现 merge 函数:不使⽤ sort() 或 sorted();使⽤ sort() 或 sorted()。
c语言程序设计实验教程

c语言程序设计实验教程C语言是一门广泛应用于计算机科学领域的编程语言,它简洁高效,被广泛用于系统软件、嵌入式系统和游戏开发等领域。
对于初学者来说,学习C语言程序设计是打开计算机世界大门的第一步。
本文将为大家介绍一些C语言程序设计的实验教程,帮助初学者更好地掌握这门语言。
实验一:Hello WorldHello World是编程入门的经典程序,它可以帮助我们了解C语言的基本语法和程序结构。
在C语言中,我们可以使用printf函数来输出文本。
下面是一个简单的Hello World程序:```c#include <stdio.h>int main() {printf("Hello World!\n");return 0;}```在这个程序中,我们使用了`#include <stdio.h>`来引入标准输入输出库,使得我们可以使用printf函数。
在main函数中,我们调用了printf函数来输出"Hello World!",并在最后使用return 0来表示程序正常结束。
实验二:变量和运算符在C语言中,我们可以使用变量来存储数据,并使用运算符来进行各种运算。
下面是一个简单的例子,演示了如何使用变量和运算符:```c#include <stdio.h>int main() {int a = 10;int b = 20;int sum = a + b;printf("The sum of %d and %d is %d\n", a, b, sum);return 0;}```在这个程序中,我们定义了三个整型变量a、b和sum。
我们将10赋值给变量a,将20赋值给变量b,然后使用+运算符将a和b相加,并将结果赋值给变量sum。
最后,我们使用printf函数输出结果。
实验三:条件语句和循环结构条件语句和循环结构是C语言中非常重要的控制结构,它们可以帮助我们根据不同的条件执行不同的代码块,或者重复执行某段代码。
实验3 函数

实验3 函数一、实验目的1、复习并掌握C++函数的定义方法和调用形式。
2、学习使用函数原型来声明函数。
3、掌握函数参数的传递方式,透彻理解值传递方式和引用传递方式之间的区别。
4、掌握递归函数的设计方法。
5、学习并掌握函数重载技术。
6、学习并掌握函数模板技术。
7、进一步学习程序的调试方法。
二、实验任务1、编写一个函数完成两个整数的加法运算,并返回运算结果。
要求使用函数原型声明该函数。
2、定义一个函数计算一个正整数各位数字之和,要求不使用函数返回值和指针返回运算结果。
3、编写递归函数求解n阶勒让德多项式的值。
已知勒让德多项式的推导公式如下:1 (n=0)P n(x)= x (n=1)[(2n-1)*P n-1(x)-(n-1)*P n-2(x)]/n4、编写一组重载的函数分别计算两个短整数的加法,两个普通整数的加法,两个单精度浮点数的加法和两个双精度浮点数的加法。
5、编写一个函数模板,计算两个数值的加法。
并使用这个函数模板求出任意两个整数和任意两个浮点数的和。
6、进一步学习VC++编程环境的程序调试功能。
三、实验步骤1、创建VC++控制台应用程序exp3_1,编写一个函数add,实现两个整数的加法,并使用函数原型声明该函数。
在main函数中从键盘输入两个整数,使用它们作为参数调用add 函数计算并返回两个整数的和,并在main函数中输出结果。
2、创建控制台应用程序exp3_2,编写函数sum用来计算并一个正整数的各位数字之和,但不能使用函数返回值和指针来返回计算结果。
在main函数中从键盘输入一个正整数,调用函数sum计算各位数字之和,再于main函数中输出结果。
3、创建控制台应用程序exp3_3,在其中编写递归函数Lpolynomial,用来计算n阶勒让德多项式的值。
函数原型如下:float Lpolynomial(int n, int x);在程序的主函数main中从键盘输入两个正整数x和n,调用函数Lpolynomial来计算x 的n阶勒让德多项式的值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
void draw_parallel(void); /* Draw a parallel*/
void draw_girl(void); /* Draw a girl*/
int main(voi <stdio.h>
int getLastBit(int number);
int main()
{
//输入一个数
//调用getLastBit求解最后一位数
//输出结果
}
int getLastBit(int number)
{//返回number的最后一位
}
测试用例一
测试用例二
*******
任务二:改错
1.打开程序文件error05-1.cpp。
#include <stdio.h>
int main(void)
{
int n;
double f;
printf(“Input n:”);
scanf(“%d”,&n);
f=fact(m); //设置调试断点
printf(“%d!=%f\n”,n,f);
return 0; //设置调试断点
}
double fact(m)
{int i;
double product;
for(i=1;i<=m;i++)
product= product*i;
return 0; //设置调试断点
}
2.程序的功能是调用fact(n)函数,计算n!。
1)请根据VC++6的compile和link错误信息改正语法错误
实验
实验目的
(1)理解函数的概念,区分系统函数和用户自定义函数的使用方法,包括:
1)函数定义
2)函数声明
3)函数调用
(2)掌握整型数据在函数间传递的方法。
实验内容
任务一:改错
1.打开程序文件error1-6.cpp。
void main()
{
printstar;
sayHello(void);
printstar;
draw_girl();
return 0 ;
}
/* Draws a circle*/
void draw_circle(void)
{
printf(" * \n");
printf(" * * \n");
printf(" * * \n");
}
/* Draws intersecting lines*/
void draw_intersect(void)
}
printStar(void)
{printf(“*******”);
}
void sayHello(void)
{printf(“hello world!”);
}
2.程序的功能是输出三行文本,请根据VC++6的compile和link错误信息改正错误,并给出运行结果。输出格式如下所示:
*******
hello world!
/* Draws a triangle*/
void draw_triangle(void)
{
draw_intersect();
draw_base();
}
/*Draw a parallel*/
void draw_parallel(void)
{
printf("| |\n");
printf("| |\n");
{
printf(" / \\ \n"); /* Use 2 \'s to print 1 */
printf(" / \\ \n");
printf(" / \\\n");
}
/* Draws a base line*/
void draw_base(void)
{
printf(" -------\n");
}
(提示:截一个错误信息,对应一个正确语句)
2)请按注释要求设置3个调试断点,纠正程序逻辑错误,使其能正确输出n!。
3)设计2个测试用例测试程序,并给出运行结果。
任务
打开sample01_03.cpp,增加画小房子和小男孩的函数定义,并在main函数中调用输出。
/*画小女孩sample01_03.cpp*/
#include <stdio.h>
/* Function prototypes */
void draw_circle(void); /* Draws a circle*/
void draw_intersect(void); /* Draws intersecting lines */
void draw_base(void); /* Draws a base line */
}
列出下面函数的程序代码
(1)画男孩的函数
输出格式
函数
(2)画小房子的函数
输出格式
函数
(3)main函数
main函数
输出结果
任务四
编写函数int getLastBit(int number),该函数返回正整数number的个位数,如正整数1234,则返回4。在main函数中实现输入和输出,以验证函数getLastBit的正确性。设计2个测试用例算法的正确性。
}
/* Draws a girl*/
void draw_girl(void)
{
/* Draw a circle. */
draw_circle();
/* Draw a triangle. */
draw_triangle();
/* Draw intersecting lines. */
draw_intersect();