循环控制 实验指导

合集下载

plc彩灯循环控制课程设计

plc彩灯循环控制课程设计

plc彩灯循环控制课程设计一、课程目标知识目标:1. 学生能理解PLC(可编程逻辑控制器)的基本原理,掌握彩灯循环控制的相关知识点。

2. 学生能掌握PLC编程软件的使用,学会编写简单的彩灯循环控制程序。

3. 学生了解彩灯循环控制中所涉及的电子元件,如继电器、传感器等,并理解它们的工作原理。

技能目标:1. 学生能够运用PLC编程软件进行彩灯循环控制程序的编写,实现彩灯的有序循环点亮。

2. 学生能够通过实际操作,解决彩灯循环控制过程中可能出现的问题,提高实际操作能力。

3. 学生能够运用已学知识,对彩灯循环控制系统进行创新设计,提高创新能力和实践能力。

情感态度价值观目标:1. 学生通过学习PLC彩灯循环控制,培养对自动化技术的兴趣和热情,增强学习动力。

2. 学生在学习过程中,养成合作、探究的学习习惯,培养团队协作精神。

3. 学生能够认识到PLC技术在现实生活中的广泛应用,增强对科技改变生活的认识,提高社会责任感。

本课程针对高年级学生,结合PLC技术的实际应用,注重理论知识与实践操作的紧密结合。

在教学过程中,教师应关注学生的个体差异,引导他们通过自主探究、合作学习等方式,达到课程目标。

课程目标的设定旨在使学生在掌握PLC彩灯循环控制技术的基础上,提高实践操作能力和创新能力,培养良好的学习态度和价值观。

二、教学内容本章节教学内容主要包括以下几部分:1. PLC基本原理:介绍PLC的组成、工作原理、特点及应用领域,使学生了解PLC技术的基本概念。

2. 彩灯循环控制原理:讲解彩灯循环控制的基本原理,包括彩灯的点亮顺序、循环方式等。

3. PLC编程软件操作:教授PLC编程软件的使用方法,使学生能够熟练操作软件,编写简单的彩灯循环控制程序。

4. 电子元件及其应用:介绍彩灯循环控制中涉及的电子元件,如继电器、传感器等,并讲解它们的工作原理及在PLC控制系统中的应用。

5. 彩灯循环控制程序编写:详细讲解彩灯循环控制程序的编写方法,引导学生学会使用PLC编程软件进行编程。

VB实验7 多重循环程序设计

VB实验7 多重循环程序设计
第11页 Visual Basic程序设计实验指导
实验7-2
目的和要求 预备知识
பைடு நூலகம்
【题目】
求素数。编写程序,输出100~300之间的所有素数, 要求按5个一行输出在图片框中。
上一页
下一页
退 出
第12页 Visual Basic程序设计实验指导
实验7-2
目的和要求 预备知识
【分析】
素数(质数)就是大于等于 2 ,并且只能被 1 和本身整除,不 能被其他整数整除的整数,如2、3、5、7、11等。 判断某数 m是否是素数的经典算法是:对于 m,从i = 2,3, 4,…,m1依次判别能否被 i整除,只要有一个能整除,m就不 是素数,否则m是素数。 数学上已证明,对于任一素数m,一定不能被大于 Int(Sqr(m)) 的 整 数 整 除 , 所 以 只 要 判 断 到 m 能 否 被 Int(Sqr(m))整除即可。 在本题中,为了找出100~300之间所有的素数,先设置一个 外循环,循环变量 m 即为判断的数,然后设置一个内循环,用于 判断素数。为了判断素数,程序中引入两个变量 i和Flag。i从2变 化到 Int(Sqr(m)) ,用于控制循环次数,如果 m 不能被 i 整除, 则i = i + 1;如果在本次循环中m能被i整除,则将Flag设置为0, 并且退出内循环。Flag用做标志变量,如果m始终不能被i整除, 则Flag不变化,即Flag = 1时,m为素数。
第19页 Visual Basic程序设计实验指导
上一页
下一页
退 出
实验7-4
目的和要求 预备知识
上一页
下一页
退 出
【实验步骤】 (1)界面设计 请参照图7-7所示的界面设计窗体。 (2)完善程序代码 (3)运行工程并保存文件 运行程序,观察程序运行结果,最后将窗体 文件保存为 F7-4.frm ,工程文件保存为 P74.vbp 。

