武汉理工大学C语言课件 c1第一章-新
用C语言程序模拟李萨如图形

用C语言程序模拟李萨如图形张杨武汉理工大学材料科学与工程学院材科0510班[内容摘要]本文论述了用C语言程序模拟李萨如图形的原理和实现方法,对程序中的要点进行了解释,并对程序的特点作了阐述[关键词]C程序李萨如图形物理实验一、引言在做《大学物理实验》中“示波器的使用”实验时,我第一次观察到李萨如图形,我深为它和谐、美妙的图案而吸引。
由于平时有用C语言编写应用程序的习惯,于是就产生了用C编写程序来模拟李萨如图的构想。
在仔细研究了李萨如图的形成原理并请教了计算机老师后,我编写了这个小程序,经测试,达到了预期的目的,可以作为一个研究李萨如图的辅助工具。
二、李萨如图的形成原理在振动理论中我们知道,同一个质点同时参与两个不同方向的振动,这时质点的合位移是两个分振动的矢量和。
李萨如图上的每一个点的横纵坐标都可以用以下的公式进行表示:X=A1Cos(ω1t+ψ1)Y=A2Cos(ω2t+ψ2)这就是李萨如图形的参数方程。
李萨如图实际上不同频率相互垂直的两个简谐振动的合成。
如果两振动的频率只有微小差别,则可近似看作同频率简谐振动的合成。
其轨迹将不断由直线变成椭圆,再由椭圆变成直线。
如果两振动的频率相差较大,但恰成简单的整数比,则合振动运动轨迹总能构成封闭曲线形的稳定轨道,这就是李萨如图。
三、用c语言模拟李萨如图的实现李萨如图的参数方程,是实现本程序的关键。
在程序中,我将方程稍加改动,成为:X=sin(M1*t)Y=sin(M2*t+u)其中,M1和M2是角频率,由外界输入;为了保证频率成简单的整数比,规定M1和M1只允许输入个位整数。
u是外界输入的初始相位差的值(u=u2-u1)。
原方程中的A1和A2是两个振动的振幅,只影响所绘制出的图形的最高最低点和最左最右点的位置,将其简化为1∶1,对问题没有实质性影响。
我将本程序的主体分为两部分:绘图部分和控制部分。
在绘图部分中,首要任务是完成单幅李萨如图的绘制,我设置了一个循环变量t,通过调用库函数中的作图程序moveto()、lineto(),将点(X,Y)逐一绘制在屏幕上,这样一个周期内能完成一个完整的绘图过程;然后设置了一个变量u2作为u的增量,控制u2的变化,就可绘制出频率比一定,但初相位差不同的各个图形。
武汉理工大学-编译原理实验报告-中国好学长系列之小灰灰的爸爸

