联系:程序是计算机指令的有序集合,是算法用某种程序设计语言的表述,是算法在计算机上的具体实现。
区别:
一、形式不同
1、算法:算法在描述上一般使用半形式化的语言。
2、程序:程序是用形式化的计算机语言描述的。
二、性质不同
1、算法:算法是解决问题的步骤。
2、程序:程序是算法的代码实现。
三、特点不同
1、算法:算法要依靠程序来完成功能。
2、程序:程序需要算法作为灵魂。
计算机二级C语言考试公共基础知识部分考试内容:
一、 基本数据结构与算法
1 算法的基本概念;算法复杂度的概念和意义(时间复杂度与空间复杂度)。
2 数据结构的定义;数据的逻辑结构与存储结构;数据结构的图形表示;线性结构与非线性结构的概念。
3 线性表的定义;线性表的顺序存储结构及其插入与删除运算。
4 栈和队列的定义;栈和队列的顺序存储结构及其基本运算。
5 线性单链表、双向链表与循环链表的结构及其基本运算。
6 树的基本概念;二叉树的定义及其存储结构;二叉树的前序、中序和后序遍历。
7 顺序查找与二分法查找算法;基本排序算法(交换类排序,选择类排序,插入类排序)。
二、 程序设计基础
1 程序设计方法与风格。
2 结构化程序设计。
3 面向对象的程序设计方法,对象,方法,属性及继承与多态性。
三、 软件工程基础
1 软件工程基本概念,软件生命周戎概念,软件工具与软件开发环境。
2 结构化分析方法,数据流图,数据字典,软件需求规格说明书。
3 结构化设计方法,总体设计与详细设计。
4 软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。
5 程序的调试,静态调试与动态调试。
四、 数据库设计基础
1 数据库的基本概念:数据库,数据库管理系统,数据库系统。
2 数据模型,实体联系模型及E-R图,从E-R图导出关系数据模型。
3 关系代数运算,包括集合运算及选择、投影、连接运算,数据库规范化理论。
4 数据库设计方法和步骤:需求分析、概念设计、逻辑设计和物理设计的相关策略。
计算机 应用技术专业主要学计算机导论、程序设计基础、数据结构与算法分析、计算机组成与维护、计算机网络基础、网络 *** 作系统、数据库技术及应用、前端设计与开发、信息采集技术、数据分析方法等课程,以下是相关介绍,供大家参考。
1、专业课程
专业基础课程:计算机导论、程序设计基础、数据结构与算法分析、计算机组成与维护、计算机网络基础、网络 *** 作系统。
专业核心课程:数据库技术及应用、前端设计与开发、信息采集技术、数据分析方法、交换路由技术、系统部署与运维。
2、培养目标
本专业培养德智体美劳全面发展,掌握扎实的科学文化基础和计算机信息处理技术、程序设计、计算机组成与维护、 *** 作系统、网络技术基础及相关法律法规等知识,具备程序模块设计、数据采集与数据分析、网络设备运维与管理、系统部署与运维等能力,具有工匠精神和信息素养,能够从事程序设计、数据采集与分析、网络管理、信息系统运行维护等 工作 的高素质技术技能人才。
3、 就业方向
面向信息和通信工程技术人员、信息通信网络运行管理人员、软件和信息技术服务人员等职业,程序设计、数据采集与分析、网络管理、信息系统运行维护等岗位(群)。
二级有很多种,比如access、C语言、vb、vf、c++、delphi、java 这些,下面是全国计算机等级考试(二级公共基础知识)考试大纲
◆ 基本要求
1掌握算法的基本概念。
2掌握基本数据结构及其 *** 作。
3掌握基本排序和查找算法。
4掌握逐步求精的结构化程序设计方法。
5掌握软件工程的基本方法,具有初步应用相关技术进行软件开发的能力。
6掌握数据库的基本知识,了解关系数据库的设计。
◆ 考试内容
一、基本数据结构与算法
1算法的基本概念;算法复杂度的概念和意义(时间复杂度与空间复杂度)。
2数据结构的定义;数据的逻辑结构与存储结构;数据结构的图形表示;线性结构与非线性结构的概念。
3线性表的定义;线性表的顺序存储结构及其插入与删除运算。
4栈和队列的定义;栈和队列的顺序存储结构及其基本运算。
5线性单链表、双向链表与循环链表的结构及其基本运算。
6树的基本概念;二叉树的定义及其存储结构;二叉树的前序、中序和后序遍历。
7顺序查找与二分法查找算法;基本排序算法(交换类排序,选择类排序,插入类排序)。
二、程序设计基础
1程序设计方法与风格。
2结构化程序设计。
3面向对象的程序设计方法,对象,方法,属性及继承与多态性。
三、软件工程基础
1软件工程基本概念,软件生命周期概念,软件工具与软件开发环境。
2结构化分析方法,数据流图,数据字典,软件需求规格说明书。
3结构化设计方法,总体设计与详细设计。
4软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。
5程序的调试,静态调试与动态调试。
四、数据库设计基础
1数据库的基本概念:数据库,数据库管理系统,数据库系统。
2数据模型,实体联系模型及E-R图,从E-R图导出关系数据模型。
3关系代数运算,包括集合运算及选择、投影、连接运算,数据库规范化理论。
4数据库设计方法和步骤:需求分析、概念设计、逻辑设计和物理设计的相关策略。
如果你直接没有任何基础,一天是突击不完的。建议你至少提前一个月开始做准备,每天看一些要点,逐步巩固提高。
C语言二级不需要太多的实际 *** 作,应试不变的真理就是做题,多做几套真题就行了。但是一定要在最后留出一天把教材的公共基础部分过一遍,考试分数高不高考的是程序填空题,而能不能通过就得靠公共基础部分。
C语言二级基本要求及考试内容:
基本要求
1 掌握算法的基本概念。
2 掌握基本数据结构及其 *** 作。
3 掌握基本排序和查找算法。
4 掌握逐步求精的结构化程序设计方法。
5 掌握软件工程的基本方法,具有初步应用相关技术进行软件开发的能力。
6 掌握数据的基本知识,了解关系数据库的设计。
考试内容
一、 基本数据结构与算法
1 算法的基本概念;算法复杂度的概念和意义(时间复杂度与空间复杂度)。
2 数据结构的定义;数据的逻辑结构与存储结构;数据结构的图形表示;线性结构与非线性结构的概念。
3 线性表的定义;线性表的顺序存储结构及其插入与删除运算。
4 栈和队列的定义;栈和队列的顺序存储结构及其基本运算。
5 线性单链表、双向链表与循环链表的结构及其基本运算。
6 树的基本概念;二叉树的定义及其存储结构;二叉树的前序、中序和后序遍历。(前序、中序和后序遍历有考到,每年都有)
7 顺序查找与二分法查找算法;基本排序算法(交换类排序,选择类排序,插入类排序)。
二、 程序设计基础
1 程序设计方法与风格。
2 结构化程序设计。
3 面向对象的程序设计方法,对象,方法,属性及继承与多态性。
三、 软件工程基础
1 软件工程基本概念,软件生命周戎概念,软件工具与软件开发环境。
2 结构化分析方法,数据流图,数据字典,软件需求规格说明书。
3 结构化设计方法,总体设计与详细设计。
4 软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。
5 程序的调试,静态调试与动态调试。
四、 数据库设计基础
1 数据库的基本概念:数据库,数据库管理系统,数据库系统。
2 数据模型,实体联系模型及E-R图,从E-R图导出关系数据模型。
3 关系代数运算,包括集合运算及选择、投影、连接运算,数据库规范化理论。
4 数据库设计方法和步骤:需求分析、概念设计、逻辑设计和物理设计的相关策略。
考试方式
1、 公共基础的考试方式为笔试,与C语言(VisualBASIC、Visual FoxPro、Java、Access、Visual C++)的笔试部分合为一张试卷。公共基础部分占全卷的30分。
2、 公共基础知识有10道选择题和5道填空题。
C语言程序设计
基本要求
1熟悉TURBO C集成环境。
2熟练掌握结构化程序设计的方法,具有良好的程序设计风格。
3掌握程序设计中简单的数据结构和算法。
4TURBO C的集成环境下,能够编写简单的C程序,并具有基本的纠错和调试程序的能力。
考试内容
一、C语言的结构
1程序的构成,MAIN函数和其他函数。
2头文件,数据说明,函数的开始和结束标志。
3源程序的书写格式
4C语言的风格。
二、数据类型及其运算(基础)
1C的数据类型(基本类型,构造类型,指针类型,空类型)及其定义方法。
2C运算符的种类、运算优先级和结合性。
3不同类型数据间的转换与运算。
4C表达式类型(赋值表达式、算术表达式、关系表达式、逻辑表达式、条件表达式、逗号表达式)和求值规则。
三、基本语句(基础)
1表达式语句,空语句,复合语句。
2数据的输入和输出,输入输出函数的调用。
3复合语句。
4GOTO语句和语句标号的使用。(这个了解即可)
四、选择结构程序设计
1用if语句实现选择结构。(基础)
2用switch语句实现多分支选择结构。(笔试有)
3选择结构的嵌套。
五、循环结构程序设计 (基础)
1for 循环结构。
2while和do while循环结构。
3continue语句和break语句。
4循环的嵌套。(基础)
六、数组的定义和引用
1一维数组和多维数组的定义、初始化和引用。
2字符串与字符数组。
七、函数 (基础)
1库函数的正确调用。
2函数的定义方法。
3函数的类型和返回值。
4形式参数与实在参数,参数值的传递。
5函数的正确调用,嵌套调用,递归调用。
6局部变量和全局变量。
7变量的存储类别(自动、静态、寄存器、外部),变量的作用域和生存期。
8内部函数与外部函数。
八、编译预处理 (基础,笔试有考到宏替换)
1宏定义:不带参数的宏定义;带参数的宏定义。
2“文件包含”处理。
九、指针 (这个很重要,上机题有这方面的)
1指针与指针变量的概念,指针与地址运算符。
2变量、数组、字符串、函数、结构体的指针以及指向变量、数组、字符串、函数、结构体的指针变量。通过指针引用以上各类型数据。
3用指针作函数参数。
4返回指针值的指针函数。
5指针数组,指向指针的指针,MAIN函数的命令行参数。
十、结构体(即“结构”)与共用体(即“联合”)
1结构体和共用体类型数据的定义方法和引用方法。
2用指针和结构体构成链表,单向链表的建立、输出、删除与插入。
十一、位运算
1位运算符的含义及使用。
2简单的位运算。
十二、文件 *** 作(了解,上级题有,只要知道什么意思就行了)
只要求缓冲文件系统(即高级磁盘I/O系统),对非标准缓冲文件系统(即低级磁盘I/O系统)不要求。
1文件类型指针(FILE类型指针)。
2文件的打开与关闭(fopen,fclose)。
3文件的读写(fputc,fgetc,fputs,fgets,fread,frwite,fprintf,fscanf函数),文件的定位(rewind,fseek函数)。
高中信息技术学科选修模块《算法与程序设计》内容枯燥、严谨,对于我们学生来说缺乏相关的知识背景,在高中阶段才开始学习信息技术课难度大,也容易产生畏难情绪。那么对于学生来说怎样才能上好这门课呢?
一、首先教师应根据学生的实际情况,处理教材,分散难点
新课标指出:“学习本模块旨在使学生进一步体验算法思想,了解算法和程序设计在解决问题过程中的地位和作用;能从简单问题出发,设计解决问题的算法,并能初步使用一种程序设计语言编制程序实现算法解决问题。”算法是程序设计的灵魂,算法教学是程序设计语言教学的基础,程序设计语言教学是算法教学的必要的延续。
教科版的《算法与程序设计》,使用的编程语言是VisualBasic60。它和大多数程序设计语言书籍一样,先花大量的篇幅介绍与VB语言开发环境及语法相关的基础知识和基本概念,而后才开始程序三种基本结构的教学。教师根据学生的实际情况,对教材进行了处理、对内容进行调整,改变了教材中原有知识的逻辑结构顺序。这样学生可以边用边学,以用促学。
教师在每节课教学过程中都以简单有趣的小问题为切入点,通过分析问题、设计算法、编写程序、调试运行,让学生对算法和程序设计有一个感性的认识,以降低学生的学习难度,并激发学生的学习兴趣,观摩、模仿、尝试等阶段逐渐到学生能独立 *** 作。开始选择的例子比较简单,如“在屏幕上输出‘studyVB’”、“已知三边之长求三角形面积”、“计算前100个自然数之和”等。在此过程中适当忽略VB的可视化开发环境,其中数据的输入只要求用inputbox()函数完成,数据的输出直接用print语句在窗体完成,整个事件只要求由命令按钮command1_click()来触发,这样的目的一方面是减少太多新知识对学生学习算法思想的干扰,将难点分散,另一方面控件少的程序也更容易上机调试通过,让学生体验成功的喜悦。
二、其次教师应联系学生的数学知识,进行算法与程序设计练习
算法是解决问题的方法和步骤,计算机解决问题,必须严格地按步骤进行,这和我们平时解决问题是有区别的。因此在算法设计中,应将解题的每一步都想清楚,对学生逻辑思维能力要求较高,许多同学刚开始不太适应。因此教师在教学过程中,精选教学案例,联系学生的数学知识,从学生熟悉的或感兴趣的数学问题出发,进行算法与程序设计的练习。学生刚刚学习过海伦公式,在顺序结构和选择结构的教学中可采用“已知三边长利用该公式来求三角形的面积”这个例子。因为学生有数学基础,只要将解题步骤稍加修改就写出如下算法:
1.输入三边长;
2.求面积;
3.利用海伦公式s=p(p-a)(p-b)(p-c),p=a+b+c2,求出面积s;
4.输出面积s;
5.结束程序。
根据此算法编写好程序,在调试运行中发现如果三边长为10,10,30时就不会输出结果。那么是为什么呢?学生很快就想到这样的三条边是组不成三角形的,怎么改?自然是输入的a、b、c要先满足两边之和大于第三边才能组成三角形的,所以要在第二步之前添加一句,“如果不能同时满足,就输出‘输入数据错误’,转5;否则转2”。通过以上的例子,既体会到了算法的严谨性,学生也学会了顺序和选择两种结构的算法描述。
教师还用趣味数学题来激发学生的兴趣,如在学习过程中老师通过讲解“水仙花数”、“百鸡百钱”、“韩信点兵”、“棋盘上的麦粒”、“鸡兔同笼”等问题来激发学生的学习兴趣,以使大家的积极性得到提高。
三、一题多变,提高学生对知识的理解能力和编程能力
学生固有的认识框框和习惯的思维方式是学好算法与程序设计的一大障碍。只有多实践才能体会和认识到计算机解决问题的过程。然而由于课时限制,不可能有太多的时间来进行这方面的训练。教师如能恰当地运用“一题多变”和“一题多解”等方法,精心选择一道例题,让它由浅入深循序变化,引导学生分析和比较,总结解决问题的一般规律,对弄清基本概念,提高解题能力以及培养思维的灵活性都是有益的。例如,对于“求s=1+2+3+4+5+6的一个算法”就可以拓展以解决一类问题,如s=12+22+32+42+52+62,s=1+12+13+14+15+16,s=1-2+3-4+5-6,s=1×2×3×4×5×6等许多问题。这样引导学生对比for-next以及do-loop循环的语法及适用情况。通过“一题多变”和“一题多解”的教学手段,使课堂效率得到了大大地提高。
四、教师应授之以渔,教会学生自己调试程序
《算法与程序设计》模块是作为计算机应用的技术基础设置的,不能忽视技术,但我们强调的技术不再是以前那种“软件说明书”式的 *** 作。实际上对学生来说,犯的错误具有共性,主要是标点符号错误,比如“:”和“;”,关键词与变量名之间没有空格,语句书写不完整,有if没有endif,有for没有next,变量名、对象名引用时出现拼写错误等,其实学生只要掌握一点调试、运行程序的方法就能大大提高上机效率。通过训练学生不但能自己调试程序,更能加深对程序的理解,尤其是到循环结构以后,这种作用就更明显了,而且这种能力完全可以迁移到今后的学习和生活中去。
新课程目前还处在实验阶段,存在着很大的探索空间。对学生来说,激发他们的学习兴趣、提高他们的积极性、不断进行创新的同时提高教师自身的信息素养水平。教师不再只是教学者,更应该成为研究者和学习者,教师应加强教学反思,才能提高教学水平。
新课程改革后,信息技术课程中除必修课“信息技术基础”外另有五门选修课,“算法与程序设计”就是其中之一。在所有选修课中,相比之下“算法与程序设计”这一门课的教学难度和深度均高于其他几门课程,我省学业水平测试的结果也印证了这一点。即便如此,仍有一定比例的高级中学却选择“迎难而上”,如苏州市市区的大部分四星级高中开设该课程。选择并给予算法与程序设计教学以充分重视,逐渐成为各校的共识。这其中的缘由也并不难理解:高中生学习“算法与程序设计”,有助于锻炼并提高其逻辑思维能力,对其今后的学业、人生都非常有利;此外,课改后的高中数学中引入了算法的内容,开设“算法与程序设计”选修课,对帮助学生更好地掌握高中数学课中相应内容、从容应对高考效果显著。
笔者一贯支持开设程序设计选修课,并多年从事该课程的教学研究,积累了一些经验、教训,在此从几个方面谈谈对“算法与程序设计”教学的思考和体会。
关于算法部分的教学
对于算法部分,计算机选修课教学要尽量与数学中的“算法初步”教学相配合,协调进度,各自把握好本学科的教学侧重点。至于如何相互配合、把握重点,已不乏文章著述,笔者也曾在另一篇题为《也谈信息技术与数学中的算法教学》的文章上详细阐述了自己的观点,在此不再重复。
在本选修课开始教学中,应按教材顺序,遵循先“算法”,再“程序设计”的顺序依次进行,理由很简单,“算法与程序设计”的主要任务是程序设计,即进行某种程序设计语言的教学。如果在此之前学生不了解算法这一基础知识,就容易过早地涉及、纠缠于大量的编程技术(如语法规则、编程技巧等),而忽视算法在程序设计中的“灵魂”地位。事实上,学习程序设计语言,就是学习掌握一种将算法转换为计算机程序的工具。因此在本课程教学的初期,让学生了解算法非常关键,理应放在首位。
在算法部分的教学中,应让学生明白要用计算机解决问题,就得先考虑算法,然后根据算法编写程序。学生可能产生诸如此类的疑惑,即为何在接下来的编程实践中,并未要求或没有必要先写算法再编程实现呢的确需要及时讲清这一问题,原因在于,作为程序设计的初学者,所编程序一般都较为简单短小,程序算法也自然相当简单,此时不一定需要将它描述出来,只要在编程前形成在头脑中就行了。应告诉学生,其实各种算题都能概括为三大部分,即:输入什么如何处理输出什么在编程前,将具体算题简化为这三个步骤,这就是算法。比如用计算机求三角形面积的算法,就是输入三角形的底和高,经过底乘以高并除以二的处理,形成了面积,最后输出面积。学生在编程实践时,依照以上三步将一个个实际问题转化成算法,再通过编写程序实现算法从而解决实际问题。在此过程中,使学生逐步从算法的“算理”中体会算法在编程中的重要性,会产生事半功倍的效果。
程序基本结构的教学
程序三种基本结构(顺序、选择、循环)的教学中,应该把流程图作为描述算法的主要工具,以使学生易于理解不同结构各自的特点。
一般情况下,学生对顺序结构的理解没有障碍,但一旦实际编写程序代码时,就可能忽略语句按顺序执行的道理。例如:在编写求三角形面积的程序时,经常出现学生将底和高的变量赋值语句写在计算面积的语句之后的情况,导致输出面积为零。教师在辅导时应抓住这一时机,帮助学生理解顺序结构的真正意义。
在初次进行循环结构教学中,教师应将“累加器”及“累乘器”的编程方法尽量解释清楚,同时,巩固前面已学习的设置变量和给变量赋值语句,理解在程序设计中一些惯用的做法。例如,在“求前100个正整数的和”的编程事例中,所包含“sum=sum+n”、“n=n+1”两条语句,都是“累加器”语句,借机讲清它们的赋值过程,避免再使学生陷入视其为等式的误区。
教学中的规范问题
教师在实际教学中应尽量做到规范 *** 作,身体力行地去影响学生。如教学中现场绘制或呈现给学生的流程图,要准确规范。关于算法流程图的规范有很多,甚至有专著对此加以专门阐述,但作为信息技术教师,至少应注意以下几点:(1)任何一个算法流程图都只用一个“开始”框和一个“结束”框,符合结构化的程序设计方法;(2)在描画各种框图的流程线时,应尽可能沿着图的中轴线走,使图显得美观沉稳,也体现了自顶向下、逐步求精的算法思想或程序自顶向下执行代码的重要特征;(3)遇有分支或循环结构时,在可能情况下,流程线的分支线向上跳转时,应从图的左边向上画,向下跳转线应画在中轴线的右边,遵循顺时针原则。
同样,教学中示例书写程序也要注意规范整洁。在书写分支和循环语句时,应利用Tab键将执行语句组向右缩进,这样既达到美观的效果又增强了程序的可读性,便于调试程序。另外,还有对象命名、变量命名的前缀约定等,都是规范编程、提高程序可读性的必要措施,在教学中要多注意加以引导。
当然高中阶段对上述方面并无特别要求,但笔者以为,作为教师应该严格要求规范律己,教学中不必花更多时间刻意从以上几个方面训练学生,但应尽可能地提倡这样做,亲身示范,使学生在潜移默化中养成规范 *** 作的良好习惯。
勤于归纳,善于总结
每一教学课时告一段落后,都应及时地归纳总结主干内容,将离散的知识点有机地串联成一个整体加以巩固强化。譬如在讲授Print输出方法后,就要及时地与学生一起回顾总结已学过的所有输入和输出(I/O)方法。对于初学程序设计的高中学生,目前大纲仅要求掌握文本框TextBox和函数InputBox两种输入方法,标签Label、文本框TextBox和窗体打印Print三种输出方法。学生在编程时,除非有要求,需要输入时就考虑选用两种输入方法中的一种,输出时则考虑选用三种输出方法中的一种。布置上机实践题时,要有意让一部分题目有输入输出方法的要求,另一部分题目自由选择I/O方法。如此一来,学生很快就能在编程中掌握I/O的几种编程方法,学习效果更加显著。
主要分为四级。其中:
一级: *** 作技能级。考核计算机基础知识及计算机基本 *** 作能力,包括Office办公软件、图形图像软件、网络安全素质教育。
二级:程序设计/办公软件高级应用级。考核内容包括计算机语言与基础程序设计能力,要求参试者掌握一门计算机语言,可选类别有高级语言程序设计类、数据库程序设计类等;二级还包括办公软件高级应用能力,要求参试者具有计算机应用知识及MS Office办公软件的高级应用能力,能够在实际办公环境中开展具体应用。
三级:工程师预备级。三级证书考核面向应用、面向职业的岗位专业技能。
四级:工程师级。四级证书面向已持有三级相关证书的考生,考核计算机专业课程,是面向应用、面向职业的工程师岗位证书。
以上就是关于算法与程序有何区别和联系全部的内容,包括:算法与程序有何区别和联系、计算机二级C语言 公共基础知识部分考什么、计算机应用技术专业主要学什么-专业课程有哪些等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)