实验指导书——S7-300编程示例

实验指导书——S7-300编程示例

S7-300 PLC的梯形图编程示例1 与、或、非、同或、异或与:只有当I0.0和I0.1都为1时,Q0.0才能为1。

或:只要I0.0和I0.1有一个为1,Q0.0为1。

非:当I0.0为1时,Q0.0为0。

同或:只有当I0.0和I0.1状态相同时,Q0.0才为1。

异或:只有当I0.0和I0.1状态不同时,Q0.0才为1。

2 启动和复位控制结构(自锁结构)I0.0接启动按钮,I0.1接复位(停止)按钮,灯接Q0.0构成自锁结构。

自锁结构也可以通过同时使用S指令和R指令来实现。

然而同时使用S指令和R指令时,存在一种隐患,请思考是什么隐患?为了避免这种隐患,可以使用SR或者RS触发器。

或者注意:此示例使用电动机启动与停止的控制作为例子,其实很多地方都可以使用到启动和复位控制结构,大家的思路要开阔,不要被例子所局限。

比如可以利用M区域的地址替代例子中的Q地址,实现在PLC内部某些位变量的锁存和复位。

3 自锁和互锁程序4 延时通断控制程序在PLC的实际应用中,延时通断通常可采用定时器(或计数器)来实现。

定时器的串联是用一个定时器启动另一个定时器,可以实现“长延时”控制。

定时器的并联可以使多个输出在不同的时刻接通,实现输出的顺序启动。

4.1 脉冲定时控制(SP定时器)SP定时器可以用定时线圈的形式实现:请结合指令帮助,体会SP定时器的工作方式。

4.2延时接通控制(SD定时器)SD定时器可以用定时线圈的形式实现:请结合指令帮助,体会SD定时器的工作方式。

也可以使用指令块的形式实现:4.3 延时断开控制(SF定时器)延时断开控制可以用定时线圈实现:请结合指令帮助,体会SD定时器的工作方式。

4.4 顺序延时接通控制顺序延时接通是指多个被控对象相隔一定的时间,有顺序地依次起动。

实现这种控制的程序很多,例如,利用多个定时器:或者利用计数器加系统的时钟存储器实现:其中M100.5是CPU时钟位,周期为1S,在硬件组态的CPU属性中设置,如下图所示:表:时钟存储器各位的周期及频率位 7 6 5 4 3 2 1 0 周期/s 2 1.6 1 0.8 0.5 0.4 0.2 0.1 频率/Hz0.5 0.625 1 1.25 2 2.5 5 10注意:①系统的时钟存储器中各位的频率是固定的,无法更改。

彩灯循环控制电路的设计与制作

彩灯循环控制电路的设计与制作

目录摘要 (2)第一章系统组成及工作原理 (3)1.1总体设计思路 (3)1.2基本原理 (3)1.3电路框图 (3)第二章循环发光器的系统组成 (4)2.1方案一 (4)2.2方案二 (6)2.3方案比较与选择 (8)第三章循环电路的总体设计 (9)3.1由74L S194及555定时器组成的功能图 (9)3.2由74L S138及74L S192组成的移位寄存电路 (9)第四章实验结果的调试及检测 (11)4.1调试使用的主要仪器 (11)4.2调试技巧的方法 (11)4.3调试中出现的故障、原因及排除方法 (11)第五章总结 (12)第六章附录 (12)附录一 (12)附录二 (12)附录三 (13)评分表 (14)摘要本次循环控制彩灯电路的制作主要采用74LS194 芯片接成扭环形结构的移位寄存器来实现,通过555定时电路组成多谢振荡电路。

整个电路主要由移位寄存器、控制电路、脉冲发生器构成8个彩灯的循环控制,并且可以组成多种花型。

本次主要为全亮全灭及左右移动的功能。

关键词:控制、循环、555定时电路彩灯循环控制电路的设计与制作第一章 系统组成及工作原理1.1 总体设计思路根据课程设计课题要求,要实现本系统,需要设计时钟脉冲产生电路,循环控制电路和彩灯左右移及全灭全亮功能输出电路。