学生学号实验课成绩武汉理工大学学生实验报告书实验课程名称《编译原理》开课学院计算机科学与技术学院指导老师姓名何九周学生姓名小灰灰的爸爸学生专业班级中国好学长系列2013 —2014 学年第一学期实验课程名称:编译原理实验项目名称单词的词法分析器的设计实验成绩实验者专业班级组别同组者实验日期年月日第一部分:实验分析与设计(可加页)一、实验内容描述(问题域描述)1.实验目的:设计,编制并调试一个词法分析程序,加深对词法分析原理的理解。
2.实验要求要求:在上机前应认真做好各种准备工作,熟悉机器的操作系统和语言的集成环境,独立完成算法编制和程序代码的编写;上机时应随带有关的高级语言教材或参考书;要学会程序调试与纠错;每次实验后要交实验报告。
3.实验报告的内容(1)实验题目、班级、学号、姓名、完成日期;(2)待分析的某种语言子集的词法描述;(3)词法分析程序的功能;(4)详细的算法描述;(5)程序清单;(6)运行结果(给3组典型输入数据进行测试);(7)收获与体会。
二、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)1.待分析的简单语言的词法:(1)关键字:bengin if then while do end所有的关键字都是小写。
(2)运算符和界符::= + - * / < <= <> > >= = ; ( ) #(3)其他单词是标志符(ID)和整形常数(NUM),通过以下正规式定义:ID=letter(letter|digit)* NUM=digit digit*(4)空格空白、制表符和换行符组成。
空格一般用来分隔ID、NUM、运算符、界符和关键字,词法分析阶段通常被忽略。
2.各种单词符号对应的种别码单词符号种别码单词符号种别码begin 1 :17if 2 := 18then 3 < 20while 4 <> 21do 5 <= 22end 6 > 23 Letter(letter|digit) 10 >= 24digit digit * 11 = 25 + 13 ; 26- 14 ( 27* 15 ) 28/ 16 # 03.实验源代码如下:#include<stdio.h>#include<string.h>char prog[80],token[6];char ch;int syn,p,m,n,sum;char * rwtab[6]={"begin","if","then","while","do","end"};main(){p=0;printf("\nplease intput string:");do{ch=getchar();prog[p++]=ch;}while(ch!='#');p=0;do{scaner();switch(syn){case 11:printf("(%d,%d)\n",syn,sum);break;case -1:printf("input error\n"); break;default:printf("(%d,%s)\n",syn,token);}}while(syn!=0);getch();}scaner(){for(n=0;n<8;n++)token[n]=NULL;m=0;ch=prog[p++];while(ch==' ')ch=prog[p++];if((ch<='z'&&ch>='a')||(ch<='Z'&&ch>='A')){while((ch<='z'&&ch>='a')||(ch<='Z'&&ch>='A')||(ch<='9'&&ch>='0')) {token[m++]=ch;ch=prog[p++];}token[m++]='\0';ch=prog[--p];syn=10;for(n=0;n<6;n++)if(strcmp(token,rwtab[n])==0){syn=n+1;break;}}elseif((ch<='9'&&ch>='0')){sum=0;while((ch<='9'&&ch>='0')){sum=sum*10+ch-'0';ch=prog[p++];}ch=prog[--p];syn=11;}elseswitch(ch){case '<':m=0;token[m++]=ch;ch=prog[p++];if(ch=='>'){syn=21;token[m++]=ch;}elseif(ch=='='){syn=22;token[m++]=ch;}else{syn=20;ch=prog[--p];}break;case '>':token[m++]=ch;ch=prog[p++];if(ch=='='){syn=24;token[m++]=ch;}else{syn=23;ch=prog[--p];}break;case ':':token[m++]=ch;ch=prog[p++];if(ch=='='){syn=18;token[m++]=ch;}else{syn=17;ch=prog[--p];}break;case '+':syn=13;token[0]=ch;break; case '-':syn=14;token[0]=ch;break; case '*':syn=15;token[0]=ch;break; case '/':syn=16;token[0]=ch;break;case ':=':syn=18;token[0]=ch;break;case '<>':syn=21;token[0]=ch;break;case '<=':syn=22;token[0]=ch;break;case '>=':syn=24;token[0]=ch;break;case '=':syn=25;token[0]=ch;break;case ';':syn=26;token[0]=ch;break;case '(':syn=27;token[0]=ch;break;case ')':syn=28;token[0]=ch;break;case '#':syn=0;token[0]=ch;break;default:syn=-1;}}三、主要仪器设备及耗材PC机一台,Miscrosoft VisualC++6.0第二部分:实验调试与结果分析(可加页)一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)按照要求编写完代码之后,首先检查一下有没有错误语法错误,然后编译连接运行,输入所给文法的源程序字符串,经此法分析之后,程序就会输出如下结果所示的二元组构成的序列:二、实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)(1)输入字符串begin x:=9; if x>0 then x:= 2*x+1/3; end #其结果如下图所示(2)输入字符串hello#其输出结果如下图所示:(3)输入字符串if x>2; y=3; end #其结果如下图所示:三.实验小结、建议及体会词法分析是编译的第一个阶段,它的主要任务是从左至右逐个字符地对源程序进行扫描,产生一个单词序列,用以语法分析,执行词法分析的程序成为词法分析程序或扫描程序。
校园路灯智能控制系统的设计与实现

