版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序设计基础(一)——算法程序设计基础(一)——算法1教学目的复习语言及程序了解算法的概念掌握结构化程序的三种基本结构及算法的表示方法教学目的复习语言及程序2教学重点和难点重点:算法的表示方法难点:结构化程序的三种基本结构教学重点和难点重点:算法的表示方法31.1、程序设计语言1.定义:(1)从用途上:人与计算机进行信息交流的工具。(2)从形式上:由计算机可以理解的符号系统。2.程序——完成某一功能的计算机指令的有序集合3.程序设计——设计、编制、调试程序的过程程序=数据结构+算法1.1、程序设计语言1.定义:2.程序——完成某一功能的计算4
(1)机器语言(CPU指令系统)a.形式特点:由0,1序列组成的指令系统b.不需要任何翻译工作,执行效率高c.难记、难认、难理解,程序开发效率底,易出错、难调试d.不同的计算机结构具有不同的指令系统(不同的机器具有不同的语言)4.程序设计语言的发展:1.1、程序设计语言(1)机器语言(CPU指令系统)4.程5(2)汇编语言(符号语言)a.形式特点:由一套简单的助记符来表示不同的机器指令ADDA,BSUBA,Bb.需要相应的翻译机制(汇编系统)源程序(汇编语言)汇编系统目标程序(机器语言)c.抽象层次高一些,容易理解些,程序生产效率高d.不同的计算机结构具有不同的汇编系统1.1、程序设计语言(2)汇编语言(符号语言)ADDA,Bb6(3)面向过程的高级语言(算法语言)a.形式特点:更接近于人们通常数学计算公式的描述b.需要更高级的翻译系统(编译系统compler)c.表达能力强,编程效率高d.不依赖于具体的机器,依赖于不同机器上的编译系统(不同机器上的编译系统是有差异的)(4)非过程化的高级语言
*过程化语言:用语言描述怎样做的过程*非过程化语言:只要告诉计算机做什么*其它方面的特点与面向过程的高级语言相同。(3)面向过程的高级语言(算法语言)71.2算法算法的概念:为解决一个问题而采取的方法和步骤,它是指令的有限序列,其中每一条指令表示一个或多个操作。例1:设有两个杯子A和B,分别盛放酒和醋,要求将它们互换。S1:C←AS2:A←BS3:B←C1.2算法算法的概念:例1:设有两个杯子A和B,分别盛放酒8例2:求1~100的和S5:输出sum,结束S2:sum←sum+1S1:sum←0,t←1S3:t←t+1S4:若t<=100,则转到S2,否则转到S5例2:求1~100的和S5:输出sum,结束S2:sum←s9算法的特性(P3)1,有穷性2,确定性3,有零个或多个输入4,有一个或多个输出5,可行性算法的特性(P3)1,有穷性2,确定性3,有零个或多个输入410算法的表示(P3)1,用自然语言表示算法——通俗易懂,但有歧义2,用传统流程图表示算法——直观、易懂3,N—S流程图表示算法4,用伪代码表示算法5,用计算机语言表示算法算法的表示(P3)1,用自然语言表示算法——通俗易懂,但有歧11算法的表示——传统流程图起止框处理框判断框输入输出框流程线连接点注释框算法的表示——传统流程图起止框处理框判断框输入输出框流程线连12AB流程图1.顺序结构三种基本结构算法的表示——传统流程图(P5)AB流程图1.顺序结构三种基本结构算法的表示——传统流程图(132.选择结构条件成立?处理A处理B真假算法的表示——传统流程图2.选择结构条件成立?处理A处理B真假算法的表示——传统流程143.循环结构当型(while型)循环结构直到型(until型)循环结构假PA真AP真假算法的表示——传统流程图3.循环结构当型(while型)循环结构直到型(until型15算法的表示——N-S流程图1973年美国学者提出了一种新型流程图:N-S流程图
用N-S流程图表示的3种基本结构如下:1,顺序结构算法的表示——N-S流程图1973年美国学者提出了一种新型流16算法的表示——N-S流程图2,选择结构算法的表示——N-S流程图2,选择结构173.循环结构当型(while型)循环结构直到型(until型)循环结构算法的表示——N-S流程图3.循环结构当型(while型)循环结构直到型(until型181.3程序设计及结构化程序设计方法程序设计:借助计算机,使用计算机语言准确地描述问题的算法,并正确进行计算的过程。1,分析问题,确定问题的需求3,选择计算方法2,分析问题,建立数学模型4,设计算法,绘制框图5,编写程序6,调试程序7,整理资料和交付使用程序设计过程:1.3程序设计及结构化程序设计方法程序设计:借助计算机,使19结构化程序设计结构化程序设计方法是公认的面向过程编程应遵循的基本方法和原则。结构化程序设计方法主要包括:只采用三种基本的程序控制结构来编制程序,从而使程序具有良好的结构程序设计自顶向下逐步细化模块化设计结构化编码结构化程序设计结构化程序设计方法是公认的面向过程编程20课堂小结程序的三种基本结构顺序结构选择结构循环结构5种描述算法的方法自然语言传统流程图N-S流程图伪代码计算机语言结构化程序设计方法课堂小结程序的三种基本结构顺序结构选择结构循环结构5种描述算21程序设计基础(二)——C语言概述程序设计基础(二)——C语言概述22教学目的了解C语言出现的历史背景及特点初步认识C语言程序的基本框架结构掌握编制一个可运行的C语言程序的全过程教学目的了解C语言出现的历史背景及特点23教学重点和难点重点:C语言程序的基本框架结构难点:C语言程序的上机步骤教学重点和难点重点:C语言程序的基本框架结构24前言1972年在BellLab开发出来,用来描述UNIXOS及其上层软件C语言3.既适于开发系统软件,又是适于开发应用软件1.属高级语言实质上是介于高级语言和低级语言之间的一种语言2.兼有低级语言和高级语言的优点前言1972年在BellLabC语言3.既适于开发系统25C语言的出现和发展
解决问题的需要—需要一种既具有高级语言的易于理解、易于编写、可移植性强的语言,又具有低级语言特性(能对硬件直接操作)的一种语言。C语言就在这种情况下应运而生了。C语言的出现和发展解决问题的需要—需要一种26C语言的出现和发展1960ALGOL60(AlgorithmicLanguage)1963CPL(CombinedProgrammingLanguage)1967BCPL(BasicCombinedProgrammingLanguage)1970B(取BCPL第一个字母)1972C(取BCPL第二个字母)1978标准C1983ANSIC198787ANSIC1990ISOC
C语言的出现和发展1960ALGOL60(Algori27C语言的特点语言简洁、紧凑,使用方便、灵活;运算符丰富(34种);数据结构丰富,具有现代化语言的各种结构;具有结构化的控制语句,用函数作为程序的模块单位,便于模块化;语法限制不太严格,程序设计自由度大;C语言的特点语言简洁、紧凑,使用方便、灵活;28C语言的特点C语言允许直接访问物理地址,能进行位操作,能实现汇编语言的大部分功能;生成目标代码质量高,执行效率高,速度快;可移植性好(与汇编语言比)。C语言的特点C语言允许直接访问物理地址,能进行位操作,能实现29C语言程序的构成例3:main(){printf("HelloWorld!\n");}运行结果:HelloWord!
主函数
函数体
}C语言程序的构成例3:运行结果:HelloWord!30例4:main(){inta,b,sum;/*这是变量定义*/a=123;b=456;/*以下3行为c语句*/sum=a+b;printf("sumis%d",sum);}运行结果:sumis579执行部分声明部分C语言程序的结构例4:运行结果:sumis579执行部分声明部分C语言程31main()/*主函数*/{inta,b,c;/*声明部分*/scanf("%d,%d",&a,&b);/*输入a,b的值*/c=max(a,b);/*调用max函数,将得到的值赋给c*/printf("max=%d",c);/*输出c的值*/}intmax(intx,inty)/*定义max函数*/{intz;/*max函数的声明部分*/if(x>y)z=x;elsez=y;return(z);/*将z的值返回,通过max带回调用处*/}main()32由上面几个例子可以看到:1.C程序是由函数构成的
一个C源程序至少包含一个main函数(例P11例1-6),也可以包含一个main函数和若干个其他函数。函数是程序的基本单位,被调用函数既可以是系统提供的库函数,也可以是自定义函数。由上面几个例子可以看到:1.C程序是由函数构成的332.函数的组成函数首部:包括函数类型、函数名、函数参数类型、参数名函数体:{声明部分执行部分}intmax(intx,inty)函数类型函数名函数参数类型函数参数名函数参数类型函数参数名函数第一行注:函数名必须有一对圆括号,即使没有参数也必须有括号,但可以没有参数,如main()2.函数的组成函数首部:包括函数类型、函数名、函数体34
3.一个C程序总是从main函数开始执行,而不论main在整个程序中的位置如何4.C程序书写格式自由,一行内可以写几个语句,一个语句也可以写在几行上5.每个语句和数据定义的最后必须有一个分号。6.C本身没有输入/输出语句,输入/输出操作是由库函数(printf,scanf等)完成7.可以用/*……*/在任何位置对C程序加以注释8.一个C语言程序可以由一个文件组成,也可以由若干个文件组成3.一个C程序总是从main函数开35VisualC++6.0的基本操作程序——MicrosoftVisualC++6.0——MicrosoftVisualC++6.0桌面快捷方式VisualC++6.0的基本操作程序——Microso36VisualC++6.0的基本操作C程序编写步骤:1,新建一空白工程Win32ConsoleApplication类型选择“一个空工程”VisualC++6.0的基本操作C程序编写步骤:1,新37VisualC++6.0的基本操作C程序编写步骤:1,新建一空白工程“文件”菜单——新建——输入工程名称——选择保存位置——选中Win32ConsoleApplicationVisualC++6.0的基本操作C程序编写步骤:1,新38VisualC++6.0的基本操作2,新建文件选择“FileView”——展开后选择“SourceFiles”VisualC++6.0的基本操作2,新建文件选择“Fi39VisualC++6.0的基本操作2,新建文件“文件”——“新建”——选择文件类型(C++SourceFile或文本文件)——输入文件名(后缀名为“.C”)VisualC++6.0的基本操作2,新建文件“文件”—40VisualC++6.0的基本操作3,输入源程序展开“SourceFiles”,双击新建的文件,在右侧编辑区域输入原程序,输入完成后保存(文件——保存)VisualC++6.0的基本操作3,输入源程序展开“S41VisualC++6.0的基本操作4,编译源程序“组建”——“编译”命令或Compile快捷按钮或ctrl+F7VisualC++6.0的基本操作4,编译源程序“组建”42VisualC++6.0的基本操作4,编译源程序如果显示“-0error(s),0warning(s)”则表示没有错误,否则要检查源程序中的错误并重新编译直到没有错误VisualC++6.0的基本操作4,编译源程序如果显示43VisualC++6.0的基本操作5,执行程序,查看结果“组建”——“!”图标或直接点击“!”或按快捷键ctrl+F5选择“是”,查看结果VisualC++6.0的基本操作5,执行程序,查看结果44VisualC++6.0的基本操作5,执行程序,查看结果“组建”——“!”图标或直接点击“!”或按快捷键ctrl+F5选择“是”,查看结果VisualC++6.0的基本操作5,执行程序,查看结果45VisualC++6.0的基本操作6,退出C环境方法同一般窗口的退出VisualC++6.0的基本操作6,退出C环境方法同一46课堂小结1,C语言的构成要素,main函数在程序中的作用2,上机操作的过程<1>进入vc++环境<2>新建工程<3>新建文件<4>输入并保存源程序<5>编译源程序<6>退出vc++环境课堂小结1,C语言的构成要素,main函数在程序中的作用2,47程序设计基础(一)——算法程序设计基础(一)——算法48教学目的复习语言及程序了解算法的概念掌握结构化程序的三种基本结构及算法的表示方法教学目的复习语言及程序49教学重点和难点重点:算法的表示方法难点:结构化程序的三种基本结构教学重点和难点重点:算法的表示方法501.1、程序设计语言1.定义:(1)从用途上:人与计算机进行信息交流的工具。(2)从形式上:由计算机可以理解的符号系统。2.程序——完成某一功能的计算机指令的有序集合3.程序设计——设计、编制、调试程序的过程程序=数据结构+算法1.1、程序设计语言1.定义:2.程序——完成某一功能的计算51
(1)机器语言(CPU指令系统)a.形式特点:由0,1序列组成的指令系统b.不需要任何翻译工作,执行效率高c.难记、难认、难理解,程序开发效率底,易出错、难调试d.不同的计算机结构具有不同的指令系统(不同的机器具有不同的语言)4.程序设计语言的发展:1.1、程序设计语言(1)机器语言(CPU指令系统)4.程52(2)汇编语言(符号语言)a.形式特点:由一套简单的助记符来表示不同的机器指令ADDA,BSUBA,Bb.需要相应的翻译机制(汇编系统)源程序(汇编语言)汇编系统目标程序(机器语言)c.抽象层次高一些,容易理解些,程序生产效率高d.不同的计算机结构具有不同的汇编系统1.1、程序设计语言(2)汇编语言(符号语言)ADDA,Bb53(3)面向过程的高级语言(算法语言)a.形式特点:更接近于人们通常数学计算公式的描述b.需要更高级的翻译系统(编译系统compler)c.表达能力强,编程效率高d.不依赖于具体的机器,依赖于不同机器上的编译系统(不同机器上的编译系统是有差异的)(4)非过程化的高级语言
*过程化语言:用语言描述怎样做的过程*非过程化语言:只要告诉计算机做什么*其它方面的特点与面向过程的高级语言相同。(3)面向过程的高级语言(算法语言)541.2算法算法的概念:为解决一个问题而采取的方法和步骤,它是指令的有限序列,其中每一条指令表示一个或多个操作。例1:设有两个杯子A和B,分别盛放酒和醋,要求将它们互换。S1:C←AS2:A←BS3:B←C1.2算法算法的概念:例1:设有两个杯子A和B,分别盛放酒55例2:求1~100的和S5:输出sum,结束S2:sum←sum+1S1:sum←0,t←1S3:t←t+1S4:若t<=100,则转到S2,否则转到S5例2:求1~100的和S5:输出sum,结束S2:sum←s56算法的特性(P3)1,有穷性2,确定性3,有零个或多个输入4,有一个或多个输出5,可行性算法的特性(P3)1,有穷性2,确定性3,有零个或多个输入457算法的表示(P3)1,用自然语言表示算法——通俗易懂,但有歧义2,用传统流程图表示算法——直观、易懂3,N—S流程图表示算法4,用伪代码表示算法5,用计算机语言表示算法算法的表示(P3)1,用自然语言表示算法——通俗易懂,但有歧58算法的表示——传统流程图起止框处理框判断框输入输出框流程线连接点注释框算法的表示——传统流程图起止框处理框判断框输入输出框流程线连59AB流程图1.顺序结构三种基本结构算法的表示——传统流程图(P5)AB流程图1.顺序结构三种基本结构算法的表示——传统流程图(602.选择结构条件成立?处理A处理B真假算法的表示——传统流程图2.选择结构条件成立?处理A处理B真假算法的表示——传统流程613.循环结构当型(while型)循环结构直到型(until型)循环结构假PA真AP真假算法的表示——传统流程图3.循环结构当型(while型)循环结构直到型(until型62算法的表示——N-S流程图1973年美国学者提出了一种新型流程图:N-S流程图
用N-S流程图表示的3种基本结构如下:1,顺序结构算法的表示——N-S流程图1973年美国学者提出了一种新型流63算法的表示——N-S流程图2,选择结构算法的表示——N-S流程图2,选择结构643.循环结构当型(while型)循环结构直到型(until型)循环结构算法的表示——N-S流程图3.循环结构当型(while型)循环结构直到型(until型651.3程序设计及结构化程序设计方法程序设计:借助计算机,使用计算机语言准确地描述问题的算法,并正确进行计算的过程。1,分析问题,确定问题的需求3,选择计算方法2,分析问题,建立数学模型4,设计算法,绘制框图5,编写程序6,调试程序7,整理资料和交付使用程序设计过程:1.3程序设计及结构化程序设计方法程序设计:借助计算机,使66结构化程序设计结构化程序设计方法是公认的面向过程编程应遵循的基本方法和原则。结构化程序设计方法主要包括:只采用三种基本的程序控制结构来编制程序,从而使程序具有良好的结构程序设计自顶向下逐步细化模块化设计结构化编码结构化程序设计结构化程序设计方法是公认的面向过程编程67课堂小结程序的三种基本结构顺序结构选择结构循环结构5种描述算法的方法自然语言传统流程图N-S流程图伪代码计算机语言结构化程序设计方法课堂小结程序的三种基本结构顺序结构选择结构循环结构5种描述算68程序设计基础(二)——C语言概述程序设计基础(二)——C语言概述69教学目的了解C语言出现的历史背景及特点初步认识C语言程序的基本框架结构掌握编制一个可运行的C语言程序的全过程教学目的了解C语言出现的历史背景及特点70教学重点和难点重点:C语言程序的基本框架结构难点:C语言程序的上机步骤教学重点和难点重点:C语言程序的基本框架结构71前言1972年在BellLab开发出来,用来描述UNIXOS及其上层软件C语言3.既适于开发系统软件,又是适于开发应用软件1.属高级语言实质上是介于高级语言和低级语言之间的一种语言2.兼有低级语言和高级语言的优点前言1972年在BellLabC语言3.既适于开发系统72C语言的出现和发展
解决问题的需要—需要一种既具有高级语言的易于理解、易于编写、可移植性强的语言,又具有低级语言特性(能对硬件直接操作)的一种语言。C语言就在这种情况下应运而生了。C语言的出现和发展解决问题的需要—需要一种73C语言的出现和发展1960ALGOL60(AlgorithmicLanguage)1963CPL(CombinedProgrammingLanguage)1967BCPL(BasicCombinedProgrammingLanguage)1970B(取BCPL第一个字母)1972C(取BCPL第二个字母)1978标准C1983ANSIC198787ANSIC1990ISOC
C语言的出现和发展1960ALGOL60(Algori74C语言的特点语言简洁、紧凑,使用方便、灵活;运算符丰富(34种);数据结构丰富,具有现代化语言的各种结构;具有结构化的控制语句,用函数作为程序的模块单位,便于模块化;语法限制不太严格,程序设计自由度大;C语言的特点语言简洁、紧凑,使用方便、灵活;75C语言的特点C语言允许直接访问物理地址,能进行位操作,能实现汇编语言的大部分功能;生成目标代码质量高,执行效率高,速度快;可移植性好(与汇编语言比)。C语言的特点C语言允许直接访问物理地址,能进行位操作,能实现76C语言程序的构成例3:main(){printf("HelloWorld!\n");}运行结果:HelloWord!
主函数
函数体
}C语言程序的构成例3:运行结果:HelloWord!77例4:main(){inta,b,sum;/*这是变量定义*/a=123;b=456;/*以下3行为c语句*/sum=a+b;printf("sumis%d",sum);}运行结果:sumis579执行部分声明部分C语言程序的结构例4:运行结果:sumis579执行部分声明部分C语言程78main()/*主函数*/{inta,b,c;/*声明部分*/scanf("%d,%d",&a,&b);/*输入a,b的值*/c=max(a,b);/*调用max函数,将得到的值赋给c*/printf("max=%d",c);/*输出c的值*/}intmax(intx,inty)/*定义max函数*/{intz;/*max函数的声明部分*/if(x>y)z=x;elsez=y;return(z);/*将z的值返回,通过max带回调用处*/}main()79由上面几个例子可以看到:1.C程序是由函数构成的
一个C源程序至少包含一个main函数(例P11例1-6),也可以包含一个main函数和若干个其他函数。函数是程序的基本单位,被调用函数既可以是系统提供的库函数,也可以是自定义函数。由上面几个例子可以看到:1.C程序是由函数构成的802.函数的组成函数首部:包括函数类型、函数名、函数参数类型、参数名函数体:{声明部分执行部分}intmax(intx,inty)函数类型函数名函数参数类型函数参数名函数参数类型函数参数名函数第一行注:函数名必须有一对圆括号,即使没有参数也必须有括号,但可以没有参数,如main()2.函数的组成函数首部:包括函数类型、函数名、函数体81
3.一个C程序总是从main函数开始执行,而不论main在整个程序中的位置如何4.C程序书写格式自由,一行内可以写几个语句,一个语句也可以写在几行上5.每个语句和数据定义的最后必须有一个分号。6.C本身没有输入/输出语句,输入/输出操作是由库函数(printf,scanf等)完成7.可以用/*……*/在任何位置对C程序加以注释8.一个C语言程序可以由一个文件组成,也可以由若干个文件组成3.一个C程序总是从main函数开82VisualC++6.0的基本操作程序——Micros
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年专项技术服务合同标准版本(4篇)
- 2025led屏幕采购安装合同
- 2025车辆买卖合同(范本)
- 2025年城市输电线路建设合同
- 2025个人技术转让合同样本
- 2025年个人借款合同律师模板(三篇)
- 2025关于解除劳动合同证明丢失事宜
- 2025借款合同(含保证人)
- 旅游度假村设施设备租赁合同
- 2025餐馆承包合同范本
- 2025-2030年中国MPV汽车市场全景调研及投资策略分析报告
- 二零二五年度数据存储与备份外包服务协议2篇
- 2024-2025学年初中七年级上学期数学期末综合卷(人教版)含答案
- 第五单元《习作例文:风向袋的制作》说课稿-2024-2025学年五年级上册语文统编版
- 【课件】第三课 蒙娜丽莎 课件高中美术湘美版美术鉴赏
- 新媒体研究方法教学ppt课件(完整版)
- 2020新版个人征信报告模板
- 东芝空调维修故障代码汇总
- 建筑物成新率评定标准
- 工艺管道仪表流程图(共68页).ppt
- 五项管理行动日志excel表格
评论
0/150
提交评论