时钟脉冲产生电路由555定时电路组成多谐振荡触发器产生连续始终脉冲,循环控制电路采用74LS194实现。

方案二中,主要是采用二进制译码器74LS138 及中规模集成电路74LS192实现彩灯的循环控制。

1.2 基本原理本次实验主要是通过两片双向移位寄存器74LS194来实现彩灯电路的循环控制,通过555定时电路来产生连续时钟脉冲进行信号的输入,由外围开关控制信号的移动方向,实现左移、右移及全灭全亮功能。

1.3 框图图1-1 设计框图第二章循环发光器的系统组成2.1 方案一:由74LS194 及555定时器组成循环发光器的系统(1)555定时电路产生时钟脉冲555 集成时基电路是一种数字、模拟混合型的中规模集成电路,可连接成多谐振荡电路,产生单位脉冲,用于触发计数器。

课程设计方案彩灯循环控制器电路图实验报告

课程设计方案彩灯循环控制器电路图实验报告

内蒙古农业大学课程设计课程名称电子技术综合设计与实训题目名称彩灯变换控制器设计学生学院机电工程学院专业班级电气工程及其自动化1班学号090511060学生姓名江谋伟指导教师曲辉2018年12月12日课程设计的内容设计任务及要求用一个LED数码管的每一段代表一组彩灯。

按数字循环显示3种序列:自然序列1,2,3,4,···奇数序列1,3,5,7偶数序列0,2,4,6,①具有显示,清零功能。

②数码管现实快慢连续调节<即计数时钟方波频率可调,0.5~2HZ)摘要这次的课程设计主要是用计数器来实现的,这个彩灯循环控制电路的实质就是要产生一系列有规律的数列,然后通过一个八段数码管显示出来。

这里使用的主要就是计数器,计数器在时序电路中应用的很广泛,它不仅可以用于对脉冲进行计数,还可用于定时,产生节拍脉冲以及其他时序信号。

运用计数器的不同的功能和不同的接发就可以实现不同的序列输出了。

而这次的内容还包括分电路图的整合,使这个彩灯循环显示器能够按照要求那个依次输出自然序列,奇数序列,偶数序列。

最后还有一个部分就是用7447译码器把74160输出的信号用数码管显示出来。

一前言让人眼花撩乱的广告彩灯随处可见,他将城市的夜晚装扮的美丽迷人,商家已无法离开广告彩灯这一非常有效的宣传武器。

利用价格低廉的普通集成芯片可实现很多种广告彩灯控制。

例如用单片机,8086,8088等高级芯片,实现彩灯的循环点亮等,本设计利用常用的555定时器及74ls系列器件设计8路彩灯电路。

二原理框图三芯片功能介绍1)555定时器 555定时器是8引脚集成器件,其工作原理为:输出电压只有两种状态:高电平低电平.在555定制器的复位端R 端为低电平的条件下,无论阈值输入端TH和触发输入端TB>Tc 取何值,输出端OUT输出低电平,且放电端口D与地接通。

当复位端R为高电平时,如果阈值电压TH>2Vcc/3,且触发电压TR>Vcc/3,输出端OUT输出低电平,且放电端口D与地接通;如果阈值嗲电压TH<Vcc/3,且触发电压TR>Vcc/3,输出端OUT和放电端D保持原状态不变:只要触发电压TR<Vcc/3时,输出端OUT输出高电平,且放电端口D与地段开。

单片机指示灯循环控制实验报告

单片机指示灯循环控制实验报告

嘉应学院物理与光信息科技学院单片机原理及应用实验学生实验报告实验项目:指示灯循环控制实验地点:工A310班级:姓名:座号:指导老师:实验时间:年月日一、实验目的掌握uVision3编译软件,掌握C51编程与调试方法。

二、实验原理实验原理图如图所示:图中中8只LED指示灯接于P0口,且都接有上拉电阻。

时钟电路、复位电路、片选电路与前面的实验电路相同。

在编程软件的配合下,要求实现如下功能:8只发光二极管做循环点亮控制,且亮灯顺序为D1,D2,D3,---D8,D7,---D1 ,编程原理为:首先使P0.0 1,其余端口0,这样可使D1灯亮,其余灯灭;软件延迟0.5s后,使P0口整体左移1位,得到P0.1 1,其余端口0,这样可使D2灯亮其余灯灭:照此思路P0整体左移7次,再右移7次,如此无限往复即可实现上述功能。