学号:毕业设计题目校园路灯智能控制系统的设计与实现学生姓名专业班级电气工程及其自动化1142班学号系(部) 电气信息工程学院指导教师(职称)完成时间论文版权使用授权书本人完全了解关于收集、保存、使用学位论文的规定,同意如下各项内容:按照学校要求提交论文的印刷本和电子版本;学校有权保存论文的印刷本和电子版,并采用影印、缩印、扫描、数字化或其它手段保存论文;学校有权提供目录检索以及提供本论文全文或者部分的阅览服务;学校有权按有关规定向国家有关部门或者机构送交论文的复印件和电子版;在不以赢利为目的的前提下,学校可以适当复制论文的部分或全部内容用于学术活动。
论文作者签名:年月日毕业设计(论文)原创性声明本人郑重声明:所呈交的论文,是本人在指导教师指导下,进行研究工作所取得的成果.除文中已经注明引用的内容外,本论文的研究成果不包含任何他人创作的、已公开发表或者没有公开发表的作品的内容。
对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确方式标明.本学位论文原创性声明的法律责任由本人承担。
论文作者签名:年月日毕业设计(论文)任务书题目校园路灯智能控制系统的设计与实现专业电气工程及其自动化学号姓名主要内容与相关技术:1 校园路灯智能控制系统的背景、意义与目的;2 利用AT89C51或其他单片机搭建智能控制系统;3 使用C语言搭建软件控制系统;4 路灯智能控制系统模型的验证以及调试;基本要求1 控制系统能够根据外界光自动控制灯的开关;2 路灯分3种模式控制:(1)模拟林荫小道,此路段天黑后,若有人经过,立即亮,人走后延迟10s后灭。
(2)模拟重要路段,此路段的路灯常亮,天黑后亮,天明后灭。
(3)模拟人少路段,此路段的路灯天黑启动,到半夜12点后灭。
主要参考文献:[1] 杨梅,李文强。
新型智能路灯照明调控系统[J]。
上海计量测试,2011,03:62-66+70.[2]刘新宇,徐海潮,初秀民等。
道路照明智能控制系统的设计与实现[J]。
最新武汉理工大学环境温度测试例程设计

学号:课程设计题目环境温度测试学院计算机科学与技术学院专业计算机科学与技术班级姓名指导教师2013 年 6 月26 日计算机硬件综合设计任务书学生姓名:专业班级:指导教师:学院名称:计算机科学与技术学院课程设计题目: 环境温度测试题目: 环境温度测试例程设计初始条件:1.课程设计使用ZG211硬件综合实验平台(8051单片机),配有课程设计接口芯片和辅助芯片以及器件;2.ZG211有程序设计集成开发环境,程序设计语言为C语言;3.ZG211硬件综合实验平台使用说明书;要求完成的主要任务:(包括课程设计工作量及其技术要求,撰写说明书具体要求)1.学习使用ZG211硬件综合实验平台,程序设计集成开发环境;2.根据课程设计题目,进行需求分析,搞清楚课程设计需要设计需求和需要解决的设计内容。
3.查阅和学习课程设计题目需要的接口芯片资料,掌握接口芯片的使用方法和编程要领。
查阅和学习课程设计题目需要的辅助芯片以及器件资料。
4.设计接口芯片和辅助芯片以及器件与8051单片机连接硬件电路原理图。
5.设计与硬件电路原理图对应的C语言程序(或8051汇编语言)。
给出程序流程图。
在集成开发环境中调试程序。
给出程序的详细注释。
能够解释使用程序模拟电路时序信号和数据。
6.撰写课程设计报告,1)详细陈述以上的设计过程;2)详细陈述电路的调试过程。
时间安排:第17周:1.熟悉ZG211硬件综合实验平台,KEILC UVISION2集成开发环境;查阅接口芯片资料,熟悉接口芯片和它的使用方法。
2.设计硬件电路原理图,。
第18周:1.使用C语言或汇编语言设计和调试接口程序。
2.撰写计算机硬件综合设计报告。
指导教师签名:年月日系主任(或责任教师)签名:年月日环境温度测试1 实验目的应用计算机组成原理、数字逻辑、微机原理与接口技术、单片机原理、C语言程序设计等相关专业知识来学习和使用ZG211 实验板的使用方法、Keilc51在线编程软件环境。
武汉理工大学-操作系统实验报告-中国好学长系列之小灰灰的爸爸

