热门标签 | 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



推荐阅读
  • Hadoop MapReduce 实战案例:手机流量使用统计分析
    本文通过一个具体的Hadoop MapReduce案例,详细介绍了如何利用MapReduce框架来统计和分析手机用户的流量使用情况,包括上行和下行流量的计算以及总流量的汇总。 ... [详细]
  • 本文档详细介绍了Excel VBA编程中的基本语法,包括循环结构、条件判断、数据处理以及用户界面设计等内容,旨在帮助初学者快速掌握VBA编程技巧。 ... [详细]
  • iOS 小组件开发指南
    本文详细介绍了iOS小部件(Widget)的开发流程,从环境搭建、证书配置到业务逻辑实现,提供了一系列实用的技术指导与代码示例。 ... [详细]
  • 本文档旨在提供C语言的基础知识概述,涵盖常量、变量、数据类型、控制结构及函数定义等内容。特别强调了常量的不同类型及其在程序中的应用,以及如何正确声明和使用函数。 ... [详细]
  • 本文介绍了一种在 Android 开发中动态修改 strings.xml 文件中字符串值的有效方法。通过使用占位符,开发者可以在运行时根据需要填充具体的值,从而提高应用的灵活性和可维护性。 ... [详细]
  • 本文探讨了如何选择一个合适的序列化版本ID(serialVersionUID),包括使用生成器还是简单的整数,以及在不同情况下应如何处理序列化版本ID。 ... [详细]
  • 本文探讨了如何使用Scrapy框架构建高效的数据采集系统,以及如何通过异步处理技术提升数据存储的效率。同时,文章还介绍了针对不同网站采用的不同采集策略。 ... [详细]
  • Gradle 是 Android Studio 中默认的构建工具,了解其基本配置对于开发效率的提升至关重要。本文将详细介绍如何在 Gradle 中定义和使用共享变量,以确保项目的一致性和可维护性。 ... [详细]
  • 深入解析C语言中的关键字及其分类
    本文将全面介绍C语言中的关键字,并按照功能将其分为数据类型关键字、控制结构关键字、存储类别关键字和其他关键字四大类,旨在帮助读者更好地理解和运用这些基本元素。C语言中共有32个关键字。 ... [详细]
  • 构建Python自助式数据查询系统
    在现代数据密集型环境中,业务团队频繁需要从数据库中提取特定信息。为了提高效率并减少IT部门的工作负担,本文探讨了一种利用Python语言实现的自助数据查询工具的设计与实现。 ... [详细]
  • UVa 11683: 激光雕刻技术解析
    自1958年发明以来,激光技术已在众多领域得到广泛应用,包括电子设备、医疗手术工具、武器等。本文将探讨如何使用激光技术进行材料雕刻,并通过编程解决一个具体的激光雕刻问题。 ... [详细]
  • iOS如何实现手势
    这篇文章主要为大家展示了“iOS如何实现手势”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“iOS ... [详细]
  • Excel技巧:单元格中显示公式而非结果的解决方法
    本文探讨了在Excel中如何通过简单的方法解决单元格显示公式而非计算结果的问题,包括使用快捷键和调整单元格格式两种方法。 ... [详细]
  • 一、使用Microsoft.Office.Interop.Excel.DLL需要安装Office代码如下:2publicstaticboolExportExcel(S ... [详细]
  • Android 中的布局方式之线性布局
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
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社区 版权所有