1 C语言在高中数学学习中的意义
C 语言是计算机编程的入门语言, 它具有功能强大、语法简单等特点,特别适合初学者学习和使用。 其运算符丰富、数据类型多样,可用于高中数学的辅助学习中,以提高学习效率、激发学习兴趣[1]. 相比于初中数学,高中数学的知识量剧增,题型变换大,数学描述语言更加抽象,解题思路也更加灵活多变,仅靠大量刷题是远远不够的。
针对当下高中学生对信息技术兴趣浓厚的特点,考虑将 C 语言编程和高中数学学习结合起来, 以开拓学生思维,达到真正对高中数学的知识点融会贯通,从而积极应对高考的目的。
C 语言有三种基本的控制结构[2]:顺 序结构 、选择结构和循环结构。 适合于解高中数学中的多元考虑、重复计算等方面的问题。通过反复多次执行 C 语言程序,并观察其输出, 可以测试学生对具体问题是否考虑周全,是否有遗漏的情况,从而更有利于学生对相关知识的把握和理解。 只有对一个知识点真正了然于心,才能写出容错性好的 C 语言程序,输出正确的结果。从这个角度来看,相当于借助 C 语言的思维,去思考高中数学问题,对于帮助学生归纳、总结、梳理相关知识点是大有裨益的。
本文以 C 语言在解三角形问题及数列问题中的应用[3]为例,探讨了 C 语言在高中数学学习中的应用。 通过 C 语言与高中数学学习相结合, 以训练学生思维的开放性、灵活性,考虑问题的严密性和逻辑性,并为未来的学习打下良好的基础。
2 C语言在解三角形问题中的应用
三角形 ABC 的三个角A、B、C 和它们的对边 a,b,c称为三角形的元素[3],已知三角形的几个元素求其他元素的过程叫做解三角形。 利用正弦定理解三角形是高考常见题型,一般有两种类型的问题:(1)已知两角及一边,求其余两边;(2)已知两边及其中一边的对角,求其余两角及对边。
解此类问题的关键是分情况讨论,可能的结果有三种:无解、一个解、两个解。 容易出错的地方就在于(1)用正弦定理求出的结果,不满足三角形的三角和为 180度的情况;(2)忽视钝角的情况;(3)求出某角的正弦值大于 1 的情况。 该类问题可用 C 语言的选择结构来完成和求解, 通过计算机来帮助我们验证是否充分考虑了各种可能的情况。
2.1 源程序代码
#include<stdio.h>
#include<math.h>
#define pi 3.1415926
void main()
{
float a,b,A;
float B;
char ch;
printf(“\n\t1 继续 \n”);
printf(“\t2 退出 \n”);
ch=getchar();
while(ch=='1‘)
{
printf(“请输入三角形的边 a、b,角 A:”);
scanf(“%f%f%f”,&a,&b,&A);
if(b/a*sin(A/180*pi)>1)
printf(“此三角形无解! \n”);
else{
if(a<b)
if(A>=90)
printf(“此三角形无解! \n”);
else
{
B=asin(b/a*sin(A/180*pi));
printf(“ 有 两个解 , 角 B =% .1f° 或 % .1f° \n”,B/pi*180,180-B/pi*180);
}
if(a>=b){
B=asin(b/a*sin(A/180*pi));printf(“有唯一解,角 B=为%.1f°\n”,B/pi*180);
}
}
printf(“\n\t1 继续 \n”);
printf(“\t2 退出 \n”);
getchar();
ch=getchar();
}
}
2.2 运行结果
以上程序在 VC6.0 环境下编译通过后生成可执行文件,下面是以参考文献[3]中的例题为例执行程序后的运行结果,如图 1 所示:
3 C语言在等差数列求解中的应用
等差数列也是高频考点之一, 其题型变化灵活多样。下面以两个实例为例,探讨 C 语言在等差数列求解中的应用。
3.1 实例 1: 求两个数之间能被某个数整除的整数的个数
该问题并没有显式包含等差数列之特点。 但通过分析,我们可以发现,其隐含了数列为等差数列、公差为除数这个条件,要求数列中满足条件的项数。 实际上是从给定的数列中反复取数, 并判断是否满足条件的问题。 可用 C 语言的循环结构来求解。
(1)源代码
#include<stdio.h>
void main()
{
int first,end,div;
int i,count=0;
printf(“\n\t 请输入数列的首项和末项: ”);
scanf(“%d%d”,&first,&end);
printf(“\n\t 请输入除数: ”);
scanf(“%d”,&div);
for(i=first;i<=end;)
{
if(i%div==0)
{
count++;
i+=div;
}
else i++;
}
printf(“\n\t %d 与 %d 之 间能被 %d 整 除的整数个数为%d \n”,first,end,div,count);
printf(“\n\t”);
}
(2)程序运行结果如图 2 所示:
3.2 实例 2:已知等差数列的某两项 ,求数列其余任意项
该问题就是任意给定等差数列中的两项, 求解其余项;若数列的部分项为负数,还可以判断数列从哪一项开始为正数。可以用 C 语言的顺序结构+选择结构来完成。
(1)源代码
#include<stdio.h>
void main()
{
int m,n,a,b;
int p,result;
int pos=0,d;
printf(“请输入数列的第一个已知项及其值:”);
scanf(“%d%d”,&m,&a);
printf(“请输入数列的第二个已知项及其值:”);
scanf(“%d%d”,&n,&b);
printf(“请输入数列中需要求解的项:”);
scanf(“%d”,&p);
d=(b-a)/(n-m);
result=b-d*(n-p);
printf(“该项的值为:%d\n”,result);
while(a-d*(m-pos)<=0)
{
pos++;
}
printf(“从第 %d 项开始数列为正数 \n”,pos);
}
(2)程序运行结果如图 3 所示:
4 结语
高中数学的知识量非常大, 远远不止本文所列举的这些方面。 本文通过对高中数学中一部分知识点用C 语言编程实现的尝试, 提高笔者对该部分知识点的理解。 高中数学中还有很多的知识点,可以通过这种方式来加深理解,真正掌握其内涵,拓展其外延,以适应其灵活多变性。【图略】
参考文献:
[1]刘红旗。 C 语言在高中化学教学中的应用[J]. 安庆师范学院学报(自然科学版),2012,18(3):139-142.
[2]谭浩强。 C 程序设计[M].清华大学出版社,2010, 6.
[3]田祥高。 考点同步解读:高中数学(5 必修)[M]. 华中师范大学出版社,2014,11
数学作为基础科学, 发挥的作用越来越大, 不止物理学, 几何学和经济学中发挥着现实作用, 还能加快我国农业化步伐, 推进国防的现代化。...
在现阶段网络应用领域中,随着网络数据流量不断加大、应用日趋复杂以及结构逐渐庞大,这些都对数据的安全提出更加严格的要求。面对当今信息化的不断发展,研究人员如何有效应用数学对信息化发展过程中出现的问题进行解决,促进我国信息化向着更高水平发展显...
无论是国家经济管理还是企业经营管理, 均应充分落实对应用数学的理论和实践研究, 提炼其中的应用工具, 并更好地落实在经济管理活动当中。...
教师在日常教学过程中,要积极培养学生的数学思维能力,利用实验、活动、举一反三等提升学生的思维能力,促进其全面发展。...
概率论的计算方法以及解题思路也可以把一些复杂的数学分析问题进行简化,实现确定性问题与随机性问题之间的有效转化,使得数学分析问题得以高效解决。...
新课程标准要求人人学有价值的数学,数学教学应以学生所熟悉的现实生活为出发点,通过在现实生活中应用数学,来培养学生应用数学知识的意识,提高他们解决生活问题的能力。那么,小学数学教师应该开展怎样的数学教学活动,培养学生应用数学的意识呢?笔者试...
1高职GIS专业所需数学知识调研当前高职GIS专业数学课程存在教学内容不适应专业应用实际等问题,在一定程度上制约了高职GIS专业课程的教学及数学知识在GIS专业技术中的应用.因此,设计开发出与GIS专业应用相适应的GIS应用数学课程势在必行.为...
生活就像一个大舞台,里面包含万象。而数学知识原本就比较抽象,它不像语文那样具有描述性,也不像美术那样具有观赏性,体育那样具有活动性。数学的各种概念的描述既枯燥又无味,要想使抽象的内容变得具体,易懂,就得从生活中挖掘素材,在日常生活中发现数学...
文章阐述了技工院校机电类专业应用数学教学内容的构建过程, 秉承教师在教育教学中的主导作用与学生在学习中的主体地位理念, 根据学生专业特点, 设置与专业结合的教学内容, 提出了应用数学在机电类专业教学的课程构建思路。...
我们对周围世界的认识过程,从感觉、知觉到表象,都是我们对周围世界的直接反映,是对客观事物的个别属性、整体和外部联系的反映。然而,并非一切事物都是被我们直接地感知到,还需要以一定的知识为中介,间接地去反映和认识客观事物,这就是思维,它是认识的...