三、实验内容:(1)熟悉μVision3编程软件,了解软件结构与功能;(2)完成实验3的C51语言编程;(3)掌握在μVision3中进行C51程序开发方法。

四、实验步骤1、提前阅读与实验3相关的阅读材料;2、参考书本实验3,在ISIS中完成电路原理图的绘制:(1).启动ISIS模块从Windows的“开始”菜单中启动Proteus ISIS模块,可进入仿真件的主界面,如图所示可以看出,ISIS的编辑界面是标准的Windows软件风格,由标准工具栏、主菜单栏、绘图工具栏、仿真控制工具栏、对象选择窗口、原理图编辑窗口和预览窗口等组成。

(2).元件和电源的选取、摆放及属性编辑,总线与标签的画法等内容元件的选取:单击左侧绘图工具栏中的“元件模式”按観和对象选择按観“P”,弹出“PickD evices”元件选择窗口,如图:单击对象选择列表中的元件名称,预览窗口中出现的图形单击编辑窗口,元件以红色轮廓图形出现(选中状态),拖动鼠标使元件轮廓移动到所需位置,再次单击可固定摆放位置,同时也撤销选中状态(变为黑色线条图形)。

C语言程序设计实验指导书E4

C语言程序设计实验指导书E4

C语言程序设计实验指导书E4实验一 C程序环境认识――掌握在集成环境中编辑、编译、连接和运行C语言程序的方法(蓝色笔体内容可以不写在实验报告里,理解并掌握即可。

)一,实验目的:1,掌握TC的使用.2,理解C程序的结构.3,掌握C程序设计,调试,运行的步骤,方法.4,理解最简单的C程序设计方法.二,实验准备:1,计算机基本操作练习.2,TC软件使用预习.3,设计出习题1.5、习题1.6的程序.三,实验内容:1.VC6.0或TC程序运行环境;2.程序调试的全部过程;3.菜单的用法;4.常用功能键的用法。

四,实验要求:1.认真阅读和掌握和本实验相关的教材内容;2.认真阅读和掌握本章相关内容的程序,例1.1、例1.2、例1.3;3.上机运行程序;4.保存和打印出程序的运行结果,并结合程序进行分析;5.按照你对运行环境的操作需要,编写一简单C程序并运行,打印出文件清单和运行结果。

