MATLAB编程例子
更新时间:2023-10-16 09:41:01 阅读量: 综合文库 文档下载
选择结构编程练习
1. 身高预测
每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后的身高的因素包括遗传、饮食习惯与体育锻炼等。小孩成人后的身高与其父母的身高和自身的性别密切相关。
设faHeight为其父身高,moHeight为其母身高,身高预测公式为
男性成人时身高=(faHeight + moHeight)×0.54cm 女性成人时身高=(faHeight×0.923 + moHeight)/2cm
此外,如果喜爱体育锻炼,那么可增加身高2%;如果有良好的卫生饮食习惯,那么可增加身高1.5%。
编程从键盘输入用户的性别(用字符型变量sex存储,输入字符F表示女性,输入字符M表示男性)、父母身高(用实型变量存储,faHeight为其父身高,moHeight为其母身高)、是否喜爱体育锻炼(用字符型变量sports存储,输入字符Y表示喜爱,输入字符N表示不喜爱)、是否有良好的饮食习惯等条件(用字符型变量diet存储,输入字符Y表示良好,输入字符N表示不好),利用给定公式和身高预测方法对身高进行预测。
2. 简单的计算器
用switch语句编程设计一个简单的计算器程序,要求根据用户从键盘输入的表达式:
操作数1 运算符op 操作数2
计算表达式的值,指定的算术运算符为加(+)、减(-)、乘(*)、除(/)。
(1)如果要求程序能进行浮点数的算术运算,程序应该如何修改?如何比较实型变量data2和常数0是否相等?
(2)如果要求输入的算术表达式中的操作数和运算符之间可以加入任意多个空白符,那么程序如何修改?
(3)(选作题)如果要求连续做多次算术运算,每次运算结束后,程序都给出提示:
Do you want to continue(Y/N or y/n)?
用户输入Y或y时,程序继续进行其他算术运算;否则程序退出运行状态。那么,程
序如何修改?
循环结构编程练习
猜数游戏
在这个实验中,我们将尝试编写一个猜数游戏程序,这个程序看上去有些难度,但是如果按下列要求循序渐进地编程实现,会发现其实这个程序是很容易实现的。那么,现在就开始吧,先编写第1个程序,然后试着在第1个程序的基础上编写第2个程序,??
程序1 编程先由计算机“想”一个1~100之间的数请人猜,如果人猜对了,则计算机给出提示“Right!”,否则提示“Wrong!”,并告诉人所猜的数是大(Too high)还是小(Too low),然后结束游戏。要求每次运行程序时机器所“想”的数不能都一样。
程序2 编程先由计算机“想”一个1~100之间的数请人猜,如果人猜对了,则结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平;否则计算机给出提示,告诉人所猜的数是太大还是太小,直到人猜对为止。
程序3 编程先由计算机“想”一个1~100之间的数请人猜,如果人猜对了,则结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平;否则计算机给出提示,告诉人所猜的数是太大还是太小,最多可以猜10次,如果猜了10次仍未猜中的话,结束游戏。
程序4 编程先由计算机“想”一个1~100之间的数请人猜,如果人猜对了,在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平,则结束游戏;否则计算机给出提示,告诉人所猜的数是太大还是太小,最多可以猜10次,如果猜了10次仍未猜中的话,则停止本次猜数,然后继续猜下一个数。每次运行程序可以反复猜多个数,直到操作者想停止时才结束。
1 .猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半另一个,以后每天早晨都吃剩下的一半另一个,到第十天早晨再想吃时,就剩一个桃子。问第一天共摘了多少桃子。 要求:分别用三种语句编写程序。
2 .编写程序验证下列结论:任何一个自然数 n 的立方都等于 n 个连续奇数之和。例如: 1 3 =1 ; 2 3 =3+5 ; 3 3 =7+9+11 。
要求:程序对每个输入的自然数计算并输出相应的连续奇数,直到输入的自然数为 0 时止。
函数编程练习
1. 给小学生出加法考试题
编写一个程序,给学生出一道加法运算题,然后判断学生输入的答案对错与否,按下列要求以循序渐进的方式编程。
程序1 通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!”,否则显示“Not correct! Try again!”,程序结束。
程序2 通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!”,否则显示“Not correct! Try again!”,直到做对为止。
程序3 通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!”,否则提示重做,显示“Not correct! Try again!”,最多给三次机会,如果三次仍未做对,则显示“Not correct! You have tried three times! Test over!”,程序结束。
程序4 连续做10道题,通过计算机随机产生两个1~10之间的加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!”,否则显示“Not correct!”,不给机会重做,10道题做完后,按每题10分统计总得分,然后打印出总分和做错的题数。
程序5 通过计算机随机产生10道四则运算题,两个操作数为1~10之间的随机数,运算类型为随机产生的加、减、乘、整除中的任意一种,如果输入答案正确,则显示“Right!”,否则显示“Not correct!”,不给机会重做,10道题做完后,按每题10分统计总得分,然后打印出总分和做错题数。
【思考题】 如果要求将整数之间的四则运算题改为实数之间的四则运算题,那么程序该如何修改呢?请读者修改程序,并上机测试程序运行结果。
2.掷骰子游戏
编写程序模拟掷骰子游戏。已知掷骰子游戏的游戏规则为:每个骰子有6面,这些面包含1、2、3、4、5、6个点,投两枚骰子之后,计算点数之和。如果第一次投的点数和为7或11,则游戏者获胜;如果第一次投的点数和为2、3或12,则游戏者输;如果第一次投的点数和为4、5、6、8、9或10,则将这个和作为游戏者获胜需要掷出的点数,继续投骰子,直到赚到该点数时算是游戏者获胜。如果投掷7次仍未赚到该点数,则游戏者输。
【思考题】 将游戏规则改为:计算机想一个数作为一个骰子掷出的点数(在用户输入数据之前不显示该点数),用户从键盘输入一个数作为另一个骰子掷出的点数,再计算两点数之和。其余规则相同,然后请读者重新编写该程序。
选择结构编程练习
1.身高预测:
global Heigt A
sex=input('Input you sex(M or F):','s');
faHeight=input('Input you father''s height:'); moHeight=input('Input you mother''s height:');
sports=input('whether you like sports or not(Y or N):','s'); diet=input('whether you have a good diet(Y or N):','s'); if sex=='M'
A=(faHeight+moHeight)*0.54; else
A=(faHeight*0.923+moHeight)/2; end A;
if sports=='Y'
B=A*(1+0.02); else
B=A; end B;
if diet=='Y'
Height=B*(1+0.015); else
Height=B; end Height
Input you sex(M or F):M Input you father's height:160 Input you mother's height:150
whether you like sports or not(Y or N):Y whether you have a good diet(Y or N):Y Height =
173.3092
2.编辑计算器
d1=input('Input the first data:');
op=input('Input the option(+ - *or/):','s'); d2=input('Input the second data:'); switch op case '+'
data=d1+d2; case '+'
data=d1+d2; case '-'
data=d1-d2; case '*'
data=d1*d2; otherwise
data=d1/d2; end data
Input the first data:5
Input the option(+ - *or/):* Input the second data:5
data =
25 (1) Ⅰ. format long
d1=input('Input the first data:');
op=input('Input the option(+ - *or/):','s'); d2=input('Input the second data:'); switch op case '+'
data=d1+d2; case '+'
data=d1+d2; case '-'
data=d1-d2; case '*'
data=d1*d2; otherwise
data=d1/d2; end data
Input the first data:3.2
Input the option(+ - *or/):+ Input the second data:2.3
data =
5.50000000000000 Ⅱ.
d1=input('Input the first data:');
op=input('Input the option(+ - *or/):','s'); d2=input('Input the second data:'); switch op case '+'
data=d1+d2; case '+'
data=d1+d2; case '-'
data=d1-d2; case '*'
data=d1*d2; otherwise
data=d1/d2; end
if d2==0
disp('data2等于0') else
disp('data2不等于0') end data
Input the first data:6
Input the option(+ - *or/):+ Input the second data:0 data2等于0
data =
6 (2)
s=input('please input:','s'); n=size(s,2); s1=[]; for k=1:n
if s(k)~=' '
正在阅读:
MATLAB编程例子10-16
关于冬天的排比句02-10
病人写给医院的感谢信02-07
财税实务从事建筑设计行业的一般纳税人与小规模纳税人分别如何缴税?12-04
2011-2012学年第一学期《大学物理物理》期末考试参考题及答案11-02
假如我被克隆了作文03-31
外国名人名言精选12-13
灰土挤密桩检测报告05-09
上传 投标文件版本2 Microsoft Word 文档05-07
《数据库原理与应用》第04章在线测试04-07
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 例子
- 编程
- MATLAB
- 新版2018年电子化学品市场现状与发展趋势预测- 1379.doc
- ERP考试课后简答题整理(参考)
- 实验一 - 熟悉CCS5000开发工具(DSP开发环境基本操作)
- 浅谈监狱安全技术防范
- 外科试题61-79
- 环境保护概论试题(含答案)整合
- 课件计算机二级冲刺课
- B2B站点的网络营销运作分析与运用实验报告
- 装配式建筑塔吊选型及使用
- 整理2010全国考研初试分数线
- JSZL401:HDS AMS&WMS用户维护及操作手册
- 山东省发展和改革委员会关于企业投资项目实行核准制暂行办法的通知
- 60秒倒计时单片机
- 2018-2019学年七年级数学上册12月月考试题
- 既有设施保护方案
- 宁波镇海炼化厂搅拌桩施工组织设计
- 新目标英语九年级单元同步练习与测试卷
- 西师版三年级下册音乐教案
- 3.英语四级汉英段落翻译指导
- 高校计算机等级考试和全国计算机等级考试的区别