一、观看视频
【01】常用数学库函数【02】两点之间的距离【03】海伦公式
【04】一元二次方程的两个实数根
二、研读学生讲义
【学生讲义】【01】常用数学库函数【学生讲义】【02】两点之间的距离【学生讲义】【03】海伦公式
【学生讲义】【04】一元二次方程的两个实数根
三、练习题(不清楚回头查看有关视频或讲义)
【01】C++常用数学库的名称是“math”、“cppmath”还是“cmath”?
【02】下面是C++常用数学库函数的名称、功能、格式和例子,请把它们的编号关联起来:
函数名称:
①平方根值函数 ②指数函数 ③自然指数函数 ④向下取整 ⑤自然对数函数 ⑥绝对值函数 ⑦向上取整
功能说明:
①求一个数x的绝对值 ②求不大于实数x的最大整数 ③求不小于实数x的最小整数 ④计算x的y次方,结果为双精度实数 ⑤求实数x的平方根 ⑥求实数x的自然对数 ⑦求实数x的自然指数
格式和例子:
①exp(x) exp(1)=2.71828
②pow(x, y) pow(2, 3)=8
③sqrt(x) sqrt(25)=5
④log(x) log(10)=2.30259
⑤ceil(x) ceil(3.14)=4
⑥abs(x) abs(-5)=5
⑦floor(x) floor(3.14)=3
【03】请写出下面程序的运行结果然后运行程序核对:
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
#include<iostream>#include<cmath>using namespace std;//数学库函数 int main(){ cout << abs(1-100) << endl; cout << floor(-3.14) << endl; cout << ceil(-3.99) << endl; cout << pow(2, 10) << endl; cout << sqrt(169) << endl; cout << log(1) << endl; cout << exp(0) << endl; return 0;}
【04】已知直角坐标系中两点(39,22)和(11,5),下面计算它们的距离的程序正确吗?这个程序能否推广到计算平面上任意两点(含非整点)的距离?
·
·
·
·
·
·
·
·
·
·
·
#include<iostream>#include<cmath>using namespace std;//两点之间距离 int main(){ int x1=39, y1=22, x2=11, y2=5; int d2 = pow(x1-x2,2) + pow(y1-y2, 2); cout << sqrt(d2) << endl; return 0;}
【05】下面用海伦公式计算三角形面积(假设输入的数据都可以构成一个三角形)的程序有缺陷(bug),请把它找出来并修正(debug)。
·
·
·
·
·
·
·
·
·
·
·
·
·
#include<iostream>#include<cmath>using namespace std;//海伦公式计算三角形面积 int main(){ double a, b, c; cin >> a >> b >> c; double p = (a+b+c)/2; double s = sqrt(p*(p-a)*(p-b)*(p-c)); cout << s << endl; return 0;}
【06】编程解方程2x²+x-6=0。
【07】OpenJudge练习
【OpenJudge-1.3-14】大象喝水
【OpenJudge-1.3-15】苹果和虫子
【OpenJudge-1.3-16】计算线段长度
【OpenJudge-1.3-17】计算三角形面积
【OpenJudge-1.3-20】计算2的幂