五,实验步骤:1,开机,启动TC.(1)开机.(2)进入TC目录.(3)启动TC.命令格式:TC [文件名[.扩展名]]说明:若缺省文件名,则直接启动.进入TC界面,并显示版本信息.此时按ESC键进入编辑状态. 若给定文件名,(缺省扩展名则默认为.C)则打开该文件(若不存在则新建该文件)进行编辑. 2,TC的使用(1)启动TC后,进入TC的界面.该界面分为四部分:菜单区,编辑区,信息区,提示行.A,菜单区:TC界面的最上面一行,是TC的主菜单.包括8项:File 文件操作Edit 编辑操作Run 运行Compile 编译Project 工程(项目)Option 选项Debug 调试Break/Watch 中断/监视每个菜单项下都包含有各项具体功能,用户可以通过选择,执行相应的功能.B,编辑区.TC界面的主要部分,由标题Edit,状态行和文本编辑区域组成.状态行中指示光标所在行,列.现在是否处于插入状态(若有Insert标志表示处于插入状态,没有则处于改写状态)以及正在编辑的文件名.C,信息区.由标题message和信息显示区域组成,用来显示编译文件后的错误.单步执行时要监测变量的值等信息.D,提示行.TC界面的最下面一行,用于提示用户一些最常用的操作: F1――帮助,F5――窗口的缩放,F6 ――窗口的切换,F8――单步执行程序,F9――编译连接,F10――激活主菜单.(2)菜单的操作A,激活菜单 F10或AltB,移动光条方向键C,选择某项回车D,放弃选择 ESCE,主菜单项的直接选中Alt―高亮度的字符如:要选中File 按Alt―FF,子菜单的直接选中选中主菜单项后,直接按高亮度的字母如:选中File后,要选中Save 按"s"Ⅶ.部分快捷键(直接按该键就会击活菜单项具体的功能) 除前面提示行中列出的以外,常用的还有: F2――保存F3――装入文件F4――从坐标所在位置单步执行F7――单步跟踪Alt-F1:查看最近一次的帮助信息Alt-F3:选择文件装入Alt-F5:查看运行结果Alt-X:退出TCCtrl-F1:查看与光标所在位置内容相关的帮助信息Ctrl-F2:取消单步执行Ctrl-F8:设置断点Ctrl-F9:编译,连接并运行(3)文件操作A,新建文件可采用以下方法:(a)在启动TC时不带文件名,则系统默认为NONAME.C,存盘时再输入文件名.(b)启动TC时带新文件名.(c)在TC环境下选择File下的New.B,打开文件可采用以下方法:(a)启动TC时带文件名 .(b)在TC环境下选择File下的Load,再输入文件名.(c)以通过Load打开过的文件再次打开,可选择File下的Pick,进行选择.C,保存文件可采用以下方法:(a)选择File下的Save,存盘.若原文件名是NONAME.C,则存盘时还要输入文件名.(b)选择File下的Write to,输入文件名,则将文件换名存盘.(4)编辑操作TC采用的是全屏幕编辑器,即凡输入过内容的地方都可将光标移到该处直接修改.A,移动光标:左移一个字符→右移一个字符←上移一行↑下移一行↓移动到行首 Home移动到行末 End向下翻页 PageDown向上翻页 PageUp移动到窗口左上角 Ctrl-Home移动到窗口右上角 Ctrl-End移动到文件头 Ctrl-PageUp移动到文件尾 Ctrl-PageDownB,删除内容:删除光标前的字符 Backspace(退格)删除光标位置上的字符 Delete(del)删除一行 Ctrl-YC,块操作:定义块首 Ctrl-KB 定义块尾 Ctrl-KK块复制 Ctrl-KC 块移动 Ctrl-KV块删除 Ctrl-KY 块取消 Ctrl-KH(5)C程序的调试,运行A,输入程序B,编译,运行形成可执行文件选择Compile下的Compile to OBJ 编译生成目标文件Compile/link EXE file 将目标文件连接成可执行文件Compile/make EXE file 编译直接生成可执行文件(程序输入后,用快捷键F9即表示make exe file,完成编译和连接). C,执行选择Run下的Run(Ctrl-F9).D,查看结果运行按Alt-F5,查看后按任意键返回.(6)退出TC选择File下的Quit或直接按Alt-X.3.简单的C程序设计,调试,运行.六,实验报告:1,源程序.2,调试过程中出现的错误及修改情况.3,实验结果.4,实验的感受及体会.实验二顺序结构程序及基本I/O(蓝色笔体内容可以不写在实验报告里,理解并掌握即可。

实验报告循环彩灯控制器

实验报告循环彩灯控制器

湖南科技大学信息与电气工程学院《VHDL语言》课程设计报告题目: VHDL语言课程设计专业:班级:姓名:学号:课程设计任务书一、课程设计的目的:1,通过本次课程设计,熟练掌握MAX-PLUS2的应用,操作,并对VHDL语言的编程做一实践检验,编出程序,并进行仿真,并根据所得仿真图形分析和推断并改进所涉及的程序,让程序在现实生活中得以更贴近的应用。

2,本次操作的命题一是:循环彩灯控制器,本设计的要求是:设计一个循环彩灯控制器,该控制器控制红,绿,黄三个发光管循环点亮。

要求红发光管亮3秒,绿发光管亮2秒,黄发光管亮1秒。

3,本次操作的命题二是:数字显示的秒表,本设计的要求是:设计一块用数码管显示的秒表,能够准确的计时并显示。

最大计时为59秒,最小精确到0.1秒。

二、设计方案的论证:命题一循环彩灯控制器的方案一:在本题中要求控制器可以控制红,绿,黄三个发光管循环点亮,并且要求发光的时间不一样,这样,本质设计思想是循环累加,即时钟信号高电平开始,m值开始累加,CASE m ISWHEN "001"=>dout<="100";WHEN "010"=>dout<="100";WHEN "011"=>dout<="100";WHEN "100"=>dout<="010";WHEN "101"=>dout<="010";WHEN "110"=>dout<="001";WHEN OTHERS=>dout<="111";END CASE;前三个值都将赋值给dout1,也就是红灯发光的三秒,然后两个赋值给绿灯,最后一秒赋值给黄灯。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三循环结构程序设计实验课程名:高级语言程序设计(C)专业班级:电气工程及其自动化学号:201140220209 姓名:郑朝栋实验时间:2012.4.19 实验地点:K4—202 指导教师:吴建设一、实验目的1. 熟练掌握用while语句、do while语句和for语句实现循环的方法。

2. 掌握在程序设计中用循的方法实现一些常用算法。

并进一步学习调试程序的方法。

3. 掌握一维数组和二维数组的定义、赋值和输入输出的方法。

4. 掌握字符数组和字符串函数的使用。

5. 掌握与数组有关的算法。

二、实验内容和步骤1.程序求和:1+…+100,填空,实现该功能。

#include <stdio.h>void main(){int s,i;s=0; /* 第5行*/for( )s=s+i;printf("1+...+100=%d\n",s);}思考:(1)第5行能不能去掉?其作用是什么?(2)不用for语句,用while语句改写该程序,实现同样的功能。

(1)#include <stdio.h>void main(){int s,i;s=0; /* 第5行*/for(i=1;i<=100;i++ )s=s+i;printf("1+...+100=%d\n",s);printf("09 郑朝栋实验三第一题\n");}第5行不能去掉,其作用是给S赋初值。

运行结果:(2)#include <stdio.h>void main(){int s,i;s=0;i=1; /* 第5行*/while(i<=100 ){s=s+i;i++;}printf("1+...+100=%d\n",s);printf("09 郑朝栋实验三第一题\n");}运行结果:2.比较下列两个程序。

(验证)/* 第一个程序*/#include <stdio.h>void main(){ int i,n,sum=0;scanf("%d",&i);n=i;while(i<=10){ sum+=i;i++;}printf("%d+...+10=%d",n,sum);}/* 第二个程序*/#include <stdio.h>void main(){ int i,n,sum=0;scanf("%d",&i);n=i;do{ sum+=i;i++;} while(i<=10);printf("%d+...+10=%d",n,sum);}分别运行这两题,若输入7,这两个程序的结果分别是多少?若输入12,这两个程序的结果又分别是多少?比较为什么会有这样的区别?/* 第一个程序*/#include <stdio.h>void main(){ int i,n,sum=0;scanf("%d",&i);n=i;while(i<=10){ sum+=i;i++;}printf("%d+...+10=%d\n",n,sum); printf("09 郑朝栋实验三第二题\n"); }运行结果:/* 第二个程序*/#include <stdio.h>void main(){ int i,n,sum=0;scanf("%d",&i);n=i;do{ sum+=i;i++;} while(i<=10);printf("%d+...+10=%d\n",n,sum); printf("09 郑朝栋实验三第二题\n"); }运行结果:区别:程序一是当循环 特点是先判断条件表达时,后执行循环体。

程序二是直到型循环 特点是先执行循环体,后判断循环条件是否成立。

3. 预习下面程序,若输入12345,分析输出结果是多少?上机验证。

#include <stdio.h> void main( ){ long data;scanf("%ld",&data);while(data){ printf("%ld,",data%10); data=data/10; }}分析输出结果:5,4,3,2,1 #include <stdio.h> void main( ){ long data;scanf("%ld",&data); while(data){ printf("%ld,",data%10); data=data/10;}printf("\n");printf("09 郑朝栋 实验三 第三题\n"); }运行结果:4. 实现求Fibonacci 数列的前n 个数。

(验证、调试) ⎩⎨⎧≥+===--321121n F F n n F n n n 或运行程序,写出运行结果;采用单步跟踪技术运行该程序,观察一下变量的变化。

#include <stdio.h>void main( ){ long int f1, f2;int i,n;printf("Input n:"); /* 第5行*/scanf("%d",&n); /* 第6行*/f1=f2=1;for(i=1;i<n;i++){ printf("%ld\t%ld\n",f1,f2); /* 第9行*/f1=f1+f2;f2=f2+f1;}}思考:(1)f1、f2这两个变量为什么定义为long int 型?(2)第5行和第6行的相互作用,你会用这种方式来实现输入吗?(3)注意第9行的输出“%ld”中的“1”是字母“L”的小写形式,不是数字1。

#include <stdio.h>void main( ){ long int f1, f2;int i,n;printf("Input n:"); /* 第5行*/scanf("%d",&n); /* 第6行*/f1=f2=1;for(i=1;i<n;i++){ printf("%ld\t%ld\n",f1,f2); /* 第9行*/f1=f1+f2;f2=f2+f1;}printf("09 郑朝栋实验三第四题\n");}运行结果:#include <stdio.h>void main( ){ long int f1, f2;int i,n;printf("Input n:"); /* 第5行*/scanf("%d",&n); /* 第6行*/f1=f2=1;for(i=1;i<n;i++){ printf("%ld\t%ld\n",f1,f2); /* 第9行*/f1=f1+f2;f2=f2+f1;}printf("09 郑朝栋实验三第四题\n");}运行结果:5.预习下面程序,写出预习结果并上机验证。

(验证)#include <stdio.h>void main( ){ int i,j,x;for(i=0,x=0;i<2;i++){ x++;for(j=0;j<3;j++){ if(j%2) continue;x++;}x++;}printf("x=%d\n", x);}思考:用一句话概括if(j%2)语句的作用。

#include <stdio.h>void main( ){ int i,j,x;for(i=0,x=0;i<2;i++){ x++;for(j=0;j<3;j++){ if(j%2) continue;x++;}x++;}printf("x=%d\n", x);printf("09 郑朝栋实验三第五题\n");}运行结果:6.输入一批考试分数,用 1作为结束标志,若输入大于100分,则提示重新输入,然后计算最高分、最低分与平均分。

请调试、检查程序中的错误,并改正之。

#include <stdio.h>void main( ){ int mark;int n=0 ; sum=0 ;int max=100 ; min=0 ;for ( ; ; ) ;{ scanf("%d", &mark);if ( mark > 100 ){ printf(" Mark > 100 , Please reinput \n ");break;}if ( mark=-1)break;n ++ ;sum=sum + mark ;if( mark > max )max = mark ;if( mark < min )min = mark ;}sum=sum/ n ;printf("max =%d , min = %d, aver = %d \n", max , min , sum);}提示:该程序有很多错误,下面给出某些错误的说明。

当求一批数中的最大值时,若已知一批数的最小值,则将这个最小值作为最大值的初始值;当求最小值时,情况相反,即若已知这批数的最大值,则将这个最大值作为最小值的初始值。

本例中求一批分数的最高分,则最高分的初始值应该设为0,然后在程序循环中逐渐地升高,直至求出最高分;本例中还要求这批分数的最低分,则最低分的初始值设为100,然后在程序循环中逐渐地降低,直至求出最小值。

实现“若输入大于100分,则提示重新输入”功能的语句有错;实现“用 1作为结束标志”功能的语句有错。

思考:(1)“一批数据”是几个数据?输入的数据如何结束?程序中哪一行是实现结束这个要求的,写出该语句。

(2)程序中哪个语句是实现”若输入大于100分,则提示重新输入”这个要求的,写出该语句。

(3)写出您的测试数据及运行结果,注意输入的数据序列中最后一个应是-1。

#include <stdio.h>void main( ){ int mark;int n=0 , sum=0 ;int max=0 , min=100 ;for ( ; ; ){ scanf("%d", &mark);if ( mark > 100 ){ printf(" Mark > 100 , Please reinput \n ");continue;}if ( mark==-1)break;n ++ ;sum=sum + mark ;if( mark > max )max = mark ;if( mark < min )min = mark ;}sum=sum/ n ;printf("max =%d , min = %d, aver = %d \n", max , min , sum);printf("09 郑朝栋实验三第六题\n");}运行结果:7.编程:输入20个1~90的整数,分类统计1~30、31~60、61~90的数各有多少个?编程点拨:(1)count1计1~30的个数,count2计31~60的个数,count3计61~90的个数。

相关文档
最新文档