学 生 实 验 报 告 书实验课程名称 操 作 系 统 开 课 学 院 计算机科学与技术学院 指导老师姓名 刘 军 学 生 姓 名 小灰灰的爸爸 学生专业班级 中国好学长系列2013 — 2014 学年 第 一 学期学生学号实验课成绩实验课程名称:操作系统实验项目名称Linux键盘命令和vi实验成绩实验者专业班级组别同组者实验日期年月日第一部分:实验分析与设计(可加页)一、实验内容描述(问题域描述)掌握Linux系统键盘命令的使用方法。
二、实验设计(包括实验方案设计,实验手段的确定,实验步骤,实验过程等)Vi编辑器是所有计算机系统中最常用的一种工具。
UNIX下的编辑器有ex,sed和vi等,其中,使用最为广泛的是vi。
1.进入vi在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面:例如:$ vi myfile有一点要注意,在进入vi之后,是处于“命令行模式”,要切换到“插入模式”才能够输入文字。
2. 切换至插入模式编辑文件在“命令行模式”下按一下字母“i”就可以进入“插入模式”,这时候就可以开始输入文字了。
3. Insert 的切换处于“插入模式”,就只能一直输入文字,按一下“ESC”键转到”命令行模式”能够删除文字。
4. 退出vi及保存文件在“命令行模式”下,按一下“:”冒号键进入“Last line mode”,例如:: w myfilename: wq (输入”wq”,存盘并退出vi): q! (输入q!,不存盘强制退出vi)三、主要实验工具、仪器设备及耗材安装Linux系统的计算机一台。
第二部分:实验结果分析(可加页)一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)在整个过程中,最困难的就是记忆整个Vi命令。
在查阅资料的情况下,这个问题得到了解决。
二、实验结果描述1.进入vi在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面图1 vi主界面2.切换至插入模式编辑文件在“命令行模式”下按一下字母”i”就可以进入”插入模式”。
计算机科学与技术专业课程表

计算机科学与技术专业课程表计算机科学与技术专业03023001高等数学Higher Mathematics【192-11-1、2】内容提要:作为本专业的重要基础课程,内容以微积分、中值定理、不定积分、定积分及其应用,多元函数微分法及其应用、重积分、曲线积分与曲面积分、无穷级数及微分方程等。
修读对象:计算机科学与技术专业本科生教材:《高等数学》同济大学主编高等教育出版社参考书目:《高等数学》四川大学主编高等教育出版社03023002线性代数Linear Algebra【36-2-1】内容提要:线性代数是研究有限线性空间的结构和线性空间的线性变换的数学分支。
主要学习N阶行列式,矩阵及其运算等,向量组的线性相关与矩阵的秩,线性方程,相似矩阵及二次型,线性空间与线性变换。
修读对象:计算机科学与技术专业本科生教材:《线性代数》同济大学主编高等教育出版社参考书目:《线性代数》四川大学数学系教学研究室编高等教育出版社03023003高级语言程序设计High-level Language Program Design 【110-5-1、2】先修课程:计算机科学技术导论内容提要:结构化程序设计基本思想及各种基本结构设计方法,高级语言数据类型、数组、函数、预编译,指针、结构体、文件等,简单的算法分析,使学生能够用高级语言进行相应程序设计。
修读对象:计算机科学与技术专业本科生教材:《C++程序设计》谭浩强主编清华大学出版社参考书目:《C语言程序设计教程》秦友淑主编03023004计算机科学技术导论Introduction to Computer Science and Technology【42-2-1】内容提要:本课程通过与信息化社会、计算机科学技术的基础知识、计算机软硬件系统、软件开发技术、数据通信与计算机网络、多媒体技术及其应用、数据库系统及其应用、计算机信息安全技术、计算机的应用领域等方面的概要讲解,系统介绍了计算机科学技术学科体系内容。
P-Q法潮流计算

