热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

c语言模拟正弦波,基于C语言的课程设计正弦波的模拟.docx

C语言程序设计报告《简谐振动实验的模拟》课程设计报告题目简谐振动实验的模拟学号姓名XX年级专业2015级电子信息工程指导教师仝完成日期2016年6月12日安徽师范大学物理与电子信息

C语言程序设计报告

《简谐振动实验的模拟》

课程设计报告

题目 简谐振动实验的模拟

学号姓名XX

年级专业2015级电子信息工程

指导教师仝

完成日期 2016 年 6 月 12日

安徽师范大学物理与电子信息学院

College of Physics and Electronic Information, Anhui Normal University

一、问题描述

二、基本要求

三、系统分析和过程

四、流程图

五、源程序代码

六、小结及收获体会

七、评定意见

:问题描述

本程序设计是一个将物理问题与C语言程序设计结合的程序设计 问题。能够实现用用C语言编程让计算机模拟简谐振动的实验,可 以改变振动函数的各参数,绘出不同振幅、频率和相位的简谐振动图 形。以及完成两简谐振动的合成。

二:基本要求

1)能够实现简谐振动的模拟;

2)简谐振动的振幅、频率以及和位由键盘输入;

3)能够实现动画效果。

三、系统分析和过程

简谐振动的函数是y=A*cos(w*x+c),是一条余弦函数。

振幅、频率和相位由键盘输入,最重要的是要使用到画图函数, 并且实现动画效果。整个程序包括头文件,函数及变量声明,main 主函数,菜单页面函数,画图函数,输入处理函数和图形初始化两数。 先用一个开始页面的函数,说明该程序的基本功能, 再进入菜单页面,从屮可以选择操作(输入处理函数选项、画图选项、 退出选项),到其他函数。在输入处理函数中输入振幅、频率、相位, 在画图函数中进行画图,能够实现动画效果,退出选项退出运行。

难点是画图函数中画线,画图框,和实现动态效果,要运用到专 门的函数,要了解他们的使用方法,作用,还要用到循环,要求能够 在屏幕屮显示出同方向传播的两列简谐波和它们的合成波,因此实现 此功能必须引用图形函数,和其中很多功能的应用。

在屏幕中我们要实现三列波动态的演示效果,并能够在动态图 形中观察三波的关系。因此在这里我们要引用时间函数来实现此

功能。

本实验中我们调用了以下库函数:

ftinclude

ttinclude

#include

ttinclude

ttinclude

ftinclude〈

ftinclude

〈time. h>

为实现功能写了以下2个函数:

void quxian();

void quxian();

/*图形绘制界面*/

void zuobiao();

void zuobiao();

/*坐标轴绘制*/

四、流程图

程序开始

进入菜单页而

用丿'"输入A, w, c

进入图形模式,绘 制图形

v

退出图形模式

退出程序

五:程序清单

#include

#include

#include

#include

#include

#define PI 3.14

void quxian(float A,float w, fl oat c)

{

float t,r;

for(t&#61;0;t<&#61;640;t&#43;&#61;0.005)

{

r&#61;255.0?A*cos(w*t&#43;c/l 80.0*PI);

putpixel(t&#43; 100,r,4)&#xff1b;

/*涯指定位置画一像索。void far putpixel (int x, int y, int pixelcolor)&#xff1b; 其中(x,y)是坐标&#xff0c;pixelcolor是像素禹颜色*/

}

}

void zuobiao(float h)

{

line(100,h,100,h&#43;140);/*画 y 轴*/

line(0,h&#43;70,640,h&#43;70);/*画 x 轴*/

outtextxy(105,h&#43;80,n0wn);

outtextxy(620,h&#43;80,"tn);

oimextxy(80,40「Tl“)&#xff1b; /*用于在指定位置上显示一字符串*/ line(640,h&#43;70,620,h&#43;65); /*在指定两点I田i线&#xff0c;为x轴箭头*/ line(640,h&#43;70,620,h&#43;75);

line(100,h-5,105,h&#43;15); /*imi y 轴箭头*/ line(100,h-5,95,h&#43;15);

}

void main()

{

float A,w,c;

int gdriver,gmode;

gdrivei?二 DETECT;

initgraph(&gdriver,&gmode,"C:\\TC20\\BGI”)&#xff1b; cleardevice();

outtextxy(0,5,"please input A,w,c”)&#xff1b;

gotoxy(45,l



推荐阅读
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 本文介绍了一个题目的解法,通过二分答案来解决问题,但困难在于如何进行检查。文章提供了一种逃逸方式,通过移动最慢的宿管来锁门时跑到更居中的位置,从而使所有合格的寝室都居中。文章还提到可以分开判断两边的情况,并使用前缀和的方式来求出在任意时刻能够到达宿管即将锁门的寝室的人数。最后,文章提到可以改成O(n)的直接枚举来解决问题。 ... [详细]
  • 3.223.28周学习总结中的贪心作业收获及困惑
    本文是对3.223.28周学习总结中的贪心作业进行总结,作者在解题过程中参考了他人的代码,但前提是要先理解题目并有解题思路。作者分享了自己在贪心作业中的收获,同时提到了一道让他困惑的题目,即input details部分引发的疑惑。 ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 本文介绍了一个程序,可以输出1000内能被3整除且个位数为6的所有整数。程序使用了循环和条件判断语句来筛选符合条件的整数,并将其输出。 ... [详细]
  • 本文介绍了UVALive6575题目Odd and Even Zeroes的解法,使用了数位dp和找规律的方法。阶乘的定义和性质被介绍,并给出了一些例子。其中,部分阶乘的尾零个数为奇数,部分为偶数。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • Linux环境变量函数getenv、putenv、setenv和unsetenv详解
    本文详细解释了Linux中的环境变量函数getenv、putenv、setenv和unsetenv的用法和功能。通过使用这些函数,可以获取、设置和删除环境变量的值。同时给出了相应的函数原型、参数说明和返回值。通过示例代码演示了如何使用getenv函数获取环境变量的值,并打印出来。 ... [详细]
  • 本文介绍了PE文件结构中的导出表的解析方法,包括获取区段头表、遍历查找所在的区段等步骤。通过该方法可以准确地解析PE文件中的导出表信息。 ... [详细]
  • C++中的三角函数计算及其应用
    本文介绍了C++中的三角函数的计算方法和应用,包括计算余弦、正弦、正切值以及反三角函数求对应的弧度制角度的示例代码。代码中使用了C++的数学库和命名空间,通过赋值和输出语句实现了三角函数的计算和结果显示。通过学习本文,读者可以了解到C++中三角函数的基本用法和应用场景。 ... [详细]
author-avatar
倪思慧1888
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有