数学算法课本
A. 高中数学的算法,程序框图
其实你把课好好听、作业认真完成都搞懂就可以了,不要这么紧张。我经验是最后考试题目非常简单。要注重培养逻辑思维,模仿计算机按步骤办事计算。有问题再问我好了。
附上:对高中数学中算法的几点认识(网上找的,意义不大)
算法属于新教材的新增内容,笔者结合自己的教学体会,谈谈对算法的理解和认识,供各位同仁参考:
1、算法的内容
(1)自然语言(2)程序框图(3)算法语句,其中,在每种语言中有各自的结构,如:顺序结构、循环结构、条件结构等。
2、算法在高中课程中的地位:
算法内容的设计分为两部分。
一部分主要介绍算法的基础知识,可以称作算法的“三基”:算法基本思想,算法基本结构,算法基本语句。通过一些具体的案例介绍算法的基本思想,使学生了解:为了解决一个问题,设计出解决问题的系列步骤,任何人实施这些步骤就可以解决问题,这就是解决问题的一个算法。这是对算法的一种广义的理解。对算法的理解,更多地是与计算机联系在一起,计算机可以完成这些步骤。
算法的基本结构一般有三种:顺序结构,分叉结构,循环结构。前两种结构很容易理解,循环结构稍微有点难,这里用到函数思想,难在理解反映循环过程的循环变量。在教学过程中,一定要通过具体的案例,结合具体的情境引入概念,会使问题变得很简单。
介绍算法语句的时候,要区分算法语言和基本的算法语句。我们知道,现在使用的算法语言是很多的,例如,basic 语言,q-basic 语言,c-语言,等等。在高中的数学课程中,不要求介绍算法语言,仅仅需要了解基本语句,例如,输入语句,输出语句,赋值语句,条件语句,循环语句,等等。在不同的语言中,这些语句的表示可能不一样,数学课程要求采用公认的统一表示,称为伪代码。很容易把伪代码翻译成任何一种算法语言。
描述算法有三种语言:自然语言、框图语言、基本算法语句。
算法的另一部分设计,是把算法的思想融入相关数学内容中。实际上,算法思想是贯穿在高中数学课程始终的基本思想。例如,二分法求方程的解;点到直线的距离、点到平面的距离、直线到直线距离;立体几何性质定理的证明过程;一元二次不等式;线性规划;等等内容中,都运用了算法思想。
用算法思想学习和认识数学对于提高数学素养是很有用的,希望老师予以重视。
3、理解赋值语句:
赋值是算法中的难点之一,理解赋值对于理解算法是非常重要的。
赋值就是把数值赋予给定的变量。例如,a:=5,就表示变量a被赋予的值是5,即a=5,这个被赋值的变量可以与其他的值进行运算。对于被赋值的变量a,还可以赋予其它的值取代原来的值。我们可以用磁带录音来比喻赋值,在我们录音时,是把磁带上旧的录音材料冲掉之后,才能把新的录音材料加载上去。同样的道理,我们这里的赋值也是先把原来的值清零之后,再把新的值赋上去。下面我们通过一个例子来说明如何设置变量和给变量赋值。
例:设计一个算法,从4个不同的数中找出最大数。
解:记这5个不同的数分别为a1,a2,a3,a4,a5,算法步骤如下:
1、比较a1与a2将较大的数记作b.
(在这一步中,b表示的是前2个数中的最大数)
2、再将b与a3进行比较,将较大的数记作b.
(执行完这一步后,b的值就是前3个数中的最大数)
3、再将b与a4进行比较,将较大的数记作b.
(执行完这一步后,b的值就是前4个数中的最大数)
4、输出b,b的值即为所求得最大数。
分析:上述算法的4个步骤中,每步都要与上一步中得到的最大数b进行比较,得出新的最大数。b可以取不同的值,b就称之为变量。在第1步到第3步的算法过程中,我们都把比较后的较大数记作b,即把值赋予了b,这个过程就是赋值的过程,这个过程有两个功能,第一,我们可以不断地对b的值进行改变,即把数值放入b中;第二,b的值每变化一次都是为下一步的比较服务。
4、函数在循环结构中的作用:
(1)循环结构是算法的一种基本结构。
例如,设计算法,输出1000以内能被3和5整除的所有正整数。解决这个问题,我们首先要引入变量a表示待输出的数,则a=15n (n=1,2,3,…,66).n从n从1变到66,反复输出a,就能输出1000以内的所有能被3和5整除的正整数。像这样的算法结构称为循环结构,其中反复执行的部分称为循环体。变量n控制着循环的开始和结束,称为循环变量。
(2)循环结构是理解算法的另一个难点,难点在于对于循环变量的理解。
循环结构中的循环变量分为两种形式,一种是控制循环次数的变量,例如,输出1000以内能被3和5整除的所有正整数这个循环结构中,n就是控制循环次数的循环变量。另一种是控制结果精确度的变量,例如用二分法算法求方程f(x)=0在区间[0,1]上的一个近似解的流程图,要求精确度为。在这个算法过程中,精确度就是控制结果精确度的循环变量。
循环变量使得循环体得以“循环”,循环变量控制了循环的“开始”和“结束”,是刻画循环结构的关键。
以上几点是对算法的粗浅认识,不当之处,请批评指正!
B. 与算法有关的数学课程
拿本书据结构慢慢看吧
全是最基础的算法!
C. 谁能推荐几本介绍数学建模中算法的书籍
汪晓银版数学建模与数学实验、堵秀凤编数学建模、matlab高等数学实验等。另外,你还可以在网络上搜。
D. 学习高数、离散数学、数据结构和算法的教材与书籍
什么程度,买什么教材!
E. 高一数学必修3 第一章 算法初步里包含的程序软件
高一就学了啊。
如果要看的话,可以看下谭浩强的c语言程序设计。
我先帖一些出来给你看啊。
C语言版本
目前最流行的C语言有以下几种:
·Microsoft C 或称 MS C
·Borland Turbo C 或称 Turbo C
·AT&T C
这些C语言版本不仅实现了ANSI C标准,而且在此基础上各自作了一些扩充,使之更加方便、完美。
面向对象的程序设计语言
在C的基础上,一九八三年又由贝尔实验室的Bjarne Strou-strup推出了C++。 C++进一步扩充和完善了C语言,成为一种面向 对象的程序设计语言。C++目前流行的最新版本是Borland C++4.5,Symantec C++6.1,和Microsoft VisualC++ 2.0。C++提出了一些更为深入的概念,它所支持的这些面向对象的概念容易将问题空间直接地映射到程序空间,为程序员提供了一种与传统结构程序设计不同的思维方式和编程方法。因而也增加了整个语言的复杂性,掌握起来有一定难度。
C和C++
但是,C是C++的基础,C++语言和C语言在很多方面是兼容的。因此,掌握了C语言,再进一步学习C++就能以一种熟悉的语法来学习面向对象的语言,从而达到事半功倍的目的。
C源程序的结构特点
为了说明C语言源程序结构的特点,先看以下几个程序。这几个程 序由简到难,表现了C语言源程序在组成结构上的特点。虽然有关内容还未介绍,但可从这些例子中了解到组成一个C源程序的基本部分和书写格式。main()
{printf("c语言世界www.vcok.com,您好!\n");
}
main是主函数的函数名,表示这是一个主函数。每一个C源程序都必须有,且只能有一个主函数(main函数)。函数调用语句,printf函数的功能是把要输出的内容送到显示器去显示。printf函数是一个由系统定义的标准函数,可在程序中直接调用。
#include
#include
main()
{
double x,s;
printf("input number:\n");
scanf("%lf",&x);
s=sin(x);
printf("sine of %lf is %lf\n",x,s);
}
每行注释
include称为文件包含命令扩展名为.h的文件也称为头文件或首部文件
定义两个实数变量,以被后面程序使用
显示提示信息
从键盘获得一个实数x
求x的正弦,并把它赋给变量s
显示程序运算结果
main函数结束
程序的功能是从键盘输入一个数x,求x的正弦值,然后输出结果。在main()之前的两行称为预处理命令(详见后面)。预处理命令还有其它几种,这里的include 称为文件包含命令,其意义是把尖括号""或引号<>内指定的文件包含到本程序来,成为本程序的一部分。被包含的文件通常是由系统提供的,其扩展名为.h。因此也称为头文件或首部文件。C语言的头文件中包括了各个标准库函数的函数原型。因此,凡是在程序中调用一个库函数时,都必须包含该函数原型所在的头文件。在本例中,使用了三个库函数:输入函数scanf,正弦函数sin,输出函数printf。sin函数是数学函数,其头文件为math.h文件,因此在程序的主函数前用include命令包含了math.h。scanf和printf是标准输入输出函数,其头文件为stdio.h,在主函数前也用include命令包含了stdio.h文件。
需要说明的是,C语言规定对scanf和printf这两个函数可以省去对其头文件的包含命令。所以在本例中也可以删去第二行的包含命令#include。同样,在例1.1中使用了printf函数,也省略了包含命令。
在例题中的主函数体中又分为两部分,一部分为说明部分,另一部分执行部分。说明是指变量的类型说明。例题中未使用任何变量,因此无说明部分。C语言规定,源程序中所有用到的变量都必须先说明,后使用,否则将会出错。这一点是编译型高级程序设计语言的一个特点,与解释型的BASIC语言是不同的。说明部分是C源程序结构中很重要的组成部分。本例中使用了两个变量x,s,用来表示输入的自变量和sin函数值。由于sin函数要求这两个量必须是双精度浮点型,故用类型说明符double来说明这两个变量。说明部分后的四行为执行部分或称为执行语句部分,用以完成程序的功能。执行部分的第一行是输出语句,调用printf函数在显示器上输出提示字符串,请操作人员输入自变量x的值。第二行为输入语句,调用scanf函数,接受键盘上输入的数并存入变量x中。第三行是调用sin函数并把函数值送到变量s中。第四行是用printf 函数输出变量s的值,即x的正弦值。程序结束。
printf("input number:\n");
scanf("%lf",'C10F10&x);
s=sin(x);
printf("sine of %lf is %lf\n",'C10F10x,s);
运行本程序时,首先在显示器屏幕上给出提示串input number,这是由执行部分的第一行完成的。用户在提示下从键盘上键入某一数,如5,按下回车键,接着在屏幕上给出计算结果。
输入和输出函数
在前两个例子中用到了输入和输出函数scanf和 printf,在第三章中我们要详细介绍。这里我们先简单介绍一下它们的格式,以便下面使用。scanf和 printf这两个函数分别称为格式输入函数和格式输出函数。其意义是按指定的格式输入输出值。因此,这两个函数在括号中的参数表都由以下两部分组成: “格式控制串”,参数表 格式控制串是一个字符串,必须用双引号括起来,它表示了输入输出量的数据类型。各种类型的格式表示法可参阅第三章。在printf函数中还可以在格式控制串内出现非格式控制字符,这时在显示屏幕上将原文照印。参数表中给出了输入或输出的量。当有多个量时,用逗号间隔。例如:
printf("sine of %lf is %lf\n",x,s);
其中%lf为格式字符,表示按双精度浮点数处理。它在格式串中两次现,对应了x和s两个变量。其余字符为非格式字符则照原样输出在屏幕上
int max(int a,int b);
main(){
int x,y,z;
printf("input two numbers:\n");scanf("%d%d",&x,&y);
z=max(x,y);
printf("maxmum=%d",z);
}
int max(int a,int b){
if(a>b)return a;else return b;
}
此函数的功能是输入两个整数,输出其中的大数。
/*函数说明*/
/*主函数*/
/*变量说明*/
/*输入x,y值*/
/*调用max函数*/
/*输出*/
/*定义max函数*/
/*把结果返回主调函数*/
上面例中程序的功能是由用户输入两个整数,程序执行后输出其中较大的数。本程序由两个函数组成,主函数和max 函数。函数之间是并列关系。可从主函数中调用其它函数。max 函数的功能是比较两个数,然后把较大的数返回给主函数。max 函数是一个用户自定义函数。因此在主函数中要给出说明(程序第三行)。可见,在程序的说明部分中,不仅可以有变量说明,还可以有函数说明。关于函数的详细内容将在第五章介绍。在程序的每行后用/*和*/括起来的内容为注释部分,程序不执行注释部分。
上例中程序的执行过程是,首先在屏幕上显示提示串,请用户输入两个数,回车后由scanf函数语句接收这两个数送入变量x,y中,然后调用max函数,并把x,y 的值传送给max函数的参数a,b。在max函数中比较a,b的大小,把大者返回给主函数的变量z,最后在屏幕上输出z的值。
C源程序的结构特点
1.一个C语言源程序可以由一个或多个源文件组成。
2.每个源文件可由一个或多个函数组成。
3.一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。
4.源程序中可以有预处理命令(include 命令仅为其中的一种),预处理命令通常应放在源文件或源程序的最前面。
5.每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。
6.标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。
书写程序时应遵循的规则
从书写清晰,便于阅读,理解,维护的
F. 介绍快速计算方法的书籍
快心算-----(心算,口算,笔算)真正与小学数学教材同步的教学模式,
快心算是目前唯一不借助任何实物进行简便运算的方法,既不用算盘,也不用手指,更不用棋盘和图
快心算教材的编排和难度是紧扣小学数学大纲并于初中代数接轨,比小学课本更简便的一门速算。简化了笔算,加强了口算。简单,易学,趣味性强,小学生通过短时间培训后,多位数加,减,乘,除,不列竖式,直接可以写出答数。
快心算的奇特效果
三年级以上任意多位数的乘除加减全部学完.
二年级多位数的加减,两位数的乘法和一位数的除法.
一年级,多位数的加减.
幼儿园中,大班小朋友可学会多位数加减法 ,多位数进位加,如5869+3516 ,多位数退位减,如 8185-6938等。为学龄前幼儿量身定做的,提前渡过小学口算这一关。小孩在幼儿园学习快心算对以后上小学有帮助
孩子们做作业不再用草稿纸,看算直接写答案.
快心算”有别于“珠心算”“手脑算”。西安教师牛宏伟发明的快心算,(牛宏伟老师获得中华人民共和国国家知识产权局颁发的专利证书。专利号;ZL2008301174275.受中华人民共和国专利法的专利保护。), 主要是通过教材中的一定规则,对幼儿进行加减乘除快速运算训练。“快心算”有助于提高孩子思维和行为的条理性、逻辑性以及灵敏性,锻炼孩子眼、手、脑的同步快速反应,计算方法和中小学数学具有一致性,所以很受幼儿家长的欢迎。
快心算真正与小学数学教材同步的教学模式:
1:会算法——笔算训练,现今我国的教育体制是应试教育,检验学生的标准是考试成绩单,那么学生的主要任务就是应试,答题,答题要用笔写,笔算训练是教学的主线。与小学数学计算方法一致,不运用任何实物计算,无论横式,竖式,连加连减都可运用自如,用笔做计算是启动智慧快车的一把金钥匙。
2:明算理—算理拼玩。会用笔写题,不但要使孩子会算法,还要让孩子明白算理。 使孩子在拼玩中理解计算的算理,突破数的计算。孩子是在理解的基础上完成的计算。
3:练速度——速度训练,会用笔算题还远远不够,小学的口算要有时间限定,是否达标要用时间说话,也就是会算题还不够,主要还是要提速。
4:启智慧——智力体操,不单纯地学习计算,着重培养孩子的数学思维能力,全面激发左右脑潜能,开发全脑。经过快心算的训练,学前孩子可以深刻的理解数学的本质(包含),数的意义(基数,序数,和包含),数的运算机理(同数位的数的加减,)数学逻辑运算的方式,使孩子掌握处理复杂信息分解方法,发散思维,逆向思维得到了发展。孩子得到一个反应敏锐的大脑。