CCF PTA C/C++语言测试标准

CCF开展编程培训师资认证项目(ProgrammingTrainerAccreditation,PTA),旨在建立一个规范的、科学的、权威且有公信力的第三方认证。认证分编程专业能力(P)和教学能力(T)两部分。

本标准根据《CCF编程培训师资认证条例》第十条制定。

一、测试目标

编程专业能力测试通过对认证参考人从事编程培训职业所需的专业核心能力进行测试并做出评价,为编程教育从业人员提供专业发展依据,为编程学习者选择师资提供参照依据。

编程能力测试内容包括程序设计的语言、算法、简单数据结构知识,以及观察和分析问题能力、对问题抽象化模型化的能力、算法设计的程序实现能力、测试数据的设计和程序调试能力等。

二、测试说明

2.测试语言。在PTA认证中,参考人可选择Scratch、Python和C/C++三种编程语言中的任何一种,通过后获得相应的证书。参考人如在报名时选择了C/C++语言,则在测试当日只得使用C/C++语言作答。

3.测试每年组织两次,约在1月、7月前后进行。

4.测试试题由CCFPTA认证技术委员会特邀专家组进行统一命题,每次5道题,每道题有10组测试数据,每个测试点分值为10分,试卷总分为500分。

7.如参考人已获得CCFNOI铜牌及以上、NOIP一等奖、CCFCSP认证成绩达到一定分数线或具有其他由CCF认定的公开竞赛成绩,本项可认定为合格,免编程测试。

三、能力目标

1.能够正确运用C/C++语言进行程序设计。

2.能够掌握常用的算法知识,理解算法设计在程序设计过程中的重要性。

3.能够掌握基本的数据结构知识,理解数据结构在程序设计过程中作用。

4.能够掌握进位制、组合数学、初等数论等数学知识,运用数学知识分析问题并求解问题。

5.具备程序设计思想,理解利用计算机解决问题的基本过程。能够根据题目进行建模和编程,能设计简单的测试数据并测试程序的正确性,能根据程序运行时出现的错误信息提示,针对性地修改调试程序。

四、知识范围

(一)C/C++语法

1.变量的定义、类型和转换、赋值等知识;

2.基本输入输出语句及常用格式;

3.算术运算符、关系运算符、逻辑运算符及相应运算规则;

4.变量自增自减运算、位运算;

5.顺序结构、分支结构和循环结构的程序设计(分支嵌套和循环嵌套);

6.一维及多维数组知识及应用;

7.字符与字符串知识及应用;

9.递归函数的知识及应用;

10.结构体知识及应用;

11.指针知识及应用;

12.C++标准模板库(StandardTemplateLibrary)知识及应用。

(二)数据结构

4.哈希表的原理及应用;

5.并查集的原理及应用;

6.哈夫曼树、线段树、树状数组、字典树、笛卡尔树、平衡树等特殊树的原理、基本操作及应用;

7.二分图、欧拉图、连通图、有向无环图等常见图的原理、基本操作及应用。

(三)算法

1.二进制、八进制、十六进制和十进制的转换;

2.枚举算法;

3.模拟算法;

4.递推算法;

5.贪心算法;

6.分治算法;

7.二分查找算法;

8.高精度算法;

9.动态规划算法;

10.深度优先搜索、广度优先搜索、记忆化搜索、启发式搜索迭代加深搜索、双向广度优先搜索等搜索算法;

11.排序算法(冒泡排序、选择排序、插入排序、基数排序、快速排序、堆排序、归并排序);

15.求最小生成树、求最短路、求有向无环图的拓扑排序、求欧拉道路和欧拉回路、求强连通分量、求割点割边等图论算法。

