张强 学院
主 讲: 张 强 单 位: 机 械 学 院
绪言 绪言 本课程的目的: 1.掌握计算机程序设计的基础方法; (结构化程序设计方法,算法分析等,能解决一般的工 程实际问题) 2.掌握C语言的主要概念和规定; (数据类型、顺序结构、选择结构、循环结构、数组、 函数、编译预处理、指针、结构体与共用体,文件操作等) 3.掌握程序设计中的常用算法; 交换,排序,求极值等 4.掌握C程序上机调试的基本方法和技巧 学习方法: 理解主要内容;记住主要规定;勤于上机操作;独立完成 作业;多与老师交流
绪言 ──(结构化程序设计方法 ,算法分析等,能解决一般的工 程实际问题) ──(数据类型、顺序结构、选择结构、循环结构、数组、 函数、 编译预处理、指针、结构体与共用体,文件操作等) ; ──交换,排序,求极值等 理解主要内容;记住主要规定;勤于上机操作;独立完成 作业;多与老师交流
第一章 计算机系统组成 运算器 中央处理器控制器 CPU 寄存器 主机 内部存储器内存)RAM 硬件系统 ROM 辅助存储器(外存):硬,软盘等 计算机系统 外部设备输入设备(键盘,鼠标等) 输出设备(显示器,打印机等) 操作系统( window2000 软件系统系统软件程序设计语言(C,Basi)等 语言处理程序 维护软件(KV3000 应用软件(word,Excl等)
输入设备(键盘, 鼠标等) 输出设备(显示器, 打印机等) 运算器 控制器 寄存器 中央处理器 CPU 内部存储器(内存) RAM ROM 主机 外部设备 硬件系统 系统软件 操作系统 (window2000) 语言处理程序 维护软件(KV3000) 应用软件 (word, Excel等) 软件系统 等 辅助存储器(外存): 硬, 软盘等 第一章
第一章 §1.1计算机解决实际问题的一般步骤 例一物体,质量m,受外力F在平面上作平动摩擦系数f,空 气阻力cv(c—阻尼系数,v一速度),令初速=0,求t时刻物 体的速度。 解:变加速问题 N C V 1.建立模型 dv F-fN-cv X mg y N mg 得: m+c+mgf-F=0阶常微分方程
第一章 一物体,质量m,受外力F在平面上作平动,摩擦系数f,空 气阻力 cv(c—阻尼系数,v —速度),令初速=0,求t时刻物 体的速度。 mg F N f N c v y x 解:变加速问题 x : y : m F fN cv dt dv N mg 得: m cv mgf F 0 dt dv 一阶常微分方程 V
第一章 2.算法分析 计算机求解问题的关键 推算过程→数值计算过程 算法:解决一个问题所采取的计算步骤 取微小时刻At,初速v,未速vt,并认为Δt内速度变化不大,故 在Δt内视为常量,取为v、vt的平均值。 vt-10 vt+10 m+c( o)+mgf-F=0 △t 2 得 △(F-mgf)+v0m-C△) m+-c△t 将新求出的vt作为下一个Δt的v0,求下一个vt,…,,直至 ∑At=t为止,求出最末的vt
第一章 推算过程→数值计算过程 算法: 解决一个问题所采取的计算步骤 取微小时刻Δt, 初速v0, 未速vt, 并认为Δt内速度变化不大, 故 v在Δt内视为常量,取为v0 、 vt 的平均值。 ) 0 2 0 ( 0 mgf F vt v m c t vt v m c t t F mgf v m c t vt 2 1 ) 2 1 ( ) 0( 将新求出的vt作为下一个Δt的v0, 求下一个vt,…… , 直至 ∑ Δt=t 为止,求出最末的vt 计算机求解问题的关键 则 得
第一章 3.程序流程 开始 输入:m,fc,t2,tb 注:tt△t t=0,v0=0,g=98 t2终止时刻 fb作用力F t=t+tt vt(t(t-m*g*f)+v0*(m-0.5*c*t)/(m+0.5*c*t) V0←vt Y 判t t<t2? 输出:tvt end
第一章 开始 t=0,v0=0,g=9.8 输入:m, f,c,t2,tt,fb t=t+tt vt=(tt*(fb-m*g*f)+v0*(m-0.5*c*tt))/(m+0.5*c*tt) v0←vt 判t<t2? 输出: t,vt end Y N 注: tt—Δt t2—终止时刻 fb—作用力F
第一章 4.编程 Basic语言 10 print“输入数据:m,c,f,,tb”本语名起提示作 用 20 input m,c,f, t2, fb, tt 30t0:v0=0:g98 40 t=t+tt 50vt(tbm*g*+V0(m-0.5ct)/(m+0.5c*t 60 v0=vt 70 if(t<t2) then 40 80 print“结果为:t,vt=”;vt 90 end
第一章 10 print “输入数据:m,c,f,t2,fb,tt” ‘本语名起提示作 用 20 input m,c,f,t2, fb,tt 30 t=0 : v0=0: g=9.8 40 t=t+tt 50 vt=(tt*(fb-m*g*f)+v0*(m-0.5*c*tt))/(m+0.5*c*tt) 60 v0=vt 70 if(t<t2) then 40 80 print “结果为: t,vt=”;t,vt 90 end
第一章 C语言: mainO float m, c, f, t, fb, vO,vt, tt, g, t2; prin(“输入数据:m,c,f,b2,tt”); scanf(oof, %, %f, %f, %f,%f,, &m, &c, &f, &fb, &t2, &tt); t=0.0;v0=0.0;g=9.8: doi tt+tt; vt=(tt*(fb-m*g*f+v0*(m-0.5*c*tt))/(m+0.5*c*tt) v0=Vt; 5 while(tt2) prin(“结果为:t%,vt=%fn”,t,v
第一章 main() {float m,c,f,t,fb,v0,vt,tt ,g,t2; printf(“输入数据: m,c,f,fb,t2,tt\n”); scanf(“%f,%f,%f,%f,%f,%f” ,&m,&c,&f,&fb,&t2,&tt); t=0.0; v0=0.0; g=9.8; do { t=t+tt; vt=(tt*(fb-m*g*f)+v0*(m-0.5*c*tt))/(m+0.5*c*tt); v0=vt;} while(t<t2); printf(“结果为: t=%f, vt=%f\n” ,t,vt); }
第一章 ☆☆总结: 1.明确所解决的问题 已知?输入?输出?人机对话? 2分析问题 数学物理知识 构造模型◆数学模型 3.算法分析 确定变量及数据类型 确定算法选择已有的 《数值分析》 自己设计 《计算方法》 4.程序流程 《C程序设计》 5.编程,调试,修改 上机操作 6.运行、输入数据、得出结果 7.整理资料,写出报告
已知? 输入?输出?人机对话? 构造模型 数学模型 确定变量及数据类型 确定算法 选择已有的 自己设计 第一章 数学,物理知识 《数值分析》 《计算方法》 《C程序设计》 上机操作
第一章 812程序设计语言及其发展 一.程序设计语言的发展 1.三个阶段 (二进制)面向机器的语言,低级语言, 可实现所有功能,但编程、调试 汇编语言(助记词)不便可移植性差,执行速度快 应用:系统软件 高级语言采用人们便于理解的符号和方法来编写程序 如: Fortron Basic 特点:容易理解,编程、调试容易,但功 能有限。属于面向过程的语言。 高级语言优点 低级语言 C语言
第一章 (二进制) , 可实现所有功能, 但编程、调试 (助记词) 不便,可移植性差,执行速度快 应用:系统软件 采用人们便于理解的符号和方法来编写程序 如:Fortron Basic 特点:容易理解,编程、调试容 易,但功 能有限。属于 高级语言 低级语言 优点