1.系统概述1.1 设计目的及要求设计目的1. 掌握电力系统潮流计算的基本原理;2. 采用计算机语言对潮流计算进行计算机编程计算(MATLAB语言或C语言);3. 采用计算机语言对潮流计算进行计算机编程计算。
设计要求1. 程序源代码;2. 给定题目的输入,输出文件;3. 程序说明;4. 给定系统的程序计算过程;1.2 设计题目用牛顿-拉夫逊法或P-Q 分解法进行电力系统潮流计算(四节点四支路)1.3 设计内容1.根据电力系统网络推导电力网络数学模型,写出节点导纳矩阵;2.赋予各节点电压变量(直角坐标系形式)初值后,求解不平衡量;3.形成雅可比矩阵;4.求解修正量后,重新修改初值,从2开始重新循环计算;5.求解的电压变量达到所要求的精度时,再计算各支路功率分布、功率损耗和平衡节点功率;6.上机编程调试;7.计算分析给定系统潮流分析并与手工计算结果作比较分析。
8.准备答辩,打印该课程设计说明书。
2.实验内容2.1.理论分析:P-Q 分解法是从改进和简化牛顿法潮流程序的基础上提出来的,它的基本思想是:把节点功率表示为电压向量的极坐标方程式,抓住主要矛盾,以有功功率误差作为修正电压向量角度的依据,以无功功率误差作为修正电压幅值的依据,把有功功率和无功功率迭代分开来进行。
牛顿法潮流程序的核心是求解修正方程式,当节点功率方程式采取极坐标系统时,修正方程式为:⎥⎦⎤⎢⎣⎡∆∆⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡∆∆V V L N J H Q P /δ 或展开为:VV L J Q V V N H P //∆⋅+∆⋅=∆∆⋅+∆⋅=∆δδ (4)以上方程式是从数学上推倒出来的,并没有考虑电力系统这个具体对象的特点。
电力系统中有功功率主要与各节点电压向量的角度有关,无功功率则主要受各节点电压幅值的影响。
大量运算经验也告诉我们,矩阵N 及J 中各元素的数值相对是很小的,因此对牛顿法的第一步简化就是把有功功率和无功功率分开来进行迭代,即将式(4)化简为:VV L Q H P /∆⋅=∆∆⋅=∆δ (5)这样,由于我们把2n 阶的线性方程组变成了二个n 阶的线性方程组,因而计算量和内存方面都有改善。
《武汉理工大学理学院电信科培养计划》

《武汉理工大学理学院电信科培养计划》电子信息科学与技术专业本科培养计划undergraduateprogramforelectronicinformationscienceandtechnology一、业务培养目标Ⅰeducationalobjectives本专业培养电子信息科学与技术高级专门人才,具备电子信息科学与技术的基础理论和基本知识,接受严格的科学实验训练和科学研究初步训练,有较强的创新意识,能够在电子、信息、计算机及相关领域和行政部门从事科学研究、教学、科技开发、产品设计、生产技术或管理的工作。
thisprogramaimsattrainingadvancedandspecialtalentsinthefieldofele ctronicinformationscienceandtechnologyandelectronicscienceandtechno logy,whoshouldreceivebasictrainingsonscientificexperimentandresearch,masterbasictheory,knowledgeandskillsinelectronicinformationscienceandtechnology,andarecapableofjobsaboutresearching,teaching,sci-techdevelopment,engineeringdesignormanagementinfieldsofelectronics,information,puterandgovernmentaladministration.二、业务培养要求Ⅱeducationalrequirements本专业学生主要学习电子信息科学与技术的基础理论和技术,受到科学实验与科学思维的训练,具备本学科及相关领域的应用研究与技术开发的能力。
毕业生应具备以下几方面的知识和能力:1.掌握数学、物理等方面的基础理论和基本知识;2.掌握电子信息科学与技术、计算机科学与技术等方面的基础理论、专业知识与技能;3.了解相近专业的一般原理和知识;4.熟悉国家电子信息产业政策及国内外有关知识产权的法律法规;5.了解电子信息科学与技术的理论前沿、应用前景和最新发展动态,以及电子信息产业发展状况;6.掌握资料查询、文献检索及运用现代信息技术获取相关信息的基本方法,具有初步的电子设计、科学实验、论文撰写及学术交流的能力;7.具有较强的外语综合应用能力,特别是听说能力。