THE END
1.数据结构与算法基础知识点程序与算法的区别 程序可以不满足有穷性。 线性表(Linear List) 是具有相同数据类型的数据元素的一个有限序列。通常表示为:(a1,a2,… ai,ai+1… an) 线性表的顺序存储是指用一组地址连续的存储单元依次存放线性表的数据元素,这种存储形式的线性表称为顺序表。它的特点是线性表中相邻的元素在内存中的存储位置https://www.jianshu.com/p/730be599b6b7
2.入门必看算法基础知识讲解小白都也能看得懂算法的时间复杂度也称为算法的时间量度,记作T(n) = O(f(n)),它表示随着问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称作算法的渐进时间复杂度,简称为时间复杂度,其中f(n)是问题规模n的某个函数。 刚开始看上面的定义多少有些迷惑,但是多读几次结合上文的知识串起来后,你会其实并没有这么https://blog.csdn.net/m0_63174618/article/details/138362160
3.算法复习笔记(一)算法基础知识51CTO博客算法基础知识:1.什么是算法 算法是一组有穷的规则,它规定了解决莫一特定类型问题的一系列运算 数据结构+算法=程序 2.算法的五个重要特性: 确定性、可行性、输入、输出、有穷性; 一下对其部分特性做定义; 2.1.确定性: 算法不能有二义性: 例如:不符合确定性的运算 https://blog.51cto.com/ydlin/4570327
4.软件设计师考点七:数据结构与算法基础软件设计师摘要:2019年软件设计师考试已经进入冲刺阶段,希赛网软考频道小编为大家整理了软件设计师知识点,以下为软件设计师知识点七:数据结构与算法基础。 第7章:数据结构与算法基础 【知识点梳理】 知识点1、数组与矩阵(★★) 【考法分析】 1、本知识点的考查形式主要有:给定一些数组或矩阵,计算对应某个元素的存放位置或https://www.educity.cn/rk/1970488.html
5.算法的一般性质知识点算法的一般性质包括: (1) 通用性 对于那些符合输入类型的任意输入数据,都能根据算法进行问题求解,包保证计算结构的正确性。 (2) 有效性 组成算法的每一条指令都必须是能够被人或机器确切执行的。 (3) 确定性 算法每执行一步之后,对于它的下一步,应该有明确的指示。即,保证每一步之后都有关于下一步动作的http://jpk.pku.edu.cn/course/sjjg/chapter1/04/01.html
6.深入理解算法:基础知识原理与架构腾讯云开发者社区在计算机科学中,算法是一种解决特定问题的步骤或规则的集合。它们是编程和数据科学的核心组成部分,用于处理各种复杂的问题。本文将介绍算法的基础知识、原理和架构,并通过案例分析来加深理解。 二、算法基础知识 算法的定义 算法是一系列用于解决问题的步骤或规则的集合。它是一种指导计算机执行特定任务的指令,可以手动执https://cloud.tencent.com/developer/article/2449820
7.C++数据结构与算法的基础知识和经典算法汇总C语言终是到了标志着大二结束的期末考试了,对于《算法设计与分析》这门课,我需要总结一下学过的所有算法的思想以及老师补充的关于两个复杂度和递归的概念思想,以及更深层次的理解,比如用画图的方式表达出来,我觉得可以用博客记录总结一下,分享给大家,希望能有所帮助https://www.jb51.net/article/249531.htm
8.科学网—[转载]Delaunay三角剖分及算法基本知识[转载]Delaunay三角剖分 及算法 基本知识 Delaunay, 三角剖分 摘自百度百科http://baike.baidu.com/view/1691145.html?tp=2_11 http://www.geomodel.net/article/code/20080601/7510.html 1. 三角剖分与Delaunay剖分的定义 如何把一个散点集合剖分成不均匀的三角形网格,这就是散点集的三角剖分问题,散点https://blog.sciencenet.cn/blog-116465-216935.html
9.数据结构与算法图解(最全知识点答案总结)–mikechen数据结构与算法是非常重要的内容,本文全面总结数据结构与算法相关的所有知识点,非常的全面@mikechen 数据结构 数组 数组是一种数据结构,用来存储同一类型的集合。 链表 链表是一种常见的数据结构,是一种线性表,是以节点的方式来存储, 是链式存储,是通过链表中的指针连接次序实现的。 https://youzhixueyuan.com/java-programmers-advanced-data-structures-and-algorithms.html
10.深度学习高手笔记卷1:基础算法●如果你的深度学习基础较为薄弱,那么可以结合本书提供的知识拓扑图和章节先验知识,优先阅读拓扑图中无先验知识的章节,读懂该章节后便可以将这个章节在拓扑图中划掉,然后逐步将拓扑图清空。 ●如果你有一定的深度学习基础,对一些经典的算法(如VGG、残差网络、LSTM、Transformer、Dropout、BN等)都比较熟悉,那么你可以按https://www.epubit.com/bookDetails?id=UB7d8623610d375
11.全知识另一种较少使用的方法是平均情况复杂度(英语:average-case complexity),通常有特别指定才会使用。时间复杂度可以用函数 T(n) 的自然特性加以分类,举例来说,有着 T(n) = O(n) 的算法被称作“线性时间算法”;而 T(n) = O(Mn)和 Mn= O(T(n)) ,其中 M≥ n > 1 的算法被称作“指数时间算法”。http://mp2.allhistory.com/detail/5924158b55b54278ac0026ee
12.构建人机命运共同体《算法社会:技术权力和知识》读后王延川教授、粟鹏飞博士的译著《算法社会:技术、权力和知识》主要由荷兰学者马克·舒伦伯格和里克·彼得斯编撰,共有16名作者参与了写作。 著作从技术、权力和知识三个理论维度解读公共管理、刑事司法和城市治理三个学术领域。著作分为三个部分共十一章。第一章作者对算法、算法权力进行了介绍,同时分析了算法治理弊端以http://www.legalweekly.cn/whlh/2024-01/04/content_8946710.html
13.大疆创新北京研发中心招人啦3、熟悉OPENGL开发,熟悉AR/VR新技术,具备一定的图像处理算法知识; 4、熟悉android和ios移动端平台多媒体框架; 5、积极主动,具备创造力和团队精神。 项目管理工程师 工作职责 1. 负责完善项目群管理控制体系,建立项目规范与项目管理标准,做到项目管理规范一致,汇编和推广IT项目进展及成果; https://maimai.cn/article/detail?fid=275065106&efid=ZZnWu1lqXw6I08k3vXgp5Q
14.河南省基础教育资源公共服务平台这节课的知识简单吗?你还有什么不明白的地方? 教学反思:通过整十数加一位数及相应的减法的学习让学生进一步加深对两位数的认识,熟悉百以内数的组成,同时也为后面学习百以内的口算和笔算加、减法做准备。教材通过看图解决问题列出两道加法算式和两道减法算式,通过练习巩固算法。教学重点是掌握整十数加一位数和相应减法https://www.hner.cn/index.php?r=space/person/blog/view&sid=71b9a25abdd848a0ad72ea0a6ad57138&id=4145173
15.算法入门学习,图解基础知识篇基础知识 数据结构 数组 链表 栈 队列 树 图 复杂度 时间复杂度 空间复杂度 在学习算法的时候经常会听到数据结构和复杂度这些词汇 在学习算法前,了解一些基础概念也是相当必要的 基础知识 数据结构 数据结构是组织和存储数据的方式。在算法中,不同的数据结构对问题的解决方法和效率有着重要的影响。一些常见的数据结https://zhuanlan.zhihu.com/p/635680235
16.第二章算法与程序实现——2.3程序设计基础知识2.3 程序设计基础知识 P55 体验探索 解答: 绘制图2.3.1代码如下 import turtle # 导入 turtle 模块 light = turtle.Turtle() # 创建一个 Turtle 对象 'light' light.hideturtle() # 隐藏海龟指针 light.color("green", "green") # 设置海龟绘图颜色为绿色,填充颜色为绿色 https://www.bilibili.com/